[1]WHATWG

HTML

Living Standard — Last Updated 25 April 2025

[2]One-Page Version html.spec.whatwg.org [3]Multipage Version /multipage [4]Version for Web Devs /dev [5]PDF Version /print.pdf [6]Translations 日本語 • 简体中文

[7]FAQ on GitHub [8]Chat on Matrix

[9]Contribute on GitHub whatwg/html repository [10]Commits on GitHub [11]Snapshot as of this commit [12]Twitter Updates @htmlstandard

[13]Open Issues filed on GitHub [14]Open an Issue whatwg.org/newbug [15]Tests web-platform-tests html/ [16]Issues for Tests ongoing work __________________________________________________________________

Table of contents

1. [17]1 Introduction 2. [18]2 Common infrastructure 3. [19]3 Semantics, structure, and APIs of HTML documents 4. [20]4 The elements of HTML 5. [21]5 Microdata 6. [22]6 User interaction 7. [23]7 Loading web pages 8. [24]8 Web application APIs 9. [25]9 Communication 10. [26]10 Web workers 11. [27]11 Worklets 12. [28]12 Web storage 13. [29]13 The HTML syntax 14. [30]14 The XML syntax 15. [31]15 Rendering 16. [32]16 Obsolete features 17. [33]17 IANA considerations 18. [34]Index 19. [35]References 20. [36]Acknowledgments 21. [37]Intellectual property rights

Full table of contents

1. [38]1 Introduction 1. [39]1.1 Where does this specification fit? 2. [40]1.2 Is this HTML5? 3. [41]1.3 Background 4. [42]1.4 Audience 5. [43]1.5 Scope 6. [44]1.6 History 7. [45]1.7 Design notes 1. [46]1.7.1 Serializability of script execution 2. [47]1.7.2 Extensibility 8. [48]1.8 HTML vs XML syntax 9. [49]1.9 Structure of this specification 1. [50]1.9.1 How to read this specification 2. [51]1.9.2 Typographic conventions 10. [52]1.10 A quick introduction to HTML 1. [53]1.10.1 Writing secure applications with HTML 2. [54]1.10.2 Common pitfalls to avoid when using the scripting APIs 3. [55]1.10.3 How to catch mistakes when writing HTML: validators and conformance checkers 11. [56]1.11 Conformance requirements for authors 1. [57]1.11.1 Presentational markup 2. [58]1.11.2 Syntax errors 3. [59]1.11.3 Restrictions on content models and on attribute values 12. [60]1.12 Suggested reading 2. [61]2 Common infrastructure 1. [62]2.1 Terminology 1. [63]2.1.1 Parallelism 2. [64]2.1.2 Resources 3. [65]2.1.3 XML compatibility 4. [66]2.1.4 DOM trees 5. [67]2.1.5 Scripting 6. [68]2.1.6 Plugins 7. [69]2.1.7 Character encodings 8. [70]2.1.8 Conformance classes 9. [71]2.1.9 Dependencies 10. [72]2.1.10 Extensibility 11. [73]2.1.11 Interactions with XPath and XSLT 2. [74]2.2 Policy-controlled features 3. [75]2.3 Common microsyntaxes 1. [76]2.3.1 Common parser idioms 2. [77]2.3.2 Boolean attributes 3. [78]2.3.3 Keywords and enumerated attributes 4. [79]2.3.4 Numbers 1. [80]2.3.4.1 Signed integers 2. [81]2.3.4.2 Non-negative integers 3. [82]2.3.4.3 Floating-point numbers 4. [83]2.3.4.4 Percentages and lengths 5. [84]2.3.4.5 Nonzero percentages and lengths 6. [85]2.3.4.6 Lists of floating-point numbers 7. [86]2.3.4.7 Lists of dimensions 5. [87]2.3.5 Dates and times 1. [88]2.3.5.1 Months 2. [89]2.3.5.2 Dates 3. [90]2.3.5.3 Yearless dates 4. [91]2.3.5.4 Times 5. [92]2.3.5.5 Local dates and times 6. [93]2.3.5.6 Time zones 7. [94]2.3.5.7 Global dates and times 8. [95]2.3.5.8 Weeks 9. [96]2.3.5.9 Durations 10. [97]2.3.5.10 Vaguer moments in time 6. [98]2.3.6 Legacy colors 7. [99]2.3.7 Space-separated tokens 8. [100]2.3.8 Comma-separated tokens 9. [101]2.3.9 References 10. [102]2.3.10 Media queries 11. [103]2.3.11 Unique internal values 4. [104]2.4 URLs 1. [105]2.4.1 Terminology 2. [106]2.4.2 Parsing URLs 3. [107]2.4.3 Dynamic changes to base URLs 5. [108]2.5 Fetching resources 1. [109]2.5.1 Terminology 2. [110]2.5.2 Determining the type of a resource 3. [111]2.5.3 Extracting character encodings from meta elements 4. [112]2.5.4 CORS settings attributes 5. [113]2.5.5 Referrer policy attributes 6. [114]2.5.6 Nonce attributes 7. [115]2.5.7 Lazy loading attributes 8. [116]2.5.8 Blocking attributes 9. [117]2.5.9 Fetch priority attributes 6. [118]2.6 Common DOM interfaces 1. [119]2.6.1 Reflecting content attributes in IDL attributes 2. [120]2.6.2 Using reflect in specifications 3. [121]2.6.3 Collections 1. [122]2.6.3.1 The HTMLAllCollection interface 1. [123]2.6.3.1.1 [[Call]] ( thisArgument, argumentsList ) 2. [124]2.6.3.2 The HTMLFormControlsCollection interface 3. [125]2.6.3.3 The HTMLOptionsCollection interface 4. [126]2.6.4 The DOMStringList interface 7. [127]2.7 Safe passing of structured data 1. [128]2.7.1 Serializable objects 2. [129]2.7.2 Transferable objects 3. [130]2.7.3 StructuredSerializeInternal ( value, forStorage [ , memory ] ) 4. [131]2.7.4 StructuredSerialize ( value ) 5. [132]2.7.5 StructuredSerializeForStorage ( value ) 6. [133]2.7.6 StructuredDeserialize ( serialized, targetRealm [ , memory ] ) 7. [134]2.7.7 StructuredSerializeWithTransfer ( value, transferList ) 8. [135]2.7.8 StructuredDeserializeWithTransfer ( serializeWithTransferResult, targetRealm ) 9. [136]2.7.9 Performing serialization and transferring from other specifications 10. [137]2.7.10 Structured cloning API 3. [138]3 Semantics, structure, and APIs of HTML documents 1. [139]3.1 Documents 1. [140]3.1.1 The Document object 2. [141]3.1.2 The DocumentOrShadowRoot interface 3. [142]3.1.3 Resource metadata management 4. [143]3.1.4 Reporting document loading status 5. [144]3.1.5 Render-blocking mechanism 6. [145]3.1.6 DOM tree accessors 2. [146]3.2 Elements 1. [147]3.2.1 Semantics 2. [148]3.2.2 Elements in the DOM 3. [149]3.2.3 HTML element constructors 4. [150]3.2.4 Element definitions 1. [151]3.2.4.1 Attributes 5. [152]3.2.5 Content models 1. [153]3.2.5.1 The "nothing" content model 2. [154]3.2.5.2 Kinds of content 1. [155]3.2.5.2.1 Metadata content 2. [156]3.2.5.2.2 Flow content 3. [157]3.2.5.2.3 Sectioning content 4. [158]3.2.5.2.4 Heading content 5. [159]3.2.5.2.5 Phrasing content 6. [160]3.2.5.2.6 Embedded content 7. [161]3.2.5.2.7 Interactive content 8. [162]3.2.5.2.8 Palpable content 9. [163]3.2.5.2.9 Script-supporting elements 3. [164]3.2.5.3 Transparent content models 4. [165]3.2.5.4 Paragraphs 6. [166]3.2.6 Global attributes 1. [167]3.2.6.1 The title attribute 2. [168]3.2.6.2 The lang and xml:lang attributes 3. [169]3.2.6.3 The translate attribute 4. [170]3.2.6.4 The dir attribute 5. [171]3.2.6.5 The style attribute 6. [172]3.2.6.6 Embedding custom non-visible data with the data-* attributes 7. [173]3.2.7 The innerText and outerText properties 8. [174]3.2.8 Requirements relating to the bidirectional algorithm 1. [175]3.2.8.1 Authoring conformance criteria for bidirectional-algorithm formatting characters 2. [176]3.2.8.2 User agent conformance criteria 9. [177]3.2.9 Requirements related to ARIA and to platform accessibility APIs 4. [178]4 The elements of HTML 1. [179]4.1 The document element 1. [180]4.1.1 The html element 2. [181]4.2 Document metadata 1. [182]4.2.1 The head element 2. [183]4.2.2 The title element 3. [184]4.2.3 The base element 4. [185]4.2.4 The link element 1. [186]4.2.4.1 Processing the media attribute 2. [187]4.2.4.2 Processing the type attribute 3. [188]4.2.4.3 Fetching and processing a resource from a link element 4. [189]4.2.4.4 Processing `Link` headers 5. [190]4.2.4.5 Early hints 6. [191]4.2.4.6 Providing users with a means to follow hyperlinks created using the link element 5. [192]4.2.5 The meta element 1. [193]4.2.5.1 Standard metadata names 2. [194]4.2.5.2 Other metadata names 3. [195]4.2.5.3 Pragma directives 4. [196]4.2.5.4 Specifying the document's character encoding 6. [197]4.2.6 The style element 7. [198]4.2.7 Interactions of styling and scripting 3. [199]4.3 Sections 1. [200]4.3.1 The body element 2. [201]4.3.2 The article element 3. [202]4.3.3 The section element 4. [203]4.3.4 The nav element 5. [204]4.3.5 The aside element 6. [205]4.3.6 The h1, h2, h3, h4, h5, and h6 elements 7. [206]4.3.7 The hgroup element 8. [207]4.3.8 The header element 9. [208]4.3.9 The footer element 10. [209]4.3.10 The address element 11. [210]4.3.11 Headings and outlines 1. [211]4.3.11.1 Sample outlines 2. [212]4.3.11.2 Exposing outlines to users 12. [213]4.3.12 Usage summary 1. [214]4.3.12.1 Article or section? 4. [215]4.4 Grouping content 1. [216]4.4.1 The p element 2. [217]4.4.2 The hr element 3. [218]4.4.3 The pre element 4. [219]4.4.4 The blockquote element 5. [220]4.4.5 The ol element 6. [221]4.4.6 The ul element 7. [222]4.4.7 The menu element 8. [223]4.4.8 The li element 9. [224]4.4.9 The dl element 10. [225]4.4.10 The dt element 11. [226]4.4.11 The dd element 12. [227]4.4.12 The figure element 13. [228]4.4.13 The figcaption element 14. [229]4.4.14 The main element 15. [230]4.4.15 The search element 16. [231]4.4.16 The div element 5. [232]4.5 Text-level semantics 1. [233]4.5.1 The a element 2. [234]4.5.2 The em element 3. [235]4.5.3 The strong element 4. [236]4.5.4 The small element 5. [237]4.5.5 The s element 6. [238]4.5.6 The cite element 7. [239]4.5.7 The q element 8. [240]4.5.8 The dfn element 9. [241]4.5.9 The abbr element 10. [242]4.5.10 The ruby element 11. [243]4.5.11 The rt element 12. [244]4.5.12 The rp element 13. [245]4.5.13 The data element 14. [246]4.5.14 The time element 15. [247]4.5.15 The code element 16. [248]4.5.16 The var element 17. [249]4.5.17 The samp element 18. [250]4.5.18 The kbd element 19. [251]4.5.19 The sub and sup elements 20. [252]4.5.20 The i element 21. [253]4.5.21 The b element 22. [254]4.5.22 The u element 23. [255]4.5.23 The mark element 24. [256]4.5.24 The bdi element 25. [257]4.5.25 The bdo element 26. [258]4.5.26 The span element 27. [259]4.5.27 The br element 28. [260]4.5.28 The wbr element 29. [261]4.5.29 Usage summary 6. [262]4.6 Links 1. [263]4.6.1 Introduction 2. [264]4.6.2 Links created by a and area elements 3. [265]4.6.3 API for a and area elements 4. [266]4.6.4 Following hyperlinks 5. [267]4.6.5 Downloading resources 6. [268]4.6.6 Hyperlink auditing 1. [269]4.6.6.1 The `Ping-From` and `Ping-To` headers 7. [270]4.6.7 Link types 1. [271]4.6.7.1 Link type "alternate" 2. [272]4.6.7.2 Link type "author" 3. [273]4.6.7.3 Link type "bookmark" 4. [274]4.6.7.4 Link type "canonical" 5. [275]4.6.7.5 Link type "dns-prefetch" 6. [276]4.6.7.6 Link type "expect" 7. [277]4.6.7.7 Link type "external" 8. [278]4.6.7.8 Link type "help" 9. [279]4.6.7.9 Link type "icon" 10. [280]4.6.7.10 Link type "license" 11. [281]4.6.7.11 Link type "manifest" 12. [282]4.6.7.12 Link type "modulepreload" 13. [283]4.6.7.13 Link type "nofollow" 14. [284]4.6.7.14 Link type "noopener" 15. [285]4.6.7.15 Link type "noreferrer" 16. [286]4.6.7.16 Link type "opener" 17. [287]4.6.7.17 Link type "pingback" 18. [288]4.6.7.18 Link type "preconnect" 19. [289]4.6.7.19 Link type "prefetch" 20. [290]4.6.7.20 Link type "preload" 21. [291]4.6.7.21 Link type "privacy-policy" 22. [292]4.6.7.22 Link type "search" 23. [293]4.6.7.23 Link type "stylesheet" 24. [294]4.6.7.24 Link type "tag" 25. [295]4.6.7.25 Link Type "terms-of-service" 26. [296]4.6.7.26 Sequential link types 1. [297]4.6.7.26.1 Link type "next" 2. [298]4.6.7.26.2 Link type "prev" 27. [299]4.6.7.27 Other link types 7. [300]4.7 Edits 1. [301]4.7.1 The ins element 2. [302]4.7.2 The del element 3. [303]4.7.3 Attributes common to ins and del elements 4. [304]4.7.4 Edits and paragraphs 5. [305]4.7.5 Edits and lists 6. [306]4.7.6 Edits and tables 8. [307]4.8 Embedded content 1. [308]4.8.1 The picture element 2. [309]4.8.2 The source element 3. [310]4.8.3 The img element 4. [311]4.8.4 Images 1. [312]4.8.4.1 Introduction 1. [313]4.8.4.1.1 Adaptive images 2. [314]4.8.4.2 Attributes common to source, img, and link elements 1. [315]4.8.4.2.1 Srcset attributes 2. [316]4.8.4.2.2 Sizes attributes 3. [317]4.8.4.3 Processing model 1. [318]4.8.4.3.1 When to obtain images 2. [319]4.8.4.3.2 Reacting to DOM mutations 3. [320]4.8.4.3.3 The list of available images 4. [321]4.8.4.3.4 Decoding images 5. [322]4.8.4.3.5 Updating the image data 6. [323]4.8.4.3.6 Preparing an image for presentation 7. [324]4.8.4.3.7 Selecting an image source 8. [325]4.8.4.3.8 Creating a source set from attributes 9. [326]4.8.4.3.9 Updating the source set 10. [327]4.8.4.3.10 Parsing a srcset attribute 11. [328]4.8.4.3.11 Parsing a sizes attribute 12. [329]4.8.4.3.12 Normalizing the source densities 13. [330]4.8.4.3.13 Reacting to environment changes 4. [331]4.8.4.4 Requirements for providing text to act as an alternative for images 1. [332]4.8.4.4.1 General guidelines 2. [333]4.8.4.4.2 A link or button containing nothing but the image 3. [334]4.8.4.4.3 A phrase or paragraph with an alternative graphical representation: charts, diagrams, graphs, maps, illustrations 4. [335]4.8.4.4.4 A short phrase or label with an alternative graphical representation: icons, logos 5. [336]4.8.4.4.5 Text that has been rendered to a graphic for typographical effect 6. [337]4.8.4.4.6 A graphical representation of some of the surrounding text 7. [338]4.8.4.4.7 Ancillary images 8. [339]4.8.4.4.8 A purely decorative image that doesn't add any information 9. [340]4.8.4.4.9 A group of images that form a single larger picture with no links 10. [341]4.8.4.4.10 A group of images that form a single larger picture with links 11. [342]4.8.4.4.11 A key part of the content 12. [343]4.8.4.4.12 An image not intended for the user 13. [344]4.8.4.4.13 An image in an email or private document intended for a specific person who is known to be able to view images 14. [345]4.8.4.4.14 Guidance for markup generators 15. [346]4.8.4.4.15 Guidance for conformance checkers 5. [347]4.8.5 The iframe element 6. [348]4.8.6 The embed element 7. [349]4.8.7 The object element 8. [350]4.8.8 The video element 9. [351]4.8.9 The audio element 10. [352]4.8.10 The track element 11. [353]4.8.11 Media elements 1. [354]4.8.11.1 Error codes 2. [355]4.8.11.2 Location of the media resource 3. [356]4.8.11.3 MIME types 4. [357]4.8.11.4 Network states 5. [358]4.8.11.5 Loading the media resource 6. [359]4.8.11.6 Offsets into the media resource 7. [360]4.8.11.7 Ready states 8. [361]4.8.11.8 Playing the media resource 9. [362]4.8.11.9 Seeking 10. [363]4.8.11.10 Media resources with multiple media tracks 1. [364]4.8.11.10.1 AudioTrackList and VideoTrackList objects 2. [365]4.8.11.10.2 Selecting specific audio and video tracks declaratively 11. [366]4.8.11.11 Timed text tracks 1. [367]4.8.11.11.1 Text track model 2. [368]4.8.11.11.2 Sourcing in-band text tracks 3. [369]4.8.11.11.3 Sourcing out-of-band text tracks 4. [370]4.8.11.11.4 Guidelines for exposing cues in various formats as text track cues 5. [371]4.8.11.11.5 Text track API 6. [372]4.8.11.11.6 Event handlers for objects of the text track APIs 7. [373]4.8.11.11.7 Best practices for metadata text tracks 12. [374]4.8.11.12 Identifying a track kind through a URL 13. [375]4.8.11.13 User interface 14. [376]4.8.11.14 Time ranges 15. [377]4.8.11.15 The TrackEvent interface 16. [378]4.8.11.16 Events summary 17. [379]4.8.11.17 Security and privacy considerations 18. [380]4.8.11.18 Best practices for authors using media elements 19. [381]4.8.11.19 Best practices for implementers of media elements 12. [382]4.8.12 The map element 13. [383]4.8.13 The area element 14. [384]4.8.14 Image maps 1. [385]4.8.14.1 Authoring 2. [386]4.8.14.2 Processing model 15. [387]4.8.15 MathML 16. [388]4.8.16 SVG 17. [389]4.8.17 Dimension attributes 9. [390]4.9 Tabular data 1. [391]4.9.1 The table element 1. [392]4.9.1.1 Techniques for describing tables 2. [393]4.9.1.2 Techniques for table design 2. [394]4.9.2 The caption element 3. [395]4.9.3 The colgroup element 4. [396]4.9.4 The col element 5. [397]4.9.5 The tbody element 6. [398]4.9.6 The thead element 7. [399]4.9.7 The tfoot element 8. [400]4.9.8 The tr element 9. [401]4.9.9 The td element 10. [402]4.9.10 The th element 11. [403]4.9.11 Attributes common to td and th elements 12. [404]4.9.12 Processing model 1. [405]4.9.12.1 Forming a table 2. [406]4.9.12.2 Forming relationships between data cells and header cells 13. [407]4.9.13 Examples 10. [408]4.10 Forms 1. [409]4.10.1 Introduction 1. [410]4.10.1.1 Writing a form's user interface 2. [411]4.10.1.2 Implementing the server-side processing for a form 3. [412]4.10.1.3 Configuring a form to communicate with a server 4. [413]4.10.1.4 Client-side form validation 5. [414]4.10.1.5 Enabling client-side automatic filling of form controls 6. [415]4.10.1.6 Improving the user experience on mobile devices 7. [416]4.10.1.7 The difference between the field type, the autofill field name, and the input modality 8. [417]4.10.1.8 Date, time, and number formats 2. [418]4.10.2 Categories 3. [419]4.10.3 The form element 4. [420]4.10.4 The label element 5. [421]4.10.5 The input element 1. [422]4.10.5.1 States of the type attribute 1. [423]4.10.5.1.1 Hidden state (type=hidden) 2. [424]4.10.5.1.2 Text (type=text) state and Search state (type=search) 3. [425]4.10.5.1.3 Telephone state (type=tel) 4. [426]4.10.5.1.4 URL state (type=url) 5. [427]4.10.5.1.5 Email state (type=email) 6. [428]4.10.5.1.6 Password state (type=password) 7. [429]4.10.5.1.7 Date state (type=date) 8. [430]4.10.5.1.8 Month state (type=month) 9. [431]4.10.5.1.9 Week state (type=week) 10. [432]4.10.5.1.10 Time state (type=time) 11. [433]4.10.5.1.11 Local Date and Time state (type=datetime-local) 12. [434]4.10.5.1.12 Number state (type=number) 13. [435]4.10.5.1.13 Range state (type=range) 14. [436]4.10.5.1.14 Color state (type=color) 15. [437]4.10.5.1.15 Checkbox state (type=checkbox) 16. [438]4.10.5.1.16 Radio Button state (type=radio) 17. [439]4.10.5.1.17 File Upload state (type=file) 18. [440]4.10.5.1.18 Submit Button state (type=submit) 19. [441]4.10.5.1.19 Image Button state (type=image) 20. [442]4.10.5.1.20 Reset Button state (type=reset) 21. [443]4.10.5.1.21 Button state (type=button) 2. [444]4.10.5.2 Implementation notes regarding localization of form controls 3. [445]4.10.5.3 Common input element attributes 1. [446]4.10.5.3.1 The maxlength and minlength attributes 2. [447]4.10.5.3.2 The size attribute 3. [448]4.10.5.3.3 The readonly attribute 4. [449]4.10.5.3.4 The required attribute 5. [450]4.10.5.3.5 The multiple attribute 6. [451]4.10.5.3.6 The pattern attribute 7. [452]4.10.5.3.7 The min and max attributes 8. [453]4.10.5.3.8 The step attribute 9. [454]4.10.5.3.9 The list attribute 10. [455]4.10.5.3.10 The placeholder attribute 4. [456]4.10.5.4 Common input element APIs 5. [457]4.10.5.5 Common event behaviors 6. [458]4.10.6 The button element 7. [459]4.10.7 The select element 8. [460]4.10.8 The datalist element 9. [461]4.10.9 The optgroup element 10. [462]4.10.10 The option element 11. [463]4.10.11 The textarea element 12. [464]4.10.12 The output element 13. [465]4.10.13 The progress element 14. [466]4.10.14 The meter element 15. [467]4.10.15 The fieldset element 16. [468]4.10.16 The legend element 17. [469]4.10.17 Form control infrastructure 1. [470]4.10.17.1 A form control's value 2. [471]4.10.17.2 Mutability 3. [472]4.10.17.3 Association of controls and forms 18. [473]4.10.18 Attributes common to form controls 1. [474]4.10.18.1 Naming form controls: the name attribute 2. [475]4.10.18.2 Submitting element directionality: the dirname attribute 3. [476]4.10.18.3 Limiting user input length: the maxlength attribute 4. [477]4.10.18.4 Setting minimum input length requirements: the minlength attribute 5. [478]4.10.18.5 Enabling and disabling form controls: the disabled attribute 6. [479]4.10.18.6 Form submission attributes 7. [480]4.10.18.7 Autofill 1. [481]4.10.18.7.1 Autofilling form controls: the autocomplete attribute 2. [482]4.10.18.7.2 Processing model 19. [483]4.10.19 APIs for the text control selections 20. [484]4.10.20 Constraints 1. [485]4.10.20.1 Definitions 2. [486]4.10.20.2 Constraint validation 3. [487]4.10.20.3 The constraint validation API 4. [488]4.10.20.4 Security 21. [489]4.10.21 Form submission 1. [490]4.10.21.1 Introduction 2. [491]4.10.21.2 Implicit submission 3. [492]4.10.21.3 Form submission algorithm 4. [493]4.10.21.4 Constructing the entry list 5. [494]4.10.21.5 Selecting a form submission encoding 6. [495]4.10.21.6 Converting an entry list to a list of name-value pairs 7. [496]4.10.21.7 URL-encoded form data 8. [497]4.10.21.8 Multipart form data 9. [498]4.10.21.9 Plain text form data 10. [499]4.10.21.10 The SubmitEvent interface 11. [500]4.10.21.11 The FormDataEvent interface 22. [501]4.10.22 Resetting a form 11. [502]4.11 Interactive elements 1. [503]4.11.1 The details element 2. [504]4.11.2 The summary element 3. [505]4.11.3 Commands 1. [506]4.11.3.1 Facets 2. [507]4.11.3.2 Using the a element to define a command 3. [508]4.11.3.3 Using the button element to define a command 4. [509]4.11.3.4 Using the input element to define a command 5. [510]4.11.3.5 Using the option element to define a command 6. [511]4.11.3.6 Using the accesskey attribute on a legend element to define a command 7. [512]4.11.3.7 Using the accesskey attribute to define a command on other elements 4. [513]4.11.4 The dialog element 5. [514]4.11.5 Dialog light dismiss 12. [515]4.12 Scripting 1. [516]4.12.1 The script element 1. [517]4.12.1.1 Processing model 2. [518]4.12.1.2 Scripting languages 3. [519]4.12.1.3 Restrictions for contents of script elements 4. [520]4.12.1.4 Inline documentation for external scripts 5. [521]4.12.1.5 Interaction of script elements and XSLT 2. [522]4.12.2 The noscript element 3. [523]4.12.3 The template element 1. [524]4.12.3.1 Interaction of template elements with XSLT and XPath 4. [525]4.12.4 The slot element 5. [526]4.12.5 The canvas element 1. [527]4.12.5.1 The 2D rendering context 1. [528]4.12.5.1.1 Implementation notes 2. [529]4.12.5.1.2 The canvas settings 3. [530]4.12.5.1.3 The canvas state 4. [531]4.12.5.1.4 Line styles 5. [532]4.12.5.1.5 Text styles 6. [533]4.12.5.1.6 Building paths 7. [534]4.12.5.1.7 Path2D objects 8. [535]4.12.5.1.8 Transformations 9. [536]4.12.5.1.9 Image sources for 2D rendering contexts 10. [537]4.12.5.1.10 Fill and stroke styles 11. [538]4.12.5.1.11 Drawing rectangles to the bitmap 12. [539]4.12.5.1.12 Drawing text to the bitmap 13. [540]4.12.5.1.13 Drawing paths to the canvas 14. [541]4.12.5.1.14 Drawing focus rings 15. [542]4.12.5.1.15 Drawing images 16. [543]4.12.5.1.16 Pixel manipulation 17. [544]4.12.5.1.17 Compositing 18. [545]4.12.5.1.18 Image smoothing 19. [546]4.12.5.1.19 Shadows 20. [547]4.12.5.1.20 Filters 21. [548]4.12.5.1.21 Working with externally-defined SVG filters 22. [549]4.12.5.1.22 Drawing model 23. [550]4.12.5.1.23 Best practices 24. [551]4.12.5.1.24 Examples 2. [552]4.12.5.2 The ImageBitmap rendering context 1. [553]4.12.5.2.1 Introduction 2. [554]4.12.5.2.2 The ImageBitmapRenderingContext interface 3. [555]4.12.5.3 The OffscreenCanvas interface 1. [556]4.12.5.3.1 The offscreen 2D rendering context 4. [557]4.12.5.4 Color spaces and color space conversion 5. [558]4.12.5.5 Serializing bitmaps to a file 6. [559]4.12.5.6 Security with canvas elements 7. [560]4.12.5.7 Premultiplied alpha and the 2D rendering context 13. [561]4.13 Custom elements 1. [562]4.13.1 Introduction 1. [563]4.13.1.1 Creating an autonomous custom element 2. [564]4.13.1.2 Creating a form-associated custom element 3. [565]4.13.1.3 Creating a custom element with default accessible roles, states, and properties 4. [566]4.13.1.4 Creating a customized built-in element 5. [567]4.13.1.5 Drawbacks of autonomous custom elements 6. [568]4.13.1.6 Upgrading elements after their creation 7. [569]4.13.1.7 Exposing custom element states 2. [570]4.13.2 Requirements for custom element constructors and reactions 1. [571]4.13.2.1 Preserving custom element state when moved 3. [572]4.13.3 Core concepts 4. [573]4.13.4 The CustomElementRegistry interface 5. [574]4.13.5 Upgrades 6. [575]4.13.6 Custom element reactions 7. [576]4.13.7 Element internals 1. [577]4.13.7.1 The ElementInternals interface 2. [578]4.13.7.2 Shadow root access 3. [579]4.13.7.3 Form-associated custom elements 4. [580]4.13.7.4 Accessibility semantics 5. [581]4.13.7.5 Custom state pseudo-class 14. [582]4.14 Common idioms without dedicated elements 1. [583]4.14.1 Breadcrumb navigation 2. [584]4.14.2 Tag clouds 3. [585]4.14.3 Conversations 4. [586]4.14.4 Footnotes 15. [587]4.15 Disabled elements 16. [588]4.16 Matching HTML elements using selectors and CSS 1. [589]4.16.1 Case-sensitivity of the CSS 'attr()' function 2. [590]4.16.2 Case-sensitivity of selectors 3. [591]4.16.3 Pseudo-classes 5. [592]5 Microdata 1. [593]5.1 Introduction 1. [594]5.1.1 Overview 2. [595]5.1.2 The basic syntax 3. [596]5.1.3 Typed items 4. [597]5.1.4 Global identifiers for items 5. [598]5.1.5 Selecting names when defining vocabularies 2. [599]5.2 Encoding microdata 1. [600]5.2.1 The microdata model 2. [601]5.2.2 Items 3. [602]5.2.3 Names: the itemprop attribute 4. [603]5.2.4 Values 5. [604]5.2.5 Associating names with items 6. [605]5.2.6 Microdata and other namespaces 3. [606]5.3 Sample microdata vocabularies 1. [607]5.3.1 vCard 1. [608]5.3.1.1 Conversion to vCard 2. [609]5.3.1.2 Examples 2. [610]5.3.2 vEvent 1. [611]5.3.2.1 Conversion to iCalendar 2. [612]5.3.2.2 Examples 3. [613]5.3.3 Licensing works 1. [614]5.3.3.1 Examples 4. [615]5.4 Converting HTML to other formats 1. [616]5.4.1 JSON 6. [617]6 User interaction 1. [618]6.1 The hidden attribute 2. [619]6.2 Page visibility 1. [620]6.2.1 The VisibilityStateEntry interface 3. [621]6.3 Inert subtrees 1. [622]6.3.1 Modal dialogs and inert subtrees 2. [623]6.3.2 The inert attribute 4. [624]6.4 Tracking user activation 1. [625]6.4.1 Data model 2. [626]6.4.2 Processing model 3. [627]6.4.3 APIs gated by user activation 4. [628]6.4.4 The UserActivation interface 5. [629]6.4.5 User agent automation 5. [630]6.5 Activation behavior of elements 1. [631]6.5.1 The ToggleEvent interface 2. [632]6.5.2 The CommandEvent interface 6. [633]6.6 Focus 1. [634]6.6.1 Introduction 2. [635]6.6.2 Data model 3. [636]6.6.3 The tabindex attribute 4. [637]6.6.4 Processing model 5. [638]6.6.5 Sequential focus navigation 6. [639]6.6.6 Focus management APIs 7. [640]6.6.7 The autofocus attribute 7. [641]6.7 Assigning keyboard shortcuts 1. [642]6.7.1 Introduction 2. [643]6.7.2 The accesskey attribute 3. [644]6.7.3 Processing model 8. [645]6.8 Editing 1. [646]6.8.1 Making document regions editable: The contenteditable content attribute 2. [647]6.8.2 Making entire documents editable: the designMode getter and setter 3. [648]6.8.3 Best practices for in-page editors 4. [649]6.8.4 Editing APIs 5. [650]6.8.5 Spelling and grammar checking 6. [651]6.8.6 Writing suggestions 7. [652]6.8.7 Autocapitalization 8. [653]6.8.8 Autocorrection 9. [654]6.8.9 Input modalities: the inputmode attribute 10. [655]6.8.10 Input modalities: the enterkeyhint attribute 9. [656]6.9 Find-in-page 1. [657]6.9.1 Introduction 2. [658]6.9.2 Interaction with details and hidden=until-found 3. [659]6.9.3 Interaction with selection 10. [660]6.10 Close requests and close watchers 1. [661]6.10.1 Close requests 2. [662]6.10.2 Close watcher infrastructure 3. [663]6.10.3 The CloseWatcher interface 11. [664]6.11 Drag and drop 1. [665]6.11.1 Introduction 2. [666]6.11.2 The drag data store 3. [667]6.11.3 The DataTransfer interface 1. [668]6.11.3.1 The DataTransferItemList interface 2. [669]6.11.3.2 The DataTransferItem interface 4. [670]6.11.4 The DragEvent interface 5. [671]6.11.5 Processing model 6. [672]6.11.6 Events summary 7. [673]6.11.7 The draggable attribute 8. [674]6.11.8 Security risks in the drag-and-drop model 12. [675]6.12 The popover attribute 1. [676]6.12.1 The popover target attributes 2. [677]6.12.2 Popover light dismiss 7. [678]7 Loading web pages 1. [679]7.1 Supporting concepts 1. [680]7.1.1 Origins 1. [681]7.1.1.1 Sites 2. [682]7.1.1.2 Relaxing the same-origin restriction 2. [683]7.1.2 Origin-keyed agent clusters 3. [684]7.1.3 Cross-origin opener policies 1. [685]7.1.3.1 The headers 2. [686]7.1.3.2 Browsing context group switches due to opener policy 3. [687]7.1.3.3 Reporting 4. [688]7.1.4 Cross-origin embedder policies 1. [689]7.1.4.1 The headers 2. [690]7.1.4.2 Embedder policy checks 5. [691]7.1.5 Sandboxing 6. [692]7.1.6 Policy containers 2. [693]7.2 APIs related to navigation and session history 1. [694]7.2.1 Security infrastructure for Window, WindowProxy, and Location objects 1. [695]7.2.1.1 Integration with IDL 2. [696]7.2.1.2 Shared internal slot: [[CrossOriginPropertyDescriptorMap]] 3. [697]7.2.1.3 Shared abstract operations 1. [698]7.2.1.3.1 CrossOriginProperties ( O ) 2. [699]7.2.1.3.2 CrossOriginPropertyFallback ( P ) 3. [700]7.2.1.3.3 IsPlatformObjectSameOrigin ( O ) 4. [701]7.2.1.3.4 CrossOriginGetOwnPropertyHelper ( O, P ) 5. [702]7.2.1.3.5 CrossOriginGet ( O, P, Receiver ) 6. [703]7.2.1.3.6 CrossOriginSet ( O, P, V, Receiver ) 7. [704]7.2.1.3.7 CrossOriginOwnPropertyKeys ( O ) 2. [705]7.2.2 The Window object 1. [706]7.2.2.1 Opening and closing windows 2. [707]7.2.2.2 Indexed access on the Window object 3. [708]7.2.2.3 Named access on the Window object 4. [709]7.2.2.4 Accessing related windows 5. [710]7.2.2.5 Historical browser interface element APIs 6. [711]7.2.2.6 Script settings for Window objects 3. [712]7.2.3 The WindowProxy exotic object 1. [713]7.2.3.1 [[GetPrototypeOf]] ( ) 2. [714]7.2.3.2 [[SetPrototypeOf]] ( V ) 3. [715]7.2.3.3 [[IsExtensible]] ( ) 4. [716]7.2.3.4 [[PreventExtensions]] ( ) 5. [717]7.2.3.5 [[GetOwnProperty]] ( P ) 6. [718]7.2.3.6 [[DefineOwnProperty]] ( P, Desc ) 7. [719]7.2.3.7 [[Get]] ( P, Receiver ) 8. [720]7.2.3.8 [[Set]] ( P, V, Receiver ) 9. [721]7.2.3.9 [[Delete]] ( P ) 10. [722]7.2.3.10 [[OwnPropertyKeys]] ( ) 4. [723]7.2.4 The Location interface 1. [724]7.2.4.1 [[GetPrototypeOf]] ( ) 2. [725]7.2.4.2 [[SetPrototypeOf]] ( V ) 3. [726]7.2.4.3 [[IsExtensible]] ( ) 4. [727]7.2.4.4 [[PreventExtensions]] ( ) 5. [728]7.2.4.5 [[GetOwnProperty]] ( P ) 6. [729]7.2.4.6 [[DefineOwnProperty]] ( P, Desc ) 7. [730]7.2.4.7 [[Get]] ( P, Receiver ) 8. [731]7.2.4.8 [[Set]] ( P, V, Receiver ) 9. [732]7.2.4.9 [[Delete]] ( P ) 10. [733]7.2.4.10 [[OwnPropertyKeys]] ( ) 5. [734]7.2.5 The History interface 6. [735]7.2.6 The navigation API 1. [736]7.2.6.1 Introduction 2. [737]7.2.6.2 The Navigation interface 3. [738]7.2.6.3 Core infrastructure 4. [739]7.2.6.4 Initializing and updating the entry list 5. [740]7.2.6.5 The NavigationHistoryEntry interface 6. [741]7.2.6.6 The history entry list 7. [742]7.2.6.7 Initiating navigations 8. [743]7.2.6.8 Ongoing navigation tracking 9. [744]7.2.6.9 The NavigationActivation interface 10. [745]7.2.6.10 The navigate event 1. [746]7.2.6.10.1 The NavigateEvent interface 2. [747]7.2.6.10.2 The NavigationDestination interface 3. [748]7.2.6.10.3 Firing the event 4. [749]7.2.6.10.4 Scroll and focus behavior 7. [750]7.2.7 Event interfaces 1. [751]7.2.7.1 The NavigationCurrentEntryChangeEvent interface 2. [752]7.2.7.2 The PopStateEvent interface 3. [753]7.2.7.3 The HashChangeEvent interface 4. [754]7.2.7.4 The PageSwapEvent interface 5. [755]7.2.7.5 The PageRevealEvent interface 6. [756]7.2.7.6 The PageTransitionEvent interface 7. [757]7.2.7.7 The BeforeUnloadEvent interface 8. [758]7.2.8 The NotRestoredReasons interface 3. [759]7.3 Infrastructure for sequences of documents 1. [760]7.3.1 Navigables 1. [761]7.3.1.1 Traversable navigables 2. [762]7.3.1.2 Top-level traversables 3. [763]7.3.1.3 Child navigables 4. [764]7.3.1.4 Jake diagrams 5. [765]7.3.1.5 Related navigable collections 6. [766]7.3.1.6 Navigable destruction 7. [767]7.3.1.7 Navigable target names 2. [768]7.3.2 Browsing contexts 1. [769]7.3.2.1 Creating browsing contexts 2. [770]7.3.2.2 Related browsing contexts 3. [771]7.3.2.3 Groupings of browsing contexts 3. [772]7.3.3 Fully active documents 4. [773]7.4 Navigation and session history 1. [774]7.4.1 Session history 1. [775]7.4.1.1 Session history entries 2. [776]7.4.1.2 Document state 3. [777]7.4.1.3 Centralized modifications of session history 4. [778]7.4.1.4 Low-level operations on session history 2. [779]7.4.2 Navigation 1. [780]7.4.2.1 Supporting concepts 2. [781]7.4.2.2 Beginning navigation 3. [782]7.4.2.3 Ending navigation 1. [783]7.4.2.3.1 The usual cross-document navigation case 2. [784]7.4.2.3.2 The javascript: URL special case 3. [785]7.4.2.3.3 Fragment navigations 4. [786]7.4.2.3.4 Non-fetch schemes and external software 4. [787]7.4.2.4 Preventing navigation 5. [788]7.4.2.5 Aborting navigation 3. [789]7.4.3 Reloading and traversing 4. [790]7.4.4 Non-fragment synchronous "navigations" 5. [791]7.4.5 Populating a session history entry 6. [792]7.4.6 Applying the history step 1. [793]7.4.6.1 Updating the traversable 2. [794]7.4.6.2 Updating the document 3. [795]7.4.6.3 Revealing the document 4. [796]7.4.6.4 Scrolling to a fragment 5. [797]7.4.6.5 Persisted history entry state 5. [798]7.5 Document lifecycle 1. [799]7.5.1 Shared document creation infrastructure 2. [800]7.5.2 Loading HTML documents 3. [801]7.5.3 Loading XML documents 4. [802]7.5.4 Loading text documents 5. [803]7.5.5 Loading multipart/x-mixed-replace documents 6. [804]7.5.6 Loading media documents 7. [805]7.5.7 Loading a document for inline content that doesn't have a DOM 8. [806]7.5.8 Finishing the loading process 9. [807]7.5.9 Unloading documents 10. [808]7.5.10 Destroying documents 11. [809]7.5.11 Aborting a document load 6. [810]7.6 The `X-Frame-Options` header 7. [811]7.7 The `Refresh` header 8. [812]7.8 Browser user interface considerations 8. [813]8 Web application APIs 1. [814]8.1 Scripting 1. [815]8.1.1 Introduction 2. [816]8.1.2 Agents and agent clusters 1. [817]8.1.2.1 Integration with the JavaScript agent formalism 2. [818]8.1.2.2 Integration with the JavaScript agent cluster formalism 3. [819]8.1.3 Realms and their counterparts 1. [820]8.1.3.1 Environments 2. [821]8.1.3.2 Environment settings objects 3. [822]8.1.3.3 Realms, settings objects, and global objects 1. [823]8.1.3.3.1 Entry 2. [824]8.1.3.3.2 Incumbent 3. [825]8.1.3.3.3 Current 4. [826]8.1.3.3.4 Relevant 4. [827]8.1.3.4 Enabling and disabling scripting 5. [828]8.1.3.5 Secure contexts 4. [829]8.1.4 Script processing model 1. [830]8.1.4.1 Scripts 2. [831]8.1.4.2 Fetching scripts 3. [832]8.1.4.3 Creating scripts 4. [833]8.1.4.4 Calling scripts 5. [834]8.1.4.5 Killing scripts 6. [835]8.1.4.6 Runtime script errors 7. [836]8.1.4.7 Unhandled promise rejections 8. [837]8.1.4.8 Import map parse results 5. [838]8.1.5 Module specifier resolution 1. [839]8.1.5.1 The resolution algorithm 2. [840]8.1.5.2 Import maps 3. [841]8.1.5.3 Import map processing model 6. [842]8.1.6 JavaScript specification host hooks 1. [843]8.1.6.1 HostEnsureCanAddPrivateElement(O) 2. [844]8.1.6.2 HostEnsureCanCompileStrings(realm, parameterStrings, bodyString, codeString, compilationType, parameterArgs, bodyArg) 3. [845]8.1.6.3 HostGetCodeForEval(argument) 4. [846]8.1.6.4 HostPromiseRejectionTracker(promise, operation) 5. [847]8.1.6.5 HostSystemUTCEpochNanoseconds(global) 6. [848]8.1.6.6 Job-related host hooks 1. [849]8.1.6.6.1 HostCallJobCallback(callback, V, argumentsList) 2. [850]8.1.6.6.2 HostEnqueueFinalizationRegistryCleanupJob(final izationRegistry) 3. [851]8.1.6.6.3 HostEnqueueGenericJob(job, realm) 4. [852]8.1.6.6.4 HostEnqueuePromiseJob(job, realm) 5. [853]8.1.6.6.5 HostEnqueueTimeoutJob(job, realm, milliseconds) 6. [854]8.1.6.6.6 HostMakeJobCallback(callable) 7. [855]8.1.6.7 Module-related host hooks 1. [856]8.1.6.7.1 HostGetImportMetaProperties(moduleRecord) 2. [857]8.1.6.7.2 HostGetSupportedImportAttributes() 3. [858]8.1.6.7.3 HostLoadImportedModule(referrer, moduleRequest, loadState, payload) 7. [859]8.1.7 Event loops 1. [860]8.1.7.1 Definitions 2. [861]8.1.7.2 Queuing tasks 3. [862]8.1.7.3 Processing model 4. [863]8.1.7.4 Generic task sources 5. [864]8.1.7.5 Dealing with the event loop from other specifications 8. [865]8.1.8 Events 1. [866]8.1.8.1 Event handlers 2. [867]8.1.8.2 Event handlers on elements, Document objects, and Window objects 1. [868]8.1.8.2.1 IDL definitions 3. [869]8.1.8.3 Event firing 2. [870]8.2 The WindowOrWorkerGlobalScope mixin 3. [871]8.3 Base64 utility methods 4. [872]8.4 Dynamic markup insertion 1. [873]8.4.1 Opening the input stream 2. [874]8.4.2 Closing the input stream 3. [875]8.4.3 document.write() 4. [876]8.4.4 document.writeln() 5. [877]8.5 DOM parsing and serialization APIs 1. [878]8.5.1 The DOMParser interface 2. [879]8.5.2 Unsafe HTML parsing methods 3. [880]8.5.3 HTML serialization methods 4. [881]8.5.4 The innerHTML property 5. [882]8.5.5 The outerHTML property 6. [883]8.5.6 The insertAdjacentHTML() method 7. [884]8.5.7 The createContextualFragment() method 8. [885]8.5.8 The XMLSerializer interface 6. [886]8.6 Timers 7. [887]8.7 Microtask queuing 8. [888]8.8 User prompts 1. [889]8.8.1 Simple dialogs 2. [890]8.8.2 Printing 9. [891]8.9 System state and capabilities 1. [892]8.9.1 The Navigator object 1. [893]8.9.1.1 Client identification 2. [894]8.9.1.2 Language preferences 3. [895]8.9.1.3 Browser state 4. [896]8.9.1.4 Custom scheme handlers: the registerProtocolHandler() method 1. [897]8.9.1.4.1 Security and privacy 2. [898]8.9.1.4.2 User agent automation 5. [899]8.9.1.5 Cookies 6. [900]8.9.1.6 PDF viewing support 10. [901]8.10 Images 11. [902]8.11 Animation frames 9. [903]9 Communication 1. [904]9.1 The MessageEvent interface 2. [905]9.2 Server-sent events 1. [906]9.2.1 Introduction 2. [907]9.2.2 The EventSource interface 3. [908]9.2.3 Processing model 4. [909]9.2.4 The `Last-Event-ID` header 5. [910]9.2.5 Parsing an event stream 6. [911]9.2.6 Interpreting an event stream 7. [912]9.2.7 Authoring notes 8. [913]9.2.8 Connectionless push and other features 9. [914]9.2.9 Garbage collection 10. [915]9.2.10 Implementation advice 3. [916]9.3 Cross-document messaging 1. [917]9.3.1 Introduction 2. [918]9.3.2 Security 1. [919]9.3.2.1 Authors 2. [920]9.3.2.2 User agents 3. [921]9.3.3 Posting messages 4. [922]9.4 Channel messaging 1. [923]9.4.1 Introduction 1. [924]9.4.1.1 Examples 2. [925]9.4.1.2 Ports as the basis of an object-capability model on the web 3. [926]9.4.1.3 Ports as the basis of abstracting out service implementations 2. [927]9.4.2 Message channels 3. [928]9.4.3 The MessageEventTarget mixin 4. [929]9.4.4 Message ports 5. [930]9.4.5 Ports and garbage collection 5. [931]9.5 Broadcasting to other browsing contexts 10. [932]10 Web workers 1. [933]10.1 Introduction 1. [934]10.1.1 Scope 2. [935]10.1.2 Examples 1. [936]10.1.2.1 A background number-crunching worker 2. [937]10.1.2.2 Using a JavaScript module as a worker 3. [938]10.1.2.3 Shared workers introduction 4. [939]10.1.2.4 Shared state using a shared worker 5. [940]10.1.2.5 Delegation 6. [941]10.1.2.6 Providing libraries 3. [942]10.1.3 Tutorials 1. [943]10.1.3.1 Creating a dedicated worker 2. [944]10.1.3.2 Communicating with a dedicated worker 3. [945]10.1.3.3 Shared workers 2. [946]10.2 Infrastructure 1. [947]10.2.1 The global scope 1. [948]10.2.1.1 The WorkerGlobalScope common interface 2. [949]10.2.1.2 Dedicated workers and the DedicatedWorkerGlobalScope interface 3. [950]10.2.1.3 Shared workers and the SharedWorkerGlobalScope interface 2. [951]10.2.2 The event loop 3. [952]10.2.3 The worker's lifetime 4. [953]10.2.4 Processing model 5. [954]10.2.5 Runtime script errors 6. [955]10.2.6 Creating workers 1. [956]10.2.6.1 The AbstractWorker mixin 2. [957]10.2.6.2 Script settings for workers 3. [958]10.2.6.3 Dedicated workers and the Worker interface 4. [959]10.2.6.4 Shared workers and the SharedWorker interface 7. [960]10.2.7 Concurrent hardware capabilities 3. [961]10.3 APIs available to workers 1. [962]10.3.1 Importing scripts and libraries 2. [963]10.3.2 The WorkerNavigator interface 3. [964]10.3.3 The WorkerLocation interface 11. [965]11 Worklets 1. [966]11.1 Introduction 1. [967]11.1.1 Motivations 2. [968]11.1.2 Code idempotence 3. [969]11.1.3 Speculative evaluation 2. [970]11.2 Examples 1. [971]11.2.1 Loading scripts 2. [972]11.2.2 Registering a class and invoking its methods 3. [973]11.3 Infrastructure 1. [974]11.3.1 The global scope 1. [975]11.3.1.1 Agents and event loops 2. [976]11.3.1.2 Creation and termination 3. [977]11.3.1.3 Script settings for worklets 2. [978]11.3.2 The Worklet class 3. [979]11.3.3 The worklet's lifetime 12. [980]12 Web storage 1. [981]12.1 Introduction 2. [982]12.2 The API 1. [983]12.2.1 The Storage interface 2. [984]12.2.2 The sessionStorage getter 3. [985]12.2.3 The localStorage getter 4. [986]12.2.4 The StorageEvent interface 3. [987]12.3 Privacy 1. [988]12.3.1 User tracking 2. [989]12.3.2 Sensitivity of data 4. [990]12.4 Security 1. [991]12.4.1 DNS spoofing attacks 2. [992]12.4.2 Cross-directory attacks 3. [993]12.4.3 Implementation risks 13. [994]13 The HTML syntax 1. [995]13.1 Writing HTML documents 1. [996]13.1.1 The DOCTYPE 2. [997]13.1.2 Elements 1. [998]13.1.2.1 Start tags 2. [999]13.1.2.2 End tags 3. [1000]13.1.2.3 Attributes 4. [1001]13.1.2.4 Optional tags 5. [1002]13.1.2.5 Restrictions on content models 6. [1003]13.1.2.6 Restrictions on the contents of raw text and escapable raw text elements 3. [1004]13.1.3 Text 1. [1005]13.1.3.1 Newlines 4. [1006]13.1.4 Character references 5. [1007]13.1.5 CDATA sections 6. [1008]13.1.6 Comments 2. [1009]13.2 Parsing HTML documents 1. [1010]13.2.1 Overview of the parsing model 2. [1011]13.2.2 Parse errors 3. [1012]13.2.3 The input byte stream 1. [1013]13.2.3.1 Parsing with a known character encoding 2. [1014]13.2.3.2 Determining the character encoding 3. [1015]13.2.3.3 Character encodings 4. [1016]13.2.3.4 Changing the encoding while parsing 5. [1017]13.2.3.5 Preprocessing the input stream 4. [1018]13.2.4 Parse state 1. [1019]13.2.4.1 The insertion mode 2. [1020]13.2.4.2 The stack of open elements 3. [1021]13.2.4.3 The list of active formatting elements 4. [1022]13.2.4.4 The element pointers 5. [1023]13.2.4.5 Other parsing state flags 5. [1024]13.2.5 Tokenization 1. [1025]13.2.5.1 Data state 2. [1026]13.2.5.2 RCDATA state 3. [1027]13.2.5.3 RAWTEXT state 4. [1028]13.2.5.4 Script data state 5. [1029]13.2.5.5 PLAINTEXT state 6. [1030]13.2.5.6 Tag open state 7. [1031]13.2.5.7 End tag open state 8. [1032]13.2.5.8 Tag name state 9. [1033]13.2.5.9 RCDATA less-than sign state 10. [1034]13.2.5.10 RCDATA end tag open state 11. [1035]13.2.5.11 RCDATA end tag name state 12. [1036]13.2.5.12 RAWTEXT less-than sign state 13. [1037]13.2.5.13 RAWTEXT end tag open state 14. [1038]13.2.5.14 RAWTEXT end tag name state 15. [1039]13.2.5.15 Script data less-than sign state 16. [1040]13.2.5.16 Script data end tag open state 17. [1041]13.2.5.17 Script data end tag name state 18. [1042]13.2.5.18 Script data escape start state 19. [1043]13.2.5.19 Script data escape start dash state 20. [1044]13.2.5.20 Script data escaped state 21. [1045]13.2.5.21 Script data escaped dash state 22. [1046]13.2.5.22 Script data escaped dash dash state 23. [1047]13.2.5.23 Script data escaped less-than sign state 24. [1048]13.2.5.24 Script data escaped end tag open state 25. [1049]13.2.5.25 Script data escaped end tag name state 26. [1050]13.2.5.26 Script data double escape start state 27. [1051]13.2.5.27 Script data double escaped state 28. [1052]13.2.5.28 Script data double escaped dash state 29. [1053]13.2.5.29 Script data double escaped dash dash state 30. [1054]13.2.5.30 Script data double escaped less-than sign state 31. [1055]13.2.5.31 Script data double escape end state 32. [1056]13.2.5.32 Before attribute name state 33. [1057]13.2.5.33 Attribute name state 34. [1058]13.2.5.34 After attribute name state 35. [1059]13.2.5.35 Before attribute value state 36. [1060]13.2.5.36 Attribute value (double-quoted) state 37. [1061]13.2.5.37 Attribute value (single-quoted) state 38. [1062]13.2.5.38 Attribute value (unquoted) state 39. [1063]13.2.5.39 After attribute value (quoted) state 40. [1064]13.2.5.40 Self-closing start tag state 41. [1065]13.2.5.41 Bogus comment state 42. [1066]13.2.5.42 Markup declaration open state 43. [1067]13.2.5.43 Comment start state 44. [1068]13.2.5.44 Comment start dash state 45. [1069]13.2.5.45 Comment state 46. [1070]13.2.5.46 Comment less-than sign state 47. [1071]13.2.5.47 Comment less-than sign bang state 48. [1072]13.2.5.48 Comment less-than sign bang dash state 49. [1073]13.2.5.49 Comment less-than sign bang dash dash state 50. [1074]13.2.5.50 Comment end dash state 51. [1075]13.2.5.51 Comment end state 52. [1076]13.2.5.52 Comment end bang state 53. [1077]13.2.5.53 DOCTYPE state 54. [1078]13.2.5.54 Before DOCTYPE name state 55. [1079]13.2.5.55 DOCTYPE name state 56. [1080]13.2.5.56 After DOCTYPE name state 57. [1081]13.2.5.57 After DOCTYPE public keyword state 58. [1082]13.2.5.58 Before DOCTYPE public identifier state 59. [1083]13.2.5.59 DOCTYPE public identifier (double-quoted) state 60. [1084]13.2.5.60 DOCTYPE public identifier (single-quoted) state 61. [1085]13.2.5.61 After DOCTYPE public identifier state 62. [1086]13.2.5.62 Between DOCTYPE public and system identifiers state 63. [1087]13.2.5.63 After DOCTYPE system keyword state 64. [1088]13.2.5.64 Before DOCTYPE system identifier state 65. [1089]13.2.5.65 DOCTYPE system identifier (double-quoted) state 66. [1090]13.2.5.66 DOCTYPE system identifier (single-quoted) state 67. [1091]13.2.5.67 After DOCTYPE system identifier state 68. [1092]13.2.5.68 Bogus DOCTYPE state 69. [1093]13.2.5.69 CDATA section state 70. [1094]13.2.5.70 CDATA section bracket state 71. [1095]13.2.5.71 CDATA section end state 72. [1096]13.2.5.72 Character reference state 73. [1097]13.2.5.73 Named character reference state 74. [1098]13.2.5.74 Ambiguous ampersand state 75. [1099]13.2.5.75 Numeric character reference state 76. [1100]13.2.5.76 Hexadecimal character reference start state 77. [1101]13.2.5.77 Decimal character reference start state 78. [1102]13.2.5.78 Hexadecimal character reference state 79. [1103]13.2.5.79 Decimal character reference state 80. [1104]13.2.5.80 Numeric character reference end state 6. [1105]13.2.6 Tree construction 1. [1106]13.2.6.1 Creating and inserting nodes 2. [1107]13.2.6.2 Parsing elements that contain only text 3. [1108]13.2.6.3 Closing elements that have implied end tags 4. [1109]13.2.6.4 The rules for parsing tokens in HTML content 1. [1110]13.2.6.4.1 The "initial" insertion mode 2. [1111]13.2.6.4.2 The "before html" insertion mode 3. [1112]13.2.6.4.3 The "before head" insertion mode 4. [1113]13.2.6.4.4 The "in head" insertion mode 5. [1114]13.2.6.4.5 The "in head noscript" insertion mode 6. [1115]13.2.6.4.6 The "after head" insertion mode 7. [1116]13.2.6.4.7 The "in body" insertion mode 8. [1117]13.2.6.4.8 The "text" insertion mode 9. [1118]13.2.6.4.9 The "in table" insertion mode 10. [1119]13.2.6.4.10 The "in table text" insertion mode 11. [1120]13.2.6.4.11 The "in caption" insertion mode 12. [1121]13.2.6.4.12 The "in column group" insertion mode 13. [1122]13.2.6.4.13 The "in table body" insertion mode 14. [1123]13.2.6.4.14 The "in row" insertion mode 15. [1124]13.2.6.4.15 The "in cell" insertion mode 16. [1125]13.2.6.4.16 The "in select" insertion mode 17. [1126]13.2.6.4.17 The "in select in table" insertion mode 18. [1127]13.2.6.4.18 The "in template" insertion mode 19. [1128]13.2.6.4.19 The "after body" insertion mode 20. [1129]13.2.6.4.20 The "in frameset" insertion mode 21. [1130]13.2.6.4.21 The "after frameset" insertion mode 22. [1131]13.2.6.4.22 The "after after body" insertion mode 23. [1132]13.2.6.4.23 The "after after frameset" insertion mode 5. [1133]13.2.6.5 The rules for parsing tokens in foreign content 7. [1134]13.2.7 The end 8. [1135]13.2.8 Speculative HTML parsing 9. [1136]13.2.9 Coercing an HTML DOM into an infoset 10. [1137]13.2.10 An introduction to error handling and strange cases in the parser 1. [1138]13.2.10.1 Misnested tags: 2. [1139]13.2.10.2 Misnested tags:

3. [1140]13.2.10.3 Unexpected markup in tables 4. [1141]13.2.10.4 Scripts that modify the page as it is being parsed 5. [1142]13.2.10.5 The execution of scripts that are moving across multiple documents 6. [1143]13.2.10.6 Unclosed formatting elements 3. [1144]13.3 Serializing HTML fragments 4. [1145]13.4 Parsing HTML fragments 5. [1146]13.5 Named character references 14. [1147]14 The XML syntax 1. [1148]14.1 Writing documents in the XML syntax 2. [1149]14.2 Parsing XML documents 3. [1150]14.3 Serializing XML fragments 4. [1151]14.4 Parsing XML fragments 15. [1152]15 Rendering 1. [1153]15.1 Introduction 2. [1154]15.2 The CSS user agent style sheet and presentational hints 3. [1155]15.3 Non-replaced elements 1. [1156]15.3.1 Hidden elements 2. [1157]15.3.2 The page 3. [1158]15.3.3 Flow content 4. [1159]15.3.4 Phrasing content 5. [1160]15.3.5 Bidirectional text 6. [1161]15.3.6 Sections and headings 7. [1162]15.3.7 Lists 8. [1163]15.3.8 Tables 9. [1164]15.3.9 Margin collapsing quirks 10. [1165]15.3.10 Form controls 11. [1166]15.3.11 The hr element 12. [1167]15.3.12 The fieldset and legend elements 4. [1168]15.4 Replaced elements 1. [1169]15.4.1 Embedded content 2. [1170]15.4.2 Images 3. [1171]15.4.3 Attributes for embedded content and images 4. [1172]15.4.4 Image maps 5. [1173]15.5 Widgets 1. [1174]15.5.1 Native appearance 2. [1175]15.5.2 Writing mode 3. [1176]15.5.3 Button layout 4. [1177]15.5.4 The button element 5. [1178]15.5.5 The details and summary elements 6. [1179]15.5.6 The input element as a text entry widget 7. [1180]15.5.7 The input element as domain-specific widgets 8. [1181]15.5.8 The input element as a range control 9. [1182]15.5.9 The input element as a color well 10. [1183]15.5.10 The input element as a checkbox and radio button widgets 11. [1184]15.5.11 The input element as a file upload control 12. [1185]15.5.12 The input element as a button 13. [1186]15.5.13 The marquee element 14. [1187]15.5.14 The meter element 15. [1188]15.5.15 The progress element 16. [1189]15.5.16 The select element 17. [1190]15.5.17 The textarea element 6. [1191]15.6 Frames and framesets 7. [1192]15.7 Interactive media 1. [1193]15.7.1 Links, forms, and navigation 2. [1194]15.7.2 The title attribute 3. [1195]15.7.3 Editing hosts 4. [1196]15.7.4 Text rendered in native user interfaces 8. [1197]15.8 Print media 9. [1198]15.9 Unstyled XML documents 16. [1199]16 Obsolete features 1. [1200]16.1 Obsolete but conforming features 1. [1201]16.1.1 Warnings for obsolete but conforming features 2. [1202]16.2 Non-conforming features 3. [1203]16.3 Requirements for implementations 1. [1204]16.3.1 The marquee element 2. [1205]16.3.2 Frames 3. [1206]16.3.3 Other elements, attributes and APIs 17. [1207]17 IANA considerations 1. [1208]17.1 text/html 2. [1209]17.2 multipart/x-mixed-replace 3. [1210]17.3 application/xhtml+xml 4. [1211]17.4 text/ping 5. [1212]17.5 application/microdata+json 6. [1213]17.6 text/event-stream 7. [1214]17.7 web+ scheme prefix 18. [1215]Index 1. [1216]Elements 2. [1217]Element content categories 3. [1218]Attributes 4. [1219]Element interfaces 5. [1220]All interfaces 6. [1221]Events 7. [1222]HTTP headers 8. [1223]MIME types 19. [1224]References 20. [1225]Acknowledgments 21. [1226]Intellectual property rights

1 Introduction

1.1 Where does this specification fit?

This specification defines a big part of the web platform, in lots of detail. Its place in the web platform specification stack relative to other specifications can be best summed up as follows: CSS SVG MathML Service Workers IDB Fetch CSP AV1 Opus PNG THIS SPECIFICATION HTTP TLS DOM Unicode Web IDL MIME URL XML JavaScript Encoding

1.2 Is this HTML5?

This section is non-normative.

In short: Yes.

In more length: the term "HTML5" is widely used as a buzzword to refer to modern web technologies, many of which (though by no means all) are developed at the WHATWG. This document is one such; others are available from [1227]the WHATWG Standards overview.

1.3 Background

This section is non-normative.

HTML is the World Wide Web's core markup language. Originally, HTML was primarily designed as a language for semantically describing scientific documents. Its general design, however, has enabled it to be adapted, over the subsequent years, to describe a number of other types of documents and even applications.

1.4 Audience

This section is non-normative.

This specification is intended for authors of documents and scripts that use the features defined in this specification, implementers of tools that operate on pages that use the features defined in this specification, and individuals wishing to establish the correctness of documents or implementations with respect to the requirements of this specification.

This document is probably not suited to readers who do not already have at least a passing familiarity with web technologies, as in places it sacrifices clarity for precision, and brevity for completeness. More approachable tutorials and authoring guides can provide a gentler introduction to the topic.

In particular, familiarity with the basics of DOM is necessary for a complete understanding of some of the more technical parts of this specification. An understanding of Web IDL, HTTP, XML, Unicode, character encodings, JavaScript, and CSS will also be helpful in places but is not essential.

1.5 Scope

This section is non-normative.

This specification is limited to providing a semantic-level markup language and associated semantic-level scripting APIs for authoring accessible pages on the web ranging from static documents to dynamic applications.

The scope of this specification does not include providing mechanisms for media-specific customization of presentation (although default rendering rules for web browsers are included at the end of this specification, and several mechanisms for hooking into CSS are provided as part of the language).

The scope of this specification is not to describe an entire operating system. In particular, hardware configuration software, image manipulation tools, and applications that users would be expected to use with high-end workstations on a daily basis are out of scope. In terms of applications, this specification is targeted specifically at applications that would be expected to be used by users on an occasional basis, or regularly but from disparate locations, with low CPU requirements. Examples of such applications include online purchasing systems, searching systems, games (especially multiplayer online games), public telephone books or address books, communications software (email clients, instant messaging clients, discussion software), document editing software, etc.

1.6 History

This section is non-normative.

For its first five years (1990-1995), HTML went through a number of revisions and experienced a number of extensions, primarily hosted first at CERN, and then at the IETF.

With the creation of the W3C, HTML's development changed venue again. A first abortive attempt at extending HTML in 1995 known as HTML 3.0 then made way to a more pragmatic approach known as HTML 3.2, which was completed in 1997. HTML4 quickly followed later that same year.

The following year, the W3C membership decided to stop evolving HTML and instead begin work on an XML-based equivalent, called XHTML. This effort started with a reformulation of HTML4 in XML, known as XHTML 1.0, which added no new features except the new serialization, and which was completed in 2000. After XHTML 1.0, the W3C's focus turned to making it easier for other working groups to extend XHTML, under the banner of XHTML Modularization. In parallel with this, the W3C also worked on a new language that was not compatible with the earlier HTML and XHTML languages, calling it XHTML2.

Around the time that HTML's evolution was stopped in 1998, parts of the API for HTML developed by browser vendors were specified and published under the name DOM Level 1 (in 1998) and DOM Level 2 Core and DOM Level 2 HTML (starting in 2000 and culminating in 2003). These efforts then petered out, with some DOM Level 3 specifications published in 2004 but the working group being closed before all the Level 3 drafts were completed.

In 2003, the publication of XForms, a technology which was positioned as the next generation of web forms, sparked a renewed interest in evolving HTML itself, rather than finding replacements for it. This interest was borne from the realization that XML's deployment as a web technology was limited to entirely new technologies (like RSS and later Atom), rather than as a replacement for existing deployed technologies (like HTML).

A proof of concept to show that it was possible to extend HTML4's forms to provide many of the features that XForms 1.0 introduced, without requiring browsers to implement rendering engines that were incompatible with existing HTML web pages, was the first result of this renewed interest. At this early stage, while the draft was already publicly available, and input was already being solicited from all sources, the specification was only under Opera Software's copyright.

The idea that HTML's evolution should be reopened was tested at a W3C workshop in 2004, where some of the principles that underlie the HTML5 work (described below), as well as the aforementioned early draft proposal covering just forms-related features, were presented to the W3C jointly by Mozilla and Opera. The proposal was rejected on the grounds that the proposal conflicted with the previously chosen direction for the web's evolution; the W3C staff and membership voted to continue developing XML-based replacements instead.

Shortly thereafter, Apple, Mozilla, and Opera jointly announced their intent to continue working on the effort under the umbrella of a new venue called the WHATWG. A public mailing list was created, and the draft was moved to the WHATWG site. The copyright was subsequently amended to be jointly owned by all three vendors, and to allow reuse of the specification.

The WHATWG was based on several core principles, in particular that technologies need to be backwards compatible, that specifications and implementations need to match even if this means changing the specification rather than the implementations, and that specifications need to be detailed enough that implementations can achieve complete interoperability without reverse-engineering each other.

The latter requirement in particular required that the scope of the HTML5 specification include what had previously been specified in three separate documents: HTML4, XHTML1, and DOM2 HTML. It also meant including significantly more detail than had previously been considered the norm.

In 2006, the W3C indicated an interest to participate in the development of HTML5 after all, and in 2007 formed a working group chartered to work with the WHATWG on the development of the HTML5 specification. Apple, Mozilla, and Opera allowed the W3C to publish the specification under the W3C copyright, while keeping a version with the less restrictive license on the WHATWG site.

For a number of years, both groups then worked together. In 2011, however, the groups came to the conclusion that they had different goals: the W3C wanted to publish a "finished" version of "HTML5", while the WHATWG wanted to continue working on a Living Standard for HTML, continuously maintaining the specification rather than freezing it in a state with known problems, and adding new features as needed to evolve the platform.

In 2019, the WHATWG and W3C [1228]signed an agreement to collaborate on a single version of HTML going forward: this document.

1.7 Design notes

This section is non-normative.

It must be admitted that many aspects of HTML appear at first glance to be nonsensical and inconsistent.

HTML, its supporting DOM APIs, as well as many of its supporting technologies, have been developed over a period of several decades by a wide array of people with different priorities who, in many cases, did not know of each other's existence.

Features have thus arisen from many sources, and have not always been designed in especially consistent ways. Furthermore, because of the unique characteristics of the web, implementation bugs have often become de-facto, and now de-jure, standards, as content is often unintentionally written in ways that rely on them before they can be fixed.

Despite all this, efforts have been made to adhere to certain design goals. These are described in the next few subsections.

1.7.1 Serializability of script execution

This section is non-normative.

To avoid exposing web authors to the complexities of multithreading, the HTML and DOM APIs are designed such that no script can ever detect the simultaneous execution of other scripts. Even with [1229]workers, the intent is that the behavior of implementations can be thought of as completely serializing the execution of all scripts in all globals.

The exception to this general design principle is the JavaScript [1230]SharedArrayBuffer class. Using [1231]SharedArrayBuffer objects, it can in fact be observed that scripts in other [1232]agents are executing simultaneously. Furthermore, due to the JavaScript memory model, there are situations which not only are un-representable via serialized script execution, but also un-representable via serialized statement execution among those scripts.

1.7.2 Extensibility

This section is non-normative.

HTML has a wide array of extensibility mechanisms that can be used for adding semantics in a safe manner: * Authors can use the [1233]class attribute to extend elements, effectively creating their own elements, while using the most applicable existing "real" HTML element, so that browsers and other tools that don't know of the extension can still support it somewhat well. This is the tack used by microformats, for example. * Authors can include data for inline client-side scripts or server-side site-wide scripts to process using the [1234]data-*="" attributes. These are guaranteed to never be touched by browsers, and allow scripts to include data on HTML elements that scripts can then look for and process. * Authors can use the [1235] mechanism to include page-wide metadata. * Authors can use the [1236]rel="" mechanism to annotate links with specific meanings by registering [1237]extensions to the predefined set of link types. This is also used by microformats. * Authors can embed raw data using the [1238]

Each element in the DOM tree is represented by an object, and these objects have APIs so that they can be manipulated. For instance, a link (e.g. the [1341]a element in the tree above) can have its "[1342]href" attribute changed in several ways: var a = [1343]document.[1344]links[0]; // obtain the first link in the document a.[1345]href = ʼsample.htmlʼ; // change the destination URL of the link a.[1346]protocol = ʼhttpsʼ; // change just the scheme part of the URL a.setAttribute(ʼhrefʼ, ʼhttps://example.com/ʼ); // change the content attribute directly

Since DOM trees are used as the way to represent HTML documents when they are processed and presented by implementations (especially interactive implementations like web browsers), this specification is mostly phrased in terms of DOM trees, instead of the markup described above. __________________________________________________________________

HTML documents represent a media-independent description of interactive content. HTML documents might be rendered to a screen, or through a speech synthesizer, or on a braille display. To influence exactly how such rendering takes place, authors can use a styling language such as CSS.

In the following example, the page has been made yellow-on-blue using CSS. Sample styled page

Sample styled page

This page is just a demo.

For more details on how to use HTML, authors are encouraged to consult tutorials and guides. Some of the examples included in this specification might also be of use, but the novice author is cautioned that this specification, by necessity, defines the language with a level of detail that might be difficult to understand at first.

1.10.1 Writing secure applications with HTML

This section is non-normative.

When HTML is used to create interactive sites, care needs to be taken to avoid introducing vulnerabilities through which attackers can compromise the integrity of the site itself or of the site's users.

A comprehensive study of this matter is beyond the scope of this document, and authors are strongly encouraged to study the matter in more detail. However, this section attempts to provide a quick introduction to some common pitfalls in HTML application development.

The security model of the web is based on the concept of "origins", and correspondingly many of the potential attacks on the web involve cross-origin actions. [1347][ORIGIN]

Not validating user input Cross-site scripting (XSS) SQL injection When accepting untrusted input, e.g. user-generated content such as text comments, values in URL parameters, messages from third-party sites, etc, it is imperative that the data be validated before use, and properly escaped when displayed. Failing to do this can allow a hostile user to perform a variety of attacks, ranging from the potentially benign, such as providing bogus user information like a negative age, to the serious, such as running scripts every time a user looks at a page that includes the information, potentially propagating the attack in the process, to the catastrophic, such as deleting all data in the server.

When writing filters to validate user input, it is imperative that filters always be safelist-based, allowing known-safe constructs and disallowing all other input. Blocklist-based filters that disallow known-bad inputs and allow everything else are not secure, as not everything that is bad is yet known (for example, because it might be invented in the future).

For example, suppose a page looked at its URL's query string to determine what to display, and the site then redirected the user to that page to display a message, as in:

If the message was just displayed to the user without escaping, a hostile attacker could then craft a URL that contained a script element:

https://example.com/message.cgi?say=%3Cscript%3Ealert%28%27Oh%20no%21%27%29%3C/s cript%3E

If the attacker then convinced a victim user to visit this page, a script of the attacker's choosing would run on the page. Such a script could do any number of hostile actions, limited only by what the site offers: if the site is an e-commerce shop, for instance, such a script could cause the user to unknowingly make arbitrarily many unwanted purchases.

This is called a cross-site scripting attack.

There are many constructs that can be used to try to trick a site into executing code. Here are some that authors are encouraged to consider when writing safelist filters:

+ When allowing harmless-seeming elements like [1348]img, it is important to safelist any provided attributes as well. If one allowed all attributes then an attacker could, for instance, use the [1349]onload attribute to run arbitrary script. + When allowing URLs to be provided (e.g. for links), the scheme of each URL also needs to be explicitly safelisted, as there are many schemes that can be abused. The most prominent example is "[1350]javascript:", but user agents can implement (and indeed, have historically implemented) others. + Allowing a [1351]base element to be inserted means any [1352]script elements in the page with relative links can be hijacked, and similarly that any form submissions can get redirected to a hostile site.

Cross-site request forgery (CSRF) If a site allows a user to make form submissions with user-specific side-effects, for example posting messages on a forum under the user's name, making purchases, or applying for a passport, it is important to verify that the request was made by the user intentionally, rather than by another site tricking the user into making the request unknowingly.

This problem exists because HTML forms can be submitted to other origins.

Sites can prevent such attacks by populating forms with user-specific hidden tokens, or by checking `[1353]Origin` headers on all requests.

Clickjacking A page that provides users with an interface to perform actions that the user might not wish to perform needs to be designed so as to avoid the possibility that users can be tricked into activating the interface.

One way that a user could be so tricked is if a hostile site places the victim site in a small [1354]iframe and then convinces the user to click, for instance by having the user play a reaction game. Once the user is playing the game, the hostile site can quickly position the iframe under the mouse cursor just as the user is about to click, thus tricking the user into clicking the victim site's interface.

To avoid this, sites that do not expect to be used in frames are encouraged to only enable their interface if they detect that they are not in a frame (e.g. by comparing the [1355]window object to the value of the [1356]top attribute).

1.10.2 Common pitfalls to avoid when using the scripting APIs

This section is non-normative.

Scripts in HTML have "run-to-completion" semantics, meaning that the browser will generally run the script uninterrupted before doing anything else, such as firing further events or continuing to parse the document.

On the other hand, parsing of HTML files happens incrementally, meaning that the parser can pause at any point to let scripts run. This is generally a good thing, but it does mean that authors need to be careful to avoid hooking event handlers after the events could have possibly fired.

There are two techniques for doing this reliably: use [1357]event handler content attributes, or create the element and add the event handlers in the same script. The latter is safe because, as mentioned earlier, scripts are run to completion before further events can fire.

One way this could manifest itself is with [1358]img elements and the [1359]load event. The event could fire as soon as the element has been parsed, especially if the image has already been cached (which is common).

Here, the author uses the [1360]onload handler on an [1361]img element to catch the [1362]load event: Games

If the element is being added by script, then so long as the event handlers are added in the same script, the event will still not be missed:

However, if the author first created the [1363]img element and then in a separate script added the event listeners, there's a chance that the [1364]load event would be fired in between, leading it to be missed: Games

1.10.3 How to catch mistakes when writing HTML: validators and conformance checkers

This section is non-normative.

Authors are encouraged to make use of conformance checkers (also known as validators) to catch common mistakes. The WHATWG maintains a list of such tools at: [1365]https://whatwg.org/validator/

1.11 Conformance requirements for authors

This section is non-normative.

Unlike previous versions of the HTML specification, this specification defines in some detail the required processing for invalid documents as well as valid documents.

However, even though the processing of invalid content is in most cases well-defined, conformance requirements for documents are still important: in practice, interoperability (the situation in which all implementations process particular content in a reliable and identical or equivalent way) is not the only goal of document conformance requirements. This section details some of the more common reasons for still distinguishing between a conforming document and one with errors.

1.11.1 Presentational markup

This section is non-normative.

The majority of presentational features from previous versions of HTML are no longer allowed. Presentational markup in general has been found to have a number of problems:

The use of presentational elements leads to poorer accessibility While it is possible to use presentational markup in a way that provides users of assistive technologies (ATs) with an acceptable experience (e.g. using ARIA), doing so is significantly more difficult than doing so when using semantically-appropriate markup. Furthermore, even using such techniques doesn't help make pages accessible for non-AT non-graphical users, such as users of text-mode browsers.

Using media-independent markup, on the other hand, provides an easy way for documents to be authored in such a way that they work for more users (e.g. users of text browsers).

Higher cost of maintenance It is significantly easier to maintain a site written in such a way that the markup is style-independent. For example, changing the color of a site that uses throughout requires changes across the entire site, whereas a similar change to a site based on CSS can be done by changing a single file.

Larger document sizes Presentational markup tends to be much more redundant, and thus results in larger document sizes.

For those reasons, presentational markup has been removed from HTML in this version. This change should not come as a surprise; HTML4 deprecated presentational markup many years ago and provided a mode (HTML4 Transitional) to help authors move away from presentational markup; later, XHTML 1.1 went further and obsoleted those features altogether.

The only remaining presentational markup features in HTML are the [1366]style attribute and the [1367]style element. Use of the [1368]style attribute is somewhat discouraged in production environments, but it can be useful for rapid prototyping (where its rules can be directly moved into a separate style sheet later) and for providing specific styles in unusual cases where a separate style sheet would be inconvenient. Similarly, the [1369]style element can be useful in syndication or for page-specific styles, but in general an external style sheet is likely to be more convenient when the styles apply to multiple pages.

It is also worth noting that some elements that were previously presentational have been redefined in this specification to be media-independent: [1370]b, [1371]i, [1372]hr, [1373]s, [1374]small, and [1375]u.

1.11.2 Syntax errors

This section is non-normative.

The syntax of HTML is constrained to avoid a wide variety of problems.

Unintuitive error-handling behavior Certain invalid syntax constructs, when parsed, result in DOM trees that are highly unintuitive.

For example, the following markup fragment results in a DOM with an [1376]hr element that is an earlier sibling of the corresponding [1377]table element:


...

Errors with optional error recovery To allow user agents to be used in controlled environments without having to implement the more bizarre and convoluted error handling rules, user agents are permitted to fail whenever encountering a [1378]parse error.

Errors where the error-handling behavior is not compatible with streaming user agents Some error-handling behavior, such as the behavior for the


... example mentioned above, are incompatible with streaming user agents (user agents that process HTML files in one pass, without storing state). To avoid interoperability problems with such user agents, any syntax resulting in such behavior is considered invalid.

Errors that can result in infoset coercion When a user agent based on XML is connected to an HTML parser, it is possible that certain invariants that XML enforces, such as element or attribute names never contain multiple colons, will be violated by an HTML file. Handling this can require that the parser coerce the HTML DOM into an XML-compatible infoset. Most syntax constructs that require such handling are considered invalid. (Comments containing two consecutive hyphens, or ending with a hyphen, are exceptions that are allowed in the HTML syntax.)

Errors that result in disproportionately poor performance Certain syntax constructs can result in disproportionately poor performance. To discourage the use of such constructs, they are typically made non-conforming.

For example, the following markup results in poor performance, since all the unclosed [1379]i elements have to be reconstructed in each paragraph, resulting in progressively more elements in each paragraph:

She dreamt.

She dreamt that she ate breakfast.

Then lunch.

And finally dinner.

The resulting DOM for this fragment would be:

+ [1380]p o [1381]i # [1382]#text: She dreamt. + [1383]p o [1384]i # [1385]i @ [1386]#text: She dreamt that she ate breakfast. + [1387]p o [1388]i # [1389]i @ [1390]i - [1391]#text: Then lunch. + [1392]p o [1393]i # [1394]i @ [1395]i - [1396]i = [1397]#text: And finally dinner.

Errors involving fragile syntax constructs There are syntax constructs that, for historical reasons, are relatively fragile. To help reduce the number of users who accidentally run into such problems, they are made non-conforming.

For example, the parsing of certain named character references in attributes happens even with the closing semicolon being omitted. It is safe to include an ampersand followed by letters that do not form a named character reference, but if the letters are changed to a string that does form a named character reference, they will be interpreted as that character instead.

In this fragment, the attribute's value is "?bill&ted":

Bill and Ted

In the following fragment, however, the attribute's value is actually "?art©", not the intended "?art©", because even without the final semicolon, "©" is handled the same as "©" and thus gets interpreted as "©":

Art and Copy

To avoid this problem, all named character references are required to end with a semicolon, and uses of named character references without a semicolon are flagged as errors.

Thus, the correct way to express the above cases is as follows:

Bill and Ted

Art and Copy

Errors involving known interoperability problems in legacy user agents Certain syntax constructs are known to cause especially subtle or serious problems in legacy user agents, and are therefore marked as non-conforming to help authors avoid them.

For example, this is why the U+0060 GRAVE ACCENT character (`) is not allowed in unquoted attributes. In certain legacy user agents, it is sometimes treated as a quote character.

Another example of this is the DOCTYPE, which is required to trigger [1398]no-quirks mode, because the behavior of legacy user agents in [1399]quirks mode is often largely undocumented.

Errors that risk exposing authors to security attacks Certain restrictions exist purely to avoid known security problems.

For example, the restriction on using UTF-7 exists purely to avoid authors falling prey to a known cross-site-scripting attack using UTF-7. [1400][UTF7]

Cases where the author's intent is unclear Markup where the author's intent is very unclear is often made non-conforming. Correcting these errors early makes later maintenance easier.

For example, it is unclear whether the author intended the following to be an [1401]h1 heading or an [1402]h2 heading:

Contact details

Cases that are likely to be typos When a user makes a simple typo, it is helpful if the error can be caught early, as this can save the author a lot of debugging time. This specification therefore usually considers it an error to use element names, attribute names, and so forth, that do not match the names defined in this specification.

For example, if the author typed instead of

This provides the user with more context:

CAPTION:

Table 1.

This table shows the total score obtained from rolling two six-sided dice. The first row represents the value of the first die, the first column the value of the second die. The total is given in the cell that corresponds to the values of the two dice. 1 2 3 4 5 6 1 2 3 4 5 6 7 2 3 4 5 6 7 8 3 4 5 6 7 8 9 4 5 6 7 8 9 10 5 6 7 8 9 10 11 6 7 8 9 10 11 12

4.9.3 The colgroup element

(BUTTON) ✔MDN

[18418]Element/colgroup

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

(BUTTON) ✔MDN

[18419]HTMLTableColElement

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[18420]Categories: None.

[18421]Contexts in which this element can be used: As a child of a [18422]table element, after any [18423]caption elements and before any [18424]thead, [18425]tbody, [18426]tfoot, and [18427]tr elements.

[18428]Content model: If the [18429]span attribute is present: [18430]Nothing. If the [18431]span attribute is absent: Zero or more [18432]col and [18433]template elements.

[18434]Tag omission in text/html: A [18435]colgroup element's [18436]start tag can be omitted if the first thing inside the [18437]colgroup element is a [18438]col element, and if the element is not immediately preceded by another [18439]colgroup element whose [18440]end tag has been omitted. (It can't be omitted if the element is empty.) A [18441]colgroup element's [18442]end tag can be omitted if the [18443]colgroup element is not immediately followed by [18444]ASCII whitespace or a [18445]comment.

[18446]Content attributes: [18447]Global attributes [18448]span — Number of columns spanned by the element

[18449]Accessibility considerations: [18450]For authors. [18451]For implementers.

[18452]DOM interface:

[Exposed=Window] interface HTMLTableColElement : [18453]HTMLElement { [[18454]HTMLConstructor] constructor();

[[18455]CEReactions] attribute unsigned long [18456]span;

// [18457]also has obsolete members };

The [18458]colgroup element [18459]represents a [18460]group of one or more [18461]columns in the [18462]table that is its parent, if it has a parent and that is a [18463]table element.

If the [18464]colgroup element contains no [18465]col elements, then the element may have a span content attribute specified, whose value must be a [18466]valid non-negative integer greater than zero and less than or equal to 1000.

The [18467]colgroup element and its [18468]span attribute take part in the [18469]table model.

The span IDL attribute must [18470]reflect the content attribute of the same name. It is [18471]clamped to the range [1, 1000], and its [18472]default value is 1.

4.9.4 The col element

(BUTTON) ✔MDN

[18473]Element/col

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

[18474]Categories: None.

[18475]Contexts in which this element can be used: As a child of a [18476]colgroup element that doesn't have a [18477]span attribute.

[18478]Content model: [18479]Nothing.

[18480]Tag omission in text/html: No [18481]end tag.

[18482]Content attributes: [18483]Global attributes [18484]span — Number of columns spanned by the element

[18485]Accessibility considerations: [18486]For authors. [18487]For implementers.

[18488]DOM interface: Uses [18489]HTMLTableColElement, as defined for [18490]colgroup elements.

If a [18491]col element has a parent and that is a [18492]colgroup element that itself has a parent that is a [18493]table element, then the [18494]col element [18495]represents one or more [18496]columns in the [18497]column group represented by that [18498]colgroup.

The element may have a span content attribute specified, whose value must be a [18499]valid non-negative integer greater than zero and less than or equal to 1000.

The [18500]col element and its [18501]span attribute take part in the [18502]table model.

4.9.5 The tbody element

(BUTTON) ✔MDN

[18503]Element/tbody

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

(BUTTON) ✔MDN

[18504]HTMLTableSectionElement

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[18505]Categories: None.

[18506]Contexts in which this element can be used: As a child of a [18507]table element, after any [18508]caption, [18509]colgroup, and [18510]thead elements, but only if there are no [18511]tr elements that are children of the [18512]table element.

[18513]Content model: Zero or more [18514]tr and [18515]script-supporting elements.

[18516]Tag omission in text/html: A [18517]tbody element's [18518]start tag can be omitted if the first thing inside the [18519]tbody element is a [18520]tr element, and if the element is not immediately preceded by a [18521]tbody, [18522]thead, or [18523]tfoot element whose [18524]end tag has been omitted. (It can't be omitted if the element is empty.) A [18525]tbody element's [18526]end tag can be omitted if the [18527]tbody element is immediately followed by a [18528]tbody or [18529]tfoot element, or if there is no more content in the parent element.

[18530]Content attributes: [18531]Global attributes

[18532]Accessibility considerations: [18533]For authors. [18534]For implementers.

[18535]DOM interface:

[Exposed=Window] interface HTMLTableSectionElement : [18536]HTMLElement { [[18537]HTMLConstructor] constructor();

[SameObject] readonly attribute [18538]HTMLCollection [18539]rows; [18540]HTMLTableRowElement [18541]insertRow(optional long index = -1); [[18542]CEReactions] undefined [18543]deleteRow(long index);

// [18544]also has obsolete members };

The [18545]HTMLTableSectionElement interface is also used for [18546]thead and [18547]tfoot elements.

The [18548]tbody element [18549]represents a [18550]block of [18551]rows that consist of a body of data for the parent [18552]table element, if the [18553]tbody element has a parent and it is a [18554]table.

The [18555]tbody element takes part in the [18556]table model.

tbody.[18557]rows Returns an [18558]HTMLCollection of the [18559]tr elements of the table section.

tr = tbody.[18560]insertRow([ index ]) Creates a [18561]tr element, inserts it into the table section at the position given by the argument, and returns the [18562]tr.

The position is relative to the rows in the table section. The index −1, which is the default if the argument is omitted, is equivalent to inserting at the end of the table section.

If the given position is less than −1 or greater than the number of rows, throws an [18563]"IndexSizeError" [18564]DOMException.

tbody.[18565]deleteRow(index) Removes the [18566]tr element with the given position in the table section.

The position is relative to the rows in the table section. The index −1 is equivalent to deleting the last row of the table section.

If the given position is less than −1 or greater than the index of the last row, or if there are no rows, throws an [18567]"IndexSizeError" [18568]DOMException.

The rows attribute must return an [18569]HTMLCollection rooted at this element, whose filter matches only [18570]tr elements that are children of this element.

The insertRow(index) method must act as follows: 1. If index is less than −1 or greater than the number of elements in the [18571]rows collection, throw an [18572]"IndexSizeError" [18573]DOMException. 2. Let table row be the result of [18574]creating an element given this element's [18575]node document, "tr", and the [18576]HTML namespace. 3. If index is −1 or equal to the number of items in the [18577]rows collection, then [18578]append table row to this element. 4. Otherwise, [18579]insert table row as a child of this element, immediately before the indexth [18580]tr element in the [18581]rows collection. 5. Return table row.

The deleteRow(index) method must, when invoked, act as follows: 1. If index is less than −1 or greater than or equal to the number of elements in the [18582]rows collection, then throw an [18583]"IndexSizeError" [18584]DOMException. 2. If index is −1, then [18585]remove the last element in the [18586]rows collection from this element, or do nothing if the [18587]rows collection is empty. 3. Otherwise, [18588]remove the indexth element in the [18589]rows collection from this element.

4.9.6 The thead element

(BUTTON) ✔MDN

[18590]Element/thead

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[18591]Categories: None.

[18592]Contexts in which this element can be used: As a child of a [18593]table element, after any [18594]caption, and [18595]colgroup elements and before any [18596]tbody, [18597]tfoot, and [18598]tr elements, but only if there are no other [18599]thead elements that are children of the [18600]table element.

[18601]Content model: Zero or more [18602]tr and [18603]script-supporting elements.

[18604]Tag omission in text/html: A [18605]thead element's [18606]end tag can be omitted if the [18607]thead element is immediately followed by a [18608]tbody or [18609]tfoot element.

[18610]Content attributes: [18611]Global attributes

[18612]Accessibility considerations: [18613]For authors. [18614]For implementers.

[18615]DOM interface: Uses [18616]HTMLTableSectionElement, as defined for [18617]tbody elements.

The [18618]thead element [18619]represents the [18620]block of [18621]rows that consist of the column labels (headers) and any ancillary non-header cells for the parent [18622]table element, if the [18623]thead element has a parent and it is a [18624]table.

The [18625]thead element takes part in the [18626]table model.

This example shows a [18627]thead element being used. Notice the use of both [18628]th and [18629]td elements in the [18630]thead element: the first row is the headers, and the second row is an explanation of how to fill in the table.

, this would be flagged as an error and the author could correct the typo immediately.

Errors that could interfere with new syntax in the future In order to allow the language syntax to be extended in the future, certain otherwise harmless features are disallowed.

For example, "attributes" in end tags are ignored currently, but they are invalid, in case a future change to the language makes use of that syntax feature without conflicting with already-deployed (and valid!) content.

Some authors find it helpful to be in the practice of always quoting all attributes and always including all optional tags, preferring the consistency derived from such custom over the minor benefits of terseness afforded by making use of the flexibility of the HTML syntax. To aid such authors, conformance checkers can provide modes of operation wherein such conventions are enforced.

1.11.3 Restrictions on content models and on attribute values

This section is non-normative.

Beyond the syntax of the language, this specification also places restrictions on how elements and attributes can be specified. These restrictions are present for similar reasons:

Errors involving content with dubious semantics To avoid misuse of elements with defined meanings, content models are defined that restrict how elements can be nested when such nestings would be of dubious value.

For example, this specification disallows nesting a [1403]section element inside a [1404]kbd element, since it is highly unlikely for an author to indicate that an entire section should be keyed in.

Errors that involve a conflict in expressed semantics Similarly, to draw the author's attention to mistakes in the use of elements, clear contradictions in the semantics expressed are also considered conformance errors.

In the fragments below, for example, the semantics are nonsensical: a separator cannot simultaneously be a cell, nor can a radio button be a progress bar.


Another example is the restrictions on the content models of the [1405]ul element, which only allows [1406]li element children. Lists by definition consist just of zero or more list items, so if a [1407]ul element contains something other than an [1408]li element, it's not clear what was meant.

Cases where the default styles are likely to lead to confusion Certain elements have default styles or behaviors that make certain combinations likely to lead to confusion. Where these have equivalent alternatives without this problem, the confusing combinations are disallowed.

For example, [1409]div elements are rendered as [1410]block boxes, and [1411]span elements as [1412]inline boxes. Putting a [1413]block box in an [1414]inline box is unnecessarily confusing; since either nesting just [1415]div elements, or nesting just [1416]span elements, or nesting [1417]span elements inside [1418]div elements all serve the same purpose as nesting a [1419]div element in a [1420]span element, but only the latter involves a [1421]block box in an [1422]inline box, the latter combination is disallowed.

Another example would be the way [1423]interactive content cannot be nested. For example, a [1424]button element cannot contain a [1425]textarea element. This is because the default behavior of such nesting interactive elements would be highly confusing to users. Instead of nesting these elements, they can be placed side by side.

Errors that indicate a likely misunderstanding of the specification Sometimes, something is disallowed because allowing it would likely cause author confusion.

For example, setting the [1426]disabled attribute to the value "false" is disallowed, because despite the appearance of meaning that the element is enabled, it in fact means that the element is disabled (what matters for implementations is the presence of the attribute, not its value).

Errors involving limits that have been imposed merely to simplify the language Some conformance errors simplify the language that authors need to learn.

For example, the [1427]area element's [1428]shape attribute, despite accepting both [1429]circ and [1430]circle values in practice as synonyms, disallows the use of the [1431]circ value, so as to simplify tutorials and other learning aids. There would be no benefit to allowing both, but it would cause extra confusion when teaching the language.

Errors that involve peculiarities of the parser Certain elements are parsed in somewhat eccentric ways (typically for historical reasons), and their content model restrictions are intended to avoid exposing the author to these issues.

For example, a [1432]form element isn't allowed inside [1433]phrasing content, because when parsed as HTML, a [1434]form element's start tag will imply a [1435]p element's end tag. Thus, the following markup results in two [1436]paragraphs, not one:

Welcome.

It is parsed exactly like the following:

Welcome.

Errors that would likely result in scripts failing in hard-to-debug ways Some errors are intended to help prevent script problems that would be hard to debug.

This is why, for instance, it is non-conforming to have two [1437]id attributes with the same value. Duplicate IDs lead to the wrong element being selected, with sometimes disastrous effects whose cause is hard to determine.

Errors that waste authoring time Some constructs are disallowed because historically they have been the cause of a lot of wasted authoring time, and by encouraging authors to avoid making them, authors can save time in future efforts.

For example, a [1438]script element's [1439]src attribute causes the element's contents to be ignored. However, this isn't obvious, especially if the element's contents appear to be executable script — which can lead to authors spending a lot of time trying to debug the inline script without realizing that it is not executing. To reduce this problem, this specification makes it non-conforming to have executable script in a [1440]script element when the [1441]src attribute is present. This means that authors who are validating their documents are less likely to waste time with this kind of mistake.

Errors that involve areas that affect authors migrating between the HTML and XML syntaxes Some authors like to write files that can be interpreted as both XML and HTML with similar results. Though this practice is discouraged in general due to the myriad of subtle complications involved (especially when involving scripting, styling, or any kind of automated serialization), this specification has a few restrictions intended to at least somewhat mitigate the difficulties. This makes it easier for authors to use this as a transitionary step when migrating between the HTML and XML syntaxes.

For example, there are somewhat complicated rules surrounding the [1442]lang and [1443]xml:lang attributes intended to keep the two synchronized.

Another example would be the restrictions on the values of xmlns attributes in the HTML serialization, which are intended to ensure that elements in conforming documents end up in the same namespaces whether processed as HTML or XML.

Errors that involve areas reserved for future expansion As with the restrictions on the syntax intended to allow for new syntax in future revisions of the language, some restrictions on the content models of elements and values of attributes are intended to allow for future expansion of the HTML vocabulary.

For example, limiting the values of the [1444]target attribute that start with an U+005F LOW LINE character (_) to only specific predefined values allows new predefined values to be introduced at a future time without conflicting with author-defined values.

Errors that indicate a mis-use of other specifications Certain restrictions are intended to support the restrictions made by other specifications.

For example, requiring that attributes that take media query lists use only valid media query lists reinforces the importance of following the conformance rules of that specification.

1.12 Suggested reading

This section is non-normative.

The following documents might be of interest to readers of this specification.

Character Model for the World Wide Web 1.0: Fundamentals [1445][CHARMOD]

This Architectural Specification provides authors of specifications, software developers, and content developers with a common reference for interoperable text manipulation on the World Wide Web, building on the Universal Character Set, defined jointly by the Unicode Standard and ISO/IEC 10646. Topics addressed include use of the terms 'character', 'encoding' and 'string', a reference processing model, choice and identification of character encodings, character escaping, and string indexing.

Unicode Security Considerations [1446][UTR36]

Because Unicode contains such a large number of characters and incorporates the varied writing systems of the world, incorrect usage can expose programs or systems to possible security attacks. This is especially important as more and more products are internationalized. This document describes some of the security considerations that programmers, system analysts, standards developers, and users should take into account, and provides specific recommendations to reduce the risk of problems.

Web Content Accessibility Guidelines (WCAG) [1447][WCAG]

Web Content Accessibility Guidelines (WCAG) covers a wide range of recommendations for making web content more accessible. Following these guidelines will make content accessible to a wider range of people with disabilities, including blindness and low vision, deafness and hearing loss, learning disabilities, cognitive limitations, limited movement, speech disabilities, photosensitivity and combinations of these. Following these guidelines will also often make your web content more usable to users in general.

Authoring Tool Accessibility Guidelines (ATAG) 2.0 [1448][ATAG]

This specification provides guidelines for designing web content authoring tools that are more accessible for people with disabilities. An authoring tool that conforms to these guidelines will promote accessibility by providing an accessible user interface to authors with disabilities as well as by enabling, supporting, and promoting the production of accessible web content by all authors.

User Agent Accessibility Guidelines (UAAG) 2.0 [1449][UAAG]

This document provides guidelines for designing user agents that lower barriers to web accessibility for people with disabilities. User agents include browsers and other types of software that retrieve and render web content. A user agent that conforms to these guidelines will promote accessibility through its own user interface and through other internal facilities, including its ability to communicate with other technologies (especially assistive technologies). Furthermore, all users, not just users with disabilities, should find conforming user agents to be more usable.

2 Common infrastructure

This specification depends on Infra. [1450][INFRA]

2.1 Terminology

This specification refers to both HTML and XML attributes and IDL attributes, often in the same context. When it is not clear which is being referred to, they are referred to as content attributes for HTML and XML attributes, and IDL attributes for those defined on IDL interfaces. Similarly, the term "properties" is used for both JavaScript object properties and CSS properties. When these are ambiguous they are qualified as object properties and CSS properties respectively.

Generally, when the specification states that a feature applies to [1451]the HTML syntax or [1452]the XML syntax, it also includes the other. When a feature specifically only applies to one of the two languages, it is called out by explicitly stating that it does not apply to the other format, as in "for HTML, ... (this does not apply to XML)".

This specification uses the term document to refer to any use of HTML, ranging from short static documents to long essays or reports with rich multimedia, as well as to fully-fledged interactive applications. The term is used to refer both to [1453]Document objects and their descendant DOM trees, and to serialized byte streams using the [1454]HTML syntax or the [1455]XML syntax, depending on context.

In the context of the DOM structures, the terms [1456]HTML document and [1457]XML document are used as defined in DOM, and refer specifically to two different modes that [1458]Document objects can find themselves in. [1459][DOM] (Such uses are always hyperlinked to their definition.)

In the context of byte streams, the term HTML document refers to resources labeled as [1460]text/html, and the term XML document refers to resources labeled with an [1461]XML MIME type. __________________________________________________________________

For simplicity, terms such as shown, displayed, and visible might sometimes be used when referring to the way a document is rendered to the user. These terms are not meant to imply a visual medium; they must be considered to apply to other media in equivalent ways.

2.1.1 Parallelism

To run steps in parallel means those steps are to be run, one after another, at the same time as other logic in the standard (e.g., at the same time as the [1462]event loop). This standard does not define the precise mechanism by which this is achieved, be it time-sharing cooperative multitasking, fibers, threads, processes, using different hyperthreads, cores, CPUs, machines, etc. By contrast, an operation that is to run immediately must interrupt the currently running task, run itself, and then resume the previously running task.

For guidance on writing specifications that leverage parallelism, see [1463]Dealing with the event loop from other specifications.

To avoid race conditions between different [1464]in parallel algorithms that operate on the same data, a [1465]parallel queue can be used.

A parallel queue represents a queue of algorithm steps that must be run in series.

A [1466]parallel queue has an algorithm queue (a [1467]queue), initially empty.

To enqueue steps to a [1468]parallel queue, [1469]enqueue the algorithm steps to the [1470]parallel queue's [1471]algorithm queue.

To start a new parallel queue, run the following steps: 1. Let parallelQueue be a new [1472]parallel queue. 2. Run the following steps [1473]in parallel: 1. While true: 1. Let steps be the result of [1474]dequeueing from parallelQueue's [1475]algorithm queue. 2. If steps is not nothing, then run steps. 3. [1476]Assert: running steps did not throw an exception, as steps running [1477]in parallel are not allowed to throw. Implementations are not expected to implement this as a continuously running loop. Algorithms in standards are to be easy to understand and are not necessarily great for battery life or performance. 3. Return parallelQueue.

Steps running [1478]in parallel can themselves run other steps in [1479]in parallel. E.g., inside a [1480]parallel queue it can be useful to run a series of steps in parallel with the queue.

Imagine a standard defined nameList (a [1481]list), along with a method to add a name to nameList, unless nameList already [1482]contains name, in which case it rejects.

The following solution suffers from race conditions: 1. Let p be a new promise created in [1483]this's [1484]relevant realm. 2. Let global be [1485]this's [1486]relevant global object. 3. Run the following steps [1487]in parallel: 1. If nameList [1488]contains name, then [1489]queue a global task on the [1490]DOM manipulation task source given global to reject p with a [1491]TypeError, and abort these steps. 2. Do some potentially lengthy work. 3. [1492]Append name to nameList. 4. [1493]Queue a global task on the [1494]DOM manipulation task source given global to resolve p with undefined. 4. Return p.

Two invocations of the above could run simultaneously, meaning name isn't in nameList during step 2.1, but it might be added before step 2.3 runs, meaning name ends up in nameList twice.

Parallel queues solve this. The standard would let nameListQueue be the result of [1495]starting a new parallel queue, then: 1. Let p be a new promise created in [1496]this's [1497]relevant realm. 2. Let global be [1498]this's [1499]relevant global object. 3. [1500]Enqueue the following steps to nameListQueue: 1. If nameList [1501]contains name, then [1502]queue a global task on the [1503]DOM manipulation task source given global to reject p with a [1504]TypeError, and abort these steps. 2. Do some potentially lengthy work. 3. [1505]Append name to nameList. 4. [1506]Queue a global task on the [1507]DOM manipulation task source given global to resolve p with undefined. 4. Return p.

The steps would now queue and the race is avoided.

2.1.2 Resources

The specification uses the term supported when referring to whether a user agent has an implementation capable of decoding the semantics of an external resource. A format or type is said to be supported if the implementation can process an external resource of that format or type without critical aspects of the resource being ignored. Whether a specific resource is supported can depend on what features of the resource's format are in use.

For example, a PNG image would be considered to be in a supported format if its pixel data could be decoded and rendered, even if, unbeknownst to the implementation, the image also contained animation data.

An MPEG-4 video file would not be considered to be in a supported format if the compression format used was not supported, even if the implementation could determine the dimensions of the movie from the file's metadata.

What some specifications, in particular the HTTP specifications, refer to as a representation is referred to in this specification as a resource. [1508][HTTP]

A resource's critical subresources are those that the resource needs to have available to be correctly processed. Which resources are considered critical or not is defined by the specification that defines the resource's format.

For [1509]CSS style sheets, we tentatively define here that their critical subresources are other style sheets imported via @import rules, including those indirectly imported by other imported style sheets.

This definition is not fully interoperable; furthermore, some user agents seem to count resources like background images or web fonts as critical subresources. Ideally, the CSS Working Group would define this; see [1510]w3c/csswg-drafts issue #1088 to track progress on that front.

2.1.3 XML compatibility

To ease migration from HTML to XML, user agents conforming to this specification will place elements in HTML in the [1511]http://www.w3.org/1999/xhtml namespace, at least for the purposes of the DOM and CSS. The term "HTML elements" refers to any element in that namespace, even in XML documents.

Except where otherwise stated, all elements defined or mentioned in this specification are in the [1512]HTML namespace ("http://www.w3.org/1999/xhtml"), and all attributes defined or mentioned in this specification have no namespace.

The term element type is used to refer to the set of elements that have a given local name and namespace. For example, [1513]button elements are elements with the element type [1514]button, meaning they have the local name "button" and (implicitly as defined above) the [1515]HTML namespace.

Attribute names are said to be XML-compatible if they match the [1516]Name production defined in XML and they contain no U+003A COLON characters (:). [1517][XML]

2.1.4 DOM trees

When it is stated that some element or attribute is ignored, or treated as some other value, or handled as if it was something else, this refers only to the processing of the node after it is in the DOM. A user agent must not mutate the DOM in such situations.

A content attribute is said to change value only if its new value is different than its previous value; setting an attribute to a value it already has does not change it.

The term empty, when used for an attribute value, [1518]Text node, or string, means that the [1519]length of the text is zero (i.e., not even containing [1520]controls or U+0020 SPACE).

An HTML element can have specific HTML element insertion steps, HTML element post-connection steps, HTML element removing steps, and HTML element moving steps all defined for the element's [1521]local name.

The [1522]insertion steps for the HTML Standard, given insertedNode, are defined as the following: 1. If insertedNode is an element whose [1523]namespace is the [1524]HTML namespace, and this standard defines [1525]HTML element insertion steps for insertedNode's [1526]local name, then run the corresponding [1527]HTML element insertion steps given insertedNode. 2. If insertedNode is a [1528]form-associated element or the ancestor of a [1529]form-associated element, then: 1. If the [1530]form-associated element's [1531]parser inserted flag is set, then return. 2. [1532]Reset the form owner of the [1533]form-associated element. 3. If insertedNode is an [1534]Element that is not on the [1535]stack of open elements of an [1536]HTML parser, then [1537]process internal resource links given insertedNode's [1538]node document.

The [1539]post-connection steps for the HTML Standard, given insertedNode, are defined as the following: 1. If insertedNode is an element whose [1540]namespace is the [1541]HTML namespace, and this standard defines [1542]HTML element post-connection steps for insertedNode's [1543]local name, then run the corresponding [1544]HTML element post-connection steps given insertedNode.

The [1545]removing steps for the HTML Standard, given removedNode and oldParent, are defined as the following: 1. Let document be removedNode's [1546]node document. 2. If document's [1547]focused area is removedNode, then set document's [1548]focused area to document's [1549]viewport, and set document's [1550]relevant global object's [1551]navigation API's [1552]focus changed during ongoing navigation to false. This does not perform the [1553]unfocusing steps, [1554]focusing steps, or [1555]focus update steps, and thus no [1556]blur or [1557]change events are fired. 3. If removedNode is an element whose [1558]namespace is the [1559]HTML namespace, and this standard defines [1560]HTML element removing steps for removedNode's [1561]local name, then run the corresponding [1562]HTML element removing steps given removedNode and oldParent. 4. If removedNode is a [1563]form-associated element or the ancestor of a [1564]form-associated element, then: 1. If the [1565]form-associated element has a [1566]form owner and the [1567]form-associated element and its [1568]form owner are no longer in the same [1569]tree, then [1570]reset the form owner of the [1571]form-associated element. 5. If removedNode's [1572]popover attribute is not in the [1573]no popover state, then run the [1574]hide popover algorithm given removedNode, false, false, and false.

The [1575]moving steps for the HTML Standard, given movedNode, are defined as the following: 1. If movedNode is an element whose [1576]namespace is the [1577]HTML namespace, and this standard defines [1578]HTML element moving steps for movedNode's [1579]local name, then run the corresponding [1580]HTML element moving steps given movedNode. 2. If movedNode is a [1581]form-associated element or the ancestor of a [1582]form-associated element, then: 1. If the [1583]form-associated element has a [1584]form owner and the [1585]form-associated element and its [1586]form owner are no longer in the same [1587]tree, then [1588]reset the form owner of the [1589]form-associated element.

A node is inserted into a document when the [1590]insertion steps are invoked with it as the argument and it is now [1591]in a document tree. Analogously, a node is removed from a document when the [1592]removing steps are invoked with it as the argument and it is now no longer [1593]in a document tree.

A node becomes connected when the [1594]insertion steps are invoked with it as the argument and it is now [1595]connected. Analogously, a node becomes disconnected when the [1596]removing steps are invoked with it as the argument and it is now no longer [1597]connected.

A node is browsing-context connected when it is [1598]connected and its [1599]shadow-including root's [1600]browsing context is non-null. A node becomes browsing-context connected when the [1601]insertion steps are invoked with it as the argument and it is now [1602]browsing-context connected. A node becomes browsing-context disconnected either when the [1603]removing steps are invoked with it as the argument and it is now no longer [1604]browsing-context connected, or when its [1605]shadow-including root's [1606]browsing context becomes null.

2.1.5 Scripting

The construction "a Foo object", where Foo is actually an interface, is sometimes used instead of the more accurate "an object implementing the interface Foo".

An IDL attribute is said to be getting when its value is being retrieved (e.g. by author script), and is said to be setting when a new value is assigned to it.

If a DOM object is said to be live, then the attributes and methods on that object must operate on the actual underlying data, not a snapshot of the data.

2.1.6 Plugins

The term plugin refers to an [1607]implementation-defined set of content handlers used by the user agent that can take part in the user agent's rendering of a [1608]Document object, but that neither act as [1609]child navigables of the [1610]Document nor introduce any [1611]Node objects to the [1612]Document's DOM.

Typically such content handlers are provided by third parties, though a user agent can also designate built-in content handlers as plugins.

A user agent must not consider the types [1613]text/plain and [1614]application/octet-stream as having a registered [1615]plugin.

One example of a plugin would be a PDF viewer that is instantiated in a [1616]navigable when the user navigates to a PDF file. This would count as a plugin regardless of whether the party that implemented the PDF viewer component was the same as that which implemented the user agent itself. However, a PDF viewer application that launches separate from the user agent (as opposed to using the same interface) is not a plugin by this definition.

This specification does not define a mechanism for interacting with plugins, as it is expected to be user-agent- and platform-specific. Some UAs might opt to support a plugin mechanism such as the Netscape Plugin API; others might use remote content converters or have built-in support for certain types. Indeed, this specification doesn't require user agents to support plugins at all. [1617][NPAPI]

Browsers should take extreme care when interacting with external content intended for [1618]plugins. When third-party software is run with the same privileges as the user agent itself, vulnerabilities in the third-party software become as dangerous as those in the user agent.

[1619](This is a tracking vector.) Since different users having different sets of [1620]plugins provides a tracking vector that increases the chances of users being uniquely identified, user agents are encouraged to support the exact same set of [1621]plugins for each user.

2.1.7 Character encodings

A [1622]character encoding, or just encoding where that is not ambiguous, is a defined way to convert between byte streams and Unicode strings, as defined in Encoding. An [1623]encoding has an [1624]encoding name and one or more [1625]encoding labels, referred to as the encoding's name and labels in the Encoding standard. [1626][ENCODING]

2.1.8 Conformance classes

This specification describes the conformance criteria for user agents (relevant to implementers) and documents (relevant to authors and authoring tool implementers).

Conforming documents are those that comply with all the conformance criteria for documents. For readability, some of these conformance requirements are phrased as conformance requirements on authors; such requirements are implicitly requirements on documents: by definition, all documents are assumed to have had an author. (In some cases, that author may itself be a user agent — such user agents are subject to additional rules, as explained below.)

For example, if a requirement states that "authors must not use the foobar element", it would imply that documents are not allowed to contain elements named foobar.

There is no implied relationship between document conformance requirements and implementation conformance requirements. User agents are not free to handle non-conformant documents as they please; the processing model described in this specification applies to implementations regardless of the conformity of the input documents.

User agents fall into several (overlapping) categories with different conformance requirements.

Web browsers and other interactive user agents Web browsers that support [1627]the XML syntax must process elements and attributes from the [1628]HTML namespace found in XML documents as described in this specification, so that users can interact with them, unless the semantics of those elements have been overridden by other specifications.

A conforming web browser would, upon finding a [1629]script element in an XML document, execute the script contained in that element. However, if the element is found within a transformation expressed in XSLT (assuming the user agent also supports XSLT), then the processor would instead treat the [1630]script element as an opaque element that forms part of the transform.

Web browsers that support [1631]the HTML syntax must process documents labeled with an [1632]HTML MIME type as described in this specification, so that users can interact with them.

User agents that support scripting must also be conforming implementations of the IDL fragments in this specification, as described in Web IDL. [1633][WEBIDL]

Unless explicitly stated, specifications that override the semantics of HTML elements do not override the requirements on DOM objects representing those elements. For example, the [1634]script element in the example above would still implement the [1635]HTMLScriptElement interface.

Non-interactive presentation user agents User agents that process HTML and XML documents purely to render non-interactive versions of them must comply to the same conformance criteria as web browsers, except that they are exempt from requirements regarding user interaction.

Typical examples of non-interactive presentation user agents are printers (static UAs) and overhead displays (dynamic UAs). It is expected that most static non-interactive presentation user agents will also opt to [1636]lack scripting support.

A non-interactive but dynamic presentation UA would still execute scripts, allowing forms to be dynamically submitted, and so forth. However, since the concept of "focus" is irrelevant when the user cannot interact with the document, the UA would not need to support any of the focus-related DOM APIs.

Visual user agents that support the suggested default rendering User agents, whether interactive or not, may be designated (possibly as a user option) as supporting the suggested default rendering defined by this specification.

This is not required. In particular, even user agents that do implement the suggested default rendering are encouraged to offer settings that override this default to improve the experience for the user, e.g. changing the color contrast, using different focus styles, or otherwise making the experience more accessible and usable to the user.

User agents that are designated as supporting the suggested default rendering must, while so designated, implement the rules [1637]the Rendering section defines as the behavior that user agents are expected to implement.

User agents with no scripting support Implementations that do not support scripting (or which have their scripting features disabled entirely) are exempt from supporting the events and DOM interfaces mentioned in this specification. For the parts of this specification that are defined in terms of an events model or in terms of the DOM, such user agents must still act as if events and the DOM were supported.

Scripting can form an integral part of an application. Web browsers that do not support scripting, or that have scripting disabled, might be unable to fully convey the author's intent.

Conformance checkers Conformance checkers must verify that a document conforms to the applicable conformance criteria described in this specification. Automated conformance checkers are exempt from detecting errors that require interpretation of the author's intent (for example, while a document is non-conforming if the content of a [1638]blockquote element is not a quote, conformance checkers running without the input of human judgement do not have to check that [1639]blockquote elements only contain quoted material).

Conformance checkers must check that the input document conforms when parsed without a [1640]browsing context (meaning that no scripts are run, and that the parser's [1641]scripting flag is disabled), and should also check that the input document conforms when parsed with a [1642]browsing context in which scripts execute, and that the scripts never cause non-conforming states to occur other than transiently during script execution itself. (This is only a "SHOULD" and not a "MUST" requirement because it has been proven to be impossible. [1643][COMPUTABLE])

The term "HTML validator" can be used to refer to a conformance checker that itself conforms to the applicable requirements of this specification.

XML DTDs cannot express all the conformance requirements of this specification. Therefore, a validating XML processor and a DTD cannot constitute a conformance checker. Also, since neither of the two authoring formats defined in this specification are applications of SGML, a validating SGML system cannot constitute a conformance checker either.

To put it another way, there are three types of conformance criteria:

1. Criteria that can be expressed in a DTD. 2. Criteria that cannot be expressed by a DTD, but can still be checked by a machine. 3. Criteria that can only be checked by a human.

A conformance checker must check for the first two. A simple DTD-based validator only checks for the first class of errors and is therefore not a conforming conformance checker according to this specification.

Data mining tools Applications and tools that process HTML and XML documents for reasons other than to either render the documents or check them for conformance should act in accordance with the semantics of the documents that they process.

A tool that generates [1644]document outlines but increases the nesting level for each paragraph and does not increase the nesting level for [1645]headings would not be conforming.

Authoring tools and markup generators Authoring tools and markup generators must generate [1646]conforming documents. Conformance criteria that apply to authors also apply to authoring tools, where appropriate.

Authoring tools are exempt from the strict requirements of using elements only for their specified purpose, but only to the extent that authoring tools are not yet able to determine author intent. However, authoring tools must not automatically misuse elements or encourage their users to do so.

For example, it is not conforming to use an [1647]address element for arbitrary contact information; that element can only be used for marking up contact information for its nearest [1648]article or [1649]body element ancestor. However, since an authoring tool is likely unable to determine the difference, an authoring tool is exempt from that requirement. This does not mean, though, that authoring tools can use [1650]address elements for any block of italics text (for instance); it just means that the authoring tool doesn't have to verify that when the user uses a tool for inserting contact information for an [1651]article element, that the user really is doing that and not inserting something else instead.

In terms of conformance checking, an editor has to output documents that conform to the same extent that a conformance checker will verify.

When an authoring tool is used to edit a non-conforming document, it may preserve the conformance errors in sections of the document that were not edited during the editing session (i.e. an editing tool is allowed to round-trip erroneous content). However, an authoring tool must not claim that the output is conformant if errors have been so preserved.

Authoring tools are expected to come in two broad varieties: tools that work from structure or semantic data, and tools that work on a What-You-See-Is-What-You-Get media-specific editing basis (WYSIWYG).

The former is the preferred mechanism for tools that author HTML, since the structure in the source information can be used to make informed choices regarding which HTML elements and attributes are most appropriate.

However, WYSIWYG tools are legitimate. WYSIWYG tools should use elements they know are appropriate, and should not use elements that they do not know to be appropriate. This might in certain extreme cases mean limiting the use of flow elements to just a few elements, like [1652]div, [1653]b, [1654]i, and [1655]span and making liberal use of the [1656]style attribute.

All authoring tools, whether WYSIWYG or not, should make a best effort attempt at enabling users to create well-structured, semantically rich, media-independent content.

For compatibility with existing content and prior specifications, this specification describes two authoring formats: one based on [1657]XML, and one using a [1658]custom format inspired by SGML (referred to as [1659]the HTML syntax). Implementations must support at least one of these two formats, although supporting both is encouraged.

Some conformance requirements are phrased as requirements on elements, attributes, methods or objects. Such requirements fall into two categories: those describing content model restrictions, and those describing implementation behavior. Those in the former category are requirements on documents and authoring tools. Those in the second category are requirements on user agents. Similarly, some conformance requirements are phrased as requirements on authors; such requirements are to be interpreted as conformance requirements on the documents that authors produce. (In other words, this specification does not distinguish between conformance criteria on authors and conformance criteria on documents.)

2.1.9 Dependencies

This specification relies on several other underlying specifications.

Infra The following terms are defined in Infra: [1660][INFRA]

+ The general iteration terms [1661]while, [1662]continue, and [1663]break. + [1664]Assert + [1665]implementation-defined + [1666]willful violation + [1667]tracking vector + [1668]code point and its synonym [1669]character + [1670]surrogate + [1671]scalar value + [1672]tuple + [1673]noncharacter + [1674]string, [1675]code unit, [1676]code unit prefix, [1677]code unit less than, [1678]starts with, [1679]ends with, [1680]length, and [1681]code point length + The string equality operations [1682]is and [1683]identical to + [1684]scalar value string + [1685]convert + [1686]ASCII string + [1687]ASCII tab or newline + [1688]ASCII whitespace + [1689]control + [1690]ASCII digit + [1691]ASCII upper hex digit + [1692]ASCII lower hex digit + [1693]ASCII hex digit + [1694]ASCII upper alpha + [1695]ASCII lower alpha + [1696]ASCII alpha + [1697]ASCII alphanumeric + [1698]isomorphic decode + [1699]isomorphic encode + [1700]ASCII lowercase + [1701]ASCII uppercase + [1702]ASCII case-insensitive + [1703]strip newlines + [1704]normalize newlines + [1705]strip leading and trailing ASCII whitespace + [1706]strip and collapse ASCII whitespace + [1707]split a string on ASCII whitespace + [1708]split a string on commas + [1709]collect a sequence of code points and its associated [1710]position variable + [1711]skip ASCII whitespace + The [1712]ordered map data structure and the associated definitions for [1713]key, [1714]value, [1715]empty, [1716]entry, [1717]exists, [1718]getting the value of an entry, [1719]setting the value of an entry, [1720]removing an entry, [1721]clear, [1722]getting the keys, [1723]getting the values, [1724]sorting in descending order, [1725]size, and [1726]iterate + The [1727]list data structure and the associated definitions for [1728]append, [1729]extend, [1730]prepend, [1731]replace, [1732]remove, [1733]empty, [1734]contains, [1735]size, [1736]indices, [1737]is empty, [1738]item, [1739]iterate, and [1740]clone [1741]sort in ascending order [1742]sort in descending order + The [1743]stack data structure and the associated definitions for [1744]push and [1745]pop + The [1746]queue data structure and the associated definitions for [1747]enqueue and [1748]dequeue + The [1749]ordered set data structure and the associated definition for [1750]append and [1751]union + The [1752]struct specification type and the associated definition for [1753]item + The [1754]byte sequence data structure + The [1755]forgiving-base64 encode and [1756]forgiving-base64 decode algorithms + [1757]exclusive range + [1758]parse a JSON string to an Infra value + [1759]HTML namespace + [1760]MathML namespace + [1761]SVG namespace + [1762]XLink namespace + [1763]XML namespace + [1764]XMLNS namespace

Unicode and Encoding The Unicode character set is used to represent textual data, and Encoding defines requirements around [1765]character encodings. [1766][UNICODE]

This specification [1767]introduces terminology based on the terms defined in those specifications, as described earlier.

The following terms are used as defined in Encoding: [1768][ENCODING]

+ [1769]Getting an encoding + [1770]Get an output encoding + The generic [1771]decode algorithm which takes a byte stream and an encoding and returns a character stream + The [1772]UTF-8 decode algorithm which takes a byte stream and returns a character stream, additionally stripping one leading UTF-8 Byte Order Mark (BOM), if any + The [1773]UTF-8 decode without BOM algorithm which is identical to [1774]UTF-8 decode except that it does not strip one leading UTF-8 Byte Order Mark (BOM) + The [1775]encode algorithm which takes a character stream and an encoding and returns a byte stream + The [1776]UTF-8 encode algorithm which takes a character stream and returns a byte stream + The [1777]BOM sniff algorithm which takes a byte stream and returns an encoding or null.

XML and related specifications Implementations that support [1778]the XML syntax for HTML must support some version of XML, as well as its corresponding namespaces specification, because that syntax uses an XML serialization with namespaces. [1779][XML] [1780][XMLNS]

Data mining tools and other user agents that perform operations on content without running scripts, evaluating CSS or XPath expressions, or otherwise exposing the resulting DOM to arbitrary content, may "support namespaces" by just asserting that their DOM node analogues are in certain namespaces, without actually exposing the namespace strings.

In [1781]the HTML syntax, namespace prefixes and namespace declarations do not have the same effect as in XML. For instance, the colon has no special meaning in HTML element names. ___________________________________________________________

The attribute with the name [1782]space in the [1783]XML namespace is defined by Extensible Markup Language (XML). [1784][XML]

The [1785]Name production is defined in XML. [1786][XML]

This specification also references the [1787] processing instruction, defined in Associating Style Sheets with XML documents. [1788][XMLSSPI]

This specification also non-normatively mentions the XSLTProcessor interface and its transformToFragment() and transformToDocument() methods. [1789][XSLTP]

URLs The following terms are defined in URL: [1790][URL]

+ [1791]host + [1792]public suffix + [1793]domain + [1794]IP address + [1795]URL + [1796]Origin of URLs + [1797]Absolute URL + [1798]Relative URL + [1799]registrable domain + The [1800]URL parser + The [1801]basic URL parser and its [1802]url and [1803]state override arguments, as well as these parser states: o [1804]scheme start state o [1805]host state o [1806]hostname state o [1807]port state o [1808]path start state o [1809]query state o [1810]fragment state + [1811]URL record, as well as its individual components: o [1812]scheme o [1813]username o [1814]password o [1815]host o [1816]port o [1817]path o [1818]query o [1819]fragment o [1820]blob URL entry + [1821]valid URL string + The [1822]cannot have a username/password/port concept + The [1823]opaque path concept + [1824]URL serializer and its [1825]exclude fragment argument + [1826]URL path serializer + The [1827]host parser + The [1828]host serializer + [1829]Host equals + [1830]URL equals and its [1831]exclude fragments argument + [1832]serialize an integer + [1833]Default encode set + [1834]component percent-encode set + [1835]UTF-8 percent-encode + [1836]percent-decode + [1837]set the username + [1838]set the password + The [1839]application/x-www-form-urlencoded format + The [1840]application/x-www-form-urlencoded serializer + [1841]is special

A number of schemes and protocols are referenced by this specification also:

+ The [1842]about: scheme [1843][ABOUT] + The [1844]blob: scheme [1845][FILEAPI] + The [1846]data: scheme [1847][RFC2397] + The [1848]http: scheme [1849][HTTP] + The [1850]https: scheme [1851][HTTP] + The [1852]mailto: scheme [1853][MAILTO] + The [1854]sms: scheme [1855][SMS] + The [1856]urn: scheme [1857][URN]

[1858]Media fragment syntax is defined in Media Fragments URI. [1859][MEDIAFRAG]

HTTP and related specifications The following terms are defined in the HTTP specifications: [1860][HTTP]

+ `[1861]Accept` header + `[1862]Accept-Language` header + `[1863]Cache-Control` header + `[1864]Content-Disposition` header + `[1865]Content-Language` header + `[1866]Content-Range` header + `[1867]Last-Modified` header + `[1868]Range` header + `[1869]Referer` header

The following terms are defined in HTTP State Management Mechanism: [1870][COOKIES]

+ [1871]cookie-string + [1872]receives a set-cookie-string + `[1873]Cookie` header

The following term is defined in Web Linking: [1874][WEBLINK]

+ `[1875]Link` header + [1876]Parsing a `Link` field value

The following terms are defined in Structured Field Values for HTTP: [1877][STRUCTURED-FIELDS]

+ [1878]structured header + [1879]boolean + [1880]token + [1881]parameters

The following terms are defined in MIME Sniffing: [1882][MIMESNIFF]

+ [1883]MIME type + [1884]MIME type essence + [1885]valid MIME type string + [1886]valid MIME type string with no parameters + [1887]HTML MIME type + [1888]JavaScript MIME type and [1889]JavaScript MIME type essence match + [1890]JSON MIME type + [1891]XML MIME type + [1892]image MIME type + [1893]audio or video MIME type + [1894]font MIME type + [1895]parse a MIME type + [1896]is MIME type supported by the user agent?

Fetch The following terms are defined in Fetch: [1897][FETCH]

+ [1898]ABNF + about:blank + An [1899]HTTP(S) scheme + A URL which [1900]is local + A [1901]local scheme + A [1902]fetch scheme + [1903]CORS protocol + [1904]default `User-Agent` value + [1905]extract a MIME type + [1906]legacy extract an encoding + [1907]fetch + [1908]fetch controller + [1909]process the next manual redirect + [1910]ok status + [1911]navigation request + [1912]network error + [1913]aborted network error + `[1914]Origin` header + `[1915]Cross-Origin-Resource-Policy` header + [1916]getting a structured field value + [1917]header list + [1918]set + [1919]get, decode, and split + [1920]abort + [1921]cross-origin resource policy check + the [1922]RequestCredentials enumeration + the [1923]RequestDestination enumeration + the [1924]fetch() method + [1925]report timing + [1926]serialize a response URL for reporting + [1927]safely extracting a body + [1928]incrementally reading a body + [1929]processResponseConsumeBody + [1930]processResponseEndOfBody + [1931]processResponse + [1932]useParallelQueue + [1933]processEarlyHintsResponse + [1934]connection pool + [1935]obtain a connection + [1936]determine the network partition key + [1937]extract full timing info + [1938]as a body + [1939]response body info + [1940]resolve an origin + [1941]response and its associated: o [1942]type o [1943]URL o [1944]URL list o [1945]status o [1946]header list o [1947]body o [1948]body info o [1949]internal response o [1950]location URL o [1951]timing info o [1952]service worker timing info o [1953]has-cross-origin-redirects o [1954]timing allow passed o [1955]extract content-range values + [1956]request and its associated: o [1957]URL o [1958]method o [1959]header list o [1960]body o [1961]client o [1962]URL list o [1963]current URL o [1964]reserved client o [1965]replaces client id o [1966]initiator o [1967]destination o [1968]potential destination o [1969]translating a [1970]potential destination o [1971]script-like [1972]destinations o [1973]priority o [1974]origin o [1975]referrer o [1976]synchronous flag o [1977]mode o [1978]credentials mode o [1979]use-URL-credentials flag o [1980]unsafe-request flag o [1981]cache mode o [1982]redirect count o [1983]redirect mode o [1984]policy container o [1985]referrer policy o [1986]cryptographic nonce metadata o [1987]integrity metadata o [1988]parser metadata o [1989]reload-navigation flag o [1990]history-navigation flag o [1991]user-activation o [1992]render-blocking o [1993]initiator type o [1994]add a range header + [1995]fetch timing info and its associated: o [1996]start time o [1997]end time

The following terms are defined in Referrer Policy: [1998][REFERRERPOLICY]

+ [1999]referrer policy + The `[2000]Referrer-Policy` HTTP header + The [2001]parse a referrer policy from a `Referrer-Policy` header algorithm + The "[2002]no-referrer", "[2003]no-referrer-when-downgrade", "[2004]origin-when-cross-origin", and "[2005]unsafe-url" referrer policies + The [2006]default referrer policy

The following terms are defined in Mixed Content: [2007][MIX]

+ [2008]a priori authenticated URL

The following terms are defined in Subresource Integrity: [2009][SRI]

+ [2010]parse integrity metadata + [2011]the requirements of the integrity attribute + [2012]get the strongest metadata from set

Paint Timing The following terms are defined in Paint Timing: [2013][PAINTTIMING]

+ [2014]mark paint timing

Navigation Timing The following terms are defined in Navigation Timing: [2015][NAVIGATIONTIMING]

+ [2016]create the navigation timing entry + [2017]queue the navigation timing entry + [2018]NavigationTimingType and its "[2019]navigate", "[2020]reload", and "[2021]back_forward" values.

Resource Timing The following terms are defined in Resource Timing: [2022][RESOURCETIMING]

+ [2023]Mark resource timing

Performance Timeline The following terms are defined in Performance Timeline: [2024][PERFORMANCETIMELINE]

+ [2025]PerformanceEntry and its [2026]name, [2027]entryType, [2028]startTime, and [2029]duration attributes. + [2030]Queue a performance entry

Long Animation Frames The following terms are defined in Long Animation Frames: [2031][LONGANIMATIONFRAMES]

+ [2032]record task start time + [2033]record task end time + [2034]record rendering time + [2035]record classic script creation time + [2036]record classic script execution start time + [2037]record module script execution start time + [2038]Record pause duration + [2039]record timing info for timer handler + [2040]record timing info for microtask checkpoint

Long Tasks The following terms are defined in Long Tasks: [2041][LONGTASKS]

+ [2042]report long tasks

Web IDL The IDL fragments in this specification must be interpreted as required for conforming IDL fragments, as described in Web IDL. [2043][WEBIDL]

The following terms are defined in Web IDL:

+ [2044]this + [2045]extended attribute + [2046]named constructor + [2047]constructor operation + [2048]overridden constructor steps + [2049]internally create a new object implementing the interface + [2050]array index property name + [2051]buffer source byte length + [2052]supports indexed properties + [2053]supported property indices + [2054]determine the value of an indexed property + [2055]set the value of an existing indexed property + [2056]set the value of a new indexed property + [2057]support named properties + [2058]supported property names + [2059]determine the value of a named property + [2060]set the value of an existing named property + [2061]set the value of a new named property + [2062]delete an existing named property + [2063]perform a security check + [2064]platform object + [2065]legacy platform object + [2066]primary interface + [2067]interface object + [2068]named properties object + [2069]include + [2070]inherit + [2071]interface prototype object + [2072]implements + [2073]associated realm + [2074][[Realm]] field of a platform object + [2075][[GetOwnProperty]] internal method of a named properties object + [2076]callback context + [2077]frozen array and [2078]creating a frozen array + [2079]create a new object implementing the interface + [2080]callback this value + [2081]converting between Web IDL types and JS types + [2082]invoking and [2083]constructing callback functions + [2084]overload resolution algorithm + [2085]exposed + [2086]a promise resolved with + [2087]a promise rejected with + [2088]wait for all + [2089]upon rejection + [2090]upon fulfillment + [2091]mark as handled + [2092][Global] + [2093][LegacyFactoryFunction] + [2094][LegacyLenientThis] + [2095][LegacyNullToEmptyString] + [2096][LegacyOverrideBuiltIns] + [2097]LegacyPlatformObjectGetOwnProperty + [2098][LegacyTreatNonObjectAsNull] + [2099][LegacyUnenumerableNamedProperties] + [2100][LegacyUnforgeable] + [2101]set entries

Web IDL also defines the following types that are used in Web IDL fragments in this specification:

+ [2102]ArrayBuffer + [2103]ArrayBufferView + [2104]boolean + [2105]DOMString + [2106]double + [2107]enumeration + [2108]Float16Array + [2109]Function + [2110]long + [2111]object + [2112]Promise + [2113]Uint8ClampedArray + [2114]unrestricted double + [2115]unsigned long + [2116]USVString + [2117]VoidFunction

The term [2118]throw in this specification is used as defined in Web IDL. The [2119]DOMException type and the following exception names are defined by Web IDL and used by this specification:

+ [2120]"IndexSizeError" + [2121]"HierarchyRequestError" + [2122]"InvalidCharacterError" + [2123]"NoModificationAllowedError" + [2124]"NotFoundError" + [2125]"NotSupportedError" + [2126]"InvalidStateError" + [2127]"SyntaxError" + [2128]"InvalidAccessError" + [2129]"SecurityError" + [2130]"NetworkError" + [2131]"AbortError" + [2132]"QuotaExceededError" + [2133]"DataCloneError" + [2134]"EncodingError" + [2135]"NotAllowedError"

When this specification requires a user agent to create a Date object representing a particular time (which could be the special value Not-a-Number), the milliseconds component of that time, if any, must be truncated to an integer, and the time value of the newly created [2136]Date object must represent the resulting truncated time.

For instance, given the time 23045 millionths of a second after 01:00 UTC on January 1st 2000, i.e. the time 2000-01-01T00:00:00.023045Z, then the [2137]Date object created representing that time would represent the same time as that created representing the time 2000-01-01T00:00:00.023Z, 45 millionths earlier. If the given time is NaN, then the result is a [2138]Date object that represents a time value NaN (indicating that the object does not represent a specific instant of time).

JavaScript Some parts of the language described by this specification only support JavaScript as the underlying scripting language. [2139][JAVASCRIPT]

The term "JavaScript" is used to refer to ECMA-262, rather than the official term ECMAScript, since the term JavaScript is more widely known.

The following terms are defined in the JavaScript specification and used in this specification:

+ [2140]active function object + [2141]agent and [2142]agent cluster + [2143]automatic semicolon insertion + [2144]candidate execution + The [2145]current realm + [2146]clamping a mathematical value + [2147]early error + [2148]forward progress + [2149]invariants of the essential internal methods + [2150]JavaScript execution context + [2151]JavaScript execution context stack + [2152]realm + [2153]JobCallback Record + [2154]NewTarget + [2155]running JavaScript execution context + [2156]surrounding agent + [2157]abstract closure + [2158]immutable prototype exotic object + [2159]Well-Known Symbols, including %Symbol.hasInstance%, %Symbol.isConcatSpreadable%, %Symbol.toPrimitive%, and %Symbol.toStringTag% + [2160]Well-Known Intrinsic Objects, including [2161]%Array.prototype%, [2162]%Error.prototype%, %EvalError.prototype%, [2163]%Function.prototype%, [2164]%Object.prototype%, [2165]%Object.prototype.valueOf%, %RangeError.prototype%, %ReferenceError.prototype%, %SyntaxError.prototype%, %TypeError.prototype%, and %URIError.prototype% + The [2166]FunctionBody production + The [2167]Module production + The [2168]Pattern production + The [2169]Script production + The [2170]BigInt, [2171]Boolean, [2172]Number, [2173]String, [2174]Symbol, and [2175]Object ECMAScript language types + The [2176]Completion Record specification type + The [2177]List and [2178]Record specification types + The [2179]Property Descriptor specification type + The [2180]ModuleRequest Record specification type + The [2181]Script Record specification type + The [2182]Synthetic Module Record specification type + The [2183]Cyclic Module Record specification type + The [2184]Source Text Module Record specification type and its [2185]Evaluate, [2186]Link and [2187]LoadRequestedModules methods + The [2188]ArrayCreate abstract operation + The [2189]Call abstract operation + The [2190]ClearKeptObjects abstract operation + The [2191]CleanupFinalizationRegistry abstract operation + The [2192]Construct abstract operation + The [2193]CopyDataBlockBytes abstract operation + The [2194]CreateBuiltinFunction abstract operation + The [2195]CreateByteDataBlock abstract operation + The [2196]CreateDataProperty abstract operation + The [2197]CreateDefaultExportSyntheticModule abstract operation + The [2198]DefinePropertyOrThrow abstract operation + The [2199]DetachArrayBuffer abstract operation + The [2200]EnumerableOwnProperties abstract operation + The [2201]FinishLoadingImportedModule abstract operation + The [2202]OrdinaryFunctionCreate abstract operation + The [2203]Get abstract operation + The [2204]GetActiveScriptOrModule abstract operation + The [2205]GetFunctionRealm abstract operation + The [2206]HasOwnProperty abstract operation + The [2207]HostCallJobCallback abstract operation + The [2208]HostEnqueueFinalizationRegistryCleanupJob abstract operation + The [2209]HostEnqueueGenericJob abstract operation + The [2210]HostEnqueuePromiseJob abstract operation + The [2211]HostEnqueueTimeoutJob abstract operation + The [2212]HostEnsureCanAddPrivateElement abstract operation + The [2213]HostGetSupportedImportAttributes abstract operation + The [2214]HostLoadImportedModule abstract operation + The [2215]HostMakeJobCallback abstract operation + The [2216]HostPromiseRejectionTracker abstract operation + The [2217]InitializeHostDefinedRealm abstract operation + The [2218]IsArrayBufferViewOutOfBounds abstract operation + The [2219]IsAccessorDescriptor abstract operation + The [2220]IsCallable abstract operation + The [2221]IsConstructor abstract operation + The [2222]IsDataDescriptor abstract operation + The [2223]IsDetachedBuffer abstract operation + The [2224]IsSharedArrayBuffer abstract operation + The [2225]NewObjectEnvironment abstract operation + The [2226]NormalCompletion abstract operation + The [2227]OrdinaryGetPrototypeOf abstract operation + The [2228]OrdinarySetPrototypeOf abstract operation + The [2229]OrdinaryIsExtensible abstract operation + The [2230]OrdinaryPreventExtensions abstract operation + The [2231]OrdinaryGetOwnProperty abstract operation + The [2232]OrdinaryDefineOwnProperty abstract operation + The [2233]OrdinaryGet abstract operation + The [2234]OrdinarySet abstract operation + The [2235]OrdinaryDelete abstract operation + The [2236]OrdinaryOwnPropertyKeys abstract operation + The [2237]OrdinaryObjectCreate abstract operation + The [2238]ParseJSONModule abstract operation + The [2239]ParseModule abstract operation + The [2240]ParseScript abstract operation + The [2241]NewPromiseReactionJob abstract operation + The [2242]NewPromiseResolveThenableJob abstract operation + The [2243]RegExpBuiltinExec abstract operation + The [2244]RegExpCreate abstract operation + The [2245]RunJobs abstract operation + The [2246]SameValue abstract operation + The [2247]ScriptEvaluation abstract operation + The [2248]SetSyntheticModuleExport abstract operation + The [2249]SetImmutablePrototype abstract operation + The [2250]ToBoolean abstract operation + The [2251]ToString abstract operation + The [2252]ToUint32 abstract operation + The [2253]TypedArrayCreate abstract operation + The [2254]IsLooselyEqual abstract operation + The [2255]IsStrictlyEqual abstract operation + The [2256]Atomics object + The [2257]Atomics.waitAsync object + The [2258]Date class + The [2259]FinalizationRegistry class + The [2260]RegExp class + The [2261]SharedArrayBuffer class + The [2262]SyntaxError class + The [2263]TypeError class + The [2264]RangeError class + The [2265]WeakRef class + The [2266]eval() function + The [2267]WeakRef.prototype.deref() function + The [2268][[IsHTMLDDA]] internal slot + [2269]import() + [2270]import.meta + The [2271]HostGetImportMetaProperties abstract operation + The [2272]typeof operator + The [2273]delete operator + [2274]The TypedArray Constructors table

Users agents that support JavaScript must also implement the Dynamic Code Brand Checks proposal. The following terms are defined there, and used in this specification: [2275][JSDYNAMICCODEBRANDCHECKS]

+ The [2276]HostEnsureCanCompileStrings abstract operation + The [2277]HostGetCodeForEval abstract operation

Users agents that support JavaScript must also implement ECMAScript Internationalization API. [2278][JSINTL]

User agents that support JavaScript must also implement the Temporal proposal. The following terms are defined there, and used in this specification: [2279][JSTEMPORAL]

+ The [2280]HostSystemUTCEpochNanoseconds abstract operation + The [2281]nsMaxInstant and [2282]nsMinInstant values

WebAssembly The following term is defined in WebAssembly JavaScript Interface: [2283][WASMJS]

+ [2284]WebAssembly.Module

DOM The Document Object Model (DOM) is a representation — a model — of a document and its content. The DOM is not just an API; the conformance criteria of HTML implementations are defined, in this specification, in terms of operations on the DOM. [2285][DOM]

Implementations must support DOM and the events defined in UI Events, because this specification is defined in terms of the DOM, and some of the features are defined as extensions to the DOM interfaces. [2286][DOM] [2287][UIEVENTS]

In particular, the following features are defined in DOM: [2288][DOM]

+ [2289]Attr interface + [2290]CharacterData interface + [2291]Comment interface + [2292]DOMImplementation interface + [2293]Document interface and its [2294]doctype attribute + [2295]DocumentOrShadowRoot interface + [2296]DocumentFragment interface + [2297]DocumentType interface + [2298]ChildNode interface + [2299]Element interface + [2300]attachShadow() method. + An element's [2301]shadow root + A [2302]shadow root's [2303]mode + A [2304]shadow root's [2305]declarative member + The [2306]attach a shadow root algorithm + The [2307]retargeting algorithm + [2308]Node interface + [2309]NodeList interface + [2310]ProcessingInstruction interface + [2311]ShadowRoot interface + [2312]Text interface + [2313]Range interface + [2314]node document concept + [2315]document type concept + [2316]host concept + The [2317]shadow root concept, and its [2318]delegates focus, [2319]available to element internals, [2320]clonable, [2321]serializable, [2322]custom element registry, and [2323]keep custom element registry null. + The [2324]shadow host concept + [2325]HTMLCollection interface, its [2326]length attribute, and its [2327]item() and [2328]namedItem() methods + The terms [2329]collection and [2330]represented by the collection + [2331]DOMTokenList interface, and its [2332]value attribute and [2333]supports operation + [2334]createDocument() method + [2335]createHTMLDocument() method + [2336]createElement() method + [2337]createElementNS() method + [2338]getElementById() method + [2339]getElementsByClassName() method + [2340]append() method + [2341]appendChild() method + [2342]cloneNode() method + [2343]moveBefore() method + [2344]importNode() method + [2345]preventDefault() method + [2346]id attribute + [2347]setAttribute() method + [2348]textContent attribute + The [2349]tree, [2350]shadow tree, and [2351]node tree concepts + The [2352]tree order and [2353]shadow-including tree order concepts + The [2354]element concept + The [2355]child concept + The [2356]root and [2357]shadow-including root concepts + The [2358]inclusive ancestor, [2359]descendant, [2360]shadow-including ancestor, [2361]shadow-including descendant, [2362]shadow-including inclusive descendant, and [2363]shadow-including inclusive ancestor concepts + The [2364]first child, [2365]next sibling, [2366]previous sibling, and [2367]parent concepts + The [2368]parent element concept + The [2369]document element concept + The [2370]in a document tree, [2371]in a document (legacy), and [2372]connected concepts + The [2373]slot concept, and its [2374]name and [2375]assigned nodes + The [2376]assigned slot concept + The [2377]slot assignment concept + The [2378]slottable concept + The [2379]assign slottables for a tree algorithm + The [2380]slotchange event + The [2381]inclusive descendant concept + The [2382]find flattened slottables algorithm + The [2383]manual slot assignment concept + The [2384]assign a slot algorithm + The [2385]pre-insert, [2386]insert, [2387]append, [2388]replace, [2389]replace all, [2390]string replace all, [2391]remove, and [2392]adopt algorithms for nodes + The [2393]descendant concept + The [2394]insertion steps, + The [2395]post-connection steps, [2396]removing steps, [2397]moving steps, [2398]adopting steps, and [2399]children changed steps hooks for elements + The [2400]change, [2401]append, [2402]remove, [2403]replace, [2404]get an attribute by namespace and local name, [2405]set value, and [2406]remove an attribute by namespace and local name algorithms for attributes + The [2407]attribute change steps hook for attributes + The [2408]value concept for attributes + The [2409]local name concept for attributes + The [2410]attribute list concept + The [2411]data of a [2412]CharacterData node and its [2413]replace data algorithm + The [2414]child text content of a node + The [2415]descendant text content of a node + The [2416]name, [2417]public ID, and [2418]system ID of a doctype + [2419]Event interface + [2420]Event and derived interfaces constructor behavior + [2421]EventTarget interface + The [2422]activation behavior hook + The [2423]legacy-pre-activation behavior hook + The [2424]legacy-canceled-activation behavior hook + The [2425]create an event algorithm + The [2426]fire an event algorithm + The [2427]canceled flag + The [2428]dispatch flag + The [2429]dispatch algorithm + [2430]EventInit dictionary type + [2431]type attribute + An event's [2432]target + [2433]currentTarget attribute + [2434]bubbles attribute + [2435]cancelable attribute + [2436]composed attribute + [2437]composed flag + [2438]isTrusted attribute + [2439]initEvent() method + [2440]add an event listener + [2441]addEventListener() method + The [2442]remove an event listener and [2443]remove all event listeners algorithms + [2444]EventListener callback interface + The [2445]type of an event + An [2446]event listener and its [2447]type and [2448]callback + The [2449]encoding (herein the character encoding), [2450]mode, [2451]custom element registry, [2452]allow declarative shadow roots, and [2453]content type of a [2454]Document + The distinction between [2455]XML documents and [2456]HTML documents + The terms [2457]quirks mode, [2458]limited-quirks mode, and [2459]no-quirks mode + The algorithm [2460]clone a node with its arguments [2461]document, [2462]subtree, [2463]parent, and [2464]fallbackRegistry, and the concept of [2465]cloning steps + The concept of base URL change steps and the definition of what happens when an element is affected by a base URL change + The concept of an element's [2466]unique identifier (ID) + The concept of an element's [2467]classes + The term [2468]supported tokens + The concept of a DOM [2469]range, and the terms [2470]start node, [2471]start, [2472]end, and [2473]boundary point as applied to ranges. + The [2474]create an element algorithm + The [2475]element interface concept + The concepts of [2476]custom element state, and of [2477]defined and [2478]custom elements + An element's [2479]namespace, [2480]namespace prefix, [2481]local name, [2482]custom element registry, [2483]custom element definition, and [2484]is value + [2485]MutationObserver interface and [2486]mutation observers in general + [2487]AbortController and its [2488]signal + [2489]AbortSignal + [2490]aborted + [2491]signal abort + [2492]add + The [2493]get an attribute by name algorithm

The following features are defined in UI Events: [2494][UIEVENTS]

+ The [2495]MouseEvent interface + The [2496]MouseEvent interface's [2497]relatedTarget attribute + [2498]MouseEventInit dictionary type + The [2499]FocusEvent interface + The [2500]FocusEvent interface's [2501]relatedTarget attribute + The [2502]UIEvent interface + The [2503]UIEvent interface's [2504]view attribute + [2505]auxclick event + [2506]beforeinput event + [2507]click event + [2508]contextmenu event + [2509]dblclick event + [2510]input event + [2511]mousedown event + [2512]mouseenter event + [2513]mouseleave event + [2514]mousemove event + [2515]mouseout event + [2516]mouseover event + [2517]mouseup event + [2518]wheel event + [2519]keydown event + [2520]keypress event + [2521]keyup event

The following features are defined in Touch Events: [2522][TOUCH]

+ [2523]Touch interface + [2524]Touch point concept + [2525]touchend event

The following features are defined in Pointer Events: [2526][POINTEREVENTS]

+ The [2527]PointerEvent interface + The [2528]PointerEvent interface's [2529]pointerType attribute + [2530]fire a pointer event + [2531]pointerdown event + [2532]pointerup event + [2533]pointercancel event

The following events are defined in Clipboard API and events: [2534][CLIPBOARD-APIS]

+ [2535]copy event + [2536]cut event + [2537]paste event

This specification sometimes uses the term name to refer to the event's [2538]type; as in, "an event named click" or "if the event name is keypress". The terms "name" and "type" for events are synonymous.

The following features are defined in DOM Parsing and Serialization: [2539][DOMPARSING]

+ [2540]XML serialization

The following features are defined in Selection API: [2541][SELECTION]

+ [2542]selection + [2543]Selection

User agents are encouraged to implement the features described in execCommand. [2544][EXECCOMMAND]

The following features are defined in Fullscreen API: [2545][FULLSCREEN]

+ [2546]requestFullscreen() + [2547]fullscreenchange + [2548]run the fullscreen steps + [2549]fully exit fullscreen + [2550]fullscreen element + [2551]fullscreen flag

High Resolution Time provides the following features: [2552][HRT]

+ [2553]current high resolution time + [2554]relative high resolution time + [2555]unsafe shared current time + [2556]shared monotonic clock + [2557]unsafe moment + [2558]duration from + [2559]coarsen time + [2560]current wall time + [2561]Unix epoch + [2562]DOMHighResTimeStamp

File API This specification uses the following features defined in File API: [2563][FILEAPI]

+ The [2564]Blob interface and its [2565]type attribute + The [2566]File interface and its [2567]name and [2568]lastModified attributes + The [2569]FileList interface + The concept of a [2570]Blob's [2571]snapshot state + The concept of read errors + [2572]Blob URL Store + [2573]blob URL entry and its [2574]environment + The [2575]obtain a blob object algorithm

Indexed Database API The following terms are defined in Indexed Database API: [2576][INDEXEDDB]

+ [2577]cleanup Indexed Database transactions + [2578]IDBVersionChangeEvent

Media Source Extensions The following terms are defined in Media Source Extensions: [2579][MEDIASOURCE]

+ [2580]MediaSource interface + [2581]detaching from a media element

Media Capture and Streams The following terms are defined in Media Capture and Streams: [2582][MEDIASTREAM]

+ [2583]MediaStream interface + [2584]MediaStreamTrack + [2585]live state + [2586]getUserMedia()

Reporting The following terms are defined in Reporting: [2587][REPORTING]

+ [2588]Queue a report + [2589]report type + [2590]visible to ReportingObservers

XMLHttpRequest The following features and terms are defined in XMLHttpRequest: [2591][XHR]

+ The [2592]XMLHttpRequest interface, and its [2593]responseXML attribute + The [2594]ProgressEvent interface, and its [2595]lengthComputable, [2596]loaded, and [2597]total attributes + The [2598]FormData interface, and its associated [2599]entry list

Battery Status The following features are defined in Battery Status API: [2600][BATTERY]

+ [2601]getBattery() method

Media Queries Implementations must support Media Queries. The [2602] feature is defined therein. [2603][MQ]

CSS modules While support for CSS as a whole is not required of implementations of this specification (though it is encouraged, at least for web browsers), some features are defined in terms of specific CSS requirements.

When this specification requires that something be [2604]parsed according to a particular CSS grammar, the relevant algorithm in CSS Syntax must be followed, including error handling rules. [2605][CSSSYNTAX]

For example, user agents are required to close all open constructs upon finding the end of a style sheet unexpectedly. Thus, when parsing the string "rgb(0,0,0" (with a missing close-parenthesis) for a color value, the close parenthesis is implied by this error handling rule, and a value is obtained (the color 'black'). However, the similar construct "rgb(0,0," (with both a missing parenthesis and a missing "blue" value) cannot be parsed, as closing the open construct does not result in a viable value.

The following terms and features are defined in Cascading Style Sheets (CSS): [2606][CSS]

+ [2607]viewport + [2608]line box + [2609]out-of-flow + [2610]in-flow + [2611]collapsing margins + [2612]containing block + [2613]inline box + [2614]block box + The [2615]'top', [2616]'bottom', [2617]'left', and [2618]'right' properties + The [2619]'float' property + The [2620]'clear' property + The [2621]'width' property + The [2622]'height' property + The [2623]'min-width' property + The [2624]'min-height' property + The [2625]'max-width' property + The [2626]'max-height' property + The [2627]'line-height' property + The [2628]'vertical-align' property + The [2629]'content' property + The [2630]'inline-block' value of the [2631]'display' property + The [2632]'visibility' property

The basic version of the [2633]'display' property is defined in CSS, and the property is extended by other CSS modules. [2634][CSS] [2635][CSSRUBY] [2636][CSSTABLE]

The following terms and features are defined in CSS Box Model: [2637][CSSBOX]

+ [2638]content area + [2639]content box + [2640]border box + [2641]margin box + [2642]border edge + [2643]margin edge + The [2644]'margin-top', [2645]'margin-bottom', [2646]'margin-left', and [2647]'margin-right' properties + The [2648]'padding-top', [2649]'padding-bottom', [2650]'padding-left', and [2651]'padding-right' properties

The following features are defined in CSS Logical Properties: [2652][CSSLOGICAL]

+ The [2653]'margin-block', [2654]'margin-block-start', [2655]'margin-block-end', [2656]'margin-inline', [2657]'margin-inline-start', and [2658]'margin-inline-end' properties + The [2659]'padding-block', [2660]'padding-block-start', [2661]'padding-block-end', [2662]'padding-inline', [2663]'padding-inline-start', and [2664]'padding-inline-end' properties + The [2665]'border-block-width', [2666]'border-block-start-width', [2667]'border-block-end-width', [2668]'border-inline-width', [2669]'border-inline-start-width', [2670]'border-inline-end-width', [2671]'border-block-style', [2672]'border-block-start-style', [2673]'border-block-end-style', [2674]'border-inline-style', [2675]'border-inline-start-style', [2676]'border-inline-end-style', [2677]'border-block-start-color', [2678]'border-block-end-color', [2679]'border-inline-start-color', [2680]'border-inline-end-color', [2681]'border-start-start-radius', [2682]'border-start-end-radius', [2683]'border-end-start-radius', and [2684]'border-end-end-radius' properties + The [2685]'block-size' property + The [2686]'inline-size' property + The [2687]'inset-block-start' property + The [2688]'inset-block-end' property

The following terms and features are defined in CSS Color: [2689][CSSCOLOR]

+ [2690]named color + [2691] + The [2692]'color' property + The [2693]'currentcolor' value + [2694]opaque black + [2695]transparent black + [2696]'srgb' color space + [2697]'display-p3' color space + [2698]'relative-colorimetric' rendering intent + [2699]parse a CSS value + [2700]serialize a CSS value including [2701]HTML-compatible serialization is requested + [2702]Converting Colors + [2703]'color()'

The following terms are defined in CSS Images: [2704][CSSIMAGES]

+ [2705]default object size + [2706]concrete object size + [2707]natural dimensions + [2708]natural height + [2709]natural width + The [2710]'image-orientation' property + [2711]'conic-gradient' + The [2712]'object-fit' property

The term [2713]paint source is used as defined in CSS Images Level 4 to define the interaction of certain HTML elements with the CSS 'element()' function. [2714][CSSIMAGES4]

The following features are defined in CSS Backgrounds and Borders: [2715][CSSBG]

+ The [2716]'background-color', [2717]'background-image', [2718]'background-repeat', [2719]'background-attachment', [2720]'background-position', [2721]'background-clip', [2722]'background-origin', and [2723]'background-size' properties + The [2724]'border-radius', [2725]'border-top-left-radius', [2726]'border-top-right-radius', [2727]'border-bottom-right-radius', [2728]'border-bottom-left-radius' properties + The [2729]'border-image-source', [2730]'border-image-slice', [2731]'border-image-width', [2732]'border-image-outset', and [2733]'border-image-repeat' properties

CSS Backgrounds and Borders also defines the following border properties: [2734][CSSBG]

CAPTION: Border properties

Top Bottom Left Right Width [2735]'border-top-width' [2736]'border-bottom-width' [2737]'border-left-width' [2738]'border-right-width' Style [2739]'border-top-style' [2740]'border-bottom-style' [2741]'border-left-style' [2742]'border-right-style' Color [2743]'border-top-color' [2744]'border-bottom-color' [2745]'border-left-color' [2746]'border-right-color'

The following features are defined in CSS Box Alignment: [2747][CSSALIGN]

+ The [2748]'align-content' property + The [2749]'align-items' property + The [2750]'align-self' property + The [2751]'justify-self' property + The [2752]'justify-content' property + The [2753]'justify-items' property

The following terms and features are defined in CSS Display: [2754][CSSDISPLAY]

+ [2755]outer display type + [2756]inner display type + [2757]block-level + [2758]block container + [2759]formatting context + [2760]block formatting context + [2761]inline formatting context + [2762]replaced element + [2763]CSS box

The following features are defined in CSS Flexible Box Layout: [2764][CSSFLEXBOX]

+ The [2765]'flex-direction' property + The [2766]'flex-wrap' property

The following terms and features are defined in CSS Fonts: [2767][CSSFONTS]

+ [2768]first available font + The [2769]'font-family' property + The [2770]'font-weight' property + The [2771]'font-size' property + The [2772]'font' property + The [2773]'font-kerning' property + The [2774]'font-stretch' property + The [2775]'font-variant-caps' property + The [2776]'small-caps' value + The [2777]'all-small-caps' value + The [2778]'petite-caps' value + The [2779]'all-petite-caps' value + The [2780]'unicase' value + The [2781]'titling-caps' value + The [2782]'ultra-condensed' value + The [2783]'extra-condensed' value + The [2784]'condensed' value + The [2785]'semi-condensed' value + The [2786]'semi-expanded' value + The [2787]'expanded' value + The [2788]'extra-expanded' value + The [2789]'ultra-expanded' value

The following features are defined in CSS Grid Layout: [2790][CSSGRID]

+ The [2791]'grid-auto-columns' property + The [2792]'grid-auto-flow' property + The [2793]'grid-auto-rows' property + The [2794]'grid-column-gap' property + The [2795]'grid-row-gap' property + The [2796]'grid-template-areas' property + The [2797]'grid-template-columns' property + The [2798]'grid-template-rows' property

The following terms are defined in CSS Inline Layout: [2799][CSSINLINE]

+ [2800]alphabetic baseline + [2801]ascent metric + [2802]descent metric + [2803]em-over baseline + [2804]em-under baseline + [2805]hanging baseline + [2806]ideographic-under baseline

The following terms and features are defined in CSS Box Sizing: [2807][CSSSIZING]

+ [2808]fit-content inline size + [2809]'aspect-ratio' property + [2810]intrinsic size

The following features are defined in CSS Lists and Counters. [2811][CSSLISTS]

+ [2812]list item + The [2813]'counter-reset' property + The [2814]'counter-set' property + The [2815]'list-style-type' property

The following features are defined in CSS Overflow. [2816][CSSOVERFLOW]

+ The [2817]'overflow' property and its [2818]'hidden' value + The [2819]'text-overflow' property + The term [2820]scroll container

The following terms and features are defined in CSS Positioned Layout: [2821][CSSPOSITION]

+ [2822]absolutely-positioned + The [2823]'position' property and its [2824]'static' value + The [2825]top layer (an [2826]ordered set) + [2827]add an element to the top layer + [2828]request an element to be removed from the top layer + [2829]remove an element from the top layer immediately + [2830]process top layer removals

The following features are defined in CSS Multi-column Layout. [2831][CSSMULTICOL]

+ The [2832]'column-count' property + The [2833]'column-fill' property + The [2834]'column-gap' property + The [2835]'column-rule' property + The [2836]'column-width' property

The [2837]'ruby-base' value of the [2838]'display' property is defined in CSS Ruby Layout. [2839][CSSRUBY]

The following features are defined in CSS Table: [2840][CSSTABLE]

+ The [2841]'border-spacing' property + The [2842]'border-collapse' property + The [2843]'table-cell', [2844]'table-row', [2845]'table-caption', and [2846]'table' values of the [2847]'display' property

The following features are defined in CSS Text: [2848][CSSTEXT]

+ The [2849]content language concept + The [2850]'text-transform' property + The [2851]'white-space' property + The [2852]'text-align' property + The [2853]'letter-spacing' property + The [2854]'word-spacing' property

The following features are defined in CSS Writing Modes: [2855][CSSWM]

+ The [2856]'direction' property + The [2857]'unicode-bidi' property + The [2858]'writing-mode' property + The [2859]block flow direction, [2860]block axis, [2861]inline axis, [2862]block size, [2863]inline size, [2864]block-start, [2865]block-end, [2866]inline-start, [2867]inline-end, [2868]line-left, and [2869]line-right concepts

The following features are defined in CSS Basic User Interface: [2870][CSSUI]

+ The [2871]'outline' property + The [2872]'cursor' property + The [2873]'appearance' property, its [2874] non-terminal value type, its [2875]'textfield' value, and its [2876]'menulist-button' value. + The [2877]'field-sizing' property, and its [2878]'content' value. + The concept [2879]widget + The concept [2880]native appearance + The concept [2881]primitive appearance + The concept [2882]element with default preferred size + The [2883]non-devolvable widget and [2884]devolvable widget classification, and the related [2885]devolved widget state. + The [2886]'pointer-events' property + The [2887]'user-select' property

The algorithm to [2888]update animations and send events is defined in Web Animations. [2889][WEBANIMATIONS]

Implementations that support scripting must support the CSS Object Model. The following features and terms are defined in the CSSOM specifications: [2890][CSSOM] [2891][CSSOMVIEW]

+ [2892]Screen interface + [2893]LinkStyle interface + [2894]CSSStyleDeclaration interface + [2895]style IDL attribute + [2896]cssText attribute of [2897]CSSStyleDeclaration + [2898]StyleSheet interface + [2899]CSSStyleSheet interface + [2900]create a CSS style sheet + [2901]remove a CSS style sheet + [2902]associated CSS style sheet + [2903]create a constructed CSSStyleSheet + [2904]synchronously replace the rules of a CSSStyleSheet + [2905]disable a CSS style sheet + [2906]CSS style sheets and their properties: o [2907]type o [2908]location o [2909]parent CSS style sheet o [2910]owner node o [2911]owner CSS rule o [2912]media o [2913]title o [2914]alternate flag o [2915]disabled flag o [2916]CSS rules o [2917]origin-clean flag + [2918]CSS style sheet set + [2919]CSS style sheet set name + [2920]preferred CSS style sheet set name + [2921]change the preferred CSS style sheet set name + [2922]Serializing a CSS value + [2923]run the resize steps + [2924]run the scroll steps + [2925]evaluate media queries and report changes + [2926]Scroll a target into view + [2927]Scroll to the beginning of the document + The [2928]resize event + The [2929]scroll event + The [2930]scrollend event + [2931]set up browsing context features + The [2932]clientX and [2933]clientY extension attributes of the [2934]MouseEvent interface

The following features and terms are defined in CSS Syntax: [2935][CSSSYNTAX]

+ [2936]conformant style sheet + [2937]parse a list of component values + [2938]parse a comma-separated list of component values + [2939]component value + [2940]environment encoding + [2941]

The following terms are defined in Selectors: [2942][SELECTORS]

+ [2943]type selector + [2944]attribute selector + [2945]pseudo-class + [2946]:focus-visible pseudo-class + [2947]indicate focus + [2948]pseudo-element

The following features are defined in CSS Values and Units: [2949][CSSVALUES]

+ [2950] + The [2951]'em' unit + The [2952]'ex' unit + The [2953]'vw' unit + The [2954]'in' unit + The [2955]'px' unit + The [2956]'pt' unit + The [2957]'attr()' function + The [2958]math functions

The following features are defined in CSS View Transitions: [2959][CSSVIEWTRANSITIONS]

+ [2960]perform pending transition operations + [2961]rendering suppression for view transitions + [2962]activate view transition + [2963]ViewTransition + [2964]view transition page visibility change steps + [2965]resolving inbound cross-document view-transition + [2966]setting up a cross-document view-transition + [2967]can navigation trigger a cross-document view-transition?

The term [2968]style attribute is defined in CSS Style Attributes. [2969][CSSATTR]

The following terms are defined in the CSS Cascading and Inheritance: [2970][CSSCASCADE]

+ [2971]cascaded value + [2972]specified value + [2973]computed value + [2974]used value + [2975]cascade origin + [2976]Author Origin + [2977]User Origin + [2978]User Agent Origin + [2979]Animation Origin + [2980]Transition Origin + [2981]initial value

The [2982]CanvasRenderingContext2D object's use of fonts depends on the features described in the CSS Fonts and Font Loading specifications, including in particular FontFace objects and the [2983]font source concept. [2984][CSSFONTS] [2985][CSSFONTLOAD]

The following interfaces and terms are defined in Geometry Interfaces: [2986][GEOMETRY]

+ [2987]DOMMatrix interface, and associated [2988]m11 element, [2989]m12 element, [2990]m21 element, [2991]m22 element, [2992]m41 element, and [2993]m42 element + [2994]DOMMatrix2DInit and [2995]DOMMatrixInit dictionaries + The [2996]create a DOMMatrix from a dictionary and [2997]create a DOMMatrix from a 2D dictionary algorithms for [2998]DOMMatrix2DInit or [2999]DOMMatrixInit + The [3000]DOMPointInit dictionary, and associated [3001]x and [3002]y members + [3003]Matrix multiplication

The following terms are defined in the CSS Scoping: [3004][CSSSCOPING]

+ [3005]flat tree

The following terms and features are defined in CSS Color Adjustment: [3006][CSSCOLORADJUST]

+ [3007]'color-scheme' + [3008]page's supported color-schemes

The following terms are defined in CSS Pseudo-Elements: [3009][CSSPSEUDO]

+ [3010]'::details-content' + [3011]'::file-selector-button'

The following terms are defined in CSS Containment: [3012][CSSCONTAIN]

+ [3013]skips its contents + [3014]relevant to the user + [3015]proximity to the viewport + [3016]layout containment + [3017]'content-visibility' property + [3018]'auto' value for [3019]'content-visibility'

The following terms are defined in CSS Anchor Positioning: [3020][CSSANCHOR]

+ [3021]implicit anchor element

Intersection Observer The following term is defined in Intersection Observer: [3022][INTERSECTIONOBSERVER]

+ [3023]run the update intersection observations steps + [3024]IntersectionObserver + [3025]IntersectionObserverInit + [3026]observe + [3027]unobserve + [3028]isIntersecting + [3029]target

Resize Observer The following terms are defined in Resize Observer: [3030][RESIZEOBSERVER]

+ [3031]gather active resize observations at depth + [3032]has active resize observations + [3033]has skipped resize observations + [3034]broadcast active resize observations + [3035]deliver resize loop error

WebGL The following interfaces are defined in the WebGL specifications: [3036][WEBGL]

+ [3037]WebGLRenderingContext interface + [3038]WebGL2RenderingContext interface + [3039]WebGLContextAttributes dictionary

WebGPU The following interfaces are defined in WebGPU: [3040][WEBGPU]

+ [3041]GPUCanvasContext interface

WebVTT Implementations may support WebVTT as a text track format for subtitles, captions, metadata, etc., for media resources. [3042][WEBVTT]

The following terms, used in this specification, are defined in WebVTT:

+ [3043]WebVTT file + [3044]WebVTT file using cue text + [3045]WebVTT file using only nested cues + [3046]WebVTT parser + The [3047]rules for updating the display of WebVTT text tracks + The WebVTT [3048]text track cue writing direction + [3049]VTTCue interface

ARIA The role attribute is defined in Accessible Rich Internet Applications (ARIA), as are the following roles: [3050][ARIA]

+ [3051]button + [3052]presentation

In addition, the following aria-* content attributes are defined in ARIA: [3053][ARIA]

+ [3054]aria-checked + [3055]aria-describedby + [3056]aria-disabled + [3057]aria-label

Finally, the following terms are defined in ARIA: [3058][ARIA]

+ [3059]role + [3060]accessible name + The [3061]ARIAMixin interface, with its associated [3062]ARIAMixin getter steps and [3063]ARIAMixin setter steps hooks, and its [3064]role and [3065]aria* attributes

Content Security Policy The following terms are defined in Content Security Policy: [3066][CSP]

+ [3067]Content Security Policy + [3068]disposition + [3069]directive set + [3070]Content Security Policy directive + [3071]CSP list + The [3072]Content Security Policy syntax + [3073]enforce the policy + The [3074]parse a serialized Content Security Policy algorithm + The [3075]Run CSP initialization for a Document algorithm + The [3076]Run CSP initialization for a global object algorithm + The [3077]Should element's inline behavior be blocked by Content Security Policy? algorithm + The [3078]Should navigation request of type be blocked by Content Security Policy? algorithm + The [3079]Should navigation response to navigation request of type in target be blocked by Content Security Policy? algorithm + The [3080]report-uri directive + The [3081]EnsureCSPDoesNotBlockStringCompilation abstract operation + The [3082]Is base allowed for Document? algorithm + The [3083]frame-ancestors directive + The [3084]sandbox directive + The [3085]contains a header-delivered Content Security Policy property. + The [3086]Parse a response's Content Security Policies algorithm. + [3087]SecurityPolicyViolationEvent interface + The [3088]securitypolicyviolation event

Service Workers The following terms are defined in Service Workers: [3089][SW]

+ [3090]active worker + [3091]client message queue + [3092]control + [3093]handle fetch + [3094]match service worker registration + [3095]service worker + [3096]service worker client + [3097]service worker registration + [3098]ServiceWorker interface + [3099]ServiceWorkerContainer interface + [3100]ServiceWorkerGlobalScope interface + [3101]unregister

Secure Contexts The following algorithms are defined in Secure Contexts: [3102][SECURE-CONTEXTS]

+ [3103]Is url potentially trustworthy?

Permissions Policy The following terms are defined in Permissions Policy: [3104][PERMISSIONSPOLICY]

+ [3105]permissions policy + [3106]policy-controlled feature + [3107]container policy + [3108]serialized permissions policy + [3109]default allowlist + The [3110]creating a permissions policy algorithm + The [3111]creating a permissions policy from a response algorithm + The [3112]is feature enabled by policy for origin algorithm + The [3113]process permissions policy attributes algorithm

Payment Request API The following feature is defined in Payment Request API: [3114][PAYMENTREQUEST]

+ [3115]PaymentRequest interface

MathML While support for MathML as a whole is not required by this specification (though it is encouraged, at least for web browsers), certain features depend upon small parts of MathML being implemented. [3116][MATHML]

The following features are defined in Mathematical Markup Language (MathML):

+ [3117]MathML annotation-xml element + [3118]MathML math element + [3119]MathML merror element + [3120]MathML mi element + [3121]MathML mn element + [3122]MathML mo element + [3123]MathML ms element + [3124]MathML mtext element

SVG While support for SVG as a whole is not required by this specification (though it is encouraged, at least for web browsers), certain features depend upon parts of SVG being implemented.

User agents that implement SVG must implement the SVG 2 specification, and not any earlier revisions.

The following features are defined in the SVG 2 specification: [3125][SVG]

+ [3126]SVGElement interface + [3127]SVGImageElement interface + [3128]SVGScriptElement interface + [3129]SVGSVGElement interface + [3130]SVG a element + [3131]SVG desc element + [3132]SVG foreignObject element + [3133]SVG image element + [3134]SVG script element + [3135]SVG svg element + [3136]SVG title element + [3137]SVG use element + [3138]SVG text-rendering property

Filter Effects The following features are defined in Filter Effects: [3139][FILTERS]

+ [3140]

Compositing The following features are defined in Compositing and Blending: [3141][COMPOSITE]

+ [3142] + [3143] + [3144]source-over + [3145]copy

Cooperative Scheduling of Background Tasks The following features are defined in Cooperative Scheduling of Background Tasks: [3146][REQUESTIDLECALLBACK]

+ [3147]requestIdleCallback() + [3148]start an idle period algorithm

Screen Orientation The following terms are defined in Screen Orientation: [3149][SCREENORIENTATION]

+ [3150]screen orientation change steps

Storage The following terms are defined in Storage: [3151][STORAGE]

+ [3152]obtain a local storage bottle map + [3153]obtain a session storage bottle map + [3154]obtain a storage key for non-storage purposes + [3155]storage key equal + [3156]storage proxy map + [3157]legacy-clone a traversable storage shed

Web App Manifest The following features are defined in Web App Manifest: [3158][MANIFEST]

+ [3159]application manifest + [3160]installed web application + [3161]process the manifest

WebAssembly JavaScript Interface: ESM Integration The following terms are defined in WebAssembly JavaScript Interface: ESM Integration: [3162][WASMESM]

+ [3163]WebAssembly Module Record + [3164]parse a WebAssembly module

WebCodecs The following features are defined in WebCodecs: [3165][WEBCODECS]

+ [3166]VideoFrame interface. + [3167][[display width]] + [3168][[display height]]

WebDriver The following terms are defined in WebDriver: [3169][WEBDRIVER]

+ [3170]extension command + [3171]remote end steps + [3172]WebDriver error + [3173]WebDriver error code + [3174]invalid argument + [3175]getting a property + [3176]success + [3177]WebDriver's security considerations + [3178]current browsing context

WebDriver BiDi The following terms are defined in WebDriver BiDi: [3179][WEBDRIVERBIDI]

+ [3180]WebDriver BiDi navigation status + [3181]navigation status id + [3182]navigation status status + [3183]navigation status canceled + [3184]navigation status committed + [3185]navigation status pending + [3186]navigation status complete + [3187]navigation status url + [3188]navigation status suggested filename + [3189]WebDriver BiDi navigation aborted + [3190]WebDriver BiDi navigation committed + [3191]WebDriver BiDi navigation failed + [3192]WebDriver BiDi navigation started + [3193]WebDriver BiDi download started + [3194]WebDriver BiDi fragment navigated + [3195]WebDriver BiDi DOM content loaded + [3196]WebDriver BiDi load complete + [3197]WebDriver BiDi history updated + [3198]WebDriver BiDi navigable created + [3199]WebDriver BiDi navigable destroyed + [3200]WebDriver BiDi user prompt closed + [3201]WebDriver BiDi user prompt opened + [3202]WebDriver BiDi file dialog opened

Web Cryptography API The following terms are defined in Web Cryptography API: [3203][WEBCRYPTO]

+ [3204]generating a random UUID

WebSockets The following terms are defined in WebSockets: [3205][WEBSOCKETS]

+ [3206]WebSocket + [3207]make disappear

WebTransport The following terms are defined in WebTransport: [3208][WEBTRANSPORT]

+ [3209]WebTransport + [3210]context cleanup steps

Web Authentication: An API for accessing Public Key Credentials The following terms are defined in Web Authentication: An API for accessing Public Key Credentials: [3211][WEBAUTHN]

+ [3212]public key credential

Credential Management The following terms are defined in Credential Management: [3213][CREDMAN]

+ [3214]conditional mediation + [3215]credential + [3216]navigator.credentials.get()

Console The following terms are defined in Console: [3217][CONSOLE]

+ [3218]report a warning to the console

Web Locks API The following terms are defined in Web Locks API: [3219][WEBLOCKS]

+ [3220]locks + [3221]lock requests

Trusted Types This specification uses the following features defined in Trusted Types: [3222][TRUSTED-TYPES]

+ [3223]TrustedHTML + [3224]data + [3225]TrustedScript + [3226]data + [3227]TrustedScriptURL + [3228]Get Trusted Type compliant string

WebRTC API The following terms are defined in WebRTC API: [3229][WEBRTC]

+ [3230]RTCDataChannel + [3231]RTCPeerConnection

Picture-in-Picture API The following terms are defined in Picture-in-Picture API: [3232][PICTUREINPICTURE]

+ [3233]PictureInPictureWindow

Idle Detection API The following terms are defined in Idle Detection API:

+ [3234]IdleDetector

Web Speech API The following terms are defined in Web Speech API:

+ [3235]SpeechRecognition

WebOTP API The following terms are defined in WebOTP API:

+ [3236]OTPCredential

Web Share API The following terms are defined in Web Share API:

+ [3237]share()

Web Smart Card API The following terms are defined in Web Smart Card API:

+ [3238]SmartCardConnection

Web Background Synchronization The following terms are defined in Web Background Synchronization:

+ [3239]SyncManager + [3240]register()

Web Periodic Background Synchronization The following terms are defined in Web Periodic Background Synchronization:

+ [3241]PeriodicSyncManager + [3242]register()

Web Background Fetch The following terms are defined in Background Fetch:

+ [3243]BackgroundFetchManager + [3244]fetch()

Keyboard Lock The following terms are defined in Keyboard Lock:

+ [3245]Keyboard + [3246]lock()

Web MIDI API The following terms are defined in Web MIDI API:

+ [3247]requestMIDIAccess()

Generic Sensor API The following terms are defined in Generic Sensor API:

+ [3248]request sensor access

WebHID API The following terms are defined in WebHID API:

+ [3249]requestDevice

WebXR Device API The following terms are defined in WebXR Device API:

+ [3250]XRSystem __________________________________________________________________

This specification does not require support of any particular network protocol, style sheet language, scripting language, or any of the DOM specifications beyond those required in the list above. However, the language described by this specification is biased towards CSS as the styling language, JavaScript as the scripting language, and HTTP as the network protocol, and several features assume that those languages and protocols are in use.

A user agent that implements the HTTP protocol must implement HTTP State Management Mechanism (Cookies) as well. [3251][HTTP] [3252][COOKIES]

This specification might have certain additional requirements on character encodings, image formats, audio formats, and video formats in the respective sections.

2.1.10 Extensibility

Vendor-specific proprietary user agent extensions to this specification are strongly discouraged. Documents must not use such extensions, as doing so reduces interoperability and fragments the user base, allowing only users of specific user agents to access the content in question.

All extensions must be defined so that the use of extensions neither contradicts nor causes the non-conformance of functionality defined in the specification.

For example, while strongly discouraged from doing so, an implementation could add a new IDL attribute "typeTime" to a control that returned the time it took the user to select the current value of a control (say). On the other hand, defining a new control that appears in a form's [3253]elements array would be in violation of the above requirement, as it would violate the definition of [3254]elements given in this specification. __________________________________________________________________

When vendor-neutral extensions to this specification are needed, either this specification can be updated accordingly, or an extension specification can be written that overrides the requirements in this specification. When someone applying this specification to their activities decides that they will recognize the requirements of such an extension specification, it becomes an applicable specification for the purposes of conformance requirements in this specification.

Someone could write a specification that defines any arbitrary byte stream as conforming, and then claim that their random junk is conforming. However, that does not mean that their random junk actually is conforming for everyone's purposes: if someone else decides that that specification does not apply to their work, then they can quite legitimately say that the aforementioned random junk is just that, junk, and not conforming at all. As far as conformance goes, what matters in a particular community is what that community agrees is applicable. __________________________________________________________________

User agents must treat elements and attributes that they do not understand as semantically neutral; leaving them in the DOM (for DOM processors), and styling them according to CSS (for CSS processors), but not inferring any meaning from them.

When support for a feature is disabled (e.g. as an emergency measure to mitigate a security problem, or to aid in development, or for performance reasons), user agents must act as if they had no support for the feature whatsoever, and as if the feature was not mentioned in this specification. For example, if a particular feature is accessed via an attribute in a Web IDL interface, the attribute itself would be omitted from the objects that implement that interface — leaving the attribute on the object but making it return null or throw an exception is insufficient.

2.1.11 Interactions with XPath and XSLT

Implementations of XPath 1.0 that operate on [3255]HTML documents parsed or created in the manners described in this specification (e.g. as part of the document.evaluate() API) must act as if the following edit was applied to the XPath 1.0 specification.

First, remove this paragraph:

A [3256]QName in the node test is expanded into an [3257]expanded-name using the namespace declarations from the expression context. This is the same way expansion is done for element type names in start and end-tags except that the default namespace declared with xmlns is not used: if the [3258]QName does not have a prefix, then the namespace URI is null (this is the same way attribute names are expanded). It is an error if the [3259]QName has a prefix for which there is no namespace declaration in the expression context.

Then, insert in its place the following:

A QName in the node test is expanded into an expanded-name using the namespace declarations from the expression context. If the QName has a prefix, then there must be a namespace declaration for this prefix in the expression context, and the corresponding namespace URI is the one that is associated with this prefix. It is an error if the QName has a prefix for which there is no namespace declaration in the expression context.

If the QName has no prefix and the principal node type of the axis is element, then the default element namespace is used. Otherwise, if the QName has no prefix, the namespace URI is null. The default element namespace is a member of the context for the XPath expression. The value of the default element namespace when executing an XPath expression through the DOM3 XPath API is determined in the following way: 1. If the context node is from an HTML DOM, the default element namespace is "http://www.w3.org/1999/xhtml". 2. Otherwise, the default element namespace URI is null.

This is equivalent to adding the default element namespace feature of XPath 2.0 to XPath 1.0, and using the HTML namespace as the default element namespace for HTML documents. It is motivated by the desire to have implementations be compatible with legacy HTML content while still supporting the changes that this specification introduces to HTML regarding the namespace used for HTML elements, and by the desire to use XPath 1.0 rather than XPath 2.0.

This change is a [3260]willful violation of the XPath 1.0 specification, motivated by desire to have implementations be compatible with legacy content while still supporting the changes that this specification introduces to HTML regarding which namespace is used for HTML elements. [3261][XPATH10] __________________________________________________________________

XSLT 1.0 processors outputting to a DOM when the output method is "html" (either explicitly or via the defaulting rule in XSLT 1.0) are affected as follows:

If the transformation program outputs an element in no namespace, the processor must, prior to constructing the corresponding DOM element node, change the namespace of the element to the [3262]HTML namespace, [3263]ASCII-lowercase the element's local name, and [3264]ASCII-lowercase the names of any non-namespaced attributes on the element.

This requirement is a [3265]willful violation of the XSLT 1.0 specification, required because this specification changes the namespaces and case-sensitivity rules of HTML in a manner that would otherwise be incompatible with DOM-based XSLT transformations. (Processors that serialize the output are unaffected.) [3266][XSLT10] __________________________________________________________________

This specification does not specify precisely how XSLT processing interacts with the [3267]HTML parser infrastructure (for example, whether an XSLT processor acts as if it puts any elements into a [3268]stack of open elements). However, XSLT processors must [3269]stop parsing if they successfully complete, and must [3270]update the current document readiness first to "interactive" and then to "complete" if they are aborted. __________________________________________________________________

This specification does not specify how XSLT interacts with the [3271]navigation algorithm, how it fits in with the [3272]event loop, nor how error pages are to be handled (e.g. whether XSLT errors are to replace an incremental XSLT output, or are rendered inline, etc.).

There are also additional non-normative comments regarding the interaction of XSLT and HTML [3273]in the script element section, and of XSLT, XPath, and HTML [3274]in the template element section.

2.2 Policy-controlled features

(BUTTON) ⚠MDN

[3275]Headers/Permissions-Policy/document-domain

Support in one engine only. Firefox🔰 74+SafariNoChrome🔰 88+ __________________________________________________________________

Opera?Edge🔰 88+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome AndroidNoWebView Android?Samsung Internet?Opera Android?

This document defines the following [3276]policy-controlled features:

(BUTTON) MDN

[3277]Headers/Feature-Policy/autoplay Firefox🔰 74+SafariNoChrome64+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

[3278]Headers/Permissions-Policy/autoplay

Support in one engine only. Firefox🔰 74+SafariNoChrome88+ __________________________________________________________________

Opera?Edge88+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

* "autoplay", which has a [3279]default allowlist of 'self'. * "cross-origin-isolated", which has a [3280]default allowlist of 'self'. * "focus-without-user-activation", which has a [3281]default allowlist of 'self'.

2.3 Common microsyntaxes

There are various places in HTML that accept particular data types, such as dates or numbers. This section describes what the conformance criteria for content in those formats is, and how to parse them.

Implementers are strongly urged to carefully examine any third-party libraries they might consider using to implement the parsing of syntaxes described below. For example, date libraries are likely to implement error handling behavior that differs from what is required in this specification, since error-handling behavior is often not defined in specifications that describe date syntaxes similar to those used in this specification, and thus implementations tend to vary greatly in how they handle errors.

2.3.1 Common parser idioms

Some of the micro-parsers described below follow the pattern of having an input variable that holds the string being parsed, and having a position variable pointing at the next character to parse in input.

2.3.2 Boolean attributes

A number of attributes are boolean attributes. The presence of a boolean attribute on an element represents the true value, and the absence of the attribute represents the false value.

If the attribute is present, its value must either be the empty string or a value that is an [3282]ASCII case-insensitive match for the attribute's canonical name, with no leading or trailing whitespace.

The values "true" and "false" are not allowed on boolean attributes. To represent a false value, the attribute has to be omitted altogether.

Here is an example of a checkbox that is checked and disabled. The [3283]checked and [3284]disabled attributes are the boolean attributes.

This could be equivalently written as this:

You can also mix styles; the following is still equivalent:

2.3.3 Keywords and enumerated attributes

Some attributes, called enumerated attributes, take on a finite set of states. The state for such an attribute is derived by combining the attribute's value, a set of keyword/state mappings given in the specification of each attribute, and two possible special states that can also be given in the specification of the attribute. These special states are the invalid value default and the missing value default.

Multiple keywords can map to the same state.

The empty string can be a valid keyword. Note that the [3285]missing value default applies only when the attribute is missing, not when it is present with an empty string value.

To determine the state of an attribute, use the following steps: 1. If the attribute is not specified: 1. If the attribute has a [3286]missing value default state defined, then return that [3287]missing value default state. 2. Otherwise, return no state. 2. If the attribute's value is an [3288]ASCII case-insensitive match for one of the keywords defined for the attribute, then return the state represented by that keyword. 3. If the attribute has an [3289]invalid value default state defined, then return that [3290]invalid value default state. 4. Return no state.

For authoring conformance purposes, if an enumerated attribute is specified, the attribute's value must be an [3291]ASCII case-insensitive match for one of the conforming keywords for that attribute, with no leading or trailing whitespace.

For [3292]reflection purposes, states which have any keywords mapping to them are said to have a canonical keyword. This is determined as follows: * If there is only one keyword mapping to the given state, then it is that keyword. * If there is only one conforming keyword mapping to the given state, then it is that conforming keyword. * Otherwise, the canonical keyword for the state will be explicitly given in the specification for the attribute.

2.3.4 Numbers

2.3.4.1 Signed integers

A string is a valid integer if it consists of one or more [3293]ASCII digits, optionally prefixed with a U+002D HYPHEN-MINUS character (-).

A [3294]valid integer without a U+002D HYPHEN-MINUS (-) prefix represents the number that is represented in base ten by that string of digits. A [3295]valid integer with a U+002D HYPHEN-MINUS (-) prefix represents the number represented in base ten by the string of digits that follows the U+002D HYPHEN-MINUS, subtracted from zero.

The rules for parsing integers are as given in the following algorithm. When invoked, the steps must be followed in the order given, aborting at the first step that returns a value. This algorithm will return either an integer or an error. 1. Let input be the string being parsed. 2. Let position be a pointer into input, initially pointing at the start of the string. 3. Let sign have the value "positive". 4. [3296]Skip ASCII whitespace within input given position. 5. If position is past the end of input, return an error. 6. If the character indicated by position (the first character) is a U+002D HYPHEN-MINUS character (-): 1. Let sign be "negative". 2. Advance position to the next character. 3. If position is past the end of input, return an error. Otherwise, if the character indicated by position (the first character) is a U+002B PLUS SIGN character (+): 1. Advance position to the next character. (The "+" is ignored, but it is not conforming.) 2. If position is past the end of input, return an error. 7. If the character indicated by position is not an [3297]ASCII digit, then return an error. 8. [3298]Collect a sequence of code points that are [3299]ASCII digits from input given position, and interpret the resulting sequence as a base-ten integer. Let value be that integer. 9. If sign is "positive", return value, otherwise return the result of subtracting value from zero.

2.3.4.2 Non-negative integers

A string is a valid non-negative integer if it consists of one or more [3300]ASCII digits.

A [3301]valid non-negative integer represents the number that is represented in base ten by that string of digits.

The rules for parsing non-negative integers are as given in the following algorithm. When invoked, the steps must be followed in the order given, aborting at the first step that returns a value. This algorithm will return either zero, a positive integer, or an error. 1. Let input be the string being parsed. 2. Let value be the result of parsing input using the [3302]rules for parsing integers. 3. If value is an error, return an error. 4. If value is less than zero, return an error. 5. Return value.

2.3.4.3 Floating-point numbers

A string is a valid floating-point number if it consists of: 1. Optionally, a U+002D HYPHEN-MINUS character (-). 2. One or both of the following, in the given order: 1. A series of one or more [3303]ASCII digits. 2. Both of the following, in the given order: 1. A single U+002E FULL STOP character (.). 2. A series of one or more [3304]ASCII digits. 3. Optionally: 1. Either a U+0065 LATIN SMALL LETTER E character (e) or a U+0045 LATIN CAPITAL LETTER E character (E). 2. Optionally, a U+002D HYPHEN-MINUS character (-) or U+002B PLUS SIGN character (+). 3. A series of one or more [3305]ASCII digits.

A [3306]valid floating-point number represents the number obtained by multiplying the significand by ten raised to the power of the exponent, where the significand is the first number, interpreted as base ten (including the decimal point and the number after the decimal point, if any, and interpreting the significand as a negative number if the whole string starts with a U+002D HYPHEN-MINUS character (-) and the number is not zero), and where the exponent is the number after the E, if any (interpreted as a negative number if there is a U+002D HYPHEN-MINUS character (-) between the E and the number and the number is not zero, or else ignoring a U+002B PLUS SIGN character (+) between the E and the number if there is one). If there is no E, then the exponent is treated as zero.

The Infinity and Not-a-Number (NaN) values are not [3307]valid floating-point numbers.

The [3308]valid floating-point number concept is typically only used to restrict what is allowed for authors, while the user agent requirements use the [3309]rules for parsing floating-point number values below (e.g., the [3310]max attribute of the [3311]progress element). However, in some cases the user agent requirements include checking if a string is a [3312]valid floating-point number (e.g., the [3313]value sanitization algorithm for the [3314]Number state of the [3315]input element, or the [3316]parse a srcset attribute algorithm).

The best representation of the number n as a floating-point number is the string obtained from running [3317]ToString(n). The abstract operation [3318]ToString is not uniquely determined. When there are multiple possible strings that could be obtained from [3319]ToString for a particular value, the user agent must always return the same string for that value (though it may differ from the value used by other user agents).

The rules for parsing floating-point number values are as given in the following algorithm. This algorithm must be aborted at the first step that returns something. This algorithm will return either a number or an error. 1. Let input be the string being parsed. 2. Let position be a pointer into input, initially pointing at the start of the string. 3. Let value have the value 1. 4. Let divisor have the value 1. 5. Let exponent have the value 1. 6. [3320]Skip ASCII whitespace within input given position. 7. If position is past the end of input, return an error. 8. If the character indicated by position is a U+002D HYPHEN-MINUS character (-): 1. Change value and divisor to −1. 2. Advance position to the next character. 3. If position is past the end of input, return an error. Otherwise, if the character indicated by position (the first character) is a U+002B PLUS SIGN character (+): 1. Advance position to the next character. (The "+" is ignored, but it is not conforming.) 2. If position is past the end of input, return an error. 9. If the character indicated by position is a U+002E FULL STOP (.), and that is not the last character in input, and the character after the character indicated by position is an [3321]ASCII digit, then set value to zero and jump to the step labeled fraction. 10. If the character indicated by position is not an [3322]ASCII digit, then return an error. 11. [3323]Collect a sequence of code points that are [3324]ASCII digits from input given position, and interpret the resulting sequence as a base-ten integer. Multiply value by that integer. 12. If position is past the end of input, jump to the step labeled conversion. 13. Fraction: If the character indicated by position is a U+002E FULL STOP (.), run these substeps: 1. Advance position to the next character. 2. If position is past the end of input, or if the character indicated by position is not an [3325]ASCII digit, U+0065 LATIN SMALL LETTER E (e), or U+0045 LATIN CAPITAL LETTER E (E), then jump to the step labeled conversion. 3. If the character indicated by position is a U+0065 LATIN SMALL LETTER E character (e) or a U+0045 LATIN CAPITAL LETTER E character (E), skip the remainder of these substeps. 4. Fraction loop: Multiply divisor by ten. 5. Add the value of the character indicated by position, interpreted as a base-ten digit (0..9) and divided by divisor, to value. 6. Advance position to the next character. 7. If position is past the end of input, then jump to the step labeled conversion. 8. If the character indicated by position is an [3326]ASCII digit, jump back to the step labeled fraction loop in these substeps. 14. If the character indicated by position is U+0065 (e) or a U+0045 (E), then: 1. Advance position to the next character. 2. If position is past the end of input, then jump to the step labeled conversion. 3. If the character indicated by position is a U+002D HYPHEN-MINUS character (-): 1. Change exponent to −1. 2. Advance position to the next character. 3. If position is past the end of input, then jump to the step labeled conversion. Otherwise, if the character indicated by position is a U+002B PLUS SIGN character (+): 1. Advance position to the next character. 2. If position is past the end of input, then jump to the step labeled conversion. 4. If the character indicated by position is not an [3327]ASCII digit, then jump to the step labeled conversion. 5. [3328]Collect a sequence of code points that are [3329]ASCII digits from input given position, and interpret the resulting sequence as a base-ten integer. Multiply exponent by that integer. 6. Multiply value by ten raised to the exponentth power. 15. Conversion: Let S be the set of finite IEEE 754 double-precision floating-point values except −0, but with two special values added: 2^1024 and −2^1024. 16. Let rounded-value be the number in S that is closest to value, selecting the number with an even significand if there are two equally close values. (The two special values 2^1024 and −2^1024 are considered to have even significands for this purpose.) 17. If rounded-value is 2^1024 or −2^1024, return an error. 18. Return rounded-value.

2.3.4.4 Percentages and lengths

The rules for parsing dimension values are as given in the following algorithm. When invoked, the steps must be followed in the order given, aborting at the first step that returns a value. This algorithm will return either a number greater than or equal to 0.0, or failure; if a number is returned, then it is further categorized as either a percentage or a length. 1. Let input be the string being parsed. 2. Let position be a [3330]position variable for input, initially pointing at the start of input. 3. [3331]Skip ASCII whitespace within input given position. 4. If position is past the end of input or the code point at position within input is not an [3332]ASCII digit, then return failure. 5. [3333]Collect a sequence of code points that are [3334]ASCII digits from input given position, and interpret the resulting sequence as a base-ten integer. Let value be that number. 6. If position is past the end of input, then return value as a length. 7. If the code point at position within input is U+002E (.), then: 1. Advance position by 1. 2. If position is past the end of input or the code point at position within input is not an [3335]ASCII digit, then return the [3336]current dimension value with value, input, and position. 3. Let divisor have the value 1. 4. While true: 1. Multiply divisor by ten. 2. Add the value of the code point at position within input, interpreted as a base-ten digit (0..9) and divided by divisor, to value. 3. Advance position by 1. 4. If position is past the end of input, then return value as a length. 5. If the code point at position within input is not an [3337]ASCII digit, then [3338]break. 8. Return the [3339]current dimension value with value, input, and position.

The current dimension value, given value, input, and position, is determined as follows: 1. If position is past the end of input, then return value as a length. 2. If the code point at position within input is U+0025 (%), then return value as a percentage. 3. Return value as a length.

2.3.4.5 Nonzero percentages and lengths

The rules for parsing nonzero dimension values are as given in the following algorithm. When invoked, the steps must be followed in the order given, aborting at the first step that returns a value. This algorithm will return either a number greater than 0.0, or an error; if a number is returned, then it is further categorized as either a percentage or a length. 1. Let input be the string being parsed. 2. Let value be the result of parsing input using the [3340]rules for parsing dimension values. 3. If value is an error, return an error. 4. If value is zero, return an error. 5. If value is a percentage, return value as a percentage. 6. Return value as a length.

2.3.4.6 Lists of floating-point numbers

A valid list of floating-point numbers is a number of [3341]valid floating-point numbers separated by U+002C COMMA characters, with no other characters (e.g. no [3342]ASCII whitespace). In addition, there might be restrictions on the number of floating-point numbers that can be given, or on the range of values allowed.

The rules for parsing a list of floating-point numbers are as follows: 1. Let input be the string being parsed. 2. Let position be a pointer into input, initially pointing at the start of the string. 3. Let numbers be an initially empty list of floating-point numbers. This list will be the result of this algorithm. 4. [3343]Collect a sequence of code points that are [3344]ASCII whitespace, U+002C COMMA, or U+003B SEMICOLON characters from input given position. This skips past any leading delimiters. 5. While position is not past the end of input: 1. [3345]Collect a sequence of code points that are not [3346]ASCII whitespace, U+002C COMMA, U+003B SEMICOLON, [3347]ASCII digits, U+002E FULL STOP, or U+002D HYPHEN-MINUS characters from input given position. This skips past leading garbage. 2. [3348]Collect a sequence of code points that are not [3349]ASCII whitespace, U+002C COMMA, or U+003B SEMICOLON characters from input given position, and let unparsed number be the result. 3. Let number be the result of parsing unparsed number using the [3350]rules for parsing floating-point number values. 4. If number is an error, set number to zero. 5. Append number to numbers. 6. [3351]Collect a sequence of code points that are [3352]ASCII whitespace, U+002C COMMA, or U+003B SEMICOLON characters from input given position. This skips past the delimiter. 6. Return numbers.

2.3.4.7 Lists of dimensions

The rules for parsing a list of dimensions are as follows. These rules return a list of zero or more pairs consisting of a number and a unit, the unit being one of percentage, relative, and absolute. 1. Let raw input be the string being parsed. 2. If the last character in raw input is a U+002C COMMA character (,), then remove that character from raw input. 3. [3353]Split the string raw input on commas. Let raw tokens be the resulting list of tokens. 4. Let result be an empty list of number/unit pairs. 5. For each token in raw tokens, run the following substeps: 1. Let input be the token. 2. Let position be a pointer into input, initially pointing at the start of the string. 3. Let value be the number 0. 4. Let unit be absolute. 5. If position is past the end of input, set unit to relative and jump to the last substep. 6. If the character at position is an [3354]ASCII digit, [3355]collect a sequence of code points that are [3356]ASCII digits from input given position, interpret the resulting sequence as an integer in base ten, and increment value by that integer. 7. If the character at position is U+002E (.), then: 1. [3357]Collect a sequence of code points consisting of [3358]ASCII whitespace and [3359]ASCII digits from input given position. Let s be the resulting sequence. 2. Remove all [3360]ASCII whitespace in s. 3. If s is not the empty string, then: 1. Let length be the number of characters in s (after the spaces were removed). 2. Let fraction be the result of interpreting s as a base-ten integer, and then dividing that number by 10^length. 3. Increment value by fraction. 8. [3361]Skip ASCII whitespace within input given position. 9. If the character at position is a U+0025 PERCENT SIGN character (%), then set unit to percentage. Otherwise, if the character at position is a U+002A ASTERISK character (*), then set unit to relative. 10. Add an entry to result consisting of the number given by value and the unit given by unit. 6. Return the list result.

2.3.5 Dates and times

In the algorithms below, the number of days in month month of year year is: 31 if month is 1, 3, 5, 7, 8, 10, or 12; 30 if month is 4, 6, 9, or 11; 29 if month is 2 and year is a number divisible by 400, or if year is a number divisible by 4 but not by 100; and 28 otherwise. This takes into account leap years in the Gregorian calendar. [3362][GREGORIAN]

When [3363]ASCII digits are used in the date and time syntaxes defined in this section, they express numbers in base ten.

While the formats described here are intended to be subsets of the corresponding ISO8601 formats, this specification defines parsing rules in much more detail than ISO8601. Implementers are therefore encouraged to carefully examine any date parsing libraries before using them to implement the parsing rules described below; ISO8601 libraries might not parse dates and times in exactly the same manner. [3364][ISO8601]

Where this specification refers to the proleptic Gregorian calendar, it means the modern Gregorian calendar, extrapolated backwards to year 1. A date in the [3365]proleptic Gregorian calendar, sometimes explicitly referred to as a proleptic-Gregorian date, is one that is described using that calendar even if that calendar was not in use at the time (or place) in question. [3366][GREGORIAN]

The use of the Gregorian calendar as the wire format in this specification is an arbitrary choice resulting from the cultural biases of those involved in the decision. See also the section discussing [3367]date, time, and number formats in forms (for authors), [3368]implementation notes regarding localization of form controls, and the [3369]time element.

2.3.5.1 Months

A month consists of a specific [3370]proleptic-Gregorian date with no time-zone information and no date information beyond a year and a month. [3371][GREGORIAN]

A string is a valid month string representing a year year and month month if it consists of the following components in the given order: 1. Four or more [3372]ASCII digits, representing year, where year > 0 2. A U+002D HYPHEN-MINUS character (-) 3. Two [3373]ASCII digits, representing the month month, in the range 1 ≤ month ≤ 12

The rules to parse a month string are as follows. This will return either a year and month, or nothing. If at any point the algorithm says that it "fails", this means that it is aborted at that point and returns nothing. 1. Let input be the string being parsed. 2. Let position be a pointer into input, initially pointing at the start of the string. 3. [3374]Parse a month component to obtain year and month. If this returns nothing, then fail. 4. If position is not beyond the end of input, then fail. 5. Return year and month.

The rules to parse a month component, given an input string and a position, are as follows. This will return either a year and a month, or nothing. If at any point the algorithm says that it "fails", this means that it is aborted at that point and returns nothing. 1. [3375]Collect a sequence of code points that are [3376]ASCII digits from input given position. If the collected sequence is not at least four characters long, then fail. Otherwise, interpret the resulting sequence as a base-ten integer. Let year be that number. 2. If year is not a number greater than zero, then fail. 3. If position is beyond the end of input or if the character at position is not a U+002D HYPHEN-MINUS character, then fail. Otherwise, move position forwards one character. 4. [3377]Collect a sequence of code points that are [3378]ASCII digits from input given position. If the collected sequence is not exactly two characters long, then fail. Otherwise, interpret the resulting sequence as a base-ten integer. Let month be that number. 5. If month is not a number in the range 1 ≤ month ≤ 12, then fail. 6. Return year and month.

2.3.5.2 Dates

A date consists of a specific [3379]proleptic-Gregorian date with no time-zone information, consisting of a year, a month, and a day. [3380][GREGORIAN]

A string is a valid date string representing a year year, month month, and day day if it consists of the following components in the given order: 1. A [3381]valid month string, representing year and month 2. A U+002D HYPHEN-MINUS character (-) 3. Two [3382]ASCII digits, representing day, in the range 1 ≤ day ≤ maxday where maxday is the [3383]number of days in the month month and year year

The rules to parse a date string are as follows. This will return either a date, or nothing. If at any point the algorithm says that it "fails", this means that it is aborted at that point and returns nothing. 1. Let input be the string being parsed. 2. Let position be a pointer into input, initially pointing at the start of the string. 3. [3384]Parse a date component to obtain year, month, and day. If this returns nothing, then fail. 4. If position is not beyond the end of input, then fail. 5. Let date be the date with year year, month month, and day day. 6. Return date.

The rules to parse a date component, given an input string and a position, are as follows. This will return either a year, a month, and a day, or nothing. If at any point the algorithm says that it "fails", this means that it is aborted at that point and returns nothing. 1. [3385]Parse a month component to obtain year and month. If this returns nothing, then fail. 2. Let maxday be the [3386]number of days in month month of year year. 3. If position is beyond the end of input or if the character at position is not a U+002D HYPHEN-MINUS character, then fail. Otherwise, move position forwards one character. 4. [3387]Collect a sequence of code points that are [3388]ASCII digits from input given position. If the collected sequence is not exactly two characters long, then fail. Otherwise, interpret the resulting sequence as a base-ten integer. Let day be that number. 5. If day is not a number in the range 1 ≤ day ≤ maxday, then fail. 6. Return year, month, and day.

2.3.5.3 Yearless dates

A yearless date consists of a Gregorian month and a day within that month, but with no associated year. [3389][GREGORIAN]

A string is a valid yearless date string representing a month month and a day day if it consists of the following components in the given order: 1. Optionally, two U+002D HYPHEN-MINUS characters (-) 2. Two [3390]ASCII digits, representing the month month, in the range 1 ≤ month ≤ 12 3. A U+002D HYPHEN-MINUS character (-) 4. Two [3391]ASCII digits, representing day, in the range 1 ≤ day ≤ maxday where maxday is the [3392]number of days in the month month and any arbitrary leap year (e.g. 4 or 2000)

In other words, if the month is "02", meaning February, then the day can be 29, as if the year was a leap year.

The rules to parse a yearless date string are as follows. This will return either a month and a day, or nothing. If at any point the algorithm says that it "fails", this means that it is aborted at that point and returns nothing. 1. Let input be the string being parsed. 2. Let position be a pointer into input, initially pointing at the start of the string. 3. [3393]Parse a yearless date component to obtain month and day. If this returns nothing, then fail. 4. If position is not beyond the end of input, then fail. 5. Return month and day.

The rules to parse a yearless date component, given an input string and a position, are as follows. This will return either a month and a day, or nothing. If at any point the algorithm says that it "fails", this means that it is aborted at that point and returns nothing. 1. [3394]Collect a sequence of code points that are U+002D HYPHEN-MINUS characters (-) from input given position. If the collected sequence is not exactly zero or two characters long, then fail. 2. [3395]Collect a sequence of code points that are [3396]ASCII digits from input given position. If the collected sequence is not exactly two characters long, then fail. Otherwise, interpret the resulting sequence as a base-ten integer. Let month be that number. 3. If month is not a number in the range 1 ≤ month ≤ 12, then fail. 4. Let maxday be the [3397]number of days in month month of any arbitrary leap year (e.g. 4 or 2000). 5. If position is beyond the end of input or if the character at position is not a U+002D HYPHEN-MINUS character, then fail. Otherwise, move position forwards one character. 6. [3398]Collect a sequence of code points that are [3399]ASCII digits from input given position. If the collected sequence is not exactly two characters long, then fail. Otherwise, interpret the resulting sequence as a base-ten integer. Let day be that number. 7. If day is not a number in the range 1 ≤ day ≤ maxday, then fail. 8. Return month and day.

2.3.5.4 Times

A time consists of a specific time with no time-zone information, consisting of an hour, a minute, a second, and a fraction of a second.

A string is a valid time string representing an hour hour, a minute minute, and a second second if it consists of the following components in the given order: 1. Two [3400]ASCII digits, representing hour, in the range 0 ≤ hour ≤ 23 2. A U+003A COLON character (:) 3. Two [3401]ASCII digits, representing minute, in the range 0 ≤ minute ≤ 59 4. If second is nonzero, or optionally if second is zero: 1. A U+003A COLON character (:) 2. Two [3402]ASCII digits, representing the integer part of second, in the range 0 ≤ s ≤ 59 3. If second is not an integer, or optionally if second is an integer: 1. A U+002E FULL STOP character (.) 2. One, two, or three [3403]ASCII digits, representing the fractional part of second

The second component cannot be 60 or 61; leap seconds cannot be represented.

The rules to parse a time string are as follows. This will return either a time, or nothing. If at any point the algorithm says that it "fails", this means that it is aborted at that point and returns nothing. 1. Let input be the string being parsed. 2. Let position be a pointer into input, initially pointing at the start of the string. 3. [3404]Parse a time component to obtain hour, minute, and second. If this returns nothing, then fail. 4. If position is not beyond the end of input, then fail. 5. Let time be the time with hour hour, minute minute, and second second. 6. Return time.

The rules to parse a time component, given an input string and a position, are as follows. This will return either an hour, a minute, and a second, or nothing. If at any point the algorithm says that it "fails", this means that it is aborted at that point and returns nothing. 1. [3405]Collect a sequence of code points that are [3406]ASCII digits from input given position. If the collected sequence is not exactly two characters long, then fail. Otherwise, interpret the resulting sequence as a base-ten integer. Let hour be that number. 2. If hour is not a number in the range 0 ≤ hour ≤ 23, then fail. 3. If position is beyond the end of input or if the character at position is not a U+003A COLON character, then fail. Otherwise, move position forwards one character. 4. [3407]Collect a sequence of code points that are [3408]ASCII digits from input given position. If the collected sequence is not exactly two characters long, then fail. Otherwise, interpret the resulting sequence as a base-ten integer. Let minute be that number. 5. If minute is not a number in the range 0 ≤ minute ≤ 59, then fail. 6. Let second be 0. 7. If position is not beyond the end of input and the character at position is U+003A (:), then: 1. Advance position to the next character in input. 2. If position is beyond the end of input, or at the last character in input, or if the next two characters in input starting at position are not both [3409]ASCII digits, then fail. 3. [3410]Collect a sequence of code points that are either [3411]ASCII digits or U+002E FULL STOP characters from input given position. If the collected sequence is three characters long, or if it is longer than three characters long and the third character is not a U+002E FULL STOP character, or if it has more than one U+002E FULL STOP character, then fail. Otherwise, interpret the resulting sequence as a base-ten number (possibly with a fractional part). Set second to that number. 4. If second is not a number in the range 0 ≤ second < 60, then fail. 8. Return hour, minute, and second.

2.3.5.5 Local dates and times

A local date and time consists of a specific [3412]proleptic-Gregorian date, consisting of a year, a month, and a day, and a time, consisting of an hour, a minute, a second, and a fraction of a second, but expressed without a time zone. [3413][GREGORIAN]

A string is a valid local date and time string representing a date and time if it consists of the following components in the given order: 1. A [3414]valid date string representing the date 2. A U+0054 LATIN CAPITAL LETTER T character (T) or a U+0020 SPACE character 3. A [3415]valid time string representing the time

A string is a valid normalized local date and time string representing a date and time if it consists of the following components in the given order: 1. A [3416]valid date string representing the date 2. A U+0054 LATIN CAPITAL LETTER T character (T) 3. A [3417]valid time string representing the time, expressed as the shortest possible string for the given time (e.g. omitting the seconds component entirely if the given time is zero seconds past the minute)

The rules to parse a local date and time string are as follows. This will return either a date and time, or nothing. If at any point the algorithm says that it "fails", this means that it is aborted at that point and returns nothing. 1. Let input be the string being parsed. 2. Let position be a pointer into input, initially pointing at the start of the string. 3. [3418]Parse a date component to obtain year, month, and day. If this returns nothing, then fail. 4. If position is beyond the end of input or if the character at position is neither a U+0054 LATIN CAPITAL LETTER T character (T) nor a U+0020 SPACE character, then fail. Otherwise, move position forwards one character. 5. [3419]Parse a time component to obtain hour, minute, and second. If this returns nothing, then fail. 6. If position is not beyond the end of input, then fail. 7. Let date be the date with year year, month month, and day day. 8. Let time be the time with hour hour, minute minute, and second second. 9. Return date and time.

2.3.5.6 Time zones

A time-zone offset consists of a signed number of hours and minutes.

A string is a valid time-zone offset string representing a time-zone offset if it consists of either: * A U+005A LATIN CAPITAL LETTER Z character (Z), allowed only if the time zone is UTC * Or, the following components, in the given order: 1. Either a U+002B PLUS SIGN character (+) or, if the time-zone offset is not zero, a U+002D HYPHEN-MINUS character (-), representing the sign of the time-zone offset 2. Two [3420]ASCII digits, representing the hours component hour of the time-zone offset, in the range 0 ≤ hour ≤ 23 3. Optionally, a U+003A COLON character (:) 4. Two [3421]ASCII digits, representing the minutes component minute of the time-zone offset, in the range 0 ≤ minute ≤ 59

This format allows for time-zone offsets from -23:59 to +23:59. Right now, in practice, the range of offsets of actual time zones is -12:00 to +14:00, and the minutes component of offsets of actual time zones is always either 00, 30, or 45. There is no guarantee that this will remain so forever, however, since time zones are used as political footballs and are thus subject to very whimsical policy decisions.

See also the usage notes and examples in the [3422]global date and time section below for details on using time-zone offsets with historical times that predate the formation of formal time zones.

The rules to parse a time-zone offset string are as follows. This will return either a time-zone offset, or nothing. If at any point the algorithm says that it "fails", this means that it is aborted at that point and returns nothing. 1. Let input be the string being parsed. 2. Let position be a pointer into input, initially pointing at the start of the string. 3. [3423]Parse a time-zone offset component to obtain timezone[hours] and timezone[minutes]. If this returns nothing, then fail. 4. If position is not beyond the end of input, then fail. 5. Return the time-zone offset that is timezone[hours] hours and timezone[minutes] minutes from UTC.

The rules to parse a time-zone offset component, given an input string and a position, are as follows. This will return either time-zone hours and time-zone minutes, or nothing. If at any point the algorithm says that it "fails", this means that it is aborted at that point and returns nothing. 1. If the character at position is a U+005A LATIN CAPITAL LETTER Z character (Z), then: 1. Let timezone[hours] be 0. 2. Let timezone[minutes] be 0. 3. Advance position to the next character in input. Otherwise, if the character at position is either a U+002B PLUS SIGN (+) or a U+002D HYPHEN-MINUS (-), then: 1. If the character at position is a U+002B PLUS SIGN (+), let sign be "positive". Otherwise, it's a U+002D HYPHEN-MINUS (-); let sign be "negative". 2. Advance position to the next character in input. 3. [3424]Collect a sequence of code points that are [3425]ASCII digits from input given position. Let s be the collected sequence. 4. If s is exactly two characters long, then: 1. Interpret s as a base-ten integer. Let timezone[hours] be that number. 2. If position is beyond the end of input or if the character at position is not a U+003A COLON character, then fail. Otherwise, move position forwards one character. 3. [3426]Collect a sequence of code points that are [3427]ASCII digits from input given position. If the collected sequence is not exactly two characters long, then fail. Otherwise, interpret the resulting sequence as a base-ten integer. Let timezone[minutes] be that number. If s is exactly four characters long, then: 1. Interpret the first two characters of s as a base-ten integer. Let timezone[hours] be that number. 2. Interpret the last two characters of s as a base-ten integer. Let timezone[minutes] be that number. Otherwise, fail. 5. If timezone[hours] is not a number in the range 0 ≤ timezone[hours] ≤ 23, then fail. 6. If sign is "negative", then negate timezone[hours]. 7. If timezone[minutes] is not a number in the range 0 ≤ timezone[minutes] ≤ 59, then fail. 8. If sign is "negative", then negate timezone[minutes]. Otherwise, fail. 2. Return timezone[hours] and timezone[minutes].

2.3.5.7 Global dates and times

A global date and time consists of a specific [3428]proleptic-Gregorian date, consisting of a year, a month, and a day, and a time, consisting of an hour, a minute, a second, and a fraction of a second, expressed with a time-zone offset, consisting of a signed number of hours and minutes. [3429][GREGORIAN]

A string is a valid global date and time string representing a date, time, and a time-zone offset if it consists of the following components in the given order: 1. A [3430]valid date string representing the date 2. A U+0054 LATIN CAPITAL LETTER T character (T) or a U+0020 SPACE character 3. A [3431]valid time string representing the time 4. A [3432]valid time-zone offset string representing the time-zone offset

Times in dates before the formation of UTC in the mid-twentieth century must be expressed and interpreted in terms of UT1 (contemporary Earth solar time at the 0° longitude), not UTC (the approximation of UT1 that ticks in SI seconds). Time before the formation of time zones must be expressed and interpreted as UT1 times with explicit time zones that approximate the contemporary difference between the appropriate local time and the time observed at the location of Greenwich, London.

The following are some examples of dates written as [3433]valid global date and time strings.

"0037-12-13 00:00Z" Midnight in areas using London time on the birthday of Nero (the Roman Emperor). See below for further discussion on which date this actually corresponds to.

"1979-10-14T12:00:00.001-04:00" One millisecond after noon on October 14th 1979, in the time zone in use on the east coast of the USA during daylight saving time.

"8592-01-01T02:09+02:09" Midnight UTC on the 1st of January, 8592. The time zone associated with that time is two hours and nine minutes ahead of UTC, which is not currently a real time zone, but is nonetheless allowed.

Several things are notable about these dates: * Years with fewer than four digits have to be zero-padded. The date "37-12-13" would not be a valid date. * If the "T" is replaced by a space, it must be a single space character. The string "2001-12-21 12:00Z" (with two spaces between the components) would not be parsed successfully. * To unambiguously identify a moment in time prior to the introduction of the Gregorian calendar (insofar as moments in time before the formation of UTC can be unambiguously identified), the date has to be first converted to the Gregorian calendar from the calendar in use at the time (e.g. from the Julian calendar). The date of Nero's birth is the 15th of December 37, in the Julian Calendar, which is the 13th of December 37 in the [3434]proleptic Gregorian calendar. * The time and time-zone offset components are not optional. * Dates before the year one can't be represented as a datetime in this version of HTML. * Times of specific events in ancient times are, at best, approximations, since time was not well coordinated or measured until relatively recent decades. * Time-zone offsets differ based on daylight saving time.

The rules to parse a global date and time string are as follows. This will return either a time in UTC, with associated time-zone offset information for round-tripping or display purposes, or nothing. If at any point the algorithm says that it "fails", this means that it is aborted at that point and returns nothing. 1. Let input be the string being parsed. 2. Let position be a pointer into input, initially pointing at the start of the string. 3. [3435]Parse a date component to obtain year, month, and day. If this returns nothing, then fail. 4. If position is beyond the end of input or if the character at position is neither a U+0054 LATIN CAPITAL LETTER T character (T) nor a U+0020 SPACE character, then fail. Otherwise, move position forwards one character. 5. [3436]Parse a time component to obtain hour, minute, and second. If this returns nothing, then fail. 6. If position is beyond the end of input, then fail. 7. [3437]Parse a time-zone offset component to obtain timezone[hours] and timezone[minutes]. If this returns nothing, then fail. 8. If position is not beyond the end of input, then fail. 9. Let time be the moment in time at year year, month month, day day, hours hour, minute minute, second second, subtracting timezone[hours] hours and timezone[minutes] minutes. That moment in time is a moment in the UTC time zone. 10. Let timezone be timezone[hours] hours and timezone[minutes] minutes from UTC. 11. Return time and timezone.

2.3.5.8 Weeks

A week consists of a week-year number and a week number representing a seven-day period starting on a Monday. Each week-year in this calendaring system has either 52 or 53 such seven-day periods, as defined below. The seven-day period starting on the Gregorian date Monday December 29th 1969 (1969-12-29) is defined as week number 1 in week-year 1970. Consecutive weeks are numbered sequentially. The week before the number 1 week in a week-year is the last week in the previous week-year, and vice versa. [3438][GREGORIAN]

A week-year with a number year has 53 weeks if it corresponds to either a year year in the [3439]proleptic Gregorian calendar that has a Thursday as its first day (January 1st), or a year year in the [3440]proleptic Gregorian calendar that has a Wednesday as its first day (January 1st) and where year is a number divisible by 400, or a number divisible by 4 but not by 100. All other week-years have 52 weeks.

The week number of the last day of a week-year with 53 weeks is 53; the week number of the last day of a week-year with 52 weeks is 52.

The week-year number of a particular day can be different than the number of the year that contains that day in the [3441]proleptic Gregorian calendar. The first week in a week-year y is the week that contains the first Thursday of the Gregorian year y.

For modern purposes, a [3442]week as defined here is equivalent to ISO weeks as defined in ISO 8601. [3443][ISO8601]

A string is a valid week string representing a week-year year and week week if it consists of the following components in the given order: 1. Four or more [3444]ASCII digits, representing year, where year > 0 2. A U+002D HYPHEN-MINUS character (-) 3. A U+0057 LATIN CAPITAL LETTER W character (W) 4. Two [3445]ASCII digits, representing the week week, in the range 1 ≤ week ≤ maxweek, where maxweek is the [3446]week number of the last day of week-year year

The rules to parse a week string are as follows. This will return either a week-year number and week number, or nothing. If at any point the algorithm says that it "fails", this means that it is aborted at that point and returns nothing. 1. Let input be the string being parsed. 2. Let position be a pointer into input, initially pointing at the start of the string. 3. [3447]Collect a sequence of code points that are [3448]ASCII digits from input given position. If the collected sequence is not at least four characters long, then fail. Otherwise, interpret the resulting sequence as a base-ten integer. Let year be that number. 4. If year is not a number greater than zero, then fail. 5. If position is beyond the end of input or if the character at position is not a U+002D HYPHEN-MINUS character, then fail. Otherwise, move position forwards one character. 6. If position is beyond the end of input or if the character at position is not a U+0057 LATIN CAPITAL LETTER W character (W), then fail. Otherwise, move position forwards one character. 7. [3449]Collect a sequence of code points that are [3450]ASCII digits from input given position. If the collected sequence is not exactly two characters long, then fail. Otherwise, interpret the resulting sequence as a base-ten integer. Let week be that number. 8. Let maxweek be the [3451]week number of the last day of year year. 9. If week is not a number in the range 1 ≤ week ≤ maxweek, then fail. 10. If position is not beyond the end of input, then fail. 11. Return the week-year number year and the week number week.

2.3.5.9 Durations

A duration consists of a number of seconds.

Since months and seconds are not comparable (a month is not a precise number of seconds, but is instead a period whose exact length depends on the precise day from which it is measured) a [3452]duration as defined in this specification cannot include months (or years, which are equivalent to twelve months). Only durations that describe a specific number of seconds can be described.

A string is a valid duration string representing a [3453]duration t if it consists of either of the following: * A literal U+0050 LATIN CAPITAL LETTER P character followed by one or more of the following subcomponents, in the order given, where the number of days, hours, minutes, and seconds corresponds to the same number of seconds as in t: 1. One or more [3454]ASCII digits followed by a U+0044 LATIN CAPITAL LETTER D character, representing a number of days. 2. A U+0054 LATIN CAPITAL LETTER T character followed by one or more of the following subcomponents, in the order given: 1. One or more [3455]ASCII digits followed by a U+0048 LATIN CAPITAL LETTER H character, representing a number of hours. 2. One or more [3456]ASCII digits followed by a U+004D LATIN CAPITAL LETTER M character, representing a number of minutes. 3. The following components: 1. One or more [3457]ASCII digits, representing a number of seconds. 2. Optionally, a U+002E FULL STOP character (.) followed by one, two, or three [3458]ASCII digits, representing a fraction of a second. 3. A U+0053 LATIN CAPITAL LETTER S character. This, as with a number of other date- and time-related microsyntaxes defined in this specification, is based on one of the formats defined in ISO 8601. [3459][ISO8601] * One or more [3460]duration time components, each with a different [3461]duration time component scale, in any order; the sum of the represented seconds being equal to the number of seconds in t. A duration time component is a string consisting of the following components: 1. Zero or more [3462]ASCII whitespace. 2. One or more [3463]ASCII digits, representing a number of time units, scaled by the [3464]duration time component scale specified (see below) to represent a number of seconds. 3. If the [3465]duration time component scale specified is 1 (i.e. the units are seconds), then, optionally, a U+002E FULL STOP character (.) followed by one, two, or three [3466]ASCII digits, representing a fraction of a second. 4. Zero or more [3467]ASCII whitespace. 5. One of the following characters, representing the duration time component scale of the time unit used in the numeric part of the [3468]duration time component:

U+0057 LATIN CAPITAL LETTER W character U+0077 LATIN SMALL LETTER W character Weeks. The scale is 604800.

U+0044 LATIN CAPITAL LETTER D character U+0064 LATIN SMALL LETTER D character Days. The scale is 86400.

U+0048 LATIN CAPITAL LETTER H character U+0068 LATIN SMALL LETTER H character Hours. The scale is 3600.

U+004D LATIN CAPITAL LETTER M character U+006D LATIN SMALL LETTER M character Minutes. The scale is 60.

U+0053 LATIN CAPITAL LETTER S character U+0073 LATIN SMALL LETTER S character Seconds. The scale is 1.

6. Zero or more [3469]ASCII whitespace. This is not based on any of the formats in ISO 8601. It is intended to be a more human-readable alternative to the ISO 8601 duration format.

The rules to parse a duration string are as follows. This will return either a [3470]duration or nothing. If at any point the algorithm says that it "fails", this means that it is aborted at that point and returns nothing. 1. Let input be the string being parsed. 2. Let position be a pointer into input, initially pointing at the start of the string. 3. Let months, seconds, and component count all be zero. 4. Let M-disambiguator be minutes. This flag's other value is months. It is used to disambiguate the "M" unit in ISO8601 durations, which use the same unit for months and minutes. Months are not allowed, but are parsed for future compatibility and to avoid misinterpreting ISO8601 durations that would be valid in other contexts. 5. [3471]Skip ASCII whitespace within input given position. 6. If position is past the end of input, then fail. 7. If the character in input pointed to by position is a U+0050 LATIN CAPITAL LETTER P character, then advance position to the next character, set M-disambiguator to months, and [3472]skip ASCII whitespace within input given position. 8. While true: 1. Let units be undefined. It will be assigned one of the following values: years, months, weeks, days, hours, minutes, and seconds. 2. Let next character be undefined. It is used to process characters from the input. 3. If position is past the end of input, then break. 4. If the character in input pointed to by position is a U+0054 LATIN CAPITAL LETTER T character, then advance position to the next character, set M-disambiguator to minutes, [3473]skip ASCII whitespace within input given position, and [3474]continue. 5. Set next character to the character in input pointed to by position. 6. If next character is a U+002E FULL STOP character (.), then let N equal zero. (Do not advance position. That is taken care of below.) Otherwise, if next character is an [3475]ASCII digit, then [3476]collect a sequence of code points that are [3477]ASCII digits from input given position, interpret the resulting sequence as a base-ten integer, and let N be that number. Otherwise, next character is not part of a number; fail. 7. If position is past the end of input, then fail. 8. Set next character to the character in input pointed to by position, and this time advance position to the next character. (If next character was a U+002E FULL STOP character (.) before, it will still be that character this time.) 9. If next character is U+002E (.), then: 1. [3478]Collect a sequence of code points that are [3479]ASCII digits from input given position. Let s be the resulting sequence. 2. If s is the empty string, then fail. 3. Let length be the number of characters in s. 4. Let fraction be the result of interpreting s as a base-ten integer, and then dividing that number by 10^length. 5. Increment N by fraction. 6. [3480]Skip ASCII whitespace within input given position. 7. If position is past the end of input, then fail. 8. Set next character to the character in input pointed to by position, and advance position to the next character. 9. If next character is neither a U+0053 LATIN CAPITAL LETTER S character nor a U+0073 LATIN SMALL LETTER S character, then fail. 10. Set units to seconds. Otherwise: 1. If next character is [3481]ASCII whitespace, then [3482]skip ASCII whitespace within input given position, set next character to the character in input pointed to by position, and advance position to the next character. 2. If next character is a U+0059 LATIN CAPITAL LETTER Y character, or a U+0079 LATIN SMALL LETTER Y character, set units to years and set M-disambiguator to months. If next character is a U+004D LATIN CAPITAL LETTER M character or a U+006D LATIN SMALL LETTER M character, and M-disambiguator is months, then set units to months. If next character is a U+0057 LATIN CAPITAL LETTER W character or a U+0077 LATIN SMALL LETTER W character, set units to weeks and set M-disambiguator to minutes. If next character is a U+0044 LATIN CAPITAL LETTER D character or a U+0064 LATIN SMALL LETTER D character, set units to days and set M-disambiguator to minutes. If next character is a U+0048 LATIN CAPITAL LETTER H character or a U+0068 LATIN SMALL LETTER H character, set units to hours and set M-disambiguator to minutes. If next character is a U+004D LATIN CAPITAL LETTER M character or a U+006D LATIN SMALL LETTER M character, and M-disambiguator is minutes, then set units to minutes. If next character is a U+0053 LATIN CAPITAL LETTER S character or a U+0073 LATIN SMALL LETTER S character, set units to seconds and set M-disambiguator to minutes. Otherwise, if next character is none of the above characters, then fail. 10. Increment component count. 11. Let multiplier be 1. 12. If units is years, multiply multiplier by 12 and set units to months. 13. If units is months, add the product of N and multiplier to months. Otherwise: 1. If units is weeks, multiply multiplier by 7 and set units to days. 2. If units is days, multiply multiplier by 24 and set units to hours. 3. If units is hours, multiply multiplier by 60 and set units to minutes. 4. If units is minutes, multiply multiplier by 60 and set units to seconds. 5. Forcibly, units is now seconds. Add the product of N and multiplier to seconds. 14. [3483]Skip ASCII whitespace within input given position. 9. If component count is zero, fail. 10. If months is not zero, fail. 11. Return the [3484]duration consisting of seconds seconds.

2.3.5.10 Vaguer moments in time

A string is a valid date string with optional time if it is also one of the following: * A [3485]valid date string * A [3486]valid global date and time string __________________________________________________________________

The rules to parse a date or time string are as follows. The algorithm will return either a [3487]date, a [3488]time, a [3489]global date and time, or nothing. If at any point the algorithm says that it "fails", this means that it is aborted at that point and returns nothing. 1. Let input be the string being parsed. 2. Let position be a pointer into input, initially pointing at the start of the string. 3. Set start position to the same position as position. 4. Set the date present and time present flags to true. 5. [3490]Parse a date component to obtain year, month, and day. If this fails, then set the date present flag to false. 6. If date present is true, and position is not beyond the end of input, and the character at position is either a U+0054 LATIN CAPITAL LETTER T character (T) or a U+0020 SPACE character, then advance position to the next character in input. Otherwise, if date present is true, and either position is beyond the end of input or the character at position is neither a U+0054 LATIN CAPITAL LETTER T character (T) nor a U+0020 SPACE character, then set time present to false. Otherwise, if date present is false, set position back to the same position as start position. 7. If the time present flag is true, then [3491]parse a time component to obtain hour, minute, and second. If this returns nothing, then fail. 8. If the date present and time present flags are both true, but position is beyond the end of input, then fail. 9. If the date present and time present flags are both true, [3492]parse a time-zone offset component to obtain timezone[hours] and timezone[minutes]. If this returns nothing, then fail. 10. If position is not beyond the end of input, then fail. 11. If the date present flag is true and the time present flag is false, then let date be the date with year year, month month, and day day, and return date. Otherwise, if the time present flag is true and the date present flag is false, then let time be the time with hour hour, minute minute, and second second, and return time. Otherwise, let time be the moment in time at year year, month month, day day, hours hour, minute minute, second second, subtracting timezone[hours] hours and timezone[minutes] minutes, that moment in time being a moment in the UTC time zone; let timezone be timezone[hours] hours and timezone[minutes] minutes from UTC; and return time and timezone.

2.3.6 Legacy colors

Some obsolete legacy attributes parse colors using the rules for parsing a legacy color value, given a string input. They will return either a CSS color or failure. 1. If input is the empty string, then return failure. 2. [3493]Strip leading and trailing ASCII whitespace from input. 3. If input is an [3494]ASCII case-insensitive match for "transparent", then return failure. 4. If input is an [3495]ASCII case-insensitive match for one of the [3496]named colors, then return the CSS color corresponding to that keyword. [3497][CSSCOLOR] [3498]CSS2 System Colors are not recognized. 5. If input's [3499]code point length is four, and the first character in input is U+0023 (#), and the last three characters of input are all [3500]ASCII hex digits, then: 1. Let result be a CSS color. 2. Interpret the second character of input as a hexadecimal digit; let the red component of result be the resulting number multiplied by 17. 3. Interpret the third character of input as a hexadecimal digit; let the green component of result be the resulting number multiplied by 17. 4. Interpret the fourth character of input as a hexadecimal digit; let the blue component of result be the resulting number multiplied by 17. 5. Return result. 6. Replace any [3501]code points greater than U+FFFF in input (i.e., any characters that are not in the basic multilingual plane) with "00". 7. If input's [3502]code point length is greater than 128, truncate input, leaving only the first 128 characters. 8. If the first character in input is U+0023 (#), then remove it. 9. Replace any character in input that is not an [3503]ASCII hex digit with U+0030 (0). 10. While input's [3504]code point length is zero or not a multiple of three, append U+0030 (0) to input. 11. Split input into three strings of equal [3505]code point length, to obtain three components. Let length be the [3506]code point length that all of those components have (one third the [3507]code point length of input). 12. If length is greater than 8, then remove the leading length-8 characters in each component, and let length be 8. 13. While length is greater than two and the first character in each component is U+0030 (0), remove that character and reduce length by one. 14. If length is still greater than two, truncate each component, leaving only the first two characters in each. 15. Let result be a CSS color. 16. Interpret the first component as a hexadecimal number; let the red component of result be the resulting number. 17. Interpret the second component as a hexadecimal number; let the green component of result be the resulting number. 18. Interpret the third component as a hexadecimal number; let the blue component of result be the resulting number. 19. Return result.

2.3.7 Space-separated tokens

A set of space-separated tokens is a string containing zero or more words (known as tokens) separated by one or more [3508]ASCII whitespace, where words consist of any string of one or more characters, none of which are [3509]ASCII whitespace.

A string containing a [3510]set of space-separated tokens may have leading or trailing [3511]ASCII whitespace.

An unordered set of unique space-separated tokens is a [3512]set of space-separated tokens where none of the tokens are duplicated.

An ordered set of unique space-separated tokens is a [3513]set of space-separated tokens where none of the tokens are duplicated but where the order of the tokens is meaningful.

[3514]Sets of space-separated tokens sometimes have a defined set of allowed values. When a set of allowed values is defined, the tokens must all be from that list of allowed values; other values are non-conforming. If no such set of allowed values is provided, then all values are conforming.

How tokens in a [3515]set of space-separated tokens are to be compared (e.g. case-sensitively or not) is defined on a per-set basis.

2.3.8 Comma-separated tokens

A set of comma-separated tokens is a string containing zero or more tokens each separated from the next by a single U+002C COMMA character (,), where tokens consist of any string of zero or more characters, neither beginning nor ending with [3516]ASCII whitespace, nor containing any U+002C COMMA characters (,), and optionally surrounded by [3517]ASCII whitespace.

For instance, the string " a ,b,,d d " consists of four tokens: "a", "b", the empty string, and "d d". Leading and trailing whitespace around each token doesn't count as part of the token, and the empty string can be a token.

[3518]Sets of comma-separated tokens sometimes have further restrictions on what consists a valid token. When such restrictions are defined, the tokens must all fit within those restrictions; other values are non-conforming. If no such restrictions are specified, then all values are conforming.

2.3.9 References

A valid hash-name reference to an element of type type is a string consisting of a U+0023 NUMBER SIGN character (#) followed by a string which exactly matches the value of the name attribute of an element with type type in the same [3519]tree.

The rules for parsing a hash-name reference to an element of type type, given a context node scope, are as follows: 1. If the string being parsed does not contain a U+0023 NUMBER SIGN character, or if the first such character in the string is the last character in the string, then return null. 2. Let s be the string from the character immediately after the first U+0023 NUMBER SIGN character in the string being parsed up to the end of that string. 3. Return the first element of type type in scope's [3520]tree, in [3521]tree order, that has an [3522]id or name attribute whose value is s, or null if there is no such element. Although [3523]id attributes are accounted for when parsing, they are not used in determining whether a value is a [3524]valid hash-name reference. That is, a hash-name reference that refers to an element based on [3525]id is a conformance error (unless that element also has a name attribute with the same value).

2.3.10 Media queries

A string is a valid media query list if it matches the production of Media Queries. [3526][MQ]

A string matches the environment of the user if it is the empty string, a string consisting of only [3527]ASCII whitespace, or is a media query list that matches the user's environment according to the definitions given in Media Queries. [3528][MQ]

2.3.11 Unique internal values

A unique internal value is a value that is serializable, comparable by value, and never exposed to script.

To create a new unique internal value, return a [3529]unique internal value that has never previously been returned by this algorithm.

2.4 URLs

2.4.1 Terminology

A string is a valid non-empty URL if it is a [3530]valid URL string but it is not the empty string.

A string is a valid URL potentially surrounded by spaces if, after [3531]stripping leading and trailing ASCII whitespace from it, it is a [3532]valid URL string.

A string is a valid non-empty URL potentially surrounded by spaces if, after [3533]stripping leading and trailing ASCII whitespace from it, it is a [3534]valid non-empty URL.

This specification defines the URL about:legacy-compat as a reserved, though unresolvable, [3535]about: URL, for use in [3536]DOCTYPEs in [3537]HTML documents when needed for compatibility with XML tools. [3538][ABOUT]

This specification defines the URL about:html-kind as a reserved, though unresolvable, [3539]about: URL, that is used as an identifier for kinds of media tracks. [3540][ABOUT]

This specification defines the URL about:srcdoc as a reserved, though unresolvable, [3541]about: URL, that is used as the [3542]URL of [3543]iframe srcdoc documents. [3544][ABOUT]

The fallback base URL of a [3545]Document object document is the [3546]URL record obtained by running these steps: 1. If document is [3547]an iframe srcdoc document, then: 1. [3548]Assert: document's [3549]about base URL is non-null. 2. Return document's [3550]about base URL. 2. If document's [3551]URL [3552]matches about:blank and document's [3553]about base URL is non-null, then return document's [3554]about base URL. 3. Return document's [3555]URL.

The document base URL of a [3556]Document object is the [3557]URL record obtained by running these steps: 1. If there is no [3558]base element that has an [3559]href attribute in the [3560]Document, then return the [3561]Document's [3562]fallback base URL. 2. Otherwise, return the [3563]frozen base URL of the first [3564]base element in the [3565]Document that has an [3566]href attribute, in [3567]tree order. __________________________________________________________________

A [3568]URL matches about:blank if its [3569]scheme is "about", its [3570]path contains a single string "blank", its [3571]username and [3572]password are the empty string, and its [3573]host is null.

Such a URL's [3574]query and [3575]fragment can be non-null. For example, the [3576]URL record created by [3577]parsing "about:blank?foo#bar" [3578]matches about:blank.

A [3579]URL matches about:srcdoc if its [3580]scheme is "about", its [3581]path contains a single string "srcdoc", its [3582]query is null, its [3583]username and [3584]password are the empty string, and its [3585]host is null.

The reason that [3586]matches about:srcdoc ensures that the [3587]URL's [3588]query is null is because it is not possible to create [3589]an iframe srcdoc document whose [3590]URL has a non-null [3591]query, unlike [3592]Documents whose [3593]URL [3594]matches about:blank. In other words, the set of all [3595]URLs that [3596]match about:srcdoc only vary in their [3597]fragment.

2.4.2 Parsing URLs

Parsing a URL is the process of taking a string and obtaining the [3598]URL record that it represents. While this process is defined in URL, the HTML standard defines several wrappers to abstract base URLs and encodings. [3599][URL]

Most new APIs are to use [3600]parse a URL. Older APIs and HTML elements might have reason to use [3601]encoding-parse a URL. When a custom base URL is needed or no base URL is desired, the [3602]URL parser can of course be used directly as well.

To parse a URL, given a string url, relative to a [3603]Document object or [3604]environment settings object environment, run these steps. They return failure or a [3605]URL. 1. Let baseURL be environment's [3606]base URL, if environment is a [3607]Document object; otherwise environment's [3608]API base URL. 2. Return the result of applying the [3609]URL parser to url, with baseURL.

To encoding-parse a URL, given a string url, relative to a [3610]Document object or [3611]environment settings object environment, run these steps. They return failure or a [3612]URL. 1. Let encoding be [3613]UTF-8. 2. If environment is a [3614]Document object, then set encoding to environment's [3615]character encoding. 3. Otherwise, if environment's [3616]relevant global object is a [3617]Window object, set encoding to environment's [3618]relevant global object's [3619]associated Document's [3620]character encoding. 4. Let baseURL be environment's [3621]base URL, if environment is a [3622]Document object; otherwise environment's [3623]API base URL. 5. Return the result of applying the [3624]URL parser to url, with baseURL and encoding.

To encoding-parse-and-serialize a URL, given a string url, relative to a [3625]Document object or [3626]environment settings object environment, run these steps. They return failure or a string. 1. Let url be the result of [3627]encoding-parsing a URL given url, relative to environment. 2. If url is failure, then return failure. 3. Return the result of applying the [3628]URL serializer to url.

2.4.3 Dynamic changes to base URLs

When a document's [3629]document base URL changes, all elements in that document are [3630]affected by a base URL change.

The following are [3631]base URL change steps, which run when an element is [3632]affected by a base URL change (as defined by DOM):

If the element creates a [3633]hyperlink If the [3634]URL identified by the hyperlink is being shown to the user, or if any data derived from that [3635]URL is affecting the display, then the [3636]href attribute's value should be [3637]reparsed, relative to the element's [3638]node document and the UI updated appropriately.

For example, the CSS [3639]:link/[3640]:visited [3641]pseudo-classes might have been affected.

If the hyperlink has a [3642]ping attribute and its [3643]URL(s) are being shown to the user, then the [3644]ping attribute's tokens should be [3645]reparsed, relative to the element's [3646]node document and the UI updated appropriately.

If the element is a [3647]q, [3648]blockquote, [3649]ins, or [3650]del element with a cite attribute If the [3651]URL identified by the cite attribute is being shown to the user, or if any data derived from that [3652]URL is affecting the display, then the cite attribute's value should be [3653]reparsed, relative to the element's [3654]node document and the UI updated appropriately.

Otherwise The element is not directly affected.

For instance, changing the base URL doesn't affect the image displayed by [3655]img elements, although subsequent accesses of the [3656]src IDL attribute from script will return a new [3657]absolute URL that might no longer correspond to the image being shown.

2.5 Fetching resources

2.5.1 Terminology

A [3658]response whose [3659]type is "basic", "cors", or "default" is CORS-same-origin. [3660][FETCH]

A [3661]response whose [3662]type is "opaque" or "opaqueredirect" is CORS-cross-origin.

A [3663]response's unsafe response is its [3664]internal response if it has one, and the [3665]response itself otherwise.

To create a potential-CORS request, given a url, destination, corsAttributeState, and an optional same-origin fallback flag, run these steps: 1. Let mode be "no-cors" if corsAttributeState is [3666]No CORS, and "cors" otherwise. 2. If same-origin fallback flag is set and mode is "no-cors", set mode to "same-origin". 3. Let credentialsMode be "include". 4. If corsAttributeState is [3667]Anonymous, set credentialsMode to "same-origin". 5. Return a new [3668]request whose [3669]URL is url, [3670]destination is destination, [3671]mode is mode, [3672]credentials mode is credentialsMode, and whose [3673]use-URL-credentials flag is set.

2.5.2 Determining the type of a resource

The Content-Type metadata of a resource must be obtained and interpreted in a manner consistent with the requirements of MIME Sniffing. [3674][MIMESNIFF]

The [3675]computed MIME type of a resource must be found in a manner consistent with the requirements given in MIME Sniffing. [3676][MIMESNIFF]

The [3677]rules for sniffing images specifically, the [3678]rules for distinguishing if a resource is text or binary, and the [3679]rules for sniffing audio and video specifically are also defined in MIME Sniffing. These rules return a [3680]MIME type as their result. [3681][MIMESNIFF]

It is imperative that the rules in MIME Sniffing be followed exactly. When a user agent uses different heuristics for content type detection than the server expects, security problems can occur. For more details, see MIME Sniffing. [3682][MIMESNIFF]

2.5.3 Extracting character encodings from [3683]meta elements

The algorithm for extracting a character encoding from a meta element, given a string s, is as follows. It returns either a character encoding or nothing. 1. Let position be a pointer into s, initially pointing at the start of the string. 2. Loop: Find the first seven characters in s after position that are an [3684]ASCII case-insensitive match for the word "charset". If no such match is found, return nothing. 3. Skip any [3685]ASCII whitespace that immediately follow the word "charset" (there might not be any). 4. If the next character is not a U+003D EQUALS SIGN (=), then move position to point just before that next character, and jump back to the step labeled loop. 5. Skip any [3686]ASCII whitespace that immediately follow the equals sign (there might not be any). 6. Process the next character as follows:

If it is a U+0022 QUOTATION MARK character (") and there is a later U+0022 QUOTATION MARK character (") in s

If it is a U+0027 APOSTROPHE character (') and there is a later U+0027 APOSTROPHE character (') in s Return the result of [3687]getting an encoding from the substring that is between this character and the next earliest occurrence of this character.

If it is an unmatched U+0022 QUOTATION MARK character (") If it is an unmatched U+0027 APOSTROPHE character (') If there is no next character Return nothing.

Otherwise Return the result of [3688]getting an encoding from the substring that consists of this character up to but not including the first [3689]ASCII whitespace or U+003B SEMICOLON character (;), or the end of s, whichever comes first.

This algorithm is distinct from those in the HTTP specifications (for example, HTTP doesn't allow the use of single quotes and requires supporting a backslash-escape mechanism that is not supported by this algorithm). While the algorithm is used in contexts that, historically, were related to HTTP, the syntax as supported by implementations diverged some time ago. [3690][HTTP]

2.5.4 CORS settings attributes

(BUTTON) ✔MDN

[3691]Attributes/crossorigin

Support in all current engines. Firefox8+Safari6+Chrome13+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

A CORS settings attribute is an [3692]enumerated attribute with the following keywords and states:

Keyword State Brief description anonymous Anonymous [3693]Requests for the element will have their [3694]mode set to "cors" and their [3695]credentials mode set to "same-origin". (the empty string) use-credentials Use Credentials [3696]Requests for the element will have their [3697]mode set to "cors" and their [3698]credentials mode set to "include".

The attribute's [3699]missing value default is the No CORS state, and its [3700]invalid value default is the [3701]Anonymous state. For the purposes of [3702]reflection, the [3703]canonical keyword for the [3704]Anonymous state is the [3705]anonymous keyword.

The majority of fetches governed by [3706]CORS settings attributes will be done via the [3707]create a potential-CORS request algorithm.

For more modern features, where the request's [3708]mode is always "cors", certain [3709]CORS settings attributes have been repurposed to have a slightly different meaning, wherein they only impact the [3710]request's [3711]credentials mode. To perform this translation, we define the CORS settings attribute credentials mode for a given [3712]CORS settings attribute to be determined by switching on the attribute's state:

[3713]No CORS [3714]Anonymous "same-origin"

[3715]Use Credentials "include"

2.5.5 Referrer policy attributes

A referrer policy attribute is an [3716]enumerated attribute. Each [3717]referrer policy, including the empty string, is a keyword for this attribute, mapping to a state of the same name.

The attribute's [3718]missing value default and [3719]invalid value default are both the empty string state.

The impact of these states on the processing model of various [3720]fetches is defined in more detail throughout this specification, in Fetch, and in Referrer Policy. [3721][FETCH] [3722][REFERRERPOLICY]

Several signals can contribute to which processing model is used for a given [3723]fetch; a [3724]referrer policy attribute is only one of them. In general, the order in which these signals are processed are: 1. First, the presence of a [3725]noreferrer link type; 2. Then, the value of a [3726]referrer policy attribute; 3. Then, the presence of any [3727]meta element with [3728]name attribute set to [3729]referrer. 4. Finally, the `[3730]Referrer-Policy` HTTP header.

2.5.6 Nonce attributes

(BUTTON) ✔MDN

[3731]Global_attributes/nonce

Support in all current engines. Firefox31+SafariYesChromeYes __________________________________________________________________

Opera?EdgeYes __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

A nonce content attribute represents a cryptographic nonce ("number used once") which can be used by Content Security Policy to determine whether or not a given fetch will be allowed to proceed. The value is text. [3732][CSP]

Elements that have a [3733]nonce content attribute ensure that the cryptographic nonce is only exposed to script (and not to side-channels like CSS attribute selectors) by taking the value from the content attribute, moving it into an internal slot named [[CryptographicNonce]], exposing it to script via the [3734]HTMLOrSVGElement interface mixin, and setting the content attribute to the empty string. Unless otherwise specified, the slot's value is the empty string.

element.[3735]nonce Returns the value set for element's cryptographic nonce. If the setter was not used, this will be the value originally found in the [3736]nonce content attribute.

element.[3737]nonce = value Updates element's cryptographic nonce value.

(BUTTON) MDN

[3738]HTMLElement/nonce Firefox75+Safari🔰 10+Chrome61+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The nonce IDL attribute must, on getting, return the value of this element's [3739][[CryptographicNonce]]; and on setting, set this element's [3740][[CryptographicNonce]] to the given value.

Note how the setter for the [3741]nonce IDL attribute does not update the corresponding content attribute. This, as well as the below setting of the [3742]nonce content attribute to the empty string when an element [3743]becomes browsing-context connected, is meant to prevent exfiltration of the nonce value through mechanisms that can easily read content attributes, such as selectors. Learn more in [3744]issue #2369, where this behavior was introduced.

The following [3745]attribute change steps are used for the [3746]nonce content attribute: 1. If element does not [3747]include [3748]HTMLOrSVGElement, then return. 2. If localName is not [3749]nonce or namespace is not null, then return. 3. If value is null, then set element's [3750][[CryptographicNonce]] to the empty string. 4. Otherwise, set element's [3751][[CryptographicNonce]] to value.

Whenever an element [3752]including [3753]HTMLOrSVGElement [3754]becomes browsing-context connected, the user agent must execute the following steps on the element: 1. Let CSP list be element's [3755]shadow-including root's [3756]policy container's [3757]CSP list. 2. If CSP list [3758]contains a header-delivered Content Security Policy, and element has a [3759]nonce content attribute whose value is not the empty string, then: 1. Let nonce be element's [3760][[CryptographicNonce]]. 2. [3761]Set an attribute value for element using "[3762]nonce" and the empty string. 3. Set element's [3763][[CryptographicNonce]] to nonce. If element's [3764][[CryptographicNonce]] were not restored it would be the empty string at this point.

The [3765]cloning steps for elements that [3766]include [3767]HTMLOrSVGElement given node, copy, and subtree are to set copy's [3768][[CryptographicNonce]] to node's [3769][[CryptographicNonce]].

2.5.7 Lazy loading attributes

(BUTTON) ✔MDN

[3770]Lazy_loading

Support in all current engines. Firefox75+Safari15.4+Chrome77+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

A lazy loading attribute is an [3771]enumerated attribute with the following keywords and states:

Keyword State Brief description lazy Lazy Used to defer fetching a resource until some conditions are met. eager Eager Used to fetch a resource immediately; the default state.

The attribute directs the user agent to fetch a resource immediately or to defer fetching until some conditions associated with the element are met, according to the attribute's current state.

The attribute's [3772]missing value default and [3773]invalid value default are both the [3774]Eager state. __________________________________________________________________

The will lazy load element steps, given an element element, are as follows: 1. If [3775]scripting is disabled for element, then return false. This is an anti-tracking measure, because if a user agent supported lazy loading when scripting is disabled, it would still be possible for a site to track a user's approximate scroll position throughout a session, by strategically placing images in a page's markup such that a server can track how many images are requested and when. 2. If element's [3776]lazy loading attribute is in the [3777]Lazy state, then return true. 3. Return false.

Each [3778]img and [3779]iframe element has associated lazy load resumption steps, initially null.

For [3780]img and [3781]iframe elements that [3782]will lazy load, these steps are run from the [3783]lazy load intersection observer's callback or when their [3784]lazy loading attribute is set to the [3785]Eager state. This causes the element to continue loading.

Each [3786]Document has a lazy load intersection observer, initially set to null but can be set to an [3787]IntersectionObserver instance.

To start intersection-observing a lazy loading element element, run these steps: 1. Let doc be element's [3788]node document. 2. If doc's [3789]lazy load intersection observer is null, set it to a new [3790]IntersectionObserver instance, initialized as follows: The intention is to use the original value of the [3791]IntersectionObserver constructor. However, we're forced to use the JavaScript-exposed constructor in this specification, until Intersection Observer exposes low-level hooks for use in specifications. See bug [3792]w3c/IntersectionObserver#464 which tracks this. [3793][INTERSECTIONOBSERVER] + The callback is these steps, with arguments entries and observer: 1. For each entry in entries using a method of iteration which does not trigger developer-modifiable array accessors or iteration hooks: 1. Let resumptionSteps be null. 2. If entry.[3794]isIntersecting is true, then set resumptionSteps to entry.[3795]target's [3796]lazy load resumption steps. 3. If resumptionSteps is null, then return. 4. [3797]Stop intersection-observing a lazy loading element for entry.[3798]target. 5. Set entry.[3799]target's [3800]lazy load resumption steps to null. 6. Invoke resumptionSteps. The intention is to use the original value of the [3801]isIntersecting and [3802]target getters. See [3803]w3c/IntersectionObserver#464. [3804][INTERSECTIONOBSERVER] + The options is an [3805]IntersectionObserverInit dictionary with the following dictionary members: «[ "scrollMargin" → [3806]lazy load scroll margin ]» This allows for fetching the image during scrolling, when it does not yet — but is about to — intersect the viewport. The [3807]lazy load scroll margin suggestions imply dynamic changes to the value, but the [3808]IntersectionObserver API does not support changing the scroll margin. See issue [3809]w3c/IntersectionObserver#428. 3. Call doc's [3810]lazy load intersection observer's [3811]observe method with element as the argument. The intention is to use the original value of the [3812]observe method. See [3813]w3c/IntersectionObserver#464. [3814][INTERSECTIONOBSERVER]

To stop intersection-observing a lazy loading element element, run these steps: 1. Let doc be element's [3815]node document. 2. [3816]Assert: doc's [3817]lazy load intersection observer is not null. 3. Call doc's [3818]lazy load intersection observer's [3819]unobserve method with element as the argument. The intention is to use the original value of the [3820]unobserve method. See [3821]w3c/IntersectionObserver#464. [3822][INTERSECTIONOBSERVER]

[3823](This is a tracking vector.) The lazy load scroll margin is an [3824]implementation-defined value, but with the following suggestions to consider: * Set a minimum value that most often results in the resources being loaded before they intersect the viewport under normal usage patterns for the given device. * The typical scrolling speed: increase the value for devices with faster typical scrolling speeds. * The current scrolling speed or momentum: the UA can attempt to predict where the scrolling will likely stop, and adjust the value accordingly. * The network quality: increase the value for slow or high-latency connections. * User preferences can influence the value.

It is important [3825]for privacy that the [3826]lazy load scroll margin not leak additional information. For example, the typical scrolling speed on the current device could be imprecise so as to not introduce a new fingerprinting vector.

2.5.8 Blocking attributes

A blocking attribute explicitly indicates that certain operations should be blocked on the fetching of an external resource. The operations that can be blocked are represented by possible blocking tokens, which are strings listed by the following table:

Possible blocking token Description "render" The element is [3827]potentially render-blocking.

In the future, there might be more [3828]possible blocking tokens.

A [3829]blocking attribute must have a value that is an [3830]unordered set of unique space-separated tokens, each of which are [3831]possible blocking tokens. The [3832]supported tokens of a [3833]blocking attribute are the [3834]possible blocking tokens. Any element can have at most one [3835]blocking attribute.

The blocking tokens set for an element el are the result of the following steps: 1. Let value be the value of el's [3836]blocking attribute, or the empty string if no such attribute exists. 2. Set value to value, [3837]converted to ASCII lowercase. 3. Let rawTokens be the result of [3838]splitting value on ASCII whitespace. 4. Return a set containing the elements of rawTokens that are [3839]possible blocking tokens.

An element is potentially render-blocking if its [3840]blocking tokens set contains "[3841]render", or if it is implicitly potentially render-blocking, which will be defined at the individual elements. By default, an element is not [3842]implicitly potentially render-blocking.

2.5.9 Fetch priority attributes

A fetch priority attribute is an [3843]enumerated attribute with the following keywords and states:

Keyword State Brief description high high Signals a high-priority [3844]fetch relative to other resources with the same [3845]destination. low low Signals a low-priority [3846]fetch relative to other resources with the same [3847]destination. auto auto Signals automatic determination of [3848]fetch priority relative to other resources with the same [3849]destination.

The attribute's [3850]missing value default and [3851]invalid value default are both the [3852]auto state.

2.6 Common DOM interfaces

2.6.1 Reflecting content attributes in IDL attributes

The building blocks for reflecting are as follows: * A reflected target is an element or [3853]ElementInternals object. It is typically clear from context and typically identical to the interface of the [3854]reflected IDL attribute. It is always identical to that interface when it is an [3855]ElementInternals object. * A reflected IDL attribute is an attribute interface member. * A reflected content attribute name is a string. When the [3856]reflected target is an element, it represents the local name of a content attribute whose namespace is null. When the [3857]reflected target is an [3858]ElementInternals object, it represents a key of the [3859]reflected target's [3860]target element's [3861]internal content attribute map.

A [3862]reflected IDL attribute can be defined to reflect a [3863]reflected content attribute name of a [3864]reflected target. In general this means that the IDL attribute getter returns the current value of the content attribute, and the setter changes the value of the content attribute to the given value.

If the [3865]reflected target is an element, then the [3866]reflected IDL attribute can additionally declare to support ElementInternals. This means that the [3867]ElementInternals interface also has a [3868]reflected IDL attribute, with the same identifier, and that [3869]reflected IDL attribute [3870]reflects the same [3871]reflected content attribute name.

The fooBar IDL attribute must [3872]reflect the foobar content attribute and [3873]support ElementInternals.

[3874]Reflected targets have these associated algorithms: * get the element: takes no arguments; returns an element. * get the content attribute: takes no arguments; returns null or a string. * set the content attribute: takes a string value; returns nothing. * delete the content attribute: takes no arguments; returns nothing.

For a [3875]reflected target that is an element element, these are defined as follows:

[3876]get the element

1. Return element.

[3877]get the content attribute

1. Let attribute be the result of running [3878]get an attribute by namespace and local name given null, the [3879]reflected content attribute name, and element. 2. If attribute is null, then return null. 3. Return attribute's [3880]value.

[3881]set the content attribute with a string value

1. [3882]Set an attribute value given element, the [3883]reflected content attribute name, and value.

[3884]delete the content attribute

1. [3885]Remove an attribute by namespace and local name given null, the [3886]reflected content attribute name, and element.

For a [3887]reflected target that is an [3888]ElementInternals object elementInternals, they are defined as follows:

[3889]get the element

1. Return elementInternals's [3890]target element.

[3891]get the content attribute

1. If elementInternals's [3892]target element's [3893]internal content attribute map[the [3894]reflected content attribute name] [3895]does not exist, then return null. 2. Return elementInternals's [3896]target element's [3897]internal content attribute map[the [3898]reflected content attribute name].

[3899]set the content attribute with a string value

1. [3900]Set elementInternals's [3901]target element's [3902]internal content attribute map[the [3903]reflected content attribute name] to value.

[3904]delete the content attribute

1. [3905]Remove elementInternals's [3906]target element's [3907]internal content attribute map[the [3908]reflected content attribute name].

This results in somewhat redundant data structures for [3909]ElementInternals objects as their [3910]target element's [3911]internal content attribute map cannot be directly manipulated and as such reflection is only happening in a single direction. This approach was nevertheless chosen to make it less error-prone to define IDL attributes that are shared between [3912]reflected targets and benefit from common API semantics. __________________________________________________________________

IDL attributes of type [3913]DOMString or [3914]DOMString? that [3915]reflect [3916]enumerated content attributes can be limited to only known values. Per the processing models below, those will cause the getters for such IDL attributes to only return keywords for those enumerated attributes, or the empty string or null.

If a [3917]reflected IDL attribute has the type [3918]DOMString: * The getter steps are: 1. Let element be the result of running [3919]this's [3920]get the element. 2. Let contentAttributeValue be the result of running [3921]this's [3922]get the content attribute. 3. Let attributeDefinition be the attribute definition of element's content attribute whose namespace is null and local name is the [3923]reflected content attribute name. 4. If attributeDefinition indicates it is an [3924]enumerated attribute and the [3925]reflected IDL attribute is defined to be [3926]limited to only known values: 1. If contentAttributeValue does not correspond to any state of attributeDefinition (e.g., it is null and there is no [3927]missing value default), or if it is in a state of attributeDefinition with no associated keyword value, then return the empty string. 2. Return the [3928]canonical keyword for the state of attributeDefinition that contentAttributeValue corresponds to. 5. If contentAttributeValue is null, then return the empty string. 6. Return contentAttributeValue. * The setter steps are to run [3929]this's [3930]set the content attribute with the given value.

If a [3931]reflected IDL attribute has the type [3932]DOMString?: * The getter steps are: 1. Let element be the result of running [3933]this's [3934]get the element. 2. Let contentAttributeValue be the result of running [3935]this's [3936]get the content attribute. 3. Let attributeDefinition be the attribute definition of element's content attribute whose namespace is null and local name is the [3937]reflected content attribute name. 4. If attributeDefinition indicates it is an [3938]enumerated attribute: 1. [3939]Assert: the [3940]reflected IDL attribute is [3941]limited to only known values. 2. [3942]Assert: contentAttributeValue corresponds to a state of attributeDefinition. 3. If contentAttributeValue corresponds to a state of attributeDefinition with no associated keyword value, then return null. 4. Return the [3943]canonical keyword for the state of attributeDefinition that contentAttributeValue corresponds to. 5. Return contentAttributeValue. * The setter steps are: 1. If the given value is null, then run [3944]this's [3945]delete the content attribute. 2. Otherwise, run [3946]this's [3947]set the content attribute with the given value.

If a [3948]reflected IDL attribute has the type [3949]USVString: * The getter steps are: 1. Let element be the result of running [3950]this's [3951]get the element. 2. Let contentAttributeValue be the result of running [3952]this's [3953]get the content attribute. 3. Let attributeDefinition be the attribute definition of element's content attribute whose namespace is null and local name is the [3954]reflected content attribute name. 4. If attributeDefinition indicates it contains a [3955]URL: 1. If contentAttributeValue is null, then return the empty string. 2. Let urlString be the result of [3956]encoding-parsing-and-serializing a URL given contentAttributeValue, relative to element's [3957]node document. 3. If urlString is not failure, then return urlString. 5. Return contentAttributeValue, [3958]converted to a scalar value string. * The setter steps are to run [3959]this's [3960]set the content attribute with the given value.

If a [3961]reflected IDL attribute has the type [3962]boolean: * The getter steps are: 1. Let contentAttributeValue be the result of running [3963]this's [3964]get the content attribute. 2. If contentAttributeValue is null, then return false. 3. Return true. * The setter steps are: 1. If the given value is false, then run [3965]this's [3966]delete the content attribute. 2. If the given value is true, then run [3967]this's [3968]set the content attribute with the empty string.

This corresponds to the rules for [3969]boolean content attributes.

If a [3970]reflected IDL attribute has the type [3971]long, optionally limited to only non-negative numbers and optionally with a default value defaultValue: * The getter steps are: 1. Let contentAttributeValue be the result of running [3972]this's [3973]get the content attribute. 2. If contentAttributeValue is not null: 1. Let parsedValue be the result of [3974]integer parsing contentAttributeValue if the [3975]reflected IDL attribute is not [3976]limited to only non-negative numbers; otherwise the result of [3977]non-negative integer parsing contentAttributeValue. 2. If parsedValue is not an error and is within the [3978]long range, then return parsedValue. 3. If the [3979]reflected IDL attribute has a [3980]default value, then return defaultValue. 4. If the [3981]reflected IDL attribute is [3982]limited to only non-negative numbers, then return −1. 5. Return 0. * The setter steps are: 1. If the [3983]reflected IDL attribute is [3984]limited to only non-negative numbers and the given value is negative, then throw an [3985]"IndexSizeError" [3986]DOMException. 2. Run [3987]this's [3988]set the content attribute with the given value converted to the shortest possible string representing the number as a [3989]valid integer.

If a [3990]reflected IDL attribute has the type [3991]unsigned long, optionally limited to only positive numbers, limited to only positive numbers with fallback, or clamped to the range [clampedMin, clampedMax], and optionally with a [3992]default value defaultValue: * The getter steps are: 1. Let contentAttributeValue be the result of running [3993]this's [3994]get the content attribute. 2. Let minimum be 0. 3. If the [3995]reflected IDL attribute is [3996]limited to only positive numbers or [3997]limited to only positive numbers with fallback, then set minimum to 1. 4. If the [3998]reflected IDL attribute is [3999]clamped to the range, then set minimum to clampedMin. 5. Let maximum be 2147483647 if the [4000]reflected IDL attribute is not [4001]clamped to the range; otherwise clampedMax. 6. If contentAttributeValue is not null: 1. Let parsedValue be the result of [4002]non-negative integer parsing contentAttributeValue. 2. If parsedValue is not an error and is in the range minimum to maximum, inclusive, then return parsedValue. 3. If parsedValue is not an error and the [4003]reflected IDL attribute is [4004]clamped to the range: 1. If parsedValue is less than minimum, then return minimum. 2. Return maximum. 7. If the [4005]reflected IDL attribute has a [4006]default value, then return defaultValue. 8. Return minimum. * The setter steps are: 1. If the [4007]reflected IDL attribute is [4008]limited to only positive numbers and the given value is 0, then throw an [4009]"IndexSizeError" [4010]DOMException. 2. Let minimum be 0. 3. If the [4011]reflected IDL attribute is [4012]limited to only positive numbers or [4013]limited to only positive numbers with fallback, then set minimum to 1. 4. Let newValue be minimum. 5. If the [4014]reflected IDL attribute has a [4015]default value, then set newValue to defaultValue. 6. If the given value is in the range minimum to 2147483647, inclusive, then set newValue to it. 7. Run [4016]this's [4017]set the content attribute with newValue converted to the shortest possible string representing the number as a [4018]valid non-negative integer. [4019]Clamped to the range has no effect on the setter steps.

If a [4020]reflected IDL attribute has the type [4021]double, optionally [4022]limited to only positive numbers and optionally with a [4023]default value defaultValue: * The getter steps are: 1. Let contentAttributeValue be the result of running [4024]this's [4025]get the content attribute. 2. If contentAttributeValue is not null: 1. Let parsedValue be the result of [4026]floating-point number parsing contentAttributeValue. 2. If parsedValue is not an error and is greater than 0, then return parsedValue. 3. If parsedValue is not an error and the [4027]reflected IDL attribute is not [4028]limited to only positive numbers, then return parsedValue. 3. If the [4029]reflected IDL attribute has a [4030]default value, then return defaultValue. 4. Return 0. * The setter steps are: 1. If the [4031]reflected IDL attribute is [4032]limited to only positive numbers and the given value is not greater than 0, then return. 2. Run [4033]this's [4034]set the content attribute with the given value, converted to the [4035]best representation of the number as a floating-point number.

The values Infinity and Not-a-Number (NaN) values throw an exception on setting, as defined in Web IDL. [4036][WEBIDL]

If a [4037]reflected IDL attribute has the type [4038]DOMTokenList, then its getter steps are to return a [4039]DOMTokenList object whose associated element is [4040]this and associated attribute's local name is the [4041]reflected content attribute name. Specification authors cannot use [4042]support ElementInternals for IDL attributes of this type.

If a [4043]reflected IDL attribute has the type T?, where T is either [4044]Element or an interface that inherits from [4045]Element, then with attr being the [4046]reflected content attribute name: * Its [4047]reflected target has an explicitly set attr-element, which is a weak reference to an element or null. It is initially null. * Its [4048]reflected target reflectedTarget has a get the attr-associated element algorithm, that runs these steps: 1. Let element be the result of running reflectedTarget's [4049]get the element. 2. Let contentAttributeValue be the result of running reflectedTarget's [4050]get the content attribute. 3. If reflectedTarget's [4051]explicitly set attr-element is not null: 1. If reflectedTarget's [4052]explicitly set attr-element is a [4053]descendant of any of element's [4054]shadow-including ancestors, then return reflectedTarget's [4055]explicitly set attr-element. 2. Return null. 4. Otherwise, if contentAttributeValue is not null, return the first element candidate, in [4056]tree order, that meets the following criteria: o candidate's [4057]root is the same as element's [4058]root; o candidate's [4059]ID is contentAttributeValue; and o candidate [4060]implements T. If no such element exists, then return null. 5. Return null. * The getter steps are to return the result of running [4061]this's [4062]get the attr-associated element. * The setter steps are: 1. If the given value is null, then: 1. Set [4063]this's [4064]explicitly set attr-element to null. 2. Run [4065]this's [4066]delete the content attribute. 3. Return. 2. Run [4067]this's [4068]set the content attribute with the empty string. 3. Set [4069]this's [4070]explicitly set attr-element to a weak reference to the given value. * For element [4071]reflected targets only: the following [4072]attribute change steps, given element, localName, oldValue, value, and namespace, are used to synchronize between the content attribute and the IDL attribute: 1. If localName is not attr or namespace is not null, then return. 2. Set element's [4073]explicitly set attr-element to null.

[4074]Reflected IDL attributes of this type are strongly encouraged to have their identifier end in "Element" for consistency.

If a [4075]reflected IDL attribute has the type FrozenArray?, where T is either [4076]Element or an interface that inherits from [4077]Element, then with attr being the [4078]reflected content attribute name: * Its [4079]reflected target has an explicitly set attr-elements, which is either a [4080]list of weak references to elements or null. It is initially null. * Its [4081]reflected target has a cached attr-associated elements, which is a [4082]list of elements. It is initially « ». * Its [4083]reflected target has a cached attr-associated elements object, which is a FrozenArray?. It is initially null. * Its [4084]reflected target reflectedTarget has a get the attr-associated elements algorithm, which runs these steps: 1. Let elements be an empty [4085]list. 2. Let element be the result of running reflectedTarget's [4086]get the element. 3. If reflectedTarget's [4087]explicitly set attr-elements is not null: 1. [4088]For each attrElement in reflectedTarget's [4089]explicitly set attr-elements: 1. If attrElement is not a [4090]descendant of any of element's [4091]shadow-including ancestors, then [4092]continue. 2. [4093]Append attrElement to elements. 4. Otherwise: 1. Let contentAttributeValue be the result of running reflectedTarget's [4094]get the content attribute. 2. If contentAttributeValue is null, then return null. 3. Let tokens be contentAttributeValue, [4095]split on ASCII whitespace. 4. [4096]For each id of tokens: 1. Let candidate be the first element, in [4097]tree order, that meets the following criteria: @ candidate's [4098]root is the same as element's [4099]root; @ candidate's [4100]ID is id; and @ candidate [4101]implements T. If no such element exists, then [4102]continue. 2. [4103]Append candidate to elements. 5. Return elements. * The getter steps are: 1. Let elements be the result of running [4104]this's [4105]get the attr-associated elements. 2. If the contents of elements is equal to the contents of [4106]this's [4107]cached attr-associated elements, then return [4108]this's [4109]cached attr-associated elements object. 3. Let elementsAsFrozenArray be elements, [4110]converted to a FrozenArray?. 4. Set [4111]this's [4112]cached attr-associated elements to elements. 5. Set [4113]this's [4114]cached attr-associated elements object to elementsAsFrozenArray. 6. Return elementsAsFrozenArray. This extra caching layer is necessary to preserve the invariant that element.reflectedElements === element.reflectedElements. * The setter steps are: 1. If the given value is null: 1. Set [4115]this's [4116]explicitly set attr-elements to null. 2. Run [4117]this's [4118]delete the content attribute. 3. Return. 2. Run [4119]this's [4120]set the content attribute with the empty string. 3. Let elements be an empty [4121]list. 4. [4122]For each element in the given value: 1. [4123]Append a weak reference to element to elements. 5. Set [4124]this's [4125]explicitly set attr-elements to elements. * For element [4126]reflected targets only: the following [4127]attribute change steps, given element, localName, oldValue, value, and namespace, are used to synchronize between the content attribute and the IDL attribute: 1. If localName is not attr or namespace is not null, then return. 2. Set element's [4128]explicitly set attr-elements to null.

[4129]Reflected IDL attributes of this type are strongly encouraged to have their identifier end in "Elements" for consistency.

2.6.2 Using reflect in specifications

[4130]Reflection is primarily about improving web developer ergonomics by giving them typed access to content attributes through [4131]reflected IDL attributes. The ultimate source of truth, which the web platform builds upon, is the content attributes themselves. That is, specification authors must not use the [4132]reflected IDL attribute getter or setter steps, but instead must use the content attribute presence and value. (Or an abstraction on top, such as the state of an [4133]enumerated attribute.)

Two important exceptions to this are [4134]reflected IDL attributes whose type is one of the following: * T?, where T is either [4135]Element or an interface that inherits from [4136]Element * FrozenArray?, where T is either [4137]Element or an interface that inherits from [4138]Element

For those, specification authors must use the [4139]reflected target's [4140]get the attr-associated element and [4141]get the attr-associated elements, respectively. The content attribute presence and value must not be used as they cannot be fully synchronized with the [4142]reflected IDL attribute.

A [4143]reflected target's [4144]explicitly set attr-element, [4145]explicitly set attr-elements, [4146]cached attr-associated elements, and [4147]cached attr-associated elements object are to be treated as internal implementation details and not to be built upon.

2.6.3 Collections

The [4148]HTMLFormControlsCollection and [4149]HTMLOptionsCollection interfaces are [4150]collections derived from the [4151]HTMLCollection interface. The [4152]HTMLAllCollection interface is a [4153]collection, but is not so derived.

2.6.3.1 The [4154]HTMLAllCollection interface

The [4155]HTMLAllCollection interface is used for the legacy [4156]document.all attribute. It operates similarly to [4157]HTMLCollection; the main differences are that it allows a staggering variety of different (ab)uses of its methods to all end up returning something, and that it can be called as a function as an alternative to property access.

All [4158]HTMLAllCollection objects are rooted at a [4159]Document and have a filter that matches all elements, so the elements [4160]represented by the collection of an [4161]HTMLAllCollection object consist of all the descendant elements of the root [4162]Document.

Objects that implement the [4163]HTMLAllCollection interface are [4164]legacy platform objects with an additional [[Call]] internal method described in the [4165]section below. They also have an [4166][[IsHTMLDDA]] internal slot.

Objects that implement the [4167]HTMLAllCollection interface have several unusual behaviors, due of the fact that they have an [4168][[IsHTMLDDA]] internal slot: * The [4169]ToBoolean abstract operation in JavaScript returns false when given objects implementing the [4170]HTMLAllCollection interface. * The [4171]IsLooselyEqual abstract operation, when given objects implementing the [4172]HTMLAllCollection interface, returns true when compared to the undefined and null values. (Comparisons using the [4173]IsStrictlyEqual abstract operation, and IsLooselyEqual comparisons to other values such as strings or objects, are unaffected.) * The [4174]typeof operator in JavaScript returns the string "undefined" when applied to objects implementing the [4175]HTMLAllCollection interface.

These special behaviors are motivated by a desire for compatibility with two classes of legacy content: one that uses the presence of [4176]document.all as a way to detect legacy user agents, and one that only supports those legacy user agents and uses the [4177]document.all object without testing for its presence first. [4178][JAVASCRIPT]

[Exposed=Window, [4179]LegacyUnenumerableNamedProperties] interface HTMLAllCollection { readonly attribute unsigned long [4180]length; getter [4181]Element (unsigned long index); getter ([4182]HTMLCollection or [4183]Element)? [4184]namedItem(DOMString name ); ([4185]HTMLCollection or [4186]Element)? [4187]item(optional DOMString nameOrI ndex);

// Note: HTMLAllCollection objects have a [4188]custom [[Call]] internal metho d and an [4189][[IsHTMLDDA]] internal slot. };

The object's [4190]supported property indices are as defined for [4191]HTMLCollection objects.

The [4192]supported property names consist of the non-empty values of all the [4193]id attributes of all the elements [4194]represented by the collection, and the non-empty values of all the name attributes of all the [4195]"all"-named elements [4196]represented by the collection, in [4197]tree order, ignoring later duplicates, with the [4198]id of an element preceding its name if it contributes both, they differ from each other, and neither is the duplicate of an earlier entry.

The length getter steps are to return the number of nodes [4199]represented by the collection.

The indexed property getter must return the result of [4200]getting the "all"-indexed element from [4201]this given the passed index.

The namedItem(name) method steps are to return the result of [4202]getting the "all"-named element(s) from [4203]this given name.

The item(nameOrIndex) method steps are: 1. If nameOrIndex was not provided, return null. 2. Return the result of [4204]getting the "all"-indexed or named element(s) from [4205]this, given nameOrIndex. __________________________________________________________________

The following elements are "all"-named elements: [4206]a, [4207]button, [4208]embed, [4209]form, [4210]frame, [4211]frameset, [4212]iframe, [4213]img, [4214]input, [4215]map, [4216]meta, [4217]object, [4218]select, and [4219]textarea

To get the "all"-indexed element from an [4220]HTMLAllCollection collection given an index index, return the index^th element in collection, or null if there is no such index^th element.

To get the "all"-named element(s) from an [4221]HTMLAllCollection collection given a name name, perform the following steps: 1. If name is the empty string, return null. 2. Let subCollection be an [4222]HTMLCollection object rooted at the same [4223]Document as collection, whose filter matches only elements that are either: + [4224]"all"-named elements with a name attribute equal to name, or, + elements with an [4225]ID equal to name. 3. If there is exactly one element in subCollection, then return that element. 4. Otherwise, if subCollection is empty, return null. 5. Otherwise, return subCollection.

To get the "all"-indexed or named element(s) from an [4226]HTMLAllCollection collection given nameOrIndex: 1. If nameOrIndex, [4227]converted to a JavaScript String value, is an [4228]array index property name, return the result of [4229]getting the "all"-indexed element from collection given the number represented by nameOrIndex. 2. Return the result of [4230]getting the "all"-named element(s) from collection given nameOrIndex.

2.6.3.1.1 [[Call]] ( thisArgument, argumentsList )

1. If argumentsList's [4231]size is zero, or if argumentsList[0] is undefined, return null. 2. Let nameOrIndex be the result of [4232]converting argumentsList[0] to a [4233]DOMString. 3. Let result be the result of [4234]getting the "all"-indexed or named element(s) from this [4235]HTMLAllCollection given nameOrIndex. 4. Return the result of [4236]converting result to an ECMAScript value.

The thisArgument is ignored, and thus code such as Function.prototype.call.call(document.all, null, "x") will still search for elements. (document.all.call does not exist, since document.all does not inherit from Function.prototype.)

2.6.3.2 The [4237]HTMLFormControlsCollection interface

The [4238]HTMLFormControlsCollection interface is used for [4239]collections of [4240]listed elements in [4241]form elements.

(BUTTON) ✔MDN

[4242]HTMLFormControlsCollection

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[4243]RadioNodeList

Support in all current engines. Firefox33+Safari7+Chrome21+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

[Exposed=Window] interface HTMLFormControlsCollection : [4244]HTMLCollection { // inherits [4245]length and [4246]item() getter ([4247]RadioNodeList or [4248]Element)? [4249]namedItem(DOMString name) ; // shadows inherited [4250]namedItem() };

[Exposed=Window] interface RadioNodeList : [4251]NodeList { attribute DOMString [4252]value; };

collection.[4253]length Returns the number of elements in collection.

element = collection.[4254]item(index) element = collection[index] Returns the item at index index in collection. The items are sorted in [4255]tree order.

element = collection.[4256]namedItem(name)

(BUTTON) ✔MDN

[4257]HTMLFormControlsCollection/namedItem

Support in all current engines.

Firefox33+Safari4+Chrome1+ ___________________________________________________________

Opera12.1+Edge79+ ___________________________________________________________

Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

radioNodeList = collection.[4258]namedItem(name) element = collection[name] radioNodeList = collection[name] Returns the item with [4259]ID or [4260]name name from collection.

If there are multiple matching items, then a [4261]RadioNodeList object containing all those elements is returned.

radioNodeList.[4262]value Returns the value of the first checked radio button represented by radioNodeList.

radioNodeList.[4263]value = value Checks the first radio button represented by radioNodeList that has value value.

The object's [4264]supported property indices are as defined for [4265]HTMLCollection objects.

The [4266]supported property names consist of the non-empty values of all the [4267]id and [4268]name attributes of all the elements [4269]represented by the collection, in [4270]tree order, ignoring later duplicates, with the [4271]id of an element preceding its [4272]name if it contributes both, they differ from each other, and neither is the duplicate of an earlier entry.

The namedItem(name) method must act according to the following algorithm: 1. If name is the empty string, return null and stop the algorithm. 2. If, at the time the method is called, there is exactly one node in the collection that has either an [4273]id attribute or a [4274]name attribute equal to name, then return that node and stop the algorithm. 3. Otherwise, if there are no nodes in the collection that have either an [4275]id attribute or a [4276]name attribute equal to name, then return null and stop the algorithm. 4. Otherwise, create a new [4277]RadioNodeList object representing a [4278]live view of the [4279]HTMLFormControlsCollection object, further filtered so that the only nodes in the [4280]RadioNodeList object are those that have either an [4281]id attribute or a [4282]name attribute equal to name. The nodes in the [4283]RadioNodeList object must be sorted in [4284]tree order. 5. Return that [4285]RadioNodeList object. __________________________________________________________________

Members of the [4286]RadioNodeList interface inherited from the [4287]NodeList interface must behave as they would on a [4288]NodeList object.

(BUTTON) ✔MDN

[4289]RadioNodeList/value

Support in all current engines. Firefox33+Safari7+Chrome21+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The value IDL attribute on the [4290]RadioNodeList object, on getting, must return the value returned by running the following steps: 1. Let element be the first element in [4291]tree order represented by the [4292]RadioNodeList object that is an [4293]input element whose [4294]type attribute is in the [4295]Radio Button state and whose [4296]checkedness is true. Otherwise, let it be null. 2. If element is null, return the empty string. 3. If element is an element with no [4297]value attribute, return the string "on". 4. Otherwise, return the value of element's [4298]value attribute.

On setting, the [4299]value IDL attribute must run the following steps: 1. If the new value is the string "on": let element be the first element in [4300]tree order represented by the [4301]RadioNodeList object that is an [4302]input element whose [4303]type attribute is in the [4304]Radio Button state and whose [4305]value content attribute is either absent, or present and equal to the new value, if any. If no such element exists, then instead let element be null. Otherwise: let element be the first element in [4306]tree order represented by the [4307]RadioNodeList object that is an [4308]input element whose [4309]type attribute is in the [4310]Radio Button state and whose [4311]value content attribute is present and equal to the new value, if any. If no such element exists, then instead let element be null. 2. If element is not null, then set its [4312]checkedness to true.

2.6.3.3 The [4313]HTMLOptionsCollection interface

(BUTTON) ✔MDN

[4314]HTMLOptionsCollection

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer6+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

The [4315]HTMLOptionsCollection interface is used for [4316]collections of [4317]option elements. It is always rooted on a [4318]select element and has attributes and methods that manipulate that element's descendants. [Exposed=Window] interface HTMLOptionsCollection : [4319]HTMLCollection { // inherits [4320]item(), [4321]namedItem() [[4322]CEReactions] attribute unsigned long [4323]length; // shadows inherited [4324]length [[4325]CEReactions] [4326]setter undefined (unsigned long index, [4327]HTMLOpt ionElement? option); [[4328]CEReactions] undefined [4329]add(([4330]HTMLOptionElement or [4331]HTML OptGroupElement) element, optional ([4332]HTMLElement or long)? before = null); [[4333]CEReactions] undefined [4334]remove(long index); attribute long [4335]selectedIndex; };

collection.[4336]length Returns the number of elements in collection.

collection.[4337]length = value When set to a smaller number than the existing length, truncates the number of [4338]option elements in the container corresponding to collection.

When set to a greater number than the existing length, if that number is less than or equal to 100000, adds new blank [4339]option elements to the container corresponding to collection.

element = collection.[4340]item(index) element = collection[index] Returns the item at index index in collection. The items are sorted in [4341]tree order.

collection[index] = element When index is a greater number than the number of items in collection, adds new blank [4342]option elements in the corresponding container.

When set to null, removes the item at index index from collection.

When set to an [4343]option element, adds or replaces it at index index in collection.

element = collection.[4344]namedItem(name) element = collection[name] Returns the item with [4345]ID or [4346]name name from collection.

If there are multiple matching items, then the first is returned.

collection.[4347]add(element[, before]) Inserts element before the node given by before.

The before argument can be a number, in which case element is inserted before the item with that number, or an element from collection, in which case element is inserted before that element.

If before is omitted, null, or a number out of range, then element will be added at the end of the list.

Throws a [4348]"HierarchyRequestError" [4349]DOMException if element is an ancestor of the element into which it is to be inserted.

collection.[4350]remove(index) Removes the item with index index from collection.

collection.[4351]selectedIndex Returns the index of the first selected item, if any, or −1 if there is no selected item.

collection.[4352]selectedIndex = index Changes the selection to the [4353]option element at index index in collection.

The object's [4354]supported property indices are as defined for [4355]HTMLCollection objects.

The length getter steps are to return the number of nodes [4356]represented by the collection.

The [4357]length setter steps are: 1. Let current be the number of nodes [4358]represented by the collection. 2. If the given value is greater than current, then: 1. If the given value is greater than 100,000, then return. 2. Let n be value − current. 3. Append n new [4359]option elements with no attributes and no child nodes to the [4360]select element on which [4361]this is rooted. 3. If the given value is less than current, then: 1. Let n be current − value. 2. Remove the last n nodes in the collection from their parent nodes.

Setting [4362]length never removes or adds any [4363]optgroup elements, and never adds new children to existing [4364]optgroup elements (though it can remove children from them).

The [4365]supported property names consist of the non-empty values of all the [4366]id and [4367]name attributes of all the elements [4368]represented by the collection, in [4369]tree order, ignoring later duplicates, with the [4370]id of an element preceding its [4371]name if it contributes both, they differ from each other, and neither is the duplicate of an earlier entry.

When the user agent is to [4372]set the value of a new indexed property or [4373]set the value of an existing indexed property for a given property index index to a new value value, it must run the following algorithm: 1. If value is null, invoke the steps for the [4374]remove method with index as the argument, and return. 2. Let length be the number of nodes [4375]represented by the collection. 3. Let n be index minus length. 4. If n is greater than zero, then [4376]append a [4377]DocumentFragment consisting of n-1 new [4378]option elements with no attributes and no child nodes to the [4379]select element on which the [4380]HTMLOptionsCollection is rooted. 5. If n is greater than or equal to zero, [4381]append value to the [4382]select element. Otherwise, [4383]replace the indexth element in the collection by value.

The add(element, before) method must act according to the following algorithm: 1. If element is an ancestor of the [4384]select element on which the [4385]HTMLOptionsCollection is rooted, then throw a [4386]"HierarchyRequestError" [4387]DOMException. 2. If before is an element, but that element isn't a descendant of the [4388]select element on which the [4389]HTMLOptionsCollection is rooted, then throw a [4390]"NotFoundError" [4391]DOMException. 3. If element and before are the same element, then return. 4. If before is a node, then let reference be that node. Otherwise, if before is an integer, and there is a beforeth node in the collection, let reference be that node. Otherwise, let reference be null. 5. If reference is not null, let parent be the parent node of reference. Otherwise, let parent be the [4392]select element on which the [4393]HTMLOptionsCollection is rooted. 6. [4394]Pre-insert element into parent node before reference.

The remove(index) method must act according to the following algorithm: 1. If the number of nodes [4395]represented by the collection is zero, return. 2. If index is not a number greater than or equal to 0 and less than the number of nodes [4396]represented by the collection, return. 3. Let element be the indexth element in the collection. 4. Remove element from its parent node.

The selectedIndex IDL attribute must act like the identically named attribute on the [4397]select element on which the [4398]HTMLOptionsCollection is rooted

2.6.4 The [4399]DOMStringList interface

(BUTTON) ✔MDN

[4400]DOMStringList

Support in all current engines. Firefox1+Safari5.1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android3+Samsung Internet?Opera Android12.1+

The [4401]DOMStringList interface is a non-fashionable retro way of representing a list of strings. [Exposed=(Window,Worker)] interface DOMStringList { readonly attribute unsigned long [4402]length; getter DOMString? [4403]item(unsigned long index); boolean [4404]contains(DOMString string); };

New APIs must use sequence or equivalent rather than [4405]DOMStringList.

strings.[4406]length Returns the number of strings in strings.

strings[index] strings.[4407]item(index) Returns the string with index index from strings.

strings.[4408]contains(string) Returns true if strings contains string, and false otherwise.

Each [4409]DOMStringList object has an associated [4410]list.

The [4411]DOMStringList interface [4412]supports indexed properties. The [4413]supported property indices are the [4414]indices of [4415]this's associated list.

(BUTTON) ✔MDN

[4416]DOMStringList/length

Support in all current engines. Firefox1+Safari5.1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

The length getter steps are to return [4417]this's associated list's [4418]size.

(BUTTON) ✔MDN

[4419]DOMStringList/item

Support in all current engines. Firefox1+Safari5.1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android3+Samsung Internet?Opera Android12.1+

The item(index) method steps are to return the indexth item in [4420]this's associated list, or null if index plus one is greater than [4421]this's associated list's [4422]size.

(BUTTON) ✔MDN

[4423]DOMStringList/contains

Support in all current engines. Firefox1.5+Safari5.1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android3+Samsung Internet?Opera Android12.1+

The contains(string) method steps are to return true if [4424]this's associated list [4425]contains string, and false otherwise.

2.7 Safe passing of structured data

To support passing JavaScript objects, including [4426]platform objects, across [4427]realm boundaries, this specification defines the following infrastructure for serializing and deserializing objects, including in some cases transferring the underlying data instead of copying it. Collectively this serialization/deserialization process is known as "structured cloning", although most APIs perform separate serialization and deserialization steps. (With the notable exception being the [4428]structuredClone() method.)

This section uses the terminology and typographic conventions from the JavaScript specification. [4429][JAVASCRIPT]

2.7.1 Serializable objects

(BUTTON) MDN

[4430]/developer.mozilla.org/en-US/docs/Glossary/Serializable_object Firefox103+SafariNoChrome77+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

[4431]/developer.mozilla.org/en-US/docs/Glossary/Serializable_object Firefox103+SafariNoChrome77+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

[4432]/developer.mozilla.org/en-US/docs/Glossary/Serializable_object Firefox103+SafariNoChrome77+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

[4433]/developer.mozilla.org/en-US/docs/Glossary/Serializable_object Firefox103+SafariNoChrome77+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

[4434]/developer.mozilla.org/en-US/docs/Glossary/Serializable_object Firefox103+SafariNoChrome77+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

[4435]/developer.mozilla.org/en-US/docs/Glossary/Serializable_object Firefox103+SafariNoChrome77+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

[4436]/developer.mozilla.org/en-US/docs/Glossary/Serializable_object Firefox103+SafariNoChrome77+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

[4437]Serializable objects support being serialized, and later deserialized, in a way that is independent of any given [4438]realm. This allows them to be stored on disk and later restored, or cloned across [4439]agent and even [4440]agent cluster boundaries.

Not all objects are [4441]serializable objects, and not all aspects of objects that are [4442]serializable objects are necessarily preserved when they are serialized.

[4443]Platform objects can be [4444]serializable objects if their [4445]primary interface is decorated with the [Serializable] IDL [4446]extended attribute. Such interfaces must also define the following algorithms:

serialization steps, taking a [4447]platform object value, a [4448]Record serialized, and a boolean forStorage A set of steps that serializes the data in value into fields of serialized. The resulting data serialized into serialized must be independent of any [4449]realm.

These steps may throw an exception if serialization is not possible.

These steps may perform a [4450]sub-serialization to serialize nested data structures. They should not call [4451]StructuredSerialize directly, as doing so will omit the important memory argument.

The introduction of these steps should omit mention of the forStorage argument if it is not relevant to the algorithm.

deserialization steps, taking a [4452]Record serialized, a [4453]platform object value, and a [4454]realm targetRealm A set of steps that deserializes the data in serialized, using it to set up value as appropriate. value will be a newly-created instance of the [4455]platform object type in question, with none of its internal data set up; setting that up is the job of these steps.

These steps may throw an exception if deserialization is not possible.

These steps may perform a [4456]sub-deserialization to deserialize nested data structures. They should not call [4457]StructuredDeserialize directly, as doing so will omit the important targetRealm and memory arguments.

It is up to the definition of individual platform objects to determine what data is serialized and deserialized by these steps. Typically the steps are very symmetric.

The [4458][Serializable] extended attribute must take no arguments, and must only appear on an interface. It must not appear more than once on an interface.

For a given [4459]platform object, only the object's [4460]primary interface is considered during the (de)serialization process. Thus, if inheritance is involved in defining the interface, each [4461][Serializable]-annotated interface in the inheritance chain needs to define standalone [4462]serialization steps and [4463]deserialization steps, including taking into account any important data that might come from inherited interfaces.

Let's say we were defining a platform object Person, which had associated with it two pieces of associated data: * a name value, which is a string; and * a best friend value, which is either another Person instance or null.

We could then define Person instances to be [4464]serializable objects by annotating the Person interface with the [4465][Serializable] [4466]extended attribute, and defining the following accompanying algorithms:

[4467]serialization steps

1. Set serialized.[[Name]] to value's associated name value. 2. Let serializedBestFriend be the [4468]sub-serialization of value's associated best friend value. 3. Set serialized.[[BestFriend]] to serializedBestFriend.

[4469]deserialization steps

1. Set value's associated name value to serialized.[[Name]]. 2. Let deserializedBestFriend be the [4470]sub-deserialization of serialized.[[BestFriend]]. 3. Set value's associated best friend value to deserializedBestFriend.

Objects defined in the JavaScript specification are handled by the [4471]StructuredSerialize abstract operation directly.

Originally, this specification defined the concept of "cloneable objects", which could be cloned from one [4472]realm to another. However, to better specify the behavior of certain more complex situations, the model was updated to make the serialization and deserialization explicit.

2.7.2 Transferable objects

[4473]Transferable objects support being transferred across [4474]agents. Transferring is effectively recreating the object while sharing a reference to the underlying data and then detaching the object being transferred. This is useful to transfer ownership of expensive resources. Not all objects are [4475]transferable objects and not all aspects of objects that are [4476]transferable objects are necessarily preserved when transferred.

Transferring is an irreversible and non-idempotent operation. Once an object has been transferred, it cannot be transferred, or indeed used, again.

[4477]Platform objects can be [4478]transferable objects if their [4479]primary interface is decorated with the [Transferable] IDL [4480]extended attribute. Such interfaces must also define the following algorithms:

transfer steps, taking a [4481]platform object value and a [4482]Record dataHolder A set of steps that transfers the data in value into fields of dataHolder. The resulting data held in dataHolder must be independent of any [4483]realm.

These steps may throw an exception if transferral is not possible.

transfer-receiving steps, taking a [4484]Record dataHolder and a [4485]platform object value A set of steps that receives the data in dataHolder, using it to set up value as appropriate. value will be a newly-created instance of the [4486]platform object type in question, with none of its internal data set up; setting that up is the job of these steps.

These steps may throw an exception if it is not possible to receive the transfer.

It is up to the definition of individual platform objects to determine what data is transferred by these steps. Typically the steps are very symmetric.

The [4487][Transferable] extended attribute must take no arguments, and must only appear on an interface. It must not appear more than once on an interface.

For a given [4488]platform object, only the object's [4489]primary interface is considered during the transferring process. Thus, if inheritance is involved in defining the interface, each [4490][Transferable]-annotated interface in the inheritance chain needs to define standalone [4491]transfer steps and [4492]transfer-receiving steps, including taking into account any important data that might come from inherited interfaces.

[4493]Platform objects that are [4494]transferable objects have a [[Detached]] internal slot. This is used to ensure that once a platform object has been transferred, it cannot be transferred again.

Objects defined in the JavaScript specification are handled by the [4495]StructuredSerializeWithTransfer abstract operation directly.

2.7.3 StructuredSerializeInternal ( value, forStorage [ , memory ] )

The [4496]StructuredSerializeInternal abstract operation takes as input a JavaScript value value and serializes it to a [4497]realm-independent form, represented here as a [4498]Record. This serialized form has all the information necessary to later deserialize into a new JavaScript value in a different realm.

This process can throw an exception, for example when trying to serialize un-serializable objects. 1. If memory was not supplied, let memory be an empty [4499]map. The purpose of the memory map is to avoid serializing objects twice. This ends up preserving cycles and the identity of duplicate objects in graphs. 2. If memory[value] [4500]exists, then return memory[value]. 3. Let deep be false. 4. If value is undefined, null, [4501]a Boolean, [4502]a Number, [4503]a BigInt, or [4504]a String, then return { [[Type]]: "primitive", [[Value]]: value }. 5. If value [4505]is a Symbol, then throw a [4506]"DataCloneError" [4507]DOMException. 6. Let serialized be an uninitialized value. 7. If value has a [[BooleanData]] internal slot, then set serialized to { [[Type]]: "Boolean", [[BooleanData]]: value.[[BooleanData]] }. 8. Otherwise, if value has a [[NumberData]] internal slot, then set serialized to { [[Type]]: "Number", [[NumberData]]: value.[[NumberData]] }. 9. Otherwise, if value has a [[BigIntData]] internal slot, then set serialized to { [[Type]]: "BigInt", [[BigIntData]]: value.[[BigIntData]] }. 10. Otherwise, if value has a [[StringData]] internal slot, then set serialized to { [[Type]]: "String", [[StringData]]: value.[[StringData]] }. 11. Otherwise, if value has a [[DateValue]] internal slot, then set serialized to { [[Type]]: "Date", [[DateValue]]: value.[[DateValue]] }. 12. Otherwise, if value has a [[RegExpMatcher]] internal slot, then set serialized to { [[Type]]: "RegExp", [[RegExpMatcher]]: value.[[RegExpMatcher]], [[OriginalSource]]: value.[[OriginalSource]], [[OriginalFlags]]: value.[[OriginalFlags]] }. 13. Otherwise, if value has an [[ArrayBufferData]] internal slot, then: 1. If [4508]IsSharedArrayBuffer(value) is true, then: 1. If the [4509]current settings object's [4510]cross-origin isolated capability is false, then throw a [4511]"DataCloneError" [4512]DOMException. This check is only needed when serializing (and not when deserializing) as the [4513]cross-origin isolated capability cannot change over time and a [4514]SharedArrayBuffer cannot leave an [4515]agent cluster. 2. If forStorage is true, then throw a [4516]"DataCloneError" [4517]DOMException. 3. If value has an [[ArrayBufferMaxByteLength]] internal slot, then set serialized to { [[Type]]: "GrowableSharedArrayBuffer", [[ArrayBufferData]]: value.[[ArrayBufferData]], [[ArrayBufferByteLengthData]]: value.[[ArrayBufferByteLengthData]], [[ArrayBufferMaxByteLength]]: value.[[ArrayBufferMaxByteLength]], [[AgentCluster]]: the [4518]surrounding agent's [4519]agent cluster }. 4. Otherwise, set serialized to { [[Type]]: "SharedArrayBuffer", [[ArrayBufferData]]: value.[[ArrayBufferData]], [[ArrayBufferByteLength]]: value.[[ArrayBufferByteLength]], [[AgentCluster]]: the [4520]surrounding agent's [4521]agent cluster }. 2. Otherwise: 1. If [4522]IsDetachedBuffer(value) is true, then throw a [4523]"DataCloneError" [4524]DOMException. 2. Let size be value.[[ArrayBufferByteLength]]. 3. Let dataCopy be ? [4525]CreateByteDataBlock(size). This can throw a [4526]RangeError exception upon allocation failure. 4. Perform [4527]CopyDataBlockBytes(dataCopy, 0, value.[[ArrayBufferData]], 0, size). 5. If value has an [[ArrayBufferMaxByteLength]] internal slot, then set serialized to { [[Type]]: "ResizableArrayBuffer", [[ArrayBufferData]]: dataCopy, [[ArrayBufferByteLength]]: size, [[ArrayBufferMaxByteLength]]: value.[[ArrayBufferMaxByteLength]] }. 6. Otherwise, set serialized to { [[Type]]: "ArrayBuffer", [[ArrayBufferData]]: dataCopy, [[ArrayBufferByteLength]]: size }. 14. Otherwise, if value has a [[ViewedArrayBuffer]] internal slot, then: 1. If [4528]IsArrayBufferViewOutOfBounds(value) is true, then throw a [4529]"DataCloneError" [4530]DOMException. 2. Let buffer be the value of value's [[ViewedArrayBuffer]] internal slot. 3. Let bufferSerialized be ? [4531]StructuredSerializeInternal(buffer, forStorage, memory). 4. [4532]Assert: bufferSerialized.[[Type]] is "ArrayBuffer", "ResizableArrayBuffer", "SharedArrayBuffer", or "GrowableSharedArrayBuffer". 5. If value has a [[DataView]] internal slot, then set serialized to { [[Type]]: "ArrayBufferView", [[Constructor]]: "DataView", [[ArrayBufferSerialized]]: bufferSerialized, [[ByteLength]]: value.[[ByteLength]], [[ByteOffset]]: value.[[ByteOffset]] }. 6. Otherwise: 1. [4533]Assert: value has a [[TypedArrayName]] internal slot. 2. Set serialized to { [[Type]]: "ArrayBufferView", [[Constructor]]: value.[[TypedArrayName]], [[ArrayBufferSerialized]]: bufferSerialized, [[ByteLength]]: value.[[ByteLength]], [[ByteOffset]]: value.[[ByteOffset]], [[ArrayLength]]: value.[[ArrayLength]] }. 15. Otherwise, if value has [[MapData]] internal slot, then: 1. Set serialized to { [[Type]]: "Map", [[MapData]]: a new empty [4534]List }. 2. Set deep to true. 16. Otherwise, if value has [[SetData]] internal slot, then: 1. Set serialized to { [[Type]]: "Set", [[SetData]]: a new empty [4535]List }. 2. Set deep to true. 17. Otherwise, if value has an [[ErrorData]] internal slot and value is not a [4536]platform object, then: 1. Let name be ? [4537]Get(value, "name"). 2. If name is not one of "Error", "EvalError", "RangeError", "ReferenceError", "SyntaxError", "TypeError", or "URIError", then set name to "Error". 3. Let valueMessageDesc be ? value.[[GetOwnProperty]]("message"). 4. Let message be undefined if [4538]IsDataDescriptor(valueMessageDesc) is false, and ? [4539]ToString(valueMessageDesc.[[Value]]) otherwise. 5. Set serialized to { [[Type]]: "Error", [[Name]]: name, [[Message]]: message }. 6. User agents should attach a serialized representation of any interesting accompanying data which are not yet specified, notably the stack property, to serialized. See the Error Stacks proposal for in-progress work on specifying this data. [4540][JSERRORSTACKS] 18. Otherwise, if value is an Array exotic object, then: 1. Let valueLenDescriptor be ? [4541]OrdinaryGetOwnProperty(value, "length"). 2. Let valueLen be valueLenDescriptor.[[Value]]. 3. Set serialized to { [[Type]]: "Array", [[Length]]: valueLen, [[Properties]]: a new empty [4542]List }. 4. Set deep to true. 19. Otherwise, if value is a [4543]platform object that is a [4544]serializable object: 1. If value has a [4545][[Detached]] internal slot whose value is true, then throw a [4546]"DataCloneError" [4547]DOMException. 2. Let typeString be the identifier of the [4548]primary interface of value. 3. Set serialized to { [[Type]]: typeString }. 4. Set deep to true. 20. Otherwise, if value is a [4549]platform object, then throw a [4550]"DataCloneError" [4551]DOMException. 21. Otherwise, if [4552]IsCallable(value) is true, then throw a [4553]"DataCloneError" [4554]DOMException. 22. Otherwise, if value has any internal slot other than [[Prototype]], [[Extensible]], or [[PrivateElements]], then throw a [4555]"DataCloneError" [4556]DOMException. For instance, a [[PromiseState]] or [[WeakMapData]] internal slot. 23. Otherwise, if value is an exotic object and value is not the [4557]%Object.prototype% intrinsic object associated with any [4558]realm, then throw a [4559]"DataCloneError" [4560]DOMException. For instance, a proxy object. 24. Otherwise: 1. Set serialized to { [[Type]]: "Object", [[Properties]]: a new empty [4561]List }. 2. Set deep to true. [4562]%Object.prototype% will end up being handled via this step and subsequent steps. The end result is that its exoticness is ignored, and after deserialization the result will be an empty object (not an [4563]immutable prototype exotic object). 25. [4564]Set memory[value] to serialized. 26. If deep is true, then: 1. If value has a [[MapData]] internal slot, then: 1. Let copiedList be a new empty [4565]List. 2. [4566]For each [4567]Record { [[Key]], [[Value]] } entry of value.[[MapData]]: 1. Let copiedEntry be a new [4568]Record { [[Key]]: entry.[[Key]], [[Value]]: entry.[[Value]] }. 2. If copiedEntry.[[Key]] is not the special value empty, [4569]append copiedEntry to copiedList. 3. [4570]For each [4571]Record { [[Key]], [[Value]] } entry of copiedList: 1. Let serializedKey be ? [4572]StructuredSerializeInternal(entry.[[Key]], forStorage, memory). 2. Let serializedValue be ? [4573]StructuredSerializeInternal(entry.[[Value]], forStorage, memory). 3. [4574]Append { [[Key]]: serializedKey, [[Value]]: serializedValue } to serialized.[[MapData]]. 2. Otherwise, if value has a [[SetData]] internal slot, then: 1. Let copiedList be a new empty [4575]List. 2. [4576]For each entry of value.[[SetData]]: 1. If entry is not the special value empty, [4577]append entry to copiedList. 3. [4578]For each entry of copiedList: 1. Let serializedEntry be ? [4579]StructuredSerializeInternal(entry, forStorage, memory). 2. [4580]Append serializedEntry to serialized.[[SetData]]. 3. Otherwise, if value is a [4581]platform object that is a [4582]serializable object, then perform the [4583]serialization steps for value's [4584]primary interface, given value, serialized, and forStorage. The [4585]serialization steps may need to perform a sub-serialization. This is an operation which takes as input a value subValue, and returns [4586]StructuredSerializeInternal(subValue, forStorage, memory). (In other words, a [4587]sub-serialization is a specialization of [4588]StructuredSerializeInternal to be consistent within this invocation.) 4. Otherwise, for each key in ! [4589]EnumerableOwnProperties(value, key): 1. If ! [4590]HasOwnProperty(value, key) is true, then: 1. Let inputValue be ? value.[[Get]](key, value). 2. Let outputValue be ? [4591]StructuredSerializeInternal(inputValue, forStorage, memory). 3. [4592]Append { [[Key]]: key, [[Value]]: outputValue } to serialized.[[Properties]]. 27. Return serialized.

It's important to realize that the [4593]Records produced by [4594]StructuredSerializeInternal might contain "pointers" to other records that create circular references. For example, when we pass the following JavaScript object into [4595]StructuredSerializeInternal: const o = {}; o.myself = o;

it produces the following result: { [[Type]]: "Object", [[Properties]]: « { [[Key]]: "myself", [[Value]]: } » }

2.7.4 StructuredSerialize ( value )

1. Return ? [4596]StructuredSerializeInternal(value, false).

2.7.5 StructuredSerializeForStorage ( value )

1. Return ? [4597]StructuredSerializeInternal(value, true).

2.7.6 StructuredDeserialize ( serialized, targetRealm [ , memory ] )

The [4598]StructuredDeserialize abstract operation takes as input a [4599]Record serialized, which was previously produced by [4600]StructuredSerialize or [4601]StructuredSerializeForStorage, and deserializes it into a new JavaScript value, created in targetRealm.

This process can throw an exception, for example when trying to allocate memory for the new objects (especially ArrayBuffer objects). 1. If memory was not supplied, let memory be an empty [4602]map. The purpose of the memory map is to avoid deserializing objects twice. This ends up preserving cycles and the identity of duplicate objects in graphs. 2. If memory[serialized] [4603]exists, then return memory[serialized]. 3. Let deep be false. 4. Let value be an uninitialized value. 5. If serialized.[[Type]] is "primitive", then set value to serialized.[[Value]]. 6. Otherwise, if serialized.[[Type]] is "Boolean", then set value to a new Boolean object in targetRealm whose [[BooleanData]] internal slot value is serialized.[[BooleanData]]. 7. Otherwise, if serialized.[[Type]] is "Number", then set value to a new Number object in targetRealm whose [[NumberData]] internal slot value is serialized.[[NumberData]]. 8. Otherwise, if serialized.[[Type]] is "BigInt", then set value to a new BigInt object in targetRealm whose [[BigIntData]] internal slot value is serialized.[[BigIntData]]. 9. Otherwise, if serialized.[[Type]] is "String", then set value to a new String object in targetRealm whose [[StringData]] internal slot value is serialized.[[StringData]]. 10. Otherwise, if serialized.[[Type]] is "Date", then set value to a new Date object in targetRealm whose [[DateValue]] internal slot value is serialized.[[DateValue]]. 11. Otherwise, if serialized.[[Type]] is "RegExp", then set value to a new RegExp object in targetRealm whose [[RegExpMatcher]] internal slot value is serialized.[[RegExpMatcher]], whose [[OriginalSource]] internal slot value is serialized.[[OriginalSource]], and whose [[OriginalFlags]] internal slot value is serialized.[[OriginalFlags]]. 12. Otherwise, if serialized.[[Type]] is "SharedArrayBuffer", then: 1. If targetRealm's corresponding [4604]agent cluster is not serialized.[[AgentCluster]], then throw a [4605]"DataCloneError" [4606]DOMException. 2. Otherwise, set value to a new SharedArrayBuffer object in targetRealm whose [[ArrayBufferData]] internal slot value is serialized.[[ArrayBufferData]] and whose [[ArrayBufferByteLength]] internal slot value is serialized.[[ArrayBufferByteLength]]. 13. Otherwise, if serialized.[[Type]] is "GrowableSharedArrayBuffer", then: 1. If targetRealm's corresponding [4607]agent cluster is not serialized.[[AgentCluster]], then throw a [4608]"DataCloneError" [4609]DOMException. 2. Otherwise, set value to a new SharedArrayBuffer object in targetRealm whose [[ArrayBufferData]] internal slot value is serialized.[[ArrayBufferData]], whose [[ArrayBufferByteLengthData]] internal slot value is serialized.[[ArrayBufferByteLengthData]], and whose [[ArrayBufferMaxByteLength]] internal slot value is serialized.[[ArrayBufferMaxByteLength]]. 14. Otherwise, if serialized.[[Type]] is "ArrayBuffer", then set value to a new ArrayBuffer object in targetRealm whose [[ArrayBufferData]] internal slot value is serialized.[[ArrayBufferData]], and whose [[ArrayBufferByteLength]] internal slot value is serialized.[[ArrayBufferByteLength]]. If this throws an exception, catch it, and then throw a [4610]"DataCloneError" [4611]DOMException. This step might throw an exception if there is not enough memory available to create such an ArrayBuffer object. 15. Otherwise, if serialized.[[Type]] is "ResizableArrayBuffer", then set value to a new ArrayBuffer object in targetRealm whose [[ArrayBufferData]] internal slot value is serialized.[[ArrayBufferData]], whose [[ArrayBufferByteLength]] internal slot value is serialized.[[ArrayBufferByteLength]], and whose [[ArrayBufferMaxByteLength]] internal slot value is serialized.[[ArrayBufferMaxByteLength]]. If this throws an exception, catch it, and then throw a [4612]"DataCloneError" [4613]DOMException. This step might throw an exception if there is not enough memory available to create such an ArrayBuffer object. 16. Otherwise, if serialized.[[Type]] is "ArrayBufferView", then: 1. Let deserializedArrayBuffer be ? [4614]StructuredDeserialize(serialized.[[ArrayBufferSerialized ]], targetRealm, memory). 2. If serialized.[[Constructor]] is "DataView", then set value to a new DataView object in targetRealm whose [[ViewedArrayBuffer]] internal slot value is deserializedArrayBuffer, whose [[ByteLength]] internal slot value is serialized.[[ByteLength]], and whose [[ByteOffset]] internal slot value is serialized.[[ByteOffset]]. 3. Otherwise, set value to a new typed array object in targetRealm, using the constructor given by serialized.[[Constructor]], whose [[ViewedArrayBuffer]] internal slot value is deserializedArrayBuffer, whose [[TypedArrayName]] internal slot value is serialized.[[Constructor]], whose [[ByteLength]] internal slot value is serialized.[[ByteLength]], whose [[ByteOffset]] internal slot value is serialized.[[ByteOffset]], and whose [[ArrayLength]] internal slot value is serialized.[[ArrayLength]]. 17. Otherwise, if serialized.[[Type]] is "Map", then: 1. Set value to a new Map object in targetRealm whose [[MapData]] internal slot value is a new empty [4615]List. 2. Set deep to true. 18. Otherwise, if serialized.[[Type]] is "Set", then: 1. Set value to a new Set object in targetRealm whose [[SetData]] internal slot value is a new empty [4616]List. 2. Set deep to true. 19. Otherwise, if serialized.[[Type]] is "Array", then: 1. Let outputProto be targetRealm.[[Intrinsics]].[[[4617]%Array.prototype%]]. 2. Set value to ! [4618]ArrayCreate(serialized.[[Length]], outputProto). 3. Set deep to true. 20. Otherwise, if serialized.[[Type]] is "Object", then: 1. Set value to a new Object in targetRealm. 2. Set deep to true. 21. Otherwise, if serialized.[[Type]] is "Error", then: 1. Let prototype be [4619]%Error.prototype%. 2. If serialized.[[Name]] is "EvalError", then set prototype to [4620]%EvalError.prototype%. 3. If serialized.[[Name]] is "RangeError", then set prototype to [4621]%RangeError.prototype%. 4. If serialized.[[Name]] is "ReferenceError", then set prototype to [4622]%ReferenceError.prototype%. 5. If serialized.[[Name]] is "SyntaxError", then set prototype to [4623]%SyntaxError.prototype%. 6. If serialized.[[Name]] is "TypeError", then set prototype to [4624]%TypeError.prototype%. 7. If serialized.[[Name]] is "URIError", then set prototype to [4625]%URIError.prototype%. 8. Let message be serialized.[[Message]]. 9. Set value to [4626]OrdinaryObjectCreate(prototype, « [[ErrorData]] »). 10. Let messageDesc be [4627]PropertyDescriptor{ [[Value]]: message, [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true }. 11. If message is not undefined, then perform ! [4628]OrdinaryDefineOwnProperty(value, "message", messageDesc). 12. Any interesting accompanying data attached to serialized should be deserialized and attached to value. 22. Otherwise: 1. Let interfaceName be serialized.[[Type]]. 2. If the interface identified by interfaceName is not [4629]exposed in targetRealm, then throw a [4630]"DataCloneError" [4631]DOMException. 3. Set value to a new instance of the interface identified by interfaceName, created in targetRealm. 4. Set deep to true. 23. [4632]Set memory[serialized] to value. 24. If deep is true, then: 1. If serialized.[[Type]] is "Map", then: 1. [4633]For each [4634]Record { [[Key]], [[Value]] } entry of serialized.[[MapData]]: 1. Let deserializedKey be ? [4635]StructuredDeserialize(entry.[[Key]], targetRealm, memory). 2. Let deserializedValue be ? [4636]StructuredDeserialize(entry.[[Value]], targetRealm, memory). 3. [4637]Append { [[Key]]: deserializedKey, [[Value]]: deserializedValue } to value.[[MapData]]. 2. Otherwise, if serialized.[[Type]] is "Set", then: 1. [4638]For each entry of serialized.[[SetData]]: 1. Let deserializedEntry be ? [4639]StructuredDeserialize(entry, targetRealm, memory). 2. [4640]Append deserializedEntry to value.[[SetData]]. 3. Otherwise, if serialized.[[Type]] is "Array" or "Object", then: 1. [4641]For each [4642]Record { [[Key]], [[Value]] } entry of serialized.[[Properties]]: 1. Let deserializedValue be ? [4643]StructuredDeserialize(entry.[[Value]], targetRealm, memory). 2. Let result be ! [4644]CreateDataProperty(value, entry.[[Key]], deserializedValue). 3. [4645]Assert: result is true. 4. Otherwise: 1. Perform the appropriate [4646]deserialization steps for the interface identified by serialized.[[Type]], given serialized, value, and targetRealm. The [4647]deserialization steps may need to perform a sub-deserialization. This is an operation which takes as input a previously-serialized [4648]Record subSerialized, and returns [4649]StructuredDeserialize(subSerialized, targetRealm, memory). (In other words, a [4650]sub-deserialization is a specialization of [4651]StructuredDeserialize to be consistent within this invocation.) 25. Return value.

2.7.7 StructuredSerializeWithTransfer ( value, transferList )

1. Let memory be an empty [4652]map. In addition to how it is used normally by [4653]StructuredSerializeInternal, in this algorithm memory is also used to ensure that [4654]StructuredSerializeInternal ignores items in transferList, and let us do our own handling instead. 2. [4655]For each transferable of transferList: 1. If transferable has neither an [[ArrayBufferData]] internal slot nor a [4656][[Detached]] internal slot, then throw a [4657]"DataCloneError" [4658]DOMException. 2. If transferable has an [[ArrayBufferData]] internal slot and [4659]IsSharedArrayBuffer(transferable) is true, then throw a [4660]"DataCloneError" [4661]DOMException. 3. If memory[transferable] [4662]exists, then throw a [4663]"DataCloneError" [4664]DOMException. 4. [4665]Set memory[transferable] to { [[Type]]: an uninitialized value }. transferable is not transferred yet as transferring has side effects and [4666]StructuredSerializeInternal needs to be able to throw first. 3. Let serialized be ? [4667]StructuredSerializeInternal(value, false, memory). 4. Let transferDataHolders be a new empty [4668]List. 5. [4669]For each transferable of transferList: 1. If transferable has an [[ArrayBufferData]] internal slot and [4670]IsDetachedBuffer(transferable) is true, then throw a [4671]"DataCloneError" [4672]DOMException. 2. If transferable has a [4673][[Detached]] internal slot and transferable.[4674][[Detached]] is true, then throw a [4675]"DataCloneError" [4676]DOMException. 3. Let dataHolder be memory[transferable]. 4. If transferable has an [[ArrayBufferData]] internal slot, then: 1. If transferable has an [[ArrayBufferMaxByteLength]] internal slot, then: 1. Set dataHolder.[[Type]] to "ResizableArrayBuffer". 2. Set dataHolder.[[ArrayBufferData]] to transferable.[[ArrayBufferData]]. 3. Set dataHolder.[[ArrayBufferByteLength]] to transferable.[[ArrayBufferByteLength]]. 4. Set dataHolder.[[ArrayBufferMaxByteLength]] to transferable.[[ArrayBufferMaxByteLength]]. 2. Otherwise: 1. Set dataHolder.[[Type]] to "ArrayBuffer". 2. Set dataHolder.[[ArrayBufferData]] to transferable.[[ArrayBufferData]]. 3. Set dataHolder.[[ArrayBufferByteLength]] to transferable.[[ArrayBufferByteLength]]. 3. Perform ? [4677]DetachArrayBuffer(transferable). Specifications can use the [[ArrayBufferDetachKey]] internal slot to prevent [4678]ArrayBuffers from being detached. This is used in WebAssembly JavaScript Interface, for example. [4679][WASMJS] 5. Otherwise: 1. [4680]Assert: transferable is a [4681]platform object that is a [4682]transferable object. 2. Let interfaceName be the identifier of the [4683]primary interface of transferable. 3. Set dataHolder.[[Type]] to interfaceName. 4. Perform the appropriate [4684]transfer steps for the interface identified by interfaceName, given transferable and dataHolder. 5. Set transferable.[4685][[Detached]] to true. 6. [4686]Append dataHolder to transferDataHolders. 6. Return { [[Serialized]]: serialized, [[TransferDataHolders]]: transferDataHolders }.

2.7.8 StructuredDeserializeWithTransfer ( serializeWithTransferResult, targetRealm )

1. Let memory be an empty [4687]map. Analogous to [4688]StructuredSerializeWithTransfer, in addition to how it is used normally by [4689]StructuredDeserialize, in this algorithm memory is also used to ensure that [4690]StructuredDeserialize ignores items in serializeWithTransferResult.[[TransferDataHolders]], and let us do our own handling instead. 2. Let transferredValues be a new empty [4691]List. 3. [4692]For each transferDataHolder of serializeWithTransferResult.[[TransferDataHolders]]: 1. Let value be an uninitialized value. 2. If transferDataHolder.[[Type]] is "ArrayBuffer", then set value to a new ArrayBuffer object in targetRealm whose [[ArrayBufferData]] internal slot value is transferDataHolder.[[ArrayBufferData]], and whose [[ArrayBufferByteLength]] internal slot value is transferDataHolder.[[ArrayBufferByteLength]]. In cases where the original memory occupied by [[ArrayBufferData]] is accessible during the deserialization, this step is unlikely to throw an exception, as no new memory needs to be allocated: the memory occupied by [[ArrayBufferData]] is instead just getting transferred into the new ArrayBuffer. This could be true, for example, when both the source and target realms are in the same process. 3. Otherwise, if transferDataHolder.[[Type]] is "ResizableArrayBuffer", then set value to a new ArrayBuffer object in targetRealm whose [[ArrayBufferData]] internal slot value is transferDataHolder.[[ArrayBufferData]], whose [[ArrayBufferByteLength]] internal slot value is transferDataHolder.[[ArrayBufferByteLength]], and whose [[ArrayBufferMaxByteLength]] internal slot value is transferDataHolder.[[ArrayBufferMaxByteLength]]. For the same reason as the previous step, this step is also unlikely to throw an exception. 4. Otherwise: 1. Let interfaceName be transferDataHolder.[[Type]]. 2. If the interface identified by interfaceName is not exposed in targetRealm, then throw a [4693]"DataCloneError" [4694]DOMException. 3. Set value to a new instance of the interface identified by interfaceName, created in targetRealm. 4. Perform the appropriate [4695]transfer-receiving steps for the interface identified by interfaceName given transferDataHolder and value. 5. [4696]Set memory[transferDataHolder] to value. 6. [4697]Append value to transferredValues. 4. Let deserialized be ? [4698]StructuredDeserialize(serializeWithTransferResult.[[Serialize d]], targetRealm, memory). 5. Return { [[Deserialized]]: deserialized, [[TransferredValues]]: transferredValues }.

2.7.9 Performing serialization and transferring from other specifications

Other specifications may use the abstract operations defined here. The following provides some guidance on when each abstract operation is typically useful, with examples.

[4699]StructuredSerializeWithTransfer [4700]StructuredDeserializeWithTransfer Cloning a value to another [4701]realm, with a transfer list, but where the target realm is not known ahead of time. In this case the serialization step can be performed immediately, with the deserialization step delayed until the target realm becomes known.

[4702]messagePort.postMessage() uses this pair of abstract operations, as the destination realm is not known until the [4703]MessagePort [4704]has been shipped.

[4705]StructuredSerialize [4706]StructuredSerializeForStorage [4707]StructuredDeserialize Creating a [4708]realm-independent snapshot of a given value which can be saved for an indefinite amount of time, and then reified back into a JavaScript value later, possibly multiple times.

[4709]StructuredSerializeForStorage can be used for situations where the serialization is anticipated to be stored in a persistent manner, instead of passed between realms. It throws when attempting to serialize [4710]SharedArrayBuffer objects, since storing shared memory does not make sense. Similarly, it can throw or possibly have different behavior when given a [4711]platform object with custom [4712]serialization steps when the forStorage argument is true.

[4713]history.pushState() and [4714]history.replaceState() use [4715]StructuredSerializeForStorage on author-supplied state objects, storing them as [4716]serialized state in the appropriate [4717]session history entry. Then, [4718]StructuredDeserialize is used so that the [4719]history.state property can return a clone of the originally-supplied state object.

[4720]broadcastChannel.postMessage() uses [4721]StructuredSerialize on its input, then uses [4722]StructuredDeserialize multiple times on the result to produce a fresh clone for each destination being broadcast to. Note that transferring does not make sense in multi-destination situations.

Any API for persisting JavaScript values to the filesystem would also use [4723]StructuredSerializeForStorage on its input and [4724]StructuredDeserialize on its output.

In general, call sites may pass in Web IDL values instead of JavaScript values; this is to be understood to perform an implicit [4725]conversion to the JavaScript value before invoking these algorithms. __________________________________________________________________

Call sites that are not invoked as a result of author code synchronously calling into a user agent method must take care to properly [4726]prepare to run script and [4727]prepare to run a callback before invoking [4728]StructuredSerialize, [4729]StructuredSerializeForStorage, or [4730]StructuredSerializeWithTransfer abstract operations, if they are being performed on arbitrary objects. This is necessary because the serialization process can invoke author-defined accessors as part of its final deep-serialization steps, and these accessors could call into operations that rely on the [4731]entry and [4732]incumbent concepts being properly set up.

[4733]window.postMessage() performs [4734]StructuredSerializeWithTransfer on its arguments, but is careful to do so immediately, inside the synchronous portion of its algorithm. Thus it is able to use the algorithms without needing to [4735]prepare to run script and [4736]prepare to run a callback.

In contrast, a hypothetical API that used [4737]StructuredSerialize to serialize some author-supplied object periodically, directly from a [4738]task on the [4739]event loop, would need to ensure it performs the appropriate preparations beforehand. As of this time, we know of no such APIs on the platform; usually it is simpler to perform the serialization ahead of time, as a synchronous consequence of author code.

2.7.10 Structured cloning API

result = self.[4740]structuredClone(value[, { [4741]transfer }]) Takes the input value and returns a deep copy by performing the structured clone algorithm. [4742]Transferable objects listed in the [4743]transfer array are transferred, not just cloned, meaning that they are no longer usable in the input value.

Throws a [4744]"DataCloneError" [4745]DOMException if any part of the input value is not [4746]serializable.

(BUTTON) ✔MDN

[4747]structuredClone

Support in all current engines. Firefox94+Safari15.4+Chrome98+ __________________________________________________________________

Opera?Edge98+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The structuredClone(value, options) method steps are: 1. Let serialized be ? [4748]StructuredSerializeWithTransfer(value, options["[4749]transfer"]). 2. Let deserializeRecord be ? [4750]StructuredDeserializeWithTransfer(serialized, [4751]this's [4752]relevant realm). 3. Return deserializeRecord.[[Deserialized]].

3 Semantics, structure, and APIs of HTML documents

3.1 Documents

Every XML and HTML document in an HTML UA is represented by a [4753]Document object. [4754][DOM]

The [4755]Document object's [4756]URL is defined in DOM. It is initially set when the [4757]Document object is created, but can change during the lifetime of the [4758]Document object; for example, it changes when the user [4759]navigates to a [4760]fragment on the page and when the [4761]pushState() method is called with a new [4762]URL. [4763][DOM]

Interactive user agents typically expose the [4764]Document object's [4765]URL in their user interface. This is the primary mechanism by which a user can tell if a site is attempting to impersonate another.

The [4766]Document object's [4767]origin is defined in DOM. It is initially set when the [4768]Document object is created, and can change during the lifetime of the [4769]Document only upon setting [4770]document.domain. A [4771]Document's [4772]origin can differ from the [4773]origin of its [4774]URL; for example when a [4775]child navigable is [4776]created, its [4777]active document's [4778]origin is inherited from its [4779]parent's [4780]active document's [4781]origin, even though its [4782]active document's [4783]URL is [4784]about:blank. [4785][DOM]

When a [4786]Document is created by a [4787]script using the [4788]createDocument() or [4789]createHTMLDocument() methods, the [4790]Document is [4791]ready for post-load tasks immediately.

The document's referrer is a string (representing a [4792]URL) that can be set when the [4793]Document is created. If it is not explicitly set, then its value is the empty string.

3.1.1 The [4794]Document object

(BUTTON) ✔MDN

[4795]Document

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera3+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+

DOM defines a [4796]Document interface, which this specification extends significantly. enum DocumentReadyState { "loading", "interactive", "complete" }; enum DocumentVisibilityState { "visible", "hidden" }; typedef ([4797]HTMLScriptElement or [4798]SVGScriptElement) HTMLOrSVGScriptEleme nt;

[[4799]LegacyOverrideBuiltIns] partial interface Document { static [4800]Document [4801]parseHTMLUnsafe(([4802]TrustedHTML or DOMString) h tml);

// [4803]resource metadata management [PutForwards=[4804]href, [4805]LegacyUnforgeable] readonly attribute [4806]Loc ation? [4807]location; attribute USVString [4808]domain; readonly attribute USVString [4809]referrer; attribute USVString [4810]cookie; readonly attribute DOMString [4811]lastModified; readonly attribute [4812]DocumentReadyState [4813]readyState;

// [4814]DOM tree accessors [4815]getter object (DOMString name); [[4816]CEReactions] attribute DOMString [4817]title; [[4818]CEReactions] attribute DOMString [4819]dir; [[4820]CEReactions] attribute [4821]HTMLElement? [4822]body; readonly attribute [4823]HTMLHeadElement? [4824]head; [SameObject] readonly attribute [4825]HTMLCollection [4826]images; [SameObject] readonly attribute [4827]HTMLCollection [4828]embeds; [SameObject] readonly attribute [4829]HTMLCollection [4830]plugins; [SameObject] readonly attribute [4831]HTMLCollection [4832]links; [SameObject] readonly attribute [4833]HTMLCollection [4834]forms; [SameObject] readonly attribute [4835]HTMLCollection [4836]scripts; NodeList [4837]getElementsByName(DOMString elementName); readonly attribute [4838]HTMLOrSVGScriptElement? [4839]currentScript; // class ic scripts in a document tree only

// [4840]dynamic markup insertion [[4841]CEReactions] [4842]Document [4843]open(optional DOMString unused1, opti onal DOMString unused2); // both arguments are [4844]ignored [4845]WindowProxy? [4846]open(USVString url, DOMString name, DOMString feature s); [[4847]CEReactions] undefined [4848]close(); [[4849]CEReactions] undefined [4850]write(([4851]TrustedHTML or DOMString)... text); [[4852]CEReactions] undefined [4853]writeln(([4854]TrustedHTML or DOMString).. . text);

// [4855]user interaction readonly attribute [4856]WindowProxy? [4857]defaultView; boolean [4858]hasFocus(); [[4859]CEReactions] attribute DOMString [4860]designMode; [[4861]CEReactions] boolean [4862]execCommand(DOMString commandId, optional bo olean showUI = false, optional DOMString value = ""); boolean [4863]queryCommandEnabled(DOMString commandId); boolean [4864]queryCommandIndeterm(DOMString commandId); boolean [4865]queryCommandState(DOMString commandId); boolean [4866]queryCommandSupported(DOMString commandId); DOMString [4867]queryCommandValue(DOMString commandId); readonly attribute boolean [4868]hidden; readonly attribute [4869]DocumentVisibilityState [4870]visibilityState;

// special [4871]event handler IDL attributes that only apply to Document obje cts [[4872]LegacyLenientThis] attribute [4873]EventHandler [4874]onreadystatechang e; attribute [4875]EventHandler [4876]onvisibilitychange;

// [4877]also has obsolete members }; [4878]Document includes [4879]GlobalEventHandlers;

Each [4880]Document has a policy container (a [4881]policy container), initially a new policy container, which contains policies which apply to the [4882]Document.

Each [4883]Document has a permissions policy, which is a [4884]permissions policy, which is initially empty.

Each [4885]Document has a module map, which is a [4886]module map, initially empty.

Each [4887]Document has an opener policy, which is an [4888]opener policy, initially a new opener policy.

Each [4889]Document has an is initial about:blank, which is a boolean, initially false.

Each [4890]Document has a during-loading navigation ID for WebDriver BiDi, which is a [4891]navigation ID or null, initially null.

As the name indicates, this is used for interfacing with the WebDriver BiDi specification, which needs to be informed about certain occurrences during the early parts of the [4892]Document's lifecycle, in a way that ties them to the original [4893]navigation ID used when the navigation that created this [4894]Document was the [4895]ongoing navigation. This eventually gets set back to null, after WebDriver BiDi considers the loading process to be finished. [4896][BIDI]

Each [4897]Document has an about base URL, which is a [4898]URL or null, initially null.

This is only populated for "about:"-schemed [4899]Documents.

Each [4900]Document has a bfcache blocking details, which is a [4901]set of [4902]not restored reason details, initially empty.

Each [4903]Document has an open dialogs list, which is a [4904]list of [4905]dialog elements, initially empty.

3.1.2 The [4906]DocumentOrShadowRoot interface

DOM defines the [4907]DocumentOrShadowRoot mixin, which this specification extends. partial interface mixin DocumentOrShadowRoot { readonly attribute [4908]Element? [4909]activeElement; };

3.1.3 Resource metadata management

document.[4910]referrer

(BUTTON) ✔MDN

[4911]Document/referrer

Support in all current engines.

Firefox1+Safari1+Chrome1+ ___________________________________________________________

Opera3+Edge79+ ___________________________________________________________

Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Returns the [4912]URL of the [4913]Document from which the user navigated to this one, unless it was blocked or there was no such document, in which case it returns the empty string.

The [4914]noreferrer link type can be used to block the referrer.

The referrer attribute must return [4915]the document's referrer. __________________________________________________________________

document.[4916]cookie [ = value ] Returns the HTTP cookies that apply to the [4917]Document. If there are no cookies or cookies can't be applied to this resource, the empty string will be returned.

Can be set, to add a new cookie to the element's set of HTTP cookies.

If the contents are [4918]sandboxed into an opaque origin (e.g., in an [4919]iframe with the [4920]sandbox attribute), a [4921]"SecurityError" [4922]DOMException will be thrown on getting and setting.

(BUTTON) ✔MDN

[4923]Document/cookie

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera3+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+

The cookie attribute represents the cookies of the resource identified by the document's [4924]URL.

A [4925]Document object that falls into one of the following conditions is a cookie-averse Document object: * A [4926]Document object whose [4927]browsing context is null. * A [4928]Document whose [4929]URL's [4930]scheme is not an [4931]HTTP(S) scheme.

[4932](This is a tracking vector.) On getting, if the document is a [4933]cookie-averse Document object, then the user agent must return the empty string. Otherwise, if the [4934]Document's [4935]origin is an [4936]opaque origin, the user agent must throw a [4937]"SecurityError" [4938]DOMException. Otherwise, the user agent must return the [4939]cookie-string for the document's [4940]URL for a "non-HTTP" API, decoded using [4941]UTF-8 decode without BOM. [4942][COOKIES]

On setting, if the document is a [4943]cookie-averse Document object, then the user agent must do nothing. Otherwise, if the [4944]Document's [4945]origin is an [4946]opaque origin, the user agent must throw a [4947]"SecurityError" [4948]DOMException. Otherwise, the user agent must act as it would when [4949]receiving a set-cookie-string for the document's [4950]URL via a "non-HTTP" API, consisting of the new value [4951]encoded as UTF-8. [4952][COOKIES] [4953][ENCODING]

Since the [4954]cookie attribute is accessible across frames, the path restrictions on cookies are only a tool to help manage which cookies are sent to which parts of the site, and are not in any way a security feature.

The [4955]cookie attribute's getter and setter synchronously access shared state. Since there is no locking mechanism, other browsing contexts in a multiprocess user agent can modify cookies while scripts are running. A site could, for instance, try to read a cookie, increment its value, then write it back out, using the new value of the cookie as a unique identifier for the session; if the site does this twice in two different browser windows at the same time, it might end up using the same "unique" identifier for both sessions, with potentially disastrous effects. __________________________________________________________________

document.[4956]lastModified

(BUTTON) ✔MDN

[4957]Document/lastModified

Support in all current engines.

Firefox1+Safari1+Chrome1+ ___________________________________________________________

Opera12.1+Edge79+ ___________________________________________________________

Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the date of the last modification to the document, as reported by the server, in the form "MM/DD/YYYY hh:mm:ss", in the user's local time zone.

If the last modification date is not known, the current time is returned instead.

The lastModified attribute, on getting, must return the date and time of the [4958]Document's source file's last modification, in the user's local time zone, in the following format: 1. The month component of the date. 2. A U+002F SOLIDUS character (/). 3. The day component of the date. 4. A U+002F SOLIDUS character (/). 5. The year component of the date. 6. A U+0020 SPACE character. 7. The hours component of the time. 8. A U+003A COLON character (:). 9. The minutes component of the time. 10. A U+003A COLON character (:). 11. The seconds component of the time.

All the numeric components above, other than the year, must be given as two [4959]ASCII digits representing the number in base ten, zero-padded if necessary. The year must be given as the shortest possible string of four or more [4960]ASCII digits representing the number in base ten, zero-padded if necessary.

The [4961]Document's source file's last modification date and time must be derived from relevant features of the networking protocols used, e.g. from the value of the HTTP `[4962]Last-Modified` header of the document, or from metadata in the file system for local files. If the last modification date and time are not known, the attribute must return the current date and time in the above format.

3.1.4 Reporting document loading status

document.[4963]readyState Returns "loading" while the [4964]Document is loading, "interactive" once it is finished parsing but still loading subresources, and "complete" once it has loaded.

The [4965]readystatechange event fires on the [4966]Document object when this value changes.

The [4967]DOMContentLoaded event fires after the transition to "interactive" but before the transition to "complete", at the point where all subresources apart from [4968]async [4969]script elements have loaded.

(BUTTON) ✔MDN

[4970]Document/readyState

Support in all current engines. Firefox3.6+Safari1+Chrome1+ __________________________________________________________________

Opera11+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer11 __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+

Each [4971]Document has a current document readiness, a string, initially "complete".

For [4972]Document objects created via the [4973]create and initialize a Document object algorithm, this will be immediately reset to "loading" before any script can observe the value of [4974]document.readyState. This default applies to other cases such as [4975]initial about:blank [4976]Documents or [4977]Documents without a [4978]browsing context.

The readyState getter steps are to return [4979]this's [4980]current document readiness.

To update the current document readiness for [4981]Document document to readinessValue: 1. If document's [4982]current document readiness equals readinessValue, then return. 2. Set document's [4983]current document readiness to readinessValue. 3. If document is associated with an [4984]HTML parser, then: 1. Let now be the [4985]current high resolution time given document's [4986]relevant global object. 2. If readinessValue is "complete", and document's [4987]load timing info's [4988]DOM complete time is 0, then set document's [4989]load timing info's [4990]DOM complete time to now. 3. Otherwise, if readinessValue is "interactive", and document's [4991]load timing info's [4992]DOM interactive time is 0, then set document's [4993]load timing info's [4994]DOM interactive time to now. 4. [4995]Fire an event named [4996]readystatechange at document. __________________________________________________________________

A [4997]Document is said to have an active parser if it is associated with an [4998]HTML parser or an [4999]XML parser that has not yet been [5000]stopped or [5001]aborted. __________________________________________________________________

A [5002]Document has a [5003]document load timing info load timing info.

A [5004]Document has a [5005]document unload timing info previous document unload timing.

A [5006]Document has a boolean was created via cross-origin redirects, initially false.

The document load timing info [5007]struct has the following [5008]items:

navigation start time (default 0) A number

DOM interactive time (default 0) DOM content loaded event start time (default 0) DOM content loaded event end time (default 0) DOM complete time (default 0) load event start time (default 0) load event end time (default 0) [5009]DOMHighResTimeStamp values

The document unload timing info [5010]struct has the following [5011]items:

unload event start time (default 0) unload event end time (default 0) [5012]DOMHighResTimeStamp values

3.1.5 Render-blocking mechanism

Each [5013]Document has a render-blocking element set, a [5014]set of elements, initially the empty set.

A [5015]Document document allows adding render-blocking elements if document's [5016]content type is "[5017]text/html" and [5018]the body element of document is null.

A [5019]Document document is render-blocked if both of the following are true: * document's [5020]render-blocking element set is non-empty, or document [5021]allows adding render-blocking elements. * The [5022]current high resolution time given document's [5023]relevant global object has not exceeded an [5024]implementation-defined timeout value.

An element el is render-blocking if el's [5025]node document document is [5026]render-blocked, and el is in document's [5027]render-blocking element set.

To block rendering on an element el: 1. Let document be el's [5028]node document. 2. If document [5029]allows adding render-blocking elements, then [5030]append el to document's [5031]render-blocking element set.

To unblock rendering on an element el: 1. Let document be el's [5032]node document. 2. [5033]Remove el from document's [5034]render-blocking element set.

Whenever a [5035]render-blocking element el [5036]becomes browsing-context disconnected, or el's [5037]blocking attribute's value is changed so that el is no longer [5038]potentially render-blocking, then [5039]unblock rendering on el.

3.1.6 DOM tree accessors

The html element of a document is its [5040]document element, if it's an [5041]html element, and null otherwise. __________________________________________________________________

document.[5042]head

(BUTTON) ✔MDN

[5043]Document/head

Support in all current engines.

Firefox4+Safari5+Chrome4+ ___________________________________________________________

Opera11+Edge79+ ___________________________________________________________

Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ Returns [5044]the head element.

The head element of a document is the first [5045]head element that is a child of [5046]the html element, if there is one, or null otherwise.

The head attribute, on getting, must return [5047]the head element of the document (a [5048]head element or null). __________________________________________________________________

document.[5049]title [ = value ] Returns the document's title, as given by [5050]the title element for HTML and as given by the [5051]SVG title element for SVG.

Can be set, to update the document's title. If there is no appropriate element to update, the new value is ignored.

The title element of a document is the first [5052]title element in the document (in [5053]tree order), if there is one, or null otherwise.

(BUTTON) ✔MDN

[5054]Document/title

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

The title attribute must, on getting, run the following algorithm: 1. If the [5055]document element is an [5056]SVG svg element, then let value be the [5057]child text content of the first [5058]SVG title element that is a child of the [5059]document element. 2. Otherwise, let value be the [5060]child text content of [5061]the title element, or the empty string if [5062]the title element is null. 3. [5063]Strip and collapse ASCII whitespace in value. 4. Return value.

On setting, the steps corresponding to the first matching condition in the following list must be run:

If the [5064]document element is an [5065]SVG svg element

1. If there is an [5066]SVG title element that is a child of the [5067]document element, let element be the first such element. 2. Otherwise: 1. Let element be the result of [5068]creating an element given the [5069]document element's [5070]node document, "title", and the [5071]SVG namespace. 2. Insert element as the [5072]first child of the [5073]document element. 3. [5074]String replace all with the given value within element.

If the [5075]document element is in the [5076]HTML namespace

1. If [5077]the title element is null and [5078]the head element is null, then return. 2. If [5079]the title element is non-null, let element be [5080]the title element. 3. Otherwise: 1. Let element be the result of [5081]creating an element given the [5082]document element's [5083]node document, "title", and the [5084]HTML namespace. 2. [5085]Append element to [5086]the head element. 4. [5087]String replace all with the given value within element.

Otherwise Do nothing. __________________________________________________________________

document.[5088]body [ = value ]

(BUTTON) ✔MDN

[5089]Document/body

Support in all current engines.

Firefox60+Safari1+Chrome1+ ___________________________________________________________

Opera9.6+Edge79+ ___________________________________________________________

Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Returns [5090]the body element.

Can be set, to replace [5091]the body element.

If the new value is not a [5092]body or [5093]frameset element, this will throw a [5094]"HierarchyRequestError" [5095]DOMException.

The body element of a document is the first of [5096]the html element's children that is either a [5097]body element or a [5098]frameset element, or null if there is no such element.

The body attribute, on getting, must return [5099]the body element of the document (either a [5100]body element, a [5101]frameset element, or null). On setting, the following algorithm must be run: 1. If the new value is not a [5102]body or [5103]frameset element, then throw a [5104]"HierarchyRequestError" [5105]DOMException. 2. Otherwise, if the new value is the same as [5106]the body element, return. 3. Otherwise, if [5107]the body element is not null, then [5108]replace [5109]the body element with the new value within [5110]the body element's parent and return. 4. Otherwise, if there is no [5111]document element, throw a [5112]"HierarchyRequestError" [5113]DOMException. 5. Otherwise, [5114]the body element is null, but there's a [5115]document element. [5116]Append the new value to the [5117]document element.

The value returned by the [5118]body getter is not always the one passed to the setter.

In this example, the setter successfully inserts a [5119]body element (though this is non-conforming since SVG does not allow a [5120]body as child of [5121]SVG svg). However the getter will return null because the document element is not [5122]html. __________________________________________________________________

document.[5123]images

(BUTTON) ✔MDN

[5124]Document/images

Support in all current engines.

Firefox1+Safari1+Chrome1+ ___________________________________________________________

Opera12.1+Edge79+ ___________________________________________________________

Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns an [5125]HTMLCollection of the [5126]img elements in the [5127]Document.

document.[5128]embeds

(BUTTON) ✔MDN

[5129]Document/embeds

Support in all current engines.

Firefox1+Safari10.1+Chrome64+ ___________________________________________________________

Opera51+Edge79+ ___________________________________________________________

Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android47+

document.[5130]plugins

(BUTTON) ✔MDN

[5131]Document/plugins

Support in all current engines.

Firefox1+Safari10.1+Chrome64+ ___________________________________________________________

Opera51+Edge79+ ___________________________________________________________

Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

Firefox Android?Safari iOS10.3+Chrome Android?WebView Android?Samsung Internet?Opera Android47+ Returns an [5132]HTMLCollection of the [5133]embed elements in the [5134]Document.

document.[5135]links

(BUTTON) ✔MDN

[5136]Document/links

Support in all current engines.

Firefox1+Safari1+Chrome1+ ___________________________________________________________

Opera12.1+Edge79+ ___________________________________________________________

Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns an [5137]HTMLCollection of the [5138]a and [5139]area elements in the [5140]Document that have [5141]href attributes.

document.[5142]forms

(BUTTON) ✔MDN

[5143]Document/forms

Support in all current engines.

Firefox1+Safari1+Chrome1+ ___________________________________________________________

Opera12.1+Edge79+ ___________________________________________________________

Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns an [5144]HTMLCollection of the [5145]form elements in the [5146]Document.

document.[5147]scripts

(BUTTON) ✔MDN

[5148]Document/scripts

Support in all current engines.

Firefox9+Safari3+Chrome1+ ___________________________________________________________

Opera12.1+Edge79+ ___________________________________________________________

Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns an [5149]HTMLCollection of the [5150]script elements in the [5151]Document.

The images attribute must return an [5152]HTMLCollection rooted at the [5153]Document node, whose filter matches only [5154]img elements.

The embeds attribute must return an [5155]HTMLCollection rooted at the [5156]Document node, whose filter matches only [5157]embed elements.

The plugins attribute must return the same object as that returned by the [5158]embeds attribute.

The links attribute must return an [5159]HTMLCollection rooted at the [5160]Document node, whose filter matches only [5161]a elements with [5162]href attributes and [5163]area elements with [5164]href attributes.

The forms attribute must return an [5165]HTMLCollection rooted at the [5166]Document node, whose filter matches only [5167]form elements.

The scripts attribute must return an [5168]HTMLCollection rooted at the [5169]Document node, whose filter matches only [5170]script elements. __________________________________________________________________

collection = document.[5171]getElementsByName(name)

(BUTTON) ✔MDN

[5172]Document/getElementsByName

Support in all current engines.

Firefox1+Safari1+Chrome1+ ___________________________________________________________

Opera5+Edge79+ ___________________________________________________________

Edge (Legacy)12+Internet Explorer5+ ___________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Returns a [5173]NodeList of elements in the [5174]Document that have a name attribute with the value name.

The getElementsByName(elementName) method steps are to return a [5175]live [5176]NodeList containing all the [5177]HTML elements in that document that have a name attribute whose value is [5178]identical to the elementName argument, in [5179]tree order. When the method is invoked on a [5180]Document object again with the same argument, the user agent may return the same as the object returned by the earlier call. In other cases, a new [5181]NodeList object must be returned. __________________________________________________________________

document.[5182]currentScript

(BUTTON) ✔MDN

[5183]Document/currentScript

Support in all current engines.

Firefox4+Safari8+Chrome29+ ___________________________________________________________

Opera?Edge79+ ___________________________________________________________

Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the [5184]script element, or the [5185]SVG script element, that is currently executing, as long as the element represents a [5186]classic script. In the case of reentrant script execution, returns the one that most recently started executing amongst those that have not yet finished executing.

Returns null if the [5187]Document is not currently executing a [5188]script or [5189]SVG script element (e.g., because the running script is an event handler, or a timeout), or if the currently executing [5190]script or [5191]SVG script element represents a [5192]module script.

The currentScript attribute, on getting, must return the value to which it was most recently set. When the [5193]Document is created, the [5194]currentScript must be initialized to null.

This API has fallen out of favor in the implementer and standards community, as it globally exposes [5195]script or [5196]SVG script elements. As such, it is not available in newer contexts, such as when running [5197]module scripts or when running scripts in a [5198]shadow tree. We are looking into creating a new solution for identifying the running script in such contexts, which does not make it globally available: see [5199]issue #1013. __________________________________________________________________

The [5200]Document interface [5201]supports named properties. The [5202]supported property names of a [5203]Document object document at any moment consist of the following, in [5204]tree order according to the element that contributed them, ignoring later duplicates, and with values from [5205]id attributes coming before values from name attributes when the same element contributes both: * the value of the name content attribute for all [5206]exposed [5207]embed, [5208]form, [5209]iframe, [5210]img, and [5211]exposed [5212]object elements that have a non-empty name content attribute and are [5213]in a document tree with document as their [5214]root; * the value of the [5215]id content attribute for all [5216]exposed [5217]object elements that have a non-empty [5218]id content attribute and are [5219]in a document tree with document as their [5220]root; and * the value of the [5221]id content attribute for all [5222]img elements that have both a non-empty [5223]id content attribute and a non-empty name content attribute, and are [5224]in a document tree with document as their [5225]root.

To [5226]determine the value of a named property name for a [5227]Document, the user agent must return the value obtained using the following steps: 1. Let elements be the list of [5228]named elements with the name name that are [5229]in a document tree with the [5230]Document as their [5231]root. There will be at least one such element, since the algorithm would otherwise not have been [5232]invoked by Web IDL. 2. If elements has only one element, and that element is an [5233]iframe element, and that [5234]iframe element's [5235]content navigable is not null, then return the [5236]active WindowProxy of the element's [5237]content navigable. 3. Otherwise, if elements has only one element, return that element. 4. Otherwise, return an [5238]HTMLCollection rooted at the [5239]Document node, whose filter matches only [5240]named elements with the name name.

Named elements with the name name, for the purposes of the above algorithm, are those that are either: * [5241]Exposed [5242]embed, [5243]form, [5244]iframe, [5245]img, or [5246]exposed [5247]object elements that have a name content attribute whose value is name, or * [5248]Exposed [5249]object elements that have an [5250]id content attribute whose value is name, or * [5251]img elements that have an [5252]id content attribute whose value is name, and that have a non-empty name content attribute present also.

An [5253]embed or [5254]object element is said to be exposed if it has no [5255]exposed [5256]object ancestor, and, for [5257]object elements, is additionally either not showing its [5258]fallback content or has no [5259]object or [5260]embed descendants. __________________________________________________________________

The [5261]dir attribute on the [5262]Document interface is defined along with the [5263]dir content attribute.

3.2 Elements

3.2.1 Semantics

Elements, attributes, and attribute values in HTML are defined (by this specification) to have certain meanings (semantics). For example, the [5264]ol element represents an ordered list, and the [5265]lang attribute represents the language of the content.

These definitions allow HTML processors, such as web browsers or search engines, to present and use documents and applications in a wide variety of contexts that the author might not have considered.

As a simple example, consider a web page written by an author who only considered desktop computer web browsers: My Page

Welcome to my page

I like cars and lorries and have a big Jeep!

Where I live

I live in a small hut on a mountain!

Because HTML conveys meaning, rather than presentation, the same page can also be used by a small browser on a mobile phone, without any change to the page. Instead of headings being in large letters as on the desktop, for example, the browser on the mobile phone might use the same size text for the whole page, but with the headings in bold.

But it goes further than just differences in screen size: the same page could equally be used by a blind user using a browser based around speech synthesis, which instead of displaying the page on a screen, reads the page to the user, e.g. using headphones. Instead of large text for the headings, the speech browser might use a different volume or a slower voice.

That's not all, either. Since the browsers know which parts of the page are the headings, they can create a document outline that the user can use to quickly navigate around the document, using keys for "jump to next heading" or "jump to previous heading". Such features are especially common with speech browsers, where users would otherwise find quickly navigating a page quite difficult.

Even beyond browsers, software can make use of this information. Search engines can use the headings to more effectively index a page, or to provide quick links to subsections of the page from their results. Tools can use the headings to create a table of contents (that is in fact how this very specification's table of contents is generated).

This example has focused on headings, but the same principle applies to all of the semantics in HTML.

Authors must not use elements, attributes, or attribute values for purposes other than their appropriate intended semantic purpose, as doing so prevents software from correctly processing the page.

For example, the following snippet, intended to represent the heading of a corporate site, is non-conforming because the second line is not intended to be a heading of a subsection, but merely a subheading or subtitle (a subordinate heading for the same section).

ACME Corporation

The leaders in arbitrary fast delivery since 1920

...

The [5266]hgroup element can be used for these kinds of situations:

ACME Corporation

The leaders in arbitrary fast delivery since 1920

...

The document in this next example is similarly non-conforming, despite being syntactically correct, because the data placed in the cells is clearly not tabular data, and the [5267]cite element mis-used: Demonstration
My favourite animal is the cat.
Ernest, in an essay from 1992

This would make software that relies on these semantics fail: for example, a speech browser that allowed a blind user to navigate tables in the document would report the quote above as a table, confusing the user; similarly, a tool that extracted titles of works from pages would extract "Ernest" as the title of a work, even though it's actually a person's name, not a title.

A corrected version of this document might be: Demonstration

My favourite animal is the cat.

Ernest, in an essay from 1992

Authors must not use elements, attributes, or attribute values that are not permitted by this specification or [5268]other applicable specifications, as doing so makes it significantly harder for the language to be extended in the future.

In the next example, there is a non-conforming attribute value ("carpet") and a non-conforming attribute ("texture"), which is not permitted by this specification:

Here would be an alternative and correct way to mark this up:

DOM nodes whose [5269]node document's [5270]browsing context is null are exempt from all document conformance requirements other than the [5271]HTML syntax requirements and [5272]XML syntax requirements.

In particular, the [5273]template element's [5274]template contents's [5275]node document's [5276]browsing context is null. For example, the [5277]content model requirements and attribute value microsyntax requirements do not apply to a [5278]template element's [5279]template contents. In this example an [5280]img element has attribute values that are placeholders that would be invalid outside a [5281]template element.

However, if the above markup were to omit the end tag, that would be a violation of the [5282]HTML syntax, and would thus be flagged as an error by conformance checkers.

Through scripting and using other mechanisms, the values of attributes, text, and indeed the entire structure of the document may change dynamically while a user agent is processing it. The semantics of a document at an instant in time are those represented by the state of the document at that instant in time, and the semantics of a document can therefore change over time. User agents must update their presentation of the document as this occurs.

HTML has a [5283]progress element that describes a progress bar. If its "value" attribute is dynamically updated by a script, the UA would update the rendering to show the progress changing.

3.2.2 Elements in the DOM

The nodes representing [5284]HTML elements in the DOM must implement, and expose to scripts, the interfaces listed for them in the relevant sections of this specification. This includes [5285]HTML elements in [5286]XML documents, even when those documents are in another context (e.g. inside an XSLT transform).

Elements in the DOM represent things; that is, they have intrinsic meaning, also known as semantics.

For example, an [5287]ol element represents an ordered list.

Elements can be referenced (referred to) in some way, either explicitly or implicitly. One way that an element in the DOM can be explicitly referenced is by giving an [5288]id attribute to the element, and then creating a [5289]hyperlink with that [5290]id attribute's value as the [5291]fragment for the [5292]hyperlink's [5293]href attribute value. Hyperlinks are not necessary for a reference, however; any manner of referring to the element in question will suffice.

Consider the following [5294]figure element, which is given an [5295]id attribute:

Module A depends on module B, which depends
            on modules C and D.
Figure 27: a simple module graph

A [5296]hyperlink-based [5297]reference could be created using the [5298]a element, like so: As we can see in figure 27, ...

However, there are many other ways of [5299]referencing the [5300]figure element, such as: * "As depicted in the figure of modules A, B, C, and D..." * "In Figure 27..." (without a hyperlink) * "From the contents of the 'simple module graph' figure..." * "In the figure below..." (but [5301]this is discouraged)

The basic interface, from which all the [5302]HTML elements' interfaces inherit, and which must be used by elements that have no additional requirements, is the [5303]HTMLElement interface.

(BUTTON) ✔MDN

[5304]HTMLElement

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera8+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android1+Samsung Internet?Opera Android10.1+

[5305]HTMLUnknownElement

Support in all current engines. Firefox1+Safari6+Chrome15+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[Exposed=Window] interface HTMLElement : [5306]Element { [[5307]HTMLConstructor] constructor();

// metadata attributes [[5308]CEReactions] attribute DOMString [5309]title; [[5310]CEReactions] attribute DOMString [5311]lang; [[5312]CEReactions] attribute boolean [5313]translate; [[5314]CEReactions] attribute DOMString [5315]dir;

// [5316]user interaction [[5317]CEReactions] attribute (boolean or unrestricted double or DOMString)? [ 5318]hidden; [[5319]CEReactions] attribute boolean [5320]inert; undefined [5321]click(); [[5322]CEReactions] attribute DOMString [5323]accessKey; readonly attribute DOMString [5324]accessKeyLabel; [[5325]CEReactions] attribute boolean [5326]draggable; [[5327]CEReactions] attribute boolean [5328]spellcheck; [[5329]CEReactions] attribute DOMString [5330]writingSuggestions; [[5331]CEReactions] attribute DOMString [5332]autocapitalize; [[5333]CEReactions] attribute boolean [5334]autocorrect;

[[5335]CEReactions] attribute [[5336]LegacyNullToEmptyString] DOMString [5337] innerText; [[5338]CEReactions] attribute [[5339]LegacyNullToEmptyString] DOMString [5340] outerText;

[5341]ElementInternals [5342]attachInternals();

// The popover API undefined [5343]showPopover(optional [5344]ShowPopoverOptions options = {}); undefined [5345]hidePopover(); boolean [5346]togglePopover(optional ([5347]TogglePopoverOptions or boolean) o ptions = {}); [[5348]CEReactions] attribute DOMString? [5349]popover; };

dictionary ShowPopoverOptions { [5350]HTMLElement source; };

dictionary TogglePopoverOptions : [5351]ShowPopoverOptions { boolean force; };

[5352]HTMLElement includes [5353]GlobalEventHandlers; [5354]HTMLElement includes [5355]ElementContentEditable; [5356]HTMLElement includes [5357]HTMLOrSVGElement;

[Exposed=Window] interface HTMLUnknownElement : [5358]HTMLElement { // Note: [5359]intentionally no [[5360]HTMLConstructor] };

The [5361]HTMLElement interface holds methods and attributes related to a number of disparate features, and the members of this interface are therefore described in various different sections of this specification. __________________________________________________________________

The [5362]element interface for an element with name name in the [5363]HTML namespace is determined as follows: 1. If name is [5364]applet, [5365]bgsound, [5366]blink, [5367]isindex, [5368]keygen, [5369]multicol, [5370]nextid, or [5371]spacer, then return [5372]HTMLUnknownElement. 2. If name is [5373]acronym, [5374]basefont, [5375]big, [5376]center, [5377]nobr, [5378]noembed, [5379]noframes, [5380]plaintext, [5381]rb, [5382]rtc, [5383]strike, or [5384]tt, then return [5385]HTMLElement. 3. If name is [5386]listing or [5387]xmp, then return [5388]HTMLPreElement. 4. Otherwise, if this specification defines an interface appropriate for the [5389]element type corresponding to the local name name, then return that interface. 5. If [5390]other applicable specifications define an appropriate interface for name, then return the interface they define. 6. If name is a [5391]valid custom element name, then return [5392]HTMLElement. 7. Return [5393]HTMLUnknownElement.

The use of [5394]HTMLElement instead of [5395]HTMLUnknownElement in the case of [5396]valid custom element names is done to ensure that any potential future [5397]upgrades only cause a linear transition of the element's prototype chain, from [5398]HTMLElement to a subclass, instead of a lateral one, from [5399]HTMLUnknownElement to an unrelated subclass.

Features shared between HTML and SVG elements use the [5400]HTMLOrSVGElement interface mixin: [5401][SVG] interface mixin HTMLOrSVGElement { [SameObject] readonly attribute [5402]DOMStringMap [5403]dataset; attribute DOMString [5404]nonce; // [5405]intentionally no [CEReactions]

[[5406]CEReactions] attribute boolean [5407]autofocus; [[5408]CEReactions] attribute long [5409]tabIndex; undefined [5410]focus(optional [5411]FocusOptions options = {}); undefined [5412]blur(); };

An example of an element that is neither an HTML nor SVG element is one created as follows: const el = document.createElementNS("some namespace", "example"); console.assert(el.constructor === Element);

3.2.3 HTML element constructors

To support the [5413]custom elements feature, all HTML elements have special constructor behavior. This is indicated via the [HTMLConstructor] IDL [5414]extended attribute. It indicates that the interface object for the given interface will have a specific behavior when called, as defined in detail below.

The [5415][HTMLConstructor] extended attribute must take no arguments, and must only appear on [5416]constructor operations. It must appear only once on a constructor operation, and the interface must contain only the single, annotated constructor operation, and no others. The annotated constructor operation must be declared to take no arguments.

Interfaces declared with constructor operations that are annotated with the [5417][HTMLConstructor] extended attribute have the following [5418]overridden constructor steps: 1. If [5419]NewTarget is equal to the [5420]active function object, then throw a [5421]TypeError. This can occur when a custom element is defined using an [5422]element interface as its constructor: customElements.define("bad-1", HTMLButtonElement); new HTMLButtonElement(); // (1) document.createElement("bad-1"); // (2) In this case, during the execution of [5423]HTMLButtonElement (either explicitly, as in (1), or implicitly, as in (2)), both the [5424]active function object and [5425]NewTarget are [5426]HTMLButtonElement. If this check was not present, it would be possible to create an instance of [5427]HTMLButtonElement whose local name was bad-1. 2. Let registry be null. 3. If the [5428]surrounding agent's [5429]active custom element constructor map[[5430]NewTarget] [5431]exists: 1. Set registry to the [5432]surrounding agent's [5433]active custom element constructor map[[5434]NewTarget]. 2. [5435]Remove the [5436]surrounding agent's [5437]active custom element constructor map[[5438]NewTarget]. 4. Otherwise, set registry to [5439]current global object's [5440]associated Document's [5441]custom element registry. 5. Let definition be the item in registry's [5442]custom element definition set with [5443]constructor equal to [5444]NewTarget. If there is no such item, then throw a [5445]TypeError. Since there can be no item in registry's [5446]custom element definition set with a [5447]constructor of undefined, this step also prevents HTML element constructors from being called as functions (since in that case [5448]NewTarget will be undefined). 6. Let isValue be null. 7. If definition's [5449]local name is equal to definition's [5450]name (i.e., definition is for an [5451]autonomous custom element): 1. If the [5452]active function object is not [5453]HTMLElement, then throw a [5454]TypeError. This can occur when a custom element is defined to not extend any local names, but inherits from a non-[5455]HTMLElement class: customElements.define("bad-2", class Bad2 extends HTMLParagraphElement {}); In this case, during the (implicit) super() call that occurs when constructing an instance of Bad2, the [5456]active function object is [5457]HTMLParagraphElement, not [5458]HTMLElement. 8. Otherwise (i.e., if definition is for a [5459]customized built-in element): 1. Let valid local names be the list of local names for elements defined in this specification or in [5460]other applicable specifications that use the [5461]active function object as their [5462]element interface. 2. If valid local names does not contain definition's [5463]local name, then throw a [5464]TypeError. This can occur when a custom element is defined to extend a given local name but inherits from the wrong class: customElements.define("bad-3", class Bad3 extends HTMLQuoteElement {}, { extends : "p" }); In this case, during the (implicit) super() call that occurs when constructing an instance of Bad3, valid local names is the list containing [5465]q and [5466]blockquote, but definition's [5467]local name is [5468]p, which is not in that list. 3. Set isValue to definition's [5469]name. 9. If definition's [5470]construction stack is empty: 1. Let element be the result of [5471]internally creating a new object implementing the interface to which the [5472]active function object corresponds, given the [5473]current realm and [5474]NewTarget. 2. Set element's [5475]node document to the [5476]current global object's [5477]associated Document. 3. Set element's [5478]namespace to the [5479]HTML namespace. 4. Set element's [5480]namespace prefix to null. 5. Set element's [5481]local name to definition's [5482]local name. 6. Set element's [5483]custom element state to "custom". 7. Set element's [5484]custom element definition to definition. 8. Set element's [5485]is value to isValue. 9. Return element. This occurs when author script constructs a new custom element directly, e.g. via new MyCustomElement(). 10. Let prototype be ? [5486]Get([5487]NewTarget, "prototype"). 11. If prototype [5488]is not an Object, then: 1. Let realm be ? [5489]GetFunctionRealm([5490]NewTarget). 2. Set prototype to the [5491]interface prototype object of realm whose interface is the same as the interface of the [5492]active function object. The realm of the [5493]active function object might not be realm, so we are using the more general concept of "the same interface" across realms; we are not looking for equality of [5494]interface objects. This fallback behavior, including using the realm of [5495]NewTarget and looking up the appropriate prototype there, is designed to match analogous behavior for the JavaScript built-ins and Web IDL's [5496]internally create a new object implementing the interface algorithm. 12. Let element be the last entry in definition's [5497]construction stack. 13. If element is an [5498]already constructed marker, then throw a [5499]TypeError. This can occur when the author code inside the [5500]custom element constructor [5501]non-conformantly creates another instance of the class being constructed, before calling super(): let doSillyThing = true;

class DontDoThis extends HTMLElement { constructor() { if (doSillyThing) { doSillyThing = false; new DontDoThis(); // Now the construction stack will contain an already constructed marker. }

// This will then fail with a TypeError: super(); } } This can also occur when author code inside the [5502]custom element constructor [5503]non-conformantly calls super() twice, since per the JavaScript specification, this actually executes the superclass constructor (i.e. this algorithm) twice, before throwing an error: class DontDoThisEither extends HTMLElement { constructor() { super();

// This will throw, but not until it has already called into the HTMLElement constructor super(); } } 14. Perform ? element.[[SetPrototypeOf]](prototype). 15. Replace the last entry in definition's [5504]construction stack with an [5505]already constructed marker. 16. Return element. This step is normally reached when [5506]upgrading a custom element; the existing element is returned, so that the super() call inside the [5507]custom element constructor assigns that existing element to this. __________________________________________________________________

In addition to the constructor behavior implied by [5508][HTMLConstructor], some elements also have [5509]named constructors (which are really factory functions with a modified prototype property).

Named constructors for HTML elements can also be used in an [5510]extends clause when defining a [5511]custom element constructor: class AutoEmbiggenedImage extends Image { constructor(width, height) { super(width * 10, height * 10); } }

customElements.define("auto-embiggened", AutoEmbiggenedImage, { extends: "img" } );

const image = new AutoEmbiggenedImage(15, 20); console.assert(image.width === 150); console.assert(image.height === 200);

3.2.4 Element definitions

Each element in this specification has a definition that includes the following information:

Categories A list of [5512]categories to which the element belongs. These are used when defining the [5513]content models for each element.

Contexts in which this element can be used A non-normative description of where the element can be used. This information is redundant with the content models of elements that allow this one as a child, and is provided only as a convenience.

For simplicity, only the most specific expectations are listed.

For example, all [5514]phrasing content is [5515]flow content. Thus, elements that are [5516]phrasing content will only be listed as "where [5517]phrasing content is expected", since this is the more-specific expectation. Anywhere that expects [5518]flow content also expects [5519]phrasing content, and thus also meets this expectation.

Content model A normative description of what content must be included as children and descendants of the element.

Tag omission in text/html A non-normative description of whether, in the [5520]text/html syntax, the [5521]start and [5522]end tags can be omitted. This information is redundant with the normative requirements given in the [5523]optional tags section, and is provided in the element definitions only as a convenience.

Content attributes A normative list of attributes that may be specified on the element (except where otherwise disallowed), along with non-normative descriptions of those attributes. (The content to the left of the dash is normative, the content to the right of the dash is not.)

Accessibility considerations For authors: Conformance requirements for use of ARIA [5524]role and [5525]aria-* attributes are defined in ARIA in HTML. [5526][ARIA] [5527][ARIAHTML]

For implementers: User agent requirements for implementing accessibility API semantics are defined in HTML Accessibility API Mappings. [5528][HTMLAAM]

DOM interface A normative definition of a DOM interface that such elements must implement.

This is then followed by a description of what the element [5529]represents, along with any additional normative conformance criteria that may apply to authors and implementations. Examples are sometimes also included.

3.2.4.1 Attributes

An attribute value is a string. Except where otherwise specified, attribute values on [5530]HTML elements may be any string value, including the empty string, and there is no restriction on what text can be specified in such attribute values.

3.2.5 Content models

Each element defined in this specification has a content model: a description of the element's expected [5531]contents. An [5532]HTML element must have contents that match the requirements described in the element's content model. The contents of an element are its children in the DOM.

[5533]ASCII whitespace is always allowed between elements. User agents represent these characters between elements in the source markup as [5534]Text nodes in the DOM. Empty [5535]Text nodes and [5536]Text nodes consisting of just sequences of those characters are considered inter-element whitespace.

[5537]Inter-element whitespace, comment nodes, and processing instruction nodes must be ignored when establishing whether an element's contents match the element's content model or not, and must be ignored when following algorithms that define document and element semantics.

Thus, an element A is said to be preceded or followed by a second element B if A and B have the same parent node and there are no other element nodes or [5538]Text nodes (other than [5539]inter-element whitespace) between them. Similarly, a node is the only child of an element if that element contains no other nodes other than [5540]inter-element whitespace, comment nodes, and processing instruction nodes.

Authors must not use [5541]HTML elements anywhere except where they are explicitly allowed, as defined for each element, or as explicitly required by other specifications. For XML compound documents, these contexts could be inside elements from other namespaces, if those elements are defined as providing the relevant contexts.

The Atom Syndication Format defines a content element. When its type attribute has the value xhtml, The Atom Syndication Format requires that it contain a single HTML [5542]div element. Thus, a [5543]div element is allowed in that context, even though this is not explicitly normatively stated by this specification. [5544][ATOM]

In addition, [5545]HTML elements may be orphan nodes (i.e. without a parent node).

For example, creating a [5546]td element and storing it in a global variable in a script is conforming, even though [5547]td elements are otherwise only supposed to be used inside [5548]tr elements. var data = { name: "Banana", cell: document.createElement(ʼtdʼ), };

3.2.5.1 The "nothing" content model

When an element's content model is nothing, the element must contain no [5549]Text nodes (other than [5550]inter-element whitespace) and no element nodes.

Most HTML elements whose content model is "nothing" are also, for convenience, [5551]void elements (elements that have no [5552]end tag in the [5553]HTML syntax). However, these are entirely separate concepts.

3.2.5.2 Kinds of content

Each element in HTML falls into zero or more categories that group elements with similar characteristics together. The following broad categories are used in this specification: * [5554]Metadata content * [5555]Flow content * [5556]Sectioning content * [5557]Heading content * [5558]Phrasing content * [5559]Embedded content * [5560]Interactive content

Some elements also fall into other categories, which are defined in other parts of this specification.

These categories are related as follows:

IFRAME: [5561]/images/content-venn.svg

Sectioning content, heading content, phrasing content, embedded content, and interactive content are all types of flow content. Metadata is sometimes flow content. Metadata and interactive content are sometimes phrasing content. Embedded content is also a type of phrasing content, and sometimes is interactive content.

Other categories are also used for specific purposes, e.g. form controls are specified using a number of categories to define common requirements. Some elements have unique requirements and do not fit into any particular category.

3.2.5.2.1 Metadata content

Metadata content is content that sets up the presentation or behavior of the rest of the content, or that sets up the relationship of the document with other documents, or that conveys other "out of band" information. * [5562]base * [5563]link * [5564]meta * [5565]noscript * [5566]script * [5567]style * [5568]template * [5569]title

Elements from other namespaces whose semantics are primarily metadata-related (e.g. RDF) are also [5570]metadata content.

Thus, in the XML serialization, one can use RDF, like this: Hedralʼs Home Page Cat Hedral Sir

My home page

I like playing with string, I guess. Sister says squirrels are fun too so sometimes I follow her to play with them.

This isn't possible in the HTML serialization, however.

3.2.5.2.2 Flow content

Most elements that are used in the body of documents and applications are categorized as flow content. * [5571]a * [5572]abbr * [5573]address * [5574]area (if it is a descendant of a [5575]map element) * [5576]article * [5577]aside * [5578]audio * [5579]b * [5580]bdi * [5581]bdo * [5582]blockquote * [5583]br * [5584]button * [5585]canvas * [5586]cite * [5587]code * [5588]data * [5589]datalist * [5590]del * [5591]details * [5592]dfn * [5593]dialog * [5594]div * [5595]dl * [5596]em * [5597]embed * [5598]fieldset * [5599]figure * [5600]footer * [5601]form * [5602]h1 * [5603]h2 * [5604]h3 * [5605]h4 * [5606]h5 * [5607]h6 * [5608]header * [5609]hgroup * [5610]hr * [5611]i * [5612]iframe * [5613]img * [5614]input * [5615]ins * [5616]kbd * [5617]label * [5618]link (if it is [5619]allowed in the body) * [5620]main (if it is a [5621]hierarchically correct main element) * [5622]map * [5623]mark * [5624]MathML math * [5625]menu * [5626]meta (if the [5627]itemprop attribute is present) * [5628]meter * [5629]nav * [5630]noscript * [5631]object * [5632]ol * [5633]output * [5634]p * [5635]picture * [5636]pre * [5637]progress * [5638]q * [5639]ruby * [5640]s * [5641]samp * [5642]script * [5643]search * [5644]section * [5645]select * [5646]slot * [5647]small * [5648]span * [5649]strong * [5650]sub * [5651]sup * [5652]SVG svg * [5653]table * [5654]template * [5655]textarea * [5656]time * [5657]u * [5658]ul * [5659]var * [5660]video * [5661]wbr * [5662]autonomous custom elements * [5663]text

3.2.5.2.3 Sectioning content

Sectioning content is content that defines the scope of [5664]header and [5665]footer elements. * [5666]article * [5667]aside * [5668]nav * [5669]section

3.2.5.2.4 Heading content

Heading content defines the heading of a section (whether explicitly marked up using [5670]sectioning content elements, or implied by the heading content itself). * [5671]h1 * [5672]h2 * [5673]h3 * [5674]h4 * [5675]h5 * [5676]h6 * [5677]hgroup (if it has a descendant [5678]h1 to [5679]h6 element)

3.2.5.2.5 Phrasing content

Phrasing content is the text of the document, as well as elements that mark up that text at the intra-paragraph level. Runs of [5680]phrasing content form [5681]paragraphs. * [5682]a * [5683]abbr * [5684]area (if it is a descendant of a [5685]map element) * [5686]audio * [5687]b * [5688]bdi * [5689]bdo * [5690]br * [5691]button * [5692]canvas * [5693]cite * [5694]code * [5695]data * [5696]datalist * [5697]del * [5698]dfn * [5699]em * [5700]embed * [5701]i * [5702]iframe * [5703]img * [5704]input * [5705]ins * [5706]kbd * [5707]label * [5708]link (if it is [5709]allowed in the body) * [5710]map * [5711]mark * [5712]MathML math * [5713]meta (if the [5714]itemprop attribute is present) * [5715]meter * [5716]noscript * [5717]object * [5718]output * [5719]picture * [5720]progress * [5721]q * [5722]ruby * [5723]s * [5724]samp * [5725]script * [5726]select * [5727]slot * [5728]small * [5729]span * [5730]strong * [5731]sub * [5732]sup * [5733]SVG svg * [5734]template * [5735]textarea * [5736]time * [5737]u * [5738]var * [5739]video * [5740]wbr * [5741]autonomous custom elements * [5742]text

Most elements that are categorized as phrasing content can only contain elements that are themselves categorized as phrasing content, not any flow content.

Text, in the context of content models, means either nothing, or [5743]Text nodes. [5744]Text is sometimes used as a content model on its own, but is also [5745]phrasing content, and can be [5746]inter-element whitespace (if the [5747]Text nodes are empty or contain just [5748]ASCII whitespace).

[5749]Text nodes and attribute values must consist of [5750]scalar values, excluding [5751]noncharacters, and [5752]controls other than [5753]ASCII whitespace. This specification includes extra constraints on the exact value of [5754]Text nodes and attribute values depending on their precise context.

3.2.5.2.6 Embedded content

Embedded content is content that imports another resource into the document, or content from another vocabulary that is inserted into the document. * [5755]audio * [5756]canvas * [5757]embed * [5758]iframe * [5759]img * [5760]MathML math * [5761]object * [5762]picture * [5763]SVG svg * [5764]video

Elements that are from namespaces other than the [5765]HTML namespace and that convey content but not metadata, are [5766]embedded content for the purposes of the content models defined in this specification. (For example, MathML or SVG.)

Some embedded content elements can have fallback content: content that is to be used when the external resource cannot be used (e.g. because it is of an unsupported format). The element definitions state what the fallback is, if any.

3.2.5.2.7 Interactive content

Interactive content is content that is specifically intended for user interaction. * [5767]a (if the [5768]href attribute is present) * [5769]audio (if the [5770]controls attribute is present) * [5771]button * [5772]details * [5773]embed * [5774]iframe * [5775]img (if the [5776]usemap attribute is present) * [5777]input (if the [5778]type attribute is not in the [5779]Hidden state) * [5780]label * [5781]select * [5782]textarea * [5783]video (if the [5784]controls attribute is present)

3.2.5.2.8 Palpable content

As a general rule, elements whose content model allows any [5785]flow content or [5786]phrasing content should have at least one node in its [5787]contents that is palpable content and that does not have the [5788]hidden attribute specified.

[5789]Palpable content makes an element non-empty by providing either some descendant non-empty [5790]text, or else something users can hear ([5791]audio elements) or view ([5792]video, [5793]img, or [5794]canvas elements) or otherwise interact with (for example, interactive form controls).

This requirement is not a hard requirement, however, as there are many cases where an element can be empty legitimately, for example when it is used as a placeholder which will later be filled in by a script, or when the element is part of a template and would on most pages be filled in but on some pages is not relevant.

Conformance checkers are encouraged to provide a mechanism for authors to find elements that fail to fulfill this requirement, as an authoring aid.

The following elements are palpable content: * [5795]a * [5796]abbr * [5797]address * [5798]article * [5799]aside * [5800]audio (if the [5801]controls attribute is present) * [5802]b * [5803]bdi * [5804]bdo * [5805]blockquote * [5806]button * [5807]canvas * [5808]cite * [5809]code * [5810]data * [5811]del * [5812]details * [5813]dfn * [5814]div * [5815]dl (if the element's children include at least one name-value group) * [5816]em * [5817]embed * [5818]fieldset * [5819]figure * [5820]footer * [5821]form * [5822]h1 * [5823]h2 * [5824]h3 * [5825]h4 * [5826]h5 * [5827]h6 * [5828]header * [5829]hgroup * [5830]i * [5831]iframe * [5832]img * [5833]input (if the [5834]type attribute is not in the [5835]Hidden state) * [5836]ins * [5837]kbd * [5838]label * [5839]main * [5840]map * [5841]mark * [5842]MathML math * [5843]menu (if the element's children include at least one [5844]li element) * [5845]meter * [5846]nav * [5847]object * [5848]ol (if the element's children include at least one [5849]li element) * [5850]output * [5851]p * [5852]picture * [5853]pre * [5854]progress * [5855]q * [5856]ruby * [5857]s * [5858]samp * [5859]search * [5860]section * [5861]select * [5862]small * [5863]span * [5864]strong * [5865]sub * [5866]sup * [5867]SVG svg * [5868]table * [5869]textarea * [5870]time * [5871]u * [5872]ul (if the element's children include at least one [5873]li element) * [5874]var * [5875]video * [5876]autonomous custom elements * [5877]text that is not [5878]inter-element whitespace

3.2.5.2.9 Script-supporting elements

Script-supporting elements are those that do not [5879]represent anything themselves (i.e. they are not rendered), but are used to support scripts, e.g. to provide functionality for the user.

The following elements are script-supporting elements: * [5880]script * [5881]template

3.2.5.3 Transparent content models

Some elements are described as transparent; they have "transparent" in the description of their content model. The content model of a [5882]transparent element is derived from the content model of its parent element: the elements required in the part of the content model that is "transparent" are the same elements as required in the part of the content model of the parent of the transparent element in which the transparent element finds itself.

For instance, an [5883]ins element inside a [5884]ruby element cannot contain an [5885]rt element, because the part of the [5886]ruby element's content model that allows [5887]ins elements is the part that allows [5888]phrasing content, and the [5889]rt element is not [5890]phrasing content.

In some cases, where transparent elements are nested in each other, the process has to be applied iteratively.

Consider the following markup fragment:

Apples

To check whether "Apples" is allowed inside the [5891]a element, the content models are examined. The [5892]a element's content model is transparent, as is the [5893]map element's, as is the [5894]ins element's, as is the [5895]object element's. The [5896]object element is found in the [5897]p element, whose content model is [5898]phrasing content. Thus, "Apples" is allowed, as text is phrasing content.

When a transparent element has no parent, then the part of its content model that is "transparent" must instead be treated as accepting any [5899]flow content.

3.2.5.4 Paragraphs

The term [5900]paragraph as defined in this section is used for more than just the definition of the [5901]p element. The [5902]paragraph concept defined here is used to describe how to interpret documents. The [5903]p element is merely one of several ways of marking up a [5904]paragraph.

A paragraph is typically a run of [5905]phrasing content that forms a block of text with one or more sentences that discuss a particular topic, as in typography, but can also be used for more general thematic grouping. For instance, an address is also a paragraph, as is a part of a form, a byline, or a stanza in a poem.

In the following example, there are two paragraphs in a section. There is also a heading, which contains phrasing content that is not a paragraph. Note how the comments and [5906]inter-element whitespace do not form paragraphs.

Example of paragraphs

This is the first paragraph in this example.

This is the second.

Paragraphs in [5907]flow content are defined relative to what the document looks like without the [5908]a, [5909]ins, [5910]del, and [5911]map elements complicating matters, since those elements, with their hybrid content models, can straddle paragraph boundaries, as shown in the first two examples below.

Generally, having elements straddle paragraph boundaries is best avoided. Maintaining such markup can be difficult.

The following example takes the markup from the earlier example and puts [5912]ins and [5913]del elements around some of the markup to show that the text was changed (though in this case, the changes admittedly don't make much sense). Notice how this example has exactly the same paragraphs as the previous one, despite the [5914]ins and [5915]del elements — the [5916]ins element straddles the heading and the first paragraph, and the [5917]del element straddles the boundary between the two paragraphs.

Example of paragraphs

This is the first paragraph in
this example.

This is the second.

Let view be a view of the DOM that replaces all [5918]a, [5919]ins, [5920]del, and [5921]map elements in the document with their [5922]contents. Then, in view, for each run of sibling [5923]phrasing content nodes uninterrupted by other types of content, in an element that accepts content other than [5924]phrasing content as well as [5925]phrasing content, let first be the first node of the run, and let last be the last node of the run. For each such run that consists of at least one node that is neither [5926]embedded content nor [5927]inter-element whitespace, a paragraph exists in the original DOM from immediately before first to immediately after last. (Paragraphs can thus span across [5928]a, [5929]ins, [5930]del, and [5931]map elements.)

Conformance checkers may warn authors of cases where they have paragraphs that overlap each other (this can happen with [5932]object, [5933]video, [5934]audio, and [5935]canvas elements, and indirectly through elements in other namespaces that allow HTML to be further embedded therein, like [5936]SVG svg or [5937]MathML math).

A [5938]paragraph is also formed explicitly by [5939]p elements.

The [5940]p element can be used to wrap individual paragraphs when there would otherwise not be any content other than phrasing content to separate the paragraphs from each other.

In the following example, the link spans half of the first paragraph, all of the heading separating the two paragraphs, and half of the second paragraph. It straddles the paragraphs and the heading.

Welcome! This is home of...

The Falcons!

The Lockheed Martin multirole jet fighter aircraft!
This page discusses the F-16 Fighting Falconʼs innermost secrets.

Here is another way of marking this up, this time showing the paragraphs explicitly, and splitting the one link element into three:

Welcome! This is home of...

The Falcons!

The Lockheed Martin multirole jet fighter aircraft! This page discusses the F-16 Fighting Falconʼs innermost secrets.

It is possible for paragraphs to overlap when using certain elements that define fallback content. For example, in the following section:

My Cats

You can play with my cat simulator. To see the cat simulator, use one of the following links: Alternatively, upgrade to the Mellblom Browser. Iʼm quite proud of it.

There are five paragraphs: 1. The paragraph that says "You can play with my cat simulator. object I'm quite proud of it.", where object is the [5941]object element. 2. The paragraph that says "To see the cat simulator, use one of the following links:". 3. The paragraph that says "Download simulator file". 4. The paragraph that says "Use online simulator". 5. The paragraph that says "Alternatively, upgrade to the Mellblom Browser.".

The first paragraph is overlapped by the other four. A user agent that supports the "cats.sim" resource will only show the first one, but a user agent that shows the fallback will confusingly show the first sentence of the first paragraph as if it was in the same paragraph as the second one, and will show the last paragraph as if it was at the start of the second sentence of the first paragraph.

To avoid this confusion, explicit [5942]p elements can be used. For example:

My Cats

You can play with my cat simulator.

To see the cat simulator, use one of the following links:

Alternatively, upgrade to the Mellblom Browser.

Iʼm quite proud of it.

3.2.6 Global attributes

(BUTTON) MDN

[5943]Global_attributes

The following attributes are common to and may be specified on all [5944]HTML elements (even those not defined in this specification): * [5945]accesskey * [5946]autocapitalize * [5947]autocorrect * [5948]autofocus * [5949]contenteditable * [5950]dir * [5951]draggable * [5952]enterkeyhint * [5953]hidden * [5954]inert * [5955]inputmode * [5956]is * [5957]itemid * [5958]itemprop * [5959]itemref * [5960]itemscope * [5961]itemtype * [5962]lang * [5963]nonce * [5964]popover * [5965]spellcheck * [5966]style * [5967]tabindex * [5968]title * [5969]translate * [5970]writingsuggestions

These attributes are only defined by this specification as attributes for [5971]HTML elements. When this specification refers to elements having these attributes, elements from namespaces that are not defined as having these attributes must not be considered as being elements with these attributes.

For example, in the following XML fragment, the "bogus" element does not have a [5972]dir attribute as defined in this specification, despite having an attribute with the literal name "dir". Thus, [5973]the directionality of the inner-most [5974]span element is '[5975]rtl', inherited from the [5976]div element indirectly through the "bogus" element.

__________________________________________________________________

(BUTTON) ✔MDN

[5977]Global_attributes/slot

Support in all current engines. Firefox63+Safari10+Chrome53+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)NoInternet Explorer? __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

DOM defines the user agent requirements for the class, id, and slot attributes for any element in any namespace. [5978][DOM]

The [5979]class, [5980]id, and [5981]slot attributes may be specified on all [5982]HTML elements.

When specified on [5983]HTML elements, the [5984]class attribute must have a value that is a [5985]set of space-separated tokens representing the various classes that the element belongs to.

Assigning classes to an element affects class matching in selectors in CSS, the [5986]getElementsByClassName() method in the DOM, and other such features.

There are no additional restrictions on the tokens authors can use in the [5987]class attribute, but authors are encouraged to use values that describe the nature of the content, rather than values that describe the desired presentation of the content.

When specified on [5988]HTML elements, the [5989]id attribute value must be unique amongst all the [5990]IDs in the element's [5991]tree and must contain at least one character. The value must not contain any [5992]ASCII whitespace.

The [5993]id attribute specifies its element's [5994]unique identifier (ID).

There are no other restrictions on what form an ID can take; in particular, IDs can consist of just digits, start with a digit, start with an underscore, consist of just punctuation, etc.

An element's [5995]unique identifier can be used for a variety of purposes, most notably as a way to link to specific parts of a document using [5996]fragments, as a way to target an element when scripting, and as a way to style a specific element from CSS.

Identifiers are opaque strings. Particular meanings should not be derived from the value of the [5997]id attribute.

There are no conformance requirements for the [5998]slot attribute specific to [5999]HTML elements.

The [6000]slot attribute is used to [6001]assign a slot to an element: an element with a [6002]slot attribute is [6003]assigned to the [6004]slot created by the [6005]slot element whose [6006]name attribute's value matches that [6007]slot attribute's value — but only if that [6008]slot element finds itself in the [6009]shadow tree whose [6010]root's [6011]host has the corresponding [6012]slot attribute value. __________________________________________________________________

To enable assistive technology products to expose a more fine-grained interface than is otherwise possible with HTML elements and attributes, a set of [6013]annotations for assistive technology products can be specified (the ARIA [6014]role and [6015]aria-* attributes). [6016][ARIA] __________________________________________________________________

The following [6017]event handler content attributes may be specified on any [6018]HTML element: * [6019]onauxclick * [6020]onbeforeinput * [6021]onbeforematch * [6022]onbeforetoggle * [6023]onblur* * [6024]oncancel * [6025]oncanplay * [6026]oncanplaythrough * [6027]onchange * [6028]onclick * [6029]onclose * [6030]oncommand * [6031]oncontextlost * [6032]oncontextmenu * [6033]oncontextrestored * [6034]oncopy * [6035]oncuechange * [6036]oncut * [6037]ondblclick * [6038]ondrag * [6039]ondragend * [6040]ondragenter * [6041]ondragleave * [6042]ondragover * [6043]ondragstart * [6044]ondrop * [6045]ondurationchange * [6046]onemptied * [6047]onended * [6048]onerror* * [6049]onfocus* * [6050]onformdata * [6051]oninput * [6052]oninvalid * [6053]onkeydown * [6054]onkeypress * [6055]onkeyup * [6056]onload* * [6057]onloadeddata * [6058]onloadedmetadata * [6059]onloadstart * [6060]onmousedown * [6061]onmouseenter * [6062]onmouseleave * [6063]onmousemove * [6064]onmouseout * [6065]onmouseover * [6066]onmouseup * [6067]onpaste * [6068]onpause * [6069]onplay * [6070]onplaying * [6071]onprogress * [6072]onratechange * [6073]onreset * [6074]onresize* * [6075]onscroll* * [6076]onscrollend* * [6077]onsecuritypolicyviolation * [6078]onseeked * [6079]onseeking * [6080]onselect * [6081]onslotchange * [6082]onstalled * [6083]onsubmit * [6084]onsuspend * [6085]ontimeupdate * [6086]ontoggle * [6087]onvolumechange * [6088]onwaiting * [6089]onwheel

The attributes marked with an asterisk have a different meaning when specified on [6090]body elements as those elements expose [6091]event handlers of the [6092]Window object with the same names.

While these attributes apply to all elements, they are not useful on all elements. For example, only [6093]media elements will ever receive a [6094]volumechange event fired by the user agent. __________________________________________________________________

[6095]Custom data attributes (e.g. data-foldername or data-msgid) can be specified on any [6096]HTML element, to store custom data, state, annotations, and similar, specific to the page. __________________________________________________________________

In [6097]HTML documents, elements in the [6098]HTML namespace may have an xmlns attribute specified, if, and only if, it has the exact value "http://www.w3.org/1999/xhtml". This does not apply to [6099]XML documents.

In HTML, the xmlns attribute has absolutely no effect. It is basically a talisman. It is allowed merely to make migration to and from XML mildly easier. When parsed by an [6100]HTML parser, the attribute ends up in no namespace, not the "http://www.w3.org/2000/xmlns/" namespace like namespace declaration attributes in XML do.

In XML, an xmlns attribute is part of the namespace declaration mechanism, and an element cannot actually have an xmlns attribute in no namespace specified. __________________________________________________________________

XML also allows the use of the [6101]xml:space attribute in the [6102]XML namespace on any element in an [6103]XML document. This attribute has no effect on [6104]HTML elements, as the default behavior in HTML is to preserve whitespace. [6105][XML]

There is no way to serialize the [6106]xml:space attribute on [6107]HTML elements in the [6108]text/html syntax.

3.2.6.1 The [6109]title attribute

(BUTTON) ✔MDN

[6110]Global_attributes/title

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The title attribute [6111]represents advisory information for the element, such as would be appropriate for a tooltip. On a link, this could be the title or a description of the target resource; on an image, it could be the image credit or a description of the image; on a paragraph, it could be a footnote or commentary on the text; on a citation, it could be further information about the source; on [6112]interactive content, it could be a label for, or instructions for, use of the element; and so forth. The value is text.

Relying on the [6113]title attribute is currently discouraged as many user agents do not expose the attribute in an accessible manner as required by this specification (e.g., requiring a pointing device such as a mouse to cause a tooltip to appear, which excludes keyboard-only users and touch-only users, such as anyone with a modern phone or tablet).

If this attribute is omitted from an element, then it implies that the [6114]title attribute of the nearest ancestor [6115]HTML element with a [6116]title attribute set is also relevant to this element. Setting the attribute overrides this, explicitly stating that the advisory information of any ancestors is not relevant to this element. Setting the attribute to the empty string indicates that the element has no advisory information.

If the [6117]title attribute's value contains U+000A LINE FEED (LF) characters, the content is split into multiple lines. Each U+000A LINE FEED (LF) character represents a line break.

Caution is advised with respect to the use of newlines in [6118]title attributes.

For instance, the following snippet actually defines an abbreviation's expansion with a line break in it:

My logs show that there was some interest in HTTP today.

Some elements, such as [6119]link, [6120]abbr, and [6121]input, define additional semantics for the [6122]title attribute beyond the semantics described above.

The advisory information of an element is the value that the following algorithm returns, with the algorithm being aborted once a value is returned. When the algorithm returns the empty string, then there is no advisory information. 1. If the element has a [6123]title attribute, then return the result of running [6124]normalize newlines on its value. 2. If the element has a parent element, then return the parent element's [6125]advisory information. 3. Return the empty string.

User agents should inform the user when elements have [6126]advisory information, otherwise the information would not be discoverable. __________________________________________________________________

(BUTTON) ✔MDN

[6127]HTMLElement/title

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

The title IDL attribute must [6128]reflect the [6129]title content attribute.

3.2.6.2 The [6130]lang and [6131]xml:lang attributes

(BUTTON) ✔MDN

[6132]Global_attributes/lang

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The lang attribute (in no namespace) specifies the primary language for the element's contents and for any of the element's attributes that contain text. Its value must be a valid BCP 47 language tag, or the empty string. Setting the attribute to the empty string indicates that the primary language is unknown. [6133][BCP47]

The [6134]lang attribute in the [6135]XML namespace is defined in XML. [6136][XML]

If these attributes are omitted from an element, then the language of this element is the same as the language of its parent element, if any (except for [6137]slot elements in a [6138]shadow tree).

The [6139]lang attribute in no namespace may be used on any [6140]HTML element.

The [6141]lang attribute in the XML namespace may be used on [6142]HTML elements in [6143]XML documents, as well as elements in other namespaces if the relevant specifications allow it (in particular, MathML and SVG allow [6144]lang attributes in the XML namespace to be specified on their elements). If both the [6145]lang attribute in no namespace and the [6146]lang attribute in the XML namespace are specified on the same element, they must have exactly the same value when compared in an [6147]ASCII case-insensitive manner.

Authors must not use the [6148]lang attribute in the XML namespace on [6149]HTML elements in [6150]HTML documents. To ease migration to and from XML, authors may specify an attribute in no namespace with no prefix and with the literal localname "xml:lang" on [6151]HTML elements in [6152]HTML documents, but such attributes must only be specified if a [6153]lang attribute in no namespace is also specified, and both attributes must have the same value when compared in an [6154]ASCII case-insensitive manner.

The attribute in no namespace with no prefix and with the literal localname "xml:lang" has no effect on language processing. __________________________________________________________________

To determine the language of a node, user agents must use the first appropriate step in the following list:

If the node is an element that has a [6155]lang attribute in the XML namespace set Use the value of that attribute.

If the node is an [6156]HTML element or an element in the [6157]SVG namespace, and it has a [6158]lang in no namespace attribute set Use the value of that attribute.

If the node's parent is a [6159]shadow root Use the [6160]language of that [6161]shadow root's [6162]host.

If the node's [6163]parent element is not null Use the [6164]language of that [6165]parent element.

Otherwise If there is a [6166]pragma-set default language set, then that is the language of the node. If there is no [6167]pragma-set default language set, then language information from a higher-level protocol (such as HTTP), if any, must be used as the final fallback language instead. In the absence of any such language information, and in cases where the higher-level protocol reports multiple languages, the language of the node is unknown, and the corresponding language tag is the empty string.

If the resulting value is not a recognized language tag, then it must be treated as an unknown language having the given language tag, distinct from all other languages. For the purposes of round-tripping or communicating with other services that expect language tags, user agents should pass unknown language tags through unmodified, and tagged as being BCP 47 language tags, so that subsequent services do not interpret the data as another type of language description. [6168][BCP47]

Thus, for instance, an element with lang="xyzzy" would be matched by the selector :lang(xyzzy) (e.g. in CSS), but it would not be matched by :lang(abcde), even though both are equally invalid. Similarly, if a web browser and screen reader working in unison communicated about the language of the element, the browser would tell the screen reader that the language was "xyzzy", even if it knew it was invalid, just in case the screen reader actually supported a language with that tag after all. Even if the screen reader supported both BCP 47 and another syntax for encoding language names, and in that other syntax the string "xyzzy" was a way to denote the Belarusian language, it would be incorrect for the screen reader to then start treating text as Belarusian, because "xyzzy" is not how Belarusian is described in BCP 47 codes (BCP 47 uses the code "be" for Belarusian).

If the resulting value is the empty string, then it must be interpreted as meaning that the language of the node is explicitly unknown. __________________________________________________________________

User agents may use the element's language to determine proper processing or rendering (e.g. in the selection of appropriate fonts or pronunciations, for dictionary selection, or for the user interfaces of form controls such as date pickers). __________________________________________________________________

(BUTTON) ✔MDN

[6169]HTMLElement/lang

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

The lang IDL attribute must [6170]reflect the [6171]lang content attribute in no namespace.

3.2.6.3 The [6172]translate attribute

(BUTTON) ✔MDN

[6173]Global_attributes/translate

Support in all current engines. Firefox111+Safari6+Chrome19+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The translate attribute is used to specify whether an element's attribute values and the values of its [6174]Text node children are to be translated when the page is localized, or whether to leave them unchanged. It is an attribute is an [6175]enumerated attribute with the following keywords and states:

Keyword State Brief description yes yes Sets [6176]translation mode to [6177]translate-enabled. (the empty string) no no Sets [6178]translation mode to [6179]no-translate.

The attribute's [6180]missing value default and [6181]invalid value default are both the inherit state.

Each element (even non-HTML elements) has a translation mode, which is in either the [6182]translate-enabled state or the [6183]no-translate state. If an [6184]HTML element's [6185]translate attribute is in the [6186]yes state, then the element's [6187]translation mode is in the [6188]translate-enabled state; otherwise, if the element's [6189]translate attribute is in the [6190]no state, then the element's [6191]translation mode is in the [6192]no-translate state. Otherwise, either the element's [6193]translate attribute is in the [6194]inherit state, or the element is not an [6195]HTML element and thus does not have a [6196]translate attribute; in either case, the element's [6197]translation mode is in the same state as its [6198]parent element's, if any, or in the [6199]translate-enabled state, if the element's [6200]parent element is null.

When an element is in the translate-enabled state, the element's [6201]translatable attributes and the values of its [6202]Text node children are to be translated when the page is localized.

When an element is in the no-translate state, the element's attribute values and the values of its [6203]Text node children are to be left as-is when the page is localized, e.g. because the element contains a person's name or a name of a computer program.

The following attributes are translatable attributes: * [6204]abbr on [6205]th elements * alt on [6206]area, [6207]img, and [6208]input elements * [6209]content on [6210]meta elements, if the [6211]name attribute specifies a metadata name whose value is known to be translatable * [6212]download on [6213]a and [6214]area elements * label on [6215]optgroup, [6216]option, and [6217]track elements * [6218]lang on [6219]HTML elements; must be "translated" to match the language used in the translation * placeholder on [6220]input and [6221]textarea elements * [6222]srcdoc on [6223]iframe elements; must be parsed and recursively processed * [6224]style on [6225]HTML elements; must be parsed and recursively processed (e.g. for the values of [6226]'content' properties) * [6227]title on all [6228]HTML elements * [6229]value on [6230]input elements with a [6231]type attribute in the [6232]Button state or the [6233]Reset Button state

Other specifications may define other attributes that are also [6234]translatable attributes. For example, ARIA would define the [6235]aria-label attribute as translatable. __________________________________________________________________

The translate IDL attribute must, on getting, return true if the element's [6236]translation mode is [6237]translate-enabled, and false otherwise. On setting, it must set the content attribute's value to "yes" if the new value is true, and set the content attribute's value to "no" otherwise.

In this example, everything in the document is to be translated when the page is localized, except the sample keyboard input and sample program output: The Bee Game

The Bee Game is a text adventure game in English.

When the game launches, the first thing you should do is type eat honey. The game will respond with:

Yum yum! That was some good honey!

3.2.6.4 The [6238]dir attribute

(BUTTON) ✔MDN

[6239]Global_attributes/dir

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The dir attribute is an [6240]enumerated attribute with the following keywords and states:

Keyword State Brief description ltr ltr The contents of the element are explicitly directionally isolated left-to-right text. rtl rtl The contents of the element are explicitly directionally isolated right-to-left text. auto auto The contents of the element are explicitly directionally isolated text, but the direction is to be determined programmatically using the contents of the element (as described below).

The heuristic used by the [6241]auto state is very crude (it just looks at the first character with a strong directionality, in a manner analogous to the Paragraph Level determination in the bidirectional algorithm). Authors are urged to only use this value as a last resort when the direction of the text is truly unknown and no better server-side heuristic can be applied. [6242][BIDI]

For [6243]textarea and [6244]pre elements, the heuristic is applied on a per-paragraph level.

The attribute's [6245]missing value default and [6246]invalid value default are both the undefined state. __________________________________________________________________

The directionality of an element (any element, not just an [6247]HTML element) is either 'ltr' or 'rtl'. To compute the [6248]directionality given an element element, switch on element's [6249]dir attribute state:

[6250]ltr Return '[6251]ltr'.

[6252]rtl Return '[6253]rtl'.

[6254]auto

1. Let result be the [6255]auto directionality of element. 2. If result is null, then return '[6256]ltr'. 3. Return result.

[6257]undefined

If element is a [6258]bdi element

1. Let result be the [6259]auto directionality of element. 2. If result is null, then return '[6260]ltr'. 3. Return result.

If element is an [6261]input element whose [6262]type attribute is in the [6263]Telephone state Return '[6264]ltr'.

Otherwise Return the [6265]parent directionality of element.

Since the [6266]dir attribute is only defined for [6267]HTML elements, it cannot be present on elements from other namespaces. Thus, elements from other namespaces always end up using the [6268]parent directionality.

The auto-directionality form-associated elements are: * [6269]input elements whose [6270]type attribute is in the [6271]Hidden, [6272]Text, [6273]Search, [6274]Telephone, [6275]URL, [6276]Email, [6277]Password, [6278]Submit Button, [6279]Reset Button, or [6280]Button state, and * [6281]textarea elements.

To compute the auto directionality given an element element: 1. If element is an [6282]auto-directionality form-associated element: 1. If element's [6283]value contains a character of bidirectional character type AL or R, and there is no character of bidirectional character type L anywhere before it in the element's [6284]value, then return '[6285]rtl'. [6286][BIDI] 2. If element's [6287]value is not the empty string, then return '[6288]ltr'. 3. Return null. 2. If element is a [6289]slot element whose [6290]root is a [6291]shadow root and element's [6292]assigned nodes are not empty: 1. [6293]For each node child of element's [6294]assigned nodes: 1. Let childDirection be null. 2. If child is a [6295]Text node, then set childDirection to the [6296]text node directionality of child. 3. Otherwise: 1. [6297]Assert: child is an [6298]Element node. 2. Set childDirection to the [6299]contained text auto directionality of child with [6300]canExcludeRoot set to true. 4. If childDirection is not null, then return childDirection. 2. Return null. 3. Return the [6301]contained text auto directionality of element with [6302]canExcludeRoot set to false.

To compute the contained text auto directionality of an element element with a boolean canExcludeRoot: 1. [6303]For each node descendant of element's [6304]descendants, in [6305]tree order: 1. If any of o descendant o any ancestor element of descendant that is a descendant of element o if canExcludeRoot is true, element is one of o a [6306]bdi element o a [6307]script element o a [6308]style element o a [6309]textarea element o an element whose [6310]dir attribute is not in the [6311]undefined state then [6312]continue. 2. If descendant is a [6313]slot element whose [6314]root is a [6315]shadow root, then return the [6316]directionality of that [6317]shadow root's [6318]host. 3. If descendant is not a [6319]Text node, then [6320]continue. 4. Let result be the [6321]text node directionality of descendant. 5. If result is not null, then return result. 2. Return null.

To compute the text node directionality given a [6322]Text node text: 1. If text's [6323]data does not contain a code point whose bidirectional character type is L, AL, or R, then return null. [6324][BIDI] 2. Let codePoint be the first code point in text's [6325]data whose bidirectional character type is L, AL, or R. 3. If codePoint is of bidirectional character type AL or R, then return '[6326]rtl'. 4. If codePoint is of bidirectional character type L, then return '[6327]ltr'.

To compute the parent directionality given an element element: 1. Let parentNode be element's parent node. 2. If parentNode is a [6328]shadow root, then return the [6329]directionality of parentNode's [6330]host. 3. If parentNode is an element, then return the [6331]directionality of parentNode. 4. Return '[6332]ltr'.

This attribute [6333]has rendering requirements involving the bidirectional algorithm. __________________________________________________________________

The directionality of an attribute of an [6334]HTML element, which is used when the text of that attribute is to be included in the rendering in some manner, is determined as per the first appropriate set of steps from the following list:

If the attribute is a [6335]directionality-capable attribute and the element's [6336]dir attribute is in the [6337]auto state Find the first character (in logical order) of the attribute's value that is of bidirectional character type L, AL, or R. [6338][BIDI]

If such a character is found and it is of bidirectional character type AL or R, the [6339]directionality of the attribute is '[6340]rtl'.

Otherwise, the [6341]directionality of the attribute is '[6342]ltr'.

Otherwise The [6343]directionality of the attribute is the same as [6344]the element's directionality.

The following attributes are directionality-capable attributes: * [6345]abbr on [6346]th elements * alt on [6347]area, [6348]img, and [6349]input elements * [6350]content on [6351]meta elements, if the [6352]name attribute specifies a metadata name whose value is primarily intended to be human-readable rather than machine-readable * label on [6353]optgroup, [6354]option, and [6355]track elements * placeholder on [6356]input and [6357]textarea elements * [6358]title on all [6359]HTML elements __________________________________________________________________

document.[6360]dir [ = value ] Returns [6361]the html element's [6362]dir attribute's value, if any.

Can be set, to either "ltr", "rtl", or "auto" to replace [6363]the html element's [6364]dir attribute's value.

If there is no [6365]html element, returns the empty string and ignores new values.

(BUTTON) ✔MDN

[6366]HTMLElement/dir

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

The dir IDL attribute on an element must [6367]reflect the [6368]dir content attribute of that element, [6369]limited to only known values.

(BUTTON) ✔MDN

[6370]Document/dir

Support in all current engines. Firefox1+Safari10.1+Chrome64+ __________________________________________________________________

Opera51+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android47+

The dir IDL attribute on [6371]Document objects must [6372]reflect the [6373]dir content attribute of [6374]the html element, if any, [6375]limited to only known values. If there is no such element, then the attribute must return the empty string and do nothing on setting.

Authors are strongly encouraged to use the [6376]dir attribute to indicate text direction rather than using CSS, since that way their documents will continue to render correctly even in the absence of CSS (e.g. as interpreted by search engines).

This markup fragment is of an IM conversation.

Student: How do you write "Whatʼs your name?" in Arabic?

Teacher: ما اسمك؟

Student: Thanks.

Teacher: Thatʼs written "شكرًا".

Teacher: Do you know how to write "Plea se"?

Student: "من فضلك", right?

Given a suitable style sheet and the default alignment styles for the [6377]p element, namely to align the text to the start edge of the paragraph, the resulting rendering could be as follows:

Each paragraph rendered as a separate block, with the paragraphs left-aligned except the second paragraph and the last one, which would be right aligned, with the usernames ('Student' and 'Teacher' in this example) flush right, with a colon to their left, and the text first to the left of that.

As noted earlier, the [6378]auto value is not a panacea. The final paragraph in this example is misinterpreted as being right-to-left text, since it begins with an Arabic character, which causes the "right?" to be to the left of the Arabic text.

3.2.6.5 The [6379]style attribute

(BUTTON) ✔MDN

[6380]Global_attributes/style

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

All [6381]HTML elements may have the style content attribute set. This is a [6382]style attribute as defined by CSS Style Attributes. [6383][CSSATTR]

In user agents that support CSS, the attribute's value must be parsed when the attribute is added or has its value changed, according to the rules given for [6384]style attributes. [6385][CSSATTR]

However, if the [6386]Should element's inline behavior be blocked by Content Security Policy? algorithm returns "Blocked" when executed upon the attribute's [6387]element, "style attribute", and the attribute's value, then the style rules defined in the attribute's value must not be applied to the [6388]element. [6389][CSP]

Documents that use [6390]style attributes on any of their elements must still be comprehensible and usable if those attributes were removed.

In particular, using the [6391]style attribute to hide and show content, or to convey meaning that is otherwise not included in the document, is non-conforming. (To hide and show content, use the [6392]hidden attribute.) __________________________________________________________________

element.[6393]style Returns a [6394]CSSStyleDeclaration object for the element's [6395]style attribute.

The [6396]style IDL attribute is defined in CSS Object Model. [6397][CSSOM]

In the following example, the words that refer to colors are marked up using the [6398]span element and the [6399]style attribute to make those words show up in the relevant colors in visual media.

My sweat suit is green and my eyes are blue.

3.2.6.6 Embedding custom non-visible data with the [6400]data-* attributes

(BUTTON) ✔MDN

[6401]Global_attributes/data-*

Support in all current engines. Firefox6+Safari5.1+Chrome7+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

A custom data attribute is an attribute in no namespace whose name starts with the string "data-", has at least one character after the hyphen, is [6402]XML-compatible, and contains no [6403]ASCII upper alphas.

All attribute names on [6404]HTML elements in [6405]HTML documents get ASCII-lowercased automatically, so the restriction on ASCII uppercase letters doesn't affect such documents.

[6406]Custom data attributes are intended to store custom data, state, annotations, and similar, private to the page or application, for which there are no more appropriate attributes or elements.

These attributes are not intended for use by software that is not known to the administrators of the site that uses the attributes. For generic extensions that are to be used by multiple independent tools, either this specification should be extended to provide the feature explicitly, or a technology like [6407]microdata should be used (with a standardized vocabulary).

For instance, a site about music could annotate list items representing tracks in an album with custom data attributes containing the length of each track. This information could then be used by the site itself to allow the user to sort the list by track length, or to filter the list for tracks of certain lengths.

  1. Beyond The Sea
  2. ...

It would be inappropriate, however, for the user to use generic software not associated with that music site to search for tracks of a certain length by looking at this data.

This is because these attributes are intended for use by the site's own scripts, and are not a generic extension mechanism for publicly-usable metadata.

Similarly, a page author could write markup that provides information for a translation tool that they are intending to use:

The third claim covers the case of HTML markup.

In this example, the "data-mytrans-de" attribute gives specific text for the MyTrans product to use when translating the phrase "claim" to German. However, the standard [6408]translate attribute is used to tell it that in all languages, "HTML" is to remain unchanged. When a standard attribute is available, there is no need for a [6409]custom data attribute to be used.

In this example, custom data attributes are used to store the result of a feature detection for [6410]PaymentRequest, which could be used in CSS to style a checkout page differently.

Here, the data-has-payment-request attribute is effectively being used as a [6411]boolean attribute; it is enough to check the presence of the attribute. However, if the author so wishes, it could later be populated with some value, maybe to indicate limited functionality of the feature.

Every [6412]HTML element may have any number of [6413]custom data attributes specified, with any value.

Authors should carefully design such extensions so that when the attributes are ignored and any associated CSS dropped, the page is still usable.

User agents must not derive any implementation behavior from these attributes or values. Specifications intended for user agents must not define these attributes to have any meaningful values.

JavaScript libraries may use the [6414]custom data attributes, as they are considered to be part of the page on which they are used. Authors of libraries that are reused by many authors are encouraged to include their name in the attribute names, to reduce the risk of clashes. Where it makes sense, library authors are also encouraged to make the exact name used in the attribute names customizable, so that libraries whose authors unknowingly picked the same name can be used on the same page, and so that multiple versions of a particular library can be used on the same page even when those versions are not mutually compatible.

For example, a library called "DoQuery" could use attribute names like data-doquery-range, and a library called "jJo" could use attributes names like data-jjo-range. The jJo library could also provide an API to set which prefix to use (e.g. J.setDataPrefix('j2'), making the attributes have names like data-j2-range). __________________________________________________________________

element.[6415]dataset

(BUTTON) ✔MDN

[6416]HTMLElement/dataset

Support in all current engines.

Firefox6+Safari5.1+Chrome7+ ___________________________________________________________

Opera11+Edge79+ ___________________________________________________________

Edge (Legacy)12+Internet Explorer11 ___________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android3+Samsung Internet?Opera Android11+

[6417]SVGElement/dataset

Support in all current engines.

Firefox51+Safari5.1+Chrome55+ ___________________________________________________________

Opera41+Edge79+ ___________________________________________________________

Edge (Legacy)17+Internet ExplorerNo ___________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android41+ Returns a [6418]DOMStringMap object for the element's [6419]data-* attributes.

Hyphenated names become camel-cased. For example, data-foo-bar="" becomes element.dataset.fooBar.

The dataset IDL attribute provides convenient accessors for all the [6420]data-* attributes on an element. On getting, the [6421]dataset IDL attribute must return a [6422]DOMStringMap whose associated element is this element.

The [6423]DOMStringMap interface is used for the [6424]dataset attribute. Each [6425]DOMStringMap has an associated element. [Exposed=Window, [6426]LegacyOverrideBuiltIns] interface DOMStringMap { [6427]getter DOMString (DOMString name); [[6428]CEReactions] [6429]setter undefined (DOMString name, DOMString value); [[6430]CEReactions] [6431]deleter undefined (DOMString name); };

To get a DOMStringMap's name-value pairs, run the following algorithm: 1. Let list be an empty list of name-value pairs. 2. For each content attribute on the [6432]DOMStringMap's [6433]associated element whose first five characters are the string "data-" and whose remaining characters (if any) do not include any [6434]ASCII upper alphas, in the order that those attributes are listed in the element's [6435]attribute list, add a name-value pair to list whose name is the attribute's name with the first five characters removed and whose value is the attribute's value. 3. For each name in list, for each U+002D HYPHEN-MINUS character (-) in the name that is followed by an [6436]ASCII lower alpha, remove the U+002D HYPHEN-MINUS character (-) and replace the character that followed it by the same character [6437]converted to ASCII uppercase. 4. Return list.

The [6438]supported property names on a [6439]DOMStringMap object at any instant are the names of each pair returned from [6440]getting the DOMStringMap's name-value pairs at that instant, in the order returned.

To [6441]determine the value of a named property name for a [6442]DOMStringMap, return the value component of the name-value pair whose name component is name in the list returned from [6443]getting the DOMStringMap's name-value pairs.

To [6444]set the value of a new named property or [6445]set the value of an existing named property for a [6446]DOMStringMap, given a property name name and a new value value, run the following steps: 1. If name contains a U+002D HYPHEN-MINUS character (-) followed by an [6447]ASCII lower alpha, then throw a [6448]"SyntaxError" [6449]DOMException. 2. For each [6450]ASCII upper alpha in name, insert a U+002D HYPHEN-MINUS character (-) before the character and replace the character with the same character [6451]converted to ASCII lowercase. 3. Insert the string data- at the front of name. 4. If name does not match the XML [6452]Name production, throw an [6453]"InvalidCharacterError" [6454]DOMException. 5. [6455]Set an attribute value for the [6456]DOMStringMap's [6457]associated element using name and value.

To [6458]delete an existing named property name for a [6459]DOMStringMap, run the following steps: 1. For each [6460]ASCII upper alpha in name, insert a U+002D HYPHEN-MINUS character (-) before the character and replace the character with the same character [6461]converted to ASCII lowercase. 2. Insert the string data- at the front of name. 3. [6462]Remove an attribute by name given name and the [6463]DOMStringMap's [6464]associated element.

This algorithm will only get invoked by Web IDL for names that are given by the earlier algorithm for [6465]getting the DOMStringMap's name-value pairs. [6466][WEBIDL]

If a web page wanted an element to represent a space ship, e.g. as part of a game, it would have to use the [6467]class attribute along with [6468]data-* attributes:

Notice how the hyphenated attribute name becomes camel-cased in the API.

Given the following fragment and elements with similar constructions: Rocket Tower

...one could imagine a function splashDamage() that takes some arguments, the first of which is the element to process: function splashDamage(node, x, y, damage) { if (node.classList.contains(ʼtowerʼ) && // checking the ʼclassʼ attribute node.dataset.x == x && // reading the ʼdata-xʼ attribute node.dataset.y == y) { // reading the ʼdata-yʼ attribute var hp = parseInt(node.dataset.hp); // reading the ʼdata-hpʼ attribute hp = hp - damage; if (hp < 0) { hp = 0; node.dataset.ai = ʼdeadʼ; // setting the ʼdata-aiʼ attribute delete node.dataset.ability; // removing the ʼdata-abilityʼ attribute } node.dataset.hp = hp; // setting the ʼdata-hpʼ attribute } }

3.2.7 The [6469]innerText and [6470]outerText properties

(BUTTON) ✔MDN

[6471]HTMLElement/innerText

Support in all current engines. Firefox45+Safari1+Chrome1+ __________________________________________________________________

Opera9.6+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android1+Samsung Internet?Opera Android10.1+

element.[6472]innerText [ = value ] Returns the element's text content "as rendered".

Can be set, to replace the element's children with the given value, but with line breaks converted to [6473]br elements.

element.[6474]outerText [ = value ] Returns the element's text content "as rendered".

Can be set, to replace the element with the given value, but with line breaks converted to [6475]br elements.

The get the text steps, given an [6476]HTMLElement element, are: 1. If element is not [6477]being rendered or if the user agent is a non-CSS user agent, then return element's [6478]descendant text content. This step can produce surprising results, as when the [6479]innerText getter is invoked on an element not [6480]being rendered, its text contents are returned, but when accessed on an element that is [6481]being rendered, all of its children that are not [6482]being rendered have their text contents ignored. 2. Let results be a new empty [6483]list. 3. For each child node node of element: 1. Let current be the [6484]list resulting in running the [6485]rendered text collection steps with node. Each item in results will either be a [6486]string or a positive integer (a required line break count). Intuitively, a required line break count item means that a certain number of line breaks appear at that point, but they can be collapsed with the line breaks induced by adjacent required line break count items, reminiscent to CSS margin-collapsing. 2. For each item item in current, append item to results. 4. [6487]Remove any items from results that are the empty string. 5. [6488]Remove any runs of consecutive required line break count items at the start or end of results. 6. [6489]Replace each remaining run of consecutive required line break count items with a string consisting of as many U+000A LF code points as the maximum of the values in the required line break count items. 7. Return the concatenation of the string items in results.

(BUTTON) ✔MDN

[6490]HTMLElement/outerText

Support in all current engines. Firefox98+Safari1.3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android1+Samsung Internet?Opera Android12.1+

The innerText and outerText getter steps are to return the result of running [6491]get the text steps with [6492]this.

The rendered text collection steps, given a [6493]node node, are as follows: 1. Let items be the result of running the [6494]rendered text collection steps with each child node of node in [6495]tree order, and then concatenating the results to a single [6496]list. 2. If node's [6497]computed value of [6498]'visibility' is not 'visible', then return items. 3. If node is not [6499]being rendered, then return items. For the purpose of this step, the following elements must act as described if the [6500]computed value of the [6501]'display' property is not 'none': + [6502]select elements have an associated non-replaced inline [6503]CSS box whose child boxes include only those of [6504]optgroup and [6505]option element child nodes; + [6506]optgroup elements have an associated non-replaced block-level [6507]CSS box whose child boxes include only those of [6508]option element child nodes; and + [6509]option element have an associated non-replaced block-level [6510]CSS box whose child boxes are as normal for non-replaced block-level [6511]CSS boxes. items can be non-empty due to 'display:contents'. 4. If node is a [6512]Text node, then for each CSS text box produced by node, in content order, compute the text of the box after application of the CSS [6513]'white-space' processing rules and [6514]'text-transform' rules, set items to the [6515]list of the resulting strings, and return items. The CSS [6516]'white-space' processing rules are slightly modified: collapsible spaces at the end of lines are always collapsed, but they are only removed if the line is the last line of the block, or it ends with a [6517]br element. Soft hyphens should be preserved. [6518][CSSTEXT] 5. If node is a [6519]br element, then [6520]append a string containing a single U+000A LF code point to items. 6. If node's [6521]computed value of [6522]'display' is [6523]'table-cell', and node's [6524]CSS box is not the last [6525]'table-cell' box of its enclosing [6526]'table-row' box, then [6527]append a string containing a single U+0009 TAB code point to items. 7. If node's [6528]computed value of [6529]'display' is [6530]'table-row', and node's [6531]CSS box is not the last [6532]'table-row' box of the nearest ancestor [6533]'table' box, then [6534]append a string containing a single U+000A LF code point to items. 8. If node is a [6535]p element, then [6536]append 2 (a required line break count) at the beginning and end of items. 9. If node's [6537]used value of [6538]'display' is [6539]block-level or [6540]'table-caption', then [6541]append 1 (a required line break count) at the beginning and end of items. [6542][CSSDISPLAY] Floats and absolutely-positioned elements fall into this category. 10. Return items.

Note that descendant nodes of most replaced elements (e.g., [6543]textarea, [6544]input, and [6545]video — but not [6546]button) are not rendered by CSS, strictly speaking, and therefore have no [6547]CSS boxes for the purposes of this algorithm.

This algorithm is amenable to being generalized to work on [6548]ranges. Then we can use it as the basis for [6549]Selection's stringifier and maybe expose it directly on [6550]ranges. See [6551]Bugzilla bug 10583. __________________________________________________________________

The set the inner text steps, given an [6552]HTMLElement element, and a string value are: 1. Let fragment be the [6553]rendered text fragment for value given element's [6554]node document. 2. [6555]Replace all with fragment within element.

The [6556]innerText setter steps are to run [6557]set the inner text steps.

The [6558]outerText setter steps are: 1. If [6559]this's parent is null, then throw a [6560]"NoModificationAllowedError" [6561]DOMException. 2. Let next be [6562]this's [6563]next sibling. 3. Let previous be [6564]this's [6565]previous sibling. 4. Let fragment be the [6566]rendered text fragment for the given value given [6567]this's [6568]node document. 5. If fragment has no [6569]children, then [6570]append a new [6571]Text node whose [6572]data is the empty string and [6573]node document is [6574]this's [6575]node document to fragment. 6. [6576]Replace [6577]this with fragment within [6578]this's parent. 7. If next is non-null and next's [6579]previous sibling is a [6580]Text node, then [6581]merge with the next text node given next's [6582]previous sibling. 8. If previous is a [6583]Text node, then [6584]merge with the next text node given previous.

The rendered text fragment for a string input given a [6585]Document document is the result of running the following steps: 1. Let fragment be a new [6586]DocumentFragment whose [6587]node document is document. 2. Let position be a [6588]position variable for input, initially pointing at the start of input. 3. Let text be the empty string. 4. While position is not past the end of input: 1. [6589]Collect a sequence of code points that are not U+000A LF or U+000D CR from input given position, and set text to the result. 2. If text is not the empty string, then [6590]append a new [6591]Text node whose [6592]data is text and [6593]node document is document to fragment. 3. While position is not past the end of input, and the code point at position is either U+000A LF or U+000D CR: 1. If the code point at position is U+000D CR and the next code point is U+000A LF, then advance position to the next code point in input. 2. Advance position to the next code point in input. 3. [6594]Append the result of [6595]creating an element given document, "br", and the [6596]HTML namespace to fragment. 5. Return fragment.

To merge with the next text node given a [6597]Text node node: 1. Let next be node's [6598]next sibling. 2. If next is not a [6599]Text node, then return. 3. [6600]Replace data with node, node's [6601]data's [6602]length, 0, and next's [6603]data. 4. [6604]Remove next.

3.2.8 Requirements relating to the bidirectional algorithm

3.2.8.1 Authoring conformance criteria for bidirectional-algorithm formatting characters

[6605]Text content in [6606]HTML elements with [6607]Text nodes in their [6608]contents, and text in attributes of [6609]HTML elements that allow free-form text, may contain characters in the ranges U+202A to U+202E and U+2066 to U+2069 (the bidirectional-algorithm formatting characters). [6610][BIDI]

Authors are encouraged to use the [6611]dir attribute, the [6612]bdo element, and the [6613]bdi element, rather than maintaining the bidirectional-algorithm formatting characters manually. The bidirectional-algorithm formatting characters interact poorly with CSS.

3.2.8.2 User agent conformance criteria

User agents must implement the Unicode bidirectional algorithm to determine the proper ordering of characters when rendering documents and parts of documents. [6614][BIDI]

The mapping of HTML to the Unicode bidirectional algorithm must be done in one of three ways. Either the user agent must implement CSS, including in particular the CSS [6615]'unicode-bidi', [6616]'direction', and [6617]'content' properties, and must have, in its user agent style sheet, the rules using those properties given in this specification's [6618]rendering section, or, alternatively, the user agent must act as if it implemented just the aforementioned properties and had a user agent style sheet that included all the aforementioned rules, but without letting style sheets specified in documents override them, or, alternatively, the user agent must implement another styling language with equivalent semantics. [6619][CSSGC]

The following elements and attributes have requirements defined by the [6620]rendering section that, due to the requirements in this section, are requirements on all user agents (not just those that [6621]support the suggested default rendering): * [6622]dir attribute * [6623]bdi element * [6624]bdo element * [6625]br element * [6626]pre element * [6627]textarea element * [6628]wbr element

3.2.9 Requirements related to ARIA and to platform accessibility APIs

User agent requirements for implementing Accessibility API semantics on [6629]HTML elements are defined in HTML Accessibility API Mappings. In addition to the rules there, for a [6630]custom element element, the default ARIA role semantics are determined as follows: [6631][HTMLAAM] 1. Let map be element's [6632]internal content attribute map. 2. If map["role"] [6633]exists, then return it. 3. Return no role.

Similarly, for a [6634]custom element element, the default ARIA state and property semantics, for a state or property named stateOrProperty, are determined as follows: 1. If element's [6635]attached internals is non-null: 1. If element's [6636]attached internals's [6637]get the stateOrProperty-associated element exists, then return the result of running it. 2. If element's [6638]attached internals's [6639]get the stateOrProperty-associated elements exists, then return the result of running it. 2. If element's [6640]internal content attribute map[stateOrProperty] [6641]exists, then return it. 3. Return the default value for stateOrProperty.

The "default semantics" referred to here are sometimes also called "native", "implicit", or "host language" semantics in ARIA. [6642][ARIA]

One implication of these definitions is that the default semantics can change over time. This allows custom elements the same expressivity as built-in elements; e.g., compare to how the default ARIA role semantics of an [6643]a element change as the [6644]href attribute is added or removed.

For an example of this in action, see [6645]the custom elements section. __________________________________________________________________

Conformance checker requirements for checking use of ARIA [6646]role and [6647]aria-* attributes on [6648]HTML elements are defined in ARIA in HTML. [6649][ARIAHTML]

4 The elements of HTML

4.1 The document element

4.1.1 The html element

(BUTTON) ✔MDN

[6650]Element/html

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

(BUTTON) ✔MDN

[6651]HTMLHtmlElement

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[6652]Categories: None.

[6653]Contexts in which this element can be used: As document's [6654]document element. Wherever a subdocument fragment is allowed in a compound document.

[6655]Content model: A [6656]head element followed by a [6657]body element.

[6658]Tag omission in text/html: An [6659]html element's [6660]start tag can be omitted if the first thing inside the [6661]html element is not a [6662]comment. An [6663]html element's [6664]end tag can be omitted if the [6665]html element is not immediately followed by a [6666]comment.

[6667]Content attributes: [6668]Global attributes

[6669]Accessibility considerations: [6670]For authors. [6671]For implementers.

[6672]DOM interface:

[Exposed=Window] interface HTMLHtmlElement : [6673]HTMLElement { [[6674]HTMLConstructor] constructor();

// [6675]also has obsolete members };

The [6676]html element [6677]represents the root of an HTML document.

Authors are encouraged to specify a [6678]lang attribute on the root [6679]html element, giving the document's language. This aids speech synthesis tools to determine what pronunciations to use, translation tools to determine what rules to use, and so forth.

The [6680]html element in the following example declares that the document's language is English. Swapping Songs

Swapping Songs

Tonight I swapped some of the songs I wrote with some friends, who gave me some of the songs they wrote. I love sharing my music.

4.2 Document metadata

4.2.1 The head element

(BUTTON) ✔MDN

[6681]Element/head

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

(BUTTON) ✔MDN

[6682]HTMLHeadElement

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[6683]Categories: None.

[6684]Contexts in which this element can be used: As the first element in an [6685]html element.

[6686]Content model: If the document is [6687]an iframe srcdoc document or if title information is available from a higher-level protocol: Zero or more elements of [6688]metadata content, of which no more than one is a [6689]title element and no more than one is a [6690]base element. Otherwise: One or more elements of [6691]metadata content, of which exactly one is a [6692]title element and no more than one is a [6693]base element.

[6694]Tag omission in text/html: A [6695]head element's [6696]start tag can be omitted if the element is empty, or if the first thing inside the [6697]head element is an element. A [6698]head element's [6699]end tag can be omitted if the [6700]head element is not immediately followed by [6701]ASCII whitespace or a [6702]comment.

[6703]Content attributes: [6704]Global attributes

[6705]Accessibility considerations: [6706]For authors. [6707]For implementers.

[6708]DOM interface:

[Exposed=Window] interface HTMLHeadElement : [6709]HTMLElement { [[6710]HTMLConstructor] constructor(); };

The [6711]head element [6712]represents a collection of metadata for the [6713]Document.

The collection of metadata in a [6714]head element can be large or small. Here is an example of a very short one: A document with a short head ...

Here is an example of a longer one: An application with a long head ...

The [6715]title element is a required child in most situations, but when a higher-level protocol provides title information, e.g., in the subject line of an email when HTML is used as an email authoring format, the [6716]title element can be omitted.

4.2.2 The title element

(BUTTON) ✔MDN

[6717]Element/title

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer1+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

(BUTTON) ✔MDN

[6718]HTMLTitleElement

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[6719]Categories: [6720]Metadata content.

[6721]Contexts in which this element can be used: In a [6722]head element containing no other [6723]title elements.

[6724]Content model: [6725]Text that is not [6726]inter-element whitespace.

[6727]Tag omission in text/html: Neither tag is omissible.

[6728]Content attributes: [6729]Global attributes

[6730]Accessibility considerations: [6731]For authors. [6732]For implementers.

[6733]DOM interface:

[Exposed=Window] interface HTMLTitleElement : [6734]HTMLElement { [[6735]HTMLConstructor] constructor();

[[6736]CEReactions] attribute DOMString [6737]text; };

The [6738]title element [6739]represents the document's title or name. Authors should use titles that identify their documents even when they are used out of context, for example in a user's history or bookmarks, or in search results. The document's title is often different from its first heading, since the first heading does not have to stand alone when taken out of context.

There must be no more than one [6740]title element per document.

If it's reasonable for the [6741]Document to have no title, then the [6742]title element is probably not required. See the [6743]head element's content model for a description of when the element is required.

title.[6744]text [ = value ] Returns the [6745]child text content of the element.

Can be set, to replace the element's children with the given value.

The text attribute's getter must return this [6746]title element's [6747]child text content.

The [6748]text attribute's setter must [6749]string replace all with the given value within this [6750]title element.

Here are some examples of appropriate titles, contrasted with the top-level headings that might be used on those same pages. Introduction to The Mating Rituals of Bees ...

Introduction

This companion guide to the highly successful Introduction to Medieval Bee-Keeping book is...

The next page might be a part of the same site. Note how the title describes the subject matter unambiguously, while the first heading assumes the reader knows what the context is and therefore won't wonder if the dances are Salsa or Waltz: Dances used during bee mating rituals ...

The Dances

The string to use as the document's title is given by the [6751]document.title IDL attribute.

User agents should use the document's title when referring to the document in their user interface. When the contents of a [6752]title element are used in this way, [6753]the directionality of that [6754]title element should be used to set the directionality of the document's title in the user interface.

4.2.3 The base element

(BUTTON) ✔MDN

[6755]Element/base

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

(BUTTON) ✔MDN

[6756]HTMLBaseElement

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[6757]Categories: [6758]Metadata content.

[6759]Contexts in which this element can be used: In a [6760]head element containing no other [6761]base elements.

[6762]Content model: [6763]Nothing.

[6764]Tag omission in text/html: No [6765]end tag.

[6766]Content attributes: [6767]Global attributes [6768]href — [6769]Document base URL [6770]target — Default [6771]navigable for [6772]hyperlink [6773]navigation and [6774]form submission

[6775]Accessibility considerations: [6776]For authors. [6777]For implementers.

[6778]DOM interface:

[Exposed=Window] interface HTMLBaseElement : [6779]HTMLElement { [[6780]HTMLConstructor] constructor();

[[6781]CEReactions] attribute USVString [6782]href; [[6783]CEReactions] attribute DOMString [6784]target; };

The [6785]base element allows authors to specify the [6786]document base URL for the purposes of parsing [6787]URLs, and the name of the default [6788]navigable for the purposes of [6789]following hyperlinks. The element does not [6790]represent any content beyond this information.

There must be no more than one [6791]base element per document.

A [6792]base element must have either an [6793]href attribute, a [6794]target attribute, or both.

The href content attribute, if specified, must contain a [6795]valid URL potentially surrounded by spaces.

A [6796]base element, if it has an [6797]href attribute, must come before any other elements in the tree that have attributes defined as taking [6798]URLs.

If there are multiple [6799]base elements with [6800]href attributes, all but the first are ignored.

The target attribute, if specified, must contain a [6801]valid navigable target name or keyword, which specifies which [6802]navigable is to be used as the default when [6803]hyperlinks and [6804]forms in the [6805]Document cause [6806]navigation.

A [6807]base element, if it has a [6808]target attribute, must come before any elements in the tree that represent [6809]hyperlinks.

If there are multiple [6810]base elements with [6811]target attributes, all but the first are ignored.

To get an element's target, given an [6812]a, [6813]area, or [6814]form element element, and an optional string-or-null target (default null), run these steps: 1. If target is null, then: 1. If element has a target attribute, then set target to that attribute's value. 2. Otherwise, if element's [6815]node document contains a [6816]base element with a [6817]target attribute, set target to the value of the [6818]target attribute of the first such [6819]base element. 2. If target is not null, and contains an [6820]ASCII tab or newline and a U+003C (<), then set target to "_blank". 3. Return target. __________________________________________________________________

A [6821]base element that is the first [6822]base element with an [6823]href content attribute [6824]in a document tree has a frozen base URL. The [6825]frozen base URL must be [6826]immediately [6827]set for an element whenever any of the following situations occur: * The [6828]base element becomes the first [6829]base element in [6830]tree order with an [6831]href content attribute in its [6832]Document. * The [6833]base element is the first [6834]base element in [6835]tree order with an [6836]href content attribute in its [6837]Document, and its [6838]href content attribute is changed.

To set the frozen base URL for an element element: 1. Let document be element's [6839]node document. 2. Let urlRecord be the result of [6840]parsing the value of element's [6841]href content attribute with document's [6842]fallback base URL, and document's [6843]character encoding. (Thus, the [6844]base element isn't affected by itself.) 3. If any of the following are true: + urlRecord is failure; + urlRecord's [6845]scheme is "data" or "javascript"; or + running [6846]Is base allowed for Document? on urlRecord and document returns "Blocked", then set element's [6847]frozen base URL to document's [6848]fallback base URL and return. 4. Set element's [6849]frozen base URL to urlRecord.

The href IDL attribute, on getting, must return the result of running the following algorithm: 1. Let document be element's [6850]node document. 2. Let url be the value of the [6851]href attribute of this element, if it has one, and the empty string otherwise. 3. Let urlRecord be the result of [6852]parsing url with document's [6853]fallback base URL, and document's [6854]character encoding. (Thus, the [6855]base element isn't affected by other [6856]base elements or itself.) 4. If urlRecord is failure, return url. 5. Return the [6857]serialization of urlRecord.

The [6858]href IDL attribute, on setting, must set the [6859]href content attribute to the given new value.

The target IDL attribute must [6860]reflect the content attribute of the same name.

In this example, a [6861]base element is used to set the [6862]document base URL: This is an example for the <base> element

Visit the archives.

The link in the above example would be a link to "https://www.example.com/news/archives.html".

4.2.4 The link element

(BUTTON) ✔MDN

[6863]Element/link

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

(BUTTON) ✔MDN

[6864]HTMLLinkElement

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

[6865]Categories: [6866]Metadata content. If the element is [6867]allowed in the body: [6868]flow content. If the element is [6869]allowed in the body: [6870]phrasing content.

[6871]Contexts in which this element can be used: Where [6872]metadata content is expected. In a [6873]noscript element that is a child of a [6874]head element. If the element is [6875]allowed in the body: where [6876]phrasing content is expected.

[6877]Content model: [6878]Nothing.

[6879]Tag omission in text/html: No [6880]end tag.

[6881]Content attributes: [6882]Global attributes [6883]href — Address of the [6884]hyperlink [6885]crossorigin — How the element handles crossorigin requests [6886]rel — Relationship between the document containing the [6887]hyperlink and the destination resource [6888]media — Applicable media [6889]integrity — Integrity metadata used in Subresource Integrity checks [6890][SRI] [6891]hreflang — Language of the linked resource [6892]type — Hint for the type of the referenced resource [6893]referrerpolicy — [6894]Referrer policy for [6895]fetches initiated by the element [6896]sizes — Sizes of the icons (for [6897]rel="[6898]icon") [6899]imagesrcset — Images to use in different situations, e.g., high-resolution displays, small monitors, etc. (for [6900]rel="[6901]preload") [6902]imagesizes — Image sizes for different page layouts (for [6903]rel="[6904]preload") [6905]as — [6906]Potential destination for a preload request (for [6907]rel="[6908]preload" and [6909]rel="[6910]modulepreload") [6911]blocking — Whether the element is [6912]potentially render-blocking [6913]color — Color to use when customizing a site's icon (for [6914]rel="mask-icon") [6915]disabled — Whether the link is disabled [6916]fetchpriority — Sets the [6917]priority for [6918]fetches initiated by the element Also, the [6919]title attribute [6920]has special semantics on this element: Title of the link; [6921]CSS style sheet set name

[6922]Accessibility considerations: [6923]For authors. [6924]For implementers.

[6925]DOM interface:

[Exposed=Window] interface HTMLLinkElement : [6926]HTMLElement { [[6927]HTMLConstructor] constructor();

[[6928]CEReactions] attribute USVString [6929]href; [[6930]CEReactions] attribute DOMString? [6931]crossOrigin; [[6932]CEReactions] attribute DOMString [6933]rel; [[6934]CEReactions] attribute DOMString [6935]as; [SameObject, PutForwards=[6936]value] readonly attribute [6937]DOMTokenList [6 938]relList; [[6939]CEReactions] attribute DOMString [6940]media; [[6941]CEReactions] attribute DOMString [6942]integrity; [[6943]CEReactions] attribute DOMString [6944]hreflang; [[6945]CEReactions] attribute DOMString [6946]type; [SameObject, PutForwards=[6947]value] readonly attribute [6948]DOMTokenList [6 949]sizes; [[6950]CEReactions] attribute USVString [6951]imageSrcset; [[6952]CEReactions] attribute DOMString [6953]imageSizes; [[6954]CEReactions] attribute DOMString [6955]referrerPolicy; [SameObject, PutForwards=[6956]value] readonly attribute [6957]DOMTokenList [6 958]blocking; [[6959]CEReactions] attribute boolean [6960]disabled; [[6961]CEReactions] attribute DOMString [6962]fetchPriority;

// [6963]also has obsolete members }; [6964]HTMLLinkElement includes [6965]LinkStyle;

The [6966]link element allows authors to link their document to other resources.

The address of the link(s) is given by the href attribute. If the [6967]href attribute is present, then its value must be a [6968]valid non-empty URL potentially surrounded by spaces. One or both of the [6969]href or [6970]imagesrcset attributes must be present.

If both the [6971]href and [6972]imagesrcset attributes are absent, then the element does not define a link.

The types of link indicated (the relationships) are given by the value of the rel attribute, which, if present, must have a value that is a [6973]unordered set of unique space-separated tokens. The [6974]allowed keywords and their meanings are defined in a later section. If the [6975]rel attribute is absent, has no keywords, or if none of the keywords used are allowed according to the definitions in this specification, then the element does not create any links.

[6976]rel's [6977]supported tokens are the keywords defined in [6978]HTML link types which are allowed on [6979]link elements, impact the processing model, and are supported by the user agent. The possible [6980]supported tokens are [6981]alternate, [6982]dns-prefetch, [6983]expect, [6984]icon, [6985]manifest, [6986]modulepreload, [6987]next, [6988]pingback, [6989]preconnect, [6990]prefetch, [6991]preload, [6992]search, and [6993]stylesheet. [6994]rel's [6995]supported tokens must only include the tokens from this list that the user agent implements the processing model for.

Theoretically a user agent could support the processing model for the [6996]canonical keyword — if it were a search engine that executed JavaScript. But in practice that's quite unlikely. So in most cases, [6997]canonical ought not be included in [6998]rel's [6999]supported tokens.

A [7000]link element must have either a [7001]rel attribute or an [7002]itemprop attribute, but not both.

If a [7003]link element has an [7004]itemprop attribute, or has a [7005]rel attribute that contains only keywords that are [7006]body-ok, then the element is said to be allowed in the body. This means that the element can be used where [7007]phrasing content is expected.

If the [7008]rel attribute is used, the element can only sometimes be used in the [7009]body of the page. When used with the [7010]itemprop attribute, the element can be used both in the [7011]head element and in the [7012]body of the page, subject to the constraints of the microdata model. __________________________________________________________________

Two categories of links can be created using the [7013]link element: [7014]links to external resources and [7015]hyperlinks. The [7016]link types section defines whether a particular link type is an external resource or a hyperlink. One [7017]link element can create multiple links (of which some might be [7018]external resource links and some might be [7019]hyperlinks); exactly which and how many links are created depends on the keywords given in the [7020]rel attribute. User agents must process the links on a per-link basis, not a per-element basis.

Each link created for a [7021]link element is handled separately. For instance, if there are two [7022]link elements with rel="stylesheet", they each count as a separate external resource, and each is affected by its own attributes independently. Similarly, if a single [7023]link element has a [7024]rel attribute with the value next stylesheet, it creates both a [7025]hyperlink (for the [7026]next keyword) and an [7027]external resource link (for the [7028]stylesheet keyword), and they are affected by other attributes (such as [7029]media or [7030]title) differently.

For example, the following [7031]link element creates two [7032]hyperlinks (to the same page):

The two links created by this element are one whose semantic is that the target page has information about the current page's author, and one whose semantic is that the target page has information regarding the license under which the current page is provided.

[7033]Hyperlinks created with the [7034]link element and its [7035]rel attribute apply to the whole document. This contrasts with the [7036]rel attribute of [7037]a and [7038]area elements, which indicates the type of a link whose context is given by the link's location within the document.

Unlike those created by [7039]a and [7040]area elements, [7041]hyperlinks created by [7042]link elements are not displayed as part of the document by default, in user agents that [7043]support the suggested default rendering. And even if they are force-displayed using CSS, they have no [7044]activation behavior. Instead, they primarily provide semantic information which might be used by the page or by other software that consumes the page's contents. Additionally, the user agent can [7045]provide its own UI for following such hyperlinks.

The exact behavior for [7046]links to external resources depends on the exact relationship, as defined for the relevant [7047]link type. __________________________________________________________________

The crossorigin attribute is a [7048]CORS settings attribute. It is intended for use with [7049]external resource links.

The media attribute says which media the resource applies to. The value must be a [7050]valid media query list.

(BUTTON) ✔MDN

[7051]Subresource_Integrity

Support in all current engines. Firefox43+Safari11.1+Chrome45+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)17+Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The integrity attribute represents the [7052]integrity metadata for requests which this element is responsible for. The value is text. The attribute must only be specified on [7053]link elements that have a [7054]rel attribute that contains the [7055]stylesheet, [7056]preload, or [7057]modulepreload keyword. [7058][SRI]

The hreflang attribute on the [7059]link element has the same semantics as the [7060]hreflang attribute on the a element.

The type attribute gives the [7061]MIME type of the linked resource. It is purely advisory. The value must be a [7062]valid MIME type string.

For [7063]external resource links, the [7064]type attribute is used as a hint to user agents so that they can avoid fetching resources they do not support.

The referrerpolicy attribute is a [7065]referrer policy attribute. It is intended for use with [7066]external resource links, where it helps set the [7067]referrer policy used when [7068]fetching and processing the linked resource. [7069][REFERRERPOLICY]

The title attribute gives the title of the link. With one exception, it is purely advisory. The value is text. The exception is for style sheet links that are [7070]in a document tree, for which the [7071]title attribute defines [7072]CSS style sheet sets.

The [7073]title attribute on [7074]link elements differs from the global [7075]title attribute of most other elements in that a link without a title does not inherit the title of the parent element: it merely has no title. __________________________________________________________________

The imagesrcset attribute may be present, and is a [7076]srcset attribute.

The [7077]imagesrcset and [7078]href attributes (if [7079]width descriptors are not used) together contribute the [7080]image sources to the [7081]source set.

If the [7082]imagesrcset attribute is present and has any [7083]image candidate strings using a [7084]width descriptor, the imagesizes attribute must also be present, and is a [7085]sizes attribute. The [7086]imagesizes attribute contributes the [7087]source size to the [7088]source set.

The [7089]imagesrcset and [7090]imagesizes attributes must only be specified on [7091]link elements that have both a [7092]rel attribute that specifies the [7093]preload keyword, as well as an [7094]as attribute in the "image" state.

These attributes allow preloading the appropriate resource that is later used by an [7095]img element that has the corresponding values for its [7096]srcset and [7097]sizes attributes:

A rad wolf

Note how we omit the [7098]href attribute, as it would only be relevant for browsers that do not support [7099]imagesrcset, and in those cases it would likely cause the incorrect image to be preloaded.

The [7100]imagesrcset attribute can be combined with the [7101]media attribute to preload the appropriate resource selected from a [7102]picture element's sources, for [7103]art direction:

An awesome dog __________________________________________________________________

The sizes attribute gives the sizes of icons for visual media. Its value, if present, is merely advisory. User agents may use the value to decide which icon(s) to use if multiple icons are available. If specified, the attribute must have a value that is an [7104]unordered set of unique space-separated tokens which are [7105]ASCII case-insensitive. Each value must be either an [7106]ASCII case-insensitive match for the string "[7107]any", or a value that consists of two [7108]valid non-negative integers that do not have a leading U+0030 DIGIT ZERO (0) character and that are separated by a single U+0078 LATIN SMALL LETTER X or U+0058 LATIN CAPITAL LETTER X character. The attribute must only be specified on [7109]link elements that have a [7110]rel attribute that specifies the [7111]icon keyword or the apple-touch-icon keyword.

The apple-touch-icon keyword is a registered [7112]extension to the predefined set of link types, but user agents are not required to support it in any way. __________________________________________________________________

The as attribute specifies the [7113]potential destination for a preload request for the resource given by the [7114]href attribute. It is an [7115]enumerated attribute. Each [7116]potential destination is a keyword for this attribute, mapping to a state of the same name. The attribute must be specified on [7117]link elements that have a [7118]rel attribute that contains the [7119]preload keyword. It may be specified on [7120]link elements that have a [7121]rel attribute that contains the [7122]modulepreload keyword; in such cases it must have a value which is a [7123]script-like destination. For other [7124]link elements, it must not be specified.

The processing model for how the [7125]as attribute is used is given in an individual link type's [7126]fetch and process the linked resource algorithm.

The attribute does not have a [7127]missing value default or [7128]invalid value default, meaning that invalid or missing values for the attribute map to no state. This is accounted for in the processing model. For [7129]preload links, both conditions are an error; for [7130]modulepreload links, a missing value will be treated as "script". __________________________________________________________________

The blocking attribute is a [7131]blocking attribute. It is used by link types [7132]stylesheet and [7133]expect, and it must only be specified on link elements that have a [7134]rel attribute containing those keywords. __________________________________________________________________

The color attribute is used with the mask-icon link type. The attribute must only be specified on [7135]link elements that have a [7136]rel attribute that contains the mask-icon keyword. The value must be a string that matches the CSS [7137] production, defining a suggested color that user agents can use to customize the display of the icon that the user sees when they pin your site.

This specification does not have any user agent requirements for the [7138]color attribute.

The mask-icon keyword is a registered [7139]extension to the predefined set of link types, but user agents are not required to support it in any way. __________________________________________________________________

[7140]link elements have an associated explicitly enabled boolean. It is initially false.

The disabled attribute is a [7141]boolean attribute that is used with the [7142]stylesheet link type. The attribute must only be specified on [7143]link elements that have a [7144]rel attribute that contains the [7145]stylesheet keyword.

Whenever the [7146]disabled attribute is removed, set the [7147]link element's [7148]explicitly enabled attribute to true.

Removing the [7149]disabled attribute dynamically, e.g., using document.querySelector("link").removeAttribute("disabled"), will fetch and apply the style sheet:

(BUTTON) MDN

[7150]HTMLLinkElement/fetchPriority FirefoxNoSafari🔰 preview+Chrome102+ __________________________________________________________________

Opera?Edge102+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The fetchpriority attribute is a [7151]fetch priority attribute that is intended for use with [7152]external resource links, where it is used to set the [7153]priority used when [7154]fetching and processing the linked resource. __________________________________________________________________

(BUTTON) ✔MDN

[7155]HTMLLinkElement/rel

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

The IDL attributes href, hreflang, integrity, media, rel, sizes, type, blocking, and disabled each must [7156]reflect the respective content attributes of the same name.

There is no reflecting IDL attribute for the [7157]color attribute, but this might be added later.

(BUTTON) ✔MDN

[7158]HTMLLinkElement/as

Support in all current engines. Firefox56+Safari10+Chrome50+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)17+Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The as IDL attribute must [7159]reflect the [7160]as content attribute, [7161]limited to only known values.

The crossOrigin IDL attribute must [7162]reflect the [7163]crossorigin content attribute, [7164]limited to only known values.

(BUTTON) ✔MDN

[7165]HTMLLinkElement/referrerPolicy

Support in all current engines. Firefox50+Safari14.1+Chrome58+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The referrerPolicy IDL attribute must [7166]reflect the [7167]referrerpolicy content attribute, [7168]limited to only known values.

The fetchPriority IDL attribute must [7169]reflect the [7170]fetchpriority content attribute, [7171]limited to only known values.

The imageSrcset IDL attribute must [7172]reflect the [7173]imagesrcset content attribute.

The imageSizes IDL attribute must [7174]reflect the [7175]imagesizes content attribute.

(BUTTON) ✔MDN

[7176]HTMLLinkElement/relList

Support in all current engines. Firefox30+Safari9+Chrome50+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)17+Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The relList IDL attribute must [7177]reflect the [7178]rel content attribute.

The [7179]relList attribute can be used for feature detection, by calling its [7180]supports() method to check which [7181]types of links are supported.

4.2.4.1 Processing the [7182]media attribute

If the link is a [7183]hyperlink then the [7184]media attribute is purely advisory, and describes for which media the document in question was designed.

However, if the link is an [7185]external resource link, then the [7186]media attribute is prescriptive. The user agent must apply the external resource when the [7187]media attribute's value [7188]matches the environment and the other relevant conditions apply, and must not apply it otherwise.

The default, if the [7189]media attribute is omitted, is "all", meaning that by default links apply to all media.

The external resource might have further restrictions defined within that limit its applicability. For example, a CSS style sheet might have some @media blocks. This specification does not override such further restrictions or requirements.

4.2.4.2 Processing the [7190]type attribute

If the [7191]type attribute is present, then the user agent must assume that the resource is of the given type (even if that is not a [7192]valid MIME type string, e.g. the empty string). If the attribute is omitted, but the [7193]external resource link type has a default type defined, then the user agent must assume that the resource is of that type. If the UA does not support the given [7194]MIME type for the given link relationship, then the UA should not [7195]fetch and process the linked resource; if the UA does support the given [7196]MIME type for the given link relationship, then the UA should [7197]fetch and process the linked resource at the appropriate time as specified for the [7198]external resource link's particular type. If the attribute is omitted, and the [7199]external resource link type does not have a default type defined, but the user agent would [7200]fetch and process the linked resource if the type was known and supported, then the user agent should [7201]fetch and process the linked resource under the assumption that it will be supported.

User agents must not consider the [7202]type attribute authoritative — upon fetching the resource, user agents must not use the [7203]type attribute to determine its actual type. Only the actual type (as defined in the next paragraph) is used to determine whether to apply the resource, not the aforementioned assumed type.

If the [7204]external resource link type defines rules for processing the resource's [7205]Content-Type metadata, then those rules apply. Otherwise, if the resource is expected to be an image, user agents may apply the [7206]image sniffing rules, with the official type being the type determined from the resource's [7207]Content-Type metadata, and use the resulting [7208]computed type of the resource as if it was the actual type. Otherwise, if neither of these conditions apply or if the user agent opts not to apply the image sniffing rules, then the user agent must use the resource's [7209]Content-Type metadata to determine the type of the resource. If there is no type metadata, but the [7210]external resource link type has a default type defined, then the user agent must assume that the resource is of that type.

The [7211]stylesheet link type defines rules for processing the resource's [7212]Content-Type metadata.

Once the user agent has established the type of the resource, the user agent must apply the resource if it is of a supported type and the other relevant conditions apply, and must ignore the resource otherwise.

If a document contains style sheet links labeled as follows:

...then a compliant UA that supported only CSS style sheets would fetch the B and C files, and skip the A file (since [7213]text/plain is not the [7214]MIME type for CSS style sheets).

For files B and C, it would then check the actual types returned by the server. For those that are sent as [7215]text/css, it would apply the styles, but for those labeled as [7216]text/plain, or any other type, it would not.

If one of the two files was returned without a [7217]Content-Type metadata, or with a syntactically incorrect type like Content-Type: "null", then the default type for [7218]stylesheet links would kick in. Since that default type is [7219]text/css, the style sheet would nonetheless be applied.

4.2.4.3 Fetching and processing a resource from a [7220]link element

All [7221]external resource links have a fetch and process the linked resource algorithm, which takes a [7222]link element el. They also have linked resource fetch setup steps which take a [7223]link element el and [7224]request request. Individual link types may provide their own [7225]fetch and process the linked resource algorithm, but unless explicitly stated, they use the [7226]default fetch and process the linked resource algorithm. Similarly, individual link types may provide their own [7227]linked resource fetch setup steps, but unless explicitly stated, these steps just return true.

The default fetch and process the linked resource, given a [7228]link element el, is as follows: 1. Let options be the result of [7229]creating link options from el. 2. Let request be the result of [7230]creating a link request given options. 3. If request is null, then return. 4. Set request's [7231]synchronous flag. 5. Run the [7232]linked resource fetch setup steps, given el and request. If the result is false, then return. 6. Set request's [7233]initiator type to "css" if el's [7234]rel attribute contains the keyword [7235]stylesheet; "link" otherwise. 7. [7236]Fetch request with [7237]processResponseConsumeBody set to the following steps given [7238]response response and null, failure, or a [7239]byte sequence bodyBytes: 1. Let success be true. 2. If any of the following are true: o bodyBytes is null or failure; or o response's [7240]status is not an [7241]ok status, then set success to false. Note that content-specific errors, e.g., CSS parse errors or PNG decoding errors, do not affect success. 3. Otherwise, wait for the [7242]link resource's [7243]critical subresources to finish loading. The specification that defines a link type's [7244]critical subresources (e.g., CSS) is expected to describe how these subresources are fetched and processed. However, since this is not currently explicit, this specification describes waiting for a [7245]link resource's [7246]critical subresources to be fetched and processed, with the expectation that this will be done correctly. 4. [7247]Process the linked resource given el, success, response, and bodyBytes.

To create a link request given a [7248]link processing options options: 1. [7249]Assert: options's [7250]href is not the empty string. 2. If options's [7251]destination is null, then return null. 3. Let url be the result of [7252]encoding-parsing a URL given options's [7253]href, relative to options's [7254]base URL. Passing the base URL instead of a document or environment is tracked by [7255]issue #9715. 4. If url is failure, then return null. 5. Let request be the result of [7256]creating a potential-CORS request given url, options's [7257]destination, and options's [7258]crossorigin. 6. Set request's [7259]policy container to options's [7260]policy container. 7. Set request's [7261]integrity metadata to options's [7262]integrity. 8. Set request's [7263]cryptographic nonce metadata to options's [7264]cryptographic nonce metadata. 9. Set request's [7265]referrer policy to options's [7266]referrer policy. 10. Set request's [7267]client to options's [7268]environment. 11. Set request's [7269]priority to options's [7270]fetch priority. 12. Return request.

User agents may opt to only try to [7271]fetch and process such resources when they are needed, instead of pro-actively fetching all the [7272]external resources that are not applied.

Similar to the [7273]fetch and process the linked resource algorithm, all [7274]external resource links have a process the linked resource algorithm which takes a [7275]link element el, boolean success, a [7276]response response, and a [7277]byte sequence bodyBytes. Individual link types may provide their own [7278]process the linked resource algorithm, but unless explicitly stated, that algorithm does nothing.

Unless otherwise specified for a given [7279]rel keyword, the element must [7280]delay the load event of the element's [7281]node document until all the attempts to [7282]fetch and process the linked resource and its [7283]critical subresources are complete. (Resources that the user agent has not yet attempted to fetch and process, e.g., because it is waiting for the resource to be needed, do not [7284]delay the load event.)

4.2.4.4 Processing `[7285]Link` headers

All link types that can be [7286]external resource links define a process a link header algorithm, which takes a [7287]link processing options. This algorithm defines whether and how they react to appearing in an HTTP `[7288]Link` response header.

For most link types, this algorithm does nothing. The [7289]summary table is a good reference to quickly know whether a link type has defined [7290]process a link header steps.

A link processing options is a [7291]struct. It has the following [7292]items:

href (default the empty string) destination (default the empty string) initiator (default "link") integrity (default the empty string) type (default the empty string) cryptographic nonce metadata (default the empty string) A string

crossorigin (default [7293]No CORS) A [7294]CORS settings attribute state

referrer policy (default the empty string) A [7295]referrer policy

source set (default null) Null or a [7296]source set

base URL A [7297]URL

origin An [7298]origin

environment An [7299]environment

policy container A [7300]policy container

document (default null) Null or a [7301]Document

on document ready (default null) Null or an algorithm accepting a [7302]Document

fetch priority (default [7303]auto) A [7304]fetch priority attribute state

A [7305]link processing options has a [7306]base URL and an [7307]href rather than a parsed URL because the URL could be a result of the options's [7308]source set.

To create link options from element given a [7309]link element el: 1. Let document be el's [7310]node document. 2. Let options be a new [7311]link processing options with

[7312]destination the result of [7313]translating the state of el's [7314]as attribute

[7315]crossorigin the state of el's [7316]crossorigin content attribute

[7317]referrer policy the state of el's [7318]referrerpolicy content attribute

[7319]source set el's [7320]source set

[7321]base URL document's [7322]document base URL

[7323]origin document's [7324]origin

[7325]environment document's [7326]relevant settings object

[7327]policy container document's [7328]policy container

[7329]document document

[7330]cryptographic nonce metadata the current value of el's [7331][[CryptographicNonce]] internal slot

[7332]fetch priority the state of el's [7333]fetchpriority content attribute

3. If el has an [7334]href attribute, then set options's [7335]href to the value of el's [7336]href attribute. 4. If el has an [7337]integrity attribute, then set options's [7338]integrity to the value of el's [7339]integrity content attribute. 5. If el has a [7340]type attribute, then set options's [7341]type to the value of el's [7342]type attribute. 6. [7343]Assert: options's [7344]href is not the empty string, or options's [7345]source set is not null. A [7346]link element with neither an [7347]href or an [7348]imagesrcset does not represent a link. 7. Return options.

To extract links from headers given a [7349]header list headers: 1. Let links be a new [7350]list. 2. Let rawLinkHeaders be the result of [7351]getting, decoding, and splitting `[7352]Link` from headers. 3. [7353]For each linkHeader of rawLinkHeaders: 1. Let linkObject be the result of [7354]parsing linkHeader. [7355][WEBLINK] 2. If linkObject["target_uri"] does not [7356]exist, then [7357]continue. 3. [7358]Append linkObject to links. 4. Return links.

To process link headers given a [7359]Document doc, a [7360]response response, and a "pre-media" or "media" phase: 1. Let links be the result of [7361]extracting links from response's [7362]header list. 2. [7363]For each linkObject in links: 1. Let rel be linkObject["relation_type"]. 2. Let attribs be linkObject["target_attributes"]. 3. Let expectedPhase be "media" if either "[7364]srcset", "[7365]imagesrcset", or "[7366]media" [7367]exist in attribs; otherwise "pre-media". 4. If expectedPhase is not phase, then [7368]continue. 5. If attribs["[7369]media"] [7370]exists and attribs["[7371]media"] does not [7372]match the environment, then [7373]continue. 6. Let options be a new [7374]link processing options with

[7375]href linkObject["target_uri"]

[7376]base URL doc's [7377]document base URL

[7378]origin doc's [7379]origin

[7380]environment doc's [7381]relevant settings object

[7382]policy container doc's [7383]policy container

[7384]document doc

7. [7385]Apply link options from parsed header attributes to options given attribs. 8. If attribs["[7386]imagesrcset"] [7387]exists and attribs["[7388]imagesizes"] [7389]exists, then set options's [7390]source set to the result of [7391]creating a source set given linkObject["target_uri"], attribs["[7392]imagesrcset"], attribs["[7393]imagesizes"], and null. 9. Run the [7394]process a link header steps for rel given options.

To apply link options from parsed header attributes to a [7395]link processing options options given attribs: 1. If attribs["[7396]as"] [7397]exists, then set options's [7398]destination to the result of [7399]translating attribs["[7400]as"]. 2. If attribs["[7401]crossorigin"] [7402]exists and is an [7403]ASCII case-insensitive match for one of the [7404]CORS settings attribute [7405]keywords, then set options's [7406]crossorigin to the [7407]CORS settings attribute state corresponding to that keyword. 3. If attribs["[7408]integrity"] [7409]exists, then set options's [7410]integrity to attribs["[7411]integrity"]. 4. If attribs["[7412]referrerpolicy"] [7413]exists and is an [7414]ASCII case-insensitive match for some [7415]referrer policy, then set options's [7416]referrer policy to that [7417]referrer policy. 5. If attribs["[7418]nonce"] [7419]exists, then set options's [7420]nonce to attribs["[7421]nonce"]. 6. If attribs["[7422]type"] [7423]exists, then set options's [7424]type to attribs["[7425]type"]. 7. If attribs["[7426]fetchpriority"] [7427]exists and is an [7428]ASCII case-insensitive match for a [7429]fetch priority attribute keyword, then set options's [7430]fetch priority to that [7431]fetch priority attribute keyword.

4.2.4.5 Early hints

(BUTTON) MDN

[7432]Status/103 Firefoxpreview+SafariNoChrome103+ __________________________________________________________________

OperaNoEdge103+ __________________________________________________________________

Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

Early hints allow user-agents to perform some operations, such as to speculatively load resources that are likely to be used by the document, before the navigation request is fully handled by the server and a response code is served. Servers can indicate early hints by serving a [7433]response with a 103 status code before serving the final [7434]response.[7435][RFC8297]

For compatibility reasons [7436]early hints are typically delivered over HTTP/2 or above, but for readability we use HTTP/1.1-style notation below.

For example, given the following sequence of responses: 103 Early Hint Link: ; [7437]rel=[7438]preload; [7439]as=image 200 OK Content-Type: text/html

...

the image will start loading before the HTML content arrives.

Only the first early hint response served during the navigation is handled, and it is discarded if it is succeeded by a cross-origin redirect.

In addition to the `[7440]Link` headers, it is possible that the 103 response contains a [7441]Content Security Policy header, which is enforced when processing the early hint.

For example, given the following sequence of responses: 103 Early Hint Content-Security-Policy: style-src: self; Link: ; [7442]rel=[7443]preload; [7444]as=style 103 Early Hint Link: ; [7445]rel=[7446]preload; [7447]as=image 302 Redirect Location: /alternate.html 200 OK Content-Security-Policy: style-src: none; Link: ; [7448]rel=[7449]preload; [7450]as=font

The font and style would be loaded, and the image will be discarded, as only the first early hint response in the final redirect chain is respected. The late [7451]Content Security Policy header comes after the request to fetch the style has already been performed, but the style will not be accessible to the document.

To process early hint headers given a [7452]response response and an [7453]environment reservedEnvironment:

Early-hint `[7454]Link` headers are always processed before `[7455]Link` headers from the final [7456]response, followed by [7457]link elements. This is equivalent to prepending the contents of the early and final `[7458]Link` headers to the [7459]Document's [7460]head element, in respective order. 1. Let earlyPolicyContainer be the result of [7461]creating a policy container from a fetch response given response and reservedEnvironment. This allows the early hint [7462]response to include a [7463]Content Security Policy which would be [7464]enforced when fetching the early hint [7465]request. 2. Let links be the result of [7466]extracting links from response's [7467]header list. 3. Let earlyHints be an empty [7468]list. 4. [7469]For each linkObject in links: The moment we receive the early hint link header, we begin [7470]fetching earlyRequest. If it comes back before the [7471]Document is created, we set earlyResponse to the [7472]response of that [7473]fetch and once the [7474]Document is created we commit it (by making it available in the [7475]map of preloaded resources as if it was a [7476]link element). If the [7477]Document is created first, the [7478]response is committed as soon as it becomes available. 1. Let rel be linkObject["relation_type"]. 2. Let options be a new [7479]link processing options with

[7480]href linkObject["target_uri"]

[7481]initiator "early-hint"

[7482]base URL response's [7483]URL

[7484]origin response's [7485]URL's [7486]origin

[7487]environment reservedEnvironment

[7488]policy container earlyPolicyContainer

3. Let attribs be linkObject["target_attributes"]. Only the [7489]as, [7490]crossorigin, [7491]integrity, and [7492]type attributes are handled as part of early hint processing. The other ones, in particular [7493]blocking, [7494]imagesrcset, [7495]imagesizes, and [7496]media are only applicable once a [7497]Document is created. 4. [7498]Apply link options from parsed header attributes to options given attribs. 5. Run the [7499]process a link header steps for rel given options. 6. [7500]Append options to earlyHints. 5. Return the following substeps given [7501]Document doc: [7502]for each options in earlyHints: 1. If options's [7503]on document ready is null, then set options's [7504]document to doc. 2. Otherwise, call options's [7505]on document ready with doc.

4.2.4.6 Providing users with a means to follow hyperlinks created using the [7506]link element

Interactive user agents may provide users with a means to [7507]follow the hyperlinks created using the [7508]link element, somewhere within their user interface. Such invocations of the [7509]follow the hyperlink algorithm must set the [7510]userInvolvement argument to "[7511]browser UI". The exact interface is not defined by this specification, but it could include the following information (obtained from the element's attributes, again as defined below), in some form or another (possibly simplified), for each [7512]hyperlink created with each [7513]link element in the document: * The relationship between this document and the resource (given by the [7514]rel attribute) * The title of the resource (given by the [7515]title attribute). * The address of the resource (given by the [7516]href attribute). * The language of the resource (given by the [7517]hreflang attribute). * The optimum media for the resource (given by the [7518]media attribute).

User agents could also include other information, such as the type of the resource (as given by the [7519]type attribute).

4.2.5 The meta element

(BUTTON) ✔MDN

[7520]Element/meta

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

(BUTTON) ✔MDN

[7521]HTMLMetaElement

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[7522]Categories: [7523]Metadata content. If the [7524]itemprop attribute is present: [7525]flow content. If the [7526]itemprop attribute is present: [7527]phrasing content.

[7528]Contexts in which this element can be used: If the [7529]charset attribute is present, or if the element's [7530]http-equiv attribute is in the [7531]Encoding declaration state: in a [7532]head element. If the [7533]http-equiv attribute is present but not in the [7534]Encoding declaration state: in a [7535]head element. If the [7536]http-equiv attribute is present but not in the [7537]Encoding declaration state: in a [7538]noscript element that is a child of a [7539]head element. If the [7540]name attribute is present: where [7541]metadata content is expected. If the [7542]itemprop attribute is present: where [7543]metadata content is expected. If the [7544]itemprop attribute is present: where [7545]phrasing content is expected.

[7546]Content model: [7547]Nothing.

[7548]Tag omission in text/html: No [7549]end tag.

[7550]Content attributes: [7551]Global attributes [7552]name — Metadata name [7553]http-equiv — Pragma directive [7554]content — Value of the element [7555]charset — [7556]Character encoding declaration [7557]media — Applicable media

[7558]Accessibility considerations: [7559]For authors. [7560]For implementers.

[7561]DOM interface:

[Exposed=Window] interface HTMLMetaElement : [7562]HTMLElement { [[7563]HTMLConstructor] constructor();

[[7564]CEReactions] attribute DOMString [7565]name; [[7566]CEReactions] attribute DOMString [7567]httpEquiv; [[7568]CEReactions] attribute DOMString [7569]content; [[7570]CEReactions] attribute DOMString [7571]media;

// [7572]also has obsolete members };

The [7573]meta element [7574]represents various kinds of metadata that cannot be expressed using the [7575]title, [7576]base, [7577]link, [7578]style, and [7579]script elements.

The [7580]meta element can represent document-level metadata with the [7581]name attribute, pragma directives with the [7582]http-equiv attribute, and the file's [7583]character encoding declaration when an HTML document is serialized to string form (e.g. for transmission over the network or for disk storage) with the [7584]charset attribute.

Exactly one of the [7585]name, [7586]http-equiv, [7587]charset, and [7588]itemprop attributes must be specified.

If either [7589]name, [7590]http-equiv, or [7591]itemprop is specified, then the [7592]content attribute must also be specified. Otherwise, it must be omitted.

The charset attribute specifies the [7593]character encoding used by the document. This is a [7594]character encoding declaration. If the attribute is present, its value must be an [7595]ASCII case-insensitive match for the string "utf-8".

The [7596]charset attribute on the [7597]meta element has no effect in XML documents, but is allowed in XML documents in order to facilitate migration to and from XML.

There must not be more than one [7598]meta element with a [7599]charset attribute per document.

The content attribute gives the value of the document metadata or pragma directive when the element is used for those purposes. The allowed values depend on the exact context, as described in subsequent sections of this specification.

If a [7600]meta element has a name attribute, it sets document metadata. Document metadata is expressed in terms of name-value pairs, the [7601]name attribute on the [7602]meta element giving the name, and the [7603]content attribute on the same element giving the value. The name specifies what aspect of metadata is being set; valid names and the meaning of their values are described in the following sections. If a [7604]meta element has no [7605]content attribute, then the value part of the metadata name-value pair is the empty string.

The media attribute says which media the metadata applies to. The value must be a [7606]valid media query list. Unless the [7607]name is [7608]theme-color, the [7609]media attribute has no effect on the processing model and must not be used by authors.

The name, content, and media IDL attributes must [7610]reflect the respective content attributes of the same name. The IDL attribute httpEquiv must [7611]reflect the content attribute [7612]http-equiv.

4.2.5.1 Standard metadata names

(BUTTON) ✔MDN

[7613]Element/meta/name

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer6+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

This specification defines a few names for the [7614]name attribute of the [7615]meta element.

Names are case-insensitive, and must be compared in an [7616]ASCII case-insensitive manner.

application-name The value must be a short free-form string giving the name of the web application that the page represents. If the page is not a web application, the [7617]application-name metadata name must not be used. Translations of the web application's name may be given, using the [7618]lang attribute to specify the language of each name.

There must not be more than one [7619]meta element with a given [7620]language and where the [7621]name attribute value is an [7622]ASCII case-insensitive match for [7623]application-name per document.

User agents may use the application name in UI in preference to the page's [7624]title, since the title might include status messages and the like relevant to the status of the page at a particular moment in time instead of just being the name of the application.

To find the application name to use given an ordered list of languages (e.g. British English, American English, and English), user agents must run the following steps:

1. Let languages be the list of languages. 2. Let default language be the [7625]language of the [7626]Document's [7627]document element, if any, and if that language is not unknown. 3. If there is a default language, and if it is not the same language as any of the languages in languages, append it to languages. 4. Let winning language be the first language in languages for which there is a [7628]meta element in the [7629]Document where the [7630]name attribute value is an [7631]ASCII case-insensitive match for [7632]application-name and whose [7633]language is the language in question. If none of the languages have such a [7634]meta element, then return; there's no given application name. 5. Return the value of the [7635]content attribute of the first [7636]meta element in the [7637]Document in [7638]tree order where the [7639]name attribute value is an [7640]ASCII case-insensitive match for [7641]application-name and whose [7642]language is winning language.

This algorithm would be used by a browser when it needs a name for the page, for instance, to label a bookmark. The languages it would provide to the algorithm would be the user's preferred languages.

author The value must be a free-form string giving the name of one of the page's authors.

description The value must be a free-form string that describes the page. The value must be appropriate for use in a directory of pages, e.g. in a search engine. There must not be more than one [7643]meta element where the [7644]name attribute value is an [7645]ASCII case-insensitive match for [7646]description per document.

generator The value must be a free-form string that identifies one of the software packages used to generate the document. This value must not be used on pages whose markup is not generated by software, e.g. pages whose markup was written by a user in a text editor.

Here is what a tool called "Frontweaver" could include in its output, in the page's [7647]head element, to identify itself as the tool used to generate the page:

keywords The value must be a [7648]set of comma-separated tokens, each of which is a keyword relevant to the page.

This page about typefaces on British motorways uses a [7649]meta element to specify some keywords that users might use to look for the page:

Typefaces on UK motorways ...

Many search engines do not consider such keywords, because this feature has historically been used unreliably and even misleadingly as a way to spam search engine results in a way that is not helpful for users.

To obtain the list of keywords that the author has specified as applicable to the page, the user agent must run the following steps:

1. Let keywords be an empty list. 2. For each [7650]meta element with a [7651]name attribute and a [7652]content attribute and where the [7653]name attribute value is an [7654]ASCII case-insensitive match for [7655]keywords: 1. [7656]Split the value of the element's content attribute on commas. 2. Add the resulting tokens, if any, to keywords. 3. Remove any duplicates from keywords. 4. Return keywords. This is the list of keywords that the author has specified as applicable to the page.

User agents should not use this information when there is insufficient confidence in the reliability of the value.

For instance, it would be reasonable for a content management system to use the keyword information of pages within the system to populate the index of a site-specific search engine, but a large-scale content aggregator that used this information would likely find that certain users would try to game its ranking mechanism through the use of inappropriate keywords.

referrer The value must be a [7657]referrer policy, which defines the default [7658]referrer policy for the [7659]Document. [7660][REFERRERPOLICY]

If any [7661]meta element element is [7662]inserted into the document, or has its [7663]name or [7664]content attributes changed, user agents must run the following algorithm:

1. If element is not [7665]in a document tree, then return. 2. If element does not have a [7666]name attribute whose value is an [7667]ASCII case-insensitive match for "[7668]referrer", then return. 3. If element does not have a [7669]content attribute, or that attribute's value is the empty string, then return. 4. Let value be the value of element's [7670]content attribute, [7671]converted to ASCII lowercase. 5. If value is one of the values given in the first column of the following table, then set value to the value given in the second column:

Legacy value Referrer policy never [7672]no-referrer default the [7673]default referrer policy always [7674]unsafe-url origin-when-crossorigin [7675]origin-when-cross-origin 6. If value is a [7676]referrer policy, then set element's [7677]node document's [7678]policy container's [7679]referrer policy to policy.

For historical reasons, unlike other standard metadata names, the processing model for [7680]referrer is not responsive to element removals, and does not use [7681]tree order. Only the most-recently-inserted or most-recently-modified [7682]meta element in this state has an effect.

theme-color

(BUTTON) MDN

[7683]Element/meta/name/theme-color

FirefoxNoSafari15+Chrome🔰 73+ ___________________________________________________________

OperaNoEdge🔰 79+ ___________________________________________________________

Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

Firefox Android?Safari iOS?Chrome Android80+WebView AndroidNoSamsung Internet6.2+Opera AndroidNo The value must be a string that matches the CSS [7684] production, defining a suggested color that user agents should use to customize the display of the page or of the surrounding user interface. For example, a browser might color the page's title bar with the specified value, or use it as a color highlight in a tab bar or task switcher.

Within an HTML document, the [7685]media attribute value must be unique amongst all the [7686]meta elements with their [7687]name attribute value set to an [7688]ASCII case-insensitive match for [7689]theme-color.

This standard itself uses "WHATWG green" as its theme color:

HTML Standard ...

The [7690]media attribute may be used to describe the context in which the provided color should be used.

If we only wanted to use "WHATWG green" as this standard's theme color in dark mode, we could use the prefers-color-scheme media feature:

HTML Standard ...

To obtain a page's theme color, user agents must run the following steps:

1. Let candidate elements be the list of all [7691]meta elements that meet the following criteria, in [7692]tree order: o the element is [7693]in a document tree; o the element has a [7694]name attribute, whose value is an [7695]ASCII case-insensitive match for [7696]theme-color; and o the element has a [7697]content attribute. 2. For each element in candidate elements: 1. If element has a [7698]media attribute and the value of element's [7699]media attribute does not [7700]match the environment, then [7701]continue. 2. Let value be the result of [7702]stripping leading and trailing ASCII whitespace from the value of element's [7703]content attribute. 3. Let color be the result of [7704]parsing value. 4. If color is not failure, then return color. 3. Return nothing (the page has no theme color).

If any [7705]meta elements are [7706]inserted into the document or [7707]removed from the document, or existing [7708]meta elements have their [7709]name, [7710]content, or [7711]media attributes changed, or if the environment changes such that any [7712]meta element's [7713]media attribute's value may now or may no longer [7714]match the environment, user agents must re-run the above algorithm and apply the result to any affected UI.

When using the theme color in UI, user agents may adjust it in implementation-specific ways to make it more suitable for the UI in question. For example, if a user agent intends to use the theme color as a background and display white text over it, it might use a darker variant of the theme color in that part of the UI, to ensure adequate contrast.

color-scheme To aid user agents in rendering the page background with the desired color scheme immediately (rather than waiting for all CSS in the page to load), a [7715]'color-scheme' value can be provided in a [7716]meta element.

The value must be a string that matches the syntax for the CSS [7717]'color-scheme' property value. It determines the [7718]page's supported color-schemes.

There must not be more than one [7719]meta element with its [7720]name attribute value set to an [7721]ASCII case-insensitive match for [7722]color-scheme per document.

The following declaration indicates that the page is aware of and can handle a color scheme with dark background colors and light foreground colors:

To obtain a [7723]page's supported color-schemes, user agents must run the following steps:

1. Let candidate elements be the list of all [7724]meta elements that meet the following criteria, in [7725]tree order: o the element is [7726]in a document tree; o the element has a [7727]name attribute, whose value is an [7728]ASCII case-insensitive match for [7729]color-scheme; and o the element has a [7730]content attribute. 2. For each element in candidate elements: 1. Let parsed be the result of [7731]parsing a list of component values given the value of element's [7732]content attribute. 2. If parsed is a valid CSS [7733]'color-scheme' property value, then return parsed. 3. Return null.

If any [7734]meta elements are [7735]inserted into the document or [7736]removed from the document, or existing [7737]meta elements have their [7738]name or [7739]content attributes changed, user agents must re-run the above algorithm.

Because these rules check successive elements until they find a match, an author can provide multiple such values to handle fallback for legacy user agents. Opposite to how CSS fallback works for properties, the multiple meta elements needs to be arranged with the legacy values after the newer values.

4.2.5.2 Other metadata names

Anyone can create and use their own extensions to the predefined set of metadata names. There is no requirement to register such extensions.

However, a new metadata name should not be created in any of the following cases: * If either the name is a [7740]URL, or the value of its accompanying [7741]content attribute is a [7742]URL; in those cases, registering it as an [7743]extension to the predefined set of link types is encouraged (rather than creating a new metadata name). * If the name is for something expected to have processing requirements in user agents; in that case it ought to be standardized.

Also, before creating and using a new metadata name, consulting the [7744]WHATWG Wiki MetaExtensions page is encouraged — to avoid choosing a metadata name that's already in use, and to avoid duplicating the purpose of any metadata names that are already in use, and to avoid new standardized names clashing with your chosen name. [7745][WHATWGWIKI]

Anyone is free to edit the WHATWG Wiki MetaExtensions page at any time to add a metadata name. New metadata names can be specified with the following information:

Keyword The actual name being defined. The name should not be confusingly similar to any other defined name (e.g. differing only in case).

Brief description A short non-normative description of what the metadata name's meaning is, including the format the value is required to be in.

Specification A link to a more detailed description of the metadata name's semantics and requirements. It could be another page on the wiki, or a link to an external page.

Synonyms A list of other names that have exactly the same processing requirements. Authors should not use the names defined to be synonyms (they are only intended to allow user agents to support legacy content). Anyone may remove synonyms that are not used in practice; only names that need to be processed as synonyms for compatibility with legacy content are to be registered in this way.

Status One of the following:

Proposed The name has not received wide peer review and approval. Someone has proposed it and is, or soon will be, using it.

Ratified The name has received wide peer review and approval. It has a specification that unambiguously defines how to handle pages that use the name, including when they use it in incorrect ways.

Discontinued The metadata name has received wide peer review and it has been found wanting. Existing pages are using this metadata name, but new pages should avoid it. The "brief description" and "specification" entries will give details of what authors should use instead, if anything.

If a metadata name is found to be redundant with existing values, it should be removed and listed as a synonym for the existing value.

If a metadata name is added in the "proposed" state for a period of a month or more without being used or specified, then it may be removed from the WHATWG Wiki MetaExtensions page.

If a metadata name is added with the "proposed" status and found to be redundant with existing values, it should be removed and listed as a synonym for the existing value. If a metadata name is added with the "proposed" status and found to be harmful, then it should be changed to "discontinued" status.

Anyone can change the status at any time, but should only do so in accordance with the definitions above.

4.2.5.3 Pragma directives

When the http-equiv attribute is specified on a [7746]meta element, the element is a pragma directive.

The [7747]http-equiv attribute is an [7748]enumerated attribute with the following keywords and states:

Keyword Conforming State Brief description content-language No [7749]Content language Sets the [7750]pragma-set default language. content-type [7751]Encoding declaration An alternative form of setting the [7752]charset. default-style [7753]Default style Sets the [7754]name of the default [7755]CSS style sheet set. refresh [7756]Refresh Acts as a timed redirect. set-cookie No [7757]Set-Cookie Has no effect. x-ua-compatible [7758]X-UA-Compatible In practice, encourages Internet Explorer to more closely follow the specifications. content-security-policy [7759]Content security policy [7760]Enforces a [7761]Content Security Policy on a [7762]Document.

When a [7763]meta element is [7764]inserted into the document, if its [7765]http-equiv attribute is present and represents one of the above states, then the user agent must run the algorithm appropriate for that state, as described in the following list:

Content language state (http-equiv="[7766]content-language") This feature is non-conforming. Authors are encouraged to use the [7767]lang attribute instead.

This pragma sets the pragma-set default language. Until such a pragma is successfully processed, there is no [7768]pragma-set default language.

1. If the [7769]meta element has no [7770]content attribute, then return. 2. If the element's [7771]content attribute contains a U+002C COMMA character (,) then return. 3. Let input be the value of the element's [7772]content attribute. 4. Let position point at the first character of input. 5. [7773]Skip ASCII whitespace within input given position. 6. [7774]Collect a sequence of code points that are not [7775]ASCII whitespace from input given position. 7. Let candidate be the string that resulted from the previous step. 8. If candidate is the empty string, return. 9. Set the [7776]pragma-set default language to candidate. If the value consists of multiple space-separated tokens, tokens after the first are ignored.

This pragma is almost, but not quite, entirely unlike the HTTP `[7777]Content-Language` header of the same name. [7778][HTTP]

Encoding declaration state (http-equiv="[7779]content-type") The [7780]Encoding declaration state is just an alternative form of setting the [7781]charset attribute: it is a [7782]character encoding declaration. This state's user agent requirements are all handled by the parsing section of the specification.

For [7783]meta elements with an [7784]http-equiv attribute in the [7785]Encoding declaration state, the [7786]content attribute must have a value that is an [7787]ASCII case-insensitive match for a string that consists of: "text/html;", optionally followed by any number of [7788]ASCII whitespace, followed by "charset=utf-8".

A document must not contain both a [7789]meta element with an [7790]http-equiv attribute in the [7791]Encoding declaration state and a [7792]meta element with the [7793]charset attribute present.

The [7794]Encoding declaration state may be used in [7795]HTML documents, but elements with an [7796]http-equiv attribute in that state must not be used in [7797]XML documents.

Default style state (http-equiv="[7798]default-style")

(BUTTON) ⚠MDN

[7799]Alternative_style_sheets

Support in one engine only.

Firefox3+Safari?Chrome1–48 ___________________________________________________________

OperaYesEdgeNo ___________________________________________________________

Edge (Legacy)?Internet Explorer8+ ___________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? This pragma sets the [7800]name of the default [7801]CSS style sheet set.

1. If the [7802]meta element has no [7803]content attribute, or if that attribute's value is the empty string, then return. 2. [7804]Change the preferred CSS style sheet set name with the name being the value of the element's [7805]content attribute. [7806][CSSOM]

Refresh state (http-equiv="[7807]refresh") This pragma acts as a timed redirect.

A [7808]Document object has an associated will declaratively refresh (a boolean). It is initially false.

1. If the [7809]meta element has no [7810]content attribute, or if that attribute's value is the empty string, then return. 2. Let input be the value of the element's [7811]content attribute. 3. Run the [7812]shared declarative refresh steps with the [7813]meta element's [7814]node document, input, and the [7815]meta element.

The shared declarative refresh steps, given a [7816]Document object document, string input, and optionally a [7817]meta element meta, are as follows:

1. If document's [7818]will declaratively refresh is true, then return. 2. Let position point at the first [7819]code point of input. 3. [7820]Skip ASCII whitespace within input given position. 4. Let time be 0. 5. [7821]Collect a sequence of code points that are [7822]ASCII digits from input given position, and let the result be timeString. 6. If timeString is the empty string, then: 1. If the [7823]code point in input pointed to by position is not U+002E (.), then return. 7. Otherwise, set time to the result of parsing timeString using the [7824]rules for parsing non-negative integers. 8. [7825]Collect a sequence of code points that are [7826]ASCII digits and U+002E FULL STOP characters (.) from input given position. Ignore any collected characters. 9. Let urlRecord be document's [7827]URL. 10. If position is not past the end of input, then: 1. If the [7828]code point in input pointed to by position is not U+003B (;), U+002C (,), or [7829]ASCII whitespace, then return. 2. [7830]Skip ASCII whitespace within input given position. 3. If the [7831]code point in input pointed to by position is U+003B (;) or U+002C (,), then advance position to the next [7832]code point. 4. [7833]Skip ASCII whitespace within input given position. 11. If position is not past the end of input, then: 1. Let urlString be the substring of input from the [7834]code point at position to the end of the string. 2. If the [7835]code point in input pointed to by position is U+0055 (U) or U+0075 (u), then advance position to the next [7836]code point. Otherwise, jump to the step labeled skip quotes. 3. If the [7837]code point in input pointed to by position is U+0052 (R) or U+0072 (r), then advance position to the next [7838]code point. Otherwise, jump to the step labeled parse. 4. If the [7839]code point in input pointed to by position is U+004C (L) or U+006C (l), then advance position to the next [7840]code point. Otherwise, jump to the step labeled parse. 5. [7841]Skip ASCII whitespace within input given position. 6. If the [7842]code point in input pointed to by position is U+003D (=), then advance position to the next [7843]code point. Otherwise, jump to the step labeled parse. 7. [7844]Skip ASCII whitespace within input given position. 8. Skip quotes: If the [7845]code point in input pointed to by position is U+0027 (') or U+0022 ("), then let quote be that [7846]code point, and advance position to the next [7847]code point. Otherwise, let quote be the empty string. 9. Set urlString to the substring of input from the [7848]code point at position to the end of the string. 10. If quote is not the empty string, and there is a [7849]code point in urlString equal to quote, then truncate urlString at that [7850]code point, so that it and all subsequent [7851]code points are removed. 11. Parse: Set urlRecord to the result of [7852]encoding-parsing a URL given urlString, relative to document. 12. If urlRecord is failure, then return. 12. Set document's [7853]will declaratively refresh to true. 13. Perform one or more of the following steps: o After the refresh has come due (as defined below), if the user has not canceled the redirect and, if meta is given, document's [7854]active sandboxing flag set does not have the [7855]sandboxed automatic features browsing context flag set, then [7856]navigate document's [7857]node navigable to urlRecord using document, with [7858]historyHandling set to "[7859]replace". For the purposes of the previous paragraph, a refresh is said to have come due as soon as the later of the following two conditions occurs: # At least time seconds have elapsed since document's [7860]completely loaded time, adjusted to take into account user or user agent preferences. # If meta is given, at least time seconds have elapsed since meta was [7861]inserted into the document document, adjusted to take into account user or user agent preferences. It is important to use document here, and not meta's [7862]node document, as that might have changed between the initial set of steps and the refresh coming due and meta is not always given (in case of the HTTP `[7863]Refresh` header). o Provide the user with an interface that, when selected, [7864]navigates document's [7865]node navigable to urlRecord using document. o Do nothing. In addition, the user agent may, as with anything, inform the user of any and all aspects of its operation, including the state of any timers, the destinations of any timed redirects, and so forth.

For [7866]meta elements with an [7867]http-equiv attribute in the [7868]Refresh state, the [7869]content attribute must have a value consisting either of:

+ just a [7870]valid non-negative integer, or + a [7871]valid non-negative integer, followed by a U+003B SEMICOLON character (;), followed by one or more [7872]ASCII whitespace, followed by a substring that is an [7873]ASCII case-insensitive match for the string "URL", followed by a U+003D EQUALS SIGN character (=), followed by a [7874]valid URL string that does not start with a literal U+0027 APOSTROPHE (') or U+0022 QUOTATION MARK (") character.

In the former case, the integer represents a number of seconds before the page is to be reloaded; in the latter case the integer represents a number of seconds before the page is to be replaced by the page at the given [7875]URL.

A news organization's front page could include the following markup in the page's [7876]head element, to ensure that the page automatically reloads from the server every five minutes:

A sequence of pages could be used as an automated slide show by making each page refresh to the next page in the sequence, using markup such as the following:

Set-Cookie state (http-equiv="[7877]set-cookie") This pragma is non-conforming and has no effect.

User agents are required to ignore this pragma.

X-UA-Compatible state (http-equiv="[7878]x-ua-compatible") In practice, this pragma encourages Internet Explorer to more closely follow the specifications.

For [7879]meta elements with an [7880]http-equiv attribute in the [7881]X-UA-Compatible state, the [7882]content attribute must have a value that is an [7883]ASCII case-insensitive match for the string "IE=edge".

User agents are required to ignore this pragma.

Content security policy state (http-equiv="[7884]content-security-policy") This pragma [7885]enforces a [7886]Content Security Policy on a [7887]Document. [7888][CSP]

1. If the [7889]meta element is not a child of a [7890]head element, return. 2. If the [7891]meta element has no [7892]content attribute, or if that attribute's value is the empty string, then return. 3. Let policy be the result of executing Content Security Policy's [7893]parse a serialized Content Security Policy algorithm on the [7894]meta element's [7895]content attribute's value, with a source of "meta", and a disposition of "enforce". 4. Remove all occurrences of the [7896]report-uri, [7897]frame-ancestors, and [7898]sandbox [7899]directives from policy. 5. [7900]Enforce the policy policy.

For [7901]meta elements with an [7902]http-equiv attribute in the [7903]Content security policy state, the [7904]content attribute must have a value consisting of a [7905]valid Content Security Policy, but must not contain any [7906]report-uri, [7907]frame-ancestors, or [7908]sandbox [7909]directives. The [7910]Content Security Policy given in the [7911]content attribute will be [7912]enforced upon the current document. [7913][CSP]

At the time of inserting the [7914]meta element to the document, it is possible that some resources have already been fetched. For example, images might be stored in the [7915]list of available images prior to dynamically inserting a [7916]meta element with an [7917]http-equiv attribute in the [7918]Content security policy state. Resources that have already been fetched are not guaranteed to be blocked by a [7919]Content Security Policy that's [7920]enforced late.

A page might choose to mitigate the risk of cross-site scripting attacks by preventing the execution of inline JavaScript, as well as blocking all plugin content, using a policy such as the following:

There must not be more than one [7921]meta element with any particular state in the document at a time.

4.2.5.4 Specifying the document's character encoding

A character encoding declaration is a mechanism by which the [7922]character encoding used to store or transmit a document is specified.

The Encoding standard requires use of the [7923]UTF-8 [7924]character encoding and requires use of the "utf-8" [7925]encoding label to identify it. Those requirements necessitate that the document's [7926]character encoding declaration, if it exists, specifies an [7927]encoding label using an [7928]ASCII case-insensitive match for "utf-8". Regardless of whether a [7929]character encoding declaration is present or not, the actual [7930]character encoding used to encode the document must be [7931]UTF-8. [7932][ENCODING]

To enforce the above rules, authoring tools must default to using [7933]UTF-8 for newly-created documents.

The following restrictions also apply: * The character encoding declaration must be serialized without the use of [7934]character references or character escapes of any kind. * The element containing the character encoding declaration must be serialized completely within the first 1024 bytes of the document.

In addition, due to a number of restrictions on [7935]meta elements, there can only be one [7936]meta-based character encoding declaration per document.

If an [7937]HTML document does not start with a BOM, and its [7938]encoding is not explicitly given by [7939]Content-Type metadata, and the document is not [7940]an iframe srcdoc document, then the encoding must be specified using a [7941]meta element with a [7942]charset attribute or a [7943]meta element with an [7944]http-equiv attribute in the [7945]Encoding declaration state.

A character encoding declaration is required (either in the [7946]Content-Type metadata or explicitly in the file) even when all characters are in the ASCII range, because a character encoding is needed to process non-ASCII characters entered by the user in forms, in URLs generated by scripts, and so forth.

Using non-UTF-8 encodings can have unexpected results on form submission and URL encodings, which use the [7947]document's character encoding by default.

If the document is [7948]an iframe srcdoc document, the document must not have a [7949]character encoding declaration. (In this case, the source is already decoded, since it is part of the document that contained the [7950]iframe.)

In XML, the XML declaration should be used for inline character encoding information, if necessary.

In HTML, to declare that the character encoding is [7951]UTF-8, the author could include the following markup near the top of the document (in the [7952]head element):

In XML, the XML declaration would be used instead, at the very top of the markup:

4.2.6 The style element

(BUTTON) ✔MDN

[7953]Element/style

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera3.5+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer3+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+

(BUTTON) ✔MDN

[7954]HTMLStyleElement

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[7955]Categories: [7956]Metadata content.

[7957]Contexts in which this element can be used: Where [7958]metadata content is expected. In a [7959]noscript element that is a child of a [7960]head element.

[7961]Content model: [7962]Text that gives a [7963]conformant style sheet.

[7964]Tag omission in text/html: Neither tag is omissible.

[7965]Content attributes: [7966]Global attributes [7967]media — Applicable media [7968]blocking — Whether the element is [7969]potentially render-blocking Also, the [7970]title attribute [7971]has special semantics on this element: [7972]CSS style sheet set name

[7973]Accessibility considerations: [7974]For authors. [7975]For implementers.

[7976]DOM interface:

[Exposed=Window] interface HTMLStyleElement : [7977]HTMLElement { [[7978]HTMLConstructor] constructor();

attribute boolean [7979]disabled; [[7980]CEReactions] attribute DOMString [7981]media; [SameObject, PutForwards=[7982]value] readonly attribute [7983]DOMTokenList [7 984]blocking;

// [7985]also has obsolete members }; [7986]HTMLStyleElement includes [7987]LinkStyle;

The [7988]style element allows authors to embed CSS style sheets in their documents. The [7989]style element is one of several inputs to the styling processing model. The element does not [7990]represent content for the user.

(BUTTON) ✔MDN

[7991]HTMLStyleElement/disabled

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)13+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

The disabled getter steps are: 1. If [7992]this does not have an [7993]associated CSS style sheet, return false. 2. If [7994]this's [7995]associated CSS style sheet's [7996]disabled flag is set, return true. 3. Return false.

The [7997]disabled setter steps are: 1. If [7998]this does not have an [7999]associated CSS style sheet, return. 2. If the given value is true, set [8000]this's [8001]associated CSS style sheet's [8002]disabled flag. Otherwise, unset [8003]this's [8004]associated CSS style sheet's [8005]disabled flag.

Importantly, [8006]disabled attribute assignments only take effect when the [8007]style element has an [8008]associated CSS style sheet: const style = document.createElement(ʼstyleʼ); style.disabled = true; style.textContent = ʼbody { background-color: red; }ʼ; document.body.append(style); console.log(style.disabled); // false

The media attribute says which media the styles apply to. The value must be a [8009]valid media query list. The user agent must apply the styles when the [8010]media attribute's value [8011]matches the environment and the other relevant conditions apply, and must not apply them otherwise.

The styles might be further limited in scope, e.g. in CSS with the use of @media blocks. This specification does not override such further restrictions or requirements.

The default, if the [8012]media attribute is omitted, is "all", meaning that by default styles apply to all media.

The blocking attribute is a [8013]blocking attribute.

(BUTTON) ⚠MDN

[8014]Alternative_style_sheets

Support in one engine only. Firefox3+Safari?Chrome1–48 __________________________________________________________________

OperaYesEdgeNo __________________________________________________________________

Edge (Legacy)?Internet Explorer8+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The title attribute on [8015]style elements defines [8016]CSS style sheet sets. If the [8017]style element has no [8018]title attribute, then it has no title; the [8019]title attribute of ancestors does not apply to the [8020]style element. If the [8021]style element is not [8022]in a document tree, then the [8023]title attribute is ignored. [8024][CSSOM]

The [8025]title attribute on [8026]style elements, like the [8027]title attribute on [8028]link elements, differs from the global [8029]title attribute in that a [8030]style block without a title does not inherit the title of the parent element: it merely has no title.

The [8031]child text content of a [8032]style element must be that of a [8033]conformant style sheet.

A [8034]style element is [8035]implicitly potentially render-blocking if the element was created by its [8036]node document's parser. __________________________________________________________________

The user agent must run the [8037]update a style block algorithm whenever any of the following conditions occur: * The element is popped off the [8038]stack of open elements of an [8039]HTML parser or [8040]XML parser. * The element is not on the [8041]stack of open elements of an [8042]HTML parser or [8043]XML parser, and it [8044]becomes connected or [8045]disconnected. * The element's [8046]children changed steps run.

The update a style block algorithm is as follows: 1. Let element be the [8047]style element. 2. If element has an [8048]associated CSS style sheet, [8049]remove the CSS style sheet in question. 3. If element is not [8050]connected, then return. 4. If element's [8051]type attribute is present and its value is neither the empty string nor an [8052]ASCII case-insensitive match for "[8053]text/css", then return. In particular, a [8054]type value with parameters, such as "text/css; charset=utf-8", will cause this algorithm to return early. 5. If the [8055]Should element's inline behavior be blocked by Content Security Policy? algorithm returns "Blocked" when executed upon the [8056]style element, "style", and the [8057]style element's [8058]child text content, then return. [8059][CSP] 6. [8060]Create a CSS style sheet with the following properties:

[8061]type [8062]text/css

[8063]owner node element

[8064]media The [8065]media attribute of element.

This is a reference to the (possibly absent at this time) attribute, rather than a copy of the attribute's current value. CSSOM defines what happens when the attribute is dynamically set, changed, or removed.

[8066]title The [8067]title attribute of element, if element is [8068]in a document tree, or the empty string otherwise.

Again, this is a reference to the attribute.

[8069]alternate flag Unset.

[8070]origin-clean flag Set.

[8071]location [8072]parent CSS style sheet [8073]owner CSS rule null

[8074]disabled flag Left at its default value.

[8075]CSS rules Left uninitialized.

This doesn't seem right. Presumably we should be using the element's [8076]child text content? Tracked as [8077]issue #2997.

7. If element [8078]contributes a script-blocking style sheet, [8079]append element to its [8080]node document's [8081]script-blocking style sheet set. 8. If element's [8082]media attribute's value [8083]matches the environment and element is [8084]potentially render-blocking, then [8085]block rendering on element.

Once the attempts to obtain the style sheet's [8086]critical subresources, if any, are complete, or, if the style sheet has no [8087]critical subresources, once the style sheet has been parsed and processed, the user agent must run these steps:

Fetching the [8088]critical subresources is not well-defined; probably [8089]issue #968 is the best resolution for that. In the meantime, any [8090]critical subresource [8091]request should have its [8092]render-blocking set to whether or not the [8093]style element is currently [8094]render-blocking. 1. Let element be the [8095]style element associated with the style sheet in question. 2. Let success be true. 3. If the attempts to obtain any of the style sheet's [8096]critical subresources failed for any reason (e.g., DNS error, HTTP 404 response, a connection being prematurely closed, unsupported Content-Type), set success to false. Note that content-specific errors, e.g., CSS parse errors or PNG decoding errors, do not affect success. 4. [8097]Queue an element task on the [8098]networking task source given element and the following steps: 1. If success is true, [8099]fire an event named [8100]load at element. 2. Otherwise, [8101]fire an event named [8102]error at element. 3. If element [8103]contributes a script-blocking style sheet: 1. [8104]Assert: element's [8105]node document's [8106]script-blocking style sheet set [8107]contains element. 2. [8108]Remove element from its [8109]node document's [8110]script-blocking style sheet set. 4. [8111]Unblock rendering on element.

The element must [8112]delay the load event of the element's [8113]node document until all the attempts to obtain the style sheet's [8114]critical subresources, if any, are complete.

This specification does not specify a style system, but CSS is expected to be supported by most web browsers. [8115][CSS]

(BUTTON) ✔MDN

[8116]HTMLStyleElement/media

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

The media and blocking IDL attributes must each [8117]reflect the respective content attributes of the same name.

The [8118]LinkStyle interface is also implemented by this element. [8119][CSSOM]

The following document has its stress emphasis styled as bright red text rather than italics text, while leaving titles of works and Latin words in their default italics. It shows how using appropriate elements enables easier restyling of documents. My favorite book

My favorite book of all time has got to be A Catʼs Life. It is a book by P. Rahmel that talks about the Felis catus in modern human society.

4.2.7 Interactions of styling and scripting

If the style sheet referenced no other resources (e.g., it was an internal style sheet given by a [8120]style element with no @import rules), then the style rules must be [8121]immediately made available to script; otherwise, the style rules must only be made available to script once the [8122]event loop reaches its [8123]update the rendering step.

An element el in the context of a [8124]Document of an [8125]HTML parser or [8126]XML parser contributes a script-blocking style sheet if all of the following are true: * el was created by that [8127]Document's parser. * el is either a [8128]style element or a [8129]link element that was an [8130]external resource link that contributes to the styling processing model when the el was created by the parser. * el's media attribute's value [8131]matches the environment. * el's style sheet was enabled when the element was created by the parser. * The last time the [8132]event loop reached [8133]step 1, el's [8134]root was that [8135]Document. * The user agent hasn't given up on loading that particular style sheet yet. A user agent may give up on loading a style sheet at any time. Giving up on a style sheet before the style sheet loads, if the style sheet eventually does still load, means that the script might end up operating with incorrect information. For example, if a style sheet sets the color of an element to green, but a script that inspects the resulting style is executed before the sheet is loaded, the script will find that the element is black (or whatever the default color is), and might thus make poor choices (e.g., deciding to use black as the color elsewhere on the page, instead of green). Implementers have to balance the likelihood of a script using incorrect information with the performance impact of doing nothing while waiting for a slow network request to finish.

It is expected that counterparts to the above rules also apply to [8136] PIs. However, this has not yet been thoroughly investigated.

A [8137]Document has a script-blocking style sheet set, which is an [8138]ordered set, initially empty.

A [8139]Document document has a style sheet that is blocking scripts if the following steps return true: 1. If document's [8140]script-blocking style sheet set is not [8141]empty, then return true. 2. If document's [8142]node navigable is null, then return false. 3. Let containerDocument be document's [8143]node navigable's [8144]container document. 4. If containerDocument is non-null and containerDocument's [8145]script-blocking style sheet set is not [8146]empty, then return true. 5. Return false.

A [8147]Document has no style sheet that is blocking scripts if it does not [8148]have a style sheet that is blocking scripts.

4.3 Sections

(BUTTON) ✔MDN

[8149]Introduction_to_HTML/Document_and_website_structure#HTML_for_stru cturing_content

Support in all current engines. Firefox4+Safari5+Chrome5+ __________________________________________________________________

Opera11.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11.1+

4.3.1 The body element

(BUTTON) ✔MDN

[8150]Element/body

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

(BUTTON) ✔MDN

[8151]HTMLBodyElement

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[8152]Categories: None.

[8153]Contexts in which this element can be used: As the second element in an [8154]html element.

[8155]Content model: [8156]Flow content.

[8157]Tag omission in text/html: A [8158]body element's [8159]start tag can be omitted if the element is empty, or if the first thing inside the [8160]body element is not [8161]ASCII whitespace or a [8162]comment, except if the first thing inside the [8163]body element is a [8164]meta, [8165]noscript, [8166]link, [8167]script, [8168]style, or [8169]template element. A [8170]body element's [8171]end tag can be omitted if the [8172]body element is not immediately followed by a [8173]comment.

[8174]Content attributes: [8175]Global attributes [8176]onafterprint [8177]onbeforeprint [8178]onbeforeunload [8179]onhashchange [8180]onlanguagechange [8181]onmessage [8182]onmessageerror [8183]onoffline [8184]ononline [8185]onpageswap [8186]onpagehide [8187]onpagereveal [8188]onpageshow [8189]onpopstate [8190]onrejectionhandled [8191]onstorage [8192]onunhandledrejection [8193]onunload

[8194]Accessibility considerations: [8195]For authors. [8196]For implementers.

[8197]DOM interface:

[Exposed=Window] interface HTMLBodyElement : [8198]HTMLElement { [[8199]HTMLConstructor] constructor();

// [8200]also has obsolete members };

[8201]HTMLBodyElement includes [8202]WindowEventHandlers;

The [8203]body element [8204]represents the contents of the document.

In conforming documents, there is only one [8205]body element. The [8206]document.body IDL attribute provides scripts with easy access to a document's [8207]body element.

Some DOM operations (for example, parts of the [8208]drag and drop model) are defined in terms of "[8209]the body element". This refers to a particular element in the DOM, as per the definition of the term, and not any arbitrary [8210]body element.

The [8211]body element exposes as [8212]event handler content attributes a number of the [8213]event handlers of the [8214]Window object. It also mirrors their [8215]event handler IDL attributes.

The [8216]event handlers of the [8217]Window object named by the [8218]Window-reflecting body element event handler set, exposed on the [8219]body element, replace the generic [8220]event handlers with the same names normally supported by [8221]HTML elements.

Thus, for example, a bubbling [8222]error event dispatched on a child of [8223]the body element of a [8224]Document would first trigger the [8225]onerror [8226]event handler content attributes of that element, then that of the root [8227]html element, and only then would it trigger the [8228]onerror [8229]event handler content attribute on the [8230]body element. This is because the event would bubble from the target, to the [8231]body, to the [8232]html, to the [8233]Document, to the [8234]Window, and the [8235]event handler on the [8236]body is watching the [8237]Window not the [8238]body. A regular event listener attached to the [8239]body using addEventListener(), however, would be run when the event bubbled through the [8240]body and not when it reaches the [8241]Window object.

This page updates an indicator to show whether or not the user is online: Online or offline?

You are: (Unknown)

4.3.2 The article element

(BUTTON) ✔MDN

[8242]Element/article

Support in all current engines. Firefox4+Safari5+Chrome5+ __________________________________________________________________

Opera11.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11.1+

[8243]Categories: [8244]Flow content. [8245]Sectioning content. [8246]Palpable content.

[8247]Contexts in which this element can be used: Where [8248]sectioning content is expected.

[8249]Content model: [8250]Flow content.

[8251]Tag omission in text/html: Neither tag is omissible.

[8252]Content attributes: [8253]Global attributes

[8254]Accessibility considerations: [8255]For authors. [8256]For implementers.

[8257]DOM interface: Uses [8258]HTMLElement.

The [8259]article element [8260]represents a complete, or self-contained, composition in a document, page, application, or site and that is, in principle, independently distributable or reusable, e.g. in syndication. This could be a forum post, a magazine or newspaper article, a blog entry, a user-submitted comment, an interactive widget or gadget, or any other independent item of content.

When [8261]article elements are nested, the inner [8262]article elements represent articles that are in principle related to the contents of the outer article. For instance, a blog entry on a site that accepts user-submitted comments could represent the comments as [8263]article elements nested within the [8264]article element for the blog entry.

Author information associated with an [8265]article element (q.v. the [8266]address element) does not apply to nested [8267]article elements.

When used specifically with content to be redistributed in syndication, the [8268]article element is similar in purpose to the entry element in Atom. [8269][ATOM]

The schema.org microdata vocabulary can be used to provide the publication date for an [8270]article element, using one of the CreativeWork subtypes.

When the main content of the page (i.e. excluding footers, headers, navigation blocks, and sidebars) is all one single self-contained composition, that content may be marked with an [8271]article, but it is technically redundant in that case (since it's self-evident that the page is a single composition, as it is a single document).

This example shows a blog post using the [8272]article element, with some schema.org annotations:

The Very First Rule of Life

If thereʼs a microphone anywhere near you, assume itʼs hot and sending whatever youʼre saying to the world. Seriously.

...

Here is that same blog post, but showing some of the comments:

The Very First Rule of Life

If thereʼs a microphone anywhere near you, assume itʼs hot and sending whatever youʼre saying to the world. Seriously.

...

Comments

Posted by: George Washington

< /p>

Yeah! Especially when talking about your lobbyist friends!

Posted by: George Hammond

Hey, you have the same first name as me.

Notice the use of [8273]footer to give the information for each comment (such as who wrote it and when): the [8274]footer element can appear at the start of its section when appropriate, such as in this case. (Using [8275]header in this case wouldn't be wrong either; it's mostly a matter of authoring preference.)

In this example, [8276]article elements are used to host widgets on a portal page. The widgets are implemented as [8277]customized built-in elements in order to get specific styling and scripted behavior. eHome Portal

Stocks

Stock Value Delta

News

4.3.3 The section element

(BUTTON) ✔MDN

[8278]Element/section

Support in all current engines. Firefox4+Safari5+Chrome5+ __________________________________________________________________

Opera11.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11.1+

[8279]Categories: [8280]Flow content. [8281]Sectioning content. [8282]Palpable content.

[8283]Contexts in which this element can be used: Where [8284]sectioning content is expected.

[8285]Content model: [8286]Flow content.

[8287]Tag omission in text/html: Neither tag is omissible.

[8288]Content attributes: [8289]Global attributes

[8290]Accessibility considerations: [8291]For authors. [8292]For implementers.

[8293]DOM interface: Uses [8294]HTMLElement.

The [8295]section element [8296]represents a generic section of a document or application. A section, in this context, is a thematic grouping of content, typically with a heading.

Examples of sections would be chapters, the various tabbed pages in a tabbed dialog box, or the numbered sections of a thesis. A web site's home page could be split into sections for an introduction, news items, and contact information.

Authors are encouraged to use the [8297]article element instead of the [8298]section element when it would make sense to syndicate the contents of the element.

The [8299]section element is not a generic container element. When an element is needed only for styling purposes or as a convenience for scripting, authors are encouraged to use the [8300]div element instead. A general rule is that the [8301]section element is appropriate only if the element's contents would be listed explicitly in the document's [8302]outline.

In the following example, we see an article (part of a larger web page) about apples, containing two short sections.

Apples

Tasty, delicious fruit!

The apple is the pomaceous fruit of the apple tree.

Red Delicious

These bright red apples are the most common found in many supermarkets.

Granny Smith

These juicy, green apples make a great filling for apple pies.

Here is a graduation programme with two sections, one for the list of people graduating, and one for the description of the ceremony. (The markup in this example features an uncommon style sometimes used to minimize the amount of [8303]inter-element whitespace.) Graduation Ceremony Summer 2022

Graduation

Ceremony

Opening Procession

Speech by Valedictorian

Speech by Class President

Presentation of Diplomas

Closing Speech by Headmaster

Graduates

  • Molly Carpenter
  • Anastasia Luccio
  • Ebenezar McCoy
  • Karrin Murphy
  • Thomas Raith
  • Susan Rodriguez

In this example, a book author has marked up some sections as chapters and some as appendices, and uses CSS to style the headers in these two classes of section differently.

My Book

A sample with not much content

Published by Dummy Publicorp Ltd.

My First Chapter

This is the first of my chapters. It doesnʼt say much.

But it has two paragraphs!

It Continues: The Second Chapter

Bla dee bla, dee bla dee bla. Boom.

Chapter Three: A Further Example

Itʼs not like a battle between brightness and earthtones would go unnoticed.

But it might ruin my story.

Appendix A: Overview of Examples

These are demonstrations.

Appendix B: Some Closing Remarks

Hopefully this long example shows that you can style sections, so long as they are used to indicate actual sections.

4.3.4 The nav element

(BUTTON) ✔MDN

[8304]Element/nav

Support in all current engines. Firefox4+Safari5+Chrome5+ __________________________________________________________________

Opera11.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11.1+

[8305]Categories: [8306]Flow content. [8307]Sectioning content. [8308]Palpable content.

[8309]Contexts in which this element can be used: Where [8310]sectioning content is expected.

[8311]Content model: [8312]Flow content.

[8313]Tag omission in text/html: Neither tag is omissible.

[8314]Content attributes: [8315]Global attributes

[8316]Accessibility considerations: [8317]For authors. [8318]For implementers.

[8319]DOM interface: Uses [8320]HTMLElement.

The [8321]nav element [8322]represents a section of a page that links to other pages or to parts within the page: a section with navigation links.

Not all groups of links on a page need to be in a [8323]nav element — the element is primarily intended for sections that consist of major navigation blocks. In particular, it is common for footers to have a short list of links to various pages of a site, such as the terms of service, the home page, and a copyright page. The [8324]footer element alone is sufficient for such cases; while a [8325]nav element can be used in such cases, it is usually unnecessary.

User agents (such as screen readers) that are targeted at users who can benefit from navigation information being omitted in the initial rendering, or who can benefit from navigation information being immediately available, can use this element as a way to determine what content on the page to initially skip or provide on request (or both).

In the following example, there are two [8326]nav elements, one for primary navigation around the site, and one for secondary navigation around the page itself.

The Wiki Center Of Exampland

© copyright 1998 Exampland Emperor

In the following example, the page has several places where links are present, but only one of those places is considered a navigation section.

Wake up sheeple!

News - Blog - Forums

Last Modified: 2009-04-01

My Day at the Beach

Today I went to the beach and had a lot of fun.

...more content...

Posted

...more blog posts...

You can also see microdata annotations in the above example that use the schema.org vocabulary to provide the publication date and other metadata about the blog post.

A [8327]nav element doesn't have to contain a list, it can contain other kinds of content as well. In this navigation block, links are provided in prose:

In this example, [8328]nav is used in an email application, to let the user switch folders:

4.3.5 The aside element

(BUTTON) ✔MDN

[8329]Element/aside

Support in all current engines. Firefox4+Safari5+Chrome5+ __________________________________________________________________

Opera11.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11.1+

[8330]Categories: [8331]Flow content. [8332]Sectioning content. [8333]Palpable content.

[8334]Contexts in which this element can be used: Where [8335]sectioning content is expected.

[8336]Content model: [8337]Flow content.

[8338]Tag omission in text/html: Neither tag is omissible.

[8339]Content attributes: [8340]Global attributes

[8341]Accessibility considerations: [8342]For authors. [8343]For implementers.

[8344]DOM interface: Uses [8345]HTMLElement.

The [8346]aside element [8347]represents a section of a page that consists of content that is tangentially related to the content around the [8348]aside element, and which could be considered separate from that content. Such sections are often represented as sidebars in printed typography.

The element can be used for typographical effects like pull quotes or sidebars, for advertising, for groups of [8349]nav elements, and for other content that is considered separate from the main content of the page.

It's not appropriate to use the [8350]aside element just for parentheticals, since those are part of the main flow of the document.

The following example shows how an aside is used to mark up background material on Switzerland in a much longer news story on Europe.

The following example shows how an aside is used to mark up a pull quote in a longer article. ...

He later joined a large company, continuing on the same work. I love my job. People ask me what I do for fun when Iʼm not at work. But Iʼm paid to do my hobby, so I never know what to answer. Some people wonder what they would do if they didnʼt have to work... but I know what I would do, because I was unemployed for a year, and I filled that time doing exactly what I do now.

Of course his work — or should that be hobby? — isnʼt his only passion. He also enjoys other pleasures.

...

The following extract shows how [8351]aside can be used for blogrolls and other side content on a blog:

My wonderful blog

My tagline

My last post

This is my last post.

My first post

This is my first post.

4.3.6 The h1, h2, h3, h4, h5, and h6 elements

(BUTTON) ✔MDN

[8352]Element/Heading_Elements

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

[8353]Element/Heading_Elements

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

[8354]Element/Heading_Elements

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

[8355]Element/Heading_Elements

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

[8356]Element/Heading_Elements

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

[8357]Element/Heading_Elements

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

(BUTTON) ✔MDN

[8358]HTMLHeadingElement

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[8359]Categories: [8360]Flow content. [8361]Heading content. [8362]Palpable content.

[8363]Contexts in which this element can be used: As a child of an [8364]hgroup element. Where [8365]heading content is expected.

[8366]Content model: [8367]Phrasing content.

[8368]Tag omission in text/html: Neither tag is omissible.

[8369]Content attributes: [8370]Global attributes

[8371]Accessibility considerations: [8372]For authors. [8373]For implementers.

[8374]DOM interface:

[Exposed=Window] interface HTMLHeadingElement : [8375]HTMLElement { [[8376]HTMLConstructor] constructor();

// [8377]also has obsolete members };

These elements [8378]represent headings for their sections.

The semantics and meaning of these elements are defined in the section on [8379]headings and outlines.

These elements have a [8380]heading level given by the number in their name. The [8381]heading level corresponds to the levels of nested sections. The [8382]h1 element is for a top-level section, [8383]h2 for a subsection, [8384]h3 for a sub-subsection, and so on.

As far as their respective document outlines (their heading and section structures) are concerned, these two snippets are semantically equivalent:

Letʼs call it a draw(ing surface)

Diving in

Simple shapes

Canvas coordinates

Canvas coordinates diagram

Paths

Letʼs call it a draw(ing surface)

Diving in

Simple shapes

Canvas coordinates

Canvas coordinates diagram

Paths

Authors might prefer the former style for its terseness, or the latter style for its additional styling hooks. Which is best is purely an issue of preferred authoring style.

4.3.7 The hgroup element

(BUTTON) ✔MDN

[8385]Element/hgroup

Support in all current engines. Firefox4+Safari5+Chrome5+ __________________________________________________________________

Opera11.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android2.2+Samsung Internet?Opera Android11.1+

[8386]Categories: [8387]Flow content. [8388]Heading content. [8389]Palpable content.

[8390]Contexts in which this element can be used: Where [8391]heading content is expected.

[8392]Content model: Zero or more [8393]p elements, followed by one [8394]h1, [8395]h2, [8396]h3, [8397]h4, [8398]h5, or [8399]h6 element, followed by zero or more [8400]p elements, optionally intermixed with [8401]script-supporting elements.

[8402]Tag omission in text/html: Neither tag is omissible.

[8403]Content attributes: [8404]Global attributes

[8405]Accessibility considerations: [8406]For authors. [8407]For implementers.

[8408]DOM interface: Uses [8409]HTMLElement.

The [8410]hgroup element [8411]represents a heading and related content. The element may be used to group an [8412]h1–[8413]h6 element with one or more [8414]p elements containing content representing a subheading, alternative title, or tagline.

Here are some examples of valid headings contained within an [8415]hgroup element.

The reality dysfunction

Space is not the only void

Dr. Strangelove

Or: How I Learned to Stop Worrying and Love the Bomb

4.3.8 The header element

(BUTTON) ✔MDN

[8416]Element/header

Support in all current engines. Firefox4+Safari5+Chrome5+ __________________________________________________________________

Opera11.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11.1+

[8417]Categories: [8418]Flow content. [8419]Palpable content.

[8420]Contexts in which this element can be used: Where [8421]flow content is expected.

[8422]Content model: [8423]Flow content, but with no [8424]header or [8425]footer element descendants.

[8426]Tag omission in text/html: Neither tag is omissible.

[8427]Content attributes: [8428]Global attributes

[8429]Accessibility considerations: If there is an ancestor [8430]sectioning content element: [8431]for authors; [8432]for implementers. Otherwise: [8433]for authors; [8434]for implementers.

[8435]DOM interface: Uses [8436]HTMLElement.

The [8437]header element [8438]represents a group of introductory or navigational aids.

A [8439]header element is intended to usually contain a heading (an [8440]h1–[8441]h6 element or an [8442]hgroup element), but this is not required. The [8443]header element can also be used to wrap a section's table of contents, a search form, or any relevant logos.

Here are some sample headers. This first one is for a game:

Welcome to...

Voidwars!

The following snippet shows how the element can be used to mark up a specification's header:

Fullscreen API

Living Standard — Last Updated 19 October 2015

Participate:
GitHub whatwg/fullscreen
Commits:
GitHub whatwg/fulls creen/commits

The [8444]header element is not [8445]sectioning content; it doesn't introduce a new section.

In this example, the page has a page heading given by the [8446]h1 element, and two subsections whose headings are given by [8447]h2 elements. The content after the [8448]header element is still part of the last subsection started in the [8449]header element, because the [8450]header element doesn't take part in the [8451]outline algorithm.

Little Green Guys With Guns

Important News

To play todayʼs games you will need to update your client.

Games

You have three active games:

...

4.3.9 The footer element

(BUTTON) ✔MDN

[8452]Element/footer

Support in all current engines. Firefox4+Safari5+Chrome5+ __________________________________________________________________

Opera11.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11.1+

[8453]Categories: [8454]Flow content. [8455]Palpable content.

[8456]Contexts in which this element can be used: Where [8457]flow content is expected.

[8458]Content model: [8459]Flow content, but with no [8460]header or [8461]footer element descendants.

[8462]Tag omission in text/html: Neither tag is omissible.

[8463]Content attributes: [8464]Global attributes

[8465]Accessibility considerations: If there is an ancestor [8466]sectioning content element: [8467]for authors; [8468]for implementers. Otherwise: [8469]for authors; [8470]for implementers.

[8471]DOM interface: Uses [8472]HTMLElement.

The [8473]footer element [8474]represents a footer for its nearest ancestor [8475]sectioning content element, or for [8476]the body element if there is no such ancestor. A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like.

When the [8477]footer element contains entire sections, they [8478]represent appendices, indices, long colophons, verbose license agreements, and other such content.

Contact information for the author or editor of a section belongs in an [8479]address element, possibly itself inside a [8480]footer. Bylines and other information that could be suitable for both a [8481]header or a [8482]footer can be placed in either (or neither). The primary purpose of these elements is merely to help the author write self-explanatory markup that is easy to maintain and style; they are not intended to impose specific structures on authors.

Footers don't necessarily have to appear at the end of a section, though they usually do.

When there is no ancestor [8483]sectioning content element, then it applies to the whole page.

The [8484]footer element is not itself [8485]sectioning content; it doesn't introduce a new section.

Here is a page with two footers, one at the top and one at the bottom, with the same content:

Lorem ipsum

The ipsum of all lorems

A dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Here is an example which shows the [8486]footer element being used both for a site-wide footer and for a section footer. The Ramblings of a Scientist

The Ramblings of a Scientist

My Favorite Trains

I love my trains. My favorite train of all time is a Köf.

It is fun to see them pull some coal cars because they look so dwarfed in comparison.

Published

Some site designs have what is sometimes referred to as "fat footers" — footers that contain a lot of material, including images, links to other articles, links to pages for sending feedback, special offers... in some ways, a whole "front page" in the footer.

This fragment shows the bottom of a page on a site with a "fat footer": ...

Copyright © 2015 The Snacker — Terms of Service

4.3.10 The address element

(BUTTON) ✔MDN

[8487]Element/address

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

[8488]Categories: [8489]Flow content. [8490]Palpable content.

[8491]Contexts in which this element can be used: Where [8492]flow content is expected.

[8493]Content model: [8494]Flow content, but with no [8495]heading content descendants, no [8496]sectioning content descendants, and no [8497]header, [8498]footer, or [8499]address element descendants.

[8500]Tag omission in text/html: Neither tag is omissible.

[8501]Content attributes: [8502]Global attributes

[8503]Accessibility considerations: [8504]For authors. [8505]For implementers.

[8506]DOM interface: Uses [8507]HTMLElement.

The [8508]address element [8509]represents the contact information for its nearest [8510]article or [8511]body element ancestor. If that is [8512]the body element, then the contact information applies to the document as a whole.

For example, a page at the W3C web site related to HTML might include the following contact information:

Dave Raggett, Arnaud Le Hors, contact persons for the W3C HTML Activity

The [8513]address element must not be used to represent arbitrary addresses (e.g. postal addresses), unless those addresses are in fact the relevant contact information. (The [8514]p element is the appropriate element for marking up postal addresses in general.)

The [8515]address element must not contain information other than contact information.

For example, the following is non-conforming use of the [8516]address element:

Last Modified: 1999/12/24 23:37:50

Typically, the [8517]address element would be included along with other information in a [8518]footer element.

The contact information for a node node is a collection of [8519]address elements defined by the first applicable entry from the following list:

If node is an [8520]article element If node is a [8521]body element The contact information consists of all the [8522]address elements that have node as an ancestor and do not have another [8523]body or [8524]article element ancestor that is a descendant of node.

If node has an ancestor element that is an [8525]article element If node has an ancestor element that is a [8526]body element The contact information of node is the same as the contact information of the nearest [8527]article or [8528]body element ancestor, whichever is nearest.

If node's [8529]node document has [8530]a body element The contact information of node is the same as the contact information of [8531]the body element of the [8532]Document.

Otherwise There is no contact information for node.

User agents may expose the contact information of a node to the user, or use it for other purposes, such as indexing sections based on the sections' contact information.

In this example the footer contains contact information and a copyright notice.

For more details, contact John Smith.

© copyright 2038 Example Corp.

4.3.11 Headings and outlines

[8533]h1–[8534]h6 elements have a heading level, which is given by the number in the element's name.

These elements [8535]represent headings. The lower a [8536]heading's [8537]heading level is, the fewer ancestor sections the [8538]heading has.

The outline is all [8539]headings in a document, in [8540]tree order.

The [8541]outline should be used for generating document outlines, for example when generating tables of contents. When creating an interactive table of contents, entries should jump the user to the relevant [8542]heading.

If a document has one or more [8543]headings, at least a single [8544]heading within the [8545]outline should have a [8546]heading level of 1.

Each [8547]heading following another [8548]heading lead in the [8549]outline must have a [8550]heading level that is less than, equal to, or 1 greater than lead's [8551]heading level.

The following example is non-conforming:

Apples

Apples are fruit.

Taste

They taste lovely.

It could be written as follows and then it would be conforming:

Apples

Apples are fruit.

Taste

They taste lovely.

4.3.11.1 Sample outlines

The following markup fragment:

HTML: Living Standard

Last Updated 12 August 2016

Some intro to the document.

Table of contents

    ...

First section

Some intro to the first section.

...results in 3 document headings: 1.

HTML: Living Standard

2.

Table of contents

. 3.

First section

.

A rendered view of the [8552]outline might look like:

Top-level section with the heading "HTML: Living Standard" and two subsections; "Table of contents" and "First section".

First, here is a document, which is a book with very short chapters and subsections: The Tax Book (all in one page)

The Tax Book

Earning money

Earning money is good.

Getting a job

To earn money you typically need a job.

Spending money

Spending is what money is mainly used for.

Cheap things

Buying cheap things often not cost-effective.

Expensive things

The most expensive thing is often not the most cost-effective either.

Investing money

You can lend your money to other people.

Losing money

If you spend money or invest money, sooner or later you will lose money.

Poor judgement

Usually if you lose money itʼs because you made a mistake.

Its [8553]outline could be presented as follows: 1. The Tax Book 1. Earning money 1. Getting a job 2. Spending money 1. Cheap things 2. Expensive things 3. Investing money 4. Losing money 1. Poor judgement

Notice that the [8554]title element is not a [8555]heading.

A document can contain multiple top-level headings: Alphabetic Fruit

Apples

Pomaceous.

Bananas

Edible.

Carambola

Star.

The document's [8556]outline could be presented as follows: 1. Apples 2. Bananas 3. Carambola

[8557]header elements do not influence the [8558]outline of a document: Weʼre adopting a child! — Rayʼs blog

Rayʼs blog

Weʼre adopting a child!

As of today, Janine and I have signed the papers to become the proud parents of baby Diane! Weʼve been looking forward to this day for weeks.

The document's [8559]outline could be presented as follows: 1. Ray's blog 1. We're adopting a child! __________________________________________________________________

The following example is conforming, but not encouraged as it has no [8560]heading whose [8561]heading level is 1: Alphabetic Fruit

Apples

Pomaceous.

Bananas

Edible.

Carambola

Star.

The document's [8562]outline could be presented as follows: 1. 1. Apples 2. Bananas 3. Carambola

The following example is conforming, but not encouraged as the first [8563]heading's [8564]heading level is not 1: Feathers on The Site of Encyclopedic Knowledge

A plea from our caretakers

Please, we beg of you, send help! Weʼre stuck in the server room!

Feathers

Epidermal growths.

The document's [8565]outline could be presented as follows: 1. 1. A plea from our caretakers 2. Feathers

4.3.11.2 Exposing outlines to users

User agents are encouraged to expose page [8566]outlines to users to aid in navigation. This is especially true for non-visual media, e.g. screen readers.

For instance, a user agent could map the arrow keys as follows:

Shift + ← Left Go to previous heading

Shift + → Right Go to next heading

Shift + ↑ Up Go to next heading whose [8567]level is one less than the current heading's level

Shift + ↓ Down Go to next heading whose [8568]level is the same as the current heading's level

4.3.12 Usage summary

This section is non-normative.

Element Purpose Example [8569]body The contents of the document. Steve Hillʼs Home Page

Hard Trance is My Life.

[8570]article A complete, or self-contained, composition in a document, page, application, or site and that is, in principle, independently distributable or reusable, e.g. in syndication. This could be a forum post, a magazine or newspaper article, a blog entry, a user-submitted comment, an interactive widget or gadget, or any other independent item of content.

Yellow smiley face with the
 caption ʼmasifʼ

My fave Masif tee so far!

Posted 2 days ago

Happy 2nd birthday Masif Saturdays!!!

Posted 3 weeks ago

[8571]section A generic section of a document or application. A section, in this context, is a thematic grouping of content, typically with a heading.

Biography

The facts

1500+ shows, 14+ countries

2010/2011 figures per year

100+ shows, 8+ countries

[8572]nav A section of a page that links to other pages or to parts within the page: a section with navigation links.

[8573]aside A section of a page that consists of content that is tangentially related to the content around the [8574]aside element, and which could be considered separate from that content. Such sections are often represented as sidebars in printed typography.

Music

As any burner can tell you, the event has a lot of trance.

This year we played a kind of trance that originated in Belgium, Germany, and the Netherlands in the mid-90s.

[8575]h1–[8576]h6 A heading

The Guide To Music On The Playa

The Main Stage

If you want to play on a stage, you should bring one.

Amplified Music

Amplifiers up to 300W or 90dB are welcome.

[8577]hgroup A heading and related content. The element may be used to group an [8578]h1–[8579]h6 element with one or more [8580]p elements containing content representing a subheading, alternative title, or tagline.

Burning Music

The Guide To Music On The Playa

Main Stage

The Fiction Of A Music Festival

If you want to play on a stage, you should bring one.

Loudness!

Questions About Amplified Music

Amplifiers up to 300W or 90dB are welcome.

[8581]header A group of introductory or navigational aids.

Hard Trance is My Life

By DJ Steve Hill and Technikal

The album with the amusing punctuation has red artwork.

[8582]footer A footer for its nearest ancestor [8583]sectioning content element, or for [8584]the body element if there is no such ancestor. A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like.

Hard Trance is My Life

The album with the amusing punctuation has red artwork.

Artists: DJ Steve Hill and Technikal

4.3.12.1 Article or section?

This section is non-normative.

A [8585]section forms part of something else. An [8586]article is its own thing. But how does one know which is which? Mostly the real answer is "it depends on author intent".

For example, one could imagine a book with a "Granny Smith" chapter that just said "These juicy, green apples make a great filling for apple pies."; that would be a [8587]section because there'd be lots of other chapters on (maybe) other kinds of apples.

On the other hand, one could imagine a tweet or reddit comment or tumblr post or newspaper classified ad that just said "Granny Smith. These juicy, green apples make a great filling for apple pies."; it would then be [8588]articles because that was the whole thing.

A comment on an article is not part of the [8589]article on which it is commenting, therefore it is its own [8590]article.

4.4 Grouping content

4.4.1 The p element

(BUTTON) ✔MDN

[8591]Element/p

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

(BUTTON) ✔MDN

[8592]HTMLParagraphElement

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[8593]Categories: [8594]Flow content. [8595]Palpable content.

[8596]Contexts in which this element can be used: Where [8597]flow content is expected.

[8598]Content model: [8599]Phrasing content.

[8600]Tag omission in text/html: A [8601]p element's [8602]end tag can be omitted if the [8603]p element is immediately followed by an [8604]address, [8605]article, [8606]aside, [8607]blockquote, [8608]details, [8609]dialog, [8610]div, [8611]dl, [8612]fieldset, [8613]figcaption, [8614]figure, [8615]footer, [8616]form, [8617]h1, [8618]h2, [8619]h3, [8620]h4, [8621]h5, [8622]h6, [8623]header, [8624]hgroup, [8625]hr, [8626]main, [8627]menu, [8628]nav, [8629]ol, [8630]p, [8631]pre, [8632]search, [8633]section, [8634]table, or [8635]ul element, or if there is no more content in the parent element and the parent element is an [8636]HTML element that is not an [8637]a, [8638]audio, [8639]del, [8640]ins, [8641]map, [8642]noscript, or [8643]video element, or an [8644]autonomous custom element.

[8645]Content attributes: [8646]Global attributes

[8647]Accessibility considerations: [8648]For authors. [8649]For implementers.

[8650]DOM interface:

[Exposed=Window] interface HTMLParagraphElement : [8651]HTMLElement { [[8652]HTMLConstructor] constructor();

// [8653]also has obsolete members };

The [8654]p element [8655]represents a [8656]paragraph.

While paragraphs are usually represented in visual media by blocks of text that are physically separated from adjacent blocks through blank lines, a style sheet or user agent would be equally justified in presenting paragraph breaks in a different manner, for instance using inline pilcrows (¶).

The following examples are conforming HTML fragments:

The little kitten gently seated herself on a piece of carpet. Later in her life, this would be referred to as the time the cat sat on the mat.

Personal information

There was once an example from Femley,
Whose markup was of dubious quality.
The validator complained,
So the author was pained,
To move the error from the markup to the rhyming.

The [8657]p element should not be used when a more specific element is more appropriate.

The following example is technically correct:

Last modified: 2001-04-23

Author: fred@example.com

However, it would be better marked-up as:

Last modified: 2001-04-23
Author: fred@example.com

Or:

Last modified: 2001-04-23

Author: fred@example.com

List elements (in particular, [8658]ol and [8659]ul elements) cannot be children of [8660]p elements. When a sentence contains a bulleted list, therefore, one might wonder how it should be marked up.

For instance, this fantastic sentence has bullets relating to * wizards, * faster-than-light travel, and * telepathy,

and is further discussed below.

The solution is to realize that a [8661]paragraph, in HTML terms, is not a logical concept, but a structural one. In the fantastic example above, there are actually five [8662]paragraphs as defined by this specification: one before the list, one for each bullet, and one after the list.

The markup for the above example could therefore be:

For instance, this fantastic sentence has bullets relating to

  • wizards,
  • faster-than-light travel, and
  • telepathy,

and is further discussed below.

Authors wishing to conveniently style such "logical" paragraphs consisting of multiple "structural" paragraphs can use the [8663]div element instead of the [8664]p element.

Thus for instance the above example could become the following:

For instance, this fantastic sentence has bullets relating to
  • wizards,
  • faster-than-light travel, and
  • telepathy,
and is further discussed below.

This example still has five structural paragraphs, but now the author can style just the [8665]div instead of having to consider each part of the example separately.

4.4.2 The hr element

(BUTTON) ✔MDN

[8666]Element/hr

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

(BUTTON) ✔MDN

[8667]HTMLHRElement

Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[8668]Categories: [8669]Flow content.

[8670]Contexts in which this element can be used: Where [8671]flow content is expected. As a child of a [8672]select element.

[8673]Content model: [8674]Nothing.

[8675]Tag omission in text/html: No [8676]end tag.

[8677]Content attributes: [8678]Global attributes

[8679]Accessibility considerations: [8680]For authors. [8681]For implementers.

[8682]DOM interface:

[Exposed=Window] interface HTMLHRElement : [8683]HTMLElement { [[8684]HTMLConstructor] constructor();

// [8685]also has obsolete members };

The [8686]hr element [8687]represents a [8688]paragraph-level thematic break, e.g., a scene change in a story, or a transition to another topic within a section of a reference book; alternatively, it represents a separator between a set of options of a [8689]select element.

The following fictional extract from a project manual shows two sections that use the [8690]hr element to separate topics within the section.

Communication

There are various methods of communication. This section covers a few of the important ones used by the project.


Communication stones seem to come in pairs and have mysterious properties:

  • They can transfer thoughts in two directions once activated if used alone.
  • If used with another device, they can transfer oneʼs consciousness to another body.
  • If both stones are used with another device, the consciousnesses switch bodies.

Radios use the electromagnetic spectrum in the meter range and longer.


Signal flares use the electromagnetic spectrum in the nanometer range.

Food

All food at the project is rationed:

Potatoes
Two per day
Soup
One bowl per day

Cooking is done by the chefs on a set rotation.

There is no need for an [8691]hr element between the sections themselves, since the [8692]section elements and the [8693]h1 elements imply thematic changes themselves.

The following extract from Pandora's Star by Peter F. Hamilton shows two paragraphs that precede a scene change and the paragraph that follows it. The scene change, represented in the printed book by a gap containing a solitary centered star between the second and third paragraphs, is here represented using the [8694]hr element.

Dudley was ninety-two, in his second life, and fast approaching time for another rejuvenation. Despite his body having the physical age of a standard fifty-year-old, the prospect of a long degrading campaign within academia was one he regarded with dread. For a supposedly advanced civilization, the Intersolar Commonwealth could be appallingly backward at times, not to mention cruel.

Maybe it wonʼt be that bad, he told himself. The lie was comforting enough to get him through the rest of the nightʼs shift.


The Carlton AllLander drove Dudley home just after dawn. Like the astronomer, the vehicle was old and worn, but perfectly capable of doing its job. It had a cheap diesel engine, common enough on a semi-frontier world like Gralmond, although its drive array was a thoroughly modern photoneural processor. With its high suspension and deep-tread tyres it could plough along the dirt track to the observatory in all weather and seasons, including the metre-deep snow of Gralmondʼs winters.

The [8695]hr element does not affect the document's [8696]outline.

4.4.3 The pre element

(BUTTON) ✔MDN

[8697]Element/pre

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

(BUTTON) ✔MDN

[8698]HTMLPreElement

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer6+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[8699]Categories: [8700]Flow content. [8701]Palpable content.

[8702]Contexts in which this element can be used: Where [8703]flow content is expected.

[8704]Content model: [8705]Phrasing content.

[8706]Tag omission in text/html: Neither tag is omissible.

[8707]Content attributes: [8708]Global attributes

[8709]Accessibility considerations: [8710]For authors. [8711]For implementers.

[8712]DOM interface:

[Exposed=Window] interface HTMLPreElement : [8713]HTMLElement { [[8714]HTMLConstructor] constructor();

// [8715]also has obsolete members };

The [8716]pre element [8717]represents a block of preformatted text, in which structure is represented by typographic conventions rather than by elements.

In [8718]the HTML syntax, a leading newline character immediately following the [8719]pre element start tag is stripped.

Some examples of cases where the [8720]pre element could be used: * Including an email, with paragraphs indicated by blank lines, lists indicated by lines prefixed with a bullet, and so on. * Including fragments of computer code, with structure indicated according to the conventions of that language. * Displaying ASCII art.

Authors are encouraged to consider how preformatted text will be experienced when the formatting is lost, as will be the case for users of speech synthesizers, braille displays, and the like. For cases like ASCII art, it is likely that an alternative presentation, such as a textual description, would be more universally accessible to the readers of the document.

To represent a block of computer code, the [8721]pre element can be used with a [8722]code element; to represent a block of computer output the [8723]pre element can be used with a [8724]samp element. Similarly, the [8725]kbd element can be used within a [8726]pre element to indicate text that the user is to enter.

This element [8727]has rendering requirements involving the bidirectional algorithm.

In the following snippet, a sample of computer code is presented.

This is the Panel constructor:

function Panel(element, canClose, closeHandler) {
  this.element = element;
  this.canClose = canClose;
  this.closeHandler = function () { if (closeHandler) closeHandler() };
}

In the following snippet, [8728]samp and [8729]kbd elements are mixed in the contents of a [8730]pre element to show a session of Zork I.

You are in an open field west of a big white house with a boarded
front door.
There is a small mailbox here.

> open mailbox

Opening the mailbox reveals: A leaflet.

>

The following shows a contemporary poem that uses the [8731]pre element to preserve its unusual formatting, which forms an intrinsic part of the poem itself.

                maxling

it is with a heart heavy

that i admit loss of a feline so loved

a friend lost to the unknown (night)

~cdr 11dec07

4.4.4 The blockquote element

(BUTTON) ✔MDN

[8732]Element/blockquote

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

(BUTTON) ✔MDN

[8733]HTMLQuoteElement

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer6+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

[8734]Categories: [8735]Flow content. [8736]Palpable content.

[8737]Contexts in which this element can be used: Where [8738]flow content is expected.

[8739]Content model: [8740]Flow content.

[8741]Tag omission in text/html: Neither tag is omissible.

[8742]Content attributes: [8743]Global attributes [8744]cite — Link to the source of the quotation or more information about the edit

[8745]Accessibility considerations: [8746]For authors. [8747]For implementers.

[8748]DOM interface:

[Exposed=Window] interface HTMLQuoteElement : [8749]HTMLElement { [[8750]HTMLConstructor] constructor();

[[8751]CEReactions] attribute USVString [8752]cite; };

The [8753]HTMLQuoteElement interface is also used by the [8754]q element.

The [8755]blockquote element [8756]represents a section that is quoted from another source.

Content inside a [8757]blockquote must be quoted from another source, whose address, if it has one, may be cited in the cite attribute.

If the [8758]cite attribute is present, it must be a [8759]valid URL potentially surrounded by spaces. To obtain the corresponding citation link, the value of the attribute must be [8760]parsed relative to the element's [8761]node document. User agents may allow users to follow such citation links, but they are primarily intended for private use (e.g., by server-side scripts collecting statistics about a site's use of quotations), not for readers.

The content of a [8762]blockquote may be abbreviated or may have context added in the conventional manner for the text's language.

For example, in English this is traditionally done using square brackets. Consider a page with the sentence "Jane ate the cracker. She then said she liked apples and fish."; it could be quoted as follows:

[Jane] then said she liked [...] fish.

Attribution for the quotation, if any, must be placed outside the [8763]blockquote element.

For example, here the attribution is given in a paragraph after the quote:

I contend that we are both atheists. I just believe in one fewer god than you do. When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours.

— Stephen Roberts

The other examples below show other ways of showing attribution.

The cite IDL attribute must [8764]reflect the element's cite content attribute.

Here a [8765]blockquote element is used in conjunction with a [8766]figure element and its [8767]figcaption to clearly relate a quote to its attribution (which is not part of the quote and therefore doesn't belong inside the [8768]blockquote itself):

The truth may be puzzling. It may take some work to grapple with. It may be counterintuitive. It may contradict deeply held prejudices. It may not be consonant with what we desperately want to be true. But our preferences do not determine whatʼs true. We have a method, and that method helps us to reach not absolute truth, only asymptotic approaches to the truth — never there, just closer and closer, always finding vast new oceans of undiscovered possibilities. Cleverly designed experiments are the key.

Carl Sagan, in "Wonder and Skepticism", from the Skeptical Inquirer Volume 19, Issue 1 (January-February 1995)

This next example shows the use of [8769]cite alongside [8770]blockquote:

His next piece was the aptly named Sonnet 130:

My mistressʼ eyes are nothing like the sun,
Coral is far more red, than her lips red,
...

This example shows how a forum post could use [8771]blockquote to show what post a user is replying to. The [8772]article element is used for each post, to mark up the threading.

Bacon on a crowbar

t3yw 12 points 1 hour ago

I bet a narwhal would love that.

greg 8 points 1 hour ago

I bet a narwhal would love that.

Dude narwhals donʼt eat bacon.

t3yw 15 points 1 hour ago

I bet a narwhal would love that.

Dude narwhals donʼt eat bacon.

Next thing youʼll be saying they donʼt get capes and wizard hats either!

boing -5 points 1 hour ago

narwhals are worse than ceiling cat

fred 1 points 23 minutes ago

I bet a narwhal would love that.

I bet theyʼd love to peel a banana too.

This example shows the use of a [8773]blockquote for short snippets, demonstrating that one does not have to use [8774]p elements inside [8775]blockquote elements:

He began his list of "lessons" with the following:

One should never assume that his side of the issue will be recognized, let alone that it will be conceded to have merits.

He continued with a number of similar points, ending with:

Finally, one should be prepared for the threat of breakdown in negotiations at any given moment and not be cowed by the possibility.

We shall now discuss these points...

[8776]Examples of how to represent a conversation are shown in a later section; it is not appropriate to use the [8777]cite and [8778]blockquote elements for this purpose.

4.4.5 The ol element

(BUTTON) ✔MDN

[8779]Element/ol

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

(BUTTON) ✔MDN

[8780]HTMLOListElement

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[8781]Categories: [8782]Flow content. If the element's children include at least one [8783]li element: [8784]Palpable content.

[8785]Contexts in which this element can be used: Where [8786]flow content is expected.

[8787]Content model: Zero or more [8788]li and [8789]script-supporting elements.

[8790]Tag omission in text/html: Neither tag is omissible.

[8791]Content attributes: [8792]Global attributes [8793]reversed — Number the list backwards [8794]start — [8795]Starting value of the list [8796]type — Kind of list marker

[8797]Accessibility considerations: [8798]For authors. [8799]For implementers.

[8800]DOM interface:

[Exposed=Window] interface HTMLOListElement : [8801]HTMLElement { [[8802]HTMLConstructor] constructor();

[[8803]CEReactions] attribute boolean [8804]reversed; [[8805]CEReactions] attribute long [8806]start; [[8807]CEReactions] attribute DOMString [8808]type;

// [8809]also has obsolete members };

The [8810]ol element [8811]represents a list of items, where the items have been intentionally ordered, such that changing the order would change the meaning of the document.

The items of the list are the [8812]li element child nodes of the [8813]ol element, in [8814]tree order.

(BUTTON) ✔MDN

[8815]Element/ol#attr-reversed

Support in all current engines. Firefox18+Safari6+Chrome18+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)≤79+Internet ExplorerNo __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The reversed attribute is a [8816]boolean attribute. If present, it indicates that the list is a descending list (..., 3, 2, 1). If the attribute is omitted, the list is an ascending list (1, 2, 3, ...).

The start attribute, if present, must be a [8817]valid integer. It is used to determine the [8818]starting value of the list.

An [8819]ol element has a starting value, which is an integer determined as follows: 1. If the [8820]ol element has a [8821]start attribute, then: 1. Let parsed be the result of [8822]parsing the value of the attribute as an integer. 2. If parsed is not an error, then return parsed. 2. If the [8823]ol element has a [8824]reversed attribute, then return the number of [8825]owned li elements. 3. Return 1.

The type attribute can be used to specify the kind of marker to use in the list, in the cases where that matters (e.g. because items are to be [8826]referenced by their number/letter). The attribute, if specified, must have a value that is [8827]identical to one of the characters given in the first cell of one of the rows of the following table. The [8828]type attribute represents the state given in the cell in the second column of the row whose first cell matches the attribute's value; if none of the cells match, or if the attribute is omitted, then the attribute represents the [8829]decimal state.

Keyword State Description Examples for values 1-3 and 3999-4001 1 (U+0031) decimal Decimal numbers 1. 2. 3. ... 3999. 4000. 4001. ... a (U+0061) lower-alpha Lowercase latin alphabet a. b. c. ... ewu. ewv. eww. ... A (U+0041) upper-alpha Uppercase latin alphabet A. B. C. ... EWU. EWV. EWW. ... i (U+0069) lower-roman Lowercase roman numerals i. ii. iii. ... mmmcmxcix. i̅v̅. i̅v̅i. ... I (U+0049) upper-roman Uppercase roman numerals I. II. III. ... MMMCMXCIX. I̅V̅. I̅V̅I. ...

User agents should render the items of the list in a manner consistent with the state of the [8830]type attribute of the [8831]ol element. Numbers less than or equal to zero should always use the decimal system regardless of the [8832]type attribute.

For CSS user agents, a mapping for this attribute to the [8833]'list-style-type' CSS property is given [8834]in the Rendering section (the mapping is straightforward: the states above have the same names as their corresponding CSS values).

It is possible to redefine the default CSS list styles used to implement this attribute in CSS user agents; doing so will affect how list items are rendered.

The reversed and type IDL attributes must [8835]reflect the respective content attributes of the same name.

The start IDL attribute must [8836]reflect the content attribute of the same name, with a [8837]default value of 1.

This means that the [8838]start IDL attribute does not necessarily match the list's [8839]starting value, in cases where the [8840]start content attribute is omitted and the [8841]reversed content attribute is specified.

The following markup shows a list where the order matters, and where the [8842]ol element is therefore appropriate. Compare this list to the equivalent list in the [8843]ul section to see an example of the same items using the [8844]ul element.

I have lived in the following countries (given in the order of when I first lived there):

  1. Switzerland
  2. United Kingdom
  3. United States
  4. Norway

Note how changing the order of the list changes the meaning of the document. In the following example, changing the relative order of the first two items has changed the birthplace of the author:

I have lived in the following countries (given in the order of when I first lived there):

  1. United Kingdom
  2. Switzerland
  3. United States
  4. Norway

4.4.6 The ul element

(BUTTON) ✔MDN

[8845]Element/ul

Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

Opera?Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

(BUTTON) ✔MDN

[8846]HTMLUListElement

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[8847]Categories: [8848]Flow content. If the element's children include at least one [8849]li element: [8850]Palpable content.

[8851]Contexts in which this element can be used: Where [8852]flow content is expected.

[8853]Content model: Zero or more [8854]li and [8855]script-supporting elements.

[8856]Tag omission in text/html: Neither tag is omissible.

[8857]Content attributes: [8858]Global attributes

[8859]Accessibility considerations: [8860]For authors. [8861]For implementers.

[8862]DOM interface:

[Exposed=Window] interface HTMLUListElement : [8863]HTMLElement { [[8864]HTMLConstructor] constructor();

// [8865]also has obsolete members };

The [8866]ul element [8867]represents a list of items, where the order of the items is not important — that is, where changing the order would not materially change the meaning of the document.

The items of the list are the [8868]li element child nodes of the [8869]ul element.

The following markup shows a list where the order does not matter, and where the [8870]ul element is therefore appropriate. Compare this list to the equivalent list in the [8871]ol section to see an example of the same items using the [8872]ol element.

I have lived in the following countries:

  • Norway
  • Switzerland
  • United Kingdom
  • United States

Note that changing the order of the list does not change the meaning of the document. The items in the snippet above are given in alphabetical order, but in the snippet below they are given in order of the size of their current account balance in 2007, without changing the meaning of the document whatsoever:

I have lived in the following countries:

  • Switzerland
  • Norway
  • United Kingdom
  • United States

4.4.7 The menu element

(BUTTON) ✔MDN

[8873]Element/menu

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer6+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

(BUTTON) ✔MDN

[8874]HTMLMenuElement

Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

Opera12.1+Edge79+ __________________________________________________________________

Edge (Legacy)12+Internet Explorer6+ __________________________________________________________________

Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

[8875]Categories: [8876]Flow content. If the element's children include at least one [8877]li element: [8878]Palpable content.

[8879]Contexts in which this element can be used: Where [8880]flow content is expected.

[8881]Content model: Zero or more [8882]li and [8883]script-supporting elements.

[8884]Tag omission in text/html: Neither tag is omissible.

[8885]Content attributes: [8886]Global attributes

[8887]Accessibility considerations: [8888]For authors. [8889]For implementers.

[8890]DOM interface:

[Exposed=Window] interface HTMLMenuElement : [8891]HTMLElement { [[8892]HTMLConstructor] constructor();

// [8893]also has obsolete members };

The [8894]menu element [8895]represents a toolbar consisting of its contents, in the form of an unordered list of items (represented by [8896]li elements), each of which represents a command that the user can perform or activate.

The [8897]menu element is simply a semantic alternative to [8898]ul to express an unordered list of commands (a "toolbar").

In this example, a text-editing application uses a [8899]menu element to provide a series of editing commands:

  • Note that the styling to make this look like a conventional toolbar menu is up to the application.

    4.4.8 The li element

    (BUTTON) ✔MDN

    [8900]Element/li

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    (BUTTON) ✔MDN

    [8901]HTMLLIElement

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [8902]Categories: None.

    [8903]Contexts in which this element can be used: Inside [8904]ol elements. Inside [8905]ul elements. Inside [8906]menu elements.

    [8907]Content model: [8908]Flow content.

    [8909]Tag omission in text/html: An [8910]li element's [8911]end tag can be omitted if the [8912]li element is immediately followed by another [8913]li element or if there is no more content in the parent element.

    [8914]Content attributes: [8915]Global attributes If the element is not a child of an [8916]ul or [8917]menu element: [8918]value — [8919]Ordinal value of the list item

    [8920]Accessibility considerations: [8921]For authors. [8922]For implementers.

    [8923]DOM interface:

    [Exposed=Window] interface HTMLLIElement : [8924]HTMLElement { [[8925]HTMLConstructor] constructor();

    [[8926]CEReactions] attribute long [8927]value;

    // [8928]also has obsolete members };

    The [8929]li element [8930]represents a list item. If its parent element is an [8931]ol, [8932]ul, or [8933]menu element, then the element is an item of the parent element's list, as defined for those elements. Otherwise, the list item has no defined list-related relationship to any other [8934]li element.

    The value attribute, if present, must be a [8935]valid integer. It is used to determine the [8936]ordinal value of the list item, when the [8937]li's [8938]list owner is an [8939]ol element. __________________________________________________________________

    Any element whose [8940]computed value of [8941]'display' is 'list-item' has a list owner, which is determined as follows: 1. If the element is not [8942]being rendered, return null; the element has no [8943]list owner. 2. Let ancestor be the element's parent. 3. If the element has an [8944]ol, [8945]ul, or [8946]menu ancestor, set ancestor to the closest such ancestor element. 4. Return the closest inclusive ancestor of ancestor that produces a [8947]CSS box. Such an element will always exist, as at the very least the [8948]document element will always produce a [8949]CSS box.

    To determine the ordinal value of each element owned by a given [8950]list owner owner, perform the following steps: 1. Let i be 1. 2. If owner is an [8951]ol element, let numbering be owner's [8952]starting value. Otherwise, let numbering be 1. 3. Loop: If i is greater than the number of [8953]list items that owner owns, then return; all of owner's [8954]owned list items have been assigned [8955]ordinal values. 4. Let item be the ith of owner's [8956]owned list items, in [8957]tree order. 5. If item is an [8958]li element that has a [8959]value attribute, then: 1. Let parsed be the result of [8960]parsing the value of the attribute as an integer. 2. If parsed is not an error, then set numbering to parsed. 6. The [8961]ordinal value of item is numbering. 7. If owner is an [8962]ol element, and owner has a [8963]reversed attribute, decrement numbering by 1; otherwise, increment numbering by 1. 8. Increment i by 1. 9. Go to the step labeled loop. __________________________________________________________________

    The value IDL attribute must [8964]reflect the value of the [8965]value content attribute.

    The element's [8966]value IDL attribute does not directly correspond to its [8967]ordinal value; it simply [8968]reflects the content attribute. For example, given this list:

    1. Item 1
    2. Item 3
    3. Item 4

    The [8969]ordinal values are 1, 3, and 4, whereas the [8970]value IDL attributes return 0, 3, 0 on getting.

    The following example, the top ten movies are listed (in reverse order). Note the way the list is given a title by using a [8971]figure element and its [8972]figcaption element.

    The top 10 movies of all time
    1. Josie and the Pussycats, 2001
    2. Црна мачка, бели мачор, 1998
    3. A Bugʼs Life, 1998
    4. Toy Story, 1995
    5. Monsters, Inc, 2001
    6. Cars, 2006
    7. Toy Story 2, 1999
    8. Finding Nemo, 2003
    9. The Incredibles, 2004
    10. Ratatouille, 2007

    The markup could also be written as follows, using the [8973]reversed attribute on the [8974]ol element:

    The top 10 movies of all time
    1. Josie and the Pussycats, 2001
    2. Црна мачка, бели мачор, 1998
    3. A Bugʼs Life, 1998
    4. Toy Story, 1995
    5. Monsters, Inc, 2001
    6. Cars, 2006
    7. Toy Story 2, 1999
    8. Finding Nemo, 2003
    9. The Incredibles, 2004
    10. Ratatouille, 2007

    While it is conforming to include heading elements (e.g. [8975]h1) inside [8976]li elements, it likely does not convey the semantics that the author intended. A heading starts a new section, so a heading in a list implicitly splits the list into spanning multiple sections.

    4.4.9 The dl element

    (BUTTON) ✔MDN

    [8977]Element/dl

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    (BUTTON) ✔MDN

    [8978]HTMLDListElement

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [8979]Categories: [8980]Flow content. If the element's children include at least one name-value group: [8981]Palpable content.

    [8982]Contexts in which this element can be used: Where [8983]flow content is expected.

    [8984]Content model: Either: Zero or more groups each consisting of one or more [8985]dt elements followed by one or more [8986]dd elements, optionally intermixed with [8987]script-supporting elements. Or: One or more [8988]div elements, optionally intermixed with [8989]script-supporting elements.

    [8990]Tag omission in text/html: Neither tag is omissible.

    [8991]Content attributes: [8992]Global attributes

    [8993]Accessibility considerations: [8994]For authors. [8995]For implementers.

    [8996]DOM interface:

    [Exposed=Window] interface HTMLDListElement : [8997]HTMLElement { [[8998]HTMLConstructor] constructor();

    // [8999]also has obsolete members };

    The [9000]dl element [9001]represents an association list consisting of zero or more name-value groups (a description list). A name-value group consists of one or more names ([9002]dt elements, possibly as children of a [9003]div element child) followed by one or more values ([9004]dd elements, possibly as children of a [9005]div element child), ignoring any nodes other than [9006]dt and [9007]dd element children, and [9008]dt and [9009]dd elements that are children of [9010]div element children. Within a single [9011]dl element, there should not be more than one [9012]dt element for each name.

    Name-value groups may be terms and definitions, metadata topics and values, questions and answers, or any other groups of name-value data.

    The values within a group are alternatives; multiple paragraphs forming part of the same value must all be given within the same [9013]dd element.

    The order of the list of groups, and of the names and values within each group, may be significant.

    In order to annotate groups with [9014]microdata attributes, or other [9015]global attributes that apply to whole groups, or just for styling purposes, each group in a [9016]dl element can be wrapped in a [9017]div element. This does not change the semantics of the [9018]dl element.

    The name-value groups of a [9019]dl element dl are determined using the following algorithm. A name-value group has a name (a list of [9020]dt elements, initially empty) and a value (a list of [9021]dd elements, initially empty). 1. Let groups be an empty list of name-value groups. 2. Let current be a new name-value group. 3. Let seenDd be false. 4. Let child be dl's [9022]first child. 5. Let grandchild be null. 6. While child is not null: 1. If child is a [9023]div element, then: 1. Let grandchild be child's [9024]first child. 2. While grandchild is not null: 1. [9025]Process dt or dd for grandchild. 2. Set grandchild to grandchild's [9026]next sibling. 2. Otherwise, [9027]process dt or dd for child. 3. Set child to child's [9028]next sibling. 7. If current is not empty, then append current to groups. 8. Return groups.

    To process dt or dd for a node node means to follow these steps: 1. Let groups, current, and seenDd be the same variables as those of the same name in the algorithm that invoked these steps. 2. If node is a [9029]dt element, then: 1. If seenDd is true, then append current to groups, set current to a new name-value group, and set seenDd to false. 2. Append node to current's name. 3. Otherwise, if node is a [9030]dd element, then append node to current's value and set seenDd to true.

    When a name-value group has an empty list as name or value, it is often due to accidentally using [9031]dd elements in the place of [9032]dt elements and vice versa. Conformance checkers can spot such mistakes and might be able to advise authors how to correctly use the markup.

    In the following example, one entry ("Authors") is linked to two values ("John" and "Luke").

    Authors
    John
    Luke
    Editor
    Frank

    In the following example, one definition is linked to two terms.

    color
    colour
    A sensation which (in humans) derives from the ability of the fine structure of the eye to distinguish three differently filtered analyses of a view.

    The following example illustrates the use of the [9033]dl element to mark up metadata of sorts. At the end of the example, one group has two metadata labels ("Authors" and "Editors") and two values ("Robert Rothman" and "Daniel Jackson"). This example also uses the [9034]div element around the groups of [9035]dt and [9036]dd element, to aid with styling.

    Last modified time
    2004-12-23T23:33Z
    Recommended update interval
    60s
    Authors
    Editors
    Robert Rothman
    Daniel Jackson

    The following example shows the [9037]dl element used to give a set of instructions. The order of the instructions here is important (in the other examples, the order of the blocks was not important).

    Determine the victory points as follows (use the first matching case):

    If you have exactly five gold coins
    You get five victory points
    If you have one or more gold coins, and you have one or more silver coins
    You get two victory points
    If you have one or more silver coins
    You get one victory point
    Otherwise
    You get no victory points

    The following snippet shows a [9038]dl element being used as a glossary. Note the use of [9039]dfn to indicate the word being defined.

    Apartment, n.
    An execution context grouping one or more threads with one or more COM objects.
    Flat, n.
    A deflated tire.
    Home, n.
    The userʼs login directory.

    This example uses [9040]microdata attributes in a [9041]dl element, together with the [9042]div element, to annotate the ice cream desserts at a French restaurant.

    Café ou Chocolat Liégeois
    3.50
    2 boules Café ou Chocolat, 1 boule Vanille, sauce café ou chocolat, chantilly

    Américaine
    3.50
    1 boule Crème brûlée, 1 boule Vanille, 1 boule Caramel, chantilly

    Without the [9043]div element the markup would need to use the [9044]itemref attribute to link the data in the [9045]dd elements with the item, as follows.

    Café ou Chocolat Liégeois
    3.50
    2 boules Café ou Chocolat, 1 boule Vanille, sauce café ou chocolat, chantilly

    Américaine
    3.50
    1 boule Crème brûlée, 1 boule Vanille, 1 boule Caramel, chantilly

    The [9046]dl element is inappropriate for marking up dialogue. See some [9047]examples of how to mark up dialogue.

    4.4.10 The dt element

    (BUTTON) ✔MDN

    [9048]Element/dt

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9049]Categories: None.

    [9050]Contexts in which this element can be used: Before [9051]dd or [9052]dt elements inside [9053]dl elements. Before [9054]dd or [9055]dt elements inside [9056]div elements that are children of a [9057]dl element.

    [9058]Content model: [9059]Flow content, but with no [9060]header, [9061]footer, [9062]sectioning content, or [9063]heading content descendants.

    [9064]Tag omission in text/html: A [9065]dt element's [9066]end tag can be omitted if the [9067]dt element is immediately followed by another [9068]dt element or a [9069]dd element.

    [9070]Content attributes: [9071]Global attributes

    [9072]Accessibility considerations: [9073]For authors. [9074]For implementers.

    [9075]DOM interface: Uses [9076]HTMLElement.

    The [9077]dt element [9078]represents the term, or name, part of a term-description group in a description list ([9079]dl element).

    The [9080]dt element itself, when used in a [9081]dl element, does not indicate that its contents are a term being defined, but this can be indicated using the [9082]dfn element.

    This example shows a list of frequently asked questions (a FAQ) marked up using the [9083]dt element for questions and the [9084]dd element for answers.

    FAQ

    What do we want?
    Our data.
    When do we want it?
    Now.
    Where is it?
    We are not sure.

    4.4.11 The dd element

    (BUTTON) ✔MDN

    [9085]Element/dd

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android4+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9086]Categories: None.

    [9087]Contexts in which this element can be used: After [9088]dt or [9089]dd elements inside [9090]dl elements. After [9091]dt or [9092]dd elements inside [9093]div elements that are children of a [9094]dl element.

    [9095]Content model: [9096]Flow content.

    [9097]Tag omission in text/html: A [9098]dd element's [9099]end tag can be omitted if the [9100]dd element is immediately followed by another [9101]dd element or a [9102]dt element, or if there is no more content in the parent element.

    [9103]Content attributes: [9104]Global attributes

    [9105]Accessibility considerations: [9106]For authors. [9107]For implementers.

    [9108]DOM interface: Uses [9109]HTMLElement.

    The [9110]dd element [9111]represents the description, definition, or value, part of a term-description group in a description list ([9112]dl element).

    A [9113]dl can be used to define a vocabulary list, like in a dictionary. In the following example, each entry, given by a [9114]dt with a [9115]dfn, has several [9116]dds, showing the various parts of the definition.

    happiness
    /ˈhæpinəs/
    n.
    The state of being happy.
    Good fortune; success. Oh happiness! It worked!
    rejoice
    /rɪˈdʒɔɪs/
    v.intr. To be delighted oneself.
    v.tr. To cause one to be delight ed.

    4.4.12 The figure element

    (BUTTON) ✔MDN

    [9117]Element/figure

    Support in all current engines. Firefox4+Safari5.1+Chrome8+ __________________________________________________________________

    Opera11+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+

    [9118]Categories: [9119]Flow content. [9120]Palpable content.

    [9121]Contexts in which this element can be used: Where [9122]flow content is expected.

    [9123]Content model: Either: one [9124]figcaption element followed by [9125]flow content. Or: [9126]flow content followed by one [9127]figcaption element. Or: [9128]flow content.

    [9129]Tag omission in text/html: Neither tag is omissible.

    [9130]Content attributes: [9131]Global attributes

    [9132]Accessibility considerations: [9133]For authors. [9134]For implementers.

    [9135]DOM interface: Uses [9136]HTMLElement.

    The [9137]figure element [9138]represents some [9139]flow content, optionally with a caption, that is self-contained (like a complete sentence) and is typically [9140]referenced as a single unit from the main flow of the document.

    "Self-contained" in this context does not necessarily mean independent. For example, each sentence in a paragraph is self-contained; an image that is part of a sentence would be inappropriate for [9141]figure, but an entire sentence made of images would be fitting.

    The element can thus be used to annotate illustrations, diagrams, photos, code listings, etc.

    When a [9142]figure is referred to from the main content of the document by identifying it by its caption (e.g., by figure number), it enables such content to be easily moved away from that primary content, e.g., to the side of the page, to dedicated pages, or to an appendix, without affecting the flow of the document.

    If a [9143]figure element is [9144]referenced by its relative position, e.g., "in the photograph above" or "as the next figure shows", then moving the figure would disrupt the page's meaning. Authors are encouraged to consider using labels to refer to figures, rather than using such relative references, so that the page can easily be restyled without affecting the page's meaning.

    The first [9145]figcaption element child of the element, if any, represents the caption of the [9146]figure element's contents. If there is no child [9147]figcaption element, then there is no caption.

    A [9148]figure element's contents are part of the surrounding flow. If the purpose of the page is to display the figure, for example a photograph on an image sharing site, the [9149]figure and [9150]figcaption elements can be used to explicitly provide a caption for that figure. For content that is only tangentially related, or that serves a separate purpose than the surrounding flow, the [9151]aside element should be used (and can itself wrap a [9152]figure). For example, a pull quote that repeats content from an [9153]article would be more appropriate in an [9154]aside than in a [9155]figure, because it isn't part of the content, it's a repetition of the content for the purposes of enticing readers or highlighting key topics.

    This example shows the [9156]figure element to mark up a code listing.

    In listing 4 we see the primary core interface API declaration.

    Listing 4. The primary core interface API declaration.
    interface PrimaryCore {
     boolean verifyDataLine();
     undefined sendData(sequence<byte> data);
     undefined initSelfDestruct();
    }

    The API is designed to use UTF-8.

    Here we see a [9157]figure element to mark up a photo that is the main content of the page (as in a gallery). Bubbles at work — My Gallery™

    Bubbles, sitting in his office chair, works on his
           latest project intently.
    Bubbles at work

    In this example, we see an image that is not a figure, as well as an image and a video that are. The first image is literally part of the example's second sentence, so it's not a self-contained unit, and thus [9158]figure would be inappropriate.

    Malinkoʼs comics

    This case centered on some sort of "intellectual property" infringement related to a comic (see Exhibit A). The suit started after a trailer ending with these words:

    ROUGH COPY! Promblem-Packed Action!

    ...was aired. A lawyer, armed with a Bigger Notebook, launched a preemptive strike using snowballs. A complete copy of the trailer is included with Exhibit B.

    Two squiggles on a dirty piece of paper.
    Exhibit A. The alleged rough copy comic.

    Exhibit B. The Rough Copy trailer.

    The case was resolved out of court.

    Here, a part of a poem is marked up using [9159]figure.

    ʼTwas brillig, and the slithy toves
    Did gyre and gimble in the wabe;
    All mimsy were the borogoves,
    And the mome raths outgrabe.

    Jabberwocky (first verse). Lewis Carroll, 1832-98

    In this example, which could be part of a much larger work discussing a castle, nested [9160]figure elements are used to provide both a group caption and individual captions for each figure in the group:

    The castle through the ages: 1423, 1858, and 1999 respectively.
    Etching. Anonymous, ca. 1423.
    The castle has one tower, and a tall wall arou
nd it.
    Oil-based paint on canvas. Maria Towle, 1858.
    The castle now has two towers and two walls.
    Film photograph. Peter Jankle, 1999.
    The castle lies in ruins, the original tower a
ll that remains in one piece.

    The previous example could also be more succinctly written as follows (using [9161]title attributes in place of the nested [9162]figure/[9163]figcaption pairs):

    The castle has one tower, and a tall wall around it. The castle now has two towers and two walls. The castle lies in ruins, the original tower all that remains in one
piece.
    The castle through the ages: 1423, 1858, and 1999 respectively.

    The figure is sometimes [9164]referenced only implicitly from the content:

    Fiscal negotiations stumble in Congress as deadline nears

    Obama and Reid sit together smiling in the Ova
l Office.
    Barack Obama and Harry Reid. White House press photograph.

    Negotiations in Congress to end the fiscal impasse sputtered on Tuesday, lea ving both chambers grasping for a way to reopen the government and raise the countryʼs borrowing a uthority with a Thursday deadline drawing near.

    ...

    4.4.13 The figcaption element

    (BUTTON) ✔MDN

    [9165]Element/figcaption

    Support in all current engines. Firefox4+Safari5.1+Chrome8+ __________________________________________________________________

    Opera11+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+

    [9166]Categories: None.

    [9167]Contexts in which this element can be used: As the first or last child of a [9168]figure element.

    [9169]Content model: [9170]Flow content.

    [9171]Tag omission in text/html: Neither tag is omissible.

    [9172]Content attributes: [9173]Global attributes

    [9174]Accessibility considerations: [9175]For authors. [9176]For implementers.

    [9177]DOM interface: Uses [9178]HTMLElement.

    The [9179]figcaption element [9180]represents a caption or legend for the rest of the contents of the [9181]figcaption element's parent [9182]figure element, if any.

    The element can contain additional information about the source:

    A duck.

    Photograph courtesy of 🌟 News.

    Average rent for 3-room apartments, excluding non-profit apartments

    Zürich’s Statistics Office —

    4.4.14 The main element

    (BUTTON) ✔MDN

    [9183]Element/main

    Support in all current engines. Firefox21+Safari7+Chrome26+ __________________________________________________________________

    Opera16+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9184]Categories: [9185]Flow content. [9186]Palpable content.

    [9187]Contexts in which this element can be used: Where [9188]flow content is expected, but only if it is a [9189]hierarchically correct main element.

    [9190]Content model: [9191]Flow content.

    [9192]Tag omission in text/html: Neither tag is omissible.

    [9193]Content attributes: [9194]Global attributes

    [9195]Accessibility considerations: [9196]For authors. [9197]For implementers.

    [9198]DOM interface: Uses [9199]HTMLElement.

    The [9200]main element [9201]represents the dominant contents of the document.

    A document must not have more than one [9202]main element that does not have the [9203]hidden attribute specified.

    A hierarchically correct main element is one whose ancestor elements are limited to [9204]html, [9205]body, [9206]div, [9207]form without an [9208]accessible name, and [9209]autonomous custom elements. Each [9210]main element must be a [9211]hierarchically correct main element.

    In this example, the author has used a presentation where each component of the page is rendered in a box. To wrap the main content of the page (as opposed to the header, the footer, the navigation bar, and a sidebar), the [9212]main element is used. RPG System 17

    System Eighteen

    Character creation

    Attributes (magic, strength, agility) are purchased at the cost of one point per level.

    Rolls

    Each encounter, roll the dice for all your skills. If you roll more than the opponent, you win.

    Copyright © 2013

    In the following example, multiple [9213]main elements are used and script is used to make navigation work without a server roundtrip and to set the [9214]hidden attribute on those that are not current:

    Home

    About

    Contact

    4.4.15 The search element

    (BUTTON) ⚠MDN

    [9215]Element/search

    No support in current engines. FirefoxNoSafariNoChromeNo __________________________________________________________________

    OperaNoEdgeNo __________________________________________________________________

    Edge (Legacy)NoInternet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome AndroidNoWebView Android?Samsung Internet?Opera Android?

    [9216]Categories: [9217]Flow content. [9218]Palpable content.

    [9219]Contexts in which this element can be used: Where [9220]flow content is expected.

    [9221]Content model: [9222]Flow content.

    [9223]Tag omission in text/html: Neither tag is omissible.

    [9224]Content attributes: [9225]Global attributes

    [9226]Accessibility considerations: [9227]For authors. [9228]For implementers.

    [9229]DOM interface: Uses [9230]HTMLElement.

    The [9231]search element [9232]represents a part of a document or application that contains a set of form controls or other content related to performing a search or filtering operation. This could be a search of the web site or application; a way of searching or filtering search results on the current web page; or a global or Internet-wide search function.

    It's not appropriate to use the [9233]search element just for presenting search results, though suggestions and links as part of "quick search" results can be included as part of a search feature. Rather, a returned web page of search results would instead be expected to be presented as part of the main content of that web page.

    In the following example, the author is including a search form within the [9234]header of the web page:

    My fancy blog

    ...

    In this example, the author has implemented their web application's search functionality entirely with JavaScript. There is no use of the [9235]form element to perform server-side submission, but the containing [9236]search element semantically identifies the purpose of the descendant content as representing search capabilities.

    Results found:

    • Consulting services

      Find out how can we help you improve your business with our integrated consultants, Bob and Bob.

    • ...

    In the following example, the page has two search features. The first is located in the web page's [9237]header and serves as a global mechanism to search the web site's content. Its purpose is indicated by its specified [9238]title attribute. The second is included as part of the main content of the page, as it represents a mechanism to search and filter the content of the current page. It contains a heading to indicate its purpose.

    ... ...

    Hotels near your location

    Filter results

    ...

    4.4.16 The div element

    (BUTTON) ✔MDN

    [9239]Element/div

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    (BUTTON) ✔MDN

    [9240]HTMLDivElement

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [9241]Categories: [9242]Flow content. [9243]Palpable content.

    [9244]Contexts in which this element can be used: Where [9245]flow content is expected. As a child of a [9246]dl element.

    [9247]Content model: If the element is a child of a [9248]dl element: one or more [9249]dt elements followed by one or more [9250]dd elements, optionally intermixed with [9251]script-supporting elements. If the element is not a child of a [9252]dl element: [9253]flow content.

    [9254]Tag omission in text/html: Neither tag is omissible.

    [9255]Content attributes: [9256]Global attributes

    [9257]Accessibility considerations: [9258]For authors. [9259]For implementers.

    [9260]DOM interface:

    [Exposed=Window] interface HTMLDivElement : [9261]HTMLElement { [[9262]HTMLConstructor] constructor();

    // [9263]also has obsolete members };

    The [9264]div element has no special meaning at all. It [9265]represents its children. It can be used with the [9266]class, [9267]lang, and [9268]title attributes to mark up semantics common to a group of consecutive elements. It can also be used in a [9269]dl element, wrapping groups of [9270]dt and [9271]dd elements.

    Authors are strongly encouraged to view the [9272]div element as an element of last resort, for when no other element is suitable. Use of more appropriate elements instead of the [9273]div element leads to better accessibility for readers and easier maintainability for authors.

    For example, a blog post would be marked up using [9274]article, a chapter using [9275]section, a page's navigation aids using [9276]nav, and a group of form controls using [9277]fieldset.

    On the other hand, [9278]div elements can be useful for stylistic purposes or to wrap multiple paragraphs within a section that are all to be annotated in a similar way. In the following example, we see [9279]div elements used as a way to set the language of two paragraphs at once, instead of setting the language on the two paragraph elements separately:

    My use of language and my cats

    My catʼs behavior hasnʼt changed much since her absence, except that she plays her new physique to the neighbors regularly, in an attempt to get pets.

    My other cat, coloured black and white, is a sweetie. He followed us to the pool today, walking down the pavement with us. Yesterday he apparently visited our neighbours. I wonder if he recognises that their flat is a mirror image of ours.

    Hm, I just noticed that in the last paragraph I used British English. But Iʼm supposed to write in American English. So I shouldnʼt say "pavement" or "flat" or "colour"...

    I should say "sidewalk" and "apartment" and "color"!

    4.5 Text-level semantics

    4.5.1 The a element

    (BUTTON) ✔MDN

    [9280]Element/a

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    (BUTTON) ✔MDN

    [9281]HTMLAnchorElement

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

    [9282]Categories: [9283]Flow content. [9284]Phrasing content. If the element has an [9285]href attribute: [9286]Interactive content. [9287]Palpable content.

    [9288]Contexts in which this element can be used: Where [9289]phrasing content is expected.

    [9290]Content model: [9291]Transparent, but there must be no [9292]interactive content descendant, [9293]a element descendant, or descendant with the [9294]tabindex attribute specified.

    [9295]Tag omission in text/html: Neither tag is omissible.

    [9296]Content attributes: [9297]Global attributes [9298]href — Address of the [9299]hyperlink [9300]target — [9301]Navigable for [9302]hyperlink [9303]navigation [9304]download — Whether to download the resource instead of navigating to it, and its filename if so [9305]ping — [9306]URLs to ping [9307]rel — Relationship between the location in the document containing the [9308]hyperlink and the destination resource [9309]hreflang — Language of the linked resource [9310]type — Hint for the type of the referenced resource [9311]referrerpolicy — [9312]Referrer policy for [9313]fetches initiated by the element

    [9314]Accessibility considerations: If the element has an [9315]href attribute: [9316]for authors; [9317]for implementers. Otherwise: [9318]for authors; [9319]for implementers.

    [9320]DOM interface:

    [Exposed=Window] interface HTMLAnchorElement : [9321]HTMLElement { [[9322]HTMLConstructor] constructor();

    [[9323]CEReactions] attribute DOMString [9324]target; [[9325]CEReactions] attribute DOMString [9326]download; [[9327]CEReactions] attribute USVString [9328]ping; [[9329]CEReactions] attribute DOMString [9330]rel; [SameObject, PutForwards=[9331]value] readonly attribute [9332]DOMTokenList [9 333]relList; [[9334]CEReactions] attribute DOMString [9335]hreflang; [[9336]CEReactions] attribute DOMString [9337]type;

    [[9338]CEReactions] attribute DOMString [9339]text;

    [[9340]CEReactions] attribute DOMString [9341]referrerPolicy;

    // [9342]also has obsolete members }; [9343]HTMLAnchorElement includes [9344]HTMLHyperlinkElementUtils;

    If the [9345]a element has an [9346]href attribute, then it [9347]represents a [9348]hyperlink (a hypertext anchor) labeled by its contents.

    If the [9349]a element has no [9350]href attribute, then the element [9351]represents a placeholder for where a link might otherwise have been placed, if it had been relevant, consisting of just the element's contents.

    The [9352]target, [9353]download, [9354]ping, [9355]rel, [9356]hreflang, [9357]type, and [9358]referrerpolicy attributes must be omitted if the [9359]href attribute is not present.

    If the [9360]itemprop attribute is specified on an [9361]a element, then the [9362]href attribute must also be specified.

    If a site uses a consistent navigation toolbar on every page, then the link that would normally link to the page itself could be marked up using an [9363]a element:

    The [9364]href, [9365]target, [9366]download, [9367]ping, and [9368]referrerpolicy attributes affect what happens when users [9369]follow hyperlinks or [9370]download hyperlinks created using the [9371]a element. The [9372]rel, [9373]hreflang, and [9374]type attributes may be used to indicate to the user the likely nature of the target resource before the user follows the link.

    a.[9375]text Same as [9376]textContent.

    (BUTTON) ✔MDN

    [9377]HTMLAnchorElement/download

    Support in all current engines. Firefox20+Safari10.1+Chrome15+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)13+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9378]HTMLAnchorElement/rel

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The IDL attributes download, ping, target, rel, hreflang, and type, must [9379]reflect the respective content attributes of the same name.

    (BUTTON) ✔MDN

    [9380]HTMLAnchorElement/relList

    Support in all current engines. Firefox30+Safari9+Chrome65+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)18Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The IDL attribute relList must [9381]reflect the [9382]rel content attribute.

    (BUTTON) ✔MDN

    [9383]HTMLAnchorElement/referrerPolicy

    Support in all current engines. Firefox50+Safari14+Chrome52+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The IDL attribute referrerPolicy must [9384]reflect the [9385]referrerpolicy content attribute, [9386]limited to only known values.

    The text attribute's getter must return this element's [9387]descendant text content.

    The [9388]text attribute's setter must [9389]string replace all with the given value within this element.

    The [9390]a element can be wrapped around entire paragraphs, lists, tables, and so forth, even entire sections, so long as there is no interactive content within (e.g., buttons or other links). This example shows how this can be used to make an entire advertising block into a link:

    The following example shows how a bit of script can be used to effectively make an entire row in a job listing table a hyperlink:
    Position Team Location
    Manager Remotees Remote
    Director Remotees Remote
    Astronaut Architecture Remote

    4.5.2 The em element

    (BUTTON) ✔MDN

    [9391]Element/em

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9392]Categories: [9393]Flow content. [9394]Phrasing content. [9395]Palpable content.

    [9396]Contexts in which this element can be used: Where [9397]phrasing content is expected.

    [9398]Content model: [9399]Phrasing content.

    [9400]Tag omission in text/html: Neither tag is omissible.

    [9401]Content attributes: [9402]Global attributes

    [9403]Accessibility considerations: [9404]For authors. [9405]For implementers.

    [9406]DOM interface: Uses [9407]HTMLElement.

    The [9408]em element [9409]represents stress emphasis of its contents.

    The level of stress that a particular piece of content has is given by its number of ancestor [9410]em elements.

    The placement of stress emphasis changes the meaning of the sentence. The element thus forms an integral part of the content. The precise way in which stress is used in this way depends on the language.

    These examples show how changing the stress emphasis changes the meaning. First, a general statement of fact, with no stress:

    Cats are cute animals.

    By emphasizing the first word, the statement implies that the kind of animal under discussion is in question (maybe someone is asserting that dogs are cute):

    Cats are cute animals.

    Moving the stress to the verb, one highlights that the truth of the entire sentence is in question (maybe someone is saying cats are not cute):

    Cats are cute animals.

    By moving it to the adjective, the exact nature of the cats is reasserted (maybe someone suggested cats were mean animals):

    Cats are cute animals.

    Similarly, if someone asserted that cats were vegetables, someone correcting this might emphasize the last word:

    Cats are cute animals.

    By emphasizing the entire sentence, it becomes clear that the speaker is fighting hard to get the point across. This kind of stress emphasis also typically affects the punctuation, hence the exclamation mark here.

    Cats are cute animals!

    Anger mixed with emphasizing the cuteness could lead to markup such as:

    Cats are cute animals!

    The [9411]em element isn't a generic "italics" element. Sometimes, text is intended to stand out from the rest of the paragraph, as if it was in a different mood or voice. For this, the [9412]i element is more appropriate.

    The [9413]em element also isn't intended to convey importance; for that purpose, the [9414]strong element is more appropriate.

    4.5.3 The strong element

    (BUTTON) ✔MDN

    [9415]Element/strong

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android4+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9416]Categories: [9417]Flow content. [9418]Phrasing content. [9419]Palpable content.

    [9420]Contexts in which this element can be used: Where [9421]phrasing content is expected.

    [9422]Content model: [9423]Phrasing content.

    [9424]Tag omission in text/html: Neither tag is omissible.

    [9425]Content attributes: [9426]Global attributes

    [9427]Accessibility considerations: [9428]For authors. [9429]For implementers.

    [9430]DOM interface: Uses [9431]HTMLElement.

    The [9432]strong element [9433]represents strong importance, seriousness, or urgency for its contents.

    Importance: the [9434]strong element can be used in a heading, caption, or paragraph to distinguish the part that really matters from other parts that might be more detailed, more jovial, or merely boilerplate. (This is distinct from marking up subheadings, for which the [9435]hgroup element is appropriate.)

    For example, the first word of the previous paragraph is marked up with [9436]strong to distinguish it from the more detailed text in the rest of the paragraph.

    Seriousness: the [9437]strong element can be used to mark up a warning or caution notice.

    Urgency: the [9438]strong element can be used to denote contents that the user needs to see sooner than other parts of the document.

    The relative level of importance of a piece of content is given by its number of ancestor [9439]strong elements; each [9440]strong element increases the importance of its contents.

    Changing the importance of a piece of text with the [9441]strong element does not change the meaning of the sentence.

    Here, the word "chapter" and the actual chapter number are mere boilerplate, and the actual name of the chapter is marked up with [9442]strong:

    Chapter 1: The Praxis

    In the following example, the name of the diagram in the caption is marked up with [9443]strong, to distinguish it from boilerplate text (before) and the description (after):

    Figure 1. Ant colony dynamics. The ants in this col ony are affected by the heat source (upper left) and the food source (lower right).

    In this example, the heading is really "Flowers, Bees, and Honey", but the author has added a light-hearted addition to the heading. The [9444]strong element is thus used to mark up the first part to distinguish it from the latter part.

    Flowers, Bees, and Honey and other things I donʼt understan d

    Here is an example of a warning notice in a game, with the various parts marked up according to how important they are:

    Warning. This dungeon is dangerous. Avoid the ducks. Take any gold you find. Do not take any of the diamonds, they are explosive and will destroy anything within ten meters. You have been warned.

    In this example, the [9445]strong element is used to denote the part of the text that the user is intended to read first.

    Welcome to Remy, the reminder system.

    Your tasks for today:

    • Turn off the oven.

    • Put out the trash.

    • Do the laundry.

    4.5.4 The small element

    (BUTTON) ✔MDN

    [9446]Element/small

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9447]Categories: [9448]Flow content. [9449]Phrasing content. [9450]Palpable content.

    [9451]Contexts in which this element can be used: Where [9452]phrasing content is expected.

    [9453]Content model: [9454]Phrasing content.

    [9455]Tag omission in text/html: Neither tag is omissible.

    [9456]Content attributes: [9457]Global attributes

    [9458]Accessibility considerations: [9459]For authors. [9460]For implementers.

    [9461]DOM interface: Uses [9462]HTMLElement.

    The [9463]small element [9464]represents side comments such as small print.

    Small print typically features disclaimers, caveats, legal restrictions, or copyrights. Small print is also sometimes used for attribution, or for satisfying licensing requirements.

    The [9465]small element does not "de-emphasize" or lower the importance of text emphasized by the [9466]em element or marked as important with the [9467]strong element. To mark text as not emphasized or important, simply do not mark it up with the [9468]em or [9469]strong elements respectively.

    The [9470]small element should not be used for extended spans of text, such as multiple paragraphs, lists, or sections of text. It is only intended for short runs of text. The text of a page listing terms of use, for instance, would not be a suitable candidate for the [9471]small element: in such a case, the text is not a side comment, it is the main content of the page.

    The [9472]small element must not be used for subheadings; for that purpose, use the [9473]hgroup element.

    In this example, the [9474]small element is used to indicate that value-added tax is not included in a price of a hotel room:

    Single room
    199 € breakfast included, VAT not included
    Double room
    239 € breakfast included, VAT not included

    In this second example, the [9475]small element is used for a side comment in an article.

    Example Corp today announced record profits for the second quarter (Full Disclosure: Foo News is a subsidiary of Example Corp), leading to speculation about a third quarter merger with Demo Group.

    This is distinct from a sidebar, which might be multiple paragraphs long and is removed from the main flow of text. In the following example, we see a sidebar from the same article. This sidebar also has small print, indicating the source of the information in the sidebar.

    In this last example, the [9476]small element is marked as being important small print.

    Continued use of this service will result in a kiss.

    4.5.5 The s element

    (BUTTON) ✔MDN

    [9477]Element/s

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android4+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9478]Categories: [9479]Flow content. [9480]Phrasing content. [9481]Palpable content.

    [9482]Contexts in which this element can be used: Where [9483]phrasing content is expected.

    [9484]Content model: [9485]Phrasing content.

    [9486]Tag omission in text/html: Neither tag is omissible.

    [9487]Content attributes: [9488]Global attributes

    [9489]Accessibility considerations: [9490]For authors. [9491]For implementers.

    [9492]DOM interface: Uses [9493]HTMLElement.

    The [9494]s element [9495]represents contents that are no longer accurate or no longer relevant.

    The [9496]s element is not appropriate when indicating document edits; to mark a span of text as having been removed from a document, use the [9497]del element.

    In this example a recommended retail price has been marked as no longer relevant as the product in question has a new sale price.

    Buy our Iced Tea and Lemonade!

    Recommended retail price: $3.99 per bottle

    Now selling for just $2.99 a bottle!

    4.5.6 The cite element

    (BUTTON) ✔MDN

    [9498]Element/cite

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9499]Categories: [9500]Flow content. [9501]Phrasing content. [9502]Palpable content.

    [9503]Contexts in which this element can be used: Where [9504]phrasing content is expected.

    [9505]Content model: [9506]Phrasing content.

    [9507]Tag omission in text/html: Neither tag is omissible.

    [9508]Content attributes: [9509]Global attributes

    [9510]Accessibility considerations: [9511]For authors. [9512]For implementers.

    [9513]DOM interface: Uses [9514]HTMLElement.

    The [9515]cite element [9516]represents the title of a work (e.g. a book, a paper, an essay, a poem, a score, a song, a script, a film, a TV show, a game, a sculpture, a painting, a theatre production, a play, an opera, a musical, an exhibition, a legal case report, a computer program, etc.). This can be a work that is being quoted or [9517]referenced in detail (i.e., a citation), or it can just be a work that is mentioned in passing.

    A person's name is not the title of a work — even if people call that person a piece of work — and the element must therefore not be used to mark up people's names. (In some cases, the [9518]b element might be appropriate for names; e.g. in a gossip article where the names of famous people are keywords rendered with a different style to draw attention to them. In other cases, if an element is really needed, the [9519]span element can be used.)

    This next example shows a typical use of the [9520]cite element:

    My favorite book is The Reality Dysfunction by Peter F. Hamilton. My favorite comic is Pearls Before Swine by Stephan Pastis. My favorite track is Jive Samba by the Cannonball Adderley Sextet.

    This is correct usage:

    According to the Wikipedia article HTML, as it stood in mid-February 2008, leaving attribute values unquoted is unsafe. This is obviously an over-simplification.

    The following, however, is incorrect usage, as the [9521]cite element here is containing far more than the title of the work:

    According to the Wikipedia article on HTML, as it stood in mid-February 2008, leaving attribute values unquoted is unsafe. This is obviously an over-simplification.

    The [9522]cite element is a key part of any citation in a bibliography, but it is only used to mark the title:

    Universal Declaration of Human Rights, United Nations, December 1948. Adopted by General Assembly resolution 217 A (III).

    A citation is not a quote (for which the [9523]q element is appropriate).

    This is incorrect usage, because [9524]cite is not for quotes:

    This is wrong!, said Ian.

    This is also incorrect usage, because a person is not a work:

    This is still wrong!, said Ian.

    The correct usage does not use a [9525]cite element:

    This is correct, said Ian.

    As mentioned above, the [9526]b element might be relevant for marking names as being keywords in certain kinds of documents:

    And then Ian said this might be right, in a gossip column, maybe!.

    4.5.7 The q element

    (BUTTON) ✔MDN

    [9527]Element/q

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9528]Categories: [9529]Flow content. [9530]Phrasing content. [9531]Palpable content.

    [9532]Contexts in which this element can be used: Where [9533]phrasing content is expected.

    [9534]Content model: [9535]Phrasing content.

    [9536]Tag omission in text/html: Neither tag is omissible.

    [9537]Content attributes: [9538]Global attributes [9539]cite — Link to the source of the quotation or more information about the edit

    [9540]Accessibility considerations: [9541]For authors. [9542]For implementers.

    [9543]DOM interface: Uses [9544]HTMLQuoteElement.

    The [9545]q element [9546]represents some [9547]phrasing content quoted from another source.

    Quotation punctuation (such as quotation marks) that is quoting the contents of the element must not appear immediately before, after, or inside [9548]q elements; they will be inserted into the rendering by the user agent.

    Content inside a [9549]q element must be quoted from another source, whose address, if it has one, may be cited in the cite attribute. The source may be fictional, as when quoting characters in a novel or screenplay.

    If the [9550]cite attribute is present, it must be a [9551]valid URL potentially surrounded by spaces. To obtain the corresponding citation link, the value of the attribute must be [9552]parsed relative to the element's [9553]node document. User agents may allow users to follow such citation links, but they are primarily intended for private use (e.g., by server-side scripts collecting statistics about a site's use of quotations), not for readers.

    The [9554]q element must not be used in place of quotation marks that do not represent quotes; for example, it is inappropriate to use the [9555]q element for marking up sarcastic statements.

    The use of [9556]q elements to mark up quotations is entirely optional; using explicit quotation punctuation without [9557]q elements is just as correct.

    Here is a simple example of the use of the [9558]q element:

    The man said Things that are impossible just take longer. I disagreed with him.

    Here is an example with both an explicit citation link in the [9559]q element, and an explicit citation outside:

    The W3C page About W3C says the W3Cʼs mission is To lead the World Wide Web to its full potential by developing protocols and guidelines that ensure long-term growth for the Web. I disagree with this mission.

    In the following example, the quotation itself contains a quotation:

    In Example One, he writes The man said Things that are impossible just take longer. I disagreed with him. Well, I disagree even more!

    In the following example, quotation marks are used instead of the [9560]q element:

    His best argument was ❝I disagree❞, which I thought was laughable.

    In the following example, there is no quote — the quotation marks are used to name a word. Use of the [9561]q element in this case would be inappropriate.

    The word "ineffable" could have been used to describe the disaster resulting from the campaignʼs mismanagement.

    4.5.8 The dfn element

    (BUTTON) ✔MDN

    [9562]Element/dfn

    Support in all current engines. Firefox1+Safari6+Chrome15+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9563]Categories: [9564]Flow content. [9565]Phrasing content. [9566]Palpable content.

    [9567]Contexts in which this element can be used: Where [9568]phrasing content is expected.

    [9569]Content model: [9570]Phrasing content, but there must be no [9571]dfn element descendants.

    [9572]Tag omission in text/html: Neither tag is omissible.

    [9573]Content attributes: [9574]Global attributes Also, the [9575]title attribute [9576]has special semantics on this element: Full term or expansion of abbreviation

    [9577]Accessibility considerations: [9578]For authors. [9579]For implementers.

    [9580]DOM interface: Uses [9581]HTMLElement.

    The [9582]dfn element [9583]represents the defining instance of a term. The [9584]paragraph, [9585]description list group, or [9586]section that is the nearest ancestor of the [9587]dfn element must also contain the definition(s) for the [9588]term given by the [9589]dfn element.

    Defining term: if the [9590]dfn element has a title attribute, then the exact value of that attribute is the term being defined. Otherwise, if it contains exactly one element child node and no child [9591]Text nodes, and that child element is an [9592]abbr element with a [9593]title attribute, then the exact value of that attribute is the term being defined. Otherwise, it is the [9594]descendant text content of the [9595]dfn element that gives the term being defined.

    If the [9596]title attribute of the [9597]dfn element is present, then it must contain only the term being defined.

    The [9598]title attribute of ancestor elements does not affect [9599]dfn elements.

    An [9600]a element that links to a [9601]dfn element represents an instance of the term defined by the [9602]dfn element.

    In the following fragment, the term "Garage Door Opener" is first defined in the first paragraph, then used in the second. In both cases, its abbreviation is what is actually displayed.

    The GDO is a device that allows off-world teams to open the iris.

    Tealʼc activated his GDO and so Hammond ordered the iris to be opened.

    With the addition of an [9603]a element, the [9604]reference can be made explicit:

    The GDO is a device that allows off-world teams to open the iris.

    Tealʼc activated his GDO and so Hammond ordered the iris to be opened.

    4.5.9 The abbr element

    (BUTTON) ✔MDN

    [9605]Element/abbr

    Support in all current engines. Firefox1+Safari4+Chrome2+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer7+ __________________________________________________________________

    Firefox Android4+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9606]Categories: [9607]Flow content. [9608]Phrasing content. [9609]Palpable content.

    [9610]Contexts in which this element can be used: Where [9611]phrasing content is expected.

    [9612]Content model: [9613]Phrasing content.

    [9614]Tag omission in text/html: Neither tag is omissible.

    [9615]Content attributes: [9616]Global attributes Also, the [9617]title attribute [9618]has special semantics on this element: Full term or expansion of abbreviation

    [9619]Accessibility considerations: [9620]For authors. [9621]For implementers.

    [9622]DOM interface: Uses [9623]HTMLElement.

    The [9624]abbr element [9625]represents an abbreviation or acronym, optionally with its expansion. The title attribute may be used to provide an expansion of the abbreviation. The attribute, if specified, must contain an expansion of the abbreviation, and nothing else.

    The paragraph below contains an abbreviation marked up with the [9626]abbr element. This paragraph [9627]defines the term "Web Hypertext Application Technology Working Group".

    The WHATWG is a loose unofficial collaboration of web browser manufacturers and interested parties who wish to develop new technologies designed to allow authors to write and deploy Applications over the World Wide Web.

    An alternative way to write this would be:

    The Web Hypertext Application Technology Working Group (WHATWG) is a loose unofficial collaboration of web browser manufacturers and interested parties who wish to develop new technologies designed to allow authors to write and deploy Applications over the World Wide Web.

    This paragraph has two abbreviations. Notice how only one is defined; the other, with no expansion associated with it, does not use the [9628]abbr element.

    The WHATWG started working on HTML5 in 2004.

    This paragraph links an abbreviation to its definition.

    The WHATWG community does not have much representation from Asia.

    This paragraph marks up an abbreviation without giving an expansion, possibly as a hook to apply styles for abbreviations (e.g. smallcaps).

    Philip` and Dashiva both denied that they were going to get the issue counts from past revisions of the specification to backfill the WHATWG issue graph.

    If an abbreviation is pluralized, the expansion's grammatical number (plural vs singular) must match the grammatical number of the contents of the element.

    Here the plural is outside the element, so the expansion is in the singular:

    Two WGs worked on this specification: the WHATWG and the HTMLWG.

    Here the plural is inside the element, so the expansion is in the plural:

    Two WGs worked on this specification: the WHATWG and the HTMLWG.

    Abbreviations do not have to be marked up using this element. It is expected to be useful in the following cases: * Abbreviations for which the author wants to give expansions, where using the [9629]abbr element with a [9630]title attribute is an alternative to including the expansion inline (e.g. in parentheses). * Abbreviations that are likely to be unfamiliar to the document's readers, for which authors are encouraged to either mark up the abbreviation using an [9631]abbr element with a [9632]title attribute or include the expansion inline in the text the first time the abbreviation is used. * Abbreviations whose presence needs to be semantically annotated, e.g. so that they can be identified from a style sheet and given specific styles, for which the [9633]abbr element can be used without a [9634]title attribute.

    Providing an expansion in a [9635]title attribute once will not necessarily cause other [9636]abbr elements in the same document with the same contents but without a [9637]title attribute to behave as if they had the same expansion. Every [9638]abbr element is independent.

    4.5.10 The ruby element

    (BUTTON) ✔MDN

    [9639]Element/ruby

    Support in all current engines. Firefox38+Safari5+Chrome5+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9640]Categories: [9641]Flow content. [9642]Phrasing content. [9643]Palpable content.

    [9644]Contexts in which this element can be used: Where [9645]phrasing content is expected.

    [9646]Content model: See prose.

    [9647]Tag omission in text/html: Neither tag is omissible.

    [9648]Content attributes: [9649]Global attributes

    [9650]Accessibility considerations: [9651]For authors. [9652]For implementers.

    [9653]DOM interface: Uses [9654]HTMLElement.

    The [9655]ruby element allows one or more spans of phrasing content to be marked with ruby annotations. Ruby annotations are short runs of text presented alongside base text, primarily used in East Asian typography as a guide for pronunciation or to include other annotations. In Japanese, this form of typography is also known as furigana.

    The content model of [9656]ruby elements consists of one or more of the following sequences: 1. One or the other of the following: + [9657]Phrasing content, but with no [9658]ruby elements and with no [9659]ruby element descendants + A single [9660]ruby element that itself has no [9661]ruby element descendants 2. One or the other of the following: + One or more [9662]rt elements + An [9663]rp element followed by one or more [9664]rt elements, each of which is itself followed by an [9665]rp element

    The [9666]ruby and [9667]rt elements can be used for a variety of kinds of annotations, including in particular (though by no means limited to) those described below. For more details on Japanese Ruby in particular, and how to render Ruby for Japanese, see Requirements for Japanese Text Layout. [9668][JLREQ]

    At the time of writing, CSS does not yet provide a way to fully control the rendering of the HTML [9669]ruby element. It is hoped that CSS will be extended to support the styles described below in due course.

    Mono-ruby for individual base characters in Japanese One or more hiragana or katakana characters (the ruby annotation) are placed with each ideographic character (the base text). This is used to provide readings of kanji characters.

    Bannotation

    In this example, notice how each annotation corresponds to a single base character.

    くんしてどうぜず。

    君くん子しは和わして同どうぜず。

    This example can also be written as follows, using one [9670]ruby element with two segments of base text and two annotations (one for each) rather than two back-to-back [9671]ruby elements each with one base text segment and annotation (as in the markup above):

    くんしてどうぜず。

    Mono-ruby for compound words (jukugo) This is similar to the previous case: each ideographic character in the compound word (the base text) has its reading given in hiragana or katakana characters (the ruby annotation). The difference is that the base text segments form a compound word rather than being separate from each other.

    BannotationBannotation

    In this example, notice again how each annotation corresponds to a single base character. In this example, each compound word (jukugo) corresponds to a single [9672]ruby element.

    The rendering here is expected to be that each annotation be placed over (or next to, in vertical text) the corresponding base character, with the annotations not overhanging any of the adjacent characters.

    もんほうがくぎょうする

    鬼き門もんの方ほう角がくを凝ぎょう視しする

    Jukugo-ruby This is semantically identical to the previous case (each individual ideographic character in the base compound word has its reading given in an annotation in hiragana or katakana characters), but the rendering is the more complicated Jukugo Ruby rendering.

    This is the same example as above for mono-ruby for compound words. The different rendering is expected to be achieved using different styling (e.g. in CSS), and is not shown here.

    もんほうがくぎょうする

    For more details on [9673]Jukugo Ruby rendering, see Appendix F in the Requirements for Japanese Text Layout. [9674][JLREQ]

    Group ruby for describing meanings The annotation describes the meaning of the base text, rather than (or in addition to) the pronunciation. As such, both the base text and the annotation can be multiple characters long.

    BASEannotation

    Here a compound ideographic word has its corresponding katakana given as an annotation.

    境界面インターフェース

    境界面インターフェース

    Here a compound ideographic word has its translation in English provided as an annotation.

    編集者editor

    編集者editor

    Group ruby for Jukuji readings A phonetic reading that corresponds to multiple base characters, because a one-to-one mapping would be difficult. (In English, the words "Colonel" and "Lieutenant" are examples of words where a direct mapping of pronunciation to individual letters is, in some dialects, rather unclear.)

    In this example, the name of a species of flowers has a phonetic reading provided using group ruby:

    紫陽花あじさい

    紫陽花あじさい

    Text with both phonetic and semantic annotations (double-sided ruby) Sometimes, ruby styles described above are combined.

    If this results in two annotations covering the same single base segment, then the annotations can just be placed back to back.

    BASEannotation 1annotation 2

    BaaAaaSaaE< rt>aa

    In this contrived example, some symbols are given names in English and French.

    Heart Cœur Shamrock Trèfle Star Étoile

    In more complicated situations such as the following examples, a nested [9675]ruby element is used to give the inner annotations, and then that whole [9676]ruby is then given an annotation at the "outer" level.

    BaAnStEnannotation

    Here both a phonetic reading and the meaning are given in ruby annotations. The annotation on the nested [9677]ruby element gives a mono-ruby phonetic annotation for each base character, while the annotation in the [9678]rt element that is a child of the outer [9679]ruby element gives the meaning using hiragana.

    とうなんたつみの方角

    東とう南なんたつみの方角

    This is the same example, but the meaning is given in English instead of Japanese:

    とうなんSoutheastの方角

    東とう南なんSoutheastの方角 __________________________________________________________________

    Within a [9680]ruby element that does not have a [9681]ruby element ancestor, content is segmented and segments are placed into three categories: base text segments, annotation segments, and ignored segments. Ignored segments do not form part of the document's semantics (they consist of some [9682]inter-element whitespace and [9683]rp elements, the latter of which are used for legacy user agents that do not support ruby at all). Base text segments can overlap (with a limit of two segments overlapping any one position in the DOM, and with any segment having an earlier start point than an overlapping segment also having an equal or later end point, and any segment have a later end point than an overlapping segment also having an equal or earlier start point). Annotation segments correspond to [9684]rt elements. Each annotation segment can be associated with a base text segment, and each base text segment can have annotation segments associated with it. (In a conforming document, each base text segment is associated with at least one annotation segment, and each annotation segment is associated with one base text segment.) A [9685]ruby element [9686]represents the union of the segments of base text it contains, along with the mapping from those base text segments to annotation segments. Segments are described in terms of DOM ranges; annotation segment ranges always consist of exactly one element. [9687][DOM]

    At any particular time, the segmentation and categorization of content of a [9688]ruby element is the result that would be obtained from running the following algorithm: 1. Let base text segments be an empty list of base text segments, each potentially with a list of base text subsegments. 2. Let annotation segments be an empty list of annotation segments, each potentially being associated with a base text segment or subsegment. 3. Let root be the [9689]ruby element for which the algorithm is being run. 4. If root has a [9690]ruby element ancestor, then jump to the step labeled end. 5. Let current parent be root. 6. Let index be 0. 7. Let start index be null. 8. Let saved start index be null. 9. Let current base text be null. 10. Start mode: If index is greater than or equal to the number of child nodes in current parent, then jump to the step labeled end mode. 11. If the indexth node in current parent is an [9691]rt or [9692]rp element, jump to the step labeled annotation mode. 12. Set start index to the value of index. 13. Base mode: If the indexth node in current parent is a [9693]ruby element, and if current parent is the same element as root, then [9694]push a ruby level and then jump to the step labeled start mode. 14. If the indexth node in current parent is an [9695]rt or [9696]rp element, then [9697]set the current base text and then jump to the step labeled annotation mode. 15. Increment index by one. 16. Base mode post-increment: If index is greater than or equal to the number of child nodes in current parent, then jump to the step labeled end mode. 17. Jump back to the step labeled base mode. 18. Annotation mode: If the indexth node in current parent is an [9698]rt element, then [9699]push a ruby annotation and jump to the step labeled annotation mode increment. 19. If the indexth node in current parent is an [9700]rp element, jump to the step labeled annotation mode increment. 20. If the indexth node in current parent is not a [9701]Text node, or is a [9702]Text node that is not [9703]inter-element whitespace, then jump to the step labeled base mode. 21. Annotation mode increment: Let lookahead index be index plus one. 22. Annotation mode white-space skipper: If lookahead index is equal to the number of child nodes in current parent then jump to the step labeled end mode. 23. If the lookahead indexth node in current parent is an [9704]rt element or an [9705]rp element, then set index to lookahead index and jump to the step labeled annotation mode. 24. If the lookahead indexth node in current parent is not a [9706]Text node, or is a [9707]Text node that is not [9708]inter-element whitespace, then jump to the step labeled base mode (without further incrementing index, so the [9709]inter-element whitespace seen so far becomes part of the next base text segment). 25. Increment lookahead index by one. 26. Jump to the step labeled annotation mode white-space skipper. 27. End mode: If current parent is not the same element as root, then [9710]pop a ruby level and jump to the step labeled base mode post-increment. 28. End: Return base text segments and annotation segments. Any content of the [9711]ruby element not described by segments in either of those lists is implicitly in an ignored segment.

    When the steps above say to set the current base text, it means to run the following steps at that point in the algorithm: 1. Let text range be a DOM range whose [9712]start is the [9713]boundary point (current parent, start index) and whose [9714]end is the [9715]boundary point (current parent, index). 2. Let new text segment be a base text segment described by the range text range. 3. Add new text segment to base text segments. 4. Let current base text be new text segment. 5. Let start index be null.

    When the steps above say to push a ruby level, it means to run the following steps at that point in the algorithm: 1. Let current parent be the indexth node in current parent. 2. Let index be 0. 3. Set saved start index to the value of start index. 4. Let start index be null.

    When the steps above say to pop a ruby level, it means to run the following steps at that point in the algorithm: 1. Let index be the position of current parent in root. 2. Let current parent be root. 3. Increment index by one. 4. Set start index to the value of saved start index. 5. Let saved start index be null.

    When the steps above say to push a ruby annotation, it means to run the following steps at that point in the algorithm: 1. Let rt be the [9716]rt element that is the indexth node of current parent. 2. Let annotation range be a DOM range whose [9717]start is the [9718]boundary point (current parent, index) and whose [9719]end is the [9720]boundary point (current parent, index plus one) (i.e. that contains only rt). 3. Let new annotation segment be an annotation segment described by the range annotation range. 4. If current base text is not null, associate new annotation segment with current base text. 5. Add new annotation segment to annotation segments.

    In this example, each ideograph in the Japanese text 漢字 is annotated with its reading in hiragana. ... かん ...

    This might be rendered as:

    The two main ideographs, each with its annotation in hiragana rendered in a smaller font above it.

    In this example, each ideograph in the traditional Chinese text 漢字 is annotated with its bopomofo reading. ㄏㄢˋㄗˋ

    This might be rendered as:

    The two main ideographs, each with its bopomofo annotation rendered in a smaller font next to it.

    In this example, each ideograph in the simplified Chinese text 汉字 is annotated with its pinyin reading. ...hàn...

    This might be rendered as:

    The two main ideographs, each with its pinyin annotation rendered in a smaller font above it.

    In this more contrived example, the acronym "HTML" has four annotations: one for the whole acronym, briefly describing what it is, one for the letters "HT" expanding them to "Hypertext", one for the letter "M" expanding it to "Markup", and one for the letter "L" expanding it to "Language". HTHypertextMMarkupLLanguage An abstract language for describing documents and applications

    4.5.11 The rt element

    (BUTTON) ✔MDN

    [9721]Element/rt

    Support in all current engines. Firefox38+Safari5+Chrome5+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet Explorer5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9722]Categories: None.

    [9723]Contexts in which this element can be used: As a child of a [9724]ruby element.

    [9725]Content model: [9726]Phrasing content.

    [9727]Tag omission in text/html: An [9728]rt element's [9729]end tag can be omitted if the [9730]rt element is immediately followed by an [9731]rt or [9732]rp element, or if there is no more content in the parent element.

    [9733]Content attributes: [9734]Global attributes

    [9735]Accessibility considerations: [9736]For authors. [9737]For implementers.

    [9738]DOM interface: Uses [9739]HTMLElement.

    The [9740]rt element marks the ruby text component of a ruby annotation. When it is the child of a [9741]ruby element, it doesn't [9742]represent anything itself, but the [9743]ruby element uses it as part of determining what it [9744]represents.

    An [9745]rt element that is not a child of a [9746]ruby element [9747]represents the same thing as its children.

    4.5.12 The rp element

    (BUTTON) ✔MDN

    [9748]Element/rp

    Support in all current engines. Firefox38+Safari5+Chrome5+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet Explorer5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9749]Categories: None.

    [9750]Contexts in which this element can be used: As a child of a [9751]ruby element, either immediately before or immediately after an [9752]rt element.

    [9753]Content model: [9754]Text.

    [9755]Tag omission in text/html: An [9756]rp element's [9757]end tag can be omitted if the [9758]rp element is immediately followed by an [9759]rt or [9760]rp element, or if there is no more content in the parent element.

    [9761]Content attributes: [9762]Global attributes

    [9763]Accessibility considerations: [9764]For authors. [9765]For implementers.

    [9766]DOM interface: Uses [9767]HTMLElement.

    The [9768]rp element can be used to provide parentheses or other content around a ruby text component of a ruby annotation, to be shown by user agents that don't support ruby annotations.

    An [9769]rp element that is a child of a [9770]ruby element [9771]represents nothing. An [9772]rp element whose parent element is not a [9773]ruby element [9774]represents its children.

    The example above, in which each ideograph in the text 漢字 is annotated with its phonetic reading, could be expanded to use [9775]rp so that in legacy user agents the readings are in parentheses: ... かん ...

    In conforming user agents the rendering would be as above, but in user agents that do not support ruby, the rendering would be: ... 漢(かん)字(じ)...

    When there are multiple annotations for a segment, [9776]rp elements can also be placed between the annotations. Here is another copy of an earlier contrived example showing some symbols with names given in English and French, but this time with [9777]rp elements as well: : Heart, Cœur.: Shamrock, Trèfle.: Star, Étoile.

    This would make the example render as follows in non-ruby-capable user agents: ♥: Heart, Cœur. ☘: Shamrock, Trèfle. ✶: Star, Étoile.

    4.5.13 The data element

    (BUTTON) ✔MDN

    [9778]Element/data

    Support in all current engines. Firefox22+Safari10+Chrome62+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)18Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    (BUTTON) ✔MDN

    [9779]HTMLDataElement

    Support in all current engines. Firefox22+Safari10+Chrome62+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)14+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9780]Categories: [9781]Flow content. [9782]Phrasing content. [9783]Palpable content.

    [9784]Contexts in which this element can be used: Where [9785]phrasing content is expected.

    [9786]Content model: [9787]Phrasing content.

    [9788]Tag omission in text/html: Neither tag is omissible.

    [9789]Content attributes: [9790]Global attributes [9791]value — Machine-readable value

    [9792]Accessibility considerations: [9793]For authors. [9794]For implementers.

    [9795]DOM interface:

    [Exposed=Window] interface HTMLDataElement : [9796]HTMLElement { [[9797]HTMLConstructor] constructor();

    [[9798]CEReactions] attribute DOMString [9799]value; };

    The [9800]data element [9801]represents its contents, along with a machine-readable form of those contents in the [9802]value attribute.

    The value attribute must be present. Its value must be a representation of the element's contents in a machine-readable format.

    When the value is date- or time-related, the more specific [9803]time element can be used instead.

    The element can be used for several purposes.

    When combined with microformats or the [9804]microdata attributes defined in this specification, the element serves to provide both a machine-readable value for the purposes of data processors, and a human-readable value for the purposes of rendering in a web browser. In this case, the format to be used in the [9805]value attribute is determined by the microformats or microdata vocabulary in use.

    The element can also, however, be used in conjunction with scripts in the page, for when a script has a literal value to store alongside a human-readable value. In such cases, the format to be used depends only on the needs of the script. (The [9806]data-* attributes can also be useful in such situations.)

    (BUTTON) ✔MDN

    [9807]HTMLDataElement/value

    Support in all current engines. Firefox22+Safari10+Chrome62+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)14+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The value IDL attribute must [9808]reflect the content attribute of the same name.

    Here, a short table has its numeric values encoded using the [9809]data element so that the table sorting JavaScript library can provide a sorting mechanism on each column despite the numbers being presented in textual form in one column and in a decomposed form in another.
    Game Corporations Map Size
    1830 Eight 19+74 h exes (93 total)
    1856 Eleven 12+87 hexes (99 total)
    1870 Ten 4+145 h exes (149 total)

    4.5.14 The time element

    (BUTTON) ✔MDN

    [9810]Element/time

    Support in all current engines. Firefox22+Safari7+Chrome62+ __________________________________________________________________

    Opera49+Edge79+ __________________________________________________________________

    Edge (Legacy)18Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS4+Chrome Android?WebView Android?Samsung Internet?Opera Android46+

    (BUTTON) ✔MDN

    [9811]HTMLTimeElement

    Support in all current engines. Firefox22+Safari10+Chrome62+ __________________________________________________________________

    Opera49+Edge79+ __________________________________________________________________

    Edge (Legacy)14+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android46+

    [9812]Categories: [9813]Flow content. [9814]Phrasing content. [9815]Palpable content.

    [9816]Contexts in which this element can be used: Where [9817]phrasing content is expected.

    [9818]Content model: If the element has a [9819]datetime attribute: [9820]Phrasing content. Otherwise: [9821]Text, but must match requirements described in prose below.

    [9822]Tag omission in text/html: Neither tag is omissible.

    [9823]Content attributes: [9824]Global attributes [9825]datetime — Machine-readable value

    [9826]Accessibility considerations: [9827]For authors. [9828]For implementers.

    [9829]DOM interface:

    [Exposed=Window] interface HTMLTimeElement : [9830]HTMLElement { [[9831]HTMLConstructor] constructor();

    [[9832]CEReactions] attribute DOMString [9833]dateTime; };

    The [9834]time element [9835]represents its contents, along with a machine-readable form of those contents in the [9836]datetime attribute. The kind of content is limited to various kinds of dates, times, time-zone offsets, and durations, as described below.

    The datetime attribute may be present. If present, its value must be a representation of the element's contents in a machine-readable format.

    A [9837]time element that does not have a [9838]datetime content attribute must not have any element descendants.

    The datetime value of a [9839]time element is the value of the element's [9840]datetime content attribute, if it has one, otherwise the [9841]child text content of the [9842]time element.

    The [9843]datetime value of a [9844]time element must match one of the following syntaxes.

    A [9845]valid month string

    A [9846]valid date string

    A [9847]valid yearless date string

    A [9848]valid time string

    A [9849]valid local date and time string

    Times with dates but without a time zone offset are useful for specifying events that are observed at the same specific time in each time zone, throughout a day. For example, the 2020 new year is celebrated at 2020-01-01 00:00 in each time zone, not at the same precise moment across all time zones. For events that occur at the same time across all time zones, for example a videoconference meeting, a [9850]valid global date and time string is likely more useful.

    A [9851]valid time-zone offset string

    For times without dates (or times referring to events that recur on multiple dates), specifying the geographic location that controls the time is usually more useful than specifying a time zone offset, because geographic locations change time zone offsets with daylight saving time. In some cases, geographic locations even change time zone, e.g. when the boundaries of those time zones are redrawn, as happened with Samoa at the end of 2011. There exists a time zone database that describes the boundaries of time zones and what rules apply within each such zone, known as the time zone database. [9852][TZDATABASE]

    A [9853]valid global date and time string

    Times with dates and a time zone offset are useful for specifying specific events, or recurring virtual events where the time is not anchored to a specific geographic location. For example, the precise time of an asteroid impact, or a particular meeting in a series of meetings held at 1400 UTC every day, regardless of whether any particular part of the world is observing daylight saving time or not. For events where the precise time varies by the local time zone offset of a specific geographic location, a [9854]valid local date and time string combined with that geographic location is likely more useful.

    A [9855]valid week string

    Four or more [9856]ASCII digits, at least one of which is not U+0030 DIGIT ZERO (0)

    A [9857]valid duration string

    The machine-readable equivalent of the element's contents must be obtained from the element's [9858]datetime value by using the following algorithm: 1. If [9859]parsing a month string from the element's [9860]datetime value returns a [9861]month, that is the machine-readable equivalent; return. 2. If [9862]parsing a date string from the element's [9863]datetime value returns a [9864]date, that is the machine-readable equivalent; return. 3. If [9865]parsing a yearless date string from the element's [9866]datetime value returns a [9867]yearless date, that is the machine-readable equivalent; return. 4. If [9868]parsing a time string from the element's [9869]datetime value returns a [9870]time, that is the machine-readable equivalent; return. 5. If [9871]parsing a local date and time string from the element's [9872]datetime value returns a [9873]local date and time, that is the machine-readable equivalent; return. 6. If [9874]parsing a time-zone offset string from the element's [9875]datetime value returns a [9876]time-zone offset, that is the machine-readable equivalent; return. 7. If [9877]parsing a global date and time string from the element's [9878]datetime value returns a [9879]global date and time, that is the machine-readable equivalent; return. 8. If [9880]parsing a week string from the element's [9881]datetime value returns a [9882]week, that is the machine-readable equivalent; return. 9. If the element's [9883]datetime value consists of only [9884]ASCII digits, at least one of which is not U+0030 DIGIT ZERO (0), then the machine-readable equivalent is the base-ten interpretation of those digits, representing a year; return. 10. If [9885]parsing a duration string from the element's [9886]datetime value returns a [9887]duration, that is the machine-readable equivalent; return. 11. There is no machine-readable equivalent.

    The algorithms referenced above are intended to be designed such that for any arbitrary string s, only one of the algorithms returns a value. A more efficient approach might be to create a single algorithm that parses all these data types in one pass; developing such an algorithm is left as an exercise to the reader.

    (BUTTON) ✔MDN

    [9888]HTMLTimeElement/dateTime

    Support in all current engines. Firefox22+Safari10+Chrome62+ __________________________________________________________________

    Opera49+Edge79+ __________________________________________________________________

    Edge (Legacy)14+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android46+

    The dateTime IDL attribute must [9889]reflect the element's [9890]datetime content attribute.

    The [9891]time element can be used to encode dates, for example in microformats. The following shows a hypothetical way of encoding an event using a variant on hCalendar that uses the [9892]time element:

    http://www.web2con.com/ Web 2.0 Conference: - , at the Argent Hotel, San Francisco, CA

    Here, a fictional microdata vocabulary based on the Atom vocabulary is used with the [9893]time element to mark up a blog post's publication date.

    Big tasks

    Published .

    Today, I went out and bought a bike for my kid.

    In this example, another article's publication date is marked up using [9894]time, this time using the schema.org microdata vocabulary:

    Small tasks

    Published .

    I put a bike bell on her bike.

    In the following snippet, the [9895]time element is used to encode a date in the ISO8601 format, for later processing by a script:

    Our first date was .

    In this second snippet, the value includes a time:

    We stopped talking at .

    A script loaded by the page (and thus privy to the page's internal convention of marking up dates and times using the [9896]time element) could scan through the page and look at all the [9897]time elements therein to create an index of dates and times.

    For example, this element conveys the string "Friday" with the additional semantic that the 18th of November 2011 is the meaning that corresponds to "Friday": Today is .

    In this example, a specific time in the Pacific Standard Time timezone is specified: Your next meeting is at .

    4.5.15 The code element

    (BUTTON) ✔MDN

    [9898]Element/code

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9899]Categories: [9900]Flow content. [9901]Phrasing content. [9902]Palpable content.

    [9903]Contexts in which this element can be used: Where [9904]phrasing content is expected.

    [9905]Content model: [9906]Phrasing content.

    [9907]Tag omission in text/html: Neither tag is omissible.

    [9908]Content attributes: [9909]Global attributes

    [9910]Accessibility considerations: [9911]For authors. [9912]For implementers.

    [9913]DOM interface: Uses [9914]HTMLElement.

    The [9915]code element [9916]represents a fragment of computer code. This could be an XML element name, a filename, a computer program, or any other string that a computer would recognize.

    There is no formal way to indicate the language of computer code being marked up. Authors who wish to mark [9917]code elements with the language used, e.g. so that syntax highlighting scripts can use the right rules, can use the [9918]class attribute, e.g. by adding a class prefixed with "language-" to the element.

    The following example shows how the element can be used in a paragraph to mark up element names and computer code, including punctuation.

    The code element represents a fragment of computer code.

    When you call the activate() method on the robotSnowman object, the eyes glow.

    The example below uses the begin keyword to indicate the start of a statement block. It is paired with an end keyword, which is followed by the . punctuation character (full stop) to indicate the end of the program.

    The following example shows how a block of code could be marked up using the [9919]pre and [9920]code elements.

    var i: Integer;
    begin
       i := 1;
    end.

    A class is used in that example to indicate the language used.

    See the [9921]pre element for more details.

    4.5.16 The var element

    (BUTTON) ✔MDN

    [9922]Element/var

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9923]Categories: [9924]Flow content. [9925]Phrasing content. [9926]Palpable content.

    [9927]Contexts in which this element can be used: Where [9928]phrasing content is expected.

    [9929]Content model: [9930]Phrasing content.

    [9931]Tag omission in text/html: Neither tag is omissible.

    [9932]Content attributes: [9933]Global attributes

    [9934]Accessibility considerations: [9935]For authors. [9936]For implementers.

    [9937]DOM interface: Uses [9938]HTMLElement.

    The [9939]var element [9940]represents a variable. This could be an actual variable in a mathematical expression or programming context, an identifier representing a constant, a symbol identifying a physical quantity, a function parameter, or just be a term used as a placeholder in prose.

    In the paragraph below, the letter "n" is being used as a variable in prose:

    If there are n pipes leading to the ice cream factory then I expect at least n flavors of ice cream to be available for purchase!

    For mathematics, in particular for anything beyond the simplest of expressions, MathML is more appropriate. However, the [9941]var element can still be used to refer to specific variables that are then mentioned in MathML expressions.

    In this example, an equation is shown, with a legend that references the variables in the equation. The expression itself is marked up with MathML, but the variables are mentioned in the figure's legend using [9942]var.

    a = b2 + c2
    Using Pythagorasʼ theorem to solve for the hypotenuse a of a triangle with sides b and c

    Here, the equation describing mass-energy equivalence is used in a sentence, and the [9943]var element is used to mark the variables and constants in that equation:

    Then she turned to the blackboard and picked up the chalk. After a few moment ʼs thought, she wrote E = m c2. The tea cher looked pleased.

    4.5.17 The samp element

    (BUTTON) ✔MDN

    [9944]Element/samp

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9945]Categories: [9946]Flow content. [9947]Phrasing content. [9948]Palpable content.

    [9949]Contexts in which this element can be used: Where [9950]phrasing content is expected.

    [9951]Content model: [9952]Phrasing content.

    [9953]Tag omission in text/html: Neither tag is omissible.

    [9954]Content attributes: [9955]Global attributes

    [9956]Accessibility considerations: [9957]For authors. [9958]For implementers.

    [9959]DOM interface: Uses [9960]HTMLElement.

    The [9961]samp element [9962]represents sample or quoted output from another program or computing system.

    See the [9963]pre and [9964]kbd elements for more details.

    This element can be contrasted with the [9965]output element, which can be used to provide immediate output in a web application.

    This example shows the [9966]samp element being used inline:

    The computer said Too much cheese in tray two but I didnʼt know what that meant.

    This second example shows a block of sample output from a console program. Nested [9967]samp and [9968]kbd elements allow for the styling of specific elements of the sample output using a style sheet. There's also a few parts of the [9969]samp that are annotated with even more detailed markup, to enable very precise styling. To achieve this, [9970]span elements are used.

    jdoe@mowmow:~$ ssh demo.example.com<
    /kbd>
    Last login: Tue Apr 12 09:10:17 2005 from mowmow.example.com on pts/1
    Linux demo 2.6.10-grsec+gg3+e+fhs6b+nfs+gr0501+++p3+c4a+gr2b-reslog-v6.189 #1 SM
    P Tue Feb 1 11:22:36 PST 2005 i686 unknown
    

    jdoe@demo:~$ _

    This third example shows a block of input and its respective output. The example uses both [9971]code and [9972]samp elements.

    console.log(2.3 + 2.4)
    4.699999999999999
    

    4.5.18 The kbd element

    (BUTTON) ✔MDN

    [9973]Element/kbd

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android4+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [9974]Categories: [9975]Flow content. [9976]Phrasing content. [9977]Palpable content.

    [9978]Contexts in which this element can be used: Where [9979]phrasing content is expected.

    [9980]Content model: [9981]Phrasing content.

    [9982]Tag omission in text/html: Neither tag is omissible.

    [9983]Content attributes: [9984]Global attributes

    [9985]Accessibility considerations: [9986]For authors. [9987]For implementers.

    [9988]DOM interface: Uses [9989]HTMLElement.

    The [9990]kbd element [9991]represents user input (typically keyboard input, although it may also be used to represent other input, such as voice commands).

    When the [9992]kbd element is nested inside a [9993]samp element, it represents the input as it was echoed by the system.

    When the [9994]kbd element contains a [9995]samp element, it represents input based on system output, for example invoking a menu item.

    When the [9996]kbd element is nested inside another [9997]kbd element, it represents an actual key or other single unit of input as appropriate for the input mechanism.

    Here the [9998]kbd element is used to indicate keys to press:

    To make George eat an apple, press Shift + F3

    In this second example, the user is told to pick a particular menu item. The outer [9999]kbd element marks up a block of input, with the inner [10000]kbd elements representing each individual step of the input, and the [10001]samp elements inside them indicating that the steps are input based on something being displayed by the system, in this case menu labels:

    To make George eat an apple, select File|Eat Apple...

    Such precision isn't necessary; the following is equally fine:

    To make George eat an apple, select File | Eat Apple...

    4.5.19 The sub and sup elements

    (BUTTON) ✔MDN

    [10002]Element/sub

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10003]Element/sup

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10004]Categories: [10005]Flow content. [10006]Phrasing content. [10007]Palpable content.

    [10008]Contexts in which this element can be used: Where [10009]phrasing content is expected.

    [10010]Content model: [10011]Phrasing content.

    [10012]Tag omission in text/html: Neither tag is omissible.

    [10013]Content attributes: [10014]Global attributes

    [10015]Accessibility considerations: The [10016]sub element: [10017]for authors; [10018]for implementers. The [10019]sup element: [10020]for authors; [10021]for implementers.

    [10022]DOM interface: Use [10023]HTMLElement.

    The [10024]sup element [10025]represents a superscript and the [10026]sub element [10027]represents a subscript.

    These elements must be used only to mark up typographical conventions with specific meanings, not for typographical presentation for presentation's sake. For example, it would be inappropriate for the [10028]sub and [10029]sup elements to be used in the name of the LaTeX document preparation system. In general, authors should use these elements only if the absence of those elements would change the meaning of the content.

    In certain languages, superscripts are part of the typographical conventions for some abbreviations.

    Their names are Mlle Gwendoline and Mme Denise.

    The [10030]sub element can be used inside a [10031]var element, for variables that have subscripts.

    Here, the [10032]sub element is used to represent the subscript that identifies the variable in a family of variables:

    The coordinate of the ith point is (xi, yi). For example, the 10th point has coordinate (x10, y10).

    Mathematical expressions often use subscripts and superscripts. Authors are encouraged to use MathML for marking up mathematics, but authors may opt to use [10033]sub and [10034]sup if detailed mathematical markup is not desired. [10035][MATHML]

    E=mc2 f(x, n) = log4xn

    4.5.20 The i element

    (BUTTON) ✔MDN

    [10036]Element/i

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10037]Categories: [10038]Flow content. [10039]Phrasing content. [10040]Palpable content.

    [10041]Contexts in which this element can be used: Where [10042]phrasing content is expected.

    [10043]Content model: [10044]Phrasing content.

    [10045]Tag omission in text/html: Neither tag is omissible.

    [10046]Content attributes: [10047]Global attributes

    [10048]Accessibility considerations: [10049]For authors. [10050]For implementers.

    [10051]DOM interface: Uses [10052]HTMLElement.

    The [10053]i element [10054]represents a span of text in an alternate voice or mood, or otherwise offset from the normal prose in a manner indicating a different quality of text, such as a taxonomic designation, a technical term, an idiomatic phrase from another language, transliteration, a thought, or a ship name in Western texts.

    Terms in languages different from the main text should be annotated with [10055]lang attributes (or, in XML, [10056]lang attributes in the XML namespace).

    The examples below show uses of the [10057]i element:

    The Felis silvestris catus is cute.

    The term prose content is defined above.

    There is a certain je ne sais quoi in the air.

    In the following example, a dream sequence is marked up using [10058]i elements.

    Raymond tried to sleep.

    The ship sailed away on Thursday, he dreamt. The ship had many people aboard, including a beautiful princess called Carey. He watched her, day-in, day-out, hoping she would notice him, but she never did.

    Finally one night he picked up the courage to speak with her—

    Raymond woke with a start as the fire alarm rang out.

    Authors can use the [10059]class attribute on the [10060]i element to identify why the element is being used, so that if the style of a particular use (e.g. dream sequences as opposed to taxonomic terms) is to be changed at a later date, the author doesn't have to go through the entire document (or series of related documents) annotating each use.

    Authors are encouraged to consider whether other elements might be more applicable than the [10061]i element, for instance the [10062]em element for marking up stress emphasis, or the [10063]dfn element to mark up the defining instance of a term.

    Style sheets can be used to format [10064]i elements, just like any other element can be restyled. Thus, it is not the case that content in [10065]i elements will necessarily be italicized.

    4.5.21 The b element

    (BUTTON) ✔MDN

    [10066]Element/b

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android4+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10067]Categories: [10068]Flow content. [10069]Phrasing content. [10070]Palpable content.

    [10071]Contexts in which this element can be used: Where [10072]phrasing content is expected.

    [10073]Content model: [10074]Phrasing content.

    [10075]Tag omission in text/html: Neither tag is omissible.

    [10076]Content attributes: [10077]Global attributes

    [10078]Accessibility considerations: [10079]For authors. [10080]For implementers.

    [10081]DOM interface: Uses [10082]HTMLElement.

    The [10083]b element [10084]represents a span of text to which attention is being drawn for utilitarian purposes without conveying any extra importance and with no implication of an alternate voice or mood, such as key words in a document abstract, product names in a review, actionable words in interactive text-driven software, or an article lede.

    The following example shows a use of the [10085]b element to highlight key words without marking them up as important:

    The frobonitor and barbinator components are fried.

    In the following example, objects in a text adventure are highlighted as being special by use of the [10086]b element.

    You enter a small room. Your sword glows brighter. A rat scurries past the corner wall.

    Another case where the [10087]b element is appropriate is in marking up the lede (or lead) sentence or paragraph. The following example shows how a [10088]BBC article about kittens adopting a rabbit as their own could be marked up:

    Kittens ʼadoptedʼ by pet rabbit

    Six abandoned kittens have found an unexpected new mother figure — a pet rabbit.

    Veterinary nurse Melanie Humble took the three-week-old kittens to her Aberdeen home.

    [...]

    As with the [10089]i element, authors can use the [10090]class attribute on the [10091]b element to identify why the element is being used, so that if the style of a particular use is to be changed at a later date, the author doesn't have to go through annotating each use.

    The [10092]b element should be used as a last resort when no other element is more appropriate. In particular, headings should use the [10093]h1 to [10094]h6 elements, stress emphasis should use the [10095]em element, importance should be denoted with the [10096]strong element, and text marked or highlighted should use the [10097]mark element.

    The following would be incorrect usage:

    WARNING! Do not frob the barbinator!

    In the previous example, the correct element to use would have been [10098]strong, not [10099]b.

    Style sheets can be used to format [10100]b elements, just like any other element can be restyled. Thus, it is not the case that content in [10101]b elements will necessarily be boldened.

    4.5.22 The u element

    (BUTTON) ✔MDN

    [10102]Element/u

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android4+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10103]Categories: [10104]Flow content. [10105]Phrasing content. [10106]Palpable content.

    [10107]Contexts in which this element can be used: Where [10108]phrasing content is expected.

    [10109]Content model: [10110]Phrasing content.

    [10111]Tag omission in text/html: Neither tag is omissible.

    [10112]Content attributes: [10113]Global attributes

    [10114]Accessibility considerations: [10115]For authors. [10116]For implementers.

    [10117]DOM interface: Uses [10118]HTMLElement.

    The [10119]u element [10120]represents a span of text with an unarticulated, though explicitly rendered, non-textual annotation, such as labeling the text as being a proper name in Chinese text (a Chinese proper name mark), or labeling the text as being misspelt.

    In most cases, another element is likely to be more appropriate: for marking stress emphasis, the [10121]em element should be used; for marking key words or phrases either the [10122]b element or the [10123]mark element should be used, depending on the context; for marking book titles, the [10124]cite element should be used; for labeling text with explicit textual annotations, the [10125]ruby element should be used; for technical terms, taxonomic designation, transliteration, a thought, or for labeling ship names in Western texts, the [10126]i element should be used.

    The default rendering of the [10127]u element in visual presentations clashes with the conventional rendering of hyperlinks (underlining). Authors are encouraged to avoid using the [10128]u element where it could be confused for a hyperlink.

    In this example, a [10129]u element is used to mark a word as misspelt:

    The see is full of fish.

    4.5.23 The mark element

    (BUTTON) ✔MDN

    [10130]Element/mark

    Support in all current engines. Firefox4+Safari5.1+Chrome7+ __________________________________________________________________

    Opera11+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10131]Categories: [10132]Flow content. [10133]Phrasing content. [10134]Palpable content.

    [10135]Contexts in which this element can be used: Where [10136]phrasing content is expected.

    [10137]Content model: [10138]Phrasing content.

    [10139]Tag omission in text/html: Neither tag is omissible.

    [10140]Content attributes: [10141]Global attributes

    [10142]Accessibility considerations: [10143]For authors. [10144]For implementers.

    [10145]DOM interface: Uses [10146]HTMLElement.

    The [10147]mark element [10148]represents a run of text in one document marked or highlighted for [10149]reference purposes, due to its relevance in another context. When used in a quotation or other block of text referred to from the prose, it indicates a highlight that was not originally present but which has been added to bring the reader's attention to a part of the text that might not have been considered important by the original author when the block was originally written, but which is now under previously unexpected scrutiny. When used in the main prose of a document, it indicates a part of the document that has been highlighted due to its likely relevance to the user's current activity.

    This example shows how the [10150]mark element can be used to bring attention to a particular part of a quotation:

    Consider the following quote:

    Look around and you will find, no-oneʼs really colour blind.

    As we can tell from the spelling of the word, the person writing this quote is clearly not American.

    (If the goal was to mark the element as misspelt, however, the [10151]u element, possibly with a class, would be more appropriate.)

    Another example of the [10152]mark element is highlighting parts of a document that are matching some search string. If someone looked at a document, and the server knew that the user was searching for the word "kitten", then the server might return the document with one paragraph modified as follows:

    I also have some kittens who are visiting me these days. Theyʼre really cute. I think they like my garden! Maybe I should adopt a kitten.

    In the following snippet, a paragraph of text refers to a specific part of a code fragment.

    The highlighted part below is where the error lies:

    var i: Integer;
    begin
       i := 1.1;
    end.

    This is separate from syntax highlighting, for which [10153]span is more appropriate. Combining both, one would get:

    The highlighted part below is where the error lies:

    var i: Integer;
    begin
       i := 1.1;
    end.

    This is another example showing the use of [10154]mark to highlight a part of quoted text that was originally not emphasized. In this example, common typographic conventions have led the author to explicitly style [10155]mark elements in quotes to render in italics.

    She knew

    Did you notice the subtle joke in the joke on panel 4?

    I didnʼt want to believe. Of course on some level I realized it was a known-plaintext attack. But I couldnʼt admit it until I saw for myself.

    (Emphasis mine.) I thought that was great. Itʼs so pedantic, yet it explains everything neatly.

    Note, incidentally, the distinction between the [10156]em element in this example, which is part of the original text being quoted, and the [10157]mark element, which is highlighting a part for comment.

    The following example shows the difference between denoting the importance of a span of text ([10158]strong) as opposed to denoting the relevance of a span of text ([10159]mark). It is an extract from a textbook, where the extract has had the parts relevant to the exam highlighted. The safety warnings, important though they may be, are apparently not relevant to the exam.

    Wormhole Physics Introduction

    A wormhole in normal conditions can be held open for a maximum of just under 39 minutes. Conditions that can increase the time include a powerful energy source coupled to one or both of the gates connecting the wormhole, and a large gravity well (such as a black hole).

    Momentum is preserved across the wormhole. Electromagnetic radiation can travel in both directions through a wormhole, but matter cannot.

    When a wormhole is created, a vortex normally forms. Warning: The vortex caused by the wormhole opening will annihilate anything in its path. Vortexes can be avoided when using sufficiently advanced dialing technology.

    An obstruction in a gate will prevent it from accepting a wormhole connection.

    4.5.24 The bdi element

    (BUTTON) ✔MDN

    [10160]Element/bdi

    Support in all current engines. Firefox10+Safari6+Chrome16+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android?

    [10161]Categories: [10162]Flow content. [10163]Phrasing content. [10164]Palpable content.

    [10165]Contexts in which this element can be used: Where [10166]phrasing content is expected.

    [10167]Content model: [10168]Phrasing content.

    [10169]Tag omission in text/html: Neither tag is omissible.

    [10170]Content attributes: [10171]Global attributes Also, the [10172]dir global attribute has special semantics on this element.

    [10173]Accessibility considerations: [10174]For authors. [10175]For implementers.

    [10176]DOM interface: Uses [10177]HTMLElement.

    The [10178]bdi element [10179]represents a span of text that is to be isolated from its surroundings for the purposes of bidirectional text formatting. [10180][BIDI]

    The [10181]dir global attribute defaults to [10182]auto on this element (it never inherits from the parent element like with other elements).

    This element [10183]has rendering requirements involving the bidirectional algorithm.

    This element is especially useful when embedding user-generated content with an unknown directionality.

    In this example, usernames are shown along with the number of posts that the user has submitted. If the [10184]bdi element were not used, the username of the Arabic user would end up confusing the text (the bidirectional algorithm would put the colon and the number "3" next to the word "User" rather than next to the word "posts").

    • User jcranmer: 12 posts.
    • User hober: 5 posts.
    • User إيان: 3 posts.

    When using the [10185]bdi element, the username acts as expected. If the [10186]bdi element were to be replaced by a [10187]b element, the username would confuse the bidirectional algorithm and the third bullet would end up saying "User 3 :", followed by the Arabic name (right-to-left), followed by "posts" and a period.

    4.5.25 The bdo element

    (BUTTON) ✔MDN

    [10188]Element/bdo

    Support in all current engines. Firefox10+Safari4+Chrome15+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10189]Categories: [10190]Flow content. [10191]Phrasing content. [10192]Palpable content.

    [10193]Contexts in which this element can be used: Where [10194]phrasing content is expected.

    [10195]Content model: [10196]Phrasing content.

    [10197]Tag omission in text/html: Neither tag is omissible.

    [10198]Content attributes: [10199]Global attributes Also, the [10200]dir global attribute has special semantics on this element.

    [10201]Accessibility considerations: [10202]For authors. [10203]For implementers.

    [10204]DOM interface: Uses [10205]HTMLElement.

    The [10206]bdo element [10207]represents explicit text directionality formatting control for its children. It allows authors to override the Unicode bidirectional algorithm by explicitly specifying a direction override. [10208][BIDI]

    Authors must specify the [10209]dir attribute on this element, with the value [10210]ltr to specify a left-to-right override and with the value [10211]rtl to specify a right-to-left override. The [10212]auto value must not be specified.

    This element [10213]has rendering requirements involving the bidirectional algorithm.

    4.5.26 The span element

    (BUTTON) ✔MDN

    [10214]Element/span

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    (BUTTON) ✔MDN

    [10215]HTMLSpanElement

    Support in all current engines. Firefox1+Safari6+Chrome15+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10216]Categories: [10217]Flow content. [10218]Phrasing content. [10219]Palpable content.

    [10220]Contexts in which this element can be used: Where [10221]phrasing content is expected.

    [10222]Content model: [10223]Phrasing content.

    [10224]Tag omission in text/html: Neither tag is omissible.

    [10225]Content attributes: [10226]Global attributes

    [10227]Accessibility considerations: [10228]For authors. [10229]For implementers.

    [10230]DOM interface:

    [Exposed=Window] interface HTMLSpanElement : [10231]HTMLElement { [[10232]HTMLConstructor] constructor(); };

    The [10233]span element doesn't mean anything on its own, but can be useful when used together with the [10234]global attributes, e.g. [10235]class, [10236]lang, or [10237]dir. It [10238]represents its children.

    In this example, a code fragment is marked up using [10239]span elements and [10240]class attributes so that its keywords and identifiers can be color-coded from CSS:

    for (
    j = 0; j < 256; j++) {
      i_t3 = (i_t3 & 0x1ffff)
    | (j << 17);
      i_t6 = (((((((i_t3 >> 3)
     ^ i_t3) >> 1) ^ i_t3) >>
    8) ^ i_t3) >> 5) & 0xff;
      if (i_t6 == i_t1)
        break;
    }

    4.5.27 The br element

    (BUTTON) ✔MDN

    [10241]Element/br

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    (BUTTON) ✔MDN

    [10242]HTMLBRElement

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [10243]Categories: [10244]Flow content. [10245]Phrasing content.

    [10246]Contexts in which this element can be used: Where [10247]phrasing content is expected.

    [10248]Content model: [10249]Nothing.

    [10250]Tag omission in text/html: No [10251]end tag.

    [10252]Content attributes: [10253]Global attributes

    [10254]Accessibility considerations: [10255]For authors. [10256]For implementers.

    [10257]DOM interface:

    [Exposed=Window] interface HTMLBRElement : [10258]HTMLElement { [[10259]HTMLConstructor] constructor();

    // [10260]also has obsolete members };

    The [10261]br element [10262]represents a line break.

    While line breaks are usually represented in visual media by physically moving subsequent text to a new line, a style sheet or user agent would be equally justified in causing line breaks to be rendered in a different manner, for instance as green dots, or as extra spacing.

    [10263]br elements must be used only for line breaks that are actually part of the content, as in poems or addresses.

    The following example is correct usage of the [10264]br element:

    P. Sherman
    42 Wallaby Way
    Sydney

    [10265]br elements must not be used for separating thematic groups in a paragraph.

    The following examples are non-conforming, as they abuse the [10266]br element:

    34 comments.
    Add a comment.


    Here are alternatives to the above, which are correct:

    34 comments.

    Add a comment.

    If a [10267]paragraph consists of nothing but a single [10268]br element, it represents a placeholder blank line (e.g. as in a template). Such blank lines must not be used for presentation purposes.

    Any content inside [10269]br elements must not be considered part of the surrounding text.

    This element [10270]has rendering requirements involving the bidirectional algorithm.

    4.5.28 The wbr element

    (BUTTON) ✔MDN

    [10271]Element/wbr

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera11.6+Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet Explorer5.5–7 __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+

    [10272]Categories: [10273]Flow content. [10274]Phrasing content.

    [10275]Contexts in which this element can be used: Where [10276]phrasing content is expected.

    [10277]Content model: [10278]Nothing.

    [10279]Tag omission in text/html: No [10280]end tag.

    [10281]Content attributes: [10282]Global attributes

    [10283]Accessibility considerations: [10284]For authors. [10285]For implementers.

    [10286]DOM interface: Uses [10287]HTMLElement.

    The [10288]wbr element [10289]represents a line break opportunity.

    In the following example, someone is quoted as saying something which, for effect, is written as one long word. However, to ensure that the text can be wrapped in a readable fashion, the individual words in the quote are separated using a [10290]wbr element.

    So then she pointed at the tiger and screamed "thereisnowayyouareevergoingtocatch me"!

    Any content inside [10291]wbr elements must not be considered part of the surrounding text. var wbr = document.createElement("wbr"); wbr.textContent = "This is wrong"; document.body.appendChild(wbr);

    This element [10292]has rendering requirements involving the bidirectional algorithm.

    4.5.29 Usage summary

    This section is non-normative.

    Element Purpose Example [10293]a Hyperlinks Visit my drinks page.

    [10294]em Stress emphasis I must say I adore lemonade.

    [10295]strong Importance This tea is very hot.

    [10296]small Side comments These grapes are made into wine. Alcohol is addictive.

    [10297]s Inaccurate text Price: £4.50 £2.00!

    [10298]cite Titles of works The case Hugo v. Danielle is relevant here.

    [10299]q Quotations The judge said You can drink water from the fish tank but advised against it.

    [10300]dfn Defining instance The term organic food refers to food produced without synthetic chemi cals.

    [10301]abbr Abbreviations Organic food in Ireland is certified by the IOFGA.

    [10302]ruby, [10303]rt, [10304]rp Ruby annotations OJ (Orange Juice)

    [10305]data Machine-readable equivalent Available starting today! North Coast Organic App le Cider

    [10306]time Machine-readable equivalent of date- or time-related data Available starting on !

    [10307]code Computer code The fruitdb program can be used for tracking fruit production.

    [10308]var Variables If there are n fruit in the bowl, at least n÷2 will be rip e.

    [10309]samp Computer output The computer said Unknown error -3.

    [10310]kbd User input Hit F1 to continue.

    [10311]sub Subscripts Water is H2O.

    [10312]sup Superscripts The Hydrogen in heavy water is usually 2H.

    [10313]i Alternative voice Lemonade consists primarily of Citrus limon.

    [10314]b Keywords Take a lemon and squeeze it with a juicer.

    [10315]u Annotations The mixture of apple juice and eldeflower juice is very pleasant.

    [10316]mark Highlight Elderflower cordial, with one part cordial to ten part s water, stands apart from the rest.

    [10317]bdi Text directionality isolation The recommended restaurant is My Juice Café (At The Beach).

    [10318]bdo Text directionality formatting The proposal is to write English, but in reverse order. "Juice" would become "Juice">

    [10319]span Other In French we call it sirop de sureau.

    [10320]br Line break Simply Orange Juice Company
    Apopka, FL 32703
    U.S.A.

    [10321]wbr Line breaking opportunity www.simplyorangejuice.com

    4.6 Links

    4.6.1 Introduction

    Links are a conceptual construct, created by [10322]a, [10323]area, [10324]form, and [10325]link elements, that [10326]represent a connection between two resources, one of which is the current [10327]Document. There are three kinds of links in HTML:

    Links to external resources These are links to resources that are to be used to augment the current document, generally automatically processed by the user agent. All [10328]external resource links have a [10329]fetch and process the linked resource algorithm which describes how the resource is obtained.

    Hyperlinks These are links to other resources that are generally exposed to the user by the user agent so that the user can cause the user agent to [10330]navigate to those resources, e.g. to visit them in a browser or download them.

    Internal resource links These are links to resources within the current document, used to give those resources special meaning or behavior.

    For [10331]link elements with an [10332]href attribute and a [10333]rel attribute, links must be created for the keywords of the [10334]rel attribute, as defined for those keywords in the [10335]link types section.

    Similarly, for [10336]a and [10337]area elements with an [10338]href attribute and a [10339]rel attribute, links must be created for the keywords of the [10340]rel attribute as defined for those keywords in the [10341]link types section. Unlike [10342]link elements, however, [10343]a and [10344]area elements with an [10345]href attribute that either do not have a [10346]rel attribute, or whose [10347]rel attribute has no keywords that are defined as specifying [10348]hyperlinks, must also create a [10349]hyperlink. This implied hyperlink has no special meaning (it has no [10350]link type) beyond linking the element's [10351]node document to the resource given by the element's [10352]href attribute.

    Similarly, for [10353]form elements with a [10354]rel attribute, links must be created for the keywords of the [10355]rel attribute as defined for those keywords in the [10356]link types section. [10357]form elements that do not have a [10358]rel attribute, or whose [10359]rel attribute has no keywords that are defined as specifying [10360]hyperlinks, must also create a [10361]hyperlink.

    A [10362]hyperlink can have one or more hyperlink annotations that modify the processing semantics of that hyperlink.

    4.6.2 Links created by [10363]a and [10364]area elements

    The href attribute on [10365]a and [10366]area elements must have a value that is a [10367]valid URL potentially surrounded by spaces.

    The [10368]href attribute on [10369]a and [10370]area elements is not required; when those elements do not have [10371]href attributes they do not create hyperlinks.

    The target attribute, if present, must be a [10372]valid navigable target name or keyword. It gives the name of the [10373]navigable that will be used. User agents use this name when [10374]following hyperlinks.

    The download attribute, if present, indicates that the author intends the hyperlink to be used for [10375]downloading a resource. The attribute may have a value; the value, if any, specifies the default filename that the author recommends for use in labeling the resource in a local file system. There are no restrictions on allowed values, but authors are cautioned that most file systems have limitations with regard to what punctuation is supported in filenames, and user agents are likely to adjust filenames accordingly.

    (BUTTON) ✔MDN

    [10376]Element/a#attr-ping

    Support in all current engines. Firefox🔰 1+Safari6+Chrome12+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)17+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android≤37+Samsung Internet?Opera Android?

    The ping attribute, if present, gives the URLs of the resources that are interested in being notified if the user follows the hyperlink. The value must be a [10377]set of space-separated tokens, each of which must be a [10378]valid non-empty URL whose [10379]scheme is an [10380]HTTP(S) scheme. The value is used by the user agent for [10381]hyperlink auditing.

    The rel attribute on [10382]a and [10383]area elements controls what kinds of links the elements create. The attribute's value must be an [10384]unordered set of unique space-separated tokens. The [10385]allowed keywords and their meanings are defined below.

    [10386]rel's [10387]supported tokens are the keywords defined in [10388]HTML link types which are allowed on [10389]a and [10390]area elements, impact the processing model, and are supported by the user agent. The possible [10391]supported tokens are [10392]noreferrer, [10393]noopener, and [10394]opener. [10395]rel's [10396]supported tokens must only include the tokens from this list that the user agent implements the processing model for.

    The [10397]rel attribute has no default value. If the attribute is omitted or if none of the values in the attribute are recognized by the user agent, then the document has no particular relationship with the destination resource other than there being a hyperlink between the two.

    The hreflang attribute on [10398]a elements that create [10399]hyperlinks, if present, gives the language of the linked resource. It is purely advisory. The value must be a valid BCP 47 language tag. [10400][BCP47] User agents must not consider this attribute authoritative — upon fetching the resource, user agents must use only language information associated with the resource to determine its language, not metadata included in the link to the resource.

    The type attribute, if present, gives the [10401]MIME type of the linked resource. It is purely advisory. The value must be a [10402]valid MIME type string. User agents must not consider the [10403]type attribute authoritative — upon fetching the resource, user agents must not use metadata included in the link to the resource to determine its type.

    The referrerpolicy attribute is a [10404]referrer policy attribute. Its purpose is to set the [10405]referrer policy used when [10406]following hyperlinks. [10407][REFERRERPOLICY] __________________________________________________________________

    When an [10408]a or [10409]area element's [10410]activation behavior is invoked, the user agent may allow the user to indicate a preference regarding whether the hyperlink is to be used for [10411]navigation or whether the resource it specifies is to be downloaded.

    In the absence of a user preference, the default should be navigation if the element has no [10412]download attribute, and should be to download the specified resource if it does.

    The [10413]activation behavior of an [10414]a or [10415]area element element given an event event is: 1. If element has no [10416]href attribute, then return. 2. Let hyperlinkSuffix be null. 3. If element is an [10417]a element, and event's [10418]target is an [10419]img with an [10420]ismap attribute specified, then: 1. Let x and y be 0. 2. If event's [10421]isTrusted attribute is initialized to true, then set x to the distance in [10422]CSS pixels from the left edge of the image to the location of the click, and set y to the distance in [10423]CSS pixels from the top edge of the image to the location of the click. 3. If x is negative, set x to 0. 4. If y is negative, set y to 0. 5. Set hyperlinkSuffix to the concatenation of U+003F (?), the value of x expressed as a base-ten integer using [10424]ASCII digits, U+002C (,), and the value of y expressed as a base-ten integer using [10425]ASCII digits. 4. Let userInvolvement be event's [10426]user navigation involvement. 5. If the user has expressed a preference to download the hyperlink, then set userInvolvement to "[10427]browser UI". That is, if the user has expressed a specific preference for downloading, this no longer counts as merely "[10428]activation". 6. If element has a [10429]download attribute, or if the user has expressed a preference to download the hyperlink, then [10430]download the hyperlink created by element with [10431]hyperlinkSuffix set to hyperlinkSuffix and [10432]userInvolvement set to userInvolvement. 7. Otherwise, [10433]follow the hyperlink created by element with [10434]hyperlinkSuffix set to hyperlinkSuffix and [10435]userInvolvement set to userInvolvement.

    4.6.3 API for [10436]a and [10437]area elements

    interface mixin HTMLHyperlinkElementUtils { [[10438]CEReactions] stringifier attribute USVString [10439]href; readonly attribute USVString [10440]origin; [[10441]CEReactions] attribute USVString [10442]protocol; [[10443]CEReactions] attribute USVString [10444]username; [[10445]CEReactions] attribute USVString [10446]password; [[10447]CEReactions] attribute USVString [10448]host; [[10449]CEReactions] attribute USVString [10450]hostname; [[10451]CEReactions] attribute USVString [10452]port; [[10453]CEReactions] attribute USVString [10454]pathname; [[10455]CEReactions] attribute USVString [10456]search; [[10457]CEReactions] attribute USVString [10458]hash; };

    hyperlink.toString() hyperlink.[10459]href

    (BUTTON) ✔MDN

    [10460]HTMLAnchorElement/href

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [10461]HTMLAnchorElement/toString

    Support in all current engines.

    Firefox22+Safari3+Chrome52+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10462]HTMLAreaElement/href

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [10463]HTMLAreaElement/toString

    Support in all current engines.

    Firefox22+Safari10.1+Chrome32+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the hyperlink's URL.

    Can be set, to change the URL.

    hyperlink.[10464]origin

    (BUTTON) ✔MDN

    [10465]HTMLAnchorElement/origin

    Support in all current engines.

    Firefox26+Safari5.1+Chrome8+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)17+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android3+Samsung Internet?Opera Android?

    [10466]HTMLAreaElement/origin

    Support in all current engines.

    Firefox26+Safari10+Chrome32+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)17+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android? Returns the hyperlink's URL's origin.

    hyperlink.[10467]protocol

    (BUTTON) ✔MDN

    [10468]HTMLAnchorElement/protocol

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10469]HTMLAreaElement/protocol

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the hyperlink's URL's scheme.

    Can be set, to change the URL's scheme.

    hyperlink.[10470]username

    (BUTTON) ✔MDN

    [10471]HTMLAnchorElement/username

    Support in all current engines.

    Firefox26+Safari10+Chrome32+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10472]HTMLAreaElement/username

    Support in all current engines.

    Firefox26+Safari10+Chrome32+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the hyperlink's URL's username.

    Can be set, to change the URL's username.

    hyperlink.[10473]password

    (BUTTON) ✔MDN

    [10474]HTMLAnchorElement/password

    Support in all current engines.

    Firefox26+Safari10+Chrome32+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10475]HTMLAreaElement/password

    Support in all current engines.

    Firefox26+Safari10+Chrome32+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the hyperlink's URL's password.

    Can be set, to change the URL's password.

    hyperlink.[10476]host

    (BUTTON) ✔MDN

    [10477]HTMLAnchorElement/host

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10478]HTMLAreaElement/host

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the hyperlink's URL's host and port (if different from the default port for the scheme).

    Can be set, to change the URL's host and port.

    hyperlink.[10479]hostname

    (BUTTON) ✔MDN

    [10480]HTMLAnchorElement/hostname

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10481]HTMLAreaElement/hostname

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the hyperlink's URL's host.

    Can be set, to change the URL's host.

    hyperlink.[10482]port

    (BUTTON) ✔MDN

    [10483]HTMLAnchorElement/port

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10484]HTMLAreaElement/port

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the hyperlink's URL's port.

    Can be set, to change the URL's port.

    hyperlink.[10485]pathname

    (BUTTON) ✔MDN

    [10486]HTMLAnchorElement/pathname

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10487]HTMLAreaElement/pathname

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the hyperlink's URL's path.

    Can be set, to change the URL's path.

    hyperlink.[10488]search

    (BUTTON) ✔MDN

    [10489]HTMLAnchorElement/search

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10490]HTMLAreaElement/search

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the hyperlink's URL's query (includes leading "?" if non-empty).

    Can be set, to change the URL's query (ignores leading "?").

    hyperlink.[10491]hash

    (BUTTON) ✔MDN

    [10492]HTMLAnchorElement/hash

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [10493]HTMLAreaElement/hash

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the hyperlink's URL's fragment (includes leading "#" if non-empty).

    Can be set, to change the URL's fragment (ignores leading "#").

    An element implementing the [10494]HTMLHyperlinkElementUtils mixin has an associated url (null or a [10495]URL). It is initially null.

    An element implementing the [10496]HTMLHyperlinkElementUtils mixin has an associated set the url algorithm, which runs these steps: 1. Set this element's [10497]url to null. 2. If this element's [10498]href content attribute is absent, then return. 3. Let url be the result of [10499]encoding-parsing a URL given this element's [10500]href content attribute's value, relative to this element's [10501]node document. 4. If url is not failure, then set this element's [10502]url to url.

    When elements implementing the [10503]HTMLHyperlinkElementUtils mixin are created, and whenever those elements have their [10504]href content attribute set, changed, or removed, the user agent must [10505]set the url.

    This is only observable for [10506]blob: URLs as [10507]parsing them involves a [10508]Blob URL Store lookup.

    An element implementing the [10509]HTMLHyperlinkElementUtils mixin has an associated reinitialize url algorithm, which runs these steps: 1. If the element's [10510]url is non-null, its [10511]scheme is "blob", and it has an [10512]opaque path, then terminate these steps. 2. [10513]Set the url.

    To update href, set the element's [10514]href content attribute's value to the element's [10515]url, [10516]serialized. __________________________________________________________________

    The href getter steps are: 1. [10517]Reinitialize url. 2. Let url be [10518]this's [10519]url. 3. If url is null and [10520]this has no [10521]href content attribute, return the empty string. 4. Otherwise, if url is null, return [10522]this's [10523]href content attribute's value. 5. Return url, [10524]serialized.

    The [10525]href setter steps are to set [10526]this's [10527]href content attribute's value to the given value.

    The origin getter steps are: 1. [10528]Reinitialize url. 2. If [10529]this's [10530]url is null, return the empty string. 3. Return the [10531]serialization of [10532]this's [10533]url's [10534]origin.

    The protocol getter steps are: 1. [10535]Reinitialize url. 2. If [10536]this's [10537]url is null, return ":". 3. Return [10538]this's [10539]url's [10540]scheme, followed by ":".

    The [10541]protocol setter steps are: 1. [10542]Reinitialize url. 2. If [10543]this's [10544]url is null, then return. 3. [10545]Basic URL parse the given value, followed by ":", with [10546]this's [10547]url as [10548]url and [10549]scheme start state as [10550]state override. Because the URL parser ignores multiple consecutive colons, providing a value of "https:" (or even "https::::") is the same as providing a value of "https". 4. [10551]Update href.

    The username getter steps are: 1. [10552]Reinitialize url. 2. If [10553]this's [10554]url is null, return the empty string. 3. Return [10555]this's [10556]url's [10557]username.

    The [10558]username setter steps are: 1. [10559]Reinitialize url. 2. Let url be [10560]this's [10561]url. 3. If url is null or url [10562]cannot have a username/password/port, then return. 4. [10563]Set the username, given url and the given value. 5. [10564]Update href.

    The password getter steps are: 1. [10565]Reinitialize url. 2. Let url be [10566]this's [10567]url. 3. If url is null, then return the empty string. 4. Return url's [10568]password.

    The [10569]password setter steps are: 1. [10570]Reinitialize url. 2. Let url be [10571]this's [10572]url. 3. If url is null or url [10573]cannot have a username/password/port, then return. 4. [10574]Set the password, given url and the given value. 5. [10575]Update href.

    The host getter steps are: 1. [10576]Reinitialize url. 2. Let url be [10577]this's [10578]url. 3. If url or url's [10579]host is null, return the empty string. 4. If url's [10580]port is null, return url's [10581]host, [10582]serialized. 5. Return url's [10583]host, [10584]serialized, followed by ":" and url's [10585]port, [10586]serialized.

    The [10587]host setter steps are: 1. [10588]Reinitialize url. 2. Let url be [10589]this's [10590]url. 3. If url is null or url has an [10591]opaque path, then return. 4. [10592]Basic URL parse the given value, with url as [10593]url and [10594]host state as [10595]state override. 5. [10596]Update href.

    The hostname getter steps are: 1. [10597]Reinitialize url. 2. Let url be [10598]this's [10599]url. 3. If url or url's [10600]host is null, return the empty string. 4. Return url's [10601]host, [10602]serialized.

    The [10603]hostname setter steps are: 1. [10604]Reinitialize url. 2. Let url be [10605]this's [10606]url. 3. If url is null or url has an [10607]opaque path, then return. 4. [10608]Basic URL parse the given value, with url as [10609]url and [10610]hostname state as [10611]state override. 5. [10612]Update href.

    The port getter steps are: 1. [10613]Reinitialize url. 2. Let url be [10614]this's [10615]url. 3. If url or url's [10616]port is null, return the empty string. 4. Return url's [10617]port, [10618]serialized.

    The [10619]port setter steps are: 1. [10620]Reinitialize url. 2. Let url be [10621]this's [10622]url. 3. If url is null or url [10623]cannot have a username/password/port, then return. 4. If the given value is the empty string, then set url's [10624]port to null. 5. Otherwise, [10625]basic URL parse the given value, with url as [10626]url and [10627]port state as [10628]state override. 6. [10629]Update href.

    The pathname getter steps are: 1. [10630]Reinitialize url. 2. Let url be [10631]this's [10632]url. 3. If url is null, then return the empty string. 4. Return the result of [10633]URL path serializing url.

    The [10634]pathname setter steps are: 1. [10635]Reinitialize url. 2. Let url be [10636]this's [10637]url. 3. If url is null or url has an [10638]opaque path, then return. 4. Set url's [10639]path to the empty list. 5. [10640]Basic URL parse the given value, with url as [10641]url and [10642]path start state as [10643]state override. 6. [10644]Update href.

    The search getter steps are: 1. [10645]Reinitialize url. 2. Let url be [10646]this's [10647]url. 3. If url is null, or url's [10648]query is either null or the empty string, return the empty string. 4. Return "?", followed by url's [10649]query.

    The [10650]search setter steps are: 1. [10651]Reinitialize url. 2. Let url be [10652]this's [10653]url. 3. If url is null, terminate these steps. 4. If the given value is the empty string, set url's [10654]query to null. 5. Otherwise: 1. Let input be the given value with a single leading "?" removed, if any. 2. Set url's [10655]query to the empty string. 3. [10656]Basic URL parse input, with url as [10657]url and [10658]query state as [10659]state override. 6. [10660]Update href.

    The hash getter steps are: 1. [10661]Reinitialize url. 2. Let url be [10662]this's [10663]url. 3. If url is null, or url's [10664]fragment is either null or the empty string, return the empty string. 4. Return "#", followed by url's [10665]fragment.

    The [10666]hash setter steps are: 1. [10667]Reinitialize url. 2. Let url be [10668]this's [10669]url. 3. If url is null, then return. 4. If the given value is the empty string, set url's [10670]fragment to null. 5. Otherwise: 1. Let input be the given value with a single leading "#" removed, if any. 2. Set url's [10671]fragment to the empty string. 3. [10672]Basic URL parse input, with url as [10673]url and [10674]fragment state as [10675]state override. 6. [10676]Update href.

    4.6.4 Following hyperlinks

    An element element cannot navigate if any of the following are true: * element's [10677]node document is not [10678]fully active; or * element is not an [10679]a element and is not [10680]connected.

    This is also used by [10681]form submission for the [10682]form element. The exception for [10683]a elements is for compatibility with web content.

    To get an element's noopener, given an [10684]a, [10685]area, or [10686]form element element, a [10687]URL record url, and a string target, perform the following steps. They return a boolean. 1. If element's [10688]link types include the [10689]noopener or [10690]noreferrer keyword, then return true. 2. If element's [10691]link types do not include the [10692]opener keyword and target is an [10693]ASCII case-insensitive match for "_blank", then return true. 3. If url's [10694]blob URL entry is not null: 1. Let blobOrigin be url's [10695]blob URL entry's [10696]environment's [10697]origin. 2. Let topLevelOrigin be element's [10698]relevant settings object's [10699]top-level origin. 3. If blobOrigin is not [10700]same site with topLevelOrigin, then return true. 4. Return false.

    To follow the hyperlink created by an element subject, given an optional hyperlinkSuffix (default null) and an optional userInvolvement (default "[10701]none"): 1. If subject [10702]cannot navigate, then return. 2. Let targetAttributeValue be the empty string. 3. If subject is an [10703]a or [10704]area element, then set targetAttributeValue to the result of [10705]getting an element's target given subject. 4. Let urlRecord be the result of [10706]encoding-parsing a URL given subject's [10707]href attribute value, relative to subject's [10708]node document. 5. If urlRecord is failure, then return. 6. Let noopener be the result of [10709]getting an element's noopener with subject, urlRecord, and targetAttributeValue. 7. Let targetNavigable be the first return value of applying [10710]the rules for choosing a navigable given targetAttributeValue, subject's [10711]node navigable, and noopener. 8. If targetNavigable is null, then return. 9. Let urlString be the result of applying the [10712]URL serializer to urlRecord. 10. If hyperlinkSuffix is non-null, then append it to urlString. 11. Let referrerPolicy be the current state of subject's referrerpolicy content attribute. 12. If subject's [10713]link types includes the [10714]noreferrer keyword, then set referrerPolicy to "no-referrer". 13. [10715]Navigate targetNavigable to urlString using subject's [10716]node document, with [10717]referrerPolicy set to referrerPolicy, [10718]userInvolvement set to userInvolvement, and [10719]sourceElement set to subject. Unlike many other types of navigations, following hyperlinks does not have special "[10720]replace" behavior for when documents are not [10721]completely loaded. This is true for both user-initiated instances of following hyperlinks, as well as script-triggered ones via, e.g., aElement.click().

    4.6.5 Downloading resources

    (BUTTON) ✔MDN

    [10722]HTMLAnchorElement/download

    Support in all current engines. Firefox20+Safari10.1+Chrome15+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)13+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    In some cases, resources are intended for later use rather than immediate viewing. To indicate that a resource is intended to be downloaded for use later, rather than immediately used, the [10723]download attribute can be specified on the [10724]a or [10725]area element that creates the [10726]hyperlink to that resource.

    The attribute can furthermore be given a value, to specify the filename that user agents are to use when storing the resource in a file system. This value can be overridden by the `[10727]Content-Disposition` HTTP header's filename parameters. [10728][RFC6266]

    In cross-origin situations, the [10729]download attribute has to be combined with the `[10730]Content-Disposition` HTTP header, specifically with the attachment disposition type, to avoid the user being warned of possibly nefarious activity. (This is to protect users from being made to download sensitive personal or confidential information without their full understanding.) __________________________________________________________________

    To download the hyperlink created by an element subject, given an optional hyperlinkSuffix (default null) and an optional userInvolvement (default "[10731]none"): 1. If subject [10732]cannot navigate, then return. 2. If subject's [10733]node document's [10734]active sandboxing flag set has the [10735]sandboxed downloads browsing context flag set, then return. 3. Let urlString be the result of [10736]encoding-parsing-and-serializing a URL given subject's [10737]href attribute value, relative to subject's [10738]node document. 4. If urlString is failure, then return. 5. If hyperlinkSuffix is non-null, then append it to urlString. 6. If userInvolvement is not "[10739]browser UI", then: 1. [10740]Assert: subject has a [10741]download attribute. 2. Let navigation be subject's [10742]relevant global object's [10743]navigation API. 3. Let filename be the value of subject's [10744]download attribute. 4. Let continue be the result of [10745]firing a download request navigate event at navigation with [10746]destinationURL set to urlString, [10747]userInvolvement set to userInvolvement, [10748]sourceElement set to subject, and [10749]filename set to filename. 5. If continue is false, then return. 7. Run these steps [10750]in parallel: 1. Optionally, the user agent may abort these steps, if it believes doing so would safeguard the user from a potentially hostile download. 2. Let request be a new [10751]request whose [10752]URL is urlString, [10753]client is [10754]entry settings object, [10755]initiator is "download", [10756]destination is the empty string, and whose [10757]synchronous flag and [10758]use-URL-credentials flag are set. 3. [10759]Handle as a download the result of [10760]fetching request.

    To handle as a download a [10761]response response: 1. Let suggestedFilename be the result of [10762]getting the suggested filename for response. 2. Provide the user with a way to save response for later use. If the user agent needs a filename, it should use suggestedFilename. Report any problems downloading the file to the user. 3. Return suggestedFilename.

    To get the suggested filename for a [10763]response response:

    This algorithm is intended to mitigate security dangers involved in downloading files from untrusted sites, and user agents are strongly urged to follow it. 1. Let filename be the undefined value. 2. If response has a `[10764]Content-Disposition` header, that header specifies the attachment disposition type, and the header includes filename information, then let filename have the value specified by the header, and jump to the step labeled sanitize below. [10765][RFC6266] 3. Let interface origin be the [10766]origin of the [10767]Document in which the [10768]download or [10769]navigate action resulting in the download was initiated, if any. 4. Let response origin be the [10770]origin of the URL of response, unless that URL's [10771]scheme component is data, in which case let response origin be the same as the interface origin, if any. 5. If there is no interface origin, then let trusted operation be true. Otherwise, let trusted operation be true if response origin is the [10772]same origin as interface origin, and false otherwise. 6. If trusted operation is true and response has a `[10773]Content-Disposition` header and that header includes filename information, then let filename have the value specified by the header, and jump to the step labeled sanitize below. [10774][RFC6266] 7. If the download was not initiated from a [10775]hyperlink created by an [10776]a or [10777]area element, or if the element of the [10778]hyperlink from which it was initiated did not have a [10779]download attribute when the download was initiated, or if there was such an attribute but its value when the download was initiated was the empty string, then jump to the step labeled no proposed filename. 8. Let proposed filename have the value of the [10780]download attribute of the element of the [10781]hyperlink that initiated the download at the time the download was initiated. 9. If trusted operation is true, let filename have the value of proposed filename, and jump to the step labeled sanitize below. 10. If response has a `[10782]Content-Disposition` header and that header specifies the attachment disposition type, let filename have the value of proposed filename, and jump to the step labeled sanitize below. [10783][RFC6266] 11. No proposed filename: If trusted operation is true, or if the user indicated a preference for having the response in question downloaded, let filename have a value derived from the [10784]URL of response in an [10785]implementation-defined manner, and jump to the step labeled sanitize below. 12. Let filename be set to the user's preferred filename or to a filename selected by the user agent, and jump to the step labeled sanitize below. If the algorithm reaches this step, then a download was begun from a different origin than response, and the origin did not mark the file as suitable for downloading, and the download was not initiated by the user. This could be because a [10786]download attribute was used to trigger the download, or because response is not of a type that the user agent supports. This could be dangerous, because, for instance, a hostile server could be trying to get a user to unknowingly download private information and then re-upload it to the hostile server, by tricking the user into thinking the data is from the hostile server. Thus, it is in the user's interests that the user be somehow notified that response comes from quite a different source, and to prevent confusion, any suggested filename from the potentially hostile interface origin should be ignored. 13. Sanitize: Optionally, allow the user to influence filename. For example, a user agent could prompt the user for a filename, potentially providing the value of filename as determined above as a default value. 14. Adjust filename to be suitable for the local file system. For example, this could involve removing characters that are not legal in filenames, or trimming leading and trailing whitespace. 15. If the platform conventions do not in any way use [10787]extensions to determine the types of file on the file system, then return filename as the filename. 16. Let claimed type be the type given by response's [10788]Content-Type metadata, if any is known. Let named type be the type given by filename's [10789]extension, if any is known. For the purposes of this step, a type is a mapping of a [10790]MIME type to an [10791]extension. 17. If named type is consistent with the user's preferences (e.g., because the value of filename was determined by prompting the user), then return filename as the filename. 18. If claimed type and named type are the same type (i.e., the type given by response's [10792]Content-Type metadata is consistent with the type given by filename's [10793]extension), then return filename as the filename. 19. If the claimed type is known, then alter filename to add an [10794]extension corresponding to claimed type. Otherwise, if named type is known to be potentially dangerous (e.g. it will be treated by the platform conventions as a native executable, shell script, HTML application, or executable-macro-capable document) then optionally alter filename to add a known-safe [10795]extension (e.g. ".txt"). This last step would make it impossible to download executables, which might not be desirable. As always, implementers are forced to balance security and usability in this matter. 20. Return filename as the filename.

    For the purposes of this algorithm, a file extension consists of any part of the filename that platform conventions dictate will be used for identifying the type of the file. For example, many operating systems use the part of the filename following the last dot (".") in the filename to determine the type of the file, and from that the manner in which the file is to be opened or executed.

    User agents should ignore any directory or path information provided by the response itself, its [10796]URL, and any [10797]download attribute, in deciding where to store the resulting file in the user's file system.

    4.6.6 Hyperlink auditing

    If a [10798]hyperlink created by an [10799]a or [10800]area element has a [10801]ping attribute, and the user follows the hyperlink, and the value of the element's [10802]href attribute can be [10803]parsed, relative to the element's [10804]node document, without failure, then the user agent must take the [10805]ping attribute's value, [10806]split that string on ASCII whitespace, [10807]parse each resulting token, relative to the element's [10808]node document, and then run these steps for each resulting [10809]URL ping URL, ignoring when parsing returns failure: 1. If ping URL's [10810]scheme is not an [10811]HTTP(S) scheme, then return. 2. Optionally, return. (For example, the user agent might wish to ignore any or all ping URLs in accordance with the user's expressed preferences.) 3. Let settingsObject be the element's [10812]node document's [10813]relevant settings object. 4. Let request be a new [10814]request whose [10815]URL is ping URL, [10816]method is `POST`, [10817]header list is « (`[10818]Content-Type`, `[10819]text/ping`) », [10820]body is `PING`, [10821]client is settingsObject, [10822]destination is the empty string, [10823]credentials mode is "include", [10824]referrer is "no-referrer", and whose [10825]use-URL-credentials flag is set, and whose [10826]initiator type is "ping". 5. Let target URL be the result of [10827]encoding-parsing-and-serializing a URL given the element's [10828]href attribute's value, relative to the element's [10829]node document, and then:

    If the [10830]URL of the [10831]Document object containing the hyperlink being audited and ping URL have the [10832]same origin

    If the origins are different, but the [10833]scheme of the [10834]URL of the [10835]Document containing the hyperlink being audited is not "https" request must include a `[10836]Ping-From` header with, as its value, the [10837]URL of the document containing the hyperlink, and a `[10838]Ping-To` HTTP header with, as its value, the target URL.

    Otherwise request must include a `[10839]Ping-To` HTTP header with, as its value, target URL. request does not include a `[10840]Ping-From` header.

    6. [10841]Fetch request.

    This may be done [10842]in parallel with the primary fetch, and is independent of the result of that fetch.

    User agents should allow the user to adjust this behavior, for example in conjunction with a setting that disables the sending of HTTP `[10843]Referer` (sic) headers. Based on the user's preferences, UAs may either [10844]ignore the [10845]ping attribute altogether, or selectively ignore URLs in the list (e.g. ignoring any third-party URLs); this is explicitly accounted for in the steps above.

    User agents must ignore any entity bodies returned in the responses. User agents may close the connection prematurely once they start receiving a response body.

    When the [10846]ping attribute is present, user agents should clearly indicate to the user that following the hyperlink will also cause secondary requests to be sent in the background, possibly including listing the actual target URLs.

    For example, a visual user agent could include the hostnames of the target ping URLs along with the hyperlink's actual URL in a status bar or tooltip.

    The [10847]ping attribute is redundant with pre-existing technologies like HTTP redirects and JavaScript in allowing web pages to track which off-site links are most popular or allowing advertisers to track click-through rates.

    However, the [10848]ping attribute provides these advantages to the user over those alternatives: * It allows the user to see the final target URL unobscured. * It allows the UA to inform the user about the out-of-band notifications. * It allows the user to disable the notifications without losing the underlying link functionality. * It allows the UA to optimize the use of available network bandwidth so that the target page loads faster.

    Thus, while it is possible to track users without this feature, authors are encouraged to use the [10849]ping attribute so that the user agent can make the user experience more transparent.

    4.6.6.1 The `[10850]Ping-From` and `[10851]Ping-To` headers

    The `Ping-From` and `Ping-To` HTTP request headers are included in [10852]hyperlink auditing requests. Their value is a [10853]URL, [10854]serialized.

    4.6.7 Link types

    (BUTTON) ✔MDN

    [10855]Link_types

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera9+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+

    [10856]Link_types

    The following table summarizes the link types that are defined by this specification, by their corresponding keywords. This table is non-normative; the actual definitions for the link types are given in the next few sections.

    In this section, the term referenced document refers to the resource identified by the element representing the link, and the term current document refers to the resource within which the element representing the link finds itself.

    To determine which link types apply to a [10857]link, [10858]a, [10859]area, or [10860]form element, the element's rel attribute must be [10861]split on ASCII whitespace. The resulting tokens are the keywords for the link types that apply to that element.

    Except where otherwise specified, a keyword must not be specified more than once per [10862]rel attribute.

    Some of the sections that follow the table below list synonyms for certain keywords. The indicated synonyms are to be handled as specified by user agents, but must not be used in documents (for example, the keyword "copyright").

    Keywords are always [10863]ASCII case-insensitive, and must be compared as such.

    Thus, rel="next" is the same as rel="NEXT".

    Keywords that are body-ok affect whether [10864]link elements are [10865]allowed in the body. The [10866]body-ok keywords are [10867]dns-prefetch, [10868]modulepreload, [10869]pingback, [10870]preconnect, [10871]prefetch, [10872]preload, and [10873]stylesheet.

    New link types that are to be implemented by web browsers are to be added to this standard. The remainder can be [10874]registered as extensions.

    Link type Effect on... [10875]body-ok Has `[10876]Link` processing Brief description [10877]link [10878]a and [10879]area [10880]form [10881]alternate [10882]Hyperlink not allowed · · Gives alternate representations of the current document. [10883]canonical [10884]Hyperlink not allowed · · Gives the preferred URL for the current document. [10885]author [10886]Hyperlink not allowed · · Gives a link to the author of the current document or article. [10887]bookmark not allowed [10888]Hyperlink not allowed · · Gives the permalink for the nearest ancestor section. [10889]dns-prefetch [10890]External Resource not allowed Yes · Specifies that the user agent should preemptively perform DNS resolution for the target resource's [10891]origin. [10892]expect [10893]Internal Resource not allowed · · Expect an element with the target ID to appear in the current document. [10894]external not allowed [10895]Annotation · · Indicates that the referenced document is not part of the same site as the current document. [10896]help [10897]Hyperlink · · Provides a link to context-sensitive help. [10898]icon [10899]External Resource not allowed · · Imports an icon to represent the current document. [10900]manifest [10901]External Resource not allowed · · Imports or links to an [10902]application manifest. [10903][MANIFEST] [10904]modulepreload [10905]External Resource not allowed Yes · Specifies that the user agent must preemptively [10906]fetch the module script and store it in the document's [10907]module map for later evaluation. Optionally, the module's dependencies can be fetched as well. [10908]license [10909]Hyperlink · · Indicates that the main content of the current document is covered by the copyright license described by the referenced document. [10910]next [10911]Hyperlink · · Indicates that the current document is a part of a series, and that the next document in the series is the referenced document. [10912]nofollow not allowed [10913]Annotation · · Indicates that the current document's original author or publisher does not endorse the referenced document. [10914]noopener not allowed [10915]Annotation · · Creates a [10916]top-level traversable with a non-[10917]auxiliary browsing context if the hyperlink would otherwise create one that was auxiliary (i.e., has an appropriate [10918]target attribute value). [10919]noreferrer not allowed [10920]Annotation · · No `[10921]Referer` (sic) header will be included. Additionally, has the same effect as [10922]noopener. [10923]opener not allowed [10924]Annotation · · Creates an [10925]auxiliary browsing context if the hyperlink would otherwise create a [10926]top-level traversable with a non-[10927]auxiliary browsing context (i.e., has "_blank" as [10928]target attribute value). [10929]pingback [10930]External Resource not allowed Yes · Gives the address of the pingback server that handles pingbacks to the current document. [10931]preconnect [10932]External Resource not allowed Yes Yes Specifies that the user agent should preemptively connect to the target resource's [10933]origin. [10934]prefetch [10935]External Resource not allowed Yes · Specifies that the user agent should preemptively [10936]fetch and cache the target resource as it is likely to be required for a followup [10937]navigation. [10938]preload [10939]External Resource not allowed Yes Yes Specifies that the user agent must preemptively [10940]fetch and cache the target resource for current [10941]navigation according to the [10942]potential destination given by the [10943]as attribute (and the [10944]priority associated with the [10945]corresponding [10946]destination). [10947]prev [10948]Hyperlink · · Indicates that the current document is a part of a series, and that the previous document in the series is the referenced document. [10949]privacy-policy [10950]Hyperlink not allowed · · Gives a link to information about the data collection and usage practices that apply to the current document. [10951]search [10952]Hyperlink · · Gives a link to a resource that can be used to search through the current document and its related pages. [10953]stylesheet [10954]External Resource not allowed Yes · Imports a style sheet. [10955]tag not allowed [10956]Hyperlink not allowed · · Gives a tag (identified by the given address) that applies to the current document. [10957]terms-of-service [10958]Hyperlink not allowed · · Gives a link to information about the agreements between the current document's provider and users who wish to use the current document.

    4.6.7.1 Link type "alternate"

    (BUTTON) ⚠MDN

    [10959]Alternative_style_sheets

    Support in one engine only. Firefox3+Safari?Chrome1–48 __________________________________________________________________

    OperaYesEdgeNo __________________________________________________________________

    Edge (Legacy)?Internet Explorer8+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The [10960]alternate keyword may be used with [10961]link, [10962]a, and [10963]area elements.

    The meaning of this keyword depends on the values of the other attributes.

    If the element is a [10964]link element and the [10965]rel attribute also contains the keyword [10966]stylesheet The [10967]alternate keyword modifies the meaning of the [10968]stylesheet keyword in the way described for that keyword. The [10969]alternate keyword does not create a link of its own.

    Here, a set of [10970]link elements provide some style sheets:

    If the [10971]alternate keyword is used with the [10972]type attribute set to the value application/rss+xml or the value application/atom+xml The keyword creates a [10973]hyperlink referencing a syndication feed (though not necessarily syndicating exactly the same content as the current page).

    For the purposes of feed autodiscovery, user agents should consider all [10974]link elements in the document with the [10975]alternate keyword used and with their [10976]type attribute set to the value application/rss+xml or the value application/atom+xml. If the user agent has the concept of a default syndication feed, the first such element (in [10977]tree order) should be used as the default.

    The following [10978]link elements give syndication feeds for a blog:

    Such [10979]link elements would be used by user agents engaged in feed autodiscovery, with the first being the default (where applicable).

    The following example offers various different syndication feeds to the user, using [10980]a elements:

    You can access the planets database using Atom feeds:

    These links would not be used in feed autodiscovery.

    Otherwise The keyword creates a [10981]hyperlink referencing an alternate representation of the current document.

    The nature of the referenced document is given by the [10982]hreflang, and [10983]type attributes.

    If the [10984]alternate keyword is used with the [10985]hreflang attribute, and that attribute's value differs from the [10986]document element's [10987]language, it indicates that the referenced document is a translation.

    If the [10988]alternate keyword is used with the [10989]type attribute, it indicates that the referenced document is a reformulation of the current document in the specified format.

    The [10990]hreflang and [10991]type attributes can be combined when specified with the [10992]alternate keyword.

    The following example shows how you can specify versions of the page that use alternative formats, are aimed at other languages, and that are intended for other media:

    This relationship is transitive — that is, if a document links to two other documents with the link type "[10993]alternate", then, in addition to implying that those documents are alternative representations of the first document, it is also implying that those two documents are alternative representations of each other.

    4.6.7.2 Link type "author"

    The [10994]author keyword may be used with [10995]link, [10996]a, and [10997]area elements. This keyword creates a [10998]hyperlink.

    For [10999]a and [11000]area elements, the [11001]author keyword indicates that the referenced document provides further information about the author of the nearest [11002]article element ancestor of the element defining the hyperlink, if there is one, or of the page as a whole, otherwise.

    For [11003]link elements, the [11004]author keyword indicates that the referenced document provides further information about the author for the page as a whole.

    The "referenced document" can be, and often is, a [11005]mailto: URL giving the email address of the author. [11006][MAILTO]

    Synonyms: For historical reasons, user agents must also treat [11007]link, [11008]a, and [11009]area elements that have a rev attribute with the value "made" as having the [11010]author keyword specified as a link relationship.

    4.6.7.3 Link type "bookmark"

    The [11011]bookmark keyword may be used with [11012]a and [11013]area elements. This keyword creates a [11014]hyperlink.

    The [11015]bookmark keyword gives a permalink for the nearest ancestor [11016]article element of the linking element in question, or of the section the linking element is most closely associated with, if there are no ancestor [11017]article elements.

    The following snippet has three permalinks. A user agent could determine which permalink applies to which part of the spec by looking at where the permalinks are given. ...

    Example of permalinks

    First example

    This permalink applies to only the content from the first H2 to the second H2. The DIV isnʼt exactly that section, but it roughly corresponds to it.

    Second example

    ...

    4.6.7.4 Link type "canonical"

    The [11018]canonical keyword may be used with [11019]link element. This keyword creates a [11020]hyperlink.

    The [11021]canonical keyword indicates that URL given by the [11022]href attribute is the preferred URL for the current document. That helps search engines reduce duplicate content, as described in more detail in The Canonical Link Relation. [11023][RFC6596]

    4.6.7.5 Link type "dns-prefetch"

    (BUTTON) MDN

    [11024]Link_types/dns-prefetch Firefox3+Safari?Chrome46+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer? __________________________________________________________________

    Firefox Android?Safari iOS?Chrome AndroidYesWebView Android46+Samsung Internet?Opera Android?

    The [11025]dns-prefetch keyword may be used with [11026]link elements. This keyword creates an [11027]external resource link. This keyword is [11028]body-ok.

    The [11029]dns-prefetch keyword indicates that preemptively performing DNS resolution for the [11030]origin of the specified resource is likely to be beneficial, as it is highly likely that the user will require resources located at that [11031]origin, and the user experience would be improved by preempting the latency costs associated with DNS resolution.

    There is no default type for resources given by the [11032]dns-prefetch keyword.

    The appropriate times to [11033]fetch and process this type of link are: * When the [11034]external resource link is created on a [11035]link element that is already [11036]browsing-context connected. * When the [11037]external resource link's [11038]link element [11039]becomes browsing-context connected. * When the [11040]href attribute of the [11041]link element of an [11042]external resource link that is already [11043]browsing-context connected is changed.

    The [11044]fetch and process the linked resource steps for this type of linked resource, given a [11045]link element el, are: 1. Let url be the result of [11046]encoding-parsing a URL given el's [11047]href attribute's value, relative to el's [11048]node document. 2. If url is failure, then return. 3. Let partitionKey be the result of [11049]determining the network partition key given el's [11050]node document's [11051]relevant settings object. 4. The user agent should [11052]resolve an origin given partitionKey and url's [11053]origin. As the results of this algorithm can be cached, future fetches could be faster.

    4.6.7.6 Link type "expect"

    The [11054]expect keyword may be used with [11055]link elements. This keyword creates an [11056]internal resource link.

    An [11057]internal resource link created by the [11058]expect keyword can be used to [11059]block rendering until the element that it [11060]indicates is connected to the document and fully parsed.

    There is no default type for resources given by the [11061]expect keyword.

    Whenever any of the following conditions occur for a [11062]link element el: * the [11063]expect [11064]internal resource link is created on el that is already [11065]browsing-context connected; * an [11066]expect [11067]internal resource link has been created on el and el becomes [11068]browsing-context connected; * an [11069]expect[11070]internal resource link has been created on el, el is already [11071]browsing-context connected, and el's [11072]href attribute is set, changed, or removed; or * an [11073]expect [11074]internal resource link has been created on el, el is already [11075]browsing-context connected, and el's [11076]media attribute is set, changed, or removed,

    then [11077]process el.

    To process internal resource link given a [11078]link element el, run these steps: 1. Let doc be el's [11079]node document. 2. Let url be the result of [11080]encoding-parsing a URL given el's [11081]href attribute's value, relative to doc. 3. If this fails, or if url does not [11082]equal doc's [11083]URL with [11084]exclude fragments set to false, then [11085]unblock rendering on el and return. 4. Let indicatedElement be the result of [11086]selecting the indicated part given doc and url. 5. If all of the following are true: + doc's [11087]current document readiness is "loading"; + el creates an [11088]internal resource link; + el is [11089]browsing-context connected; + el's [11090]rel attribute contains [11091]expect; + el is [11092]potentially render-blocking; + el's [11093]media attribute [11094]matches the environment; and + indicatedElement is not an element, or is on a [11095]stack of open elements of an [11096]HTML parser whose associated [11097]Document is doc, then [11098]block rendering on el. 6. Otherwise, [11099]unblock rendering on el.

    To process internal resource links given a [11100]Document doc: 1. [11101]For each [11102]expect [11103]link element link in doc's [11104]render-blocking element set, [11105]process link.

    The following [11106]attribute change steps, given element, localName, value, and namespace, are used to ensure [11107]expect [11108]link elements respond to dynamic [11109]id and [11110]name changes: 1. If namespace is not null, then return. 2. If element is in a [11111]stack of open elements of an [11112]HTML parser, then return. 3. If any of the following is true: + localName is [11113]id; or + localName is [11114]name and element is an [11115]a element, then [11116]process internal resource links given element's [11117]node document.

    4.6.7.7 Link type "external"

    The [11118]external keyword may be used with [11119]a, [11120]area, and [11121]form elements. This keyword does not create a [11122]hyperlink, but [11123]annotates any other hyperlinks created by the element (the implied hyperlink, if no other keywords create one).

    The [11124]external keyword indicates that the link is leading to a document that is not part of the site that the current document forms a part of.

    4.6.7.8 Link type "help"

    The [11125]help keyword may be used with [11126]link, [11127]a, [11128]area, and [11129]form elements. This keyword creates a [11130]hyperlink.

    For [11131]a, [11132]area, and [11133]form elements, the [11134]help keyword indicates that the referenced document provides further help information for the parent of the element defining the hyperlink, and its children.

    In the following example, the form control has associated context-sensitive help. The user agent could use this information, for example, displaying the referenced document if the user presses the "Help" or "F1" key.

    For [11135]link elements, the [11136]help keyword indicates that the referenced document provides help for the page as a whole.

    For [11137]a and [11138]area elements, on some browsers, the [11139]help keyword causes the link to use a different cursor.

    4.6.7.9 Link type "icon"

    (BUTTON) ✔MDN

    [11140]Link_types#icon

    Support in all current engines. Firefox2+Safari3.1+Chrome4+ __________________________________________________________________

    Opera9+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer11 __________________________________________________________________

    Firefox Android4+Safari iOSNoChrome Android18+WebView Android38+Samsung Internet4.0+Opera AndroidNo __________________________________________________________________

    [11141]caniuse.com table

    The [11142]icon keyword may be used with [11143]link elements. This keyword creates an [11144]external resource link.

    The specified resource is an icon representing the page or site, and should be used by the user agent when representing the page in the user interface.

    Icons could be auditory icons, visual icons, or other kinds of icons. If multiple icons are provided, the user agent must select the most appropriate icon according to the [11145]type, [11146]media, and [11147]sizes attributes. If there are multiple equally appropriate icons, user agents must use the last one declared in [11148]tree order at the time that the user agent collected the list of icons. If the user agent tries to use an icon but that icon is determined, upon closer examination, to in fact be inappropriate (e.g. because it uses an unsupported format), then the user agent must try the next-most-appropriate icon as determined by the attributes.

    User agents are not required to update icons when the list of icons changes, but are encouraged to do so.

    There is no default type for resources given by the [11149]icon keyword. However, for the purposes of [11150]determining the type of the resource, user agents must expect the resource to be an image.

    The [11151]sizes keywords represent icon sizes in raw pixels (as opposed to [11152]CSS pixels).

    An icon that is 50 [11153]CSS pixels wide intended for displays with a device pixel density of two device pixels per [11154]CSS pixel (2x, 192dpi) would have a width of 100 raw pixels. This feature does not support indicating that a different resource is to be used for small high-resolution icons vs large low-resolution icons (e.g. 50×50 2x vs 100×100 1x).

    To parse and process the attribute's value, the user agent must first [11155]split the attribute's value on ASCII whitespace, and must then parse each resulting keyword to determine what it represents.

    The any keyword represents that the resource contains a scalable icon, e.g. as provided by an SVG image.

    Other keywords must be further parsed as follows to determine what they represent: 1. If the keyword doesn't contain exactly one U+0078 LATIN SMALL LETTER X or U+0058 LATIN CAPITAL LETTER X character, then this keyword doesn't represent anything. Return for that keyword. 2. Let width string be the string before the "x" or "X". 3. Let height string be the string after the "x" or "X". 4. If either width string or height string start with a U+0030 DIGIT ZERO (0) character or contain any characters other than [11156]ASCII digits, then this keyword doesn't represent anything. Return for that keyword. 5. Apply the [11157]rules for parsing non-negative integers to width string to obtain width. 6. Apply the [11158]rules for parsing non-negative integers to height string to obtain height. 7. The keyword represents that the resource contains a bitmap icon with a width of width device pixels and a height of height device pixels.

    The keywords specified on the [11159]sizes attribute must not represent icon sizes that are not actually available in the linked resource.

    The [11160]linked resource fetch setup steps for this type of linked resource, given a [11161]link element el and [11162]request request, are: 1. Set request's [11163]destination to "image". 2. Return true.

    The [11164]process a link header steps for this type of linked resource are to do nothing.

    In the absence of a [11165]link with the [11166]icon keyword, for [11167]Document objects whose [11168]URL's [11169]scheme is an [11170]HTTP(S) scheme, user agents may instead run these steps [11171]in parallel: 1. Let request be a new [11172]request whose [11173]URL is the [11174]URL record obtained by resolving the [11175]URL "/favicon.ico" against the [11176]Document object's [11177]URL, [11178]client is the [11179]Document object's [11180]relevant settings object, [11181]destination is "image", [11182]synchronous flag is set, [11183]credentials mode is "include", and whose [11184]use-URL-credentials flag is set. 2. Let response be the result of [11185]fetching request. 3. Use response's [11186]unsafe response as an icon as if it had been declared using the [11187]icon keyword.

    The following snippet shows the top part of an application with several icons. lsForums — Inbox ...

    For historical reasons, the [11188]icon keyword may be preceded by the keyword "shortcut". If the "shortcut" keyword is present, the [11189]rel attribute's entire value must be an [11190]ASCII case-insensitive match for the string "shortcut icon" (with a single U+0020 SPACE character between the tokens and no other [11191]ASCII whitespace).

    4.6.7.10 Link type "license"

    The [11192]license keyword may be used with [11193]link, [11194]a, [11195]area, and [11196]form elements. This keyword creates a [11197]hyperlink.

    The [11198]license keyword indicates that the referenced document provides the copyright license terms under which the main content of the current document is provided.

    This specification does not specify how to distinguish between the main content of a document and content that is not deemed to be part of that main content. The distinction should be made clear to the user.

    Consider a photo sharing site. A page on that site might describe and show a photograph, and the page might be marked up as follows: Exampl Pictures: Kissat

    Kissat

    Kissat

    One of them has six toes!

    MIT Licensed

    Home | Photo index

    © copyright 2009 Exampl Pictures. All Rights Reserved.

    In this case the [11199]license applies to just the photo (the main content of the document), not the whole document. In particular not the design of the page itself, which is covered by the copyright given at the bottom of the document. This could be made clearer in the styling (e.g. making the license link prominently positioned near the photograph, while having the page copyright in light small text at the foot of the page).

    Synonyms: For historical reasons, user agents must also treat the keyword "copyright" like the [11200]license keyword.

    4.6.7.11 Link type "manifest"

    (BUTTON) ⚠MDN

    [11201]Link_types/manifest

    Support in one engine only. Firefox?Safari?ChromeNo __________________________________________________________________

    Opera?EdgeNo __________________________________________________________________

    Edge (Legacy)?Internet Explorer? __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android39+WebView Android?Samsung Internet?Opera Android?

    The [11202]manifest keyword may be used with [11203]link elements. This keyword creates an [11204]external resource link.

    The [11205]manifest keyword indicates the manifest file that provides metadata associated with the current document.

    There is no default type for resources given by the [11206]manifest keyword.

    When a web application is not [11207]installed, the appropriate time to [11208]fetch and process the linked resource for this link type is when the user agent deems it necessary. For example, when the user chooses to [11209]install the web application.

    For an [11210]installed web application, the appropriate times to [11211]fetch and process the linked resource for this link type are: * When the [11212]external resource link is created on a [11213]link element that is already [11214]browsing-context connected. * When the [11215]external resource link's [11216]link element [11217]becomes browsing-context connected. * When the [11218]href attribute of the [11219]link element of an [11220]external resource link that is already [11221]browsing-context connected is changed.

    In any case, only the first [11222]link element in [11223]tree order whose [11224]rel attribute contains the token [11225]manifest may be used.

    A user agent must not [11226]delay the load event for this link type.

    The [11227]linked resource fetch setup steps for this type of linked resource, given a [11228]link element el and [11229]request request, are: 1. Let navigable be el's [11230]node document's [11231]node navigable. 2. If navigable is null, then return false. 3. If navigable is not a [11232]top-level traversable, then return false. 4. Set request's [11233]initiator to "manifest". 5. Set request's [11234]destination to "manifest". 6. Set request's [11235]mode to "cors". 7. Set request's [11236]credentials mode to the [11237]CORS settings attribute credentials mode for el's [11238]crossorigin content attribute. 8. Return true.

    To [11239]process this type of linked resource given a [11240]link element el, boolean success, [11241]response response, and [11242]byte sequence bodyBytes: 1. If response's [11243]Content-Type metadata is not a [11244]JSON MIME type, then set success to false. 2. If success is true: 1. Let document URL be el's [11245]node document's [11246]URL. 2. Let manifest URL be response's [11247]URL. 3. [11248]Process the manifest given document URL, manifest URL, and bodyBytes. [11249][MANIFEST]

    The [11250]process a link header steps for this type of linked resource are to do nothing.

    4.6.7.12 Link type "modulepreload"

    (BUTTON) MDN

    [11251]Link_types/modulepreload Firefox115+Safari?Chrome66+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer? __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The [11252]modulepreload keyword may be used with [11253]link elements. This keyword creates an [11254]external resource link. This keyword is [11255]body-ok.

    The [11256]modulepreload keyword is a specialized alternative to the [11257]preload keyword, with a processing model geared toward preloading [11258]module scripts. In particular, it uses the specific fetch behavior for module scripts (including, e.g., a different interpretation of the [11259]crossorigin attribute), and places the result into the appropriate [11260]module map for later evaluation. In contrast, a similar [11261]external resource link using the [11262]preload keyword would place the result in the preload cache, without affecting the document's [11263]module map.

    Additionally, implementations can take advantage of the fact that [11264]module scripts declare their dependencies in order to fetch the specified module's dependency as well. This is intended as an optimization opportunity, since the user agent knows that, in all likelihood, those dependencies will also be needed later. It will not generally be observable without using technology such as service workers, or monitoring on the server side. Notably, the appropriate [11265]load or [11266]error events will occur after the specified module is fetched, and will not wait for any dependencies.

    A user agent must not [11267]delay the load event for this link type.

    The appropriate times to [11268]fetch and process the linked resource for such a link are: * When the [11269]external resource link is created on a [11270]link element that is already [11271]browsing-context connected. * When the [11272]external resource link's [11273]link element [11274]becomes browsing-context connected. * When the [11275]href attribute of the [11276]link element of an [11277]external resource link that is already [11278]browsing-context connected is changed.

    Unlike some other link relations, changing the relevant attributes (such as [11279]as, [11280]crossorigin, and [11281]referrerpolicy) of such a [11282]link does not trigger a new fetch. This is because the document's [11283]module map has already been populated by a previous fetch, and so re-fetching would be pointless.

    The [11284]fetch and process the linked resource algorithm for [11285]modulepreload links, given a [11286]link element el, is as follows: 1. If el's [11287]href attribute's value is the empty string, then return. 2. Let destination be the current state of el's [11288]as attribute (a [11289]destination), or "script" if it is in no state. 3. If destination is not [11290]script-like, then [11291]queue an element task on the [11292]networking task source given el to [11293]fire an event named [11294]error at el, and return. 4. Let url be the result of [11295]encoding-parsing a URL given el's [11296]href attribute's value, relative to el's [11297]node document. 5. If url is failure, then return. 6. Let settings object be el's [11298]node document's [11299]relevant settings object. 7. Let credentials mode be the [11300]CORS settings attribute credentials mode for el's [11301]crossorigin attribute. 8. Let cryptographic nonce be el.[11302][[CryptographicNonce]]. 9. Let integrity metadata be the value of el's [11303]integrity attribute, if it is specified, or the empty string otherwise. 10. If el does not have an [11304]integrity attribute, then set integrity metadata to the result of [11305]resolving a module integrity metadata with url and settings object. 11. Let referrer policy be the current state of el's [11306]referrerpolicy attribute. 12. Let fetch priority be the current state of el's [11307]fetchpriority attribute. 13. Let options be a [11308]script fetch options whose [11309]cryptographic nonce is cryptographic nonce, [11310]integrity metadata is integrity metadata, [11311]parser metadata is "not-parser-inserted", [11312]credentials mode is credentials mode, [11313]referrer policy is referrer policy, and [11314]fetch priority is fetch priority. 14. [11315]Fetch a modulepreload module script graph given url, destination, settings object, options, and with the following steps given result: 1. If result is null, then [11316]fire an event named [11317]error at el, and return. 2. [11318]Fire an event named [11319]load at el.

    The [11320]process a link header steps for this type of linked resource are to do nothing.

    The following snippet shows the top part of an application with several modules preloaded: IRCFog

    4.8.3 The img element

    (BUTTON) ✔MDN

    [12172]Element/img

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    (BUTTON) ✔MDN

    [12173]HTMLImageElement

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera8+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+

    [12174]Categories: [12175]Flow content. [12176]Phrasing content. [12177]Embedded content. [12178]Form-associated element. If the element has a [12179]usemap attribute: [12180]Interactive content. [12181]Palpable content.

    [12182]Contexts in which this element can be used: Where [12183]embedded content is expected. As a child of a [12184]picture element, after all [12185]source elements.

    [12186]Content model: [12187]Nothing.

    [12188]Tag omission in text/html: No [12189]end tag.

    [12190]Content attributes: [12191]Global attributes [12192]alt — Replacement text for use when images are not available [12193]src — Address of the resource [12194]srcset — Images to use in different situations, e.g., high-resolution displays, small monitors, etc. [12195]sizes — Image sizes for different page layouts [12196]crossorigin — How the element handles crossorigin requests [12197]usemap — Name of [12198]image map to use [12199]ismap — Whether the image is a server-side image map [12200]width — Horizontal dimension [12201]height — Vertical dimension [12202]referrerpolicy — [12203]Referrer policy for [12204]fetches initiated by the element [12205]decoding — Decoding hint to use when processing this image for presentation [12206]loading — Used when determining loading deferral [12207]fetchpriority — Sets the [12208]priority for [12209]fetches initiated by the element

    [12210]Accessibility considerations: If the element has a non-empty [12211]alt attribute: [12212]for authors; [12213]for implementers. Otherwise: [12214]for authors; [12215]for implementers.

    [12216]DOM interface:

    [Exposed=Window, [12217]LegacyFactoryFunction=[12218]Image(optional unsigned long width, optiona l unsigned long height)] interface HTMLImageElement : [12219]HTMLElement { [[12220]HTMLConstructor] constructor();

    [[12221]CEReactions] attribute DOMString [12222]alt; [[12223]CEReactions] attribute USVString [12224]src; [[12225]CEReactions] attribute USVString [12226]srcset; [[12227]CEReactions] attribute DOMString [12228]sizes; [[12229]CEReactions] attribute DOMString? [12230]crossOrigin; [[12231]CEReactions] attribute DOMString [12232]useMap; [[12233]CEReactions] attribute boolean [12234]isMap; [[12235]CEReactions] attribute unsigned long [12236]width; [[12237]CEReactions] attribute unsigned long [12238]height; readonly attribute unsigned long [12239]naturalWidth; readonly attribute unsigned long [12240]naturalHeight; readonly attribute boolean [12241]complete; readonly attribute USVString [12242]currentSrc; [[12243]CEReactions] attribute DOMString [12244]referrerPolicy; [[12245]CEReactions] attribute DOMString [12246]decoding; [[12247]CEReactions] attribute DOMString [12248]loading; [[12249]CEReactions] attribute DOMString [12250]fetchPriority;

    [12251]Promise [12252]decode();

    // [12253]also has obsolete members };

    An [12254]img element represents an image.

    An [12255]img element has a dimension attribute source, initially set to the element itself.

    (BUTTON) ✔MDN

    [12256]HTMLImageElement/src

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [12257]Element/img#attr-srcset

    Support in all current engines. Firefox38+Safari8+Chrome34+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)≤18+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The image given by the src and srcset attributes, and any previous sibling [12258]source elements' [12259]srcset attributes if the parent is a [12260]picture element, is the embedded content; the value of the alt attribute provides equivalent content for those who cannot process images or who have image loading disabled (i.e. it is the [12261]img element's [12262]fallback content).

    The requirements on the [12263]alt attribute's value are described [12264]in a separate section.

    The [12265]src attribute must be present, and must contain a [12266]valid non-empty URL potentially surrounded by spaces referencing a non-interactive, optionally animated, image resource that is neither paged nor scripted.

    The requirements above imply that images can be static bitmaps (e.g. PNGs, GIFs, JPEGs), single-page vector documents (single-page PDFs, XML files with an SVG document element), animated bitmaps (APNGs, animated GIFs), animated vector graphics (XML files with an SVG [12267]document element that use declarative SMIL animation), and so forth. However, these definitions preclude SVG files with script, multipage PDF files, interactive MNG files, HTML documents, plain text documents, and the like. [12268][PNG] [12269][GIF] [12270][JPEG] [12271][PDF] [12272][XML] [12273][APNG] [12274][SVG] [12275][MNG]

    The [12276]srcset attribute may also be present, and is a [12277]srcset attribute.

    The [12278]srcset attribute and the [12279]src attribute (if [12280]width descriptors are not used) contribute the [12281]image sources to the [12282]source set (if no [12283]source element was selected).

    If the [12284]srcset attribute is present and has any [12285]image candidate strings using a [12286]width descriptor, the [12287]sizes attribute must also be present. If the [12288]srcset attribute is not specified, and the [12289]loading attribute is in the [12290]Lazy state, the [12291]sizes attribute may be specified with the value "auto" ([12292]ASCII case-insensitive). The sizes attribute is a [12293]sizes attribute, which contributes the [12294]source size to the [12295]source set (if no [12296]source element was selected).

    An [12297]img element allows auto-sizes if: * its [12298]loading attribute is in the [12299]Lazy state, and * its [12300]sizes attribute's value is "auto" ([12301]ASCII case-insensitive), or starts with "auto," ([12302]ASCII case-insensitive).

    (BUTTON) ✔MDN

    [12303]Attributes/crossorigin

    Support in all current engines. Firefox8+Safari6+Chrome13+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The crossorigin attribute is a [12304]CORS settings attribute. Its purpose is to allow images from third-party sites that allow cross-origin access to be used with [12305]canvas.

    The referrerpolicy attribute is a [12306]referrer policy attribute. Its purpose is to set the [12307]referrer policy used when [12308]fetching the image. [12309][REFERRERPOLICY]

    The decoding attribute indicates the preferred method to [12310]decode this image. The attribute, if present, must be an [12311]image decoding hint. This attribute's [12312]missing value default and [12313]invalid value default are both the [12314]auto state.

    (BUTTON) MDN

    [12315]HTMLImageElement/fetchPriority FirefoxNoSafari🔰 preview+Chrome102+ __________________________________________________________________

    Opera?Edge102+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The fetchpriority attribute is a [12316]fetch priority attribute. Its purpose is to set the [12317]priority used when [12318]fetching the image.

    The loading attribute is a [12319]lazy loading attribute. Its purpose is to indicate the policy for loading images that are outside the viewport.

    When the [12320]loading attribute's state is changed to the [12321]Eager state, the user agent must run these steps: 1. Let resumptionSteps be the [12322]img element's [12323]lazy load resumption steps. 2. If resumptionSteps is null, then return. 3. Set the [12324]img's [12325]lazy load resumption steps to null. 4. Invoke resumptionSteps.

    1 2 3

    You are standing in an open field west of a house. The house is white, with a boarded front door. There is a small mailbox here.

    Second, here's the bad solution. In this incorrect way of doing things, the alternative text is simply a description of the image, instead of a textual replacement for the image. It's bad because when the image isn't shown, the text doesn't flow as well as in the first example.

    You are standing in an open field west of a house. A white house, with a boarded front door. There is a small mailbox here.

    Text such as "Photo of white house with boarded door" would be equally bad alternative text (though it could be suitable for the [13397]title attribute or in the [13398]figcaption element of a [13399]figure with this image).

    4.8.4.4.4 A short phrase or label with an alternative graphical representation: icons, logos

    A document can contain information in iconic form. The icon is intended to help users of visual browsers to recognize features at a glance.

    In some cases, the icon is supplemental to a text label conveying the same meaning. In those cases, the [13400]alt attribute must be present but must be empty.

    Here the icons are next to text that conveys the same meaning, so they have an empty [13401]alt attribute:

    In other cases, the icon has no text next to it describing what it means; the icon is supposed to be self-explanatory. In those cases, an equivalent textual label must be given in the [13402]alt attribute.

    Here, posts on a news site are labeled with an icon indicating their topic.

    Ratatouille wins Best Movie of the Year award

    Movies

    Pixar has won yet another Best Movie of the Year award, making this its 8th win in the last 12 years.

    Latest TWiT episode is online

    Podcasts

    The latest TWiT episode has been posted, in which we hear several tech news stories as well as learning much more about the iPhone. This week, the panelists compare how reflective their iPhonesʼ Apple logos are.

    Many pages include logos, insignia, flags, or emblems, which stand for a particular entity such as a company, organization, project, band, software package, country, or some such.

    If the logo is being used to represent the entity, e.g. as a page heading, the [13403]alt attribute must contain the name of the entity being represented by the logo. The [13404]alt attribute must not contain text like the word "logo", as it is not the fact that it is a logo that is being conveyed, it's the entity itself.

    If the logo is being used next to the name of the entity that it represents, then the logo is supplemental, and its [13405]alt attribute must instead be empty.

    If the logo is merely used as decorative material (as branding, or, for example, as a side image in an article that mentions the entity to which the logo belongs), then the entry below on purely decorative images applies. If the logo is actually being discussed, then it is being used as a phrase or paragraph (the description of the logo) with an alternative graphical representation (the logo itself), and the first entry above applies.

    In the following snippets, all four of the above cases are present. First, we see a logo used to represent a company:

    The XYZ company

    Next, we see a paragraph which uses a logo right next to the company name, and so doesn't have any alternative text:

    News

    We have recently been looking at buying the ΑΒΓ company, a small Greek company specializing in our type of product.

    In this third snippet, we have a logo being used in an aside, as part of the larger article discussing the acquisition:

    The ΑΒΓ company has had a good quarter, and our pie chart studies of their accounts suggest a much bigger blue slice than its green and orange slices, which is always a good sign.

    Finally, we have an opinion piece talking about a logo, and the logo is therefore described in detail in the alternative text.

    Consider for a moment their logo:

    It consists of a green circle with a
green question mark centered inside it.

    How unoriginal can you get? I mean, oooooh, a question mark, how revolutionary, how utterly ground-breaking, Iʼm sure everyone will rush to adopt those specifications now! They could at least have tried for some sort of, I donʼt know, sequence of rounded squares with varying shades of green and bold white outlines, at least that would look good on the cover of a blue book.

    This example shows how the alternative text should be written such that if the image isn't [13406]available, and the text is used instead, the text flows seamlessly into the surrounding text, as if the image had never been there in the first place.

    4.8.4.4.5 Text that has been rendered to a graphic for typographical effect

    Sometimes, an image just consists of text, and the purpose of the image is not to highlight the actual typographic effects used to render the text, but just to convey the text itself.

    In such cases, the [13407]alt attribute must be present but must consist of the same text as written in the image itself.

    Consider a graphic containing the text "Earth Day", but with the letters all decorated with flowers and plants. If the text is merely being used as a heading, to spice up the page for graphical users, then the correct alternative text is just the same text "Earth Day", and no mention need be made of the decorations:

    Earth Day

    An illuminated manuscript might use graphics for some of its images. The alternative text in such a situation is just the character that the image represents.

    Once upon a time and a long long time ago, l ate at night, when it was dark, over the hills, through the woods, across a great ocean , in a land far away, in a small house, on a hill, under a full moon...

    When an image is used to represent a character that cannot otherwise be represented in Unicode, for example gaiji, itaiji, or new characters such as novel currency symbols, the alternative text should be a more conventional way of writing the same thing, e.g. using the phonetic hiragana or katakana to give the character's pronunciation.

    In this example from 1997, a new-fangled currency symbol that looks like a curly E with two bars in the middle instead of one is represented using an image. The alternative text gives the character's pronunciation.

    Only euro 5.99!

    An image should not be used if characters would serve an identical purpose. Only when the text cannot be directly represented using text, e.g., because of decorations or because there is no appropriate character (as in the case of gaiji), would an image be appropriate.

    If an author is tempted to use an image because their default system font does not support a given character, then web fonts are a better solution than images.

    4.8.4.4.6 A graphical representation of some of the surrounding text

    In many cases, the image is actually just supplementary, and its presence merely reinforces the surrounding text. In these cases, the [13408]alt attribute must be present but its value must be the empty string.

    In general, an image falls into this category if removing the image doesn't make the page any less useful, but including the image makes it a lot easier for users of visual browsers to understand the concept.

    A flowchart that repeats the previous paragraph in graphical form:

    The Network passes data to the Input Stream Preprocessor, which passes it to the Tokenizer, which passes it to the Tree Construction stage. From there, data goes to both the DOM and to Script Execution. Script Execution is linked to the DOM, and, using document.write(), passes data to the Tokenizer.

    In these cases, it would be wrong to include alternative text that consists of just a caption. If a caption is to be included, then either the [13409]title attribute can be used, or the [13410]figure and [13411]figcaption elements can be used. In the latter case, the image would in fact be a phrase or paragraph with an alternative graphical representation, and would thus require alternative text.

    The Network passes data to the Input Stream Preprocessor, which passes it to the Tokenizer, which passes it to the Tree Construction stage. From there, data goes to both the DOM and to Script Execution. Script Execution is linked to the DOM, and, using document.write(), passes data to the Tokenizer.

    The Network passes data to the Input Stream Preprocessor, which passes it to the Tokenizer, which passes it to the Tree Construction stage. From there, data goes to both the DOM and to Script Execution. Script Execution is linked to the DOM, and, using document.write(), passes data to the Tokenizer.

    The Network leads to
 the Input Stream Preprocessor, which leads to the Tokenizer, which
 leads to the Tree Construction stage. The Tree Construction stage
 leads to two items. The first is Script Execution, which leads via
 document.write() back to the Tokenizer. The second item from which
 Tree Construction leads is the DOM. The DOM is related to the Script
 Execution.
    Flowchart representation of the parsing model.

    The Network passes data to the Input Stream Preprocessor, which passes it to the Tokenizer, which passes it to the Tree Construction stage. From there, data goes to both the DOM and to Script Execution. Script Execution is linked to the DOM, and, using document.write(), passes data to the Tokenizer.

    Flowchart representation of the parsing model.

    A graph that repeats the previous paragraph in graphical form:

    According to a study covering several billion pages, about 62% of documents on the web in 2007 triggered the Quirks rendering mode of web browsers, about 30% triggered the Almost Standards mode, and about 9% triggered the Standards mode.

    4.8.4.4.7 Ancillary images

    Sometimes, an image is not critical to the content, but is nonetheless neither purely decorative nor entirely redundant with the text. In these cases, the [13412]alt attribute must be present, and its value should either be the empty string, or a textual representation of the information that the image conveys. If the image has a caption giving the image's title, then the [13413]alt attribute's value must not be empty (as that would be quite confusing for non-visual readers).

    Consider a news article about a political figure, in which the individual's face was shown in an image. The image is not purely decorative, as it is relevant to the story. The image is not entirely redundant with the story either, as it shows what the politician looks like. Whether any alternative text need be provided is an authoring decision, decided by whether the image influences the interpretation of the prose.

    In this first variant, the image is shown without context, and no alternative text is provided:

    Ahead of todayʼs referendum, the President wrote an open letter to all registered voters. In it, she admitted that the country was divided.

    If the picture is just a face, there might be no value in describing it. It's of no interest to the reader whether the individual has red hair or blond hair, whether the individual has white skin or black skin, whether the individual has one eye or two eyes.

    However, if the picture is more dynamic, for instance showing the politician as angry, or particularly happy, or devastated, some alternative text would be useful in setting the tone of the article, a tone that might otherwise be missed:

    The President is sad. Ahead of todayʼs referendum, the President wrote an open letter to all registered voters. In it, she admitted that the country was divided.

    The President is happy! Ahead of todayʼs referendum, the President wrote an open letter to all registered voters. In it, she admitted that the country was divided.

    Whether the individual was "sad" or "happy" makes a difference to how the rest of the paragraph is to be interpreted: is she likely saying that she is unhappy with the country being divided, or is she saying that the prospect of a divided country is good for her political career? The interpretation varies based on the image.

    If the image has a caption, then including alternative text avoids leaving the non-visual user confused as to what the caption refers to.

    Ahead of todayʼs referendum, the President wrote an open letter to all registered voters. In it, she admitted that the country was divided.

    A high forehead, cheerful disposition, and dark hair round out the Pr
esidentʼs face.
    The President of Ruritania. Photo © 2014 PolitiPhoto.

    4.8.4.4.8 A purely decorative image that doesn't add any information

    If an image is decorative but isn't especially page-specific — for example an image that forms part of a site-wide design scheme — the image should be specified in the site's CSS, not in the markup of the document.

    However, a decorative image that isn't discussed by the surrounding text but still has some relevance can be included in a page using the [13414]img element. Such images are decorative, but still form part of the content. In these cases, the [13415]alt attribute must be present but its value must be the empty string.

    Examples where the image is purely decorative despite being relevant would include things like a photo of the Black Rock City landscape in a blog post about an event at Burning Man, or an image of a painting inspired by a poem, on a page reciting that poem. The following snippet shows an example of the latter case (only the first verse is included in this snippet):

    The Lady of Shalott

    On either side the river lie
    Long fields of barley and of rye,
    That clothe the wold and meet the sky;
    And through the field the road run by
    To many-towerʼd Camelot;
    And up and down the people go,
    Gazing where the lilies blow
    Round an island there below,
    The island of Shalott.

    4.8.4.4.9 A group of images that form a single larger picture with no links

    When a picture has been sliced into smaller image files that are then displayed together to form the complete picture again, one of the images must have its [13416]alt attribute set as per the relevant rules that would be appropriate for the picture as a whole, and then all the remaining images must have their [13417]alt attribute set to the empty string.

    In the following example, a picture representing a company logo for XYZ Corp has been split into two pieces, the first containing the letters "XYZ" and the second with the word "Corp". The alternative text ("XYZ Corp") is all in the first image.

    XYZ Corp

    In the following example, a rating is shown as three filled stars and two empty stars. While the alternative text could have been "★★★☆☆", the author has instead decided to more helpfully give the rating in the form "3 out of 5". That is the alternative text of the first image, and the rest have blank alternative text.

    Rating: 3 out of 5

    4.8.4.4.10 A group of images that form a single larger picture with links

    Generally, [13418]image maps should be used instead of slicing an image for links.

    However, if an image is indeed sliced and any of the components of the sliced picture are the sole contents of links, then one image per link must have alternative text in its [13419]alt attribute representing the purpose of the link.

    In the following example, a picture representing the flying spaghetti monster emblem, with each of the left noodly appendages and the right noodly appendages in different images, so that the user can pick the left side or the right side in an adventure.

    The Church

    You come across a flying spaghetti monster. Which side of His Noodliness do you wish to reach out for?

    Left side. Right side.

    4.8.4.4.11 A key part of the content

    In some cases, the image is a critical part of the content. This could be the case, for instance, on a page that is part of a photo gallery. The image is the whole point of the page containing it.

    How to provide alternative text for an image that is a key part of the content depends on the image's provenance.

    The general case When it is possible for detailed alternative text to be provided, for example if the image is part of a series of screenshots in a magazine review, or part of a comic strip, or is a photograph in a blog entry about that photograph, text that can serve as a substitute for the image must be given as the contents of the [13420]alt attribute.

    A screenshot in a gallery of screenshots for a new OS, with some alternative text:

    The desktop is blue, with icons along the left hand side in
           two columns, reading System, Home, K-Mail, etc. A window is
           open showing that menus wrap to a second line if they
           cannot fit in the window. The window has a list of icons
           along the top, with an address bar below it, a list of
           icons for tabs along the left edge, a status bar on the
           bottom, and two panes in the middle. The desktop has a bar
           at the bottom of the screen with a few buttons, a pager, a
           list of open applications, and a clock.
    Screenshot of a KDE desktop.

    A graph in a financial report:

    From 1998 to 2005, sales increased by the following percentages
     with each year: 624%, 75%, 138%, 40%, 35%, 9%, 21%

    Note that "sales graph" would be inadequate alternative text for a sales graph. Text that would be a good caption is not generally suitable as replacement text.

    Images that defy a complete description In certain cases, the nature of the image might be such that providing thorough alternative text is impractical. For example, the image could be indistinct, or could be a complex fractal, or could be a detailed topographical map.

    In these cases, the [13421]alt attribute must contain some suitable alternative text, but it may be somewhat brief.

    Sometimes there simply is no text that can do justice to an image. For example, there is little that can be said to usefully describe a Rorschach inkblot test. However, a description, even if brief, is still better than nothing:

    A shape with left-right
 symmetry with indistinct edges, with a small gap in the center, two
 larger gaps offset slightly from the center, with two similar gaps
 under them. The outline is wider in the top half than the bottom
 half, with the sides extending upwards higher than the center, and
 the center extending below the sides.
    A black outline of the first of the ten cards in the Rorschach inkblot test.

    Note that the following would be a very bad use of alternative text:

    A black outline
 of the first of the ten cards in the Rorschach inkblot test.
    A black outline of the first of the ten cards in the Rorschach inkblot test.

    Including the caption in the alternative text like this isn't useful because it effectively duplicates the caption for users who don't have images, taunting them twice yet not helping them any more than if they had only read or heard the caption once.

    Another example of an image that defies full description is a fractal, which, by definition, is infinite in detail.

    The following example shows one possible way of providing alternative text for the full view of an image of the Mandelbrot set.

    The Mandelbrot set appears as a cardioid with
its cusp on the real axis in the positive direction, with a smaller
bulb aligned along the same center line, touching it in the negative
direction, and with these two shapes being surrounded by smaller bulbs
of various sizes.

    Similarly, a photograph of a person's face, for example in a biography, can be considered quite relevant and key to the content, but it can be hard to fully substitute text for:

    A Biography of Isaac Asimov

    Born Isaak Yudovich Ozimov in 1920, Isaac was a prolific author.

    Isaac Asimov had dark hair, a tall fore
head, and wore glasses.
 Later in life, he wore long white sideburns.

    Asimov was born in Russia, and moved to the US when he was three years old.< /p>

    ...

    In such cases it is unnecessary (and indeed discouraged) to include a reference to the presence of the image itself in the alternative text, since such text would be redundant with the browser itself reporting the presence of the image. For example, if the alternative text was "A photo of Isaac Asimov", then a conforming user agent might read that out as "(Image) A photo of Isaac Asimov" rather than the more useful "(Image) Isaac Asimov had dark hair, a tall forehead, and wore glasses...".

    Images whose contents are not known In some unfortunate cases, there might be no alternative text available at all, either because the image is obtained in some automated fashion without any associated alternative text (e.g., a webcam), or because the page is being generated by a script using user-provided images where the user did not provide suitable or usable alternative text (e.g. photograph sharing sites), or because the author does not themself know what the images represent (e.g. a blind photographer sharing an image on their blog).

    In such cases, the [13422]alt attribute may be omitted, but one of the following conditions must be met as well:

    + The [13423]img element is in a [13424]figure element that contains a [13425]figcaption element that contains content other than [13426]inter-element whitespace, and, ignoring the [13427]figcaption element and its descendants, the [13428]figure element has no [13429]flow content descendants other than [13430]inter-element whitespace and the [13431]img element. + The [13432]title attribute is present and has a non-empty value. Relying on the [13433]title attribute is currently discouraged as many user agents do not expose the attribute in an accessible manner as required by this specification (e.g. requiring a pointing device such as a mouse to cause a tooltip to appear, which excludes keyboard-only users and touch-only users, such as anyone with a modern phone or tablet).

    Such cases are to be kept to an absolute minimum. If there is even the slightest possibility of the author having the ability to provide real alternative text, then it would not be acceptable to omit the [13434]alt attribute.

    A photo on a photo-sharing site, if the site received the image with no metadata other than the caption, could be marked up as follows:

    Bubbles traveled everywhere with us.

    It would be better, however, if a detailed description of the important parts of the image obtained from the user and included on the page.

    A blind user's blog in which a photo taken by the user is shown. Initially, the user might not have any idea what the photo they took shows:

    I took a photo

    I went out today and took a photo!

    A photograph taken blindly from my front porch.

    Eventually though, the user might obtain a description of the image from their friends and could then include alternative text:

    I took a photo

    I went out today and took a photo!

    The photograph shows my squirrel
  feeder hanging from the edge of my roof. It is half full, but there
  are no squirrels around. In the background, out-of-focus trees fill the
  shot. The feeder is made of wood with a metal grate, and it contains
  peanuts. The edge of the roof is wooden too, and is painted white
  with light blue streaks.
    A photograph taken blindly from my front porch.

    Sometimes the entire point of the image is that a textual description is not available, and the user is to provide the description. For instance, the point of a CAPTCHA image is to see if the user can literally read the graphic. Here is one way to mark up a CAPTCHA (note the [13435]title attribute):

    (If you cannot see the image, you can use an audio test instead.)

    Another example would be software that displays images and asks for alternative text precisely for the purpose of then writing a page with correct alternative text. Such a page could have a table of images, like this:

    Image Description

    Notice that even in this example, as much useful information as possible is still included in the [13436]title attribute.

    Since some users cannot use images at all (e.g. because they have a very slow connection, or because they are using a text-only browser, or because they are listening to the page being read out by a hands-free automobile voice web browser, or simply because they are blind), the [13437]alt attribute is only allowed to be omitted rather than being provided with replacement text when no alternative text is available and none can be made available, as in the above examples. Lack of effort from the part of the author is not an acceptable reason for omitting the [13438]alt attribute.

    4.8.4.4.12 An image not intended for the user

    Generally authors should avoid using [13439]img elements for purposes other than showing images.

    If an [13440]img element is being used for purposes other than showing an image, e.g. as part of a service to count page views, then the [13441]alt attribute must be the empty string.

    In such cases, the [13442]width and [13443]height attributes should both be set to zero.

    4.8.4.4.13 An image in an email or private document intended for a specific person who is known to be able to view images

    This section does not apply to documents that are publicly accessible, or whose target audience is not necessarily personally known to the author, such as documents on a web site, emails sent to public mailing lists, or software documentation.

    When an image is included in a private communication (such as an HTML email) aimed at a specific person who is known to be able to view images, the [13444]alt attribute may be omitted. However, even in such cases authors are strongly urged to include alternative text (as appropriate according to the kind of image involved, as described in the above entries), so that the email is still usable should the user use a mail client that does not support images, or should the document be forwarded on to other users whose abilities might not include easily seeing images.

    4.8.4.4.14 Guidance for markup generators

    Markup generators (such as WYSIWYG authoring tools) should, wherever possible, obtain alternative text from their users. However, it is recognized that in many cases, this will not be possible.

    For images that are the sole contents of links, markup generators should examine the link target to determine the title of the target, or the URL of the target, and use information obtained in this manner as the alternative text.

    For images that have captions, markup generators should use the [13445]figure and [13446]figcaption elements, or the [13447]title attribute, to provide the image's caption.

    As a last resort, implementers should either set the [13448]alt attribute to the empty string, under the assumption that the image is a purely decorative image that doesn't add any information but is still specific to the surrounding content, or omit the [13449]alt attribute altogether, under the assumption that the image is a key part of the content.

    Markup generators may specify a generator-unable-to-provide-required-alt attribute on [13450]img elements for which they have been unable to obtain alternative text and for which they have therefore omitted the [13451]alt attribute. The value of this attribute must be the empty string. Documents containing such attributes are not conforming, but conformance checkers will [13452]silently ignore this error.

    This is intended to avoid markup generators from being pressured into replacing the error of omitting the [13453]alt attribute with the even more egregious error of providing phony alternative text, because state-of-the-art automated conformance checkers cannot distinguish phony alternative text from correct alternative text.

    Markup generators should generally avoid using the image's own filename as the alternative text. Similarly, markup generators should avoid generating alternative text from any content that will be equally available to presentation user agents (e.g., web browsers).

    This is because once a page is generated, it will typically not be updated, whereas the browsers that later read the page can be updated by the user, therefore the browser is likely to have more up-to-date and finely-tuned heuristics than the markup generator did when generating the page.

    4.8.4.4.15 Guidance for conformance checkers

    A conformance checker must report the lack of an [13454]alt attribute as an error unless one of the conditions listed below applies: * The [13455]img element is in a [13456]figure element that satisfies [13457]the conditions described above. * The [13458]img element has a [13459]title attribute with a value that is not the empty string (also as [13460]described above). * The conformance checker has been configured to assume that the document is an email or document intended for a specific person who is known to be able to view images. * The [13461]img element has a (non-conforming) [13462]generator-unable-to-provide-required-alt attribute whose value is the empty string. A conformance checker that is not reporting the lack of an [13463]alt attribute as an error must also not report the presence of the empty [13464]generator-unable-to-provide-required-alt attribute as an error. (This case does not represent a case where the document is conforming, only that the generator could not determine appropriate alternative text — validators are not required to show an error in this case, because such an error might encourage markup generators to include bogus alternative text purely in an attempt to silence validators. Naturally, conformance checkers may report the lack of an [13465]alt attribute as an error even in the presence of the [13466]generator-unable-to-provide-required-alt attribute; for example, there could be a user option to report all conformance errors even those that might be the more or less inevitable result of using a markup generator.)

    4.8.5 The iframe element

    (BUTTON) ✔MDN

    [13467]Element/iframe

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera15+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android14+

    (BUTTON) ✔MDN

    [13468]HTMLIFrameElement

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

    [13469]Categories: [13470]Flow content. [13471]Phrasing content. [13472]Embedded content. [13473]Interactive content. [13474]Palpable content.

    [13475]Contexts in which this element can be used: Where [13476]embedded content is expected.

    [13477]Content model: [13478]Nothing.

    [13479]Tag omission in text/html: Neither tag is omissible.

    [13480]Content attributes: [13481]Global attributes [13482]src — Address of the resource [13483]srcdoc — A document to render in the [13484]iframe [13485]name — Name of [13486]content navigable [13487]sandbox — Security rules for nested content [13488]allow — [13489]Permissions policy to be applied to the [13490]iframe's contents [13491]allowfullscreen — Whether to allow the [13492]iframe's contents to use [13493]requestFullscreen() [13494]width — Horizontal dimension [13495]height — Vertical dimension [13496]referrerpolicy — [13497]Referrer policy for [13498]fetches initiated by the element [13499]loading — Used when determining loading deferral

    [13500]Accessibility considerations: [13501]For authors. [13502]For implementers.

    [13503]DOM interface:

    [Exposed=Window] interface HTMLIFrameElement : [13504]HTMLElement { [[13505]HTMLConstructor] constructor();

    [[13506]CEReactions] attribute USVString [13507]src; [[13508]CEReactions] attribute ([13509]TrustedHTML or DOMString) [13510]srcdoc ; [[13511]CEReactions] attribute DOMString [13512]name; [SameObject, PutForwards=[13513]value] readonly attribute [13514]DOMTokenList [13515]sandbox; [[13516]CEReactions] attribute DOMString [13517]allow; [[13518]CEReactions] attribute boolean [13519]allowFullscreen; [[13520]CEReactions] attribute DOMString [13521]width; [[13522]CEReactions] attribute DOMString [13523]height; [[13524]CEReactions] attribute DOMString [13525]referrerPolicy; [[13526]CEReactions] attribute DOMString [13527]loading; readonly attribute [13528]Document? [13529]contentDocument; readonly attribute [13530]WindowProxy? [13531]contentWindow; [13532]Document? [13533]getSVGDocument();

    // [13534]also has obsolete members };

    The [13535]iframe element [13536]represents its [13537]content navigable.

    The src attribute gives the [13538]URL of a page that the element's [13539]content navigable is to contain. The attribute, if present, must be a [13540]valid non-empty URL potentially surrounded by spaces. If the [13541]itemprop attribute is specified on an [13542]iframe element, then the [13543]src attribute must also be specified.

    (BUTTON) ✔MDN

    [13544]Element/iframe#attr-srcdoc

    Support in all current engines. Firefox25+Safari6+Chrome20+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android?

    The srcdoc attribute gives the content of the page that the element's [13545]content navigable is to contain. The value of the attribute is used to [13546]construct an iframe srcdoc document, which is a [13547]Document whose [13548]URL [13549]matches about:srcdoc.

    The [13550]srcdoc attribute, if present, must have a value using [13551]the HTML syntax that consists of the following syntactic components, in the given order: 1. Any number of [13552]comments and [13553]ASCII whitespace. 2. Optionally, a [13554]DOCTYPE. 3. Any number of [13555]comments and [13556]ASCII whitespace. 4. The [13557]document element, in the form of an [13558]html [13559]element. 5. Any number of [13560]comments and [13561]ASCII whitespace.

    The above requirements apply in [13562]XML documents as well.

    Here a blog uses the [13563]srcdoc attribute in conjunction with the [13564]sandbox attribute described below to provide users of user agents that support this feature with an extra layer of protection from script injection in the blog post comments:

    I got my own magazine!

    After much effort, Iʼve finally found a publisher, and so now I have my own magazine! Isnʼt that awesome?! The first issue will come out in September, and we have articles about getting food, and about getting in boxes, itʼs going to be great!

    Written by cap, 1 hour ago.

    Thirteen minutes ago, ch wrote:
    Nine minutes ago, cap wrote:
    Five minutes ago, ch wrote:

    Notice the way that quotes have to be escaped (otherwise the [13565]srcdoc attribute would end prematurely), and the way raw ampersands (e.g. in URLs or in prose) mentioned in the sandboxed content have to be doubly escaped — once so that the ampersand is preserved when originally parsing the [13566]srcdoc attribute, and once more to prevent the ampersand from being misinterpreted when parsing the sandboxed content.

    Furthermore, notice that since the [13567]DOCTYPE is optional in [13568]iframe srcdoc documents, and the [13569]html, [13570]head, and [13571]body elements have [13572]optional start and end tags, and the [13573]title element is also optional in [13574]iframe srcdoc documents, the markup in a [13575]srcdoc attribute can be relatively succinct despite representing an entire document, since only the contents of the [13576]body element need appear literally in the syntax. The other elements are still present, but only by implication.

    In [13577]the HTML syntax, authors need only remember to use U+0022 QUOTATION MARK characters (") to wrap the attribute contents and then to escape all U+0026 AMPERSAND (&) and U+0022 QUOTATION MARK (") characters, and to specify the [13578]sandbox attribute, to ensure safe embedding of content. (And remember to escape ampersands before quotation marks, to ensure quotation marks become " and not &quot;.)

    In XML the U+003C LESS-THAN SIGN character (<) needs to be escaped as well. In order to prevent [13579]attribute-value normalization, some of XML's whitespace characters — specifically U+0009 CHARACTER TABULATION (tab), U+000A LINE FEED (LF), and U+000D CARRIAGE RETURN (CR) — also need to be escaped. [13580][XML]

    If the [13581]src attribute and the [13582]srcdoc attribute are both specified together, the [13583]srcdoc attribute takes priority. This allows authors to provide a fallback [13584]URL for legacy user agents that do not support the [13585]srcdoc attribute. __________________________________________________________________

    The [13586]iframe [13587]HTML element post-connection steps, given insertedNode, are: 1. [13588]Create a new child navigable for insertedNode. 2. If insertedNode has a [13589]sandbox attribute, then [13590]parse the sandboxing directive given the attribute's value and insertedNode's [13591]iframe sandboxing flag set. 3. [13592]Process the iframe attributes for insertedNode, with [13593]initialInsertion set to true.

    The [13594]iframe [13595]HTML element removing steps, given removedNode, are to [13596]destroy a child navigable given removedNode.

    This happens without any [13597]unload events firing (the element's [13598]content document is [13599]destroyed, not [13600]unloaded).

    Although [13601]iframes are processed while in a [13602]shadow tree, per the above, several other aspects of their behavior are not well-defined with regards to shadow trees. See [13603]issue #763 for more detail.

    Whenever an [13604]iframe element with a non-null [13605]content navigable has its [13606]srcdoc attribute set, changed, or removed, the user agent must [13607]process the iframe attributes.

    Similarly, whenever an [13608]iframe element with a non-null [13609]content navigable but with no [13610]srcdoc attribute specified has its [13611]src attribute set, changed, or removed, the user agent must [13612]process the iframe attributes.

    To process the iframe attributes for an element element, with an optional boolean initialInsertion (default false): 1. If element's [13613]srcdoc attribute is specified, then: 1. Set element's [13614]current navigation was lazy loaded boolean to false. 2. If the [13615]will lazy load element steps given element return true, then: 1. Set element's [13616]lazy load resumption steps to the rest of this algorithm starting with the step labeled navigate to the srcdoc resource. 2. Set element's [13617]current navigation was lazy loaded boolean to true. 3. [13618]Start intersection-observing a lazy loading element for element. 4. Return. 3. Navigate to the srcdoc resource: [13619]Navigate an iframe or frame given element, [13620]about:srcdoc, the empty string, and the value of element's [13621]srcdoc attribute. The resulting [13622]Document must be considered [13623]an iframe srcdoc document. 2. Otherwise: 1. Let url be the result of running the [13624]shared attribute processing steps for iframe and frame elements given element and initialInsertion. 2. If url is null, then return. 3. If url [13625]matches about:blank and initialInsertion is true, then: 1. Run the [13626]iframe load event steps given element. 2. Return. 4. Let referrerPolicy be the current state of element's [13627]referrerpolicy content attribute. 5. Set element's [13628]current navigation was lazy loaded boolean to false. 6. If the [13629]will lazy load element steps given element return true, then: 1. Set element's [13630]lazy load resumption steps to the rest of this algorithm starting with the step labeled navigate. 2. Set element's [13631]current navigation was lazy loaded boolean to true. 3. [13632]Start intersection-observing a lazy loading element for element. 4. Return. 7. Navigate: [13633]Navigate an iframe or frame given element, url, and referrerPolicy.

    The shared attribute processing steps for iframe and frame elements, given an element element and a boolean initialInsertion, are: 1. Let url be the [13634]URL record [13635]about:blank. 2. If element has a [13636]src attribute specified, and its value is not the empty string, then: 1. Let maybeURL be the result of [13637]encoding-parsing a URL given that attribute's value, relative to element's [13638]node document. 2. If maybeURL is not failure, then set url to maybeURL. 3. If the [13639]inclusive ancestor navigables of element's [13640]node navigable contains a [13641]navigable whose [13642]active document's [13643]URL [13644]equals url with [13645]exclude fragments set to true, then return null. 4. If url [13646]matches about:blank and initialInsertion is true, then perform the [13647]URL and history update steps given element's [13648]content navigable's [13649]active document and url. This is necessary in case url is something like about:blank?foo. If url is just plain about:blank, this will do nothing. 5. Return url.

    To navigate an iframe or frame given an element element, a [13650]URL url, a [13651]referrer policy referrerPolicy, and an optional string-or-null srcdocString (default null): 1. Let historyHandling be "[13652]auto". 2. If element's [13653]content navigable's [13654]active document is not [13655]completely loaded, then set historyHandling to "[13656]replace". 3. If element is an [13657]iframe, then set element's [13658]pending resource-timing start time to the [13659]current high resolution time given element's [13660]node document's [13661]relevant global object. 4. [13662]Navigate element's [13663]content navigable to url using element's [13664]node document, with [13665]historyHandling set to historyHandling, [13666]referrerPolicy set to referrerPolicy, and [13667]documentResource set to srcdocString.

    Each [13668]Document has an iframe load in progress flag and a mute iframe load flag. When a [13669]Document is created, these flags must be unset for that [13670]Document.

    To run the iframe load event steps, given an [13671]iframe element element: 1. [13672]Assert: element's [13673]content navigable is not null. 2. Let childDocument be element's [13674]content navigable's [13675]active document. 3. If childDocument has its [13676]mute iframe load flag set, then return. 4. If element's [13677]pending resource-timing start time is not null, then: 1. Let global be element's [13678]node document's [13679]relevant global object. 2. Let fallbackTimingInfo be a new [13680]fetch timing info whose [13681]start time is element's [13682]pending resource-timing start time and whose [13683]response end time is the [13684]current high resolution time given global. 3. [13685]Mark resource timing given fallbackTimingInfo, url, "[13686]iframe", global, the empty string, a new [13687]response body info, and 0. 4. Set element's [13688]pending resource-timing start time to null. 5. Set childDocument's [13689]iframe load in progress flag. 6. [13690]Fire an event named [13691]load at element. 7. Unset childDocument's [13692]iframe load in progress flag.

    This, in conjunction with scripting, can be used to probe the URL space of the local network's HTTP servers. User agents may implement [13693]cross-origin access control policies that are stricter than those described above to mitigate this attack, but unfortunately such policies are typically not compatible with existing web content.

    If an element type potentially delays the load event, then for each element element of that type, the user agent must [13694]delay the load event of element's [13695]node document if element's [13696]content navigable is non-null and any of the following are true: * element's [13697]content navigable's [13698]active document is not [13699]ready for post-load tasks; * element's [13700]content navigable's [13701]is delaying load events is true; or * anything is [13702]delaying the load event of element's [13703]content navigable's [13704]active document.

    If, during the handling of the [13705]load event, element's [13706]content navigable is again [13707]navigated, that will further [13708]delay the load event.

    Each [13709]iframe element has an associated current navigation was lazy loaded boolean, initially false. It is set and unset in the [13710]process the iframe attributes algorithm.

    An [13711]iframe element whose [13712]current navigation was lazy loaded boolean is false [13713]potentially delays the load event.

    Each [13714]iframe element has an associated null or [13715]DOMHighResTimeStamp pending resource-timing start time, initially set to null.

    If, when the element is created, the [13716]srcdoc attribute is not set, and the [13717]src attribute is either also not set or set but its value cannot be [13718]parsed, the element's [13719]content navigable will remain at the [13720]initial about:blank [13721]Document.

    If the user [13722]navigates away from this page, the [13723]iframe's [13724]content navigable's [13725]active WindowProxy object will proxy new [13726]Window objects for new [13727]Document objects, but the [13728]src attribute will not change. __________________________________________________________________

    The name attribute, if present, must be a [13729]valid navigable target name. The given value is used to name the element's [13730]content navigable if present when that is [13731]created. __________________________________________________________________

    (BUTTON) ✔MDN

    [13732]Element/iframe#attr-sandbox

    Support in all current engines. Firefox17+Safari5+Chrome4+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The sandbox attribute, when specified, enables a set of extra restrictions on any content hosted by the [13733]iframe. Its value must be an [13734]unordered set of unique space-separated tokens that are [13735]ASCII case-insensitive. The allowed values are: * [13736]allow-downloads * [13737]allow-forms * [13738]allow-modals * [13739]allow-orientation-lock * [13740]allow-pointer-lock * [13741]allow-popups * [13742]allow-popups-to-escape-sandbox * [13743]allow-presentation * [13744]allow-same-origin * [13745]allow-scripts * [13746]allow-top-navigation * [13747]allow-top-navigation-by-user-activation * [13748]allow-top-navigation-to-custom-protocols

    When the attribute is set, the content is treated as being from a unique [13749]opaque origin, forms, scripts, and various potentially annoying APIs are disabled, and links are prevented from targeting other [13750]navigables. The [13751]allow-same-origin keyword causes the content to be treated as being from its real origin instead of forcing it into an [13752]opaque origin; the [13753]allow-top-navigation keyword allows the content to [13754]navigate its [13755]traversable navigable; the [13756]allow-top-navigation-by-user-activation keyword behaves similarly but allows such [13757]navigation only when the browsing context's [13758]active window has [13759]transient activation; the [13760]allow-top-navigation-to-custom-protocols reenables navigations toward non [13761]fetch scheme to be [13762]handed off to external software; and the [13763]allow-forms, [13764]allow-modals, [13765]allow-orientation-lock, [13766]allow-pointer-lock, [13767]allow-popups, [13768]allow-presentation, [13769]allow-scripts, and [13770]allow-popups-to-escape-sandbox keywords re-enable forms, modal dialogs, screen orientation lock, the pointer lock API, popups, the presentation API, scripts, and the creation of unsandboxed [13771]auxiliary browsing contexts respectively. The [13772]allow-downloads keyword allows content to perform downloads. [13773][POINTERLOCK] [13774][SCREENORIENTATION] [13775][PRESENTATION]

    The [13776]allow-top-navigation and [13777]allow-top-navigation-by-user-activation keywords must not both be specified, as doing so is redundant; only [13778]allow-top-navigation will have an effect in such non-conformant markup.

    Similarly, the [13779]allow-top-navigation-to-custom-protocols keyword must not be specified if either [13780]allow-top-navigation or [13781]allow-popups are specified, as doing so is redundant.

    To allow [13782]alert(), [13783]confirm(), and [13784]prompt() inside sandboxed content, both the [13785]allow-modals and [13786]allow-same-origin keywords need to be specified, and the loaded URL needs to be [13787]same origin with the [13788]top-level origin. Without the [13789]allow-same-origin keyword, the content is always treated as cross-origin, and cross-origin content [13790]cannot show simple dialogs.

    Setting both the [13791]allow-scripts and [13792]allow-same-origin keywords together when the embedded page has the [13793]same origin as the page containing the [13794]iframe allows the embedded page to simply remove the [13795]sandbox attribute and then reload itself, effectively breaking out of the sandbox altogether.

    These flags only take effect when the [13796]content navigable of the [13797]iframe element is [13798]navigated. Removing them, or removing the entire [13799]sandbox attribute, has no effect on an already-loaded page.

    Potentially hostile files should not be served from the same server as the file containing the [13800]iframe element. Sandboxing hostile content is of minimal help if an attacker can convince the user to just visit the hostile content directly, rather than in the [13801]iframe. To limit the damage that can be caused by hostile HTML content, it should be served from a separate dedicated domain. Using a different domain ensures that scripts in the files are unable to attack the site, even if the user is tricked into visiting those pages directly, without the protection of the [13802]sandbox attribute.

    When an [13803]iframe element's [13804]sandbox attribute is set or changed while it has a non-null [13805]content navigable, the user agent must [13806]parse the sandboxing directive given the attribute's value and the [13807]iframe element's [13808]iframe sandboxing flag set.

    When an [13809]iframe element's [13810]sandbox attribute is removed while it has a non-null [13811]content navigable, the user agent must empty the [13812]iframe element's [13813]iframe sandboxing flag set.

    In this example, some completely-unknown, potentially hostile, user-provided HTML content is embedded in a page. Because it is served from a separate domain, it is affected by all the normal cross-site restrictions. In addition, the embedded page has scripting disabled, plugins disabled, forms disabled, and it cannot navigate any frames or windows other than itself (or any frames or windows it itself embeds).

    Weʼre not scared of you! Here is your content, unedited:

    It is important to use a separate domain so that if the attacker convinces the user to visit that page directly, the page doesn't run in the context of the site's origin, which would make the user vulnerable to any attack found in the page.

    In this example, a gadget from another site is embedded. The gadget has scripting and forms enabled, and the origin sandbox restrictions are lifted, allowing the gadget to communicate with its originating server. The sandbox is still useful, however, as it disables plugins and popups, thus reducing the risk of the user being exposed to malware and other annoyances.

    Suppose a file A contained the following fragment:

    Suppose that file B contained an iframe also:

    Further, suppose that file C contained a link: Link

    For this example, suppose all the files were served as [13814]text/html.

    Page C in this scenario has all the sandboxing flags set. Scripts are disabled, because the [13815]iframe in A has scripts disabled, and this overrides the [13816]allow-scripts keyword set on the [13817]iframe in B. Forms are also disabled, because the inner [13818]iframe (in B) does not have the [13819]allow-forms keyword set.

    Suppose now that a script in A removes all the [13820]sandbox attributes in A and B. This would change nothing immediately. If the user clicked the link in C, loading page D into the [13821]iframe in B, page D would now act as if the [13822]iframe in B had the [13823]allow-same-origin and [13824]allow-forms keywords set, because that was the state of the [13825]content navigable in the [13826]iframe in A when page B was loaded.

    Generally speaking, dynamically removing or changing the [13827]sandbox attribute is ill-advised, because it can make it quite hard to reason about what will be allowed and what will not. __________________________________________________________________

    The allow attribute, when specified, determines the [13828]container policy that will be used when the [13829]permissions policy for a [13830]Document in the [13831]iframe's [13832]content navigable is initialized. Its value must be a [13833]serialized permissions policy. [13834][PERMISSIONSPOLICY]

    In this example, an [13835]iframe is used to embed a map from an online navigation service. The [13836]allow attribute is used to enable the Geolocation API within the nested context.

    The allowfullscreen attribute is a [13837]boolean attribute. When specified, it indicates that [13838]Document objects in the [13839]iframe element's [13840]content navigable will be initialized with a [13841]permissions policy which allows the "fullscreen" feature to be used from any [13842]origin. This is enforced by the [13843]process permissions policy attributes algorithm. [13844][PERMISSIONSPOLICY]

    Here, an [13845]iframe is used to embed a player from a video site. The [13846]allowfullscreen attribute is needed to enable the player to show its video fullscreen.

    Fred Flintstone

    12:44Private Post

    Check out my new ride!

    4.8.6 The embed element

    (BUTTON) ✔MDN

    [13923]Element/embed

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    (BUTTON) ✔MDN

    [13924]HTMLEmbedElement

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [13925]Categories: [13926]Flow content. [13927]Phrasing content. [13928]Embedded content. [13929]Interactive content. [13930]Palpable content.

    [13931]Contexts in which this element can be used: Where [13932]embedded content is expected.

    [13933]Content model: [13934]Nothing.

    [13935]Tag omission in text/html: No [13936]end tag.

    [13937]Content attributes: [13938]Global attributes [13939]src — Address of the resource [13940]type — Type of embedded resource [13941]width — Horizontal dimension [13942]height — Vertical dimension Any other attribute that has no namespace (see prose).

    [13943]Accessibility considerations: [13944]For authors. [13945]For implementers.

    [13946]DOM interface:

    [Exposed=Window] interface HTMLEmbedElement : [13947]HTMLElement { [[13948]HTMLConstructor] constructor();

    [[13949]CEReactions] attribute USVString [13950]src; [[13951]CEReactions] attribute DOMString [13952]type; [[13953]CEReactions] attribute DOMString [13954]width; [[13955]CEReactions] attribute DOMString [13956]height; [13957]Document? [13958]getSVGDocument();

    // [13959]also has obsolete members };

    The [13960]embed element provides an integration point for an external application or interactive content.

    The src attribute gives the [13961]URL of the resource being embedded. The attribute, if present, must contain a [13962]valid non-empty URL potentially surrounded by spaces.

    If the [13963]itemprop attribute is specified on an [13964]embed element, then the [13965]src attribute must also be specified.

    The type attribute, if present, gives the [13966]MIME type by which the plugin to instantiate is selected. The value must be a [13967]valid MIME type string. If both the [13968]type attribute and the [13969]src attribute are present, then the [13970]type attribute must specify the same type as the [13971]explicit Content-Type metadata of the resource given by the [13972]src attribute.

    While any of the following conditions are occurring, any [13973]plugin instantiated for the element must be removed, and the [13974]embed element [13975]represents nothing: * The element has neither a [13976]src attribute nor a [13977]type attribute. * The element has a [13978]media element ancestor. * The element has an ancestor [13979]object element that is not showing its [13980]fallback content.

    An [13981]embed element is said to be potentially active when the following conditions are all met simultaneously: * The element is [13982]in a document or was [13983]in a document the last time the [13984]event loop reached [13985]step 1. * The element's [13986]node document is [13987]fully active. * The element has either a [13988]src attribute set or a [13989]type attribute set (or both). * The element's [13990]src attribute is either absent or its value is not the empty string. * The element is not a descendant of a [13991]media element. * The element is not a descendant of an [13992]object element that is not showing its [13993]fallback content. * The element is [13994]being rendered, or was [13995]being rendered the last time the [13996]event loop reached [13997]step 1.

    Whenever an [13998]embed element that was not [13999]potentially active becomes [14000]potentially active, and whenever a [14001]potentially active [14002]embed element that is remaining [14003]potentially active and has its [14004]src attribute set, changed, or removed or its [14005]type attribute set, changed, or removed, the user agent must [14006]queue an element task on the embed task source given the element to run [14007]the embed element setup steps for that element.

    The embed element setup steps for a given [14008]embed element element are as follows: 1. If another [14009]task has since been queued to run [14010]the embed element setup steps for element, then return. 2. If element has a [14011]src attribute set, then: 1. Let url be the result of [14012]encoding-parsing a URL given element's [14013]src attribute's value, relative to element's [14014]node document. 2. If url is failure, then return. 3. Let request be a new [14015]request whose [14016]URL is url, [14017]client is element's [14018]node document's [14019]relevant settings object, [14020]destination is "embed", [14021]credentials mode is "include", [14022]mode is "navigate", [14023]initiator type is "embed", and whose [14024]use-URL-credentials flag is set. 4. [14025]Fetch request, with [14026]processResponse set to the following steps given [14027]response response: 1. If another [14028]task has since been queued to run [14029]the embed element setup steps for element, then return. 2. If response is a [14030]network error, then [14031]fire an event named [14032]load at element, and return. 3. Let type be the result of determining the [14033]type of content given element and response. 4. Switch on type:

    null

    1. [14034]Display no plugin for element.

    Otherwise

    1. If element's [14035]content navigable is null, then [14036]create a new child navigable for element. 2. [14037]Navigate element's [14038]content navigable to response's [14039]URL using element's [14040]node document, with [14041]response set to response, and [14042]historyHandling set to "[14043]replace". element's [14044]src attribute does not get updated if the [14045]content navigable gets further navigated to other locations. 3. element now [14046]represents its [14047]content navigable.

    Fetching the resource must [14048]delay the load event of element's [14049]node document. 3. Otherwise, [14050]display no plugin for element.

    To determine the type of the content given an [14051]embed element element and a [14052]response response, run the following steps: 1. If element has a [14053]type attribute, and that attribute's value is a type that a [14054]plugin supports, then return the value of the [14055]type attribute. 2. If the [14056]path component of response's [14057]url matches a pattern that a [14058]plugin supports, then return the type that that plugin can handle. For example, a plugin might say that it can handle URLs with [14059]path components that end with the four character string ".swf". 3. If response has [14060]explicit Content-Type metadata, and that value is a type that a [14061]plugin supports, then return that value. 4. Return null.

    It is intentional that the above algorithm allows response to have a non-[14062]ok status. This allows servers to return data for plugins even with error responses (e.g., HTTP 500 Internal Server Error codes can still contain plugin data).

    To display no plugin for an [14063]embed element element: 1. [14064]Destroy a child navigable given element. 2. Display an indication that no [14065]plugin could be found for element, as the contents of element. 3. element now [14066]represents nothing.

    The [14067]embed element has no [14068]fallback content; its descendants are ignored.

    Whenever an [14069]embed element that was [14070]potentially active stops being [14071]potentially active, any [14072]plugin that had been instantiated for that element must be unloaded.

    The [14073]embed element [14074]potentially delays the load event.

    The [14075]embed element supports [14076]dimension attributes.

    The IDL attributes src and type each must [14077]reflect the respective content attributes of the same name.

    4.8.7 The object element

    (BUTTON) ✔MDN

    [14078]Element/object

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    (BUTTON) ✔MDN

    [14079]HTMLObjectElement

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [14080]Categories: [14081]Flow content. [14082]Phrasing content. [14083]Embedded content. [14084]Listed [14085]form-associated element. [14086]Palpable content.

    [14087]Contexts in which this element can be used: Where [14088]embedded content is expected.

    [14089]Content model: [14090]Transparent.

    [14091]Tag omission in text/html: Neither tag is omissible.

    [14092]Content attributes: [14093]Global attributes [14094]data — Address of the resource [14095]type — Type of embedded resource [14096]name — Name of [14097]content navigable [14098]form — Associates the element with a [14099]form element [14100]width — Horizontal dimension [14101]height — Vertical dimension

    [14102]Accessibility considerations: [14103]For authors. [14104]For implementers.

    [14105]DOM interface:

    [Exposed=Window] interface HTMLObjectElement : [14106]HTMLElement { [[14107]HTMLConstructor] constructor();

    [[14108]CEReactions] attribute USVString [14109]data; [[14110]CEReactions] attribute DOMString [14111]type; [[14112]CEReactions] attribute DOMString [14113]name; readonly attribute [14114]HTMLFormElement? [14115]form; [[14116]CEReactions] attribute DOMString [14117]width; [[14118]CEReactions] attribute DOMString [14119]height; readonly attribute [14120]Document? [14121]contentDocument; readonly attribute [14122]WindowProxy? [14123]contentWindow; [14124]Document? [14125]getSVGDocument();

    readonly attribute boolean [14126]willValidate; readonly attribute [14127]ValidityState [14128]validity; readonly attribute DOMString [14129]validationMessage; boolean [14130]checkValidity(); boolean [14131]reportValidity(); undefined [14132]setCustomValidity(DOMString error);

    // [14133]also has obsolete members };

    Depending on the type of content instantiated by the [14134]object element, the node also supports other interfaces.

    The [14135]object element can represent an external resource, which, depending on the type of the resource, will either be treated as an image or as a [14136]child navigable.

    The data attribute specifies the [14137]URL of the resource. It must be present, and must contain a [14138]valid non-empty URL potentially surrounded by spaces.

    The type attribute, if present, specifies the type of the resource. If present, the attribute must be a [14139]valid MIME type string.

    The name attribute, if present, must be a [14140]valid navigable target name. The given value is used to name the element's [14141]content navigable, if applicable, and if present when the element's [14142]content navigable is [14143]created.

    Whenever one of the following conditions occur: * the element is created, * the element is popped off the [14144]stack of open elements of an [14145]HTML parser or [14146]XML parser, * the element is not on the [14147]stack of open elements of an [14148]HTML parser or [14149]XML parser, and it is either [14150]inserted into a document or [14151]removed from a document, * the element's [14152]node document changes whether it is [14153]fully active, * one of the element's ancestor [14154]object elements changes to or from showing its [14155]fallback content, * the element's [14156]classid attribute is set, changed, or removed, * the element's [14157]classid attribute is not present, and its [14158]data attribute is set, changed, or removed, * neither the element's [14159]classid attribute nor its [14160]data attribute are present, and its [14161]type attribute is set, changed, or removed, * the element changes from [14162]being rendered to not being rendered, or vice versa,

    ...the user agent must [14163]queue an element task on the [14164]DOM manipulation task source given the [14165]object element to run the following steps to (re)determine what the [14166]object element represents. This [14167]task being [14168]queued or actively running must [14169]delay the load event of the element's [14170]node document. 1. If the user has indicated a preference that this [14171]object element's [14172]fallback content be shown instead of the element's usual behavior, then jump to the step below labeled fallback. For example, a user could ask for the element's [14173]fallback content to be shown because that content uses a format that the user finds more accessible. 2. If the element has an ancestor [14174]media element, or has an ancestor [14175]object element that is not showing its [14176]fallback content, or if the element is not [14177]in a document whose [14178]browsing context is non-null, or if the element's [14179]node document is not [14180]fully active, or if the element is still in the [14181]stack of open elements of an [14182]HTML parser or [14183]XML parser, or if the element is not [14184]being rendered, then jump to the step below labeled fallback. 3. If the [14185]data attribute is present and its value is not the empty string, then: 1. If the [14186]type attribute is present and its value is not a type that the user agent supports, then the user agent may jump to the step below labeled fallback without fetching the content to examine its real type. 2. Let url be the result of [14187]encoding-parsing a URL given the [14188]data attribute's value, relative to the element's [14189]node document. 3. If url is failure, then [14190]fire an event named [14191]error at the element and jump to the step below labeled fallback. 4. Let request be a new [14192]request whose [14193]URL is url, [14194]client is the element's [14195]node document's [14196]relevant settings object, [14197]destination is "object", [14198]credentials mode is "include", [14199]mode is "navigate", [14200]initiator type is "object", and whose [14201]use-URL-credentials flag is set. 5. [14202]Fetch request. Fetching the resource must [14203]delay the load event of the element's [14204]node document until the [14205]task that is [14206]queued by the [14207]networking task source once the resource has been fetched (defined next) has been run. 6. If the resource is not yet available (e.g. because the resource was not available in the cache, so that loading the resource required making a request over the network), then jump to the step below labeled fallback. The [14208]task that is [14209]queued by the [14210]networking task source once the resource is available must restart this algorithm from this step. Resources can load incrementally; user agents may opt to consider a resource "available" whenever enough data has been obtained to begin processing the resource. 7. If the load failed (e.g. there was an HTTP 404 error, there was a DNS error), [14211]fire an event named [14212]error at the element, then jump to the step below labeled fallback. 8. Determine the resource type, as follows: 1. Let the resource type be unknown. 2. If the user agent is configured to strictly obey Content-Type headers for this resource, and the resource has [14213]associated Content-Type metadata, then let the resource type be the type specified in [14214]the resource's Content-Type metadata, and jump to the step below labeled handler. This can introduce a vulnerability, wherein a site is trying to embed a resource that uses a particular type, but the remote site overrides that and instead furnishes the user agent with a resource that triggers a different type of content with different security characteristics. 3. Run the appropriate set of steps from the following list:

    If the resource has [14215]associated Content-Type metadata

    1. Let binary be false. 2. If the type specified in [14216]the resource's Content-Type metadata is "[14217]text/plain", and the result of applying the [14218]rules for distinguishing if a resource is text or binary to the resource is that the resource is not [14219]text/plain, then set binary to true. 3. If the type specified in [14220]the resource's Content-Type metadata is "[14221]application/octet-stream", then set binary to true. 4. If binary is false, then let the resource type be the type specified in [14222]the resource's Content-Type metadata, and jump to the step below labeled handler. 5. If there is a [14223]type attribute present on the [14224]object element, and its value is not [14225]application/octet-stream, then run the following steps: 1. If the attribute's value is a type that starts with "image/" that is not also an [14226]XML MIME type, then let the resource type be the type specified in that [14227]type attribute. 2. Jump to the step below labeled handler.

    Otherwise, if the resource does not have [14228]associated Content-Type metadata

    1. If there is a [14229]type attribute present on the [14230]object element, then let the tentative type be the type specified in that [14231]type attribute. Otherwise, let tentative type be the [14232]computed type of the resource. 2. If tentative type is not [14233]application/octet-stream, then let resource type be tentative type and jump to the step below labeled handler.

    4. If applying the [14234]URL parser algorithm to the [14235]URL of the specified resource (after any redirects) results in a [14236]URL record whose [14237]path component matches a pattern that a [14238]plugin supports, then let resource type be the type that that plugin can handle. For example, a plugin might say that it can handle resources with [14239]path components that end with the four character string ".swf". It is possible for this step to finish, or for one of the substeps above to jump straight to the next step, with resource type still being unknown. In both cases, the next step will trigger fallback. 9. Handler: Handle the content as given by the first of the following cases that matches:

    If the resource type is an [14240]XML MIME type, or if the resource type does not start with "image/" If the [14241]object element's [14242]content navigable is null, then [14243]create a new child navigable for the element.

    Let response be the [14244]response from [14245]fetch.

    If response's [14246]URL does not [14247]match about:blank, then [14248]navigate the element's [14249]content navigable to response's [14250]URL using the element's [14251]node document, with [14252]historyHandling set to "[14253]replace".

    The [14254]data attribute of the [14255]object element doesn't get updated if the [14256]content navigable gets further [14257]navigated to other locations.

    The [14258]object element [14259]represents its [14260]content navigable.

    If the resource type starts with "image/", and support for images has not been disabled [14261]Destroy a child navigable given the [14262]object element.

    Apply the [14263]image sniffing rules to determine the type of the image.

    The [14264]object element [14265]represents the specified image.

    If the image cannot be rendered, e.g. because it is malformed or in an unsupported format, jump to the step below labeled fallback.

    Otherwise The given resource type is not supported. Jump to the step below labeled fallback.

    If the previous step ended with the resource type being unknown, this is the case that is triggered.

    10. The element's contents are not part of what the [14266]object element represents. 11. If the [14267]object element does not represent its [14268]content navigable, then once the resource is completely loaded, [14269]queue an element task on the [14270]DOM manipulation task source given the [14271]object element to [14272]fire an event named [14273]load at the element. If the element does represent its [14274]content navigable, then an analogous task will be queued when the created [14275]Document is [14276]completely finished loading. 12. Return. 4. Fallback: The [14277]object element [14278]represents the element's children. This is the element's [14279]fallback content. [14280]Destroy a child navigable given the element.

    Due to the algorithm above, the contents of [14281]object elements act as [14282]fallback content, used only when referenced resources can't be shown (e.g. because it returned a 404 error). This allows multiple [14283]object elements to be nested inside each other, targeting multiple user agents with different capabilities, with the user agent picking the first one it supports.

    The [14284]object element [14285]potentially delays the load event.

    The [14286]form attribute is used to explicitly associate the [14287]object element with its [14288]form owner.

    The [14289]object element supports [14290]dimension attributes.

    (BUTTON) ✔MDN

    [14291]HTMLObjectElement/data

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [14292]HTMLObjectElement/type

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [14293]HTMLObjectElement/name

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The IDL attributes data, type, and name each must [14294]reflect the respective content attributes of the same name.

    (BUTTON) ✔MDN

    [14295]HTMLObjectElement/contentDocument

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer8+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The contentDocument getter steps are to return [14296]this's [14297]content document.

    (BUTTON) ✔MDN

    [14298]HTMLObjectElement/contentWindow

    Support in all current engines. Firefox22+Safari13+Chrome53+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)17+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The contentWindow getter steps are to return [14299]this's [14300]content window.

    The [14301]willValidate, [14302]validity, and [14303]validationMessage attributes, and the [14304]checkValidity(), [14305]reportValidity(), and [14306]setCustomValidity() methods, are part of the [14307]constraint validation API. The [14308]form IDL attribute is part of the element's forms API.

    In this example, an HTML page is embedded in another using the [14309]object element.

    My HTML Clock

    4.8.8 The video element

    (BUTTON) ✔MDN

    [14310]Element/video

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android?Samsung Internet?Opera Android?

    (BUTTON) ✔MDN

    [14311]HTMLVideoElement

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+

    [14312]Categories: [14313]Flow content. [14314]Phrasing content. [14315]Embedded content. If the element has a [14316]controls attribute: [14317]Interactive content. [14318]Palpable content.

    [14319]Contexts in which this element can be used: Where [14320]embedded content is expected.

    [14321]Content model: If the element has a [14322]src attribute: zero or more [14323]track elements, then [14324]transparent, but with no [14325]media element descendants. If the element does not have a [14326]src attribute: zero or more [14327]source elements, then zero or more [14328]track elements, then [14329]transparent, but with no [14330]media element descendants.

    [14331]Tag omission in text/html: Neither tag is omissible.

    [14332]Content attributes: [14333]Global attributes [14334]src — Address of the resource [14335]crossorigin — How the element handles crossorigin requests [14336]poster — Poster frame to show prior to video playback [14337]preload — Hints how much buffering the [14338]media resource will likely need [14339]autoplay — Hint that the [14340]media resource can be started automatically when the page is loaded [14341]playsinline — Encourage the user agent to display video content within the element's playback area [14342]loop — Whether to loop the [14343]media resource [14344]muted — Whether to mute the [14345]media resource by default [14346]controls — Show user agent controls [14347]width — Horizontal dimension [14348]height — Vertical dimension

    [14349]Accessibility considerations: [14350]For authors. [14351]For implementers.

    [14352]DOM interface:

    [Exposed=Window] interface HTMLVideoElement : [14353]HTMLMediaElement { [[14354]HTMLConstructor] constructor();

    [[14355]CEReactions] attribute unsigned long [14356]width; [[14357]CEReactions] attribute unsigned long [14358]height; readonly attribute unsigned long [14359]videoWidth; readonly attribute unsigned long [14360]videoHeight; [[14361]CEReactions] attribute USVString [14362]poster; [[14363]CEReactions] attribute boolean [14364]playsInline; };

    A [14365]video element is used for playing videos or movies, and audio files with captions.

    Content may be provided inside the [14366]video element. User agents should not show this content to the user; it is intended for older web browsers which do not support [14367]video, so that text can be shown to the users of these older browsers informing them of how to access the video contents.

    In particular, this content is not intended to address accessibility concerns. To make video content accessible to the partially sighted, the blind, the hard-of-hearing, the deaf, and those with other physical or cognitive disabilities, a variety of features are available. Captions can be provided, either embedded in the video stream or as external files using the [14368]track element. Sign-language tracks can be embedded in the video stream. Audio descriptions can be embedded in the video stream or in text form using a [14369]WebVTT file referenced using the [14370]track element and synthesized into speech by the user agent. WebVTT can also be used to provide chapter titles. For users who would rather not use a media element at all, transcripts or other textual alternatives can be provided by simply linking to them in the prose near the [14371]video element. [14372][WEBVTT]

    The [14373]video element is a [14374]media element whose [14375]media data is ostensibly video data, possibly with associated audio data.

    The [14376]src, [14377]crossorigin, [14378]preload, [14379]autoplay, [14380]loop, [14381]muted, and [14382]controls attributes are [14383]the attributes common to all media elements.

    The poster attribute gives the [14384]URL of an image file that the user agent can show while no video data is available. The attribute, if present, must contain a [14385]valid non-empty URL potentially surrounded by spaces.

    If the specified resource is to be used, then, when the element is created or when the [14386]poster attribute is set, changed, or removed, the user agent must run the following steps to determine the element's poster frame (regardless of the value of the element's [14387]show poster flag): 1. If there is an existing instance of this algorithm running for this [14388]video element, abort that instance of this algorithm without changing the [14389]poster frame. 2. If the [14390]poster attribute's value is the empty string or if the attribute is absent, then there is no [14391]poster frame; return. 3. Let url be the result of [14392]encoding-parsing a URL given the [14393]poster attribute's value, relative to the element's [14394]node document. 4. If url is failure, then return. There is no [14395]poster frame. 5. Let request be a new [14396]request whose [14397]URL is url, [14398]client is the element's [14399]node document's [14400]relevant settings object, [14401]destination is "image", [14402]initiator type is "video", [14403]credentials mode is "include", and whose [14404]use-URL-credentials flag is set. 6. [14405]Fetch request. This must [14406]delay the load event of the element's [14407]node document. 7. If an image is thus obtained, the [14408]poster frame is that image. Otherwise, there is no [14409]poster frame.

    The image given by the [14410]poster attribute, the [14411]poster frame, is intended to be a representative frame of the video (typically one of the first non-blank frames) that gives the user an idea of what the video is like.

    The playsinline attribute is a [14412]boolean attribute. If present, it serves as a hint to the user agent that the video ought to be displayed "inline" in the document by default, constrained to the element's playback area, instead of being displayed fullscreen or in an independent resizable window.

    The absence of the [14413]playsinline attribute does not imply that the video will display fullscreen by default. Indeed, most user agents have chosen to play all videos inline by default, and in such user agents the [14414]playsinline attribute has no effect. __________________________________________________________________

    A [14415]video element represents what is given for the first matching condition in the list below:

    When no video data is available (the element's [14416]readyState attribute is either [14417]HAVE_NOTHING, or [14418]HAVE_METADATA but no video data has yet been obtained at all, or the element's [14419]readyState attribute is any subsequent value but the [14420]media resource does not have a video channel) The [14421]video element [14422]represents its [14423]poster frame, if any, or else [14424]transparent black with no [14425]natural dimensions.

    When the [14426]video element is [14427]paused, the [14428]current playback position is the first frame of video, and the element's [14429]show poster flag is set The [14430]video element [14431]represents its [14432]poster frame, if any, or else the first frame of the video.

    When the [14433]video element is [14434]paused, and the frame of video corresponding to the [14435]current playback position is not available (e.g. because the video is seeking or buffering)

    When the [14436]video element is neither [14437]potentially playing nor [14438]paused (e.g. when seeking or stalled) The [14439]video element [14440]represents the last frame of the video to have been rendered.

    When the [14441]video element is [14442]paused The [14443]video element [14444]represents the frame of video corresponding to the [14445]current playback position.

    Otherwise (the [14446]video element has a video channel and is [14447]potentially playing) The [14448]video element [14449]represents the frame of video at the continuously increasing [14450]"current" position. When the [14451]current playback position changes such that the last frame rendered is no longer the frame corresponding to the [14452]current playback position in the video, the new frame must be rendered.

    Frames of video must be obtained from the video track that was [14453]selected when the [14454]event loop last reached [14455]step 1.

    Which frame in a video stream corresponds to a particular playback position is defined by the video stream's format.

    The [14456]video element also [14457]represents any [14458]text track cues whose [14459]text track cue active flag is set and whose [14460]text track is in the [14461]showing mode, and any audio from the [14462]media resource, at the [14463]current playback position.

    Any audio associated with the [14464]media resource must, if played, be played synchronized with the [14465]current playback position, at the element's [14466]effective media volume. The user agent must play the audio from audio tracks that were [14467]enabled when the [14468]event loop last reached step 1.

    In addition to the above, the user agent may provide messages to the user (such as "buffering", "no video loaded", "error", or more detailed information) by overlaying text or icons on the video or other areas of the element's playback area, or in another appropriate manner.

    User agents that cannot render the video may instead make the element [14469]represent a link to an external video playback utility or to the video data itself.

    When a [14470]video element's [14471]media resource has a video channel, the element provides a [14472]paint source whose width is the [14473]media resource's [14474]natural width, whose height is the [14475]media resource's [14476]natural height, and whose appearance is the frame of video corresponding to the [14477]current playback position, if that is available, or else (e.g. when the video is seeking or buffering) its previous appearance, if any, or else (e.g. because the video is still loading the first frame) blackness. __________________________________________________________________

    video.[14478]videoWidth

    (BUTTON) ✔MDN

    [14479]HTMLVideoElement/videoWidth

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome3+ ___________________________________________________________

    Opera10.5+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+

    video.[14480]videoHeight

    (BUTTON) ✔MDN

    [14481]HTMLVideoElement/videoHeight

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome3+ ___________________________________________________________

    Opera10.5+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ These attributes return the natural dimensions of the video, or 0 if the dimensions are not known.

    The natural width and natural height of the [14482]media resource are the dimensions of the resource in [14483]CSS pixels after taking into account the resource's dimensions, aspect ratio, clean aperture, resolution, and so forth, as defined for the format used by the resource. If an anamorphic format does not define how to apply the aspect ratio to the video data's dimensions to obtain the "correct" dimensions, then the user agent must apply the ratio by increasing one dimension and leaving the other unchanged.

    The videoWidth IDL attribute must return the [14484]natural width of the video in [14485]CSS pixels. The videoHeight IDL attribute must return the [14486]natural height of the video in [14487]CSS pixels. If the element's [14488]readyState attribute is [14489]HAVE_NOTHING, then the attributes must return 0.

    Whenever the [14490]natural width or [14491]natural height of the video changes (including, for example, because the [14492]selected video track was changed), if the element's [14493]readyState attribute is not [14494]HAVE_NOTHING, the user agent must [14495]queue a media element task given the [14496]media element to [14497]fire an event named [14498]resize at the [14499]media element.

    The [14500]video element supports [14501]dimension attributes.

    In the absence of style rules to the contrary, video content should be rendered inside the element's playback area such that the video content is shown centered in the playback area at the largest possible size that fits completely within it, with the video content's aspect ratio being preserved. Thus, if the aspect ratio of the playback area does not match the aspect ratio of the video, the video will be shown letterboxed or pillarboxed. Areas of the element's playback area that do not contain the video represent nothing.

    In user agents that implement CSS, the above requirement can be implemented by using the [14502]style rule suggested in the Rendering section.

    The [14503]natural width of a [14504]video element's playback area is the [14505]natural width of the [14506]poster frame, if that is available and the element currently [14507]represents its poster frame; otherwise, it is the [14508]natural width of the video resource, if that is available; otherwise the [14509]natural width is missing.

    The [14510]natural height of a [14511]video element's playback area is the [14512]natural height of the [14513]poster frame, if that is available and the element currently [14514]represents its poster frame; otherwise it is the [14515]natural height of the video resource, if that is available; otherwise the [14516]natural height is missing.

    The [14517]default object size is a width of 300 [14518]CSS pixels and a height of 150 [14519]CSS pixels. [14520][CSSIMAGES] __________________________________________________________________

    User agents should provide controls to enable or disable the display of closed captions, audio description tracks, and other additional data associated with the video stream, though such features should, again, not interfere with the page's normal rendering.

    User agents may allow users to view the video content in manners more suitable to the user, such as fullscreen or in an independent resizable window. User agents may even trigger such a viewing mode by default upon playing a video, although they should not do so when the [14521]playsinline attribute is specified. As with the other user interface features, controls to enable this should not interfere with the page's normal rendering unless the user agent is [14522]exposing a user interface. In such an independent viewing mode, however, user agents may make full user interfaces visible, even if the [14523]controls attribute is absent.

    User agents may allow video playback to affect system features that could interfere with the user's experience; for example, user agents could disable screensavers while video playback is in progress. __________________________________________________________________

    The poster IDL attribute must [14524]reflect the [14525]poster content attribute.

    The playsInline IDL attribute must [14526]reflect the [14527]playsinline content attribute.

    This example shows how to detect when a video has failed to play correctly:

    Download the video file.

    4.8.9 The audio element

    (BUTTON) ✔MDN

    [14528]Element/audio

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android3+Samsung Internet?Opera Android11+

    (BUTTON) ✔MDN

    [14529]HTMLAudioElement

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+

    [14530]Categories: [14531]Flow content. [14532]Phrasing content. [14533]Embedded content. If the element has a [14534]controls attribute: [14535]Interactive content. If the element has a [14536]controls attribute: [14537]Palpable content.

    [14538]Contexts in which this element can be used: Where [14539]embedded content is expected.

    [14540]Content model: If the element has a [14541]src attribute: zero or more [14542]track elements, then [14543]transparent, but with no [14544]media element descendants. If the element does not have a [14545]src attribute: zero or more [14546]source elements, then zero or more [14547]track elements, then [14548]transparent, but with no [14549]media element descendants.

    [14550]Tag omission in text/html: Neither tag is omissible.

    [14551]Content attributes: [14552]Global attributes [14553]src — Address of the resource [14554]crossorigin — How the element handles crossorigin requests [14555]preload — Hints how much buffering the [14556]media resource will likely need [14557]autoplay — Hint that the [14558]media resource can be started automatically when the page is loaded [14559]loop — Whether to loop the [14560]media resource [14561]muted — Whether to mute the [14562]media resource by default [14563]controls — Show user agent controls

    [14564]Accessibility considerations: [14565]For authors. [14566]For implementers.

    [14567]DOM interface:

    [Exposed=Window, [14568]LegacyFactoryFunction=[14569]Audio(optional DOMString src)] interface HTMLAudioElement : [14570]HTMLMediaElement { [[14571]HTMLConstructor] constructor(); };

    An [14572]audio element [14573]represents a sound or audio stream.

    Content may be provided inside the [14574]audio element. User agents should not show this content to the user; it is intended for older web browsers which do not support [14575]audio, so that text can be shown to the users of these older browsers informing them of how to access the audio contents.

    In particular, this content is not intended to address accessibility concerns. To make audio content accessible to the deaf or to those with other physical or cognitive disabilities, a variety of features are available. If captions or a sign language video are available, the [14576]video element can be used instead of the [14577]audio element to play the audio, allowing users to enable the visual alternatives. Chapter titles can be provided to aid navigation, using the [14578]track element and a [14579]WebVTT file. And, naturally, transcripts or other textual alternatives can be provided by simply linking to them in the prose near the [14580]audio element. [14581][WEBVTT]

    The [14582]audio element is a [14583]media element whose [14584]media data is ostensibly audio data.

    The [14585]src, [14586]crossorigin, [14587]preload, [14588]autoplay, [14589]loop, [14590]muted, and [14591]controls attributes are [14592]the attributes common to all media elements.

    audio = new [14593]Audio([ url ])

    (BUTTON) ✔MDN

    [14594]HTMLAudioElement/Audio

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome4+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns a new [14595]audio element, with the [14596]src attribute set to the value passed in the argument, if applicable.

    A legacy factory function is provided for creating [14597]HTMLAudioElement objects (in addition to the factory methods from DOM such as [14598]createElement()): Audio(src). When invoked, the legacy factory function must perform the following steps: 1. Let document be the [14599]current global object's [14600]associated Document. 2. Let audio be the result of [14601]creating an element given document, "audio", and the [14602]HTML namespace. 3. [14603]Set an attribute value for audio using "[14604]preload" and "[14605]auto". 4. If src is given, then [14606]set an attribute value for audio using "[14607]src" and src. (This will [14608]cause the user agent to invoke the object's [14609]resource selection algorithm before returning.) 5. Return audio.

    4.8.10 The track element

    (BUTTON) ✔MDN

    [14610]Element/track

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android25+WebView Android?Samsung Internet?Opera Android12.1+

    (BUTTON) ✔MDN

    [14611]HTMLTrackElement

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+

    [14612]Categories: None.

    [14613]Contexts in which this element can be used: As a child of a [14614]media element, before any [14615]flow content.

    [14616]Content model: [14617]Nothing.

    [14618]Tag omission in text/html: No [14619]end tag.

    [14620]Content attributes: [14621]Global attributes [14622]kind — The type of text track [14623]src — Address of the resource [14624]srclang — Language of the text track [14625]label — User-visible label [14626]default — Enable the track if no other [14627]text track is more suitable

    [14628]Accessibility considerations: [14629]For authors. [14630]For implementers.

    [14631]DOM interface:

    [Exposed=Window] interface HTMLTrackElement : [14632]HTMLElement { [[14633]HTMLConstructor] constructor();

    [[14634]CEReactions] attribute DOMString [14635]kind; [[14636]CEReactions] attribute USVString [14637]src; [[14638]CEReactions] attribute DOMString [14639]srclang; [[14640]CEReactions] attribute DOMString [14641]label; [[14642]CEReactions] attribute boolean [14643]default;

    const unsigned short [14644]NONE = 0; const unsigned short [14645]LOADING = 1; const unsigned short [14646]LOADED = 2; const unsigned short [14647]ERROR = 3; readonly attribute unsigned short [14648]readyState;

    readonly attribute [14649]TextTrack [14650]track; };

    The [14651]track element allows authors to specify explicit external timed [14652]text tracks for [14653]media elements. It does not [14654]represent anything on its own.

    The kind attribute is an [14655]enumerated attribute with the following keywords and states:

    Keyword State Brief description subtitles Subtitles Transcription or translation of the dialogue, suitable for when the sound is available but not understood (e.g. because the user does not understand the language of the [14656]media resource's audio track). Overlaid on the video. captions Captions Transcription or translation of the dialogue, sound effects, relevant musical cues, and other relevant audio information, suitable for when sound is unavailable or not clearly audible (e.g. because it is muted, drowned-out by ambient noise, or because the user is deaf). Overlaid on the video; labeled as appropriate for the hard-of-hearing. descriptions Descriptions Textual descriptions of the video component of the [14657]media resource, intended for audio synthesis when the visual component is obscured, unavailable, or not usable (e.g. because the user is interacting with the application without a screen while driving, or because the user is blind). Synthesized as audio. chapters Chapters metadata Tracks intended for use from script. Not displayed by the user agent. metadata Metadata

    The attribute's [14658]missing value default is the [14659]subtitles state, and its [14660]invalid value default is the [14661]metadata state.

    The src attribute gives the [14662]URL of the text track data. The value must be a [14663]valid non-empty URL potentially surrounded by spaces. This attribute must be present.

    The element has an associated track URL (a string), initially the empty string.

    When the element's [14664]src attribute is set, run these steps: 1. Let trackURL be failure. 2. Let value be the element's [14665]src attribute value. 3. If value is not the empty string, then set trackURL to the result of [14666]encoding-parsing-and-serializing a URL given value, relative to the element's [14667]node document. 4. Set the element's [14668]track URL to trackURL if it is not failure; otherwise to the empty string.

    If the element's [14669]track URL identifies a WebVTT resource, and the element's [14670]kind attribute is not in the [14671]chapters metadata or [14672]metadata state, then the WebVTT file must be a [14673]WebVTT file using cue text. [14674][WEBVTT]

    The srclang attribute gives the language of the text track data. The value must be a valid BCP 47 language tag. This attribute must be present if the element's [14675]kind attribute is in the [14676]subtitles state. [14677][BCP47]

    If the element has a [14678]srclang attribute whose value is not the empty string, then the element's track language is the value of the attribute. Otherwise, the element has no [14679]track language.

    The label attribute gives a user-readable title for the track. This title is used by user agents when listing [14680]subtitle, [14681]caption, and [14682]audio description tracks in their user interface.

    The value of the [14683]label attribute, if the attribute is present, must not be the empty string. Furthermore, there must not be two [14684]track element children of the same [14685]media element whose [14686]kind attributes are in the same state, whose [14687]srclang attributes are both missing or have values that represent the same language, and whose [14688]label attributes are again both missing or both have the same value.

    If the element has a [14689]label attribute whose value is not the empty string, then the element's track label is the value of the attribute. Otherwise, the element's [14690]track label is an empty string.

    The default attribute is a [14691]boolean attribute, which, if specified, indicates that the track is to be enabled if the user's preferences do not indicate that another track would be more appropriate.

    Each [14692]media element must have no more than one [14693]track element child whose [14694]kind attribute is in the [14695]subtitles or [14696]captions state and whose [14697]default attribute is specified.

    Each [14698]media element must have no more than one [14699]track element child whose [14700]kind attribute is in the [14701]description state and whose [14702]default attribute is specified.

    Each [14703]media element must have no more than one [14704]track element child whose [14705]kind attribute is in the [14706]chapters metadata state and whose [14707]default attribute is specified.

    There is no limit on the number of [14708]track elements whose [14709]kind attribute is in the [14710]metadata state and whose [14711]default attribute is specified.

    track.[14712]readyState Returns the [14713]text track readiness state, represented by a number from the following list:

    track.[14714]NONE (0) The [14715]text track not loaded state.

    track.[14716]LOADING (1) The [14717]text track loading state.

    track.[14718]LOADED (2) The [14719]text track loaded state.

    track.[14720]ERROR (3) The [14721]text track failed to load state.

    track.[14722]track Returns the [14723]TextTrack object corresponding to the [14724]text track of the [14725]track element.

    The readyState attribute must return the numeric value corresponding to the [14726]text track readiness state of the [14727]track element's [14728]text track, as defined by the following list:

    NONE (numeric value 0) The [14729]text track not loaded state.

    LOADING (numeric value 1) The [14730]text track loading state.

    LOADED (numeric value 2) The [14731]text track loaded state.

    ERROR (numeric value 3) The [14732]text track failed to load state.

    The track IDL attribute must, on getting, return the [14733]track element's [14734]text track's corresponding [14735]TextTrack object.

    (BUTTON) ✔MDN

    [14736]HTMLTrackElement/src

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+

    The src, srclang, label, and default IDL attributes must [14737]reflect the respective content attributes of the same name. The kind IDL attribute must [14738]reflect the content attribute of the same name, [14739]limited to only known values.

    This video has subtitles in several languages:

    (The [14740]lang attributes on the last two describe the language of the [14741]label attribute, not the language of the subtitles themselves. The language of the subtitles is given by the [14742]srclang attribute.)

    4.8.11 Media elements

    [14743]HTMLMediaElement objects ([14744]audio and [14745]video, in this specification) are simply known as media elements.

    (BUTTON) ✔MDN

    [14746]HTMLMediaElement

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+

    enum CanPlayTypeResult { "" /* [14747]empty string */, "[14748]maybe", "[14749]p robably" }; typedef ([14750]MediaStream or [14751]MediaSource or [14752]Blob) MediaProvider;

    [Exposed=Window] interface HTMLMediaElement : [14753]HTMLElement {

    // error state readonly attribute [14754]MediaError? [14755]error;

    // network state [[14756]CEReactions] attribute USVString [14757]src; attribute [14758]MediaProvider? [14759]srcObject; readonly attribute USVString [14760]currentSrc; [[14761]CEReactions] attribute DOMString? [14762]crossOrigin; const unsigned short [14763]NETWORK_EMPTY = 0; const unsigned short [14764]NETWORK_IDLE = 1; const unsigned short [14765]NETWORK_LOADING = 2; const unsigned short [14766]NETWORK_NO_SOURCE = 3; readonly attribute unsigned short [14767]networkState; [[14768]CEReactions] attribute DOMString [14769]preload; readonly attribute [14770]TimeRanges [14771]buffered; undefined [14772]load(); [14773]CanPlayTypeResult [14774]canPlayType(DOMString type);

    // ready state const unsigned short [14775]HAVE_NOTHING = 0; const unsigned short [14776]HAVE_METADATA = 1; const unsigned short [14777]HAVE_CURRENT_DATA = 2; const unsigned short [14778]HAVE_FUTURE_DATA = 3; const unsigned short [14779]HAVE_ENOUGH_DATA = 4; readonly attribute unsigned short [14780]readyState; readonly attribute boolean [14781]seeking;

    // playback state attribute double [14782]currentTime; undefined [14783]fastSeek(double time); readonly attribute unrestricted double [14784]duration; [14785]object [14786]getStartDate(); readonly attribute boolean [14787]paused; attribute double [14788]defaultPlaybackRate; attribute double [14789]playbackRate; attribute boolean [14790]preservesPitch; readonly attribute [14791]TimeRanges [14792]played; readonly attribute [14793]TimeRanges [14794]seekable; readonly attribute boolean [14795]ended; [[14796]CEReactions] attribute boolean [14797]autoplay; [[14798]CEReactions] attribute boolean [14799]loop; [14800]Promise [14801]play(); undefined [14802]pause();

    // controls [[14803]CEReactions] attribute boolean [14804]controls; attribute double [14805]volume; attribute boolean [14806]muted; [[14807]CEReactions] attribute boolean [14808]defaultMuted;

    // tracks [SameObject] readonly attribute [14809]AudioTrackList [14810]audioTracks; [SameObject] readonly attribute [14811]VideoTrackList [14812]videoTracks; [SameObject] readonly attribute [14813]TextTrackList [14814]textTracks; [14815]TextTrack [14816]addTextTrack([14817]TextTrackKind kind, optional DOMSt ring label = "", optional DOMString language = ""); };

    The media element attributes, [14818]src, [14819]crossorigin, [14820]preload, [14821]autoplay, [14822]loop, [14823]muted, and [14824]controls, apply to all [14825]media elements. They are defined in this section.

    [14826]Media elements are used to present audio data, or video and audio data, to the user. This is referred to as media data in this section, since this section applies equally to [14827]media elements for audio or for video. The term media resource is used to refer to the complete set of media data, e.g. the complete video file, or complete audio file.

    A [14828]media resource has an associated origin, which is either "none", "multiple", "rewritten", or an [14829]origin. It is initially set to "none".

    A [14830]media resource can have multiple audio and video tracks. For the purposes of a [14831]media element, the video data of the [14832]media resource is only that of the currently selected track (if any) as given by the element's [14833]videoTracks attribute when the [14834]event loop last reached [14835]step 1, and the audio data of the [14836]media resource is the result of mixing all the currently enabled tracks (if any) given by the element's [14837]audioTracks attribute when the [14838]event loop last reached [14839]step 1.

    Both [14840]audio and [14841]video elements can be used for both audio and video. The main difference between the two is simply that the [14842]audio element has no playback area for visual content (such as video or captions), whereas the [14843]video element does.

    Each [14844]media element has a unique media element event task source.

    To queue a media element task with a [14845]media element element and a series of steps steps, [14846]queue an element task on the [14847]media element's [14848]media element event task source given element and steps.

    4.8.11.1 Error codes

    (BUTTON) ✔MDN

    [14849]MediaError

    Support in all current engines. Firefox4+Safari3.1+Chrome3+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

    media.[14850]error

    (BUTTON) ✔MDN

    [14851]HTMLMediaElement/error

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns a [14852]MediaError object representing the current error state of the element.

    Returns null if there is no error.

    All [14853]media elements have an associated error status, which records the last error the element encountered since its [14854]resource selection algorithm was last invoked. The error attribute, on getting, must return the [14855]MediaError object created for this last error, or null if there has not been an error. [Exposed=Window] interface MediaError { const unsigned short [14856]MEDIA_ERR_ABORTED = 1; const unsigned short [14857]MEDIA_ERR_NETWORK = 2; const unsigned short [14858]MEDIA_ERR_DECODE = 3; const unsigned short [14859]MEDIA_ERR_SRC_NOT_SUPPORTED = 4;

    readonly attribute unsigned short [14860]code; readonly attribute DOMString [14861]message; };

    media.[14862]error.[14863]code

    (BUTTON) ✔MDN

    [14864]MediaError/code

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the current error's error code, from the list below.

    media.[14865]error.[14866]message

    (BUTTON) ✔MDN

    [14867]MediaError/message

    Support in all current engines.

    Firefox52+Safari15+Chrome59+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns a specific informative diagnostic message about the error condition encountered. The message and message format are not generally uniform across different user agents. If no such message is available, then the empty string is returned.

    Every [14868]MediaError object has a message, which is a string, and a code, which is one of the following:

    MEDIA_ERR_ABORTED (numeric value 1) The fetching process for the [14869]media resource was aborted by the user agent at the user's request.

    MEDIA_ERR_NETWORK (numeric value 2) A network error of some description caused the user agent to stop fetching the [14870]media resource, after the resource was established to be usable.

    MEDIA_ERR_DECODE (numeric value 3) An error of some description occurred while decoding the [14871]media resource, after the resource was established to be usable.

    MEDIA_ERR_SRC_NOT_SUPPORTED (numeric value 4) The [14872]media resource indicated by the [14873]src attribute or [14874]assigned media provider object was not suitable.

    To create a MediaError, given an error code which is one of the above values, return a new [14875]MediaError object whose [14876]code is the given error code and whose [14877]message is a string containing any details the user agent is able to supply about the cause of the error condition, or the empty string if the user agent is unable to supply such details. This message string must not contain only the information already available via the supplied error code; for example, it must not simply be a translation of the code into a string format. If no additional information is available beyond that provided by the error code, the [14878]message must be set to the empty string.

    The code getter steps are to return [14879]this's [14880]code.

    The message getter steps are to return [14881]this's [14882]message.

    4.8.11.2 Location of the media resource

    The src content attribute on [14883]media elements gives the [14884]URL of the media resource (video, audio) to show. The attribute, if present, must contain a [14885]valid non-empty URL potentially surrounded by spaces.

    If the [14886]itemprop attribute is specified on the [14887]media element, then the [14888]src attribute must also be specified.

    The crossorigin content attribute on [14889]media elements is a [14890]CORS settings attribute.

    If a [14891]media element is created with a [14892]src attribute, the user agent must [14893]immediately invoke the [14894]media element's [14895]resource selection algorithm.

    If a [14896]src attribute of a [14897]media element is set or changed, the user agent must invoke the [14898]media element's [14899]media element load algorithm. (Removing the [14900]src attribute does not do this, even if there are [14901]source elements present.)

    (BUTTON) ✔MDN

    [14902]HTMLMediaElement/src

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

    The src IDL attribute on [14903]media elements must [14904]reflect the content attribute of the same name.

    (BUTTON) ✔MDN

    [14905]HTMLMediaElement/crossOrigin

    Support in all current engines. Firefox22+Safari10+Chrome33+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)13+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The crossOrigin IDL attribute must [14906]reflect the [14907]crossorigin content attribute, [14908]limited to only known values.

    A media provider object is an object that can represent a [14909]media resource, separate from a [14910]URL. [14911]MediaStream objects, [14912]MediaSource objects, and [14913]Blob objects are all [14914]media provider objects.

    Each [14915]media element can have an assigned media provider object, which is a [14916]media provider object. When a [14917]media element is created, it has no [14918]assigned media provider object.

    media.[14919]srcObject [ = source ]

    (BUTTON) ⚠MDN

    [14920]HTMLMediaElement/srcObject

    Support in one engine only.

    Firefox🔰 42+Safari11+Chrome🔰 108+ ___________________________________________________________

    Opera?Edge🔰 108+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Allows the [14921]media element to be assigned a [14922]media provider object.

    media.[14923]currentSrc

    (BUTTON) ✔MDN

    [14924]HTMLMediaElement/currentSrc

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the [14925]URL of the current [14926]media resource, if any.

    Returns the empty string when there is no [14927]media resource, or it doesn't have a [14928]URL.

    The currentSrc IDL attribute must initially be set to the empty string. Its value is changed by the [14929]resource selection algorithm defined below.

    The srcObject IDL attribute, on getting, must return the element's [14930]assigned media provider object, if any, or null otherwise. On setting, it must set the element's [14931]assigned media provider object to the new value, and then invoke the element's [14932]media element load algorithm.

    There are three ways to specify a [14933]media resource: the [14934]srcObject IDL attribute, the [14935]src content attribute, and [14936]source elements. The IDL attribute takes priority, followed by the content attribute, followed by the elements.

    4.8.11.3 MIME types

    A [14937]media resource can be described in terms of its type, specifically a [14938]MIME type, in some cases with a codecs parameter. (Whether the codecs parameter is allowed or not depends on the MIME type.) [14939][RFC6381]

    Types are usually somewhat incomplete descriptions; for example "video/mpeg" doesn't say anything except what the container type is, and even a type like "video/mp4; codecs="avc1.42E01E, mp4a.40.2"" doesn't include information like the actual bitrate (only the maximum bitrate). Thus, given a type, a user agent can often only know whether it might be able to play media of that type (with varying levels of confidence), or whether it definitely cannot play media of that type.

    A type that the user agent knows it cannot render is one that describes a resource that the user agent definitely does not support, for example because it doesn't recognize the container type, or it doesn't support the listed codecs.

    The [14940]MIME type "[14941]application/octet-stream" with no parameters is never [14942]a type that the user agent knows it cannot render. User agents must treat that type as equivalent to the lack of any explicit [14943]Content-Type metadata when it is used to label a potential [14944]media resource.

    Only the [14945]MIME type "[14946]application/octet-stream" with no parameters is special-cased here; if any parameter appears with it, it will be treated just like any other [14947]MIME type. This is a deviation from the rule that unknown [14948]MIME type parameters should be ignored.

    media.[14949]canPlayType(type)

    (BUTTON) ✔MDN

    [14950]HTMLMediaElement/canPlayType

    Support in all current engines.

    Firefox3.5+Safari4+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the empty string (a negative response), "maybe", or "probably" based on how confident the user agent is that it can play media resources of the given type.

    The canPlayType(type) method must return the empty string if type is [14951]a type that the user agent knows it cannot render or is the type "[14952]application/octet-stream"; it must return "probably" if the user agent is confident that the type represents a [14953]media resource that it can render if used in with this [14954]audio or [14955]video element; and it must return "maybe" otherwise. Implementers are encouraged to return "[14956]maybe" unless the type can be confidently established as being supported or not. Generally, a user agent should never return "[14957]probably" for a type that allows the codecs parameter if that parameter is not present.

    This script tests to see if the user agent supports a (fictional) new format to dynamically decide whether to use a [14958]video element:

    Download video

    The [14959]type attribute of the [14960]source element allows the user agent to avoid downloading resources that use formats it cannot render.

    4.8.11.4 Network states

    media.[14961]networkState

    (BUTTON) ✔MDN

    [14962]HTMLMediaElement/networkState

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android4+Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the current state of network activity for the element, from the codes in the list below.

    As [14963]media elements interact with the network, their current network activity is represented by the networkState attribute. On getting, it must return the current network state of the element, which must be one of the following values:

    NETWORK_EMPTY (numeric value 0) The element has not yet been initialized. All attributes are in their initial states.

    NETWORK_IDLE (numeric value 1) The element's [14964]resource selection algorithm is active and has selected a [14965]resource, but it is not actually using the network at this time.

    NETWORK_LOADING (numeric value 2) The user agent is actively trying to download data.

    NETWORK_NO_SOURCE (numeric value 3) The element's [14966]resource selection algorithm is active, but it has not yet found a [14967]resource to use.

    The [14968]resource selection algorithm defined below describes exactly when the [14969]networkState attribute changes value and what events fire to indicate changes in this state.

    4.8.11.5 Loading the media resource

    media.[14970]load()

    (BUTTON) ✔MDN

    [14971]HTMLMediaElement/load

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Causes the element to reset and start selecting and loading a new [14972]media resource from scratch.

    All [14973]media elements have a can autoplay flag, which must begin in the true state, and a delaying-the-load-event flag, which must begin in the false state. While the [14974]delaying-the-load-event flag is true, the element must [14975]delay the load event of its document.

    When the load() method on a [14976]media element is invoked, the user agent must run the [14977]media element load algorithm.

    A [14978]media element has an associated boolean is currently stalled, which is initially false.

    The media element load algorithm consists of the following steps. 1. Set this element's [14979]is currently stalled to false. 2. Abort any already-running instance of the [14980]resource selection algorithm for this element. 3. Let pending tasks be a list of all [14981]tasks from the [14982]media element's [14983]media element event task source in one of the [14984]task queues. 4. For each task in pending tasks that would [14985]resolve pending play promises or [14986]reject pending play promises, immediately resolve or reject those promises in the order the corresponding tasks were queued. 5. Remove each [14987]task in pending tasks from its [14988]task queue. Basically, pending events and callbacks are discarded and promises in-flight to be resolved/rejected are resolved/rejected immediately when the media element starts loading a new resource. 6. If the [14989]media element's [14990]networkState is set to [14991]NETWORK_LOADING or [14992]NETWORK_IDLE, [14993]queue a media element task given the [14994]media element to [14995]fire an event named [14996]abort at the [14997]media element. 7. If the [14998]media element's [14999]networkState is not set to [15000]NETWORK_EMPTY, then: 1. [15001]Queue a media element task given the [15002]media element to [15003]fire an event named [15004]emptied at the [15005]media element. 2. If a fetching process is in progress for the [15006]media element, the user agent should stop it. 3. If the [15007]media element's [15008]assigned media provider object is a [15009]MediaSource object, then [15010]detach it. 4. [15011]Forget the media element's media-resource-specific tracks. 5. If [15012]readyState is not set to [15013]HAVE_NOTHING, then set it to that state. 6. If the [15014]paused attribute is false, then: 1. Set the [15015]paused attribute to true. 2. [15016]Take pending play promises and [15017]reject pending play promises with the result and an [15018]"AbortError" [15019]DOMException. 7. If [15020]seeking is true, set it to false. 8. Set the [15021]current playback position to 0. Set the [15022]official playback position to 0. If this changed the [15023]official playback position, then [15024]queue a media element task given the [15025]media element to [15026]fire an event named [15027]timeupdate at the [15028]media element. 9. Set the [15029]timeline offset to Not-a-Number (NaN). 10. Update the [15030]duration attribute to Not-a-Number (NaN). The user agent [15031]will not fire a [15032]durationchange event for this particular change of the duration. 8. Set the [15033]playbackRate attribute to the value of the [15034]defaultPlaybackRate attribute. 9. Set the [15035]error attribute to null and the [15036]can autoplay flag to true. 10. Invoke the [15037]media element's [15038]resource selection algorithm. 11. Playback of any previously playing [15039]media resource for this element stops.

    The resource selection algorithm for a [15040]media element is as follows. This algorithm is always invoked as part of a [15041]task, but one of the first steps in the algorithm is to return and continue running the remaining steps [15042]in parallel. In addition, this algorithm interacts closely with the [15043]event loop mechanism; in particular, it has [15044]synchronous sections (which are triggered as part of the [15045]event loop algorithm). Steps in such sections are marked with ⌛. 1. Set the element's [15046]networkState attribute to the [15047]NETWORK_NO_SOURCE value. 2. Set the element's [15048]show poster flag to true. 3. Set the [15049]media element's [15050]delaying-the-load-event flag to true (this [15051]delays the load event). 4. [15052]Await a stable state, allowing the [15053]task that invoked this algorithm to continue. The [15054]synchronous section consists of all the remaining steps of this algorithm until the algorithm says the [15055]synchronous section has ended. (Steps in [15056]synchronous sections are marked with ⌛.) 5. ⌛ If the [15057]media element's [15058]blocked-on-parser flag is false, then [15059]populate the list of pending text tracks. 6. ⌛ If the [15060]media element has an [15061]assigned media provider object, then let mode be object. ⌛ Otherwise, if the [15062]media element has no [15063]assigned media provider object but has a [15064]src attribute, then let mode be attribute. ⌛ Otherwise, if the [15065]media element does not have an [15066]assigned media provider object and does not have a [15067]src attribute, but does have a [15068]source element child, then let mode be children and let candidate be the first such [15069]source element child in [15070]tree order. ⌛ Otherwise, the [15071]media element has no [15072]assigned media provider object and has neither a [15073]src attribute nor a [15074]source element child: 1. ⌛ Set the [15075]networkState to [15076]NETWORK_EMPTY. 2. ⌛ Set the element's [15077]delaying-the-load-event flag to false. This stops [15078]delaying the load event. 3. End the [15079]synchronous section and return. 7. ⌛ Set the [15080]media element's [15081]networkState to [15082]NETWORK_LOADING. 8. ⌛ [15083]Queue a media element task given the [15084]media element to [15085]fire an event named [15086]loadstart at the [15087]media element. 9. Run the appropriate steps from the following list:

    If mode is object

    1. ⌛ Set the [15088]currentSrc attribute to the empty string. 2. End the [15089]synchronous section, continuing the remaining steps [15090]in parallel. 3. Run the [15091]resource fetch algorithm with the [15092]assigned media provider object. If that algorithm returns without aborting this one, then the load failed. 4. Failed with media provider: Reaching this step indicates that the media resource failed to load. [15093]Take pending play promises and [15094]queue a media element task given the [15095]media element to run the [15096]dedicated media source failure steps with the result. 5. Wait for the [15097]task queued by the previous step to have executed. 6. Return. The element won't attempt to load another resource until this algorithm is triggered again.

    If mode is attribute

    1. ⌛ If the [15098]src attribute's value is the empty string, then end the [15099]synchronous section, and jump down to the failed with attribute step below. 2. ⌛ Let urlRecord be the result of [15100]encoding-parsing a URL given the [15101]src attribute's value, relative to the [15102]media element's [15103]node document when the [15104]src attribute was last changed. 3. ⌛ If urlRecord is not failure, then set the [15105]currentSrc attribute to the result of applying the [15106]URL serializer to urlRecord. 4. End the [15107]synchronous section, continuing the remaining steps [15108]in parallel. 5. If urlRecord is not failure, then run the [15109]resource fetch algorithm with urlRecord. If that algorithm returns without aborting this one, then the load failed. 6. Failed with attribute: Reaching this step indicates that the media resource failed to load or that urlRecord is failure. [15110]Take pending play promises and [15111]queue a media element task given the [15112]media element to run the [15113]dedicated media source failure steps with the result. 7. Wait for the [15114]task queued by the previous step to have executed. 8. Return. The element won't attempt to load another resource until this algorithm is triggered again.

    Otherwise (mode is children)

    1. ⌛ Let pointer be a position defined by two adjacent nodes in the [15115]media element's child list, treating the start of the list (before the first child in the list, if any) and end of the list (after the last child in the list, if any) as nodes in their own right. One node is the node before pointer, and the other node is the node after pointer. Initially, let pointer be the position between the candidate node and the next node, if there are any, or the end of the list, if it is the last node. As nodes are [15116]inserted, [15117]removed, and [15118]moved into the [15119]media element, pointer must be updated as follows:

    If a new node is [15120]inserted or [15121]moved between the two nodes that define pointer Let pointer be the point between the node before pointer and the new node. In other words, insertions at pointer go after pointer.

    If the node before pointer is removed Let pointer be the point between the node after pointer and the node before the node after pointer. In other words, pointer doesn't move relative to the remaining nodes.

    If the node after pointer is removed Let pointer be the point between the node before pointer and the node after the node before pointer. Just as with the previous case, pointer doesn't move relative to the remaining nodes.

    Other changes don't affect pointer. 2. ⌛ Process candidate: If candidate does not have a [15122]src attribute, or if its [15123]src attribute's value is the empty string, then end the [15124]synchronous section, and jump down to the failed with elements step below. 3. ⌛ If candidate has a [15125]media attribute whose value does not [15126]match the environment, then end the [15127]synchronous section, and jump down to the failed with elements step below. 4. ⌛ Let urlRecord be the result of [15128]encoding-parsing a URL given candidate's [15129]src attribute's value, relative to candidate's [15130]node document when the [15131]src attribute was last changed. 5. ⌛ If urlRecord is failure, then end the [15132]synchronous section, and jump down to the failed with elements step below. 6. ⌛ If candidate has a [15133]type attribute whose value, when parsed as a [15134]MIME type (including any codecs described by the codecs parameter, for types that define that parameter), represents [15135]a type that the user agent knows it cannot render, then end the [15136]synchronous section, and jump down to the failed with elements step below. 7. ⌛ Set the [15137]currentSrc attribute to the result of applying the [15138]URL serializer to urlRecord. 8. End the [15139]synchronous section, continuing the remaining steps [15140]in parallel. 9. Run the [15141]resource fetch algorithm with urlRecord. If that algorithm returns without aborting this one, then the load failed. 10. Failed with elements: [15142]Queue a media element task given the [15143]media element to [15144]fire an event named [15145]error at candidate. 11. [15146]Await a stable state. The [15147]synchronous section consists of all the remaining steps of this algorithm until the algorithm says the [15148]synchronous section has ended. (Steps in [15149]synchronous sections are marked with ⌛.) 12. ⌛ [15150]Forget the media element's media-resource-specific tracks. 13. ⌛ Find next candidate: Let candidate be null. 14. ⌛ Search loop: If the node after pointer is the end of the list, then jump to the waiting step below. 15. ⌛ If the node after pointer is a [15151]source element, let candidate be that element. 16. ⌛ Advance pointer so that the node before pointer is now the node that was after pointer, and the node after pointer is the node after the node that used to be after pointer, if any. 17. ⌛ If candidate is null, jump back to the search loop step. Otherwise, jump back to the process candidate step. 18. ⌛ Waiting: Set the element's [15152]networkState attribute to the [15153]NETWORK_NO_SOURCE value. 19. ⌛ Set the element's [15154]show poster flag to true. 20. ⌛ [15155]Queue a media element task given the [15156]media element to set the element's [15157]delaying-the-load-event flag to false. This stops [15158]delaying the load event. 21. End the [15159]synchronous section, continuing the remaining steps [15160]in parallel. 22. Wait until the node after pointer is a node other than the end of the list. (This step might wait forever.) 23. [15161]Await a stable state. The [15162]synchronous section consists of all the remaining steps of this algorithm until the algorithm says the [15163]synchronous section has ended. (Steps in [15164]synchronous sections are marked with ⌛.) 24. ⌛ Set the element's [15165]delaying-the-load-event flag back to true (this [15166]delays the load event again, in case it hasn't been fired yet). 25. ⌛ Set the [15167]networkState back to [15168]NETWORK_LOADING. 26. ⌛ Jump back to the find next candidate step above.

    The dedicated media source failure steps with a list of promises promises are the following steps: 1. Set the [15169]error attribute to the result of [15170]creating a MediaError with [15171]MEDIA_ERR_SRC_NOT_SUPPORTED. 2. [15172]Forget the media element's media-resource-specific tracks. 3. Set the element's [15173]networkState attribute to the [15174]NETWORK_NO_SOURCE value. 4. Set the element's [15175]show poster flag to true. 5. [15176]Fire an event named [15177]error at the [15178]media element. 6. [15179]Reject pending play promises with promises and a [15180]"NotSupportedError" [15181]DOMException. 7. Set the element's [15182]delaying-the-load-event flag to false. This stops [15183]delaying the load event.

    To verify a media response given a [15184]response response, a [15185]media resource resource, and "entire resource" or a (number, number or "until end") tuple byteRange: 1. If response is a [15186]network error, then return false. 2. If byteRange is "entire resource", then return true. 3. Let internalResponse be response's [15187]unsafe response. 4. If internalResponse's [15188]status is 200, then return true. 5. If internalResponse's [15189]status is not 206, then return false. 6. If the result of [15190]extracting content-range values from internalResponse is failure, then return false. Note that the extracted values are not used, and in particular are not compared to byteRange. So this step serves as syntactic validation of the `[15191]Content-Range` header, but if the `[15192]Content-Range` values on the response mismatch the `[15193]Range` values on the request, that is not considered a failure. 7. Let origin be "rewritten" if internalResponse's [15194]URL is null; otherwise internalResponse's [15195]URL's [15196]origin. 8. Let previousOrigin be resource's [15197]origin. 9. If any of the following are true: + previousOrigin is "none"; + origin and previousOrigin are "rewritten"; or + origin and previousOrigin are [15198]origins, and origin is [15199]same origin with previousOrigin, then set resource's [15200]origin to origin. Otherwise, if response is [15201]CORS-cross-origin, then return false. Otherwise, set resource's [15202]origin to "multiple". This ensures that opaque responses with range headers do not leak information by being patched together with other responses from different origins. 10. Return true.

    The resource fetch algorithm for a [15203]media element and a given [15204]URL record or [15205]media provider object is as follows: 1. Let mode be remote. 2. If the algorithm was invoked with [15206]media provider object, then set mode to local. Otherwise: 1. Let object be the result of [15207]obtaining a blob object using the [15208]URL record's [15209]blob URL entry and the [15210]media element's [15211]node document's [15212]relevant settings object. 2. If object is a [15213]media provider object, then set mode to local. 3. If mode is remote, then let the current media resource be the resource given by the [15214]URL record passed to this algorithm; otherwise, let the current media resource be the resource given by the [15215]media provider object. Either way, the current media resource is now the element's [15216]media resource. 4. Remove all [15217]media-resource-specific text tracks from the [15218]media element's [15219]list of pending text tracks, if any. 5. Run the appropriate steps from the following list:

    If mode is remote

    1. Optionally, run the following substeps. This is the expected behavior if the user agent intends to not attempt to fetch the resource until the user requests it explicitly (e.g. as a way to implement the [15220]preload attribute's [15221]none keyword). 1. Set the [15222]networkState to [15223]NETWORK_IDLE. 2. [15224]Queue a media element task given the [15225]media element to [15226]fire an event named [15227]suspend at the element. 3. [15228]Queue a media element task given the [15229]media element to set the element's [15230]delaying-the-load-event flag to false. This stops [15231]delaying the load event. 4. Wait for the task to be run. 5. Wait for an [15232]implementation-defined event (e.g., the user requesting that the media element begin playback). 6. Set the element's [15233]delaying-the-load-event flag back to true (this [15234]delays the load event again, in case it hasn't been fired yet). 7. Set the [15235]networkState to [15236]NETWORK_LOADING. 2. Let destination be "audio" if the [15237]media element is an [15238]audio element, or "video" otherwise. 3. Let request be the result of [15239]creating a potential-CORS request given current media resource's [15240]URL record, destination, and the current state of [15241]media element's [15242]crossorigin content attribute. 4. Set request's [15243]client to the [15244]media element's [15245]node document's [15246]relevant settings object. 5. Set request's [15247]initiator type to destination. 6. Let byteRange, which is "entire resource" or a (number, number or "until end") tuple, be the byte range required to satisfy missing data in [15248]media data. This value is [15249]implementation-defined and may rely on codec, network conditions or other heuristics. The user-agent may determine to fetch the resource in full, in which case byteRange would be "entire resource", to fetch from a byte offset until the end, in which case byteRange would be (number, "until end"), or to fetch a range between two byte offsets, in which case byteRange would be a (number, number) tuple representing the two offsets. 7. If byteRange is not "entire resource", then: 1. If byteRange[1] is "until end" then [15250]add a range header to request given byteRange[0]. 2. Otherwise, [15251]add a range header to request given byteRange[0] and byteRange[1]. 8. [15252]Fetch request, with [15253]processResponse set to the following steps given [15254]response response: 1. Let global be the [15255]media element's [15256]node document's [15257]relevant global object. 2. Let updateMedia be to [15258]queue a media element task given the [15259]media element to run the first appropriate steps from the [15260]media data processing steps list below. (A new task is used for this so that the work described below occurs relative to the appropriate [15261]media element event task source rather than using the [15262]networking task source.) 3. Let processEndOfMedia be the following step: If the fetching process has completed without errors, including decoding the media data, and if all of the data is available to the user agent without network access, then, the user agent must move on to the final step below. This might never happen, e.g. when streaming an infinite resource such as web radio, or if the resource is longer than the user agent's ability to cache data. 4. If the result of [15263]verifying response given the current media resource and byteRange is false, then abort these steps. 5. Otherwise, [15264]incrementally read response's [15265]body given updateMedia, processEndOfMedia, an empty algorithm, and global. 6. Update the [15266]media data with the contents of response's [15267]unsafe response obtained in this fashion. response can be [15268]CORS-same-origin or [15269]CORS-cross-origin; this affects whether subtitles referenced in the [15270]media data are exposed in the API and, for [15271]video elements, whether a [15272]canvas gets tainted when the video is drawn on it. The media element stall timeout is an [15273]implementation-defined length of time, which should be about three seconds. When a [15274]media element that is actively attempting to obtain [15275]media data has failed to receive any data for a duration equal to the [15276]media element stall timeout, the user agent must [15277]queue a media element task given the [15278]media element to: 1. [15279]Fire an event named [15280]stalled at the element. 2. Set the element's [15281]is currently stalled to true. User agents may allow users to selectively block or slow [15282]media data downloads. When a [15283]media element's download has been blocked altogether, the user agent must act as if it was stalled (as opposed to acting as if the connection was closed). The rate of the download may also be throttled automatically by the user agent, e.g. to balance the download with other connections sharing the same bandwidth. User agents may decide to not download more content at any time, e.g. after buffering five minutes of a one hour media resource, while waiting for the user to decide whether to play the resource or not, while waiting for user input in an interactive resource, or when the user navigates away from the page. When a [15284]media element's download has been suspended, the user agent must [15285]queue a media element task given the [15286]media element to set the [15287]networkState to [15288]NETWORK_IDLE and [15289]fire an event named [15290]suspend at the element. If and when downloading of the resource resumes, the user agent must [15291]queue a media element task given the [15292]media element to set the [15293]networkState to [15294]NETWORK_LOADING. Between the queuing of these tasks, the load is suspended (so [15295]progress events don't fire, as described above). The [15296]preload attribute provides a hint regarding how much buffering the author thinks is advisable, even in the absence of the [15297]autoplay attribute. When a user agent decides to completely suspend a download, e.g., if it is waiting until the user starts playback before downloading any further content, the user agent must [15298]queue a media element task given the [15299]media element to set the element's [15300]delaying-the-load-event flag to false. This stops [15301]delaying the load event. Although the above steps give an algorithm for issuing requests, the user agent may use other means besides those exact ones, especially in the face of error conditions. For example, the user agent may reconnect to the server or switch to a streaming protocol. The user agent must only consider the resource erroneous, and proceed into the error branches of the above steps, if the user agent has given up trying to fetch the resource. To determine the format of the [15302]media resource, the user agent must use the [15303]rules for sniffing audio and video specifically. While the load is not suspended (see below), every 350ms (±200ms) or for every byte received, whichever is least frequent, [15304]queue a media element task given the [15305]media element to: 1. [15306]Fire an event named [15307]progress at the element. 2. Set the element's [15308]is currently stalled to false. While the user agent might still need network access to obtain parts of the [15309]media resource, the user agent must remain on this step. For example, if the user agent has discarded the first half of a video, the user agent will remain at this step even once the [15310]playback has ended, because there is always the chance the user will seek back to the start. In fact, in this situation, once [15311]playback has ended, the user agent will end up firing a [15312]suspend event, as described earlier.

    Otherwise (mode is local) The resource described by the current media resource, if any, contains the [15313]media data. It is [15314]CORS-same-origin.

    If the current media resource is a raw data stream (e.g. from a [15315]File object), then to determine the format of the [15316]media resource, the user agent must use the [15317]rules for sniffing audio and video specifically. Otherwise, if the data stream is pre-decoded, then the format is the format given by the relevant specification.

    Whenever new data for the current media resource becomes available, [15318]queue a media element task given the [15319]media element to run the first appropriate steps from the [15320]media data processing steps list below.

    When the current media resource is permanently exhausted (e.g. all the bytes of a [15321]Blob have been processed), if there were no decoding errors, then the user agent must move on to the final step below. This might never happen, e.g. if the current media resource is a [15322]MediaStream.

    The media data processing steps list is as follows:

    If the [15323]media data cannot be fetched at all, due to network errors, causing the user agent to give up trying to fetch the resource

    If the [15324]media data can be fetched but is found by inspection to be in an unsupported format, or can otherwise not be rendered at all DNS errors, HTTP 4xx and 5xx errors (and equivalents in other protocols), and other fatal network errors that occur before the user agent has established whether the current media resource is usable, as well as the file using an unsupported container format, or using unsupported codecs for all the data, must cause the user agent to execute the following steps:

    1. The user agent should cancel the fetching process. 2. Abort this subalgorithm, returning to the [15325]resource selection algorithm.

    If the [15326]media resource is found to have an audio track

    1. Create an [15327]AudioTrack object to represent the audio track. 2. Update the [15328]media element's [15329]audioTracks attribute's [15330]AudioTrackList object with the new [15331]AudioTrack object. 3. Let enable be unknown. 4. If either the [15332]media resource or the [15333]URL of the current media resource indicate a particular set of audio tracks to enable, or if the user agent has information that would facilitate the selection of specific audio tracks to improve the user's experience, then: if this audio track is one of the ones to enable, then set enable to true, otherwise, set enable to false. This could be triggered by [15334]media fragment syntax, but it could also be triggered e.g. by the user agent selecting a 5.1 surround sound audio track over a stereo audio track. 5. If enable is still unknown, then, if the [15335]media element does not yet have an [15336]enabled audio track, then set enable to true, otherwise, set enable to false. 6. If enable is true, then enable this audio track, otherwise, do not enable this audio track. 7. [15337]Fire an event named [15338]addtrack at this [15339]AudioTrackList object, using [15340]TrackEvent, with the [15341]track attribute initialized to the new [15342]AudioTrack object.

    If the [15343]media resource is found to have a video track

    1. Create a [15344]VideoTrack object to represent the video track. 2. Update the [15345]media element's [15346]videoTracks attribute's [15347]VideoTrackList object with the new [15348]VideoTrack object. 3. Let enable be unknown. 4. If either the [15349]media resource or the [15350]URL of the current media resource indicate a particular set of video tracks to enable, or if the user agent has information that would facilitate the selection of specific video tracks to improve the user's experience, then: if this video track is the first such video track, then set enable to true, otherwise, set enable to false. This could again be triggered by [15351]media fragment syntax. 5. If enable is still unknown, then, if the [15352]media element does not yet have a [15353]selected video track, then set enable to true, otherwise, set enable to false. 6. If enable is true, then select this track and unselect any previously selected video tracks, otherwise, do not select this video track. If other tracks are unselected, then [15354]a change event will be fired. 7. [15355]Fire an event named [15356]addtrack at this [15357]VideoTrackList object, using [15358]TrackEvent, with the [15359]track attribute initialized to the new [15360]VideoTrack object.

    Once enough of the [15361]media data has been fetched to determine the duration of the [15362]media resource, its dimensions, and other metadata This indicates that the resource is usable. The user agent must follow these substeps:

    1. [15363]Establish the media timeline for the purposes of the [15364]current playback position and the [15365]earliest possible position, based on the [15366]media data. 2. Update the [15367]timeline offset to the date and time that corresponds to the zero time in the [15368]media timeline established in the previous step, if any. If no explicit time and date is given by the [15369]media resource, the [15370]timeline offset must be set to Not-a-Number (NaN). 3. Set the [15371]current playback position and the [15372]official playback position to the [15373]earliest possible position. 4. Update the [15374]duration attribute with the time of the last frame of the resource, if known, on the [15375]media timeline established above. If it is not known (e.g. a stream that is in principle infinite), update the [15376]duration attribute to the value positive Infinity. The user agent [15377]will [15378]queue a media element task given the [15379]media element to [15380]fire an event named [15381]durationchange at the element at this point. 5. For [15382]video elements, set the [15383]videoWidth and [15384]videoHeight attributes, and [15385]queue a media element task given the [15386]media element to [15387]fire an event named [15388]resize at the [15389]media element. Further [15390]resize events will be fired if the dimensions subsequently change. 6. Set the [15391]readyState attribute to [15392]HAVE_METADATA. A [15393]loadedmetadata DOM event [15394]will be fired as part of setting the [15395]readyState attribute to a new value. 7. Let jumped be false. 8. If the [15396]media element's [15397]default playback start position is greater than zero, then [15398]seek to that time, and let jumped be true. 9. Let the [15399]media element's [15400]default playback start position be zero. 10. Let the initial playback position be zero. 11. If either the [15401]media resource or the [15402]URL of the current media resource indicate a particular start time, then set the initial playback position to that time and, if jumped is still false, [15403]seek to that time. For example, with media formats that support [15404]media fragment syntax, the [15405]fragment can be used to indicate a start position. 12. If there is no [15406]enabled audio track, then enable an audio track. This [15407]will cause a change event to be fired. 13. If there is no [15408]selected video track, then select a video track. This [15409]will cause a change event to be fired.

    Once the [15410]readyState attribute reaches [15411]HAVE_CURRENT_DATA, [15412]after the loadeddata event has been fired, set the element's [15413]delaying-the-load-event flag to false. This stops [15414]delaying the load event.

    A user agent that is attempting to reduce network usage while still fetching the metadata for each [15415]media resource would also stop buffering at this point, following [15416]the rules described previously, which involve the [15417]networkState attribute switching to the [15418]NETWORK_IDLE value and a [15419]suspend event firing.

    The user agent is required to determine the duration of the [15420]media resource and go through this step before playing.

    Once the entire [15421]media resource has been fetched (but potentially before any of it has been decoded) [15422]Fire an event named [15423]progress at the [15424]media element.

    Set the [15425]networkState to [15426]NETWORK_IDLE and [15427]fire an event named [15428]suspend at the [15429]media element.

    If the user agent ever discards any [15430]media data and then needs to resume the network activity to obtain it again, then it must [15431]queue a media element task given the [15432]media element to set the [15433]networkState to [15434]NETWORK_LOADING.

    If the user agent can keep the [15435]media resource loaded, then the algorithm will continue to its final step below, which aborts the algorithm.

    If the connection is interrupted after some [15436]media data has been received, causing the user agent to give up trying to fetch the resource Fatal network errors that occur after the user agent has established whether the current media resource is usable (i.e. once the [15437]media element's [15438]readyState attribute is no longer [15439]HAVE_NOTHING) must cause the user agent to execute the following steps:

    1. The user agent should cancel the fetching process. 2. Set the [15440]error attribute to the result of [15441]creating a MediaError with [15442]MEDIA_ERR_NETWORK. 3. Set the element's [15443]networkState attribute to the [15444]NETWORK_IDLE value. 4. Set the element's [15445]delaying-the-load-event flag to false. This stops [15446]delaying the load event. 5. [15447]Fire an event named [15448]error at the [15449]media element. 6. Abort the overall [15450]resource selection algorithm.

    If the [15451]media data is corrupted Fatal errors in decoding the [15452]media data that occur after the user agent has established whether the current media resource is usable (i.e. once the [15453]media element's [15454]readyState attribute is no longer [15455]HAVE_NOTHING) must cause the user agent to execute the following steps:

    1. The user agent should cancel the fetching process. 2. Set the [15456]error attribute to the result of [15457]creating a MediaError with [15458]MEDIA_ERR_DECODE. 3. Set the element's [15459]networkState attribute to the [15460]NETWORK_IDLE value. 4. Set the element's [15461]delaying-the-load-event flag to false. This stops [15462]delaying the load event. 5. [15463]Fire an event named [15464]error at the [15465]media element. 6. Abort the overall [15466]resource selection algorithm.

    If the [15467]media data fetching process is aborted by the user The fetching process is aborted by the user, e.g. because the user pressed a "stop" button, the user agent must execute the following steps. These steps are not followed if the [15468]load() method itself is invoked while these steps are running, as the steps above handle that particular kind of abort.

    1. The user agent should cancel the fetching process. 2. Set the [15469]error attribute to the result of [15470]creating a MediaError with [15471]MEDIA_ERR_ABORTED. 3. [15472]Fire an event named [15473]abort at the [15474]media element. 4. If the [15475]media element's [15476]readyState attribute has a value equal to [15477]HAVE_NOTHING, set the element's [15478]networkState attribute to the [15479]NETWORK_EMPTY value, set the element's [15480]show poster flag to true, and [15481]fire an event named [15482]emptied at the element. Otherwise, set the element's [15483]networkState attribute to the [15484]NETWORK_IDLE value. 5. Set the element's [15485]delaying-the-load-event flag to false. This stops [15486]delaying the load event. 6. Abort the overall [15487]resource selection algorithm.

    If the [15488]media data can be fetched but has non-fatal errors or uses, in part, codecs that are unsupported, preventing the user agent from rendering the content completely correctly but not preventing playback altogether The server returning data that is partially usable but cannot be optimally rendered must cause the user agent to render just the bits it can handle, and ignore the rest.

    If the [15489]media resource is found to declare a [15490]media-resource-specific text track that the user agent supports If the [15491]media data is [15492]CORS-same-origin, run the [15493]steps to expose a media-resource-specific text track with the relevant data.

    Cross-origin videos do not expose their subtitles, since that would allow attacks such as hostile sites reading subtitles from confidential videos on a user's intranet.

    6. Final step: If the user agent ever reaches this step (which can only happen if the entire resource gets loaded and kept available): abort the overall [15494]resource selection algorithm.

    When a [15495]media element is to forget the media element's media-resource-specific tracks, the user agent must remove from the [15496]media element's [15497]list of text tracks all the [15498]media-resource-specific text tracks, then empty the [15499]media element's [15500]audioTracks attribute's [15501]AudioTrackList object, then empty the [15502]media element's [15503]videoTracks attribute's [15504]VideoTrackList object. No events (in particular, no [15505]removetrack events) are fired as part of this; the [15506]error and [15507]emptied events, fired by the algorithms that invoke this one, can be used instead. __________________________________________________________________

    The preload attribute is an [15508]enumerated attribute with the following keywords and states:

    Keyword State Brief description auto Automatic Hints to the user agent that the user agent can put the user's needs first without risk to the server, up to and including optimistically downloading the entire resource. (the empty string) none None Hints to the user agent that either the author does not expect the user to need the media resource, or that the server wants to minimize unnecessary traffic. This state does not provide a hint regarding how aggressively to actually download the media resource if buffering starts anyway (e.g. once the user hits "play"). metadata Metadata Hints to the user agent that the author does not expect the user to need the media resource, but that fetching the resource metadata (dimensions, track list, duration, etc.), and maybe even the first few frames, is reasonable. If the user agent precisely fetches no more than the metadata, then the [15509]media element will end up with its [15510]readyState attribute set to [15511]HAVE_METADATA; typically though, some frames will be obtained as well and it will probably be [15512]HAVE_CURRENT_DATA or [15513]HAVE_FUTURE_DATA. When the media resource is playing, hints to the user agent that bandwidth is to be considered scarce, e.g. suggesting throttling the download so that the media data is obtained at the slowest possible rate that still maintains consistent playback.

    The attribute's [15514]missing value default and [15515]invalid value default are both [15516]implementation-defined, though the [15517]Metadata state is suggested as a compromise between reducing server load and providing an optimal user experience.

    The attribute can be changed even once the [15518]media resource is being buffered or played; the descriptions in the table above are to be interpreted with that in mind.

    Authors might switch the attribute from "[15519]none" or "[15520]metadata" to "[15521]auto" dynamically once the user begins playback. For example, on a page with many videos this might be used to indicate that the many videos are not to be downloaded unless requested, but that once one is requested it is to be downloaded aggressively.

    The [15522]preload attribute is intended to provide a hint to the user agent about what the author thinks will lead to the best user experience. The attribute may be ignored altogether, for example based on explicit user preferences or based on the available connectivity.

    The preload IDL attribute must [15523]reflect the content attribute of the same name, [15524]limited to only known values.

    The [15525]autoplay attribute can override the [15526]preload attribute (since if the media plays, it naturally has to buffer first, regardless of the hint given by the [15527]preload attribute). Including both is not an error, however. __________________________________________________________________

    media.[15528]buffered

    (BUTTON) ✔MDN

    [15529]HTMLMediaElement/buffered

    Support in all current engines.

    Firefox4+Safari3.1+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns a [15530]TimeRanges object that represents the ranges of the [15531]media resource that the user agent has buffered.

    The buffered attribute must return a new static [15532]normalized TimeRanges object that represents the ranges of the [15533]media resource, if any, that the user agent has buffered, at the time the attribute is evaluated. Users agents must accurately determine the ranges available, even for media streams where this can only be determined by tedious inspection.

    Typically this will be a single range anchored at the zero point, but if, e.g. the user agent uses HTTP range requests in response to seeking, then there could be multiple ranges.

    User agents may discard previously buffered data.

    Thus, a time position included within a range of the objects return by the [15534]buffered attribute at one time can end up being not included in the range(s) of objects returned by the same attribute at later times.

    Returning a new object each time is a bad pattern for attribute getters and is only enshrined here as it would be costly to change it. It is not to be copied to new APIs.

    4.8.11.6 Offsets into the media resource

    media.[15535]duration

    (BUTTON) ✔MDN

    [15536]HTMLMediaElement/duration

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the length of the [15537]media resource, in seconds, assuming that the start of the [15538]media resource is at time zero.

    Returns NaN if the duration isn't available.

    Returns Infinity for unbounded streams.

    media.[15539]currentTime [ = value ]

    (BUTTON) ✔MDN

    [15540]HTMLMediaElement/currentTime

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the [15541]official playback position, in seconds.

    Can be set, to seek to the given time.

    A [15542]media resource has a media timeline that maps times (in seconds) to positions in the [15543]media resource. The origin of a timeline is its earliest defined position. The duration of a timeline is its last defined position.

    Establishing the media timeline: if the [15544]media resource somehow specifies an explicit timeline whose origin is not negative (i.e. gives each frame a specific time offset and gives the first frame a zero or positive offset), then the [15545]media timeline should be that timeline. (Whether the [15546]media resource can specify a timeline or not depends on the [15547]media resource's format.) If the [15548]media resource specifies an explicit start time and date, then that time and date should be considered the zero point in the [15549]media timeline; the [15550]timeline offset will be the time and date, exposed using the [15551]getStartDate() method.

    If the [15552]media resource has a discontinuous timeline, the user agent must extend the timeline used at the start of the resource across the entire resource, so that the [15553]media timeline of the [15554]media resource increases linearly starting from the [15555]earliest possible position (as defined below), even if the underlying [15556]media data has out-of-order or even overlapping time codes.

    For example, if two clips have been concatenated into one video file, but the video format exposes the original times for the two clips, the video data might expose a timeline that goes, say, 00:15..00:29 and then 00:05..00:38. However, the user agent would not expose those times; it would instead expose the times as 00:15..00:29 and 00:29..01:02, as a single video.

    [15557](This is a tracking vector.) In the rare case of a [15558]media resource that does not have an explicit timeline, the zero time on the [15559]media timeline should correspond to the first frame of the [15560]media resource. In the even rarer case of a [15561]media resource with no explicit timings of any kind, not even frame durations, the user agent must itself determine the time for each frame in an [15562]implementation-defined manner.

    An example of a file format with no explicit timeline but with explicit frame durations is the Animated GIF format. An example of a file format with no explicit timings at all is the JPEG-push format ([15563]multipart/x-mixed-replace with JPEG frames, often used as the format for MJPEG streams).

    If, in the case of a resource with no timing information, the user agent will nonetheless be able to seek to an earlier point than the first frame originally provided by the server, then the zero time should correspond to the earliest seekable time of the [15564]media resource; otherwise, it should correspond to the first frame received from the server (the point in the [15565]media resource at which the user agent began receiving the stream).

    At the time of writing, there is no known format that lacks explicit frame time offsets yet still supports seeking to a frame before the first frame sent by the server.

    Consider a stream from a TV broadcaster, which begins streaming on a sunny Friday afternoon in October, and always sends connecting user agents the media data on the same media timeline, with its zero time set to the start of this stream. Months later, user agents connecting to this stream will find that the first frame they receive has a time with millions of seconds. The [15566]getStartDate() method would always return the date that the broadcast started; this would allow controllers to display real times in their scrubber (e.g. "2:30pm") rather than a time relative to when the broadcast began ("8 months, 4 hours, 12 minutes, and 23 seconds").

    Consider a stream that carries a video with several concatenated fragments, broadcast by a server that does not allow user agents to request specific times but instead just streams the video data in a predetermined order, with the first frame delivered always being identified as the frame with time zero. If a user agent connects to this stream and receives fragments defined as covering timestamps 2010-03-20 23:15:00 UTC to 2010-03-21 00:05:00 UTC and 2010-02-12 14:25:00 UTC to 2010-02-12 14:35:00 UTC, it would expose this with a [15567]media timeline starting at 0s and extending to 3,600s (one hour). Assuming the streaming server disconnected at the end of the second clip, the [15568]duration attribute would then return 3,600. The [15569]getStartDate() method would return a [15570]Date object with a time corresponding to 2010-03-20 23:15:00 UTC. However, if a different user agent connected five minutes later, it would (presumably) receive fragments covering timestamps 2010-03-20 23:20:00 UTC to 2010-03-21 00:05:00 UTC and 2010-02-12 14:25:00 UTC to 2010-02-12 14:35:00 UTC, and would expose this with a [15571]media timeline starting at 0s and extending to 3,300s (fifty five minutes). In this case, the [15572]getStartDate() method would return a [15573]Date object with a time corresponding to 2010-03-20 23:20:00 UTC.

    In both of these examples, the [15574]seekable attribute would give the ranges that the controller would want to actually display in its UI; typically, if the servers don't support seeking to arbitrary times, this would be the range of time from the moment the user agent connected to the stream up to the latest frame that the user agent has obtained; however, if the user agent starts discarding earlier information, the actual range might be shorter.

    In any case, the user agent must ensure that the [15575]earliest possible position (as defined below) using the established [15576]media timeline, is greater than or equal to zero.

    The [15577]media timeline also has an associated clock. Which clock is used is user-agent defined, and may be [15578]media resource-dependent, but it should approximate the user's wall clock.

    [15579]Media elements have a current playback position, which must initially (i.e. in the absence of [15580]media data) be zero seconds. The [15581]current playback position is a time on the [15582]media timeline.

    [15583]Media elements also have an official playback position, which must initially be set to zero seconds. The [15584]official playback position is an approximation of the [15585]current playback position that is kept stable while scripts are running.

    [15586]Media elements also have a default playback start position, which must initially be set to zero seconds. This time is used to allow the element to be seeked even before the media is loaded.

    Each [15587]media element has a show poster flag. When a [15588]media element is created, this flag must be set to true. This flag is used to control when the user agent is to show a poster frame for a [15589]video element instead of showing the video contents.

    The currentTime attribute must, on getting, return the [15590]media element's [15591]default playback start position, unless that is zero, in which case it must return the element's [15592]official playback position. The returned value must be expressed in seconds. On setting, if the [15593]media element's [15594]readyState is [15595]HAVE_NOTHING, then it must set the [15596]media element's [15597]default playback start position to the new value; otherwise, it must set the [15598]official playback position to the new value and then [15599]seek to the new value. The new value must be interpreted as being in seconds.

    If the [15600]media resource is a streaming resource, then the user agent might be unable to obtain certain parts of the resource after it has expired from its buffer. Similarly, some [15601]media resources might have a [15602]media timeline that doesn't start at zero. The earliest possible position is the earliest position in the stream or resource that the user agent can ever obtain again. It is also a time on the [15603]media timeline.

    The [15604]earliest possible position is not explicitly exposed in the API; it corresponds to the start time of the first range in the [15605]seekable attribute's [15606]TimeRanges object, if any, or the [15607]current playback position otherwise.

    When the [15608]earliest possible position changes, then: if the [15609]current playback position is before the [15610]earliest possible position, the user agent must [15611]seek to the [15612]earliest possible position; otherwise, if the user agent has not fired a [15613]timeupdate event at the element in the past 15 to 250ms and is not still running event handlers for such an event, then the user agent must [15614]queue a media element task given the [15615]media element to [15616]fire an event named [15617]timeupdate at the element.

    Because of the above requirement and the requirement in the [15618]resource fetch algorithm that kicks in [15619]when the metadata of the clip becomes known, the [15620]current playback position can never be less than the [15621]earliest possible position.

    If at any time the user agent learns that an audio or video track has ended and all [15622]media data relating to that track corresponds to parts of the [15623]media timeline that are before the [15624]earliest possible position, the user agent may [15625]queue a media element task given the [15626]media element to run these steps: 1. Remove the track from the [15627]audioTracks attribute's [15628]AudioTrackList object or the [15629]videoTracks attribute's [15630]VideoTrackList object as appropriate. 2. [15631]Fire an event named [15632]removetrack at the [15633]media element's aforementioned [15634]AudioTrackList or [15635]VideoTrackList object, using [15636]TrackEvent, with the [15637]track attribute initialized to the [15638]AudioTrack or [15639]VideoTrack object representing the track.

    The duration attribute must return the time of the end of the [15640]media resource, in seconds, on the [15641]media timeline. If no [15642]media data is available, then the attributes must return the Not-a-Number (NaN) value. If the [15643]media resource is not known to be bounded (e.g. streaming radio, or a live event with no announced end time), then the attribute must return the positive Infinity value.

    The user agent must determine the duration of the [15644]media resource before playing any part of the [15645]media data and before setting [15646]readyState to a value greater than or equal to [15647]HAVE_METADATA, even if doing so requires fetching multiple parts of the resource.

    When the length of the [15648]media resource changes to a known value (e.g. from being unknown to known, or from a previously established length to a new length) the user agent must [15649]queue a media element task given the [15650]media element to [15651]fire an event named [15652]durationchange at the [15653]media element. (The event is not fired when the duration is reset as part of loading a new media resource.) If the duration is changed such that the [15654]current playback position ends up being greater than the time of the end of the [15655]media resource, then the user agent must also [15656]seek to the time of the end of the [15657]media resource.

    If an "infinite" stream ends for some reason, then the duration would change from positive Infinity to the time of the last frame or sample in the stream, and the [15658]durationchange event would be fired. Similarly, if the user agent initially estimated the [15659]media resource's duration instead of determining it precisely, and later revises the estimate based on new information, then the duration would change and the [15660]durationchange event would be fired.

    Some video files also have an explicit date and time corresponding to the zero time in the [15661]media timeline, known as the timeline offset. Initially, the [15662]timeline offset must be set to Not-a-Number (NaN).

    The getStartDate() method must return [15663]a new Date object representing the current [15664]timeline offset. __________________________________________________________________

    The loop attribute is a [15665]boolean attribute that, if specified, indicates that the [15666]media element is to seek back to the start of the [15667]media resource upon reaching the end.

    (BUTTON) ✔MDN

    [15668]HTMLMediaElement/loop

    Support in all current engines. Firefox11+Safari4+Chrome3+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

    The loop IDL attribute must [15669]reflect the content attribute of the same name.

    4.8.11.7 Ready states

    media.[15670]readyState

    (BUTTON) ✔MDN

    [15671]HTMLMediaElement/readyState

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns a value that expresses the current state of the element with respect to rendering the [15672]current playback position, from the codes in the list below.

    [15673]Media elements have a ready state, which describes to what degree they are ready to be rendered at the [15674]current playback position. The possible values are as follows; the ready state of a media element at any particular time is the greatest value describing the state of the element:

    HAVE_NOTHING (numeric value 0) No information regarding the [15675]media resource is available. No data for the [15676]current playback position is available. [15677]Media elements whose [15678]networkState attribute are set to [15679]NETWORK_EMPTY are always in the [15680]HAVE_NOTHING state.

    HAVE_METADATA (numeric value 1) Enough of the resource has been obtained that the duration of the resource is available. In the case of a [15681]video element, the dimensions of the video are also available. No [15682]media data is available for the immediate [15683]current playback position.

    HAVE_CURRENT_DATA (numeric value 2) Data for the immediate [15684]current playback position is available, but either not enough data is available that the user agent could successfully advance the [15685]current playback position in the [15686]direction of playback at all without immediately reverting to the [15687]HAVE_METADATA state, or there is no more data to obtain in the [15688]direction of playback. For example, in video this corresponds to the user agent having data from the current frame, but not the next frame, when the [15689]current playback position is at the end of the current frame; and to when [15690]playback has ended.

    HAVE_FUTURE_DATA (numeric value 3) Data for the immediate [15691]current playback position is available, as well as enough data for the user agent to advance the [15692]current playback position in the [15693]direction of playback at least a little without immediately reverting to the [15694]HAVE_METADATA state, and [15695]the text tracks are ready. For example, in video this corresponds to the user agent having data for at least the current frame and the next frame when the [15696]current playback position is at the instant in time between the two frames, or to the user agent having the video data for the current frame and audio data to keep playing at least a little when the [15697]current playback position is in the middle of a frame. The user agent cannot be in this state if [15698]playback has ended, as the [15699]current playback position can never advance in this case.

    HAVE_ENOUGH_DATA (numeric value 4) All the conditions described for the [15700]HAVE_FUTURE_DATA state are met, and, in addition, either of the following conditions is also true:

    + The user agent estimates that data is being fetched at a rate where the [15701]current playback position, if it were to advance at the element's [15702]playbackRate, would not overtake the available data before playback reaches the end of the [15703]media resource. + The user agent has entered a state where waiting longer will not result in further data being obtained, and therefore nothing would be gained by delaying playback any further. (For example, the buffer might be full.)

    In practice, the difference between [15704]HAVE_METADATA and [15705]HAVE_CURRENT_DATA is negligible. Really the only time the difference is relevant is when painting a [15706]video element onto a [15707]canvas, where it distinguishes the case where something will be drawn ([15708]HAVE_CURRENT_DATA or greater) from the case where nothing is drawn ([15709]HAVE_METADATA or less). Similarly, the difference between [15710]HAVE_CURRENT_DATA (only the current frame) and [15711]HAVE_FUTURE_DATA (at least this frame and the next) can be negligible (in the extreme, only one frame). The only time that distinction really matters is when a page provides an interface for "frame-by-frame" navigation.

    When the ready state of a [15712]media element whose [15713]networkState is not [15714]NETWORK_EMPTY changes, the user agent must follow the steps given below: 1. Apply the first applicable set of substeps from the following list:

    If the previous ready state was [15715]HAVE_NOTHING, and the new ready state is [15716]HAVE_METADATA [15717]Queue a media element task given the [15718]media element to [15719]fire an event named [15720]loadedmetadata at the element.

    Before this task is run, as part of the [15721]event loop mechanism, the rendering will have been updated to resize the [15722]video element if appropriate.

    If the previous ready state was [15723]HAVE_METADATA and the new ready state is [15724]HAVE_CURRENT_DATA or greater If this is the first time this occurs for this [15725]media element since the [15726]load() algorithm was last invoked, the user agent must [15727]queue a media element task given the [15728]media element to [15729]fire an event named [15730]loadeddata at the element.

    If the new ready state is [15731]HAVE_FUTURE_DATA or [15732]HAVE_ENOUGH_DATA, then the relevant steps below must then be run also.

    If the previous ready state was [15733]HAVE_FUTURE_DATA or more, and the new ready state is [15734]HAVE_CURRENT_DATA or less If the [15735]media element was [15736]potentially playing before its [15737]readyState attribute changed to a value lower than [15738]HAVE_FUTURE_DATA, and the element has not [15739]ended playback, and playback has not [15740]stopped due to errors, [15741]paused for user interaction, or [15742]paused for in-band content, the user agent must [15743]queue a media element task given the [15744]media element to [15745]fire an event named [15746]timeupdate at the element, and [15747]queue a media element task given the [15748]media element to [15749]fire an event named [15750]waiting at the element.

    If the previous ready state was [15751]HAVE_CURRENT_DATA or less, and the new ready state is [15752]HAVE_FUTURE_DATA The user agent must [15753]queue a media element task given the [15754]media element to [15755]fire an event named [15756]canplay at the element.

    If the element's [15757]paused attribute is false, the user agent must [15758]notify about playing for the element.

    If the new ready state is [15759]HAVE_ENOUGH_DATA If the previous ready state was [15760]HAVE_CURRENT_DATA or less, the user agent must [15761]queue a media element task given the [15762]media element to [15763]fire an event named [15764]canplay at the element, and, if the element's [15765]paused attribute is false, [15766]notify about playing for the element.

    The user agent must [15767]queue a media element task given the [15768]media element to [15769]fire an event named [15770]canplaythrough at the element.

    If the element is not [15771]eligible for autoplay, then the user agent must abort these substeps.

    The user agent may run the following substeps:

    1. Set the [15772]paused attribute to false. 2. If the element's [15773]show poster flag is true, set it to false and run the [15774]time marches on steps. 3. [15775]Queue a media element task given the element to [15776]fire an event named [15777]play at the element. 4. [15778]Notify about playing for the element.

    Alternatively, if the element is a [15779]video element, the user agent may start observing whether the element [15780]intersects the viewport. When the element starts [15781]intersecting the viewport, if the element is still [15782]eligible for autoplay, run the substeps above. Optionally, when the element stops [15783]intersecting the viewport, if the [15784]can autoplay flag is still true and the [15785]autoplay attribute is still specified, run the following substeps:

    1. Run the [15786]internal pause steps and set the [15787]can autoplay flag to true. 2. [15788]Queue a media element task given the element to [15789]fire an event named [15790]pause at the element.

    The substeps for playing and pausing can run multiple times as the element starts or stops [15791]intersecting the viewport, as long as the [15792]can autoplay flag is true.

    User agents do not need to support autoplay, and it is suggested that user agents honor user preferences on the matter. Authors are urged to use the [15793]autoplay attribute rather than using script to force the video to play, so as to allow the user to override the behavior if so desired.

    It is possible for the ready state of a media element to jump between these states discontinuously. For example, the state of a media element can jump straight from [15794]HAVE_METADATA to [15795]HAVE_ENOUGH_DATA without passing through the [15796]HAVE_CURRENT_DATA and [15797]HAVE_FUTURE_DATA states.

    The readyState IDL attribute must, on getting, return the value described above that describes the current ready state of the [15798]media element.

    The autoplay attribute is a [15799]boolean attribute. When present, the user agent (as described in the algorithm described herein) will automatically begin playback of the [15800]media resource as soon as it can do so without stopping.

    Authors are urged to use the [15801]autoplay attribute rather than using script to trigger automatic playback, as this allows the user to override the automatic playback when it is not desired, e.g. when using a screen reader. Authors are also encouraged to consider not using the automatic playback behavior at all, and instead to let the user agent wait for the user to start playback explicitly.

    (BUTTON) ✔MDN

    [15802]HTMLMediaElement/autoplay

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

    The autoplay IDL attribute must [15803]reflect the content attribute of the same name.

    4.8.11.8 Playing the media resource

    media.[15804]paused

    (BUTTON) ✔MDN

    [15805]HTMLMediaElement/paused

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns true if playback is paused; false otherwise.

    media.[15806]ended

    (BUTTON) ✔MDN

    [15807]HTMLMediaElement/ended

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns true if playback has reached the end of the [15808]media resource.

    media.[15809]defaultPlaybackRate [ = value ]

    (BUTTON) ✔MDN

    [15810]HTMLMediaElement/defaultPlaybackRate

    Support in all current engines.

    Firefox20+Safari3.1+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the default rate of playback, for when the user is not fast-forwarding or reversing through the [15811]media resource.

    Can be set, to change the default rate of playback.

    The default rate has no direct effect on playback, but if the user switches to a fast-forward mode, when they return to the normal playback mode, it is expected that the rate of playback will be returned to the default rate of playback.

    media.[15812]playbackRate [ = value ]

    (BUTTON) ✔MDN

    [15813]HTMLMediaElement/playbackRate

    Support in all current engines.

    Firefox20+Safari3.1+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the current rate playback, where 1.0 is normal speed.

    Can be set, to change the rate of playback.

    media.[15814]preservesPitch

    (BUTTON) MDN

    [15815]HTMLMediaElement/preservesPitch

    Firefox101+Safari🔰 4+Chrome86+ ___________________________________________________________

    Opera?Edge86+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS🔰 4+Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns true if pitch-preserving algorithms are used when the [15816]playbackRate is not 1.0. The default value is true.

    Can be set to false to have the [15817]media resource's audio pitch change up or down depending on the [15818]playbackRate. This is useful for aesthetic and performance reasons.

    media.[15819]played Returns a [15820]TimeRanges object that represents the ranges of the [15821]media resource that the user agent has played.

    media.[15822]play()

    (BUTTON) ✔MDN

    [15823]HTMLMediaElement/play

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome3+ ___________________________________________________________

    Opera10.5+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ Sets the [15824]paused attribute to false, loading the [15825]media resource and beginning playback if necessary. If the playback had ended, will restart it from the start.

    media.[15826]pause()

    (BUTTON) ✔MDN

    [15827]HTMLMediaElement/pause

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Sets the [15828]paused attribute to true, loading the [15829]media resource if necessary.

    The paused attribute represents whether the [15830]media element is paused or not. The attribute must initially be true.

    A [15831]media element is a blocked media element if its [15832]readyState attribute is in the [15833]HAVE_NOTHING state, the [15834]HAVE_METADATA state, or the [15835]HAVE_CURRENT_DATA state, or if the element has [15836]paused for user interaction or [15837]paused for in-band content.

    A [15838]media element is said to be potentially playing when its [15839]paused attribute is false, the element has not [15840]ended playback, playback has not [15841]stopped due to errors, and the element is not a [15842]blocked media element.

    A [15843]waiting DOM event [15844]can be fired as a result of an element that is [15845]potentially playing stopping playback due to its [15846]readyState attribute changing to a value lower than [15847]HAVE_FUTURE_DATA.

    A [15848]media element is said to be eligible for autoplay when all of the following are true: * its [15849]can autoplay flag is true; * its [15850]paused attribute is true; * it has an [15851]autoplay attribute specified; * its [15852]node document's [15853]active sandboxing flag set does not have the [15854]sandboxed automatic features browsing context flag set; and * its [15855]node document is [15856]allowed to use the "[15857]autoplay" feature.

    A [15858]media element is said to be allowed to play if the user agent and the system allow media playback in the current context.

    For example, a user agent could allow playback only when the [15859]media element's [15860]Window object has [15861]transient activation, but an exception could be made to allow playback while [15862]muted.

    A [15863]media element is said to have ended playback when: * The element's [15864]readyState attribute is [15865]HAVE_METADATA or greater, and * Either: + The [15866]current playback position is the end of the [15867]media resource, and + The [15868]direction of playback is forwards, and + The [15869]media element does not have a [15870]loop attribute specified. Or: + The [15871]current playback position is the [15872]earliest possible position, and + The [15873]direction of playback is backwards.

    The ended attribute must return true if, the last time the [15874]event loop reached [15875]step 1, the [15876]media element had [15877]ended playback and the [15878]direction of playback was forwards, and false otherwise.

    A [15879]media element is said to have stopped due to errors when the element's [15880]readyState attribute is [15881]HAVE_METADATA or greater, and the user agent [15882]encounters a non-fatal error during the processing of the [15883]media data, and due to that error, is not able to play the content at the [15884]current playback position.

    A [15885]media element is said to have paused for user interaction when its [15886]paused attribute is false, the [15887]readyState attribute is either [15888]HAVE_FUTURE_DATA or [15889]HAVE_ENOUGH_DATA and the user agent has reached a point in the [15890]media resource where the user has to make a selection for the resource to continue.

    It is possible for a [15891]media element to have both [15892]ended playback and [15893]paused for user interaction at the same time.

    When a [15894]media element that is [15895]potentially playing stops playing because it has [15896]paused for user interaction, the user agent must [15897]queue a media element task given the [15898]media element to [15899]fire an event named [15900]timeupdate at the element.

    A [15901]media element is said to have paused for in-band content when its [15902]paused attribute is false, the [15903]readyState attribute is either [15904]HAVE_FUTURE_DATA or [15905]HAVE_ENOUGH_DATA and the user agent has suspended playback of the [15906]media resource in order to play content that is temporally anchored to the [15907]media resource and has a nonzero length, or to play content that is temporally anchored to a segment of the [15908]media resource but has a length longer than that segment.

    One example of when a [15909]media element would be [15910]paused for in-band content is when the user agent is playing [15911]audio descriptions from an external WebVTT file, and the synthesized speech generated for a cue is longer than the time between the [15912]text track cue start time and the [15913]text track cue end time. __________________________________________________________________

    When the [15914]current playback position reaches the end of the [15915]media resource when the [15916]direction of playback is forwards, then the user agent must follow these steps: 1. If the [15917]media element has a [15918]loop attribute specified, then [15919]seek to the [15920]earliest possible position of the [15921]media resource and return. 2. As defined above, the [15922]ended IDL attribute starts returning true once the [15923]event loop returns to [15924]step 1. 3. [15925]Queue a media element task given the [15926]media element and the following steps: 1. [15927]Fire an event named [15928]timeupdate at the [15929]media element. 2. If the [15930]media element has [15931]ended playback, the [15932]direction of playback is forwards, and [15933]paused is false, then: 1. Set the [15934]paused attribute to true. 2. [15935]Fire an event named [15936]pause at the [15937]media element. 3. [15938]Take pending play promises and [15939]reject pending play promises with the result and an [15940]"AbortError" [15941]DOMException. 3. [15942]Fire an event named [15943]ended at the [15944]media element.

    When the [15945]current playback position reaches the [15946]earliest possible position of the [15947]media resource when the [15948]direction of playback is backwards, then the user agent must only [15949]queue a media element task given the [15950]media element to [15951]fire an event named [15952]timeupdate at the element.

    The word "reaches" here does not imply that the [15953]current playback position needs to have changed during normal playback; it could be via [15954]seeking, for instance. __________________________________________________________________

    The defaultPlaybackRate attribute gives the desired speed at which the [15955]media resource is to play, as a multiple of its intrinsic speed. The attribute is mutable: on getting it must return the last value it was set to, or 1.0 if it hasn't yet been set; on setting the attribute must be set to the new value.

    The [15956]defaultPlaybackRate is used by the user agent when it [15957]exposes a user interface to the user.

    The playbackRate attribute gives the effective playback rate, which is the speed at which the [15958]media resource plays, as a multiple of its intrinsic speed. If it is not equal to the [15959]defaultPlaybackRate, then the implication is that the user is using a feature such as fast forward or slow motion playback. The attribute is mutable: on getting it must return the last value it was set to, or 1.0 if it hasn't yet been set; on setting, the user agent must follow these steps: 1. If the given value is not supported by the user agent, then throw a [15960]"NotSupportedError" [15961]DOMException. 2. Set [15962]playbackRate to the new value, and if the element is [15963]potentially playing, change the playback speed.

    When the [15964]defaultPlaybackRate or [15965]playbackRate attributes change value (either by being set by script or by being changed directly by the user agent, e.g. in response to user control) the user agent must [15966]queue a media element task given the [15967]media element to [15968]fire an event named [15969]ratechange at the [15970]media element. The user agent must process attribute changes smoothly and must not introduce any perceivable gaps or muting of playback in response.

    The preservesPitch getter steps are to return true if a pitch-preserving algorithm is in effect during playback. The setter steps are to correspondingly switch the pitch-preserving algorithm on or off, without any perceivable gaps or muting of playback. By default, such a pitch-preserving algorithm must be in effect (i.e., the getter will initially return true). __________________________________________________________________

    The played attribute must return a new static [15971]normalized TimeRanges object that represents the ranges of points on the [15972]media timeline of the [15973]media resource reached through the usual monotonic increase of the [15974]current playback position during normal playback, if any, at the time the attribute is evaluated.

    Returning a new object each time is a bad pattern for attribute getters and is only enshrined here as it would be costly to change it. It is not to be copied to new APIs. __________________________________________________________________

    Each [15975]media element has a list of pending play promises, which must initially be empty.

    To take pending play promises for a [15976]media element, the user agent must run the following steps: 1. Let promises be an empty list of promises. 2. Copy the [15977]media element's [15978]list of pending play promises to promises. 3. Clear the [15979]media element's [15980]list of pending play promises. 4. Return promises.

    To resolve pending play promises for a [15981]media element with a list of promises promises, the user agent must resolve each promise in promises with undefined.

    To reject pending play promises for a [15982]media element with a list of promises promises and an exception name error, the user agent must reject each promise in promises with error.

    To notify about playing for a [15983]media element, the user agent must run the following steps: 1. [15984]Take pending play promises and let promises be the result. 2. [15985]Queue a media element task given the element and the following steps: 1. [15986]Fire an event named [15987]playing at the element. 2. [15988]Resolve pending play promises with promises.

    When the play() method on a [15989]media element is invoked, the user agent must run the following steps. 1. If the [15990]media element is not [15991]allowed to play, then return [15992]a promise rejected with a [15993]"NotAllowedError" [15994]DOMException. 2. If the [15995]media element's [15996]error attribute is not null and its [15997]code is [15998]MEDIA_ERR_SRC_NOT_SUPPORTED, then return [15999]a promise rejected with a [16000]"NotSupportedError" [16001]DOMException. This means that the [16002]dedicated media source failure steps have run. Playback is not possible until the [16003]media element load algorithm clears the [16004]error attribute. 3. Let promise be a new promise and append promise to the [16005]list of pending play promises. 4. Run the [16006]internal play steps for the [16007]media element. 5. Return promise.

    The internal play steps for a [16008]media element are as follows: 1. If the [16009]media element's [16010]networkState attribute has the value [16011]NETWORK_EMPTY, invoke the [16012]media element's [16013]resource selection algorithm. 2. If the [16014]playback has ended and the [16015]direction of playback is forwards, [16016]seek to the [16017]earliest possible position of the [16018]media resource. This [16019]will cause the user agent to [16020]queue a media element task given the [16021]media element to [16022]fire an event named [16023]timeupdate at the [16024]media element. 3. If the [16025]media element's [16026]paused attribute is true, then: 1. Change the value of [16027]paused to false. 2. If the [16028]show poster flag is true, set the element's [16029]show poster flag to false and run the [16030]time marches on steps. 3. [16031]Queue a media element task given the [16032]media element to [16033]fire an event named [16034]play at the element. 4. If the [16035]media element's [16036]readyState attribute has the value [16037]HAVE_NOTHING, [16038]HAVE_METADATA, or [16039]HAVE_CURRENT_DATA, [16040]queue a media element task given the [16041]media element to [16042]fire an event named [16043]waiting at the element. Otherwise, the [16044]media element's [16045]readyState attribute has the value [16046]HAVE_FUTURE_DATA or [16047]HAVE_ENOUGH_DATA: [16048]notify about playing for the element. 4. Otherwise, if the [16049]media element's [16050]readyState attribute has the value [16051]HAVE_FUTURE_DATA or [16052]HAVE_ENOUGH_DATA, [16053]take pending play promises and [16054]queue a media element task given the [16055]media element to [16056]resolve pending play promises with the result. The media element is already playing. However, it's possible that promise will be [16057]rejected before the queued task is run. 5. Set the [16058]media element's [16059]can autoplay flag to false. __________________________________________________________________

    When the pause() method is invoked, and when the user agent is required to pause the [16060]media element, the user agent must run the following steps: 1. If the [16061]media element's [16062]networkState attribute has the value [16063]NETWORK_EMPTY, invoke the [16064]media element's [16065]resource selection algorithm. 2. Run the [16066]internal pause steps for the [16067]media element.

    The internal pause steps for a [16068]media element are as follows: 1. Set the [16069]media element's [16070]can autoplay flag to false. 2. If the [16071]media element's [16072]paused attribute is false, run the following steps: 1. Change the value of [16073]paused to true. 2. [16074]Take pending play promises and let promises be the result. 3. [16075]Queue a media element task given the [16076]media element and the following steps: 1. [16077]Fire an event named [16078]timeupdate at the element. 2. [16079]Fire an event named [16080]pause at the element. 3. [16081]Reject pending play promises with promises and an [16082]"AbortError" [16083]DOMException. 4. Set the [16084]official playback position to the [16085]current playback position. __________________________________________________________________

    If the element's [16086]playbackRate is positive or zero, then the direction of playback is forwards. Otherwise, it is backwards.

    When a [16087]media element is [16088]potentially playing and its [16089]Document is a [16090]fully active [16091]Document, its [16092]current playback position must increase monotonically at the element's [16093]playbackRate units of media time per unit time of the [16094]media timeline's clock. (This specification always refers to this as an increase, but that increase could actually be a decrease if the element's [16095]playbackRate is negative.)

    The element's [16096]playbackRate can be 0.0, in which case the [16097]current playback position doesn't move, despite playback not being paused ([16098]paused doesn't become true, and the [16099]pause event doesn't fire).

    This specification doesn't define how the user agent achieves the appropriate playback rate — depending on the protocol and media available, it is plausible that the user agent could negotiate with the server to have the server provide the media data at the appropriate rate, so that (except for the period between when the rate is changed and when the server updates the stream's playback rate) the client doesn't actually have to drop or interpolate any frames.

    Any time the user agent [16100]provides a stable state, the [16101]official playback position must be set to the [16102]current playback position.

    While the [16103]direction of playback is backwards, any corresponding audio must be [16104]muted. While the element's [16105]playbackRate is so low or so high that the user agent cannot play audio usefully, the corresponding audio must also be [16106]muted. If the element's [16107]playbackRate is not 1.0 and [16108]preservesPitch is true, the user agent must apply pitch adjustment to preserve the original pitch of the audio. Otherwise, the user agent must speed up or slow down the audio without any pitch adjustment.

    When a [16109]media element is [16110]potentially playing, its audio data played must be synchronized with the [16111]current playback position, at the element's [16112]effective media volume. The user agent must play the audio from audio tracks that were enabled when the [16113]event loop last reached [16114]step 1.

    When a [16115]media element is not [16116]potentially playing, audio must not play for the element.

    [16117]Media elements that are [16118]potentially playing while not [16119]in a document must not play any video, but should play any audio component. Media elements must not stop playing just because all references to them have been removed; only once a media element is in a state where no further audio could ever be played by that element may the element be garbage collected.

    It is possible for an element to which no explicit references exist to play audio, even if such an element is not still actively playing: for instance, it could be unpaused but stalled waiting for content to buffer, or it could be still buffering, but with a [16120]suspend event listener that begins playback. Even a media element whose [16121]media resource has no audio tracks could eventually play audio again if it had an event listener that changes the [16122]media resource. __________________________________________________________________

    Each [16123]media element has a list of newly introduced cues, which must be initially empty. Whenever a [16124]text track cue is added to the [16125]list of cues of a [16126]text track that is in the [16127]list of text tracks for a [16128]media element, that [16129]cue must be added to the [16130]media element's [16131]list of newly introduced cues. Whenever a [16132]text track is added to the [16133]list of text tracks for a [16134]media element, all of the [16135]cues in that [16136]text track's [16137]list of cues must be added to the [16138]media element's [16139]list of newly introduced cues. When a [16140]media element's [16141]list of newly introduced cues has new cues added while the [16142]media element's [16143]show poster flag is not set, then the user agent must run the [16144]time marches on steps.

    When a [16145]text track cue is removed from the [16146]list of cues of a [16147]text track that is in the [16148]list of text tracks for a [16149]media element, and whenever a [16150]text track is removed from the [16151]list of text tracks of a [16152]media element, if the [16153]media element's [16154]show poster flag is not set, then the user agent must run the [16155]time marches on steps.

    When the [16156]current playback position of a [16157]media element changes (e.g. due to playback or seeking), the user agent must run the [16158]time marches on steps. To support use cases that depend on the timing accuracy of cue event firing, such as synchronizing captions with shot changes in a video, user agents should fire cue events as close as possible to their position on the media timeline, and ideally within 20 milliseconds. If the [16159]current playback position changes while the steps are running, then the user agent must wait for the steps to complete, and then must immediately rerun the steps. These steps are thus run as often as possible or needed.

    If one iteration takes a long time, this can cause short duration [16160]cues to be skipped over as the user agent rushes ahead to "catch up", so these cues will not appear in the [16161]activeCues list.

    The time marches on steps are as follows: 1. Let current cues be a list of [16162]cues, initialized to contain all the [16163]cues of all the [16164]hidden or [16165]showing [16166]text tracks of the [16167]media element (not the [16168]disabled ones) whose [16169]start times are less than or equal to the [16170]current playback position and whose [16171]end times are greater than the [16172]current playback position. 2. Let other cues be a list of [16173]cues, initialized to contain all the [16174]cues of [16175]hidden and [16176]showing [16177]text tracks of the [16178]media element that are not present in current cues. 3. Let last time be the [16179]current playback position at the time this algorithm was last run for this [16180]media element, if this is not the first time it has run. 4. If the [16181]current playback position has, since the last time this algorithm was run, only changed through its usual monotonic increase during normal playback, then let missed cues be the list of [16182]cues in other cues whose [16183]start times are greater than or equal to last time and whose [16184]end times are less than or equal to the [16185]current playback position. Otherwise, let missed cues be an empty list. 5. Remove all the [16186]cues in missed cues that are also in the [16187]media element's [16188]list of newly introduced cues, and then empty the element's [16189]list of newly introduced cues. 6. If the time was reached through the usual monotonic increase of the [16190]current playback position during normal playback, and if the user agent has not fired a [16191]timeupdate event at the element in the past 15 to 250ms and is not still running event handlers for such an event, then the user agent must [16192]queue a media element task given the [16193]media element to [16194]fire an event named [16195]timeupdate at the element. (In the other cases, such as explicit seeks, relevant events get fired as part of the overall process of changing the [16196]current playback position.) The event thus is not to be fired faster than about 66Hz or slower than 4Hz (assuming the event handlers don't take longer than 250ms to run). User agents are encouraged to vary the frequency of the event based on the system load and the average cost of processing the event each time, so that the UI updates are not any more frequent than the user agent can comfortably handle while decoding the video. 7. If all of the [16197]cues in current cues have their [16198]text track cue active flag set, none of the [16199]cues in other cues have their [16200]text track cue active flag set, and missed cues is empty, then return. 8. If the time was reached through the usual monotonic increase of the [16201]current playback position during normal playback, and there are [16202]cues in other cues that have their [16203]text track cue pause-on-exit flag set and that either have their [16204]text track cue active flag set or are also in missed cues, then [16205]immediately [16206]pause the [16207]media element. In the other cases, such as explicit seeks, playback is not paused by going past the end time of a [16208]cue, even if that [16209]cue has its [16210]text track cue pause-on-exit flag set. 9. Let events be a list of [16211]tasks, initially empty. Each [16212]task in this list will be associated with a [16213]text track, a [16214]text track cue, and a time, which are used to sort the list before the [16215]tasks are queued. Let affected tracks be a list of [16216]text tracks, initially empty. When the steps below say to prepare an event named event for a [16217]text track cue target with a time time, the user agent must run these steps: 1. Let track be the [16218]text track with which the [16219]text track cue target is associated. 2. Create a [16220]task to [16221]fire an event named event at target. 3. Add the newly created [16222]task to events, associated with the time time, the [16223]text track track, and the [16224]text track cue target. 4. Add track to affected tracks. 10. For each [16225]text track cue in missed cues, [16226]prepare an event named [16227]enter for the [16228]TextTrackCue object with the [16229]text track cue start time. 11. For each [16230]text track cue in other cues that either has its [16231]text track cue active flag set or is in missed cues, [16232]prepare an event named [16233]exit for the [16234]TextTrackCue object with the later of the [16235]text track cue end time and the [16236]text track cue start time. 12. For each [16237]text track cue in current cues that does not have its [16238]text track cue active flag set, [16239]prepare an event named [16240]enter for the [16241]TextTrackCue object with the [16242]text track cue start time. 13. Sort the [16243]tasks in events in ascending time order ([16244]tasks with earlier times first). Further sort [16245]tasks in events that have the same time by the relative [16246]text track cue order of the [16247]text track cues associated with these [16248]tasks. Finally, sort [16249]tasks in events that have the same time and same [16250]text track cue order by placing [16251]tasks that fire [16252]enter events before those that fire [16253]exit events. 14. [16254]Queue a media element task given the [16255]media element for each [16256]task in events, in list order. 15. Sort affected tracks in the same order as the [16257]text tracks appear in the [16258]media element's [16259]list of text tracks, and remove duplicates. 16. For each [16260]text track in affected tracks, in the list order, [16261]queue a media element task given the [16262]media element to [16263]fire an event named [16264]cuechange at the [16265]TextTrack object, and, if the [16266]text track has a corresponding [16267]track element, to then [16268]fire an event named [16269]cuechange at the [16270]track element as well. 17. Set the [16271]text track cue active flag of all the [16272]cues in the current cues, and unset the [16273]text track cue active flag of all the [16274]cues in the other cues. 18. Run the [16275]rules for updating the text track rendering of each of the [16276]text tracks in affected tracks that are [16277]showing, providing the [16278]text track's [16279]text track language as the fallback language if it is not the empty string. For example, for [16280]text tracks based on WebVTT, the [16281]rules for updating the display of WebVTT text tracks. [16282][WEBVTT]

    For the purposes of the algorithm above, a [16283]text track cue is considered to be part of a [16284]text track only if it is listed in the [16285]text track list of cues, not merely if it is associated with the [16286]text track.

    If the [16287]media element's [16288]node document stops being a [16289]fully active document, then the playback will [16290]stop until the document is active again.

    When a [16291]media element is [16292]removed from a Document, the user agent must run the following steps: 1. [16293]Await a stable state, allowing the [16294]task that removed the [16295]media element from the [16296]Document to continue. The [16297]synchronous section consists of all the remaining steps of this algorithm. (Steps in the [16298]synchronous section are marked with ⌛.) 2. ⌛ If the [16299]media element is [16300]in a document, return. 3. ⌛ Run the [16301]internal pause steps for the [16302]media element.

    4.8.11.9 Seeking

    media.[16303]seeking Returns true if the user agent is currently seeking.

    media.[16304]seekable

    (BUTTON) ✔MDN

    [16305]HTMLMediaElement/seekable

    Support in all current engines.

    Firefox8+Safari3.1+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns a [16306]TimeRanges object that represents the ranges of the [16307]media resource to which it is possible for the user agent to seek.

    media.[16308]fastSeek(time)

    (BUTTON) MDN

    [16309]HTMLMediaElement/fastSeek

    Firefox31+Safari8+ChromeNo ___________________________________________________________

    Opera?EdgeNo ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Seeks to near the given time as fast as possible, trading precision for speed. (To seek to a precise time, use the [16310]currentTime attribute.)

    This does nothing if the media resource has not been loaded.

    The seeking attribute must initially have the value false.

    The fastSeek(time) method must [16311]seek to the time given by time, with the approximate-for-speed flag set.

    When the user agent is required to seek to a particular new playback position in the [16312]media resource, optionally with the approximate-for-speed flag set, it means that the user agent must run the following steps. This algorithm interacts closely with the [16313]event loop mechanism; in particular, it has a [16314]synchronous section (which is triggered as part of the [16315]event loop algorithm). Steps in that section are marked with ⌛. 1. Set the [16316]media element's [16317]show poster flag to false. 2. If the [16318]media element's [16319]readyState is [16320]HAVE_NOTHING, return. 3. If the element's [16321]seeking IDL attribute is true, then another instance of this algorithm is already running. Abort that other instance of the algorithm without waiting for the step that it is running to complete. 4. Set the [16322]seeking IDL attribute to true. 5. If the seek was in response to a DOM method call or setting of an IDL attribute, then continue the script. The remainder of these steps must be run [16323]in parallel. With the exception of the steps marked with ⌛, they could be aborted at any time by another instance of this algorithm being invoked. 6. If the new playback position is later than the end of the [16324]media resource, then let it be the end of the [16325]media resource instead. 7. If the new playback position is less than the [16326]earliest possible position, let it be that position instead. 8. If the (possibly now changed) new playback position is not in one of the ranges given in the [16327]seekable attribute, then let it be the position in one of the ranges given in the [16328]seekable attribute that is the nearest to the new playback position. If two positions both satisfy that constraint (i.e. the new playback position is exactly in the middle between two ranges in the [16329]seekable attribute) then use the position that is closest to the [16330]current playback position. If there are no ranges given in the [16331]seekable attribute then set the [16332]seeking IDL attribute to false and return. 9. If the approximate-for-speed flag is set, adjust the new playback position to a value that will allow for playback to resume promptly. If new playback position before this step is before [16333]current playback position, then the adjusted new playback position must also be before the [16334]current playback position. Similarly, if the new playback position before this step is after [16335]current playback position, then the adjusted new playback position must also be after the [16336]current playback position. For example, the user agent could snap to a nearby key frame, so that it doesn't have to spend time decoding then discarding intermediate frames before resuming playback. 10. [16337]Queue a media element task given the [16338]media element to [16339]fire an event named [16340]seeking at the element. 11. Set the [16341]current playback position to the new playback position. If the [16342]media element was [16343]potentially playing immediately before it started seeking, but seeking caused its [16344]readyState attribute to change to a value lower than [16345]HAVE_FUTURE_DATA, then a [16346]waiting event [16347]will be fired at the element. This step sets the [16348]current playback position, and thus can immediately trigger other conditions, such as the rules regarding when playback "[16349]reaches the end of the media resource" (part of the logic that handles looping), even before the user agent is actually able to render the media data for that position (as determined in the next step). The [16350]currentTime attribute returns the [16351]official playback position, not the [16352]current playback position, and therefore gets updated before script execution, separate from this algorithm. 12. Wait until the user agent has established whether or not the [16353]media data for the new playback position is available, and, if it is, until it has decoded enough data to play back that position. 13. [16354]Await a stable state. The [16355]synchronous section consists of all the remaining steps of this algorithm. (Steps in the [16356]synchronous section are marked with ⌛.) 14. ⌛ Set the [16357]seeking IDL attribute to false. 15. ⌛ Run the [16358]time marches on steps. 16. ⌛ [16359]Queue a media element task given the [16360]media element to [16361]fire an event named [16362]timeupdate at the element. 17. ⌛ [16363]Queue a media element task given the [16364]media element to [16365]fire an event named [16366]seeked at the element. __________________________________________________________________

    The seekable attribute must return a new static [16367]normalized TimeRanges object that represents the ranges of the [16368]media resource, if any, that the user agent is able to seek to, at the time the attribute is evaluated.

    If the user agent can seek to anywhere in the [16369]media resource, e.g. because it is a simple movie file and the user agent and the server support HTTP Range requests, then the attribute would return an object with one range, whose start is the time of the first frame (the [16370]earliest possible position, typically zero), and whose end is the same as the time of the first frame plus the [16371]duration attribute's value (which would equal the time of the last frame, and might be positive Infinity).

    The range might be continuously changing, e.g. if the user agent is buffering a sliding window on an infinite stream. This is the behavior seen with DVRs viewing live TV, for instance.

    Returning a new object each time is a bad pattern for attribute getters and is only enshrined here as it would be costly to change it. It is not to be copied to new APIs.

    User agents should adopt a very liberal and optimistic view of what is seekable. User agents should also buffer recent content where possible to enable seeking to be fast.

    For instance, consider a large video file served on an HTTP server without support for HTTP Range requests. A browser could implement this by only buffering the current frame and data obtained for subsequent frames, never allow seeking, except for seeking to the very start by restarting the playback. However, this would be a poor implementation. A high quality implementation would buffer the last few minutes of content (or more, if sufficient storage space is available), allowing the user to jump back and rewatch something surprising without any latency, and would in addition allow arbitrary seeking by reloading the file from the start if necessary, which would be slower but still more convenient than having to literally restart the video and watch it all the way through just to get to an earlier unbuffered spot.

    [16372]Media resources might be internally scripted or interactive. Thus, a [16373]media element could play in a non-linear fashion. If this happens, the user agent must act as if the algorithm for [16374]seeking was used whenever the [16375]current playback position changes in a discontinuous fashion (so that the relevant events fire).

    4.8.11.10 Media resources with multiple media tracks

    A [16376]media resource can have multiple embedded audio and video tracks. For example, in addition to the primary video and audio tracks, a [16377]media resource could have foreign-language dubbed dialogues, director's commentaries, audio descriptions, alternative angles, or sign-language overlays.

    media.[16378]audioTracks

    (BUTTON) ✔MDN

    [16379]HTMLMediaElement/audioTracks

    Support in all current engines.

    Firefox🔰 33+Safari7+Chrome🔰 37+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns an [16380]AudioTrackList object representing the audio tracks available in the [16381]media resource.

    media.[16382]videoTracks

    (BUTTON) ✔MDN

    [16383]HTMLMediaElement/videoTracks

    Support in all current engines.

    Firefox🔰 33+Safari7+Chrome🔰 37+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)NoInternet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns a [16384]VideoTrackList object representing the video tracks available in the [16385]media resource.

    The audioTracks attribute of a [16386]media element must return a [16387]live [16388]AudioTrackList object representing the audio tracks available in the [16389]media element's [16390]media resource.

    The videoTracks attribute of a [16391]media element must return a [16392]live [16393]VideoTrackList object representing the video tracks available in the [16394]media element's [16395]media resource.

    There are only ever one [16396]AudioTrackList object and one [16397]VideoTrackList object per [16398]media element, even if another [16399]media resource is loaded into the element: the objects are reused. (The [16400]AudioTrack and [16401]VideoTrack objects are not, though.)

    4.8.11.10.1 [16402]AudioTrackList and [16403]VideoTrackList objects

    (BUTTON) ✔MDN

    [16404]AudioTrackList

    Support in all current engines. Firefox🔰 33+Safari7+Chrome🔰 37+ __________________________________________________________________

    Opera?Edge🔰 79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [16405]VideoTrackList

    Support in all current engines. Firefox🔰 33+Safari7+Chrome🔰 37+ __________________________________________________________________

    Opera?Edge🔰 79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [16406]AudioTrackList

    Support in all current engines. Firefox🔰 33+Safari7+Chrome🔰 37+ __________________________________________________________________

    Opera?Edge🔰 79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? __________________________________________________________________

    [16407]caniuse.com table

    The [16408]AudioTrackList and [16409]VideoTrackList interfaces are used by attributes defined in the previous section.

    (BUTTON) ✔MDN

    [16410]AudioTrack

    Support in all current engines. Firefox🔰 33+Safari8+Chrome🔰 37+ __________________________________________________________________

    Opera?Edge🔰 79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [16411]VideoTrack

    Support in all current engines. Firefox🔰 33+Safari7+Chrome🔰 37+ __________________________________________________________________

    Opera?Edge🔰 79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [Exposed=Window] interface AudioTrackList : [16412]EventTarget { readonly attribute unsigned long [16413]length; [16414]getter [16415]AudioTrack (unsigned long index); [16416]AudioTrack? [16417]getTrackById(DOMString id);

    attribute [16418]EventHandler [16419]onchange; attribute [16420]EventHandler [16421]onaddtrack; attribute [16422]EventHandler [16423]onremovetrack; };

    [Exposed=Window] interface AudioTrack { readonly attribute DOMString [16424]id; readonly attribute DOMString [16425]kind; readonly attribute DOMString [16426]label; readonly attribute DOMString [16427]language; attribute boolean [16428]enabled; };

    [Exposed=Window] interface VideoTrackList : [16429]EventTarget { readonly attribute unsigned long [16430]length; [16431]getter [16432]VideoTrack (unsigned long index); [16433]VideoTrack? [16434]getTrackById(DOMString id); readonly attribute long [16435]selectedIndex;

    attribute [16436]EventHandler [16437]onchange; attribute [16438]EventHandler [16439]onaddtrack; attribute [16440]EventHandler [16441]onremovetrack; };

    [Exposed=Window] interface VideoTrack { readonly attribute DOMString [16442]id; readonly attribute DOMString [16443]kind; readonly attribute DOMString [16444]label; readonly attribute DOMString [16445]language; attribute boolean [16446]selected; };

    media.[16447]audioTracks.[16448]length

    (BUTTON) ✔MDN

    [16449]AudioTrackList/length

    Support in all current engines.

    Firefox🔰 33+Safari7+Chrome🔰 37+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    media.[16450]videoTracks.[16451]length

    (BUTTON) ✔MDN

    [16452]VideoTrackList/length

    Support in all current engines.

    Firefox🔰 33+Safari7+Chrome🔰 37+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the number of tracks in the list.

    audioTrack = media.[16453]audioTracks[index] videoTrack = media.[16454]videoTracks[index] Returns the specified [16455]AudioTrack or [16456]VideoTrack object.

    audioTrack = media.[16457]audioTracks.[16458]getTrackById(id)

    (BUTTON) ✔MDN

    [16459]AudioTrackList/getTrackById

    Support in all current engines.

    Firefox🔰 33+Safari7+Chrome🔰 37+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    videoTrack = media.[16460]videoTracks.[16461]getTrackById(id)

    (BUTTON) ✔MDN

    [16462]VideoTrackList/getTrackById

    Support in all current engines.

    Firefox🔰 33+Safari7+Chrome🔰 37+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the [16463]AudioTrack or [16464]VideoTrack object with the given identifier, or null if no track has that identifier.

    audioTrack.[16465]id

    (BUTTON) ✔MDN

    [16466]AudioTrack/id

    Support in all current engines.

    Firefox🔰 33+Safari8+Chrome🔰 37+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    videoTrack.[16467]id

    (BUTTON) ✔MDN

    [16468]VideoTrack/id

    Support in all current engines.

    Firefox🔰 33+Safari7+Chrome🔰 37+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the ID of the given track. This is the ID that can be used with a [16469]fragment if the format supports [16470]media fragment syntax, and that can be used with the getTrackById() method.

    audioTrack.[16471]kind

    (BUTTON) ✔MDN

    [16472]AudioTrack/kind

    Support in all current engines.

    Firefox🔰 33+Safari8+Chrome🔰 37+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    videoTrack.[16473]kind

    (BUTTON) ✔MDN

    [16474]VideoTrack/kind

    Support in all current engines.

    Firefox🔰 33+Safari7+Chrome🔰 37+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the category the given track falls into. The [16475]possible track categories are given below.

    audioTrack.[16476]label

    (BUTTON) ✔MDN

    [16477]AudioTrack/label

    Support in all current engines.

    Firefox🔰 33+Safari8+Chrome🔰 37+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    videoTrack.[16478]label

    (BUTTON) ✔MDN

    [16479]VideoTrack/label

    Support in all current engines.

    Firefox🔰 33+Safari7+Chrome🔰 37+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the label of the given track, if known, or the empty string otherwise.

    audioTrack.[16480]language

    (BUTTON) ✔MDN

    [16481]AudioTrack/language

    Support in all current engines.

    Firefox🔰 33+Safari8+Chrome🔰 37+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    videoTrack.[16482]language

    (BUTTON) ✔MDN

    [16483]VideoTrack/language

    Support in all current engines.

    Firefox🔰 33+Safari7+Chrome🔰 37+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the language of the given track, if known, or the empty string otherwise.

    audioTrack.[16484]enabled [ = value ]

    (BUTTON) ✔MDN

    [16485]AudioTrack/enabled

    Support in all current engines.

    Firefox🔰 33+Safari8+Chrome🔰 37+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns true if the given track is active, and false otherwise.

    Can be set, to change whether the track is enabled or not. If multiple audio tracks are enabled simultaneously, they are mixed.

    media.[16486]videoTracks.[16487]selectedIndex

    (BUTTON) ✔MDN

    [16488]VideoTrackList/selectedIndex

    Support in all current engines.

    Firefox🔰 33+Safari7+Chrome🔰 37+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the index of the currently selected track, if any, or −1 otherwise.

    videoTrack.[16489]selected [ = value ]

    (BUTTON) ✔MDN

    [16490]VideoTrack/selected

    Support in all current engines.

    Firefox🔰 33+Safari7+Chrome🔰 37+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns true if the given track is active, and false otherwise.

    Can be set, to change whether the track is selected or not. Either zero or one video track is selected; selecting a new track while a previous one is selected will unselect the previous one.

    An [16491]AudioTrackList object represents a dynamic list of zero or more audio tracks, of which zero or more can be enabled at a time. Each audio track is represented by an [16492]AudioTrack object.

    A [16493]VideoTrackList object represents a dynamic list of zero or more video tracks, of which zero or one can be selected at a time. Each video track is represented by a [16494]VideoTrack object.

    Tracks in [16495]AudioTrackList and [16496]VideoTrackList objects must be consistently ordered. If the [16497]media resource is in a format that defines an order, then that order must be used; otherwise, the order must be the relative order in which the tracks are declared in the [16498]media resource. The order used is called the natural order of the list.

    Each track in one of these objects thus has an index; the first has the index 0, and each subsequent track is numbered one higher than the previous one. If a [16499]media resource dynamically adds or removes audio or video tracks, then the indices of the tracks will change dynamically. If the [16500]media resource changes entirely, then all the previous tracks will be removed and replaced with new tracks.

    The [16501]AudioTrackList length and [16502]VideoTrackList length attribute getters must return the number of tracks represented by their objects at the time of getting.

    The [16503]supported property indices of [16504]AudioTrackList and [16505]VideoTrackList objects at any instant are the numbers from zero to the number of tracks represented by the respective object minus one, if any tracks are represented. If an [16506]AudioTrackList or [16507]VideoTrackList object represents no tracks, it has no [16508]supported property indices.

    To [16509]determine the value of an indexed property for a given index index in an [16510]AudioTrackList or [16511]VideoTrackList object list, the user agent must return the [16512]AudioTrack or [16513]VideoTrack object that represents the indexth track in list.

    The [16514]AudioTrackList getTrackById(id) and [16515]VideoTrackList getTrackById(id) methods must return the first [16516]AudioTrack or [16517]VideoTrack object (respectively) in the [16518]AudioTrackList or [16519]VideoTrackList object (respectively) whose identifier is equal to the value of the id argument (in the natural order of the list, as defined above). When no tracks match the given argument, the methods must return null.

    The [16520]AudioTrack and [16521]VideoTrack objects represent specific tracks of a [16522]media resource. Each track can have an identifier, category, label, and language. These aspects of a track are permanent for the lifetime of the track; even if a track is removed from a [16523]media resource's [16524]AudioTrackList or [16525]VideoTrackList objects, those aspects do not change.

    In addition, [16526]AudioTrack objects can each be enabled or disabled; this is the audio track's enabled state. When an [16527]AudioTrack is created, its enabled state must be set to false (disabled). The [16528]resource fetch algorithm can override this.

    Similarly, a single [16529]VideoTrack object per [16530]VideoTrackList object can be selected, this is the video track's selection state. When a [16531]VideoTrack is created, its selection state must be set to false (not selected). The [16532]resource fetch algorithm can override this.

    The [16533]AudioTrack id and [16534]VideoTrack id attributes must return the identifier of the track, if it has one, or the empty string otherwise. If the [16535]media resource is in a format that supports [16536]media fragment syntax, the identifier returned for a particular track must be the same identifier that would enable the track if used as the name of a track in the track dimension of such a [16537]fragment. [16538][INBAND]

    For example, in Ogg files, this would be the Name header field of the track. [16539][OGGSKELETONHEADERS]

    The [16540]AudioTrack kind and [16541]VideoTrack kind attributes must return the category of the track, if it has one, or the empty string otherwise.

    The category of a track is the string given in the first column of the table below that is the most appropriate for the track based on the definitions in the table's second and third columns, as determined by the metadata included in the track in the [16542]media resource. The cell in the third column of a row says what the category given in the cell in the first column of that row applies to; a category is only appropriate for an audio track if it applies to audio tracks, and a category is only appropriate for video tracks if it applies to video tracks. Categories must only be returned for [16543]AudioTrack objects if they are appropriate for audio, and must only be returned for [16544]VideoTrack objects if they are appropriate for video.

    For Ogg files, the Role header field of the track gives the relevant metadata. For DASH media resources, the Role element conveys the information. For WebM, only the FlagDefault element currently maps to a value. Sourcing In-band Media Resource Tracks from Media Containers into HTML has further details. [16545][OGGSKELETONHEADERS] [16546][DASH] [16547][WEBMCG] [16548][INBAND]

    CAPTION: Return values for [16549]AudioTrack's [16550]kind and [16551]VideoTrack's [16552]kind

    Category Definition Applies to... Examples "alternative" A possible alternative to the main track, e.g. a different take of a song (audio), or a different angle (video). Audio and video. Ogg: "audio/alternate" or "video/alternate"; DASH: "alternate" without "main" and "commentary" roles, and, for audio, without the "dub" role (other roles ignored). "captions" A version of the main video track with captions burnt in. (For legacy content; new content would use text tracks.) Video only. DASH: "caption" and "main" roles together (other roles ignored). "descriptions" An audio description of a video track. Audio only. Ogg: "audio/audiodesc". "main" The primary audio or video track. Audio and video. Ogg: "audio/main" or "video/main"; WebM: the "FlagDefault" element is set; DASH: "main" role without "caption", "subtitle", and "dub" roles (other roles ignored). "main-desc" The primary audio track, mixed with audio descriptions. Audio only. AC3 audio in MPEG-2 TS: bsmod=2 and full_svc=1. "sign" A sign-language interpretation of an audio track. Video only. Ogg: "video/sign". "subtitles" A version of the main video track with subtitles burnt in. (For legacy content; new content would use text tracks.) Video only. DASH: "subtitle" and "main" roles together (other roles ignored). "translation" A translated version of the main audio track. Audio only. Ogg: "audio/dub". DASH: "dub" and "main" roles together (other roles ignored). "commentary" Commentary on the primary audio or video track, e.g. a director's commentary. Audio and video. DASH: "commentary" role without "main" role (other roles ignored). "" (empty string) No explicit kind, or the kind given by the track's metadata is not recognized by the user agent. Audio and video.

    The [16553]AudioTrack label and [16554]VideoTrack label attributes must return the label of the track, if it has one, or the empty string otherwise. [16555][INBAND]

    The [16556]AudioTrack language and [16557]VideoTrack language attributes must return the BCP 47 language tag of the language of the track, if it has one, or the empty string otherwise. If the user agent is not able to express that language as a BCP 47 language tag (for example because the language information in the [16558]media resource's format is a free-form string without a defined interpretation), then the method must return the empty string, as if the track had no language. [16559][INBAND]

    The [16560]AudioTrack enabled attribute, on getting, must return true if the track is currently enabled, and false otherwise. On setting, it must enable the track if the new value is true, and disable it otherwise. (If the track is no longer in an [16561]AudioTrackList object, then the track being enabled or disabled has no effect beyond changing the value of the attribute on the [16562]AudioTrack object.)

    Whenever an audio track in an [16563]AudioTrackList that was disabled is enabled, and whenever one that was enabled is disabled, the user agent must [16564]queue a media element task given the [16565]media element to [16566]fire an event named [16567]change at the [16568]AudioTrackList object.

    An audio track that has no data for a particular position on the [16569]media timeline, or that does not exist at that position, must be interpreted as being silent at that point on the timeline.

    The [16570]VideoTrackList selectedIndex attribute must return the index of the currently selected track, if any. If the [16571]VideoTrackList object does not currently represent any tracks, or if none of the tracks are selected, it must instead return −1.

    The [16572]VideoTrack selected attribute, on getting, must return true if the track is currently selected, and false otherwise. On setting, it must select the track if the new value is true, and unselect it otherwise. If the track is in a [16573]VideoTrackList, then all the other [16574]VideoTrack objects in that list must be unselected. (If the track is no longer in a [16575]VideoTrackList object, then the track being selected or unselected has no effect beyond changing the value of the attribute on the [16576]VideoTrack object.)

    Whenever a track in a [16577]VideoTrackList that was previously not selected is selected, and whenever the selected track in a [16578]VideoTrackList is unselected without a new track being selected in its stead, the user agent must [16579]queue a media element task given the [16580]media element to [16581]fire an event named [16582]change at the [16583]VideoTrackList object. This [16584]task must be [16585]queued before the [16586]task that fires the [16587]resize event, if any.

    A video track that has no data for a particular position on the [16588]media timeline must be interpreted as being [16589]transparent black at that point on the timeline, with the same dimensions as the last frame before that position, or, if the position is before all the data for that track, the same dimensions as the first frame for that track. A track that does not exist at all at the current position must be treated as if it existed but had no data.

    For instance, if a video has a track that is only introduced after one hour of playback, and the user selects that track then goes back to the start, then the user agent will act as if that track started at the start of the [16590]media resource but was simply transparent until one hour in. __________________________________________________________________

    The following are the [16591]event handlers (and their corresponding [16592]event handler event types) that must be supported, as [16593]event handler IDL attributes, by all objects implementing the [16594]AudioTrackList and [16595]VideoTrackList interfaces:

    [16596]Event handler [16597]Event handler event type onchange (BUTTON) ✔MDN

    [16598]AudioTrackList/change_event

    Support in all current engines. Firefox🔰 33+Safari7+Chrome🔰 37+ __________________________________________________________________

    Opera?Edge🔰 79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [16599]TextTrackList/change_event

    Support in all current engines. Firefox31+Safari7+Chrome33+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)18Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android4.4+Samsung Internet?Opera Android?

    [16600]VideoTrackList/change_event

    Support in all current engines. Firefox🔰 33+Safari7+Chrome🔰 37+ __________________________________________________________________

    Opera?Edge🔰 79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [16601]change onaddtrack (BUTTON) ✔MDN

    [16602]AudioTrackList/addtrack_event

    Support in all current engines. Firefox🔰 33+Safari7+Chrome🔰 37+ __________________________________________________________________

    Opera?Edge🔰 79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [16603]TextTrackList/addtrack_event

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer11 __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [16604]VideoTrackList/addtrack_event

    Support in all current engines. Firefox🔰 33+Safari7+Chrome🔰 37+ __________________________________________________________________

    Opera?Edge🔰 79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [16605]addtrack onremovetrack (BUTTON) ✔MDN

    [16606]AudioTrackList/removetrack_event

    Support in all current engines. Firefox🔰 33+Safari7+Chrome🔰 37+ __________________________________________________________________

    Opera?Edge🔰 79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [16607]TextTrackList/removetrack_event

    Support in all current engines. Firefox31+Safari7+Chrome33+ __________________________________________________________________

    Opera20+Edge79+ __________________________________________________________________

    Edge (Legacy)18Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android4.4+Samsung Internet?Opera Android20+

    [16608]VideoTrackList/removetrack_event

    Support in all current engines. Firefox🔰 33+Safari7+Chrome🔰 37+ __________________________________________________________________

    Opera?Edge🔰 79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [16609]removetrack

    4.8.11.10.2 Selecting specific audio and video tracks declaratively

    The [16610]audioTracks and [16611]videoTracks attributes allow scripts to select which track should play, but it is also possible to select specific tracks declaratively, by specifying particular tracks in the [16612]fragment of the [16613]URL of the [16614]media resource. The format of the [16615]fragment depends on the [16616]MIME type of the [16617]media resource. [16618][RFC2046] [16619][URL]

    In this example, a video that uses a format that supports [16620]media fragment syntax is embedded in such a way that the alternative angles labeled "Alternative" are enabled instead of the default video track.

    4.8.11.11 Timed text tracks

    4.8.11.11.1 Text track model

    A [16621]media element can have a group of associated text tracks, known as the [16622]media element's list of text tracks. The [16623]text tracks are sorted as follows: 1. The [16624]text tracks corresponding to [16625]track element children of the [16626]media element, in [16627]tree order. 2. Any [16628]text tracks added using the [16629]addTextTrack() method, in the order they were added, oldest first. 3. Any [16630]media-resource-specific text tracks ([16631]text tracks corresponding to data in the [16632]media resource), in the order defined by the [16633]media resource's format specification.

    A [16634]text track consists of:

    The kind of text track This decides how the track is handled by the user agent. The kind is represented by a string. The possible strings are:

    + subtitles + captions + descriptions + chapters + metadata

    The [16635]kind of track can change dynamically, in the case of a [16636]text track corresponding to a [16637]track element.

    A label This is a human-readable string intended to identify the track for the user.

    The [16638]label of a track can change dynamically, in the case of a [16639]text track corresponding to a [16640]track element.

    When a [16641]text track label is the empty string, the user agent should automatically generate an appropriate label from the text track's other properties (e.g. the kind of text track and the text track's language) for use in its user interface. This automatically-generated label is not exposed in the API.

    An in-band metadata track dispatch type This is a string extracted from the [16642]media resource specifically for in-band metadata tracks to enable such tracks to be dispatched to different scripts in the document.

    For example, a traditional TV station broadcast streamed on the web and augmented with web-specific interactive features could include text tracks with metadata for ad targeting, trivia game data during game shows, player states during sports games, recipe information during food programs, and so forth. As each program starts and ends, new tracks might be added or removed from the stream, and as each one is added, the user agent could bind them to dedicated script modules using the value of this attribute.

    Other than for in-band metadata text tracks, the [16643]in-band metadata track dispatch type is the empty string. How this value is populated for different media formats is described in [16644]steps to expose a media-resource-specific text track.

    A language This is a string (a BCP 47 language tag) representing the language of the text track's cues. [16645][BCP47]

    The [16646]language of a text track can change dynamically, in the case of a [16647]text track corresponding to a [16648]track element.

    A readiness state One of the following:

    Not loaded Indicates that the text track's cues have not been obtained.

    Loading Indicates that the text track is loading and there have been no fatal errors encountered so far. Further cues might still be added to the track by the parser.

    Loaded Indicates that the text track has been loaded with no fatal errors.

    Failed to load Indicates that the text track was enabled, but when the user agent attempted to obtain it, this failed in some way (e.g., [16649]URL could not be [16650]parsed, network error, unknown text track format). Some or all of the cues are likely missing and will not be obtained.

    The [16651]readiness state of a [16652]text track changes dynamically as the track is obtained.

    A mode One of the following:

    Disabled Indicates that the text track is not active. Other than for the purposes of exposing the track in the DOM, the user agent is ignoring the text track. No cues are active, no events are fired, and the user agent will not attempt to obtain the track's cues.

    Hidden Indicates that the text track is active, but that the user agent is not actively displaying the cues. If no attempt has yet been made to obtain the track's cues, the user agent will perform such an attempt momentarily. The user agent is maintaining a list of which cues are active, and events are being fired accordingly.

    Showing Indicates that the text track is active. If no attempt has yet been made to obtain the track's cues, the user agent will perform such an attempt momentarily. The user agent is maintaining a list of which cues are active, and events are being fired accordingly. In addition, for text tracks whose [16653]kind is [16654]subtitles or [16655]captions, the cues are being overlaid on the video as appropriate; for text tracks whose [16656]kind is [16657]descriptions, the user agent is making the cues available to the user in a non-visual fashion; and for text tracks whose [16658]kind is [16659]chapters, the user agent is making available to the user a mechanism by which the user can navigate to any point in the [16660]media resource by selecting a cue.

    A list of zero or more cues A list of [16661]text track cues, along with rules for updating the text track rendering. For example, for WebVTT, the [16662]rules for updating the display of WebVTT text tracks. [16663][WEBVTT]

    The [16664]list of cues of a text track can change dynamically, either because the [16665]text track has [16666]not yet been loaded or is still [16667]loading, or due to DOM manipulation.

    Each [16668]text track has a corresponding [16669]TextTrack object. __________________________________________________________________

    Each [16670]media element has a list of pending text tracks, which must initially be empty, a blocked-on-parser flag, which must initially be false, and a did-perform-automatic-track-selection flag, which must also initially be false.

    When the user agent is required to populate the list of pending text tracks of a [16671]media element, the user agent must add to the element's [16672]list of pending text tracks each [16673]text track in the element's [16674]list of text tracks whose [16675]text track mode is not [16676]disabled and whose [16677]text track readiness state is [16678]loading.

    Whenever a [16679]track element's parent node changes, the user agent must remove the corresponding [16680]text track from any [16681]list of pending text tracks that it is in.

    Whenever a [16682]text track's [16683]text track readiness state changes to either [16684]loaded or [16685]failed to load, the user agent must remove it from any [16686]list of pending text tracks that it is in.

    When a [16687]media element is created by an [16688]HTML parser or [16689]XML parser, the user agent must set the element's [16690]blocked-on-parser flag to true. When a [16691]media element is popped off the [16692]stack of open elements of an [16693]HTML parser or [16694]XML parser, the user agent must [16695]honor user preferences for automatic text track selection, [16696]populate the list of pending text tracks, and set the element's [16697]blocked-on-parser flag to false.

    The [16698]text tracks of a [16699]media element are ready when both the element's [16700]list of pending text tracks is empty and the element's [16701]blocked-on-parser flag is false.

    Each [16702]media element has a pending text track change notification flag, which must initially be unset.

    Whenever a [16703]text track that is in a [16704]media element's [16705]list of text tracks has its [16706]text track mode change value, the user agent must run the following steps for the [16707]media element: 1. If the [16708]media element's [16709]pending text track change notification flag is set, return. 2. Set the [16710]media element's [16711]pending text track change notification flag. 3. [16712]Queue a media element task given the [16713]media element to run these steps: 1. Unset the [16714]media element's [16715]pending text track change notification flag. 2. [16716]Fire an event named [16717]change at the [16718]media element's [16719]textTracks attribute's [16720]TextTrackList object. 4. If the [16721]media element's [16722]show poster flag is not set, run the [16723]time marches on steps.

    The [16724]task source for the [16725]tasks listed in this section is the [16726]DOM manipulation task source. __________________________________________________________________

    A text track cue is the unit of time-sensitive data in a [16727]text track, corresponding for instance for subtitles and captions to the text that appears at a particular time and disappears at another time.

    Each [16728]text track cue consists of:

    An identifier An arbitrary string.

    A start time The time, in seconds and fractions of a second, that describes the beginning of the range of the [16729]media data to which the cue applies.

    An end time The time, in seconds and fractions of a second, that describes the end of the range of the [16730]media data to which the cue applies, or positive Infinity for an [16731]unbounded text track cue.

    A pause-on-exit flag A boolean indicating whether playback of the [16732]media resource is to pause when the end of the range to which the cue applies is reached.

    Some additional format-specific data Additional fields, as needed for the format, including the actual data of the cue. For example, WebVTT has a [16733]text track cue writing direction and so forth. [16734][WEBVTT]

    An unbounded text track cue is a text track cue with a [16735]text track cue end time set to positive Infinity. An active [16736]unbounded text track cue cannot become inactive through the usual monotonic increase of the [16737]current playback position during normal playback (e.g. a metadata cue for a chapter in a live event with no announced end time.)

    The [16738]text track cue start time and [16739]text track cue end time can be negative. (The [16740]current playback position can never be negative, though, so cues entirely before time zero cannot be active.)

    Each [16741]text track cue has a corresponding [16742]TextTrackCue object (or more specifically, an object that inherits from [16743]TextTrackCue — for example, WebVTT cues use the [16744]VTTCue interface). A [16745]text track cue's in-memory representation can be dynamically changed through this [16746]TextTrackCue API. [16747][WEBVTT]

    A [16748]text track cue is associated with [16749]rules for updating the text track rendering, as defined by the specification for the specific kind of [16750]text track cue. These rules are used specifically when the object representing the cue is added to a [16751]TextTrack object using the [16752]addCue() method.

    In addition, each [16753]text track cue has two pieces of dynamic information:

    The active flag This flag must be initially unset. The flag is used to ensure events are fired appropriately when the cue becomes active or inactive, and to make sure the right cues are rendered.

    The user agent must synchronously unset this flag whenever the [16754]text track cue is removed from its [16755]text track's [16756]text track list of cues; whenever the [16757]text track itself is removed from its [16758]media element's [16759]list of text tracks or has its [16760]text track mode changed to [16761]disabled; and whenever the [16762]media element's [16763]readyState is changed back to [16764]HAVE_NOTHING. When the flag is unset in this way for one or more cues in [16765]text tracks that were [16766]showing prior to the relevant incident, the user agent must, after having unset the flag for all the affected cues, apply the [16767]rules for updating the text track rendering of those [16768]text tracks. For example, for [16769]text tracks based on WebVTT, the [16770]rules for updating the display of WebVTT text tracks. [16771][WEBVTT]

    The display state This is used as part of the rendering model, to keep cues in a consistent position. It must initially be empty. Whenever the [16772]text track cue active flag is unset, the user agent must empty the [16773]text track cue display state.

    The [16774]text track cues of a [16775]media element's [16776]text tracks are ordered relative to each other in the text track cue order, which is determined as follows: first group the [16777]cues by their [16778]text track, with the groups being sorted in the same order as their [16779]text tracks appear in the [16780]media element's [16781]list of text tracks; then, within each group, [16782]cues must be sorted by their [16783]start time, earliest first; then, any [16784]cues with the same [16785]start time must be sorted by their [16786]end time, latest first; and finally, any [16787]cues with identical [16788]end times must be sorted in the order they were last added to their respective [16789]text track list of cues, oldest first (so e.g. for cues from a WebVTT file, that would initially be the order in which the cues were listed in the file). [16790][WEBVTT]

    4.8.11.11.2 Sourcing in-band text tracks

    A media-resource-specific text track is a [16791]text track that corresponds to data found in the [16792]media resource.

    Rules for processing and rendering such data are defined by the relevant specifications, e.g. the specification of the video format if the [16793]media resource is a video. Details for some legacy formats can be found in Sourcing In-band Media Resource Tracks from Media Containers into HTML. [16794][INBAND]

    When a [16795]media resource contains data that the user agent recognizes and supports as being equivalent to a [16796]text track, the user agent [16797]runs the steps to expose a media-resource-specific text track with the relevant data, as follows. 1. Associate the relevant data with a new [16798]text track and its corresponding new [16799]TextTrack object. The [16800]text track is a [16801]media-resource-specific text track. 2. Set the new [16802]text track's [16803]kind, [16804]label, and [16805]language based on the semantics of the relevant data, as defined by the relevant specification. If there is no label in that data, then the [16806]label must be set to the empty string. 3. Associate the [16807]text track list of cues with the [16808]rules for updating the text track rendering appropriate for the format in question. 4. If the new [16809]text track's [16810]kind is [16811]chapters or [16812]metadata, then set the [16813]text track in-band metadata track dispatch type as follows, based on the type of the [16814]media resource:

    If the [16815]media resource is an Ogg file The [16816]text track in-band metadata track dispatch type must be set to the value of the Name header field. [16817][OGGSKELETONHEADERS]

    If the [16818]media resource is a WebM file The [16819]text track in-band metadata track dispatch type must be set to the value of the CodecID element. [16820][WEBMCG]

    If the [16821]media resource is an MPEG-2 file Let stream type be the value of the "stream_type" field describing the text track's type in the file's program map section, interpreted as an 8-bit unsigned integer. Let length be the value of the "ES_info_length" field for the track in the same part of the program map section, interpreted as an integer as defined by Generic coding of moving pictures and associated audio information. Let descriptor bytes be the length bytes following the "ES_info_length" field. The [16822]text track in-band metadata track dispatch type must be set to the concatenation of the stream type byte and the zero or more descriptor bytes bytes, expressed in hexadecimal using [16823]ASCII upper hex digits. [16824][MPEG2]

    If the [16825]media resource is an MPEG-4 file Let the first stsd box of the first stbl box of the first minf box of the first mdia box of the [16826]text track's trak box in the first moov box of the file be the stsd box, if any. If the file has no stsd box, or if the stsd box has neither a mett box nor a metx box, then the [16827]text track in-band metadata track dispatch type must be set to the empty string. Otherwise, if the stsd box has a mett box then the [16828]text track in-band metadata track dispatch type must be set to the concatenation of the string "mett", a U+0020 SPACE character, and the value of the first mime_format field of the first mett box of the stsd box, or the empty string if that field is absent in that box. Otherwise, if the stsd box has no mett box but has a metx box then the [16829]text track in-band metadata track dispatch type must be set to the concatenation of the string "metx", a U+0020 SPACE character, and the value of the first namespace field of the first metx box of the stsd box, or the empty string if that field is absent in that box. [16830][MPEG4]

    5. Populate the new [16831]text track's [16832]list of cues with the cues parsed so far, following the [16833]guidelines for exposing cues, and begin updating it dynamically as necessary. 6. Set the new [16834]text track's [16835]readiness state to [16836]loaded. 7. Set the new [16837]text track's [16838]mode to the mode consistent with the user's preferences and the requirements of the relevant specification for the data. For instance, if there are no other active subtitles, and this is a forced subtitle track (a subtitle track giving subtitles in the audio track's primary language, but only for audio that is actually in another language), then those subtitles might be activated here. 8. Add the new [16839]text track to the [16840]media element's [16841]list of text tracks. 9. [16842]Fire an event named [16843]addtrack at the [16844]media element's [16845]textTracks attribute's [16846]TextTrackList object, using [16847]TrackEvent, with the [16848]track attribute initialized to the [16849]text track's [16850]TextTrack object.

    4.8.11.11.3 Sourcing out-of-band text tracks

    When a [16851]track element is created, it must be associated with a new [16852]text track (with its value set as defined below) and its corresponding new [16853]TextTrack object.

    The [16854]text track kind is determined from the state of the element's [16855]kind attribute according to the following table; for a state given in a cell of the first column, the [16856]kind is the string given in the second column:

    State String [16857]Subtitles [16858]subtitles [16859]Captions [16860]captions [16861]Descriptions [16862]descriptions [16863]Chapters metadata [16864]chapters [16865]Metadata [16866]metadata

    The [16867]text track label is the element's [16868]track label.

    The [16869]text track language is the element's [16870]track language, if any, or the empty string otherwise.

    As the [16871]kind, [16872]label, and [16873]srclang attributes are set, changed, or removed, the [16874]text track must update accordingly, as per the definitions above.

    Changes to the [16875]track URL are handled in the algorithm below.

    The [16876]text track readiness state is initially [16877]not loaded, and the [16878]text track mode is initially [16879]disabled.

    The [16880]text track list of cues is initially empty. It is dynamically modified when the referenced file is parsed. Associated with the list are the [16881]rules for updating the text track rendering appropriate for the format in question; for WebVTT, this is the [16882]rules for updating the display of WebVTT text tracks. [16883][WEBVTT]

    When a [16884]track element's parent element changes and the new parent is a [16885]media element, then the user agent must add the [16886]track element's corresponding [16887]text track to the [16888]media element's [16889]list of text tracks, and then [16890]queue a media element task given the [16891]media element to [16892]fire an event named [16893]addtrack at the [16894]media element's [16895]textTracks attribute's [16896]TextTrackList object, using [16897]TrackEvent, with the [16898]track attribute initialized to the [16899]text track's [16900]TextTrack object.

    When a [16901]track element's parent element changes and the old parent was a [16902]media element, then the user agent must remove the [16903]track element's corresponding [16904]text track from the [16905]media element's [16906]list of text tracks, and then [16907]queue a media element task given the [16908]media element to [16909]fire an event named [16910]removetrack at the [16911]media element's [16912]textTracks attribute's [16913]TextTrackList object, using [16914]TrackEvent, with the [16915]track attribute initialized to the [16916]text track's [16917]TextTrack object. __________________________________________________________________

    When a [16918]text track corresponding to a [16919]track element is added to a [16920]media element's [16921]list of text tracks, the user agent must [16922]queue a media element task given the [16923]media element to run the following steps for the [16924]media element: 1. If the element's [16925]blocked-on-parser flag is true, then return. 2. If the element's [16926]did-perform-automatic-track-selection flag is true, then return. 3. [16927]Honor user preferences for automatic text track selection for this element.

    When the user agent is required to honor user preferences for automatic text track selection for a [16928]media element, the user agent must run the following steps: 1. [16929]Perform automatic text track selection for [16930]subtitles and [16931]captions. 2. [16932]Perform automatic text track selection for [16933]descriptions. 3. If there are any [16934]text tracks in the [16935]media element's [16936]list of text tracks whose [16937]text track kind is [16938]chapters or [16939]metadata that correspond to [16940]track elements with a [16941]default attribute set whose [16942]text track mode is set to [16943]disabled, then set the [16944]text track mode of all such tracks to [16945]hidden. 4. Set the element's [16946]did-perform-automatic-track-selection flag to true.

    When the steps above say to perform automatic text track selection for one or more [16947]text track kinds, it means to run the following steps: 1. Let candidates be a list consisting of the [16948]text tracks in the [16949]media element's [16950]list of text tracks whose [16951]text track kind is one of the kinds that were passed to the algorithm, if any, in the order given in the [16952]list of text tracks. 2. If candidates is empty, then return. 3. If any of the [16953]text tracks in candidates have a [16954]text track mode set to [16955]showing, return. 4. If the user has expressed an interest in having a track from candidates enabled based on its [16956]text track kind, [16957]text track language, and [16958]text track label, then set its [16959]text track mode to [16960]showing. For example, the user could have set a browser preference to the effect of "I want French captions whenever possible", or "If there is a subtitle track with 'Commentary' in the title, enable it", or "If there are audio description tracks available, enable one, ideally in Swiss German, but failing that in Standard Swiss German or Standard German". Otherwise, if there are any [16961]text tracks in candidates that correspond to [16962]track elements with a [16963]default attribute set whose [16964]text track mode is set to [16965]disabled, then set the [16966]text track mode of the first such track to [16967]showing.

    When a [16968]text track corresponding to a [16969]track element experiences any of the following circumstances, the user agent must [16970]start the track processing model for that [16971]text track and its [16972]track element: * The [16973]track element is created. * The [16974]text track has its [16975]text track mode changed. * The [16976]track element's parent element changes and the new parent is a [16977]media element.

    When a user agent is to start the track processing model for a [16978]text track and its [16979]track element, it must run the following algorithm. This algorithm interacts closely with the [16980]event loop mechanism; in particular, it has a [16981]synchronous section (which is triggered as part of the [16982]event loop algorithm). The steps in that section are marked with ⌛. 1. If another occurrence of this algorithm is already running for this [16983]text track and its [16984]track element, return, letting that other algorithm take care of this element. 2. If the [16985]text track's [16986]text track mode is not set to one of [16987]hidden or [16988]showing, then return. 3. If the [16989]text track's [16990]track element does not have a [16991]media element as a parent, return. 4. Run the remainder of these steps [16992]in parallel, allowing whatever caused these steps to run to continue. 5. Top: [16993]Await a stable state. The [16994]synchronous section consists of the following steps. (The steps in the [16995]synchronous section are marked with ⌛.) 6. ⌛ Set the [16996]text track readiness state to [16997]loading. 7. ⌛ Let URL be the [16998]track URL of the [16999]track element. 8. ⌛ If the [17000]track element's parent is a [17001]media element then let corsAttributeState be the state of the parent [17002]media element's [17003]crossorigin content attribute. Otherwise, let corsAttributeState be [17004]No CORS. 9. End the [17005]synchronous section, continuing the remaining steps [17006]in parallel. 10. If URL is not the empty string, then: 1. Let request be the result of [17007]creating a potential-CORS request given URL, "track", and corsAttributeState, and with the same-origin fallback flag set. 2. Set request's [17008]client to the [17009]track element's [17010]node document's [17011]relevant settings object. 3. Set request's [17012]initiator type to "track". 4. [17013]Fetch request. The [17014]tasks [17015]queued by the fetching algorithm on the [17016]networking task source to process the data as it is being fetched must determine the type of the resource. If the type of the resource is not a supported text track format, the load will fail, as described below. Otherwise, the resource's data must be passed to the appropriate parser (e.g., the [17017]WebVTT parser) as it is received, with the [17018]text track list of cues being used for that parser's output. [17019][WEBVTT] The appropriate parser will incrementally update the [17020]text track list of cues during these [17021]networking task source [17022]tasks, as each such task is run with whatever data has been received from the network). This specification does not currently say whether or how to check the MIME types of text tracks, or whether or how to perform file type sniffing using the actual file data. Implementers differ in their intentions on this matter and it is therefore unclear what the right solution is. In the absence of any requirement here, the HTTP specifications' strict requirement to follow the Content-Type header prevails ("Content-Type specifies the media type of the underlying data." ... "If and only if the media type is not given by a Content-Type field, the recipient MAY attempt to guess the media type via inspection of its content and/or the name extension(s) of the URI used to identify the resource."). If fetching fails for any reason (network error, the server returns an error code, CORS fails, etc.), or if URL is the empty string, then [17023]queue an element task on the [17024]DOM manipulation task source given the [17025]media element to first change the [17026]text track readiness state to [17027]failed to load and then [17028]fire an event named [17029]error at the [17030]track element. If fetching does not fail, but the type of the resource is not a supported text track format, or the file was not successfully processed (e.g., the format in question is an XML format and the file contained a well-formedness error that XML requires be detected and reported to the application), then the [17031]task that is [17032]queued on the [17033]networking task source in which the aforementioned problem is found must change the [17034]text track readiness state to [17035]failed to load and [17036]fire an event named [17037]error at the [17038]track element. If fetching does not fail, and the file was successfully processed, then the final [17039]task that is [17040]queued by the [17041]networking task source, after it has finished parsing the data, must change the [17042]text track readiness state to [17043]loaded, and [17044]fire an event named [17045]load at the [17046]track element. If, while fetching is ongoing, either: + the [17047]track URL changes so that it is no longer equal to URL, while the [17048]text track mode is set to [17049]hidden or [17050]showing; or + the [17051]text track mode changes to [17052]hidden or [17053]showing, while the [17054]track URL is not equal to URL, ...then the user agent must abort [17055]fetching, discarding any pending [17056]tasks generated by that algorithm (and in particular, not adding any cues to the [17057]text track list of cues after the moment the URL changed), and then [17058]queue an element task on the [17059]DOM manipulation task source given the [17060]track element that first changes the [17061]text track readiness state to [17062]failed to load and then [17063]fires an event named [17064]error at the [17065]track element. 11. Wait until the [17066]text track readiness state is no longer set to [17067]loading. 12. Wait until the [17068]track URL is no longer equal to URL, at the same time as the [17069]text track mode is set to [17070]hidden or [17071]showing. 13. Jump to the step labeled top.

    Whenever a [17072]track element has its [17073]src attribute set, changed, or removed, the user agent must [17074]immediately empty the element's [17075]text track's [17076]text track list of cues. (This also causes the algorithm above to stop adding cues from the resource being obtained using the previously given URL, if any.)

    4.8.11.11.4 Guidelines for exposing cues in various formats as [17077]text track cues

    How a specific format's text track cues are to be interpreted for the purposes of processing by an HTML user agent is defined by that format. In the absence of such a specification, this section provides some constraints within which implementations can attempt to consistently expose such formats.

    To support the [17078]text track model of HTML, each unit of timed data is converted to a [17079]text track cue. Where the mapping of the format's features to the aspects of a [17080]text track cue as defined in this specification are not defined, implementations must ensure that the mapping is consistent with the definitions of the aspects of a [17081]text track cue as defined above, as well as with the following constraints:

    The [17082]text track cue identifier Should be set to the empty string if the format has no obvious analogue to a per-cue identifier.

    The [17083]text track cue pause-on-exit flag Should be set to false.

    4.8.11.11.5 Text track API

    (BUTTON) ✔MDN

    [17084]TextTrackList

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [Exposed=Window] interface TextTrackList : [17085]EventTarget { readonly attribute unsigned long [17086]length; [17087]getter [17088]TextTrack (unsigned long index); [17089]TextTrack? [17090]getTrackById(DOMString id);

    attribute [17091]EventHandler [17092]onchange; attribute [17093]EventHandler [17094]onaddtrack; attribute [17095]EventHandler [17096]onremovetrack; };

    media.[17097]textTracks.length

    (BUTTON) ✔MDN

    [17098]HTMLMediaElement/textTracks

    Support in all current engines.

    Firefox31+Safari6+Chrome23+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet1.0+Opera Android12.1+ Returns the number of [17099]text tracks associated with the [17100]media element (e.g. from [17101]track elements). This is the number of [17102]text tracks in the [17103]media element's [17104]list of text tracks.

    media.[17105]textTracks[ n ] Returns the [17106]TextTrack object representing the nth [17107]text track in the [17108]media element's [17109]list of text tracks.

    textTrack = media.[17110]textTracks.[17111]getTrackById(id)

    (BUTTON) ✔MDN

    [17112]TextTrackList/getTrackById

    Support in all current engines.

    Firefox31+Safari8+Chrome33+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)18Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the [17113]TextTrack object with the given identifier, or null if no track has that identifier.

    A [17114]TextTrackList object represents a dynamically updating list of [17115]text tracks in a given order.

    The textTracks attribute of [17116]media elements must return a [17117]TextTrackList object representing the [17118]TextTrack objects of the [17119]text tracks in the [17120]media element's [17121]list of text tracks, in the same order as in the [17122]list of text tracks.

    (BUTTON) ✔MDN

    [17123]TextTrackList/length

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The length attribute of a [17124]TextTrackList object must return the number of [17125]text tracks in the list represented by the [17126]TextTrackList object.

    The [17127]supported property indices of a [17128]TextTrackList object at any instant are the numbers from zero to the number of [17129]text tracks in the list represented by the [17130]TextTrackList object minus one, if any. If there are no [17131]text tracks in the list, there are no [17132]supported property indices.

    To [17133]determine the value of an indexed property of a [17134]TextTrackList object for a given index index, the user agent must return the indexth [17135]text track in the list represented by the [17136]TextTrackList object.

    The getTrackById(id) method must return the first [17137]TextTrack in the [17138]TextTrackList object whose [17139]id IDL attribute would return a value equal to the value of the id argument. When no tracks match the given argument, the method must return null. __________________________________________________________________

    (BUTTON) ✔MDN

    [17140]TextTrack

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android31+Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    enum TextTrackMode { "[17141]disabled", "[17142]hidden", "[17143]showing" }; enum TextTrackKind { "[17144]subtitles", "[17145]captions", "[17146]descriptio ns", "[17147]chapters", "[17148]metadata" };

    [Exposed=Window] interface TextTrack : [17149]EventTarget { readonly attribute [17150]TextTrackKind [17151]kind; readonly attribute DOMString [17152]label; readonly attribute DOMString [17153]language;

    readonly attribute DOMString [17154]id; readonly attribute DOMString [17155]inBandMetadataTrackDispatchType;

    attribute [17156]TextTrackMode [17157]mode;

    readonly attribute [17158]TextTrackCueList? [17159]cues; readonly attribute [17160]TextTrackCueList? [17161]activeCues;

    undefined [17162]addCue([17163]TextTrackCue cue); undefined [17164]removeCue([17165]TextTrackCue cue);

    attribute [17166]EventHandler [17167]oncuechange; };

    textTrack = media.[17168]addTextTrack(kind [, label [, language ] ]) Creates and returns a new [17169]TextTrack object, which is also added to the [17170]media element's [17171]list of text tracks.

    textTrack.[17172]kind

    (BUTTON) ✔MDN

    [17173]TextTrack/kind

    Support in all current engines.

    Firefox31+Safari6+Chrome23+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [17174]text track kind string.

    textTrack.[17175]label

    (BUTTON) ✔MDN

    [17176]TextTrack/label

    Support in all current engines.

    Firefox31+Safari6+Chrome23+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [17177]text track label, if there is one, or the empty string otherwise (indicating that a custom label probably needs to be generated from the other attributes of the object if the object is exposed to the user).

    textTrack.[17178]language

    (BUTTON) ✔MDN

    [17179]TextTrack/language

    Support in all current engines.

    Firefox31+Safari6+Chrome23+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [17180]text track language string.

    textTrack.[17181]id

    (BUTTON) ✔MDN

    [17182]TextTrack/id

    Support in all current engines.

    Firefox31+Safari8+Chrome33+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)18Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the ID of the given track.

    For in-band tracks, this is the ID that can be used with a [17183]fragment if the format supports [17184]media fragment syntax, and that can be used with the [17185]getTrackById() method.

    For [17186]TextTrack objects corresponding to [17187]track elements, this is the ID of the [17188]track element.

    textTrack.[17189]inBandMetadataTrackDispatchType

    (BUTTON) MDN

    [17190]TextTrack/inBandMetadataTrackDispatchType

    Firefox31+Safari8+ChromeNo ___________________________________________________________

    Opera?EdgeNo ___________________________________________________________

    Edge (Legacy)NoInternet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the [17191]text track in-band metadata track dispatch type string.

    textTrack.[17192]mode [ = value ]

    (BUTTON) ✔MDN

    [17193]TextTrack/mode

    Support in all current engines.

    Firefox31+Safari6+Chrome23+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android31+Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [17194]text track mode, represented by a string from the following list:

    "[17195]disabled" The [17196]text track disabled mode.

    "[17197]hidden" The [17198]text track hidden mode.

    "[17199]showing" The [17200]text track showing mode.

    Can be set, to change the mode.

    textTrack.[17201]cues

    (BUTTON) ✔MDN

    [17202]TextTrack/cues

    Support in all current engines.

    Firefox31+Safari6+Chrome23+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android31+Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [17203]text track list of cues, as a [17204]TextTrackCueList object.

    textTrack.[17205]activeCues

    (BUTTON) ✔MDN

    [17206]TextTrack/activeCues

    Support in all current engines.

    Firefox31+Safari6+Chrome23+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android31+Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [17207]text track cues from the [17208]text track list of cues that are currently active (i.e. that start before the [17209]current playback position and end after it), as a [17210]TextTrackCueList object.

    textTrack.[17211]addCue(cue)

    (BUTTON) ✔MDN

    [17212]TextTrack/addCue

    Support in all current engines.

    Firefox31+Safari6+Chrome23+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Adds the given cue to textTrack's [17213]text track list of cues.

    textTrack.[17214]removeCue(cue)

    (BUTTON) ✔MDN

    [17215]TextTrack/removeCue

    Support in all current engines.

    Firefox31+Safari6+Chrome23+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Removes the given cue from textTrack's [17216]text track list of cues.

    The addTextTrack(kind, label, language) method of [17217]media elements, when invoked, must run the following steps: 1. Create a new [17218]TextTrack object. 2. Create a new [17219]text track corresponding to the new object, and set its [17220]text track kind to kind, its [17221]text track label to label, its [17222]text track language to language, its [17223]text track readiness state to the [17224]text track loaded state, its [17225]text track mode to the [17226]text track hidden mode, and its [17227]text track list of cues to an empty list. Initially, the [17228]text track list of cues is not associated with any [17229]rules for updating the text track rendering. When a [17230]text track cue is added to it, the [17231]text track list of cues has its rules permanently set accordingly. 3. Add the new [17232]text track to the [17233]media element's [17234]list of text tracks. 4. [17235]Queue a media element task given the [17236]media element to [17237]fire an event named [17238]addtrack at the [17239]media element's [17240]textTracks attribute's [17241]TextTrackList object, using [17242]TrackEvent, with the [17243]track attribute initialized to the new [17244]text track's [17245]TextTrack object. 5. Return the new [17246]TextTrack object. __________________________________________________________________

    The kind attribute must return the [17247]text track kind of the [17248]text track that the [17249]TextTrack object represents.

    The label attribute must return the [17250]text track label of the [17251]text track that the [17252]TextTrack object represents.

    The language attribute must return the [17253]text track language of the [17254]text track that the [17255]TextTrack object represents.

    The id attribute returns the track's identifier, if it has one, or the empty string otherwise. For tracks that correspond to [17256]track elements, the track's identifier is the value of the element's [17257]id attribute, if any. For in-band tracks, the track's identifier is specified by the [17258]media resource. If the [17259]media resource is in a format that supports [17260]media fragment syntax, the identifier returned for a particular track must be the same identifier that would enable the track if used as the name of a track in the track dimension of such a [17261]fragment.

    The inBandMetadataTrackDispatchType attribute must return the [17262]text track in-band metadata track dispatch type of the [17263]text track that the [17264]TextTrack object represents.

    The mode attribute, on getting, must return the string corresponding to the [17265]text track mode of the [17266]text track that the [17267]TextTrack object represents, as defined by the following list:

    "disabled" The [17268]text track disabled mode.

    "hidden" The [17269]text track hidden mode.

    "showing" The [17270]text track showing mode.

    On setting, if the new value isn't equal to what the attribute would currently return, the new value must be processed as follows:

    If the new value is "[17271]disabled" Set the [17272]text track mode of the [17273]text track that the [17274]TextTrack object represents to the [17275]text track disabled mode.

    If the new value is "[17276]hidden" Set the [17277]text track mode of the [17278]text track that the [17279]TextTrack object represents to the [17280]text track hidden mode.

    If the new value is "[17281]showing" Set the [17282]text track mode of the [17283]text track that the [17284]TextTrack object represents to the [17285]text track showing mode.

    If the [17286]text track mode of the [17287]text track that the [17288]TextTrack object represents is not the [17289]text track disabled mode, then the cues attribute must return a [17290]live [17291]TextTrackCueList object that represents the subset of the [17292]text track list of cues of the [17293]text track that the [17294]TextTrack object represents whose [17295]end times occur at or after the [17296]earliest possible position when the script started, in [17297]text track cue order. Otherwise, it must return null. For each [17298]TextTrack object, when an object is returned, the same [17299]TextTrackCueList object must be returned each time.

    The earliest possible position when the script started is whatever the [17300]earliest possible position was the last time the [17301]event loop reached step 1.

    If the [17302]text track mode of the [17303]text track that the [17304]TextTrack object represents is not the [17305]text track disabled mode, then the activeCues attribute must return a [17306]live [17307]TextTrackCueList object that represents the subset of the [17308]text track list of cues of the [17309]text track that the [17310]TextTrack object represents whose [17311]active flag was set when the script started, in [17312]text track cue order. Otherwise, it must return null. For each [17313]TextTrack object, when an object is returned, the same [17314]TextTrackCueList object must be returned each time.

    A [17315]text track cue's active flag was set when the script started if its [17316]text track cue active flag was set the last time the [17317]event loop reached [17318]step 1. __________________________________________________________________

    The addCue(cue) method of [17319]TextTrack objects, when invoked, must run the following steps: 1. If the [17320]text track list of cues does not yet have any associated [17321]rules for updating the text track rendering, then associate the [17322]text track list of cues with the [17323]rules for updating the text track rendering appropriate to cue. 2. If [17324]text track list of cues' associated [17325]rules for updating the text track rendering are not the same [17326]rules for updating the text track rendering as appropriate for cue, then throw an [17327]"InvalidStateError" [17328]DOMException. 3. If the given cue is in a [17329]text track list of cues, then remove cue from that [17330]text track list of cues. 4. Add cue to the [17331]TextTrack object's [17332]text track's [17333]text track list of cues.

    The removeCue(cue) method of [17334]TextTrack objects, when invoked, must run the following steps: 1. If the given cue is not in the [17335]TextTrack object's [17336]text track's [17337]text track list of cues, then throw a [17338]"NotFoundError" [17339]DOMException. 2. Remove cue from the [17340]TextTrack object's [17341]text track's [17342]text track list of cues.

    In this example, an [17343]audio element is used to play a specific sound-effect from a sound file containing many sound effects. A cue is used to pause the audio, so that it ends exactly at the end of the clip, even if the browser is busy running some script. If the page had relied on script to pause the audio, then the start of the next clip might be heard if the browser was not able to run the script at the exact time specified. var sfx = new Audio(ʼsfx.wavʼ); var sounds = sfx.addTextTrack(ʼmetadataʼ);

    // add sounds we care about function addFX(start, end, name) { var cue = new VTTCue(start, end, ʼʼ); cue.id = name; cue.pauseOnExit = true; sounds.addCue(cue); } addFX(12.783, 13.612, ʼdog barkʼ); addFX(13.612, 15.091, ʼkitten mewʼ);

    function playSound(id) { sfx.currentTime = sounds.getCueById(id).startTime; sfx.play(); }

    // play a bark as soon as we can sfx.oncanplaythrough = function () { playSound(ʼdog barkʼ); } // meow when the user tries to leave, // and have the browser ask them to stay window.onbeforeunload = function (e) { playSound(ʼkitten mewʼ); e.preventDefault(); } __________________________________________________________________

    (BUTTON) ✔MDN

    [17344]TextTrackCueList

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [Exposed=Window] interface TextTrackCueList { readonly attribute unsigned long [17345]length; [17346]getter [17347]TextTrackCue (unsigned long index); [17348]TextTrackCue? [17349]getCueById(DOMString id); };

    cuelist.[17350]length Returns the number of [17351]cues in the list.

    cuelist[index] Returns the [17352]text track cue with index index in the list. The cues are sorted in [17353]text track cue order.

    cuelist.[17354]getCueById(id) Returns the first [17355]text track cue (in [17356]text track cue order) with [17357]text track cue identifier id.

    Returns null if none of the cues have the given identifier or if the argument is the empty string.

    A [17358]TextTrackCueList object represents a dynamically updating list of [17359]text track cues in a given order.

    (BUTTON) ✔MDN

    [17360]TextTrackCueList/length

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The length attribute must return the number of [17361]cues in the list represented by the [17362]TextTrackCueList object.

    The [17363]supported property indices of a [17364]TextTrackCueList object at any instant are the numbers from zero to the number of [17365]cues in the list represented by the [17366]TextTrackCueList object minus one, if any. If there are no [17367]cues in the list, there are no [17368]supported property indices.

    To [17369]determine the value of an indexed property for a given index index, the user agent must return the indexth [17370]text track cue in the list represented by the [17371]TextTrackCueList object.

    (BUTTON) ✔MDN

    [17372]TextTrackCueList/getCueById

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The getCueById(id) method, when called with an argument other than the empty string, must return the first [17373]text track cue in the list represented by the [17374]TextTrackCueList object whose [17375]text track cue identifier is id, if any, or null otherwise. If the argument is the empty string, then the method must return null. __________________________________________________________________

    (BUTTON) ✔MDN

    [17376]TextTrackCue

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [Exposed=Window] interface TextTrackCue : [17377]EventTarget { readonly attribute [17378]TextTrack? [17379]track;

    attribute DOMString [17380]id; attribute double [17381]startTime; attribute unrestricted double [17382]endTime; attribute boolean [17383]pauseOnExit;

    attribute [17384]EventHandler [17385]onenter; attribute [17386]EventHandler [17387]onexit; };

    cue.[17388]track Returns the [17389]TextTrack object to which this [17390]text track cue belongs, if any, or null otherwise.

    cue.[17391]id [ = value ] Returns the [17392]text track cue identifier.

    Can be set.

    cue.[17393]startTime [ = value ] Returns the [17394]text track cue start time, in seconds.

    Can be set.

    cue.[17395]endTime [ = value ] Returns the [17396]text track cue end time, in seconds.

    Returns positive Infinity for an [17397]unbounded text track cue.

    Can be set.

    cue.[17398]pauseOnExit [ = value ] Returns true if the [17399]text track cue pause-on-exit flag is set, false otherwise.

    Can be set.

    (BUTTON) ✔MDN

    [17400]TextTrackCue/track

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The track attribute, on getting, must return the [17401]TextTrack object of the [17402]text track in whose [17403]list of cues the [17404]text track cue that the [17405]TextTrackCue object represents finds itself, if any; or null otherwise.

    (BUTTON) ✔MDN

    [17406]TextTrackCue/id

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The id attribute, on getting, must return the [17407]text track cue identifier of the [17408]text track cue that the [17409]TextTrackCue object represents. On setting, the [17410]text track cue identifier must be set to the new value.

    (BUTTON) ✔MDN

    [17411]TextTrackCue/startTime

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The startTime attribute, on getting, must return the [17412]text track cue start time of the [17413]text track cue that the [17414]TextTrackCue object represents, in seconds. On setting, the [17415]text track cue start time must be set to the new value, interpreted in seconds; then, if the [17416]TextTrackCue object's [17417]text track cue is in a [17418]text track's [17419]list of cues, and that [17420]text track is in a [17421]media element's [17422]list of text tracks, and the [17423]media element's [17424]show poster flag is not set, then run the [17425]time marches on steps for that [17426]media element.

    (BUTTON) ✔MDN

    [17427]TextTrackCue/endTime

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The endTime attribute, on getting, must return the [17428]text track cue end time of the [17429]text track cue that the [17430]TextTrackCue object represents, in seconds or positive Infinity. On setting, if the new value is negative Infinity or a Not-a-Number (NaN) value, then throw a [17431]TypeError exception. Otherwise, the [17432]text track cue end time must be set to the new value. Then, if the [17433]TextTrackCue object's [17434]text track cue is in a [17435]text track's [17436]list of cues, and that [17437]text track is in a [17438]media element's [17439]list of text tracks, and the [17440]media element's [17441]show poster flag is not set, then run the [17442]time marches on steps for that [17443]media element.

    (BUTTON) ✔MDN

    [17444]TextTrackCue/pauseOnExit

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The pauseOnExit attribute, on getting, must return true if the [17445]text track cue pause-on-exit flag of the [17446]text track cue that the [17447]TextTrackCue object represents is set; or false otherwise. On setting, the [17448]text track cue pause-on-exit flag must be set if the new value is true, and must be unset otherwise.

    4.8.11.11.6 Event handlers for objects of the text track APIs

    The following are the [17449]event handlers that (and their corresponding [17450]event handler event types) that must be supported, as [17451]event handler IDL attributes, by all objects implementing the [17452]TextTrackList interface:

    [17453]Event handler [17454]Event handler event type onchange [17455]change onaddtrack [17456]addtrack onremovetrack [17457]removetrack

    The following are the [17458]event handlers that (and their corresponding [17459]event handler event types) that must be supported, as [17460]event handler IDL attributes, by all objects implementing the [17461]TextTrack interface:

    [17462]Event handler [17463]Event handler event type oncuechange (BUTTON) ✔MDN

    [17464]TextTrack/cuechange_event

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [17465]cuechange

    The following are the [17466]event handlers (and their corresponding [17467]event handler event types) that must be supported, as [17468]event handler IDL attributes, by all objects implementing the [17469]TextTrackCue interface:

    [17470]Event handler [17471]Event handler event type onenter (BUTTON) ✔MDN

    [17472]TextTrackCue/enter_event

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [17473]enter onexit (BUTTON) ✔MDN

    [17474]TextTrackCue/exit_event

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [17475]exit

    4.8.11.11.7 Best practices for metadata text tracks

    This section is non-normative.

    Text tracks can be used for storing data relating to the media data, for interactive or augmented views.

    For example, a page showing a sports broadcast could include information about the current score. Suppose a robotics competition was being streamed live. The image could be overlaid with the scores, as follows:

    IFRAME: [17476]data:text/html;charset=utf-8,%3C!DOCTYPE%20html%3E%0A%3Cstyle%3E %0A%20body%2C%20html%20%7B%20margin%3A%200%3B%20padding%3A%200%3B%20ove rflow%3A%20hidden%3B%20%7D%0A%20div%20%7B%20width%3A%20600px%3B%20heigh t%3A%20400px%3B%20position%3A%20relative%3B%20%7D%0A%20p%20%7B%20positi on%3A%20absolute%3B%20top%3A%200%3B%20margin%3A%200.25em%3B%20font%3A%2 0small-caps%20900%202em%20sans-serif%3B%20text-shadow%3A%20white%200%20 0%204px%3B%20%7D%0A%20span%20%7B%20display%3A%20block%3B%20%7D%0A%20.le ft%20%7B%20color%3A%20red%3B%20left%3A%200%3B%20text-align%3A%20left%3B %20%7D%0A%20.right%20%7B%20color%3A%20blue%3B%20right%3A%200%3B%20text- align%3A%20right%3B%20%7D%0A%20.middle%20%7B%20color%3A%20white%3B%20to p%3A%20auto%3B%20bottom%3A%200%3B%20left%3A%200%3B%20right%3A%200%3B%20 text-align%3A%20center%3B%20text-shadow%3A%20black%200%200%204px%3B%20% 7D%0A%20.middle%20span%20%7B%20display%3A%20inline-block%3B%20margin%3A %200%201em%3B%20font-size%3A%200.75em%3B%20text-transform%3A%20uppercas e%3B%20%7D%0A%3C%2Fstyle%3E%0A%3Cdiv%3E%0A%20%3Cimg%20src%3D%22https%3A %2F%2Fhtml.spec.whatwg.org%2Fimages%2Frobots.jpeg%22%3E%0A%20%3Cp%20cla ss%3D%22score%20left%22%3E%3Cspan%3ERed%20Alliance%3C%2Fspan%3E%20%3Csp an%3E78%3C%2Fspan%3E%3C%2Fp%3E%0A%20%3Cp%20class%3D%22score%20right%22% 3E%3Cspan%3EBlue%20Alliance%3C%2Fspan%3E%20%3Cspan%3E66%3C%2Fspan%3E%3C %2Fp%3E%0A%20%3Cp%20class%3D%22score%20middle%22%3E%3Cspan%3EQual%20Mat ch%2037%3C%2Fspan%3E%20%3Cspan%3EFriday%2014%3A21%3C%2Fspan%3E%0A%3C%2F div%3E

    In order to make the score display render correctly whenever the user seeks to an arbitrary point in the video, the metadata text track cues need to be as long as is appropriate for the score. For example, in the frame above, there would be maybe one cue that lasts the length of the match that gives the match number, one cue that lasts until the blue alliance's score changes, and one cue that lasts until the red alliance's score changes. If the video is just a stream of the live event, the time in the bottom right would presumably be automatically derived from the current video time, rather than based on a cue. However, if the video was just the highlights, then that might be given in cues also.

    The following shows what fragments of this could look like in a WebVTT file: WEBVTT

    ...

    05:10:00.000 --> 05:12:15.000 matchtype:qual matchnumber:37

    ...

    05:11:02.251 --> 05:11:17.198 red:78

    05:11:03.672 --> 05:11:54.198 blue:66

    05:11:17.198 --> 05:11:25.912 red:80

    05:11:25.912 --> 05:11:26.522 red:83

    05:11:26.522 --> 05:11:26.982 red:86

    05:11:26.982 --> 05:11:27.499 red:89

    ...

    The key here is to notice that the information is given in cues that span the length of time to which the relevant event applies. If, instead, the scores were given as zero-length (or very brief, nearly zero-length) cues when the score changes, for example saying "red+2" at 05:11:17.198, "red+3" at 05:11:25.912, etc, problems arise: primarily, seeking is much harder to implement, as the script has to walk the entire list of cues to make sure that no notifications have been missed; but also, if the cues are short it's possible the script will never see that they are active unless it listens to them specifically.

    When using cues in this manner, authors are encouraged to use the [17477]cuechange event to update the current annotations. (In particular, using the [17478]timeupdate event would be less appropriate as it would require doing work even when the cues haven't changed, and, more importantly, would introduce a higher latency between when the metadata cues become active and when the display is updated, since [17479]timeupdate events are rate-limited.)

    4.8.11.12 Identifying a track kind through a URL

    Other specifications or formats that need a [17480]URL to identify the return values of the [17481]AudioTrack [17482]kind or [17483]VideoTrack [17484]kind IDL attributes, or identify the [17485]kind of text track, must use the [17486]about:html-kind [17487]URL.

    4.8.11.13 User interface

    The controls attribute is a [17488]boolean attribute. If present, it indicates that the author has not provided a scripted controller and would like the user agent to provide its own set of controls.

    If the attribute is present, or if [17489]scripting is disabled for the [17490]media element, then the user agent should expose a user interface to the user. This user interface should include features to begin playback, pause playback, seek to an arbitrary position in the content (if the content supports arbitrary seeking), change the volume, change the display of closed captions or embedded sign-language tracks, select different audio tracks or turn on audio descriptions, and show the media content in manners more suitable to the user (e.g. fullscreen video or in an independent resizable window). Other controls may also be made available.

    Even when the attribute is absent, however, user agents may provide controls to affect playback of the media resource (e.g. play, pause, seeking, track selection, and volume controls), but such features should not interfere with the page's normal rendering. For example, such features could be exposed in the [17491]media element's context menu, platform media keys, or a remote control. The user agent may implement this simply by [17492]exposing a user interface to the user as described above (as if the [17493]controls attribute was present).

    If the user agent [17494]exposes a user interface to the user by displaying controls over the [17495]media element, then the user agent should suppress any user interaction events while the user agent is interacting with this interface. (For example, if the user clicks on a video's playback control, [17496]mousedown events and so forth would not simultaneously be fired at elements on the page.)

    Where possible (specifically, for starting, stopping, pausing, and unpausing playback, for seeking, for changing the rate of playback, for fast-forwarding or rewinding, for listing, enabling, and disabling text tracks, and for muting or changing the volume of the audio), user interface features exposed by the user agent must be implemented in terms of the DOM API described above, so that, e.g., all the same events fire.

    Features such as fast-forward or rewind must be implemented by only changing the playbackRate attribute (and not the defaultPlaybackRate attribute).

    Seeking must be implemented in terms of [17497]seeking to the requested position in the [17498]media element's [17499]media timeline. For media resources where seeking to an arbitrary position would be slow, user agents are encouraged to use the approximate-for-speed flag when seeking in response to the user manipulating an approximate position interface such as a seek bar.

    (BUTTON) ✔MDN

    [17500]HTMLMediaElement/controls

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

    The controls IDL attribute must [17501]reflect the content attribute of the same name. __________________________________________________________________

    media.[17502]volume [ = value ]

    (BUTTON) ✔MDN

    [17503]HTMLMediaElement/volume

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS🔰 3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the current playback volume, as a number in the range 0.0 to 1.0, where 0.0 is the quietest and 1.0 the loudest.

    Can be set, to change the volume.

    Throws an [17504]"IndexSizeError" [17505]DOMException if the new value is not in the range 0.0 .. 1.0.

    media.[17506]muted [ = value ]

    (BUTTON) ✔MDN

    [17507]HTMLMediaElement/muted

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns true if audio is muted, overriding the [17508]volume attribute, and false if the [17509]volume attribute is being honored.

    Can be set, to change whether the audio is muted or not.

    A [17510]media element has a playback volume, which is a fraction in the range 0.0 (silent) to 1.0 (loudest). Initially, the volume should be 1.0, but user agents may remember the last set value across sessions, on a per-site basis or otherwise, so the volume may start at other values.

    The volume IDL attribute must return the [17511]playback volume of any audio portions of the [17512]media element. On setting, if the new value is in the range 0.0 to 1.0 inclusive, the [17513]media element's [17514]playback volume must be set to the new value. If the new value is outside the range 0.0 to 1.0 inclusive, then, on setting, an [17515]"IndexSizeError" [17516]DOMException must be thrown instead.

    A [17517]media element can also be muted. If anything is muting the element, then it is muted. (For example, when the [17518]direction of playback is backwards, the element is muted.)

    The muted IDL attribute must return the value to which it was last set. When a [17519]media element is created, if the element has a [17520]muted content attribute specified, then the [17521]muted IDL attribute should be set to true; otherwise, the user agents may set the value to the user's preferred value (e.g. remembering the last set value across sessions, on a per-site basis or otherwise). While the [17522]muted IDL attribute is set to true, the [17523]media element must be [17524]muted.

    Whenever either of the values that would be returned by the [17525]volume and [17526]muted IDL attributes change, the user agent must [17527]queue a media element task given the [17528]media element to [17529]fire an event named [17530]volumechange at the [17531]media element. Then, if the [17532]media element is not [17533]allowed to play, the user agent must run the [17534]internal pause steps for the [17535]media element.

    A user agent has an associated volume locked (a boolean). Its value is [17536]implementation-defined and determines whether the [17537]playback volume takes effect.

    An element's effective media volume is determined as follows: 1. If the user has indicated that the user agent is to override the volume of the element, then return the volume desired by the user. 2. If the user agent's [17538]volume locked is true, then return the system volume. 3. If the element's audio output is [17539]muted, then return zero. 4. Let volume be the [17540]playback volume of the audio portions of the [17541]media element, in range 0.0 (silent) to 1.0 (loudest). 5. Return volume, interpreted relative to the range 0.0 to 1.0, with 0.0 being silent, and 1.0 being the loudest setting, values in between increasing in loudness. The range need not be linear. The loudest setting may be lower than the system's loudest possible setting; for example the user could have set a maximum volume.

    The muted content attribute on [17542]media elements is a [17543]boolean attribute that controls the default state of the audio output of the [17544]media resource, potentially overriding user preferences.

    (BUTTON) ✔MDN

    [17545]HTMLMediaElement/defaultMuted

    Support in all current engines. Firefox11+Safari6+Chrome15+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The defaultMuted IDL attribute must [17546]reflect the [17547]muted content attribute.

    This attribute has no dynamic effect (it only controls the default state of the element).

    This video (an advertisement) autoplays, but to avoid annoying users, it does so without sound, and allows the user to turn the sound on. The user agent can pause the video if it's unmuted without a user interaction.

    4.8.11.14 Time ranges

    (BUTTON) ✔MDN

    [17548]TimeRanges

    Support in all current engines. Firefox4+Safari3.1+Chrome6+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

    Objects implementing the [17549]TimeRanges interface represent a list of ranges (periods) of time. [Exposed=Window] interface TimeRanges { readonly attribute unsigned long [17550]length; double [17551]start(unsigned long index); double [17552]end(unsigned long index); };

    media.[17553]length

    (BUTTON) ✔MDN

    [17554]TimeRanges/length

    Support in all current engines.

    Firefox4+Safari3.1+Chrome6+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the number of ranges in the object.

    time = media.[17555]start(index)

    (BUTTON) ✔MDN

    [17556]TimeRanges/start

    Support in all current engines.

    Firefox4+Safari3.1+Chrome6+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the time for the start of the range with the given index.

    Throws an [17557]"IndexSizeError" [17558]DOMException if the index is out of range.

    time = media.[17559]end(index)

    (BUTTON) ✔MDN

    [17560]TimeRanges/end

    Support in all current engines.

    Firefox4+Safari3.1+Chrome6+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the time for the end of the range with the given index.

    Throws an [17561]"IndexSizeError" [17562]DOMException if the index is out of range.

    The length IDL attribute must return the number of ranges represented by the object.

    The start(index) method must return the position of the start of the indexth range represented by the object, in seconds measured from the start of the timeline that the object covers.

    The end(index) method must return the position of the end of the indexth range represented by the object, in seconds measured from the start of the timeline that the object covers.

    These methods must throw [17563]"IndexSizeError" [17564]DOMExceptions if called with an index argument greater than or equal to the number of ranges represented by the object.

    When a [17565]TimeRanges object is said to be a normalized TimeRanges object, the ranges it represents must obey the following criteria: * The start of a range must be greater than the end of all earlier ranges. * The start of a range must be less than or equal to the end of that same range.

    In other words, the ranges in such an object are ordered, don't overlap, and don't touch (adjacent ranges are folded into one bigger range). A range can be empty (referencing just a single moment in time), e.g. to indicate that only one frame is currently buffered in the case that the user agent has discarded the entire [17566]media resource except for the current frame, when a [17567]media element is paused.

    Ranges in a [17568]TimeRanges object must be inclusive.

    Thus, the end of a range would be equal to the start of a following adjacent (touching but not overlapping) range. Similarly, a range covering a whole timeline anchored at zero would have a start equal to zero and an end equal to the duration of the timeline.

    The timelines used by the objects returned by the [17569]buffered, [17570]seekable, and [17571]played IDL attributes of [17572]media elements must be that element's [17573]media timeline.

    4.8.11.15 The [17574]TrackEvent interface

    (BUTTON) ✔MDN

    [17575]TrackEvent

    Support in all current engines. Firefox27+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer11 __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [Exposed=Window] interface TrackEvent : [17576]Event { constructor(DOMString type, optional [17577]TrackEventInit eventInitDict = {}) ;

    readonly attribute ([17578]VideoTrack or [17579]AudioTrack or [17580]TextTrack )? [17581]track; };

    dictionary TrackEventInit : [17582]EventInit { ([17583]VideoTrack or [17584]AudioTrack or [17585]TextTrack)? track = null; };

    event.[17586]track

    (BUTTON) ✔MDN

    [17587]TrackEvent/track

    Support in all current engines.

    Firefox27+Safari6+Chrome23+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer11 ___________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the track object ([17588]TextTrack, [17589]AudioTrack, or [17590]VideoTrack) to which the event relates.

    The track attribute must return the value it was initialized to. It represents the context information for the event.

    4.8.11.16 Events summary

    This section is non-normative.

    The following events fire on [17591]media elements as part of the processing model described above:

    Event name Interface Fired when... Preconditions loadstart (BUTTON) ✔MDN

    [17592]HTMLMediaElement/loadstart_event

    Support in all current engines. Firefox6+Safari4+Chrome3+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [17593]Event The user agent begins looking for [17594]media data, as part of the [17595]resource selection algorithm. [17596]networkState equals [17597]NETWORK_LOADING progress (BUTTON) ✔MDN

    [17598]HTMLMediaElement/progress_event

    Support in all current engines. Firefox6+Safari3.1+Chrome3+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [17599]Event The user agent is fetching [17600]media data. [17601]networkState equals [17602]NETWORK_LOADING suspend (BUTTON) ✔MDN

    [17603]HTMLMediaElement/suspend_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [17604]Event The user agent is intentionally not currently fetching [17605]media data. [17606]networkState equals [17607]NETWORK_IDLE abort (BUTTON) ✔MDN

    [17608]HTMLMediaElement/abort_event

    Support in all current engines. Firefox9+Safari3.1+Chrome3+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [17609]Event The user agent stops fetching the [17610]media data before it is completely downloaded, but not due to an error. [17611]error is an object with the code [17612]MEDIA_ERR_ABORTED. [17613]networkState equals either [17614]NETWORK_EMPTY or [17615]NETWORK_IDLE, depending on when the download was aborted. error (BUTTON) ✔MDN

    [17616]HTMLMediaElement/error_event

    Support in all current engines. Firefox6+Safari3.1+Chrome3+ __________________________________________________________________

    Opera11.6+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android?Samsung Internet?Opera Android12+ [17617]Event An error occurs while fetching the [17618]media data or the type of the resource is not a supported media format. [17619]error is an object with the code [17620]MEDIA_ERR_NETWORK or higher. [17621]networkState equals either [17622]NETWORK_EMPTY or [17623]NETWORK_IDLE, depending on when the download was aborted. emptied (BUTTON) ✔MDN

    [17624]HTMLMediaElement/emptied_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [17625]Event A [17626]media element whose [17627]networkState was previously not in the [17628]NETWORK_EMPTY state has just switched to that state (either because of a fatal error during load that's about to be reported, or because the [17629]load() method was invoked while the [17630]resource selection algorithm was already running). [17631]networkState is [17632]NETWORK_EMPTY; all the IDL attributes are in their initial states. stalled (BUTTON) ✔MDN

    [17633]HTMLMediaElement/stalled_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [17634]Event The user agent is trying to fetch [17635]media data, but data is unexpectedly not forthcoming. [17636]networkState is [17637]NETWORK_LOADING. loadedmetadata (BUTTON) ✔MDN

    [17638]HTMLMediaElement/loadedmetadata_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [17639]Event The user agent has just determined the duration and dimensions of the [17640]media resource and [17641]the text tracks are ready. [17642]readyState is newly equal to [17643]HAVE_METADATA or greater for the first time. loadeddata (BUTTON) ✔MDN

    [17644]HTMLMediaElement/loadeddata_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [17645]Event The user agent can render the [17646]media data at the [17647]current playback position for the first time. [17648]readyState newly increased to [17649]HAVE_CURRENT_DATA or greater for the first time. canplay (BUTTON) ✔MDN

    [17650]HTMLMediaElement/canplay_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [17651]Event The user agent can resume playback of the [17652]media data, but estimates that if playback were to be started now, the [17653]media resource could not be rendered at the current playback rate up to its end without having to stop for further buffering of content. [17654]readyState newly increased to [17655]HAVE_FUTURE_DATA or greater. canplaythrough (BUTTON) ✔MDN

    [17656]HTMLMediaElement/canplaythrough_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [17657]Event The user agent estimates that if playback were to be started now, the [17658]media resource could be rendered at the current playback rate all the way to its end without having to stop for further buffering. [17659]readyState is newly equal to [17660]HAVE_ENOUGH_DATA. playing (BUTTON) ✔MDN

    [17661]HTMLMediaElement/playing_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [17662]Event Playback is ready to start after having been paused or delayed due to lack of [17663]media data. [17664]readyState is newly greater than or equal to [17665]HAVE_FUTURE_DATA and [17666]paused is false, or [17667]paused is newly false and [17668]readyState is greater than or equal to [17669]HAVE_FUTURE_DATA. Even if this event fires, the element might still not be [17670]potentially playing, e.g. if the element is [17671]paused for user interaction or [17672]paused for in-band content. waiting (BUTTON) ✔MDN

    [17673]HTMLMediaElement/waiting_event

    Support in all current engines. Firefox6+Safari3.1+Chrome3+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ [17674]Event Playback has stopped because the next frame is not available, but the user agent expects that frame to become available in due course. [17675]readyState is less than or equal to [17676]HAVE_CURRENT_DATA, and [17677]paused is false. Either [17678]seeking is true, or the [17679]current playback position is not contained in any of the ranges in [17680]buffered. It is possible for playback to stop for other reasons without [17681]paused being false, but those reasons do not fire this event (and when those situations resolve, a separate [17682]playing event is not fired either): e.g., [17683]playback has ended, or playback [17684]stopped due to errors, or the element has [17685]paused for user interaction or [17686]paused for in-band content. seeking (BUTTON) ✔MDN

    [17687]HTMLMediaElement/seeking_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [17688]Event The [17689]seeking IDL attribute changed to true, and the user agent has started seeking to a new position. seeked (BUTTON) ✔MDN

    [17690]HTMLMediaElement/seeked_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [17691]Event The [17692]seeking IDL attribute changed to false after the [17693]current playback position was changed. ended (BUTTON) ✔MDN

    [17694]HTMLMediaElement/ended_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [17695]Event Playback has stopped because the end of the [17696]media resource was reached. [17697]currentTime equals the end of the [17698]media resource; [17699]ended is true. durationchange (BUTTON) ✔MDN

    [17700]HTMLMediaElement/durationchange_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [17701]Event The [17702]duration attribute has just been updated. timeupdate (BUTTON) ✔MDN

    [17703]HTMLMediaElement/timeupdate_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [17704]Event The [17705]current playback position changed as part of normal playback or in an especially interesting way, for example discontinuously. play (BUTTON) ✔MDN

    [17706]HTMLMediaElement/play_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [17707]Event The element is no longer paused. Fired after the [17708]play() method has returned, or when the [17709]autoplay attribute has caused playback to begin. [17710]paused is newly false. pause (BUTTON) ✔MDN

    [17711]HTMLMediaElement/pause_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [17712]Event The element has been paused. Fired after the [17713]pause() method has returned. [17714]paused is newly true. ratechange (BUTTON) ✔MDN

    [17715]HTMLMediaElement/ratechange_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [17716]Event Either the [17717]defaultPlaybackRate or the [17718]playbackRate attribute has just been updated. resize [17719]Event One or both of the [17720]videoWidth and [17721]videoHeight attributes have just been updated. [17722]Media element is a [17723]video element; [17724]readyState is not [17725]HAVE_NOTHING volumechange (BUTTON) ✔MDN

    [17726]HTMLMediaElement/volumechange_event

    Support in all current engines. Firefox6+Safari3.1+Chrome3+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ [17727]Event Either the [17728]volume attribute or the [17729]muted attribute has changed. Fired after the relevant attribute's setter has returned.

    The following event fires on [17730]source elements:

    Event name Interface Fired when... error [17731]Event An error occurs while fetching the [17732]media data or the type of the resource is not a supported media format.

    The following events fire on [17733]AudioTrackList, [17734]VideoTrackList, and [17735]TextTrackList objects:

    Event name Interface Fired when... change (BUTTON) ✔MDN

    [17736]AudioTrackList/change_event

    Support in all current engines. Firefox🔰 33+Safari7+Chrome🔰 37+ __________________________________________________________________

    Opera?Edge🔰 79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [17737]TextTrackList/change_event

    Support in all current engines. Firefox31+Safari7+Chrome33+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)18Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android4.4+Samsung Internet?Opera Android?

    [17738]VideoTrackList/change_event

    Support in all current engines. Firefox🔰 33+Safari7+Chrome🔰 37+ __________________________________________________________________

    Opera?Edge🔰 79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [17739]Event One or more tracks in the track list have been enabled or disabled. addtrack (BUTTON) ✔MDN

    [17740]AudioTrackList/addtrack_event

    Support in all current engines. Firefox🔰 33+Safari7+Chrome🔰 37+ __________________________________________________________________

    Opera?Edge🔰 79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [17741]TextTrackList/addtrack_event

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer11 __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [17742]VideoTrackList/addtrack_event

    Support in all current engines. Firefox🔰 33+Safari7+Chrome🔰 37+ __________________________________________________________________

    Opera?Edge🔰 79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [17743]TrackEvent A track has been added to the track list. removetrack (BUTTON) ✔MDN

    [17744]AudioTrackList/removetrack_event

    Support in all current engines. Firefox🔰 33+Safari7+Chrome🔰 37+ __________________________________________________________________

    Opera?Edge🔰 79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [17745]TextTrackList/removetrack_event

    Support in all current engines. Firefox31+Safari7+Chrome33+ __________________________________________________________________

    Opera20+Edge79+ __________________________________________________________________

    Edge (Legacy)18Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android4.4+Samsung Internet?Opera Android20+

    [17746]VideoTrackList/removetrack_event

    Support in all current engines. Firefox🔰 33+Safari7+Chrome🔰 37+ __________________________________________________________________

    Opera?Edge🔰 79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [17747]TrackEvent A track has been removed from the track list.

    The following event fires on [17748]TextTrack objects and [17749]track elements:

    Event name Interface Fired when... cuechange (BUTTON) ✔MDN

    [17750]HTMLTrackElement/cuechange_event

    Support in all current engines. Firefox68+Safari10+Chrome32+ __________________________________________________________________

    Opera19+Edge79+ __________________________________________________________________

    Edge (Legacy)14+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android4.4.3+Samsung Internet?Opera Android19+

    [17751]TextTrack/cuechange_event

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [17752]Event One or more cues in the track have become active or stopped being active.

    The following events fire on [17753]track elements:

    Event name Interface Fired when... error [17754]Event An error occurs while fetching the track data or the type of the resource is not supported text track format. load [17755]Event A track data has been fetched and successfully processed.

    The following events fire on [17756]TextTrackCue objects:

    Event name Interface Fired when... enter (BUTTON) ✔MDN

    [17757]TextTrackCue/enter_event

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [17758]Event The cue has become active. exit (BUTTON) ✔MDN

    [17759]TextTrackCue/exit_event

    Support in all current engines. Firefox31+Safari6+Chrome23+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [17760]Event The cue has stopped being active.

    4.8.11.17 Security and privacy considerations

    The main security and privacy implications of the [17761]video and [17762]audio elements come from the ability to embed media cross-origin. There are two directions that threats can flow: from hostile content to a victim page, and from a hostile page to victim content. __________________________________________________________________

    If a victim page embeds hostile content, the threat is that the content might contain scripted code that attempts to interact with the [17763]Document that embeds the content. To avoid this, user agents must ensure that there is no access from the content to the embedding page. In the case of media content that uses DOM concepts, the embedded content must be treated as if it was in its own unrelated [17764]top-level traversable.

    For instance, if an SVG animation was embedded in a [17765]video element, the user agent would not give it access to the DOM of the outer page. From the perspective of scripts in the SVG resource, the SVG file would appear to be in a lone top-level traversable with no parent. __________________________________________________________________

    If a hostile page embeds victim content, the threat is that the embedding page could obtain information from the content that it would not otherwise have access to. The API does expose some information: the existence of the media, its type, its duration, its size, and the performance characteristics of its host. Such information is already potentially problematic, but in practice the same information can more or less be obtained using the [17766]img element, and so it has been deemed acceptable.

    However, significantly more sensitive information could be obtained if the user agent further exposes metadata within the content, such as subtitles. That information is therefore only exposed if the video resource uses CORS. The [17767]crossorigin attribute allows authors to enable CORS. [17768][FETCH]

    Without this restriction, an attacker could trick a user running within a corporate network into visiting a site that attempts to load a video from a previously leaked location on the corporation's intranet. If such a video included confidential plans for a new product, then being able to read the subtitles would present a serious confidentiality breach.

    4.8.11.18 Best practices for authors using media elements

    This section is non-normative.

    Playing audio and video resources on small devices such as set-top boxes or mobile phones is often constrained by limited hardware resources in the device. For example, a device might only support three simultaneous videos. For this reason, it is a good practice to release resources held by [17769]media elements when they are done playing, either by being very careful about removing all references to the element and allowing it to be garbage collected, or, even better, by setting the element's [17770]src attribute to an empty string. In cases where [17771]srcObject was set, instead set the [17772]srcObject to null.

    Similarly, when the playback rate is not exactly 1.0, hardware, software, or format limitations can cause video frames to be dropped and audio to be choppy or muted.

    4.8.11.19 Best practices for implementers of media elements

    This section is non-normative.

    How accurately various aspects of the [17773]media element API are implemented is considered a quality-of-implementation issue.

    For example, when implementing the [17774]buffered attribute, how precise an implementation reports the ranges that have been buffered depends on how carefully the user agent inspects the data. Since the API reports ranges as times, but the data is obtained in byte streams, a user agent receiving a variable-bitrate stream might only be able to determine precise times by actually decoding all of the data. User agents aren't required to do this, however; they can instead return estimates (e.g. based on the average bitrate seen so far) which get revised as more information becomes available.

    As a general rule, user agents are urged to be conservative rather than optimistic. For example, it would be bad to report that everything had been buffered when it had not.

    Another quality-of-implementation issue would be playing a video backwards when the codec is designed only for forward playback (e.g. there aren't many key frames, and they are far apart, and the intervening frames only have deltas from the previous frame). User agents could do a poor job, e.g. only showing key frames; however, better implementations would do more work and thus do a better job, e.g. actually decoding parts of the video forwards, storing the complete frames, and then playing the frames backwards.

    Similarly, while implementations are allowed to drop buffered data at any time (there is no requirement that a user agent keep all the media data obtained for the lifetime of the media element), it is again a quality of implementation issue: user agents with sufficient resources to keep all the data around are encouraged to do so, as this allows for a better user experience. For example, if the user is watching a live stream, a user agent could allow the user only to view the live video; however, a better user agent would buffer everything and allow the user to seek through the earlier material, pause it, play it forwards and backwards, etc. __________________________________________________________________

    When a [17775]media element that is paused is [17776]removed from a document and not reinserted before the next time the [17777]event loop reaches [17778]step 1, implementations that are resource constrained are encouraged to take that opportunity to release all hardware resources (like video planes, networking resources, and data buffers) used by the [17779]media element. (User agents still have to keep track of the playback position and so forth, though, in case playback is later restarted.)

    4.8.12 The map element

    (BUTTON) ✔MDN

    [17780]Element/map

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android4+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    (BUTTON) ✔MDN

    [17781]HTMLMapElement

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [17782]Categories: [17783]Flow content. [17784]Phrasing content. [17785]Palpable content.

    [17786]Contexts in which this element can be used: Where [17787]phrasing content is expected.

    [17788]Content model: [17789]Transparent.

    [17790]Tag omission in text/html: Neither tag is omissible.

    [17791]Content attributes: [17792]Global attributes [17793]name — Name of [17794]image map to [17795]reference from the [17796]usemap attribute

    [17797]Accessibility considerations: [17798]For authors. [17799]For implementers.

    [17800]DOM interface:

    [Exposed=Window] interface HTMLMapElement : [17801]HTMLElement { [[17802]HTMLConstructor] constructor();

    [[17803]CEReactions] attribute DOMString [17804]name; [SameObject] readonly attribute [17805]HTMLCollection [17806]areas; };

    The [17807]map element, in conjunction with an [17808]img element and any [17809]area element descendants, defines an [17810]image map. The element [17811]represents its children.

    The name attribute gives the map a name so that it can be [17812]referenced. The attribute must be present and must have a non-empty value with no [17813]ASCII whitespace. The value of the [17814]name attribute must not be equal to the value of the [17815]name attribute of another [17816]map element in the same [17817]tree. If the [17818]id attribute is also specified, both attributes must have the same value.

    map.[17819]areas Returns an [17820]HTMLCollection of the [17821]area elements in the [17822]map.

    The areas attribute must return an [17823]HTMLCollection rooted at the [17824]map element, whose filter matches only [17825]area elements.

    The IDL attribute name must [17826]reflect the content attribute of the same name.

    Image maps can be defined in conjunction with other content on the page, to ease maintenance. This example is of a page with an image map at the top of the page and a corresponding set of text links at the bottom. Babies™: Toys

    Toys

    Babies™ navigation menu. Select a department to go to its page.
    ...

    4.8.13 The area element

    (BUTTON) ✔MDN

    [17827]Element/area

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    (BUTTON) ✔MDN

    [17828]HTMLAreaElement

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [17829]Categories: [17830]Flow content. [17831]Phrasing content.

    [17832]Contexts in which this element can be used: Where [17833]phrasing content is expected, but only if there is a [17834]map element ancestor.

    [17835]Content model: [17836]Nothing.

    [17837]Tag omission in text/html: No [17838]end tag.

    [17839]Content attributes: [17840]Global attributes [17841]alt — Replacement text for use when images are not available [17842]coords — Coordinates for the shape to be created in an [17843]image map [17844]shape — The kind of shape to be created in an [17845]image map [17846]href — Address of the [17847]hyperlink [17848]target — [17849]Navigable for [17850]hyperlink [17851]navigation [17852]download — Whether to download the resource instead of navigating to it, and its filename if so [17853]ping — [17854]URLs to ping [17855]rel — Relationship between the location in the document containing the [17856]hyperlink and the destination resource [17857]referrerpolicy — [17858]Referrer policy for [17859]fetches initiated by the element

    [17860]Accessibility considerations: If the element has an [17861]href attribute: [17862]for authors; [17863]for implementers. Otherwise: [17864]for authors; [17865]for implementers.

    [17866]DOM interface:

    [Exposed=Window] interface HTMLAreaElement : [17867]HTMLElement { [[17868]HTMLConstructor] constructor();

    [[17869]CEReactions] attribute DOMString [17870]alt; [[17871]CEReactions] attribute DOMString [17872]coords; [[17873]CEReactions] attribute DOMString [17874]shape; [[17875]CEReactions] attribute DOMString [17876]target; [[17877]CEReactions] attribute DOMString [17878]download; [[17879]CEReactions] attribute USVString [17880]ping; [[17881]CEReactions] attribute DOMString [17882]rel; [SameObject, PutForwards=[17883]value] readonly attribute [17884]DOMTokenList [17885]relList; [[17886]CEReactions] attribute DOMString [17887]referrerPolicy;

    // [17888]also has obsolete members }; [17889]HTMLAreaElement includes [17890]HTMLHyperlinkElementUtils;

    The [17891]area element [17892]represents either a hyperlink with some text and a corresponding area on an [17893]image map, or a dead area on an image map.

    An [17894]area element with a parent node must have a [17895]map element ancestor.

    If the [17896]area element has an [17897]href attribute, then the [17898]area element represents a [17899]hyperlink. In this case, the alt attribute must be present. It specifies the text of the hyperlink. Its value must be text that, when presented with the texts specified for the other hyperlinks of the [17900]image map, and with the alternative text of the image, but without the image itself, provides the user with the same kind of choice as the hyperlink would when used without its text but with its shape applied to the image. The [17901]alt attribute may be left blank if there is another [17902]area element in the same [17903]image map that points to the same resource and has a non-blank [17904]alt attribute.

    If the [17905]area element has no [17906]href attribute, then the area represented by the element cannot be selected, and the [17907]alt attribute must be omitted.

    In both cases, the [17908]shape and [17909]coords attributes specify the area.

    The shape attribute is an [17910]enumerated attribute with the following keywords and states:

    Keyword Conforming State Brief description circle [17911]Circle state Designates a circle, using exactly three integers in the [17912]coords attribute. circ No default [17913]Default state This area is the whole image. (The [17914]coords attribute is not used.) poly [17915]Polygon state Designates a polygon, using at-least six integers in the [17916]coords attribute. polygon No rect [17917]Rectangle state Designates a rectangle, using exactly four integers in the [17918]coords attribute. rectangle No

    The attribute's [17919]missing value default and [17920]invalid value default are both the [17921]rectangle state.

    The coords attribute must, if specified, contain a [17922]valid list of floating-point numbers. This attribute gives the coordinates for the shape described by the [17923]shape attribute. The processing for this attribute is described as part of the [17924]image map processing model.

    In the circle state, [17925]area elements must have a [17926]coords attribute present, with three integers, the last of which must be non-negative. The first integer must be the distance in [17927]CSS pixels from the left edge of the image to the center of the circle, the second integer must be the distance in [17928]CSS pixels from the top edge of the image to the center of the circle, and the third integer must be the radius of the circle, again in [17929]CSS pixels.

    In the default state, [17930]area elements must not have a [17931]coords attribute. (The area is the whole image.)

    In the polygon state, [17932]area elements must have a [17933]coords attribute with at least six integers, and the number of integers must be even. Each pair of integers must represent a coordinate given as the distances from the left and the top of the image in [17934]CSS pixels respectively, and all the coordinates together must represent the points of the polygon, in order.

    In the rectangle state, [17935]area elements must have a [17936]coords attribute with exactly four integers, the first of which must be less than the third, and the second of which must be less than the fourth. The four points must represent, respectively, the distance from the left edge of the image to the left side of the rectangle, the distance from the top edge to the top side, the distance from the left edge to the right side, and the distance from the top edge to the bottom side, all in [17937]CSS pixels.

    When user agents allow users to [17938]follow hyperlinks or [17939]download hyperlinks created using the [17940]area element, the [17941]href, [17942]target, [17943]download, and [17944]ping attributes decide how the link is followed. The [17945]rel attribute may be used to indicate to the user the likely nature of the target resource before the user follows the link.

    The [17946]target, [17947]download, [17948]ping, [17949]rel, and [17950]referrerpolicy attributes must be omitted if the [17951]href attribute is not present.

    If the [17952]itemprop attribute is specified on an [17953]area element, then the [17954]href attribute must also be specified.

    (BUTTON) ✔MDN

    [17955]HTMLAreaElement/rel

    Support in all current engines. Firefox30+Safari9+Chrome54+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer11 __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The IDL attributes alt, coords, shape, target, download, ping, and rel, each must [17956]reflect the respective content attributes of the same name.

    (BUTTON) ✔MDN

    [17957]HTMLAreaElement/relList

    Support in all current engines. Firefox30+Safari9+Chrome65+ __________________________________________________________________

    Opera41+Edge79+ __________________________________________________________________

    Edge (Legacy)18Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android41+

    The IDL attribute relList must [17958]reflect the [17959]rel content attribute.

    (BUTTON) ✔MDN

    [17960]HTMLAreaElement/referrerPolicy

    Support in all current engines. Firefox50+Safari14.1+Chrome52+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The IDL attribute referrerPolicy must [17961]reflect the [17962]referrerpolicy content attribute, [17963]limited to only known values.

    4.8.14 Image maps

    4.8.14.1 Authoring

    An image map allows geometric areas on an image to be associated with [17964]hyperlinks.

    An image, in the form of an [17965]img element, may be associated with an image map (in the form of a [17966]map element) by specifying a usemap attribute on the [17967]img element. The [17968]usemap attribute, if specified, must be a [17969]valid hash-name reference to a [17970]map element.

    Consider an image that looks as follows:

    A line with four shapes in it, equally spaced: a red hollow box, a green circle, a blue triangle, and a yellow four-pointed star.

    If we wanted just the colored areas to be clickable, we could do it as follows:

    Please select a shape: Four shapes are available: a red hollow box, a green circle, a blue t
riangle, and a yellow four-pointed star. Red box. Green circle. Blue tr
iangle. Yellow star.

    4.8.14.2 Processing model

    If an [17971]img element has a [17972]usemap attribute specified, user agents must process it as follows: 1. Parse the attribute's value using the [17973]rules for parsing a hash-name reference to a [17974]map element, with the element as the context node. This will return either an element (the map) or null. 2. If that returned null, then return. The image is not associated with an image map after all. 3. Otherwise, the user agent must collect all the [17975]area elements that are descendants of the map. Let those be the areas.

    Having obtained the list of [17976]area elements that form the image map (the areas), interactive user agents must process the list in one of two ways.

    If the user agent intends to show the text that the [17977]img element represents, then it must use the following steps. 1. Remove all the [17978]area elements in areas that have no [17979]href attribute. 2. Remove all the [17980]area elements in areas that have no [17981]alt attribute, or whose [17982]alt attribute's value is the empty string, if there is another [17983]area element in areas with the same value in the [17984]href attribute and with a non-empty [17985]alt attribute. 3. Each remaining [17986]area element in areas represents a [17987]hyperlink. Those hyperlinks should all be made available to the user in a manner associated with the text of the [17988]img. In this context, user agents may represent [17989]area and [17990]img elements with no specified alt attributes, or whose alt attributes are the empty string or some other non-visible text, in an [17991]implementation-defined fashion intended to indicate the lack of suitable author-provided text.

    If the user agent intends to show the image and allow interaction with the image to select hyperlinks, then the image must be associated with a set of layered shapes, taken from the [17992]area elements in areas, in reverse [17993]tree order (so the last specified [17994]area element in the map is the bottom-most shape, and the first element in the map, in [17995]tree order, is the top-most shape).

    Each [17996]area element in areas must be processed as follows to obtain a shape to layer onto the image: 1. Find the state that the element's [17997]shape attribute represents. 2. Use the [17998]rules for parsing a list of floating-point numbers to parse the element's [17999]coords attribute, if it is present, and let the result be the coords list. If the attribute is absent, let the coords list be the empty list. 3. If the number of items in the coords list is less than the minimum number given for the [18000]area element's current state, as per the following table, then the shape is empty; return.

    State Minimum number of items [18001]Circle state 3 [18002]Default state 0 [18003]Polygon state 6 [18004]Rectangle state 4 4. Check for excess items in the coords list as per the entry in the following list corresponding to the [18005]shape attribute's state:

    [18006]Circle state Drop any items in the list beyond the third.

    [18007]Default state Drop all items in the list.

    [18008]Polygon state Drop the last item if there's an odd number of items.

    [18009]Rectangle state Drop any items in the list beyond the fourth.

    5. If the [18010]shape attribute represents the [18011]rectangle state, and the first number in the list is numerically greater than the third number in the list, then swap those two numbers around. 6. If the [18012]shape attribute represents the [18013]rectangle state, and the second number in the list is numerically greater than the fourth number in the list, then swap those two numbers around. 7. If the [18014]shape attribute represents the [18015]circle state, and the third number in the list is less than or equal to zero, then the shape is empty; return. 8. Now, the shape represented by the element is the one described for the entry in the list below corresponding to the state of the [18016]shape attribute:

    [18017]Circle state Let x be the first number in coords, y be the second number, and r be the third number.

    The shape is a circle whose center is x [18018]CSS pixels from the left edge of the image and y [18019]CSS pixels from the top edge of the image, and whose radius is r [18020]CSS pixels.

    [18021]Default state The shape is a rectangle that exactly covers the entire image.

    [18022]Polygon state Let x[i] be the (2i)th entry in coords, and y[i] be the (2i+1)th entry in coords (the first entry in coords being the one with index 0).

    Let the coordinates be (x[i], y[i]), interpreted in [18023]CSS pixels measured from the top left of the image, for all integer values of i from 0 to (N/2)-1, where N is the number of items in coords.

    The shape is a polygon whose vertices are given by the coordinates, and whose interior is established using the even-odd rule. [18024][GRAPHICS]

    [18025]Rectangle state Let x[1] be the first number in coords, y[1] be the second number, x[2] be the third number, and y[2] be the fourth number.

    The shape is a rectangle whose top-left corner is given by the coordinate (x[1], y[1]) and whose bottom right corner is given by the coordinate (x[2], y[2]), those coordinates being interpreted as [18026]CSS pixels from the top left corner of the image.

    For historical reasons, the coordinates must be interpreted relative to the displayed image after any stretching caused by the CSS [18027]'width' and [18028]'height' properties (or, for non-CSS browsers, the image element's width and height attributes — CSS browsers map those attributes to the aforementioned CSS properties). Browser zoom features and transforms applied using CSS or SVG do not affect the coordinates.

    Pointing device interaction with an image associated with a set of layered shapes per the above algorithm must result in the relevant user interaction events being first fired to the top-most shape covering the point that the pointing device indicated, if any, or to the image element itself, if there is no shape covering that point. User agents may also allow individual [18029]area elements representing [18030]hyperlinks to be selected and activated (e.g. using a keyboard).

    Because a [18031]map element (and its [18032]area elements) can be associated with multiple [18033]img elements, it is possible for an [18034]area element to correspond to multiple [18035]focusable areas of the document.

    Image maps are [18036]live; if the DOM is mutated, then the user agent must act as if it had rerun the algorithms for image maps.

    4.8.15 MathML

    (BUTTON) ✔MDN

    [18037]HTML/HTML5/HTML5_Parser#Inline_SVG_and_MathML_support

    Support in all current engines. Firefox4+Safari5.1+Chrome7+ __________________________________________________________________

    Opera11.6+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android5+Safari iOS5+Chrome Android18+WebView Android3+Samsung Internet1.0+Opera Android12+

    The [18038]MathML math element falls into the [18039]embedded content, [18040]phrasing content, [18041]flow content, and [18042]palpable content categories for the purposes of the content models in this specification.

    When the [18043]MathML annotation-xml element contains elements from the [18044]HTML namespace, such elements must all be [18045]flow content.

    When the MathML token elements ([18046]mi, [18047]mo, [18048]mn, [18049]ms, and [18050]mtext) are descendants of HTML elements, they may contain [18051]phrasing content elements from the [18052]HTML namespace.

    User agents must handle text other than [18053]inter-element whitespace found in MathML elements whose content models do not allow straight text by pretending for the purposes of MathML content models, layout, and rendering that the text is actually wrapped in a [18054]MathML mtext element. (Such text is not, however, conforming.)

    User agents must act as if any MathML element whose contents does not match the element's content model was replaced, for the purposes of MathML layout and rendering, by a [18055]MathML merror element containing some appropriate error message.

    The semantics of MathML elements are defined by MathML and [18056]other applicable specifications. [18057][MATHML]

    Here is an example of the use of MathML in an HTML document: The quadratic formula

    The quadratic formula

    x = b ± b 2 4 a c 2 a

    4.8.16 SVG

    (BUTTON) ✔MDN

    [18058]HTML/HTML5/HTML5_Parser#Inline_SVG_and_MathML_support

    Support in all current engines. Firefox37+Safari11.1+Chrome7+ __________________________________________________________________

    Opera15+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android37+Safari iOS11.3+Chrome Android18+WebView Android4.4+Samsung Internet4+Opera Android15+

    The [18059]SVG svg element falls into the [18060]embedded content, [18061]phrasing content, [18062]flow content, and [18063]palpable content categories for the purposes of the content models in this specification.

    When the [18064]SVG foreignObject element contains elements from the [18065]HTML namespace, such elements must all be [18066]flow content.

    The content model for the [18067]SVG title element inside [18068]HTML documents is [18069]phrasing content. (This further constrains the requirements given in SVG 2.)

    The semantics of SVG elements are defined by SVG 2 and [18070]other applicable specifications. [18071][SVG] __________________________________________________________________

    doc = iframe.[18072]getSVGDocument() doc = embed.[18073]getSVGDocument() doc = object.[18074]getSVGDocument() Returns the [18075]Document object, in the case of [18076]iframe, [18077]embed, or [18078]object elements being used to embed SVG.

    The getSVGDocument() method steps are: 1. Let document be [18079]this's [18080]content document. 2. If document is non-null and was created by the [18081]page load processing model for XML files section because the [18082]computed type of the resource in the [18083]navigate algorithm was [18084]image/svg+xml, then return document. 3. Return null.

    4.8.17 Dimension attributes

    Author requirements: The width and height attributes on [18085]img, [18086]iframe, [18087]embed, [18088]object, [18089]video, [18090]source when the parent is a [18091]picture element and, when their [18092]type attribute is in the [18093]Image Button state, [18094]input elements may be specified to give the dimensions of the visual content of the element (the width and height respectively, relative to the nominal direction of the output medium), in [18095]CSS pixels. The attributes, if specified, must have values that are [18096]valid non-negative integers.

    The specified dimensions given may differ from the dimensions specified in the resource itself, since the resource may have a resolution that differs from the CSS pixel resolution. (On screens, [18097]CSS pixels have a resolution of 96ppi, but in general the CSS pixel resolution depends on the reading distance.) If both attributes are specified, then one of the following statements must be true: * specified width - 0.5 ≤ specified height * target ratio ≤ specified width + 0.5 * specified height - 0.5 ≤ specified width / target ratio ≤ specified height + 0.5 * specified height = specified width = 0

    The target ratio is the ratio of the [18098]natural width to the [18099]natural height in the resource. The specified width and specified height are the values of the [18100]width and [18101]height attributes respectively.

    The two attributes must be omitted if the resource in question does not have both a [18102]natural width and a [18103]natural height.

    If the two attributes are both 0, it indicates that the element is not intended for the user (e.g. it might be a part of a service to count page views).

    The dimension attributes are not intended to be used to stretch the image.

    User agent requirements: User agents are expected to use these attributes [18104]as hints for the rendering.

    (BUTTON) ✔MDN

    [18105]HTMLObjectElement/width

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [18106]HTMLObjectElement/height

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The width and height IDL attributes on the [18107]iframe, [18108]embed, [18109]object, [18110]source, and [18111]video elements must [18112]reflect the respective content attributes of the same name.

    For [18113]iframe, [18114]embed and [18115]object the IDL attributes are [18116]DOMString; for [18117]video and [18118]source the IDL attributes are [18119]unsigned long.

    The corresponding IDL attributes for [18120]img and [18121]input elements are defined in those respective elements' sections, as they are slightly more specific to those elements' other behaviors.

    4.9 Tabular data

    4.9.1 The table element

    (BUTTON) ✔MDN

    [18122]Element/table

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    (BUTTON) ✔MDN

    [18123]HTMLTableElement

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [18124]Categories: [18125]Flow content. [18126]Palpable content.

    [18127]Contexts in which this element can be used: Where [18128]flow content is expected.

    [18129]Content model: In this order: optionally a [18130]caption element, followed by zero or more [18131]colgroup elements, followed optionally by a [18132]thead element, followed by either zero or more [18133]tbody elements or one or more [18134]tr elements, followed optionally by a [18135]tfoot element, optionally intermixed with one or more [18136]script-supporting elements.

    [18137]Tag omission in text/html: Neither tag is omissible.

    [18138]Content attributes: [18139]Global attributes

    [18140]Accessibility considerations: [18141]For authors. [18142]For implementers.

    [18143]DOM interface:

    [Exposed=Window] interface HTMLTableElement : [18144]HTMLElement { [[18145]HTMLConstructor] constructor();

    [[18146]CEReactions] attribute [18147]HTMLTableCaptionElement? [18148]caption; [18149]HTMLTableCaptionElement [18150]createCaption(); [[18151]CEReactions] undefined [18152]deleteCaption();

    [[18153]CEReactions] attribute [18154]HTMLTableSectionElement? [18155]tHead; [18156]HTMLTableSectionElement [18157]createTHead(); [[18158]CEReactions] undefined [18159]deleteTHead();

    [[18160]CEReactions] attribute [18161]HTMLTableSectionElement? [18162]tFoot; [18163]HTMLTableSectionElement [18164]createTFoot(); [[18165]CEReactions] undefined [18166]deleteTFoot();

    [SameObject] readonly attribute [18167]HTMLCollection [18168]tBodies; [18169]HTMLTableSectionElement [18170]createTBody();

    [SameObject] readonly attribute [18171]HTMLCollection [18172]rows; [18173]HTMLTableRowElement [18174]insertRow(optional long index = -1); [[18175]CEReactions] undefined [18176]deleteRow(long index);

    // [18177]also has obsolete members };

    The [18178]table element [18179]represents data with more than one dimension, in the form of a [18180]table.

    The [18181]table element takes part in the [18182]table model. Tables have rows, columns, and cells given by their descendants. The rows and columns form a grid; a table's cells must completely cover that grid without overlap.

    Precise rules for determining whether this conformance requirement is met are described in the description of the [18183]table model.

    Authors are encouraged to provide information describing how to interpret complex tables. Guidance on how to [18184]provide such information is given below.

    Tables must not be used as layout aids. Historically, some web authors have misused tables in HTML as a way to control their page layout. This usage is non-conforming, because tools attempting to extract tabular data from such documents would obtain very confusing results. In particular, users of accessibility tools like screen readers are likely to find it very difficult to navigate pages with tables used for layout.

    There are a variety of alternatives to using HTML tables for layout, such as CSS grid layout, CSS flexible box layout ("flexbox"), CSS multi-column layout, CSS positioning, and the CSS table model. [18185][CSS] __________________________________________________________________

    Tables can be complicated to understand and navigate. To help users with this, user agents should clearly delineate cells in a table from each other, unless the user agent has classified the table as a (non-conforming) layout table.

    Authors and implementers are encouraged to consider using some of the [18186]table design techniques described below to make tables easier to navigate for users.

    User agents, especially those that do table analysis on arbitrary content, are encouraged to find heuristics to determine which tables actually contain data and which are merely being used for layout. This specification does not define a precise heuristic, but the following are suggested as possible indicators:

    Feature Indication The use of the [18187]role attribute with the value [18188]presentation Probably a layout table The use of the non-conforming [18189]border attribute with the non-conforming value 0 Probably a layout table The use of the non-conforming [18190]cellspacing and [18191]cellpadding attributes with the value 0 Probably a layout table The use of [18192]caption, [18193]thead, or [18194]th elements Probably a non-layout table The use of the [18195]headers and [18196]scope attributes Probably a non-layout table The use of the non-conforming [18197]border attribute with a value other than 0 Probably a non-layout table Explicit visible borders set using CSS Probably a non-layout table The use of the [18198]summary attribute Not a good indicator (both layout and non-layout tables have historically been given this attribute)

    It is quite possible that the above suggestions are wrong. Implementers are urged to provide feedback elaborating on their experiences with trying to create a layout table detection heuristic.

    If a [18199]table element has a (non-conforming) [18200]summary attribute, and the user agent has not classified the table as a layout table, the user agent may report the contents of that attribute to the user. __________________________________________________________________

    table.[18201]caption [ = value ]

    (BUTTON) ✔MDN

    [18202]HTMLTableElement/caption

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the table's [18203]caption element.

    Can be set, to replace the [18204]caption element.

    caption = table.[18205]createCaption()

    (BUTTON) ✔MDN

    [18206]HTMLTableElement/createCaption

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Ensures the table has a [18207]caption element, and returns it.

    table.[18208]deleteCaption()

    (BUTTON) ✔MDN

    [18209]HTMLTableElement/deleteCaption

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Ensures the table does not have a [18210]caption element.

    table.[18211]tHead [ = value ]

    (BUTTON) ✔MDN

    [18212]HTMLTableElement/tHead

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the table's [18213]thead element.

    Can be set, to replace the [18214]thead element. If the new value is not a [18215]thead element, throws a [18216]"HierarchyRequestError" [18217]DOMException.

    thead = table.[18218]createTHead()

    (BUTTON) ✔MDN

    [18219]HTMLTableElement/createTHead

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Ensures the table has a [18220]thead element, and returns it.

    table.[18221]deleteTHead()

    (BUTTON) ✔MDN

    [18222]HTMLTableElement/deleteTHead

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Ensures the table does not have a [18223]thead element.

    table.[18224]tFoot [ = value ]

    (BUTTON) ✔MDN

    [18225]HTMLTableElement/tFoot

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the table's [18226]tfoot element.

    Can be set, to replace the [18227]tfoot element. If the new value is not a [18228]tfoot element, throws a [18229]"HierarchyRequestError" [18230]DOMException.

    tfoot = table.[18231]createTFoot()

    (BUTTON) ✔MDN

    [18232]HTMLTableElement/createTFoot

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Ensures the table has a [18233]tfoot element, and returns it.

    table.[18234]deleteTFoot()

    (BUTTON) ✔MDN

    [18235]HTMLTableElement/deleteTFoot

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Ensures the table does not have a [18236]tfoot element.

    table.[18237]tBodies

    (BUTTON) ✔MDN

    [18238]HTMLTableElement/tBodies

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns an [18239]HTMLCollection of the [18240]tbody elements of the table.

    tbody = table.[18241]createTBody()

    (BUTTON) ✔MDN

    [18242]HTMLTableElement/createTBody

    Support in all current engines.

    Firefox25+Safari6+Chrome20+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Creates a [18243]tbody element, inserts it into the table, and returns it.

    table.[18244]rows

    (BUTTON) ✔MDN

    [18245]HTMLTableElement/rows

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns an [18246]HTMLCollection of the [18247]tr elements of the table.

    tr = table.[18248]insertRow([ index ])

    (BUTTON) ✔MDN

    [18249]HTMLTableElement/insertRow

    Support in all current engines.

    Firefox1+Safari4+Chrome1+ ___________________________________________________________

    Opera10+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+ Creates a [18250]tr element, along with a [18251]tbody if required, inserts them into the table at the position given by the argument, and returns the [18252]tr.

    The position is relative to the rows in the table. The index −1, which is the default if the argument is omitted, is equivalent to inserting at the end of the table.

    If the given position is less than −1 or greater than the number of rows, throws an [18253]"IndexSizeError" [18254]DOMException.

    table.[18255]deleteRow(index)

    (BUTTON) ✔MDN

    [18256]HTMLTableElement/deleteRow

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Removes the [18257]tr element with the given position in the table.

    The position is relative to the rows in the table. The index −1 is equivalent to deleting the last row of the table.

    If the given position is less than −1 or greater than the index of the last row, or if there are no rows, throws an [18258]"IndexSizeError" [18259]DOMException.

    In all of the following attribute and method definitions, when an element is to be table-created, that means to [18260]create an element given the [18261]table element's [18262]node document, the given local name, and the [18263]HTML namespace.

    The caption IDL attribute must return, on getting, the first [18264]caption element child of the [18265]table element, if any, or null otherwise. On setting, the first [18266]caption element child of the [18267]table element, if any, must be removed, and the new value, if not null, must be inserted as the first node of the [18268]table element.

    The createCaption() method must return the first [18269]caption element child of the [18270]table element, if any; otherwise a new [18271]caption element must be [18272]table-created, inserted as the first node of the [18273]table element, and then returned.

    The deleteCaption() method must remove the first [18274]caption element child of the [18275]table element, if any.

    The tHead IDL attribute must return, on getting, the first [18276]thead element child of the [18277]table element, if any, or null otherwise. On setting, if the new value is null or a [18278]thead element, the first [18279]thead element child of the [18280]table element, if any, must be removed, and the new value, if not null, must be inserted immediately before the first element in the [18281]table element that is neither a [18282]caption element nor a [18283]colgroup element, if any, or at the end of the table if there are no such elements. If the new value is neither null nor a [18284]thead element, then a [18285]"HierarchyRequestError" [18286]DOMException must be thrown instead.

    The createTHead() method must return the first [18287]thead element child of the [18288]table element, if any; otherwise a new [18289]thead element must be [18290]table-created and inserted immediately before the first element in the [18291]table element that is neither a [18292]caption element nor a [18293]colgroup element, if any, or at the end of the table if there are no such elements, and then that new element must be returned.

    The deleteTHead() method must remove the first [18294]thead element child of the [18295]table element, if any.

    The tFoot IDL attribute must return, on getting, the first [18296]tfoot element child of the [18297]table element, if any, or null otherwise. On setting, if the new value is null or a [18298]tfoot element, the first [18299]tfoot element child of the [18300]table element, if any, must be removed, and the new value, if not null, must be inserted at the end of the table. If the new value is neither null nor a [18301]tfoot element, then a [18302]"HierarchyRequestError" [18303]DOMException must be thrown instead.

    The createTFoot() method must return the first [18304]tfoot element child of the [18305]table element, if any; otherwise a new [18306]tfoot element must be [18307]table-created and inserted at the end of the table, and then that new element must be returned.

    The deleteTFoot() method must remove the first [18308]tfoot element child of the [18309]table element, if any.

    The tBodies attribute must return an [18310]HTMLCollection rooted at the [18311]table node, whose filter matches only [18312]tbody elements that are children of the [18313]table element.

    The createTBody() method must [18314]table-create a new [18315]tbody element, insert it immediately after the last [18316]tbody element child in the [18317]table element, if any, or at the end of the [18318]table element if the [18319]table element has no [18320]tbody element children, and then must return the new [18321]tbody element.

    The rows attribute must return an [18322]HTMLCollection rooted at the [18323]table node, whose filter matches only [18324]tr elements that are either children of the [18325]table element, or children of [18326]thead, [18327]tbody, or [18328]tfoot elements that are themselves children of the [18329]table element. The elements in the collection must be ordered such that those elements whose parent is a [18330]thead are included first, in [18331]tree order, followed by those elements whose parent is either a [18332]table or [18333]tbody element, again in [18334]tree order, followed finally by those elements whose parent is a [18335]tfoot element, still in [18336]tree order.

    The behavior of the insertRow(index) method depends on the state of the table. When it is called, the method must act as required by the first item in the following list of conditions that describes the state of the table and the index argument:

    If index is less than −1 or greater than the number of elements in [18337]rows collection: The method must throw an [18338]"IndexSizeError" [18339]DOMException.

    If the [18340]rows collection has zero elements in it, and the [18341]table has no [18342]tbody elements in it: The method must [18343]table-create a [18344]tbody element, then [18345]table-create a [18346]tr element, then append the [18347]tr element to the [18348]tbody element, then append the [18349]tbody element to the [18350]table element, and finally return the [18351]tr element.

    If the [18352]rows collection has zero elements in it: The method must [18353]table-create a [18354]tr element, append it to the last [18355]tbody element in the table, and return the [18356]tr element.

    If index is −1 or equal to the number of items in [18357]rows collection: The method must [18358]table-create a [18359]tr element, and append it to the parent of the last [18360]tr element in the [18361]rows collection. Then, the newly created [18362]tr element must be returned.

    Otherwise: The method must [18363]table-create a [18364]tr element, insert it immediately before the indexth [18365]tr element in the [18366]rows collection, in the same parent, and finally must return the newly created [18367]tr element.

    When the deleteRow(index) method is called, the user agent must run the following steps: 1. If index is less than −1 or greater than or equal to the number of elements in the [18368]rows collection, then throw an [18369]"IndexSizeError" [18370]DOMException. 2. If index is −1, then [18371]remove the last element in the [18372]rows collection from its parent, or do nothing if the [18373]rows collection is empty. 3. Otherwise, [18374]remove the indexth element in the [18375]rows collection from its parent.

    Here is an example of a table being used to mark up a Sudoku puzzle. Observe the lack of headers, which are not necessary in such a table.

    Todayʼs Sudoku

    1 3 6 4 7 9
    2 9 1
    7 6
    2 4 3 9 8
    5 9 7 1
    6 5 2
    7
    9 8 2 5

    4.9.1.1 Techniques for describing tables

    For tables that consist of more than just a grid of cells with headers in the first row and headers in the first column, and for any table in general where the reader might have difficulty understanding the content, authors should include explanatory information introducing the table. This information is useful for all users, but is especially useful for users who cannot see the table, e.g. users of screen readers.

    Such explanatory information should introduce the purpose of the table, outline its basic cell structure, highlight any trends or patterns, and generally teach the user how to use the table.

    For instance, the following table:

    CAPTION: Characteristics with positive and negative sides

    Negative Characteristic Positive Sad Mood Happy Failing Grade Passing

    ...might benefit from a description explaining the way the table is laid out, something like "Characteristics are given in the second column, with the negative side in the left column and the positive side in the right column".

    There are a variety of ways to include this information, such as:

    In prose, surrounding the table

    In the following table, characteristics are given in the second column, with the negative side in the left column and the positive side in the right column.

    Characteristics with positive and negative sides
    Negative Characteristic Positive
    Sad Mood Happy
    Failing Grade Passing

    In the table's [18376]caption

    Characteristics with positive and negative sides.

    Characteristics are given in the second column, with the negative side in the left column and the positive side in the right column.

    Negative Characteristic Positive
    Sad Mood Happy
    Failing Grade Passing

    In the table's [18377]caption, in a [18378]details element

    Characteristics with positive and negative sides.
    Help

    Characteristics are given in the second column, with the negative side in the left column and the positive side in the right column.

    Negative Characteristic Positive
    Sad Mood Happy
    Failing Grade Passing

    Next to the table, in the same [18379]figure

    Characteristics with positive and negative sides

    Characteristics are given in the second column, with the negative side in the left column and the positive side in the right column.

    Negative Characteristic Positive
    Sad Mood Happy
    Failing Grade Passing

    Next to the table, in a [18380]figure's [18381]figcaption

    Characteristics with positive and negative sides

    Characteristics are given in the second column, with the negative side in the left column and the positive side in the right column.

    Negative Characteristic Positive
    Sad Mood Happy
    Failing Grade Passing

    Authors may also use other techniques, or combinations of the above techniques, as appropriate.

    The best option, of course, rather than writing a description explaining the way the table is laid out, is to adjust the table such that no explanation is needed.

    In the case of the table used in the examples above, a simple rearrangement of the table so that the headers are on the top and left sides removes the need for an explanation as well as removing the need for the use of [18382]headers attributes:
    Characteristics with positive and negative sides
    Characteristic Negative Positive
    Mood Sad Happy
    Grade Failing Passing

    4.9.1.2 Techniques for table design

    Good table design is key to making tables more readable and usable.

    In visual media, providing column and row borders and alternating row backgrounds can be very effective to make complicated tables more readable.

    For tables with large volumes of numeric content, using monospaced fonts can help users see patterns, especially in situations where a user agent does not render the borders. (Unfortunately, for historical reasons, not rendering borders on tables is a common default.)

    In speech media, table cells can be distinguished by reporting the corresponding headers before reading the cell's contents, and by allowing users to navigate the table in a grid fashion, rather than serializing the entire contents of the table in source order.

    Authors are encouraged to use CSS to achieve these effects.

    User agents are encouraged to render tables using these techniques whenever the page does not use CSS and the table is not classified as a layout table.

    4.9.2 The caption element

    (BUTTON) ✔MDN

    [18383]Element/caption

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    (BUTTON) ✔MDN

    [18384]HTMLTableCaptionElement

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [18385]Categories: None.

    [18386]Contexts in which this element can be used: As the first element child of a [18387]table element.

    [18388]Content model: [18389]Flow content, but with no descendant [18390]table elements.

    [18391]Tag omission in text/html: A [18392]caption element's [18393]end tag can be omitted if the [18394]caption element is not immediately followed by [18395]ASCII whitespace or a [18396]comment.

    [18397]Content attributes: [18398]Global attributes

    [18399]Accessibility considerations: [18400]For authors. [18401]For implementers.

    [18402]DOM interface:

    [Exposed=Window] interface HTMLTableCaptionElement : [18403]HTMLElement { [[18404]HTMLConstructor] constructor();

    // [18405]also has obsolete members };

    The [18406]caption element [18407]represents the title of the [18408]table that is its parent, if it has a parent and that is a [18409]table element.

    The [18410]caption element takes part in the [18411]table model.

    When a [18412]table element is the only content in a [18413]figure element other than the [18414]figcaption, the [18415]caption element should be omitted in favor of the [18416]figcaption.

    A caption can introduce context for a table, making it significantly easier to understand.

    Consider, for instance, the following table: 1 2 3 4 5 6 1 2 3 4 5 6 7 2 3 4 5 6 7 8 3 4 5 6 7 8 9 4 5 6 7 8 9 10 5 6 7 8 9 10 11 6 7 8 9 10 11 12

    In the abstract, this table is not clear. However, with a caption giving the table's number (for [18417]reference in the main prose) and explaining its use, it makes more sense:

    Table 1.

    This table shows the total score obtained from rolling two six-sided dice. The first row represents the value of the first die, the first column the value of the second die. The total is given in the cell that corresponds to the values of the two dice.

    School auction sign-up sheet
    Your name here What are you selling? Link to a picture Your reserve price
    Ms Danus Doughnuts $45

    4.9.7 The tfoot element

    (BUTTON) ✔MDN

    [18631]Element/tfoot

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [18632]Categories: None.

    [18633]Contexts in which this element can be used: As a child of a [18634]table element, after any [18635]caption, [18636]colgroup, [18637]thead, [18638]tbody, and [18639]tr elements, but only if there are no other [18640]tfoot elements that are children of the [18641]table element.

    [18642]Content model: Zero or more [18643]tr and [18644]script-supporting elements.

    [18645]Tag omission in text/html: A [18646]tfoot element's [18647]end tag can be omitted if there is no more content in the parent element.

    [18648]Content attributes: [18649]Global attributes

    [18650]Accessibility considerations: [18651]For authors. [18652]For implementers.

    [18653]DOM interface: Uses [18654]HTMLTableSectionElement, as defined for [18655]tbody elements.

    The [18656]tfoot element [18657]represents the [18658]block of [18659]rows that consist of the column summaries (footers) for the parent [18660]table element, if the [18661]tfoot element has a parent and it is a [18662]table.

    The [18663]tfoot element takes part in the [18664]table model.

    4.9.8 The tr element

    (BUTTON) ✔MDN

    [18665]Element/tr

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    (BUTTON) ✔MDN

    [18666]HTMLTableRowElement

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [18667]Categories: None.

    [18668]Contexts in which this element can be used: As a child of a [18669]thead element. As a child of a [18670]tbody element. As a child of a [18671]tfoot element. As a child of a [18672]table element, after any [18673]caption, [18674]colgroup, and [18675]thead elements, but only if there are no [18676]tbody elements that are children of the [18677]table element.

    [18678]Content model: Zero or more [18679]td, [18680]th, and [18681]script-supporting elements.

    [18682]Tag omission in text/html: A [18683]tr element's [18684]end tag can be omitted if the [18685]tr element is immediately followed by another [18686]tr element, or if there is no more content in the parent element.

    [18687]Content attributes: [18688]Global attributes

    [18689]Accessibility considerations: [18690]For authors. [18691]For implementers.

    [18692]DOM interface:

    [Exposed=Window] interface HTMLTableRowElement : [18693]HTMLElement { [[18694]HTMLConstructor] constructor();

    readonly attribute long [18695]rowIndex; readonly attribute long [18696]sectionRowIndex; [SameObject] readonly attribute [18697]HTMLCollection [18698]cells; [18699]HTMLTableCellElement [18700]insertCell(optional long index = -1); [[18701]CEReactions] undefined [18702]deleteCell(long index);

    // [18703]also has obsolete members };

    The [18704]tr element [18705]represents a [18706]row of [18707]cells in a [18708]table.

    The [18709]tr element takes part in the [18710]table model.

    tr.[18711]rowIndex

    (BUTTON) ✔MDN

    [18712]HTMLTableRowElement/rowIndex

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the position of the row in the table's [18713]rows list.

    Returns −1 if the element isn't in a table.

    tr.[18714]sectionRowIndex Returns the position of the row in the table section's [18715]rows list.

    Returns −1 if the element isn't in a table section.

    tr.[18716]cells Returns an [18717]HTMLCollection of the [18718]td and [18719]th elements of the row.

    cell = tr.[18720]insertCell([ index ])

    (BUTTON) ✔MDN

    [18721]HTMLTableRowElement/insertCell

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Creates a [18722]td element, inserts it into the table row at the position given by the argument, and returns the [18723]td.

    The position is relative to the cells in the row. The index −1, which is the default if the argument is omitted, is equivalent to inserting at the end of the row.

    If the given position is less than −1 or greater than the number of cells, throws an [18724]"IndexSizeError" [18725]DOMException.

    tr.[18726]deleteCell(index) Removes the [18727]td or [18728]th element with the given position in the row.

    The position is relative to the cells in the row. The index −1 is equivalent to deleting the last cell of the row.

    If the given position is less than −1 or greater than the index of the last cell, or if there are no cells, throws an [18729]"IndexSizeError" [18730]DOMException.

    The rowIndex attribute must, if this element has a parent [18731]table element, or a parent [18732]tbody, [18733]thead, or [18734]tfoot element and a grandparent [18735]table element, return the index of this [18736]tr element in that [18737]table element's [18738]rows collection. If there is no such [18739]table element, then the attribute must return −1.

    The sectionRowIndex attribute must, if this element has a parent [18740]table, [18741]tbody, [18742]thead, or [18743]tfoot element, return the index of the [18744]tr element in the parent element's rows collection (for tables, that's [18745]HTMLTableElement's [18746]rows collection; for table sections, that's [18747]HTMLTableSectionElement's [18748]rows collection). If there is no such parent element, then the attribute must return −1.

    The cells attribute must return an [18749]HTMLCollection rooted at this [18750]tr element, whose filter matches only [18751]td and [18752]th elements that are children of the [18753]tr element.

    The insertCell(index) method must act as follows: 1. If index is less than −1 or greater than the number of elements in the [18754]cells collection, then throw an [18755]"IndexSizeError" [18756]DOMException. 2. Let table cell be the result of [18757]creating an element given this [18758]tr element's [18759]node document, "td", and the [18760]HTML namespace. 3. If index is equal to −1 or equal to the number of items in [18761]cells collection, then [18762]append table cell to this [18763]tr element. 4. Otherwise, [18764]insert table cell as a child of this [18765]tr element, immediately before the indexth [18766]td or [18767]th element in the [18768]cells collection. 5. Return table cell.

    The deleteCell(index) method must act as follows: 1. If index is less than −1 or greater than or equal to the number of elements in the [18769]cells collection, then throw an [18770]"IndexSizeError" [18771]DOMException. 2. If index is −1, then [18772]remove the last element in the [18773]cells collection from its parent, or do nothing if the [18774]cells collection is empty. 3. Otherwise, [18775]remove the indexth element in the [18776]cells collection from its parent.

    4.9.9 The td element

    (BUTTON) ✔MDN

    [18777]Element/td

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    (BUTTON) ✔MDN

    [18778]HTMLTableCellElement

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [18779]Categories: None.

    [18780]Contexts in which this element can be used: As a child of a [18781]tr element.

    [18782]Content model: [18783]Flow content.

    [18784]Tag omission in text/html: A [18785]td element's [18786]end tag can be omitted if the [18787]td element is immediately followed by a [18788]td or [18789]th element, or if there is no more content in the parent element.

    [18790]Content attributes: [18791]Global attributes [18792]colspan — Number of columns that the cell is to span [18793]rowspan — Number of rows that the cell is to span [18794]headers — The header cells for this cell

    [18795]Accessibility considerations: [18796]For authors. [18797]For implementers.

    [18798]DOM interface:

    [Exposed=Window] interface HTMLTableCellElement : [18799]HTMLElement { [[18800]HTMLConstructor] constructor();

    [[18801]CEReactions] attribute unsigned long [18802]colSpan; [[18803]CEReactions] attribute unsigned long [18804]rowSpan; [[18805]CEReactions] attribute DOMString [18806]headers; readonly attribute long [18807]cellIndex;

    [[18808]CEReactions] attribute DOMString [18809]scope; // only conforming for th elements [[18810]CEReactions] attribute DOMString [18811]abbr; // only conforming for th elements

    // [18812]also has obsolete members };

    The [18813]HTMLTableCellElement interface is also used for [18814]th elements.

    The [18815]td element [18816]represents a data [18817]cell in a table.

    The [18818]td element and its [18819]colspan, [18820]rowspan, and [18821]headers attributes take part in the [18822]table model.

    User agents, especially in non-visual environments or where displaying the table as a 2D grid is impractical, may give the user context for the cell when rendering the contents of a cell; for instance, giving its position in the [18823]table model, or listing the cell's header cells (as determined by the [18824]algorithm for assigning header cells). When a cell's header cells are being listed, user agents may use the value of [18825]abbr attributes on those header cells, if any, instead of the contents of the header cells themselves.

    In this example, we see a snippet of a web application consisting of a grid of editable cells (essentially a simple spreadsheet). One of the cells has been configured to show the sum of the cells above it. Three have been marked as headings, which use [18826]th elements instead of [18827]td elements. A script would attach event handlers to these elements to maintain the total.

    4.9.10 The th element

    (BUTTON) ✔MDN

    [18828]Element/th

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [18829]Categories: None.

    [18830]Contexts in which this element can be used: As a child of a [18831]tr element.

    [18832]Content model: [18833]Flow content, but with no [18834]header, [18835]footer, [18836]sectioning content, or [18837]heading content descendants.

    [18838]Tag omission in text/html: A [18839]th element's [18840]end tag can be omitted if the [18841]th element is immediately followed by a [18842]td or [18843]th element, or if there is no more content in the parent element.

    [18844]Content attributes: [18845]Global attributes [18846]colspan — Number of columns that the cell is to span [18847]rowspan — Number of rows that the cell is to span [18848]headers — The header cells for this cell [18849]scope — Specifies which cells the header cell applies to [18850]abbr — Alternative label to use for the header cell when referencing the cell in other contexts

    [18851]Accessibility considerations: [18852]For authors. [18853]For implementers.

    [18854]DOM interface: Uses [18855]HTMLTableCellElement, as defined for [18856]td elements.

    The [18857]th element [18858]represents a header [18859]cell in a table.

    The [18860]th element may have a scope content attribute specified.

    The [18861]scope attribute is an [18862]enumerated attribute with the following keywords and states:

    Keyword State Brief description row row The header cell applies to some of the subsequent cells in the same row(s). col column The header cell applies to some of the subsequent cells in the same column(s). rowgroup row group The header cell applies to all the remaining cells in the row group. colgroup column group The header cell applies to all the remaining cells in the column group.

    The attribute's [18863]missing value default and [18864]invalid value default are both the auto state. (In this state the header cell applies to a set of cells selected based on context.)

    A [18865]th element's [18866]scope attribute must not be in the [18867]row group state if the element is not anchored in a [18868]row group, nor in the [18869]column group state if the element is not anchored in a [18870]column group.

    The [18871]th element may have an abbr content attribute specified. Its value must be an alternative label for the header cell, to be used when referencing the cell in other contexts (e.g. when describing the header cells that apply to a data cell). It is typically an abbreviated form of the full header cell, but can also be an expansion, or merely a different phrasing.

    The [18872]th element and its [18873]colspan, [18874]rowspan, [18875]headers, and [18876]scope attributes take part in the [18877]table model.

    The following example shows how the [18878]scope attribute's [18879]rowgroup value affects which data cells a header cell applies to.

    Here is a markup fragment showing a table:
    ID Measurement Average Maximum
    Cats
    93 Legs 3.5 4
    10 Tails 1 1
    English speakers
    32 Legs 2.67 4
    35 Tails 0.33 1

    This would result in the following table: ID Measurement Average Maximum Cats 93 Legs 3.5 4 10 Tails 1 1 English speakers 32 Legs 2.67 4 35 Tails 0.33 1

    The headers in the first row all apply directly down to the rows in their column.

    The headers with a [18880]scope attribute in the [18881]rowgroup state apply to all the cells in their row group other than the cells in the first column.

    The remaining headers apply just to the cells to the right of them.

    4.9.11 Attributes common to [18882]td and [18883]th elements

    The [18884]td and [18885]th elements may have a colspan content attribute specified, whose value must be a [18886]valid non-negative integer greater than zero and less than or equal to 1000.

    The [18887]td and [18888]th elements may also have a rowspan content attribute specified, whose value must be a [18889]valid non-negative integer less than or equal to 65534. For this attribute, the value zero means that the cell is to span all the remaining rows in the row group.

    These attributes give the number of columns and rows respectively that the cell is to span. These attributes must not be used to overlap cells, as described in the description of the [18890]table model. __________________________________________________________________

    The [18891]td and [18892]th element may have a headers content attribute specified. The [18893]headers attribute, if specified, must contain a string consisting of an [18894]unordered set of unique space-separated tokens, none of which are [18895]identical to another token and each of which must have the value of an [18896]ID of a [18897]th element taking part in the same [18898]table as the [18899]td or [18900]th element (as defined by the [18901]table model).

    A [18902]th element with [18903]ID id is said to be directly targeted by all [18904]td and [18905]th elements in the same [18906]table that have [18907]headers attributes whose values include as one of their tokens the [18908]ID id. A [18909]th element A is said to be targeted by a [18910]th or [18911]td element B if either A is directly targeted by B or if there exists an element C that is itself targeted by the element B and A is directly targeted by C.

    A [18912]th element must not be targeted by itself.

    The [18913]colspan, [18914]rowspan, and [18915]headers attributes take part in the [18916]table model. __________________________________________________________________

    cell.[18917]cellIndex Returns the position of the cell in the row's [18918]cells list. This does not necessarily correspond to the x-position of the cell in the table, since earlier cells might cover multiple rows or columns.

    Returns −1 if the element isn't in a row.

    The colSpan IDL attribute must [18919]reflect the [18920]colspan content attribute. It is [18921]clamped to the range [1, 1000], and its [18922]default value is 1.

    The rowSpan IDL attribute must [18923]reflect the [18924]rowspan content attribute. It is [18925]clamped to the range [0, 65534], and its [18926]default value is 1.

    The headers IDL attribute must [18927]reflect the content attribute of the same name.

    The cellIndex IDL attribute must, if the element has a parent [18928]tr element, return the index of the cell's element in the parent element's [18929]cells collection. If there is no such parent element, then the attribute must return −1.

    The scope IDL attribute must [18930]reflect the content attribute of the same name, [18931]limited to only known values.

    The abbr IDL attribute must [18932]reflect the content attribute of the same name.

    4.9.12 Processing model

    The various table elements and their content attributes together define the table model.

    A table consists of cells aligned on a two-dimensional grid of slots with coordinates (x, y). The grid is finite, and is either empty or has one or more slots. If the grid has one or more slots, then the x coordinates are always in the range 0 ≤ x < x[width], and the y coordinates are always in the range 0 ≤ y < y[height]. If one or both of x[width] and y[height] are zero, then the table is empty (has no slots). Tables correspond to [18933]table elements.

    A cell is a set of slots anchored at a slot (cell[x], cell[y]), and with a particular width and height such that the cell covers all the slots with coordinates (x, y) where cell[x] ≤ x < cell[x]+width and cell[y] ≤ y < cell[y]+height. Cells can either be data cells or header cells. Data cells correspond to [18934]td elements, and header cells correspond to [18935]th elements. Cells of both types can have zero or more associated header cells.

    It is possible, in certain error cases, for two cells to occupy the same slot.

    A row is a complete set of slots from x=0 to x=x[width]-1, for a particular value of y. Rows usually correspond to [18936]tr elements, though a [18937]row group can have some implied [18938]rows at the end in some cases involving [18939]cells spanning multiple rows.

    A column is a complete set of slots from y=0 to y=y[height]-1, for a particular value of x. Columns can correspond to [18940]col elements. In the absence of [18941]col elements, columns are implied.

    A row group is a set of [18942]rows anchored at a slot (0, group[y]) with a particular height such that the row group covers all the slots with coordinates (x, y) where 0 ≤ x < x[width] and group[y] ≤ y < group[y]+height. Row groups correspond to [18943]tbody, [18944]thead, and [18945]tfoot elements. Not every row is necessarily in a row group.

    A column group is a set of [18946]columns anchored at a slot (group[x], 0) with a particular width such that the column group covers all the slots with coordinates (x, y) where group[x] ≤ x < group[x]+width and 0 ≤ y < y[height]. Column groups correspond to [18947]colgroup elements. Not every column is necessarily in a column group.

    [18948]Row groups cannot overlap each other. Similarly, [18949]column groups cannot overlap each other.

    A [18950]cell cannot cover slots that are from two or more [18951]row groups. It is, however, possible for a cell to be in multiple [18952]column groups. All the slots that form part of one cell are part of zero or one [18953]row groups and zero or more [18954]column groups.

    In addition to [18955]cells, [18956]columns, [18957]rows, [18958]row groups, and [18959]column groups, [18960]tables can have a [18961]caption element associated with them. This gives the table a heading, or legend.

    A table model error is an error with the data represented by [18962]table elements and their descendants. Documents must not have table model errors.

    4.9.12.1 Forming a table

    To determine which elements correspond to which slots in a [18963]table associated with a [18964]table element, to determine the dimensions of the table (x[width] and y[height]), and to determine if there are any [18965]table model errors, user agents must use the following algorithm: 1. Let x[width] be zero. 2. Let y[height] be zero. 3. Let pending [18966]tfoot elements be a list of [18967]tfoot elements, initially empty. 4. Let the table be the [18968]table represented by the [18969]table element. The x[width] and y[height] variables give the table's dimensions. The table is initially empty. 5. If the [18970]table element has no children elements, then return the table (which will be empty). 6. Associate the first [18971]caption element child of the [18972]table element with the table. If there are no such children, then it has no associated [18973]caption element. 7. Let the current element be the first element child of the [18974]table element. If a step in this algorithm ever requires the current element to be advanced to the next child of the table when there is no such next child, then the user agent must jump to the step labeled end, near the end of this algorithm. 8. While the current element is not one of the following elements, [18975]advance the current element to the next child of the [18976]table: + [18977]colgroup + [18978]thead + [18979]tbody + [18980]tfoot + [18981]tr 9. If the current element is a [18982]colgroup, follow these substeps: 1. Column groups: Process the current element according to the appropriate case below:

    If the current element has any [18983]col element children Follow these steps:

    1. Let x[start] have the value of x[width]. 2. Let the current column be the first [18984]col element child of the [18985]colgroup element. 3. Columns: If the current column [18986]col element has a [18987]span attribute, then parse its value using the [18988]rules for parsing non-negative integers. If the result of parsing the value is not an error or zero, then let span be that value. Otherwise, if the [18989]col element has no [18990]span attribute, or if trying to parse the attribute's value resulted in an error or zero, then let span be 1. If span is greater than 1000, let it be 1000 instead. 4. Increase x[width] by span. 5. Let the last span [18991]columns in the table correspond to the current column [18992]col element. 6. If current column is not the last [18993]col element child of the [18994]colgroup element, then let the current column be the next [18995]col element child of the [18996]colgroup element, and return to the step labeled columns. 7. Let all the last [18997]columns in the table from x=x[start] to x=x[width]-1 form a new [18998]column group, anchored at the slot (x[start], 0), with width x[width]-x[start], corresponding to the [18999]colgroup element.

    If the current element has no [19000]col element children

    1. If the [19001]colgroup element has a [19002]span attribute, then parse its value using the [19003]rules for parsing non-negative integers. If the result of parsing the value is not an error or zero, then let span be that value. Otherwise, if the [19004]colgroup element has no [19005]span attribute, or if trying to parse the attribute's value resulted in an error or zero, then let span be 1. If span is greater than 1000, let it be 1000 instead. 2. Increase x[width] by span. 3. Let the last span [19006]columns in the table form a new [19007]column group, anchored at the slot (x[width]-span, 0), with width span, corresponding to the [19008]colgroup element.

    2. [19009]Advance the current element to the next child of the [19010]table. 3. While the current element is not one of the following elements, [19011]advance the current element to the next child of the [19012]table: o [19013]colgroup o [19014]thead o [19015]tbody o [19016]tfoot o [19017]tr 4. If the current element is a [19018]colgroup element, jump to the step labeled column groups above. 10. Let y[current] be zero. 11. Let the list of downward-growing cells be an empty list. 12. Rows: While the current element is not one of the following elements, [19019]advance the current element to the next child of the [19020]table: + [19021]thead + [19022]tbody + [19023]tfoot + [19024]tr 13. If the current element is a [19025]tr, then run the [19026]algorithm for processing rows, [19027]advance the current element to the next child of the [19028]table, and return to the step labeled rows. 14. Run the [19029]algorithm for ending a row group. 15. If the current element is a [19030]tfoot, then add that element to the list of pending [19031]tfoot elements, [19032]advance the current element to the next child of the [19033]table, and return to the step labeled rows. 16. The current element is either a [19034]thead or a [19035]tbody. Run the [19036]algorithm for processing row groups. 17. [19037]Advance the current element to the next child of the [19038]table. 18. Return to the step labeled rows. 19. End: For each [19039]tfoot element in the list of pending [19040]tfoot elements, in [19041]tree order, run the [19042]algorithm for processing row groups. 20. If there exists a [19043]row or [19044]column in the table containing only [19045]slots that do not have a [19046]cell anchored to them, then this is a [19047]table model error. 21. Return the table.

    The algorithm for processing row groups, which is invoked by the set of steps above for processing [19048]thead, [19049]tbody, and [19050]tfoot elements, is: 1. Let y[start] have the value of y[height]. 2. For each [19051]tr element that is a child of the element being processed, in tree order, run the [19052]algorithm for processing rows. 3. If y[height] > y[start], then let all the last [19053]rows in the table from y=y[start] to y=y[height]-1 form a new [19054]row group, anchored at the slot with coordinate (0, y[start]), with height y[height]-y[start], corresponding to the element being processed. 4. Run the [19055]algorithm for ending a row group.

    The algorithm for ending a row group, which is invoked by the set of steps above when starting and ending a block of rows, is: 1. While y[current] is less than y[height], follow these steps: 1. Run the [19056]algorithm for growing downward-growing cells. 2. Increase y[current] by 1. 2. Empty the list of downward-growing cells.

    The algorithm for processing rows, which is invoked by the set of steps above for processing [19057]tr elements, is: 1. If y[height] is equal to y[current], then increase y[height] by 1. (y[current] is never greater than y[height].) 2. Let x[current] be 0. 3. Run the [19058]algorithm for growing downward-growing cells. 4. If the [19059]tr element being processed has no [19060]td or [19061]th element children, then increase y[current] by 1, abort this set of steps, and return to the algorithm above. 5. Let current cell be the first [19062]td or [19063]th element child in the [19064]tr element being processed. 6. Cells: While x[current] is less than x[width] and the slot with coordinate (x[current], y[current]) already has a cell assigned to it, increase x[current] by 1. 7. If x[current] is equal to x[width], increase x[width] by 1. (x[current] is never greater than x[width].) 8. If the current cell has a [19065]colspan attribute, then [19066]parse that attribute's value, and let colspan be the result. If parsing that value failed, or returned zero, or if the attribute is absent, then let colspan be 1, instead. If colspan is greater than 1000, let it be 1000 instead. 9. If the current cell has a [19067]rowspan attribute, then [19068]parse that attribute's value, and let rowspan be the result. If parsing that value failed or if the attribute is absent, then let rowspan be 1, instead. If rowspan is greater than 65534, let it be 65534 instead. 10. If rowspan is zero and the [19069]table element's [19070]node document is not set to [19071]quirks mode, then let cell grows downward be true, and set rowspan to 1. Otherwise, let cell grows downward be false. 11. If x[width] < x[current]+colspan, then let x[width] be x[current]+colspan. 12. If y[height] < y[current]+rowspan, then let y[height] be y[current]+rowspan. 13. Let the slots with coordinates (x, y) such that x[current] ≤ x < x[current]+colspan and y[current] ≤ y < y[current]+rowspan be covered by a new [19072]cell c, anchored at (x[current], y[current]), which has width colspan and height rowspan, corresponding to the current cell element. If the current cell element is a [19073]th element, let this new cell c be a header cell; otherwise, let it be a data cell. To establish which header cells apply to the current cell element, use the [19074]algorithm for assigning header cells described in the next section. If any of the slots involved already had a [19075]cell covering them, then this is a [19076]table model error. Those slots now have two cells overlapping. 14. If cell grows downward is true, then add the tuple {c, x[current], colspan} to the list of downward-growing cells. 15. Increase x[current] by colspan. 16. If current cell is the last [19077]td or [19078]th element child in the [19079]tr element being processed, then increase y[current] by 1, abort this set of steps, and return to the algorithm above. 17. Let current cell be the next [19080]td or [19081]th element child in the [19082]tr element being processed. 18. Return to the step labeled cells.

    When the algorithms above require the user agent to run the algorithm for growing downward-growing cells, the user agent must, for each {cell, cell[x], width} tuple in the list of downward-growing cells, if any, extend the [19083]cell cell so that it also covers the slots with coordinates (x, y[current]), where cell[x] ≤ x < cell[x]+width.

    4.9.12.2 Forming relationships between data cells and header cells

    Each cell can be assigned zero or more header cells. The algorithm for assigning header cells to a cell principal cell is as follows. 1. Let header list be an empty list of cells. 2. Let (principal[x], principal[y]) be the coordinate of the slot to which the principal cell is anchored. 3.

    If the principal cell has a [19084]headers attribute specified

    1. Take the value of the principal cell's [19085]headers attribute and [19086]split it on ASCII whitespace, letting id list be the list of tokens obtained. 2. For each token in the id list, if the first element in the [19087]Document with an [19088]ID equal to the token is a cell in the same [19089]table, and that cell is not the principal cell, then add that cell to header list.

    If principal cell does not have a [19090]headers attribute specified

    1. Let principal[width] be the width of the principal cell. 2. Let principal[height] be the height of the principal cell. 3. For each value of y from principal[y] to principal[y]+principal[height]-1, run the [19091]internal algorithm for scanning and assigning header cells, with the principal cell, the header list, the initial coordinate (principal[x], y), and the increments Δx=−1 and Δy=0. 4. For each value of x from principal[x] to principal[x]+principal[width]-1, run the [19092]internal algorithm for scanning and assigning header cells, with the principal cell, the header list, the initial coordinate (x, principal[y]), and the increments Δx=0 and Δy=−1. 5. If the principal cell is anchored in a [19093]row group, then add all header cells that are [19094]row group headers and are anchored in the same row group with an x-coordinate less than or equal to principal[x]+principal[width]-1 and a y-coordinate less than or equal to principal[y]+principal[height]-1 to header list. 6. If the principal cell is anchored in a [19095]column group, then add all header cells that are [19096]column group headers and are anchored in the same column group with an x-coordinate less than or equal to principal[x]+principal[width]-1 and a y-coordinate less than or equal to principal[y]+principal[height]-1 to header list.

    4. Remove all the [19097]empty cells from the header list. 5. Remove any duplicates from the header list. 6. Remove principal cell from the header list if it is there. 7. Assign the headers in the header list to the principal cell.

    The internal algorithm for scanning and assigning header cells, given a principal cell, a header list, an initial coordinate (initial[x], initial[y]), and Δx and Δy increments, is as follows: 1. Let x equal initial[x]. 2. Let y equal initial[y]. 3. Let opaque headers be an empty list of cells. 4.

    If principal cell is a header cell Let in header block be true, and let headers from current header block be a list of cells containing just the principal cell.

    Otherwise Let in header block be false and let headers from current header block be an empty list of cells.

    5. Loop: Increment x by Δx; increment y by Δy. For each invocation of this algorithm, one of Δx and Δy will be −1, and the other will be 0. 6. If either x or y are less than 0, then abort this internal algorithm. 7. If there is no cell covering slot (x, y), or if there is more than one cell covering slot (x, y), return to the substep labeled loop. 8. Let current cell be the cell covering slot (x, y). 9.

    If current cell is a header cell

    1. Set in header block to true. 2. Add current cell to headers from current header block. 3. Let blocked be false. 4.

    If Δx is 0 If there are any cells in the opaque headers list anchored with the same x-coordinate as the current cell, and with the same width as current cell, then let blocked be true.

    If the current cell is not a [19098]column header, then let blocked be true.

    If Δy is 0 If there are any cells in the opaque headers list anchored with the same y-coordinate as the current cell, and with the same height as current cell, then let blocked be true.

    If the current cell is not a [19099]row header, then let blocked be true.

    5. If blocked is false, then add the current cell to the header list.

    If current cell is a data cell and in header block is true Set in header block to false. Add all the cells in headers from current header block to the opaque headers list, and empty the headers from current header block list.

    10. Return to the step labeled loop.

    A header cell anchored at the slot with coordinate (x, y) with width width and height height is said to be a column header if any of the following are true: * the cell's [19100]scope attribute is in the [19101]column state; or * the cell's [19102]scope attribute is in the [19103]auto state, and there are no data cells in any of the cells covering slots with y-coordinates y .. y+height-1.

    A header cell anchored at the slot with coordinate (x, y) with width width and height height is said to be a row header if any of the following are true: * the cell's [19104]scope attribute is in the [19105]row state; or * the cell's [19106]scope attribute is in the [19107]auto state, the cell is not a [19108]column header, and there are no data cells in any of the cells covering slots with x-coordinates x .. x+width-1.

    A header cell is said to be a column group header if its [19109]scope attribute is in the [19110]column group state.

    A header cell is said to be a row group header if its [19111]scope attribute is in the [19112]row group state.

    A cell is said to be an empty cell if it contains no elements and its [19113]child text content, if any, consists only of [19114]ASCII whitespace.

    4.9.13 Examples

    This section is non-normative.

    The following shows how one might mark up the bottom part of table 45 of the Smithsonian physical tables, Volume 71:
    Specification values: Steel, Castings, Ann. A.S.T.M. A27-16, Class B;* P max. 0.06; S max. 0.05.
    Grade. Yield Point. Ultimate tensile strength Per cent elong. 50.8 mm or 2 in. Per cent reduct. area.
    kg/mm2 lb/in2
    Hard 0.45 ultimate 56.2 80,000 15 20
    Medium 0.45 ultimate 49.2 70,000 18 25
    Soft 0.45 ultimate 42.2 60,000 22 30

    This table could look like this:

    CAPTION: Specification values: Steel, Castings, Ann. A.S.T.M. A27-16, Class B;* P max. 0.06; S max. 0.05.

    Grade. Yield Point. Ultimate tensile strength Per cent elong. 50.8 mm or 2 in. Per cent reduct. area. kg/mm^2 lb/in^2 Hard 0.45 ultimate 56.2 80,000 15 20 Medium 0.45 ultimate 49.2 70,000 18 25 Soft 0.45 ultimate 42.2 60,000 22 30 __________________________________________________________________

    The following shows how one might mark up the gross margin table on page 46 of Apple, Inc's 10-K filing for fiscal year 2008:
    2008 2007 2006
    Net sales $ 32,479 $ 24,006 $ 19,315
    Cost of sales 21,334 15,852 13,717
    Gross margin $ 11,145 $ 8,154 $ 5,598
    Gross margin percentage 34.3% 34.0% 29.0%

    This table could look like this:

    2008 2007 2006 Net sales $ 32,479 $ 24,006 $ 19,315 Cost of sales 21,334 15,852 13,717 Gross margin $ 11,145 $ 8,154 $ 5,598 Gross margin percentage 34.3% 34.0% 29.0% __________________________________________________________________

    The following shows how one might mark up the operating expenses table from lower on the same page of that document:
    2008 2007 2006
    Research and development $ 1,109 $ 782 $ 712
    Percentage of net sales 3.4% 3.3% 3.7%
    Selling, general, and administrative $ 3,761 $ 2,963 $ 2,433
    Percentage of net sales 11.6% 12.3% 12.6%

    This table could look like this:

    2008 2007 2006 Research and development $ 1,109 $ 782 $ 712 Percentage of net sales 3.4% 3.3% 3.7% Selling, general, and administrative $ 3,761 $ 2,963 $ 2,433 Percentage of net sales 11.6% 12.3% 12.6%

    4.10 Forms

    (BUTTON) ✔MDN

    [19115]Element#Forms

    Support in all current engines. Firefox4+Safari4+Chrome61+ __________________________________________________________________

    Opera52+Edge79+ __________________________________________________________________

    Edge (Legacy)16+Internet Explorer10+ __________________________________________________________________

    Firefox Android5+Safari iOS3.2+Chrome Android61+WebView Android61+Samsung Internet8.0+Opera Android47+

    4.10.1 Introduction

    This section is non-normative.

    A form is a component of a web page that has form controls, such as text, buttons, checkboxes, range, or color picker controls. A user can interact with such a form, providing data that can then be sent to the server for further processing (e.g. returning the results of a search or calculation). No client-side scripting is needed in many cases, though an API is available so that scripts can augment the user experience or use forms for purposes other than submitting data to a server.

    Writing a form consists of several steps, which can be performed in any order: writing the user interface, implementing the server-side processing, and configuring the user interface to communicate with the server.

    4.10.1.1 Writing a form's user interface

    This section is non-normative.

    For the purposes of this brief introduction, we will create a pizza ordering form.

    Any form starts with a [19116]form element, inside which are placed the controls. Most controls are represented by the [19117]input element, which by default provides a text control. To label a control, the [19118]label element is used; the label text and the control itself go inside the [19119]label element. Each part of a form is considered a [19120]paragraph, and is typically separated from other parts using [19121]p elements. Putting this together, here is how one might ask for the customer's name:

    To let the user select the size of the pizza, we can use a set of radio buttons. Radio buttons also use the [19122]input element, this time with a [19123]type attribute with the value [19124]radio. To make the radio buttons work as a group, they are given a common name using the [19125]name attribute. To group a batch of controls together, such as, in this case, the radio buttons, one can use the [19126]fieldset element. The title of such a group of controls is given by the first element in the [19127]fieldset, which has to be a [19128]legend element.

    Pizza Size

    Changes from the previous step are highlighted.

    To pick toppings, we can use checkboxes. These use the [19129]input element with a [19130]type attribute with the value [19131]checkbox:

    Pizza Size

    Pizza Toppings

    The pizzeria for which this form is being written is always making mistakes, so it needs a way to contact the customer. For this purpose, we can use form controls specifically for telephone numbers ([19132]input elements with their [19133]type attribute set to [19134]tel) and email addresses ([19135]input elements with their [19136]type attribute set to [19137]email):

    Pizza Size

    Pizza Toppings

    We can use an [19138]input element with its [19139]type attribute set to [19140]time to ask for a delivery time. Many of these form controls have attributes to control exactly what values can be specified; in this case, three attributes of particular interest are [19141]min, [19142]max, and [19143]step. These set the minimum time, the maximum time, and the interval between allowed values (in seconds). This pizzeria only delivers between 11am and 9pm, and doesn't promise anything better than 15 minute increments, which we can mark up as follows:

    Pizza Size

    Pizza Toppings

    The [19144]textarea element can be used to provide a multiline text control. In this instance, we are going to use it to provide a space for the customer to give delivery instructions:

    Pizza Size

    Pizza Toppings

    Finally, to make the form submittable we use the [19145]button element:

    Pizza Size

    Pizza Toppings

    4.10.1.2 Implementing the server-side processing for a form

    This section is non-normative.

    The exact details for writing a server-side processor are out of scope for this specification. For the purposes of this introduction, we will assume that the script at https://pizza.example.com/order.cgi is configured to accept submissions using the [19146]application/x-www-form-urlencoded format, expecting the following parameters sent in an HTTP POST body:

    custname Customer's name

    custtel Customer's telephone number

    custemail Customer's email address

    size The pizza size, either small, medium, or large

    topping A topping, specified once for each selected topping, with the allowed values being bacon, cheese, onion, and mushroom

    delivery The requested delivery time

    comments The delivery instructions

    4.10.1.3 Configuring a form to communicate with a server

    This section is non-normative.

    Form submissions are exposed to servers in a variety of ways, most commonly as HTTP GET or POST requests. To specify the exact method used, the [19147]method attribute is specified on the [19148]form element. This doesn't specify how the form data is encoded, though; to specify that, you use the [19149]enctype attribute. You also have to specify the [19150]URL of the service that will handle the submitted data, using the [19151]action attribute.

    For each form control you want submitted, you then have to give a name that will be used to refer to the data in the submission. We already specified the name for the group of radio buttons; the same attribute ([19152]name) also specifies the submission name. Radio buttons can be distinguished from each other in the submission by giving them different values, using the [19153]value attribute.

    Multiple controls can have the same name; for example, here we give all the checkboxes the same name, and the server distinguishes which checkbox was checked by seeing which values are submitted with that name — like the radio buttons, they are also given unique values with the [19154]value attribute.

    Given the settings in the previous section, this all becomes:

    Pizza Size

    Pizza Toppings

    < /p>

    There is no particular significance to the way some of the attributes have their values quoted and others don't. The HTML syntax allows a variety of equally valid ways to specify attributes, as discussed [19155]in the syntax section.

    For example, if the customer entered "Denise Lawrence" as their name, "555-321-8642" as their telephone number, did not specify an email address, asked for a medium-sized pizza, selected the Extra Cheese and Mushroom toppings, entered a delivery time of 7pm, and left the delivery instructions text control blank, the user agent would submit the following to the online web service: custname=Denise+Lawrence&custtel=555-321-8642&custemail=&size=medium&topping=che ese&topping=mushroom&delivery=19%3A00&comments=

    4.10.1.4 Client-side form validation

    (BUTTON) ✔MDN

    [19156]Form_validation

    Support in all current engines. Firefox4+Safari5+Chrome4+ __________________________________________________________________

    Opera≤12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS4+Chrome Android?WebView Android≤37+Samsung Internet?Opera Android≤12.1+

    This section is non-normative.

    Forms can be annotated in such a way that the user agent will check the user's input before the form is submitted. The server still has to verify the input is valid (since hostile users can easily bypass the form validation), but it allows the user to avoid the wait incurred by having the server be the sole checker of the user's input.

    The simplest annotation is the [19157]required attribute, which can be specified on [19158]input elements to indicate that the form is not to be submitted until a value is given. By adding this attribute to the customer name, pizza size, and delivery time fields, we allow the user agent to notify the user when the user submits the form without filling in those fields:

    Pizza Size

    < /p>

    < /p>

    Pizza Toppings

    < /p>

    It is also possible to limit the length of the input, using the [19159]maxlength attribute. By adding this to the [19160]textarea element, we can limit users to 1000 characters, preventing them from writing huge essays to the busy delivery drivers instead of staying focused and to the point:

    Pizza Size

    < /p>

    < /p>

    Pizza Toppings

    Constraint validation: If the [23959]readonly attribute is specified on a [23960]textarea element, the element is [23961]barred from constraint validation.

    A [23962]textarea element is [23963]mutable if it is neither [23964]disabled nor has a [23965]readonly attribute specified.

    When a [23966]textarea is [23967]mutable, its [23968]raw value should be editable by the user: the user agent should allow the user to edit, insert, and remove text, and to insert and remove line breaks in the form of U+000A LINE FEED (LF) characters. Any time the user causes the element's [23969]raw value to change, the user agent must [23970]queue an element task on the [23971]user interaction task source given the [23972]textarea element to [23973]fire an event named [23974]input at the [23975]textarea element, with the [23976]bubbles and [23977]composed attributes initialized to true. User agents may wait for a suitable break in the user's interaction before queuing the task; for example, a user agent could wait for the user to have not hit a key for 100ms, so as to only fire the event when the user pauses, instead of continuously for each keystroke.

    A [23978]textarea element's [23979]dirty value flag must be set to true whenever the user interacts with the control in a way that changes the [23980]raw value.

    The [23981]cloning steps for [23982]textarea elements given node, copy, and subtree are to propagate the [23983]raw value and [23984]dirty value flag from node to copy.

    The [23985]children changed steps for [23986]textarea elements must, if the element's [23987]dirty value flag is false, set the element's [23988]raw value to its [23989]child text content.

    The [23990]reset algorithm for [23991]textarea elements is to set the [23992]user validity to false, [23993]dirty value flag back to false, and set the [23994]raw value of element to its [23995]child text content.

    When a [23996]textarea element is popped off the [23997]stack of open elements of an [23998]HTML parser or [23999]XML parser, then the user agent must invoke the element's [24000]reset algorithm.

    If the element is [24001]mutable, the user agent should allow the user to change the writing direction of the element, setting it either to a left-to-right writing direction or a right-to-left writing direction. If the user does so, the user agent must then run the following steps: 1. Set the element's [24002]dir attribute to "[24003]ltr" if the user selected a left-to-right writing direction, and "[24004]rtl" if the user selected a right-to-left writing direction. 2. [24005]Queue an element task on the [24006]user interaction task source given the [24007]textarea element to [24008]fire an event named [24009]input at the [24010]textarea element, with the [24011]bubbles and [24012]composed attributes initialized to true.

    The cols attribute specifies the expected maximum number of characters per line. If the [24013]cols attribute is specified, its value must be a [24014]valid non-negative integer greater than zero. If applying the [24015]rules for parsing non-negative integers to the attribute's value results in a number greater than zero, then the element's character width is that value; otherwise, it is 20.

    The user agent may use the [24016]textarea element's [24017]character width as a hint to the user as to how many characters the server prefers per line (e.g. for visual user agents by making the width of the control be that many characters). In visual renderings, the user agent should wrap the user's input in the rendering so that each line is no wider than this number of characters.

    The rows attribute specifies the number of lines to show. If the [24018]rows attribute is specified, its value must be a [24019]valid non-negative integer greater than zero. If applying the [24020]rules for parsing non-negative integers to the attribute's value results in a number greater than zero, then the element's character height is that value; otherwise, it is 2.

    Visual user agents should set the height of the control to the number of lines given by [24021]character height.

    The wrap attribute is an [24022]enumerated attribute with the following keywords and states:

    Keyword State Brief description soft Soft Text is not to be wrapped when submitted (though can still be wrapped in the rendering). hard Hard Text is to have newlines added by the user agent so that the text is wrapped when it is submitted.

    The attribute's [24023]missing value default and [24024]invalid value default are both the [24025]Soft state.

    If the element's [24026]wrap attribute is in the [24027]Hard state, the [24028]cols attribute must be specified.

    For historical reasons, the element's value is normalized in three different ways for three different purposes. The [24029]raw value is the value as it was originally set. It is not normalized. The [24030]API value is the value used in the [24031]value IDL attribute, [24032]textLength IDL attribute, and by the [24033]maxlength and [24034]minlength content attributes. It is normalized so that line breaks use U+000A LINE FEED (LF) characters. Finally, there is the [24035]value, as used in form submission and other processing models in this specification. It is normalized as for the [24036]API value, and in addition, if necessary given the element's [24037]wrap attribute, additional line breaks are inserted to wrap the text at the given width.

    The algorithm for obtaining the element's [24038]API value is to return the element's [24039]raw value, with [24040]newlines normalized.

    The element's [24041]value is defined to be the element's [24042]API value with the [24043]textarea wrapping transformation applied. The textarea wrapping transformation is the following algorithm, as applied to a string: 1. If the element's [24044]wrap attribute is in the [24045]Hard state, insert U+000A LINE FEED (LF) characters into the string using an [24046]implementation-defined algorithm so that each line has no more than [24047]character width characters. For the purposes of this requirement, lines are delimited by the start of the string, the end of the string, and U+000A LINE FEED (LF) characters.

    The maxlength attribute is a [24048]form control maxlength attribute.

    If the [24049]textarea element has a [24050]maximum allowed value length, then the element's children must be such that the [24051]length of the value of the element's [24052]descendant text content with [24053]newlines normalized is less than or equal to the element's [24054]maximum allowed value length.

    The minlength attribute is a [24055]form control minlength attribute.

    The required attribute is a [24056]boolean attribute. When specified, the user will be required to enter a value before submitting the form.

    Constraint validation: If the element has its [24057]required attribute specified, and the element is [24058]mutable, and the element's [24059]value is the empty string, then the element is [24060]suffering from being missing.

    The placeholder attribute represents a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief description of the expected format.

    The [24061]placeholder attribute should not be used as an alternative to a [24062]label. For a longer hint or other advisory text, the [24063]title attribute is more appropriate.

    These mechanisms are very similar but subtly different: the hint given by the control's [24064]label is shown at all times; the short hint given in the [24065]placeholder attribute is shown before the user enters a value; and the hint in the [24066]title attribute is shown when the user requests further help.

    User agents should present this hint to the user when the element's [24067]value is the empty string and the control is not [24068]focused (e.g. by displaying it inside a blank unfocused control). All U+000D CARRIAGE RETURN U+000A LINE FEED character pairs (CRLF) in the hint, as well as all other U+000D CARRIAGE RETURN (CR) and U+000A LINE FEED (LF) characters in the hint, must be treated as line breaks when rendering the hint.

    If a user agent normally doesn't show this hint to the user when the control is [24069]focused, then the user agent should nonetheless show the hint for the control if it was focused as a result of the [24070]autofocus attribute, since in that case the user will not have had an opportunity to examine the control before focusing it.

    The [24071]name attribute represents the element's name. The [24072]dirname attribute controls how the element's [24073]directionality is submitted. The [24074]disabled attribute is used to make the control non-interactive and to prevent its value from being submitted. The [24075]form attribute is used to explicitly associate the [24076]textarea element with its [24077]form owner. The [24078]autocomplete attribute controls how the user agent provides autofill behavior.

    textarea.[24079]type Returns the string "textarea".

    textarea.[24080]value Returns the current value of the element.

    Can be set, to change the value.

    The cols, placeholder, required, rows, and wrap IDL attributes must [24081]reflect the respective content attributes of the same name. The [24082]cols and [24083]rows attributes are [24084]limited to only positive numbers with fallback. The [24085]cols IDL attribute's [24086]default value is 20. The [24087]rows IDL attribute's [24088]default value is 2. The dirName IDL attribute must [24089]reflect the [24090]dirname content attribute. The maxLength IDL attribute must [24091]reflect the [24092]maxlength content attribute, [24093]limited to only non-negative numbers. The minLength IDL attribute must [24094]reflect the [24095]minlength content attribute, [24096]limited to only non-negative numbers. The readOnly IDL attribute must [24097]reflect the [24098]readonly content attribute.

    The type IDL attribute must return the value "textarea".

    The defaultValue attribute's getter must return the element's [24099]child text content.

    The [24100]defaultValue attribute's setter must [24101]string replace all with the given value within this element.

    The value IDL attribute must, on getting, return the element's [24102]API value. On setting, it must perform the following steps: 1. Let oldAPIValue be this element's [24103]API value. 2. Set this element's [24104]raw value to the new value. 3. Set this element's [24105]dirty value flag to true. 4. If the new [24106]API value is different from oldAPIValue, then move the [24107]text entry cursor position to the end of the text control, unselecting any selected text and [24108]resetting the selection direction to "none".

    The textLength IDL attribute must return the [24109]length of the element's [24110]API value.

    The [24111]willValidate, [24112]validity, and [24113]validationMessage IDL attributes, and the [24114]checkValidity(), [24115]reportValidity(), and [24116]setCustomValidity() methods, are part of the [24117]constraint validation API. The [24118]labels IDL attribute provides a list of the element's [24119]labels. The [24120]select(), [24121]selectionStart, [24122]selectionEnd, [24123]selectionDirection, [24124]setRangeText(), and [24125]setSelectionRange() methods and IDL attributes expose the element's text selection. The [24126]disabled, [24127]form, and [24128]name IDL attributes are part of the element's forms API.

    Here is an example of a [24129]textarea being used for unrestricted free-form text input in a form:

    If you have any comments, please let us know:

    To specify a maximum length for the comments, one can use the [24130]maxlength attribute:

    If you have any short comments, please let us know:

    To give a default value, text can be included inside the element:

    If you have any comments, please let us know:

    You can also give a minimum length. Here, a letter needs to be filled out by the user; a template (which is shorter than the minimum length) is provided, but is insufficient to submit the form:

    A placeholder can be given as well, to suggest the basic form to the user, without providing an explicit template:

    To have the browser submit [24131]the directionality of the element along with the value, the [24132]dirname attribute can be specified:

    If you have any comments, please let us know (you may use either English or H ebrew for your comments):

    4.10.12 The output element

    (BUTTON) ✔MDN

    [24133]Element/output

    Support in all current engines. Firefox4+Safari7+Chrome10+ __________________________________________________________________

    Opera11+Edge79+ __________________________________________________________________

    Edge (Legacy)18Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+

    (BUTTON) ✔MDN

    [24134]HTMLOutputElement

    Support in all current engines. Firefox4+Safari5.1+Chrome9+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)14+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android3+Samsung Internet?Opera Android12.1+

    [24135]Categories: [24136]Flow content. [24137]Phrasing content. [24138]Listed, [24139]labelable, [24140]resettable, and [24141]autocapitalize-and-autocorrect inheriting [24142]form-associated element. [24143]Palpable content.

    [24144]Contexts in which this element can be used: Where [24145]phrasing content is expected.

    [24146]Content model: [24147]Phrasing content.

    [24148]Tag omission in text/html: Neither tag is omissible.

    [24149]Content attributes: [24150]Global attributes [24151]for — Specifies controls from which the output was calculated [24152]form — Associates the element with a [24153]form element [24154]name — Name of the element to use in the [24155]form.elements API.

    [24156]Accessibility considerations: [24157]For authors. [24158]For implementers.

    [24159]DOM interface:

    [Exposed=Window] interface HTMLOutputElement : [24160]HTMLElement { [[24161]HTMLConstructor] constructor();

    [SameObject, PutForwards=[24162]value] readonly attribute [24163]DOMTokenList [24164]htmlFor; readonly attribute [24165]HTMLFormElement? [24166]form; [[24167]CEReactions] attribute DOMString [24168]name;

    readonly attribute DOMString [24169]type; [[24170]CEReactions] attribute DOMString [24171]defaultValue; [[24172]CEReactions] attribute DOMString [24173]value;

    readonly attribute boolean [24174]willValidate; readonly attribute [24175]ValidityState [24176]validity; readonly attribute DOMString [24177]validationMessage; boolean [24178]checkValidity(); boolean [24179]reportValidity(); undefined [24180]setCustomValidity(DOMString error);

    readonly attribute [24181]NodeList [24182]labels; };

    The [24183]output element [24184]represents the result of a calculation performed by the application, or the result of a user action.

    This element can be contrasted with the [24185]samp element, which is the appropriate element for quoting the output of other programs run previously.

    (BUTTON) ✔MDN

    [24186]Attributes/for

    Support in all current engines. Firefox4+Safari7+Chrome10+ __________________________________________________________________

    Opera11+Edge79+ __________________________________________________________________

    Edge (Legacy)18Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+

    The for content attribute allows an explicit relationship to be made between the result of a calculation and the elements that represent the values that went into the calculation or that otherwise influenced the calculation. The [24187]for attribute, if specified, must contain a string consisting of an [24188]unordered set of unique space-separated tokens, none of which are [24189]identical to another token and each of which must have the value of an [24190]ID of an element in the same [24191]tree.

    The [24192]form attribute is used to explicitly associate the [24193]output element with its [24194]form owner. The [24195]name attribute represents the element's name. The [24196]output element is associated with a form so that it can be easily [24197]referenced from the event handlers of form controls; the element's value itself is not submitted when the form is submitted.

    The element has a default value override (null or a string). Initially it must be null.

    The element's default value is determined by the following steps: 1. If this element's [24198]default value override is non-null, then return it. 2. Return this element's [24199]descendant text content.

    The [24200]reset algorithm for [24201]output elements is to run these steps: 1. [24202]String replace all with this element's [24203]default value within this element. 2. Set this element's [24204]default value override to null.

    output.[24205]value [ = value ] Returns the element's current value.

    Can be set, to change the value.

    output.[24206]defaultValue [ = value ] Returns the element's current default value.

    Can be set, to change the default value.

    output.[24207]type Returns the string "output".

    The value getter steps are to return [24208]this's [24209]descendant text content.

    The [24210]value setter steps are: 1. Set [24211]this's [24212]default value override to its [24213]default value. 2. [24214]String replace all with the given value within [24215]this.

    The defaultValue getter steps are to return the result of running [24216]this's [24217]default value.

    The [24218]defaultValue setter steps are: 1. If [24219]this's [24220]default value override is null, then [24221]string replace all with the given value within [24222]this and return. 2. Set [24223]this's [24224]default value override to the given value.

    The type getter steps are to return "output".

    The htmlFor IDL attribute must [24225]reflect the [24226]for content attribute.

    The [24227]willValidate, [24228]validity, and [24229]validationMessage IDL attributes, and the [24230]checkValidity(), [24231]reportValidity(), and [24232]setCustomValidity() methods, are part of the [24233]constraint validation API. The [24234]labels IDL attribute provides a list of the element's [24235]labels. The [24236]form and [24237]name IDL attributes are part of the element's forms API.

    A simple calculator could use [24238]output for its display of calculated results: + =

    In this example, an [24239]output element is used to report the results of a calculation performed by a remote server, as they come in:

    4.10.13 The progress element

    (BUTTON) ✔MDN

    [24240]Element/progress

    Support in all current engines. Firefox6+Safari6+Chrome6+ __________________________________________________________________

    Opera11+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android11+

    (BUTTON) ✔MDN

    [24241]HTMLProgressElement

    Support in all current engines. Firefox6+Safari6+Chrome6+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [24242]Categories: [24243]Flow content. [24244]Phrasing content. [24245]Labelable element. [24246]Palpable content.

    [24247]Contexts in which this element can be used: Where [24248]phrasing content is expected.

    [24249]Content model: [24250]Phrasing content, but there must be no [24251]progress element descendants.

    [24252]Tag omission in text/html: Neither tag is omissible.

    [24253]Content attributes: [24254]Global attributes [24255]value — Current value of the element [24256]max — Upper bound of range

    [24257]Accessibility considerations: [24258]For authors. [24259]For implementers.

    [24260]DOM interface:

    [Exposed=Window] interface HTMLProgressElement : [24261]HTMLElement { [[24262]HTMLConstructor] constructor();

    [[24263]CEReactions] attribute double [24264]value; [[24265]CEReactions] attribute double [24266]max; readonly attribute double [24267]position; readonly attribute [24268]NodeList [24269]labels; };

    The [24270]progress element [24271]represents the completion progress of a task. The progress is either indeterminate, indicating that progress is being made but that it is not clear how much more work remains to be done before the task is complete (e.g. because the task is waiting for a remote host to respond), or the progress is a number in the range zero to a maximum, giving the fraction of work that has so far been completed.

    (BUTTON) ✔MDN

    [24272]Attributes/max

    Support in all current engines. Firefox6+Safari6+Chrome6+ __________________________________________________________________

    Opera11+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android11+

    There are two attributes that determine the current task completion represented by the element. The value attribute specifies how much of the task has been completed, and the max attribute specifies how much work the task requires in total. The units are arbitrary and not specified.

    To make a determinate progress bar, add a [24273]value attribute with the current progress (either a number from 0.0 to 1.0, or, if the [24274]max attribute is specified, a number from 0 to the value of the [24275]max attribute). To make an indeterminate progress bar, remove the [24276]value attribute.

    Authors are encouraged to also include the current value and the maximum value inline as text inside the element, so that the progress is made available to users of legacy user agents.

    Here is a snippet of a web application that shows the progress of some automated task:

    Task Progress

    Progress: 0%

    (The updateProgress() method in this example would be called by some other code on the page to update the actual progress bar as the task progressed.)

    The [24277]value and [24278]max attributes, when present, must have values that are [24279]valid floating-point numbers. The [24280]value attribute, if present, must have a value greater than or equal to zero, and less than or equal to the value of the [24281]max attribute, if present, or 1.0, otherwise. The [24282]max attribute, if present, must have a value greater than zero.

    The [24283]progress element is the wrong element to use for something that is just a gauge, as opposed to task progress. For instance, indicating disk space usage using [24284]progress would be inappropriate. Instead, the [24285]meter element is available for such use cases.

    User agent requirements: If the [24286]value attribute is omitted, then the progress bar is an indeterminate progress bar. Otherwise, it is a determinate progress bar.

    If the progress bar is a determinate progress bar and the element has a [24287]max attribute, the user agent must parse the [24288]max attribute's value according to the [24289]rules for parsing floating-point number values. If this does not result in an error, and if the parsed value is greater than zero, then the maximum value of the progress bar is that value. Otherwise, if the element has no [24290]max attribute, or if it has one but parsing it resulted in an error, or if the parsed value was less than or equal to zero, then the [24291]maximum value of the progress bar is 1.0.

    If the progress bar is a determinate progress bar, user agents must parse the [24292]value attribute's value according to the [24293]rules for parsing floating-point number values. If this does not result in an error and the parsed value is greater than zero, then the value of the progress bar is that parsed value. Otherwise, if parsing the [24294]value attribute's value resulted in an error or a number less than or equal to zero, then the [24295]value of the progress bar is zero.

    If the progress bar is a determinate progress bar, then the current value is the [24296]maximum value, if [24297]value is greater than the [24298]maximum value, and [24299]value otherwise.

    UA requirements for showing the progress bar: When representing a [24300]progress element to the user, the UA should indicate whether it is a determinate or indeterminate progress bar, and in the former case, should indicate the relative position of the [24301]current value relative to the [24302]maximum value.

    progress.[24303]position For a determinate progress bar (one with known current and maximum values), returns the result of dividing the current value by the maximum value.

    For an indeterminate progress bar, returns −1.

    If the progress bar is an indeterminate progress bar, then the position IDL attribute must return −1. Otherwise, it must return the result of dividing the [24304]current value by the [24305]maximum value.

    If the progress bar is an indeterminate progress bar, then the value IDL attribute, on getting, must return 0. Otherwise, it must return the [24306]current value. On setting, the given value must be converted to the [24307]best representation of the number as a floating-point number and then the [24308]value content attribute must be set to that string.

    Setting the [24309]value IDL attribute to itself when the corresponding content attribute is absent would change the progress bar from an indeterminate progress bar to a determinate progress bar with no progress.

    The max IDL attribute must [24310]reflect the content attribute of the same name, [24311]limited to only positive numbers. The [24312]default value for [24313]max is 1.0.

    The [24314]labels IDL attribute provides a list of the element's [24315]labels.

    4.10.14 The meter element

    (BUTTON) ✔MDN

    [24316]Element/meter

    Support in all current engines. Firefox16+Safari6+Chrome6+ __________________________________________________________________

    Opera11+Edge79+ __________________________________________________________________

    Edge (Legacy)18Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS10.3+Chrome Android?WebView AndroidNoSamsung Internet?Opera Android11+

    (BUTTON) ✔MDN

    [24317]HTMLMeterElement

    Support in all current engines. Firefox16+Safari6+Chrome6+ __________________________________________________________________

    Opera11+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+

    [24318]Categories: [24319]Flow content. [24320]Phrasing content. [24321]Labelable element. [24322]Palpable content.

    [24323]Contexts in which this element can be used: Where [24324]phrasing content is expected.

    [24325]Content model: [24326]Phrasing content, but there must be no [24327]meter element descendants.

    [24328]Tag omission in text/html: Neither tag is omissible.

    [24329]Content attributes: [24330]Global attributes [24331]value — Current value of the element [24332]min — Lower bound of range [24333]max — Upper bound of range [24334]low — High limit of low range [24335]high — Low limit of high range [24336]optimum — Optimum value in gauge

    [24337]Accessibility considerations: [24338]For authors. [24339]For implementers.

    [24340]DOM interface:

    [Exposed=Window] interface HTMLMeterElement : [24341]HTMLElement { [[24342]HTMLConstructor] constructor();

    [[24343]CEReactions] attribute double [24344]value; [[24345]CEReactions] attribute double [24346]min; [[24347]CEReactions] attribute double [24348]max; [[24349]CEReactions] attribute double [24350]low; [[24351]CEReactions] attribute double [24352]high; [[24353]CEReactions] attribute double [24354]optimum; readonly attribute [24355]NodeList [24356]labels; };

    The [24357]meter element [24358]represents a scalar measurement within a known range, or a fractional value; for example disk usage, the relevance of a query result, or the fraction of a voting population to have selected a particular candidate.

    This is also known as a gauge.

    The [24359]meter element should not be used to indicate progress (as in a progress bar). For that role, HTML provides a separate [24360]progress element.

    The [24361]meter element also does not represent a scalar value of arbitrary range — for example, it would be wrong to use this to report a weight, or height, unless there is a known maximum value.

    There are six attributes that determine the semantics of the gauge represented by the element.

    (BUTTON) ✔MDN

    [24362]Attributes/max

    Support in all current engines. Firefox16+Safari6+Chrome6+ __________________________________________________________________

    Opera11+Edge79+ __________________________________________________________________

    Edge (Legacy)18Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS10.3+Chrome Android?WebView AndroidNoSamsung Internet?Opera Android11+

    [24363]Attributes/min

    Support in all current engines. Firefox16+Safari6+Chrome6+ __________________________________________________________________

    Opera11+Edge79+ __________________________________________________________________

    Edge (Legacy)18Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS10.3+Chrome Android?WebView AndroidNoSamsung Internet?Opera Android11+

    The min attribute specifies the lower bound of the range, and the max attribute specifies the upper bound. The value attribute specifies the value to have the gauge indicate as the "measured" value.

    The other three attributes can be used to segment the gauge's range into "low", "medium", and "high" parts, and to indicate which part of the gauge is the "optimum" part. The low attribute specifies the range that is considered to be the "low" part, and the high attribute specifies the range that is considered to be the "high" part. The optimum attribute gives the position that is "optimum"; if that is higher than the "high" value then this indicates that the higher the value, the better; if it's lower than the "low" mark then it indicates that lower values are better, and naturally if it is in between then it indicates that neither high nor low values are good.

    Authoring requirements: The [24364]value attribute must be specified. The [24365]value, [24366]min, [24367]low, [24368]high, [24369]max, and [24370]optimum attributes, when present, must have values that are [24371]valid floating-point numbers.

    In addition, the attributes' values are further constrained:

    Let value be the [24372]value attribute's number.

    If the [24373]min attribute is specified, then let minimum be that attribute's value; otherwise, let it be zero.

    If the [24374]max attribute is specified, then let maximum be that attribute's value; otherwise, let it be 1.0.

    The following inequalities must hold, as applicable: * minimum ≤ value ≤ maximum * minimum ≤ [24375]low ≤ maximum (if [24376]low is specified) * minimum ≤ [24377]high ≤ maximum (if [24378]high is specified) * minimum ≤ [24379]optimum ≤ maximum (if [24380]optimum is specified) * [24381]low ≤ [24382]high (if both [24383]low and [24384]high are specified)

    If no minimum or maximum is specified, then the range is assumed to be 0..1, and the value thus has to be within that range.

    Authors are encouraged to include a textual representation of the gauge's state in the element's contents, for users of user agents that do not support the [24385]meter element.

    When used with [24386]microdata, the [24387]meter element's [24388]value attribute provides the element's machine-readable value.

    The following examples show three gauges that would all be three-quarters full: Storage space usage: 6 blocks used (out of 8 total) Voter turnout: 75% Tickets sold:

    The following example is incorrect use of the element, because it doesn't give a range (and since the default maximum is 1, both of the gauges would end up looking maxed out):

    The grapefruit pie had a radius of 12cm and a height of 2cm.

    Instead, one would either not include the meter element, or use the meter element with a defined range to give the dimensions in context compared to other pies:

    The grapefruit pie had a radius of 12cm and a height of 2cm.

    Radius:
    12cm
    Height:
    2cm

    There is no explicit way to specify units in the [24389]meter element, but the units may be specified in the [24390]title attribute in free-form text.

    The example above could be extended to mention the units:

    Radius:
    12cm
    Height:
    2cm

    User agent requirements: User agents must parse the [24391]min, [24392]max, [24393]value, [24394]low, [24395]high, and [24396]optimum attributes using the [24397]rules for parsing floating-point number values.

    User agents must then use all these numbers to obtain values for six points on the gauge, as follows. (The order in which these are evaluated is important, as some of the values refer to earlier ones.)

    The minimum value If the [24398]min attribute is specified and a value could be parsed out of it, then the minimum value is that value. Otherwise, the minimum value is zero.

    The maximum value If the [24399]max attribute is specified and a value could be parsed out of it, then the candidate maximum value is that value. Otherwise, the candidate maximum value is 1.0.

    If the candidate maximum value is greater than or equal to the minimum value, then the maximum value is the candidate maximum value. Otherwise, the maximum value is the same as the minimum value.

    The actual value If the [24400]value attribute is specified and a value could be parsed out of it, then that value is the candidate actual value. Otherwise, the candidate actual value is zero.

    If the candidate actual value is less than the minimum value, then the actual value is the minimum value.

    Otherwise, if the candidate actual value is greater than the maximum value, then the actual value is the maximum value.

    Otherwise, the actual value is the candidate actual value.

    The low boundary If the [24401]low attribute is specified and a value could be parsed out of it, then the candidate low boundary is that value. Otherwise, the candidate low boundary is the same as the minimum value.

    If the candidate low boundary is less than the minimum value, then the low boundary is the minimum value.

    Otherwise, if the candidate low boundary is greater than the maximum value, then the low boundary is the maximum value.

    Otherwise, the low boundary is the candidate low boundary.

    The high boundary If the [24402]high attribute is specified and a value could be parsed out of it, then the candidate high boundary is that value. Otherwise, the candidate high boundary is the same as the maximum value.

    If the candidate high boundary is less than the low boundary, then the high boundary is the low boundary.

    Otherwise, if the candidate high boundary is greater than the maximum value, then the high boundary is the maximum value.

    Otherwise, the high boundary is the candidate high boundary.

    The optimum point If the [24403]optimum attribute is specified and a value could be parsed out of it, then the candidate optimum point is that value. Otherwise, the candidate optimum point is the midpoint between the minimum value and the maximum value.

    If the candidate optimum point is less than the minimum value, then the optimum point is the minimum value.

    Otherwise, if the candidate optimum point is greater than the maximum value, then the optimum point is the maximum value.

    Otherwise, the optimum point is the candidate optimum point.

    All of which will result in the following inequalities all being true: * minimum value ≤ actual value ≤ maximum value * minimum value ≤ low boundary ≤ high boundary ≤ maximum value * minimum value ≤ optimum point ≤ maximum value

    UA requirements for regions of the gauge: If the optimum point is equal to the low boundary or the high boundary, or anywhere in between them, then the region between the low and high boundaries of the gauge must be treated as the optimum region, and the low and high parts, if any, must be treated as suboptimal. Otherwise, if the optimum point is less than the low boundary, then the region between the minimum value and the low boundary must be treated as the optimum region, the region from the low boundary up to the high boundary must be treated as a suboptimal region, and the remaining region must be treated as an even less good region. Finally, if the optimum point is higher than the high boundary, then the situation is reversed; the region between the high boundary and the maximum value must be treated as the optimum region, the region from the high boundary down to the low boundary must be treated as a suboptimal region, and the remaining region must be treated as an even less good region.

    UA requirements for showing the gauge: When representing a [24404]meter element to the user, the UA should indicate the relative position of the actual value to the minimum and maximum values, and the relationship between the actual value and the three regions of the gauge.

    The following markup:

    Suggested groups

  • Hide suggested groups
  • Might be rendered as follows:

    With the elements rendered as inline green bars of varying lengths.

    User agents may combine the value of the [24405]title attribute and the other attributes to provide context-sensitive help or inline text detailing the actual values.

    For example, the following snippet:

    ...might cause the user agent to display a gauge with a tooltip saying "Value: 23.2 out of 60." on one line and "seconds" on a second line.

    The value IDL attribute, on getting, must return the [24406]actual value. On setting, the given value must be converted to the [24407]best representation of the number as a floating-point number and then the [24408]value content attribute must be set to that string.

    The min IDL attribute, on getting, must return the [24409]minimum value. On setting, the given value must be converted to the [24410]best representation of the number as a floating-point number and then the [24411]min content attribute must be set to that string.

    The max IDL attribute, on getting, must return the [24412]maximum value. On setting, the given value must be converted to the [24413]best representation of the number as a floating-point number and then the [24414]max content attribute must be set to that string.

    The low IDL attribute, on getting, must return the [24415]low boundary. On setting, the given value must be converted to the [24416]best representation of the number as a floating-point number and then the [24417]low content attribute must be set to that string.

    The high IDL attribute, on getting, must return the [24418]high boundary. On setting, the given value must be converted to the [24419]best representation of the number as a floating-point number and then the [24420]high content attribute must be set to that string.

    The optimum IDL attribute, on getting, must return the [24421]optimum value. On setting, the given value must be converted to the [24422]best representation of the number as a floating-point number and then the [24423]optimum content attribute must be set to that string.

    The [24424]labels IDL attribute provides a list of the element's [24425]labels.

    The following example shows how a gauge could fall back to localized or pretty-printed text.

    Disk usage: 170 261 928 bytes used out of 233 257 824 bytes available

    4.10.15 The fieldset element

    (BUTTON) ✔MDN

    [24426]Element/fieldset

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera15+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android14+

    (BUTTON) ✔MDN

    [24427]HTMLFieldSetElement

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [24428]Categories: [24429]Flow content. [24430]Listed and [24431]autocapitalize-and-autocorrect inheriting [24432]form-associated element. [24433]Palpable content.

    [24434]Contexts in which this element can be used: Where [24435]flow content is expected.

    [24436]Content model: Optionally, a [24437]legend element, followed by [24438]flow content.

    [24439]Tag omission in text/html: Neither tag is omissible.

    [24440]Content attributes: [24441]Global attributes [24442]disabled — Whether the descendant form controls, except any inside [24443]legend, are disabled [24444]form — Associates the element with a [24445]form element [24446]name — Name of the element to use in the [24447]form.elements API.

    [24448]Accessibility considerations: [24449]For authors. [24450]For implementers.

    [24451]DOM interface:

    [Exposed=Window] interface HTMLFieldSetElement : [24452]HTMLElement { [[24453]HTMLConstructor] constructor();

    [[24454]CEReactions] attribute boolean [24455]disabled; readonly attribute [24456]HTMLFormElement? [24457]form; [[24458]CEReactions] attribute DOMString [24459]name;

    readonly attribute DOMString [24460]type;

    [SameObject] readonly attribute [24461]HTMLCollection [24462]elements;

    readonly attribute boolean [24463]willValidate; [SameObject] readonly attribute [24464]ValidityState [24465]validity; readonly attribute DOMString [24466]validationMessage; boolean [24467]checkValidity(); boolean [24468]reportValidity(); undefined [24469]setCustomValidity(DOMString error); };

    The [24470]fieldset element [24471]represents a set of form controls (or other content) grouped together, optionally with a caption. The caption is given by the first [24472]legend element that is a child of the [24473]fieldset element, if any. The remainder of the descendants form the group.

    (BUTTON) ✔MDN

    [24474]Element/fieldset#attr-disabled

    Support in all current engines. Firefox4+Safari6+Chrome20+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+

    The disabled attribute, when specified, causes all the form control descendants of the [24475]fieldset element, excluding those that are descendants of the [24476]fieldset element's first [24477]legend element child, if any, to be [24478]disabled.

    A [24479]fieldset element is a disabled fieldset if it matches any of the following conditions: * Its [24480]disabled attribute is specified * It is a descendant of another [24481]fieldset element whose [24482]disabled attribute is specified, and is not a descendant of that [24483]fieldset element's first [24484]legend element child, if any.

    The [24485]form attribute is used to explicitly associate the [24486]fieldset element with its [24487]form owner. The [24488]name attribute represents the element's name.

    fieldset.[24489]type Returns the string "fieldset".

    fieldset.[24490]elements Returns an [24491]HTMLCollection of the form controls in the element.

    The disabled IDL attribute must [24492]reflect the content attribute of the same name.

    The type IDL attribute must return the string "fieldset".

    The elements IDL attribute must return an [24493]HTMLCollection rooted at the [24494]fieldset element, whose filter matches [24495]listed elements.

    The [24496]willValidate, [24497]validity, and [24498]validationMessage attributes, and the [24499]checkValidity(), [24500]reportValidity(), and [24501]setCustomValidity() methods, are part of the [24502]constraint validation API. The [24503]form and [24504]name IDL attributes are part of the element's forms API.

    This example shows a [24505]fieldset element being used to group a set of related controls:

    Display

    The following snippet shows a fieldset with a checkbox in the legend that controls whether or not the fieldset is enabled. The contents of the fieldset consist of two required text controls and an optional year/month control.

    < /p>

    You can also nest [24506]fieldset elements. Here is an example expanding on the previous one that does so:

    In this example, if the outer "Use Club Card" checkbox is not checked, everything inside the outer [24507]fieldset, including the two radio buttons in the legends of the two nested [24508]fieldsets, will be disabled. However, if the checkbox is checked, then the radio buttons will both be enabled and will let you select which of the two inner [24509]fieldsets is to be enabled.

    This example shows a grouping of controls where the [24510]legend element both labels the grouping, and the nested heading element surfaces the grouping in the document outline:

    How can we best reach you?

    4.10.16 The legend element

    (BUTTON) ✔MDN

    [24511]Element/legend

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer6+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    (BUTTON) ✔MDN

    [24512]HTMLLegendElement

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer6+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [24513]Categories: None.

    [24514]Contexts in which this element can be used: As the [24515]first child of a [24516]fieldset element.

    [24517]Content model: [24518]Phrasing content, optionally intermixed with [24519]heading content.

    [24520]Tag omission in text/html: Neither tag is omissible.

    [24521]Content attributes: [24522]Global attributes

    [24523]Accessibility considerations: [24524]For authors. [24525]For implementers.

    [24526]DOM interface:

    [Exposed=Window] interface HTMLLegendElement : [24527]HTMLElement { [[24528]HTMLConstructor] constructor();

    readonly attribute [24529]HTMLFormElement? [24530]form;

    // [24531]also has obsolete members };

    The [24532]legend element [24533]represents a caption for the rest of the contents of the [24534]legend element's parent [24535]fieldset element, if any.

    legend.[24536]form Returns the element's [24537]form element, if any, or null otherwise.

    The form IDL attribute's behavior depends on whether the [24538]legend element is in a [24539]fieldset element or not. If the [24540]legend has a [24541]fieldset element as its parent, then the [24542]form IDL attribute must return the same value as the [24543]form IDL attribute on that [24544]fieldset element. Otherwise, it must return null.

    4.10.17 Form control infrastructure

    4.10.17.1 A form control's value

    Most form controls have a value and a checkedness. (The latter is only used by [24545]input elements.) These are used to describe how the user interacts with the control.

    A control's [24546]value is its internal state. As such, it might not match the user's current input.

    For instance, if a user enters the word "three" into [24547]a numeric field that expects digits, the user's input would be the string "three" but the control's [24548]value would remain unchanged. Or, if a user enters the email address " awesome@example.com" (with leading whitespace) into [24549]an email field, the user's input would be the string " awesome@example.com" but the browser's UI for email fields might translate that into a [24550]value of "awesome@example.com" (without the leading whitespace).

    [24551]input and [24552]textarea elements have a dirty value flag. This is used to track the interaction between the [24553]value and default value. If it is false, [24554]value mirrors the default value. If it is true, the default value is ignored.

    [24555]input, [24556]textarea, and [24557]select elements have a user validity boolean. It is initially set to false.

    To define the behavior of constraint validation in the face of the [24558]input element's [24559]multiple attribute, [24560]input elements can also have separately defined values.

    To define the behavior of the [24561]maxlength and [24562]minlength attributes, as well as other APIs specific to the [24563]textarea element, all form control with a [24564]value also have an algorithm for obtaining an API value. By default this algorithm is to simply return the control's [24565]value.

    The [24566]select element does not have a [24567]value; the [24568]selectedness of its [24569]option elements is what is used instead.

    4.10.17.2 Mutability

    A form control can be designated as mutable.

    This determines (by means of definitions and requirements in this specification that rely on whether an element is so designated) whether or not the user can modify the [24570]value or [24571]checkedness of a form control, or whether or not a control can be automatically prefilled.

    4.10.17.3 Association of controls and forms

    A [24572]form-associated element can have a relationship with a [24573]form element, which is called the element's form owner. If a [24574]form-associated element is not associated with a [24575]form element, its [24576]form owner is said to be null.

    A [24577]form-associated element has an associated parser inserted flag.

    (BUTTON) ✔MDN

    [24578]Element/input#form

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [24579]Attributes#attr-form

    Support in all current engines. Firefox1+Safari≤4+Chrome1+ __________________________________________________________________

    Opera≤12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer≤6+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android≤12.1+

    A [24580]form-associated element is, by default, associated with its nearest ancestor [24581]form element (as described below), but, if it is [24582]listed, may have a form attribute specified to override this.

    This feature allows authors to work around the lack of support for nested [24583]form elements.

    If a [24584]listed [24585]form-associated element has a [24586]form attribute specified, then that attribute's value must be the [24587]ID of a [24588]form element in the element's [24589]tree.

    The rules in this section are complicated by the fact that although conforming documents or [24590]trees will never contain nested [24591]form elements, it is quite possible (e.g., using a script that performs DOM manipulation) to generate [24592]trees that have such nested elements. They are also complicated by rules in the HTML parser that, for historical reasons, can result in a [24593]form-associated element being associated with a [24594]form element that is not its ancestor.

    When a [24595]form-associated element is created, its [24596]form owner must be initialized to null (no owner).

    When a [24597]form-associated element is to be associated with a form, its [24598]form owner must be set to that form.

    When a [24599]listed [24600]form-associated element's [24601]form attribute is set, changed, or removed, then the user agent must [24602]reset the form owner of that element.

    When a [24603]listed [24604]form-associated element has a [24605]form attribute and the [24606]ID of any of the elements in the [24607]tree changes, then the user agent must [24608]reset the form owner of that [24609]form-associated element.

    When a [24610]listed [24611]form-associated element has a [24612]form attribute and an element with an [24613]ID is [24614]inserted into or [24615]removed from the [24616]Document, or its [24617]HTML element moving steps are run, then the user agent must [24618]reset the form owner of that [24619]form-associated element.

    The form owner is also reset by the [24620]HTML element insertion steps, [24621]HTML element removing steps, and [24622]HTML element moving steps.

    To reset the form owner of a [24623]form-associated element element: 1. Unset element's [24624]parser inserted flag. 2. If all of the following are true: + element's [24625]form owner is not null; + element is not [24626]listed or its [24627]form content attribute is not present; and + element's [24628]form owner is its nearest [24629]form element ancestor after the change to the ancestor chain, then return. 3. Set element's [24630]form owner to null. 4. If element is [24631]listed, has a [24632]form content attribute, and is [24633]connected, then: 1. If the first element in element's [24634]tree, in [24635]tree order, to have an [24636]ID that is [24637]identical to element's [24638]form content attribute's value, is a [24639]form element, then [24640]associate the element with that [24641]form element. 5. Otherwise, if element has an ancestor [24642]form element, then [24643]associate element with the nearest such ancestor [24644]form element.

    In the following non-conforming snippet ...

    ...

    the [24645]form owner of "d" would be the inner nested form "c", while the [24646]form owner of "e" would be the outer form "a".

    This happens as follows: First, the "e" node gets associated with "c" in the [24647]HTML parser. Then, the [24648]innerHTML algorithm moves the nodes from the temporary document to the "b" element. At this point, the nodes see their ancestor chain change, and thus all the "magic" associations done by the parser are reset to normal ancestor associations.

    This example is a non-conforming document, though, as it is a violation of the content models to nest [24649]form elements, and there is a [24650]parse error for the tag.

    element.[24651]form

    (BUTTON) ✔MDN

    [24652]HTMLObjectElement/form

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [24653]HTMLSelectElement/form

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the element's [24654]form owner.

    Returns null if there isn't one.

    [24655]Listed [24656]form-associated elements except for [24657]form-associated custom elements have a form IDL attribute, which, on getting, must return the element's [24658]form owner, or null if there isn't one.

    (BUTTON) ✔MDN

    [24659]ElementInternals/form

    Support in all current engines. Firefox98+Safari16.4+Chrome77+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [24660]Form-associated custom elements don't have [24661]form IDL attribute. Instead, their [24662]ElementInternals object has a form IDL attribute. On getting, it must throw a [24663]"NotSupportedError" [24664]DOMException if the [24665]target element is not a [24666]form-associated custom element. Otherwise, it must return the element's [24667]form owner, or null if there isn't one.

    4.10.18 Attributes common to form controls

    4.10.18.1 Naming form controls: the [24668]name attribute

    (BUTTON) ✔MDN

    [24669]Element/input#name

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The name content attribute gives the name of the form control, as used in [24670]form submission and in the [24671]form element's [24672]elements object. If the attribute is specified, its value must not be the empty string or isindex.

    A number of user agents historically implemented special support for first-in-form text controls with the name isindex, and this specification previously defined related user agent requirements for it. However, some user agents subsequently dropped that special support, and the related requirements were removed from this specification. So, to avoid problematic reinterpretations in legacy user agents, the name isindex is no longer allowed.

    Other than isindex, any non-empty value for [24673]name is allowed. An [24674]ASCII case-insensitive match for the name _charset_ is special: if used as the name of a [24675]Hidden control with no [24676]value attribute, then during submission the [24677]value attribute is automatically given a value consisting of the submission character encoding.

    The name IDL attribute must [24678]reflect the [24679]name content attribute.

    DOM clobbering is a common cause of security issues. Avoid using the names of built-in form properties with the [24680]name content attribute.

    In this example, the [24681]input element overrides the built-in [24682]method property: let form = document.createElement("form"); let input = document.createElement("input"); form.appendChild(input);

    form.method; // => "get" input.name = "method"; // DOM clobbering occurs here form.method === input; // => true

    Since the input name takes precedence over built-in form properties, the JavaScript reference form.method will point to the [24683]input element named "method" instead of the built-in [24684]method property.

    4.10.18.2 Submitting element directionality: the [24685]dirname attribute

    (BUTTON) ✔MDN

    [24686]Element/input#dirname

    Support in all current engines. Firefox116+Safari6+Chrome17+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The dirname attribute on a form control element enables the submission of [24687]the directionality of the element, and gives the name of the control that contains this value during [24688]form submission. If such an attribute is specified, its value must not be the empty string.

    In this example, a form contains a text control and a submission button:

    When the user submits the form, the user agent includes three fields, one called "comment", one called "comment.dir", and one called "mode"; so if the user types "Hello", the submission body might be something like: comment=Hello&comment.dir=ltr&mode=add

    If the user manually switches to a right-to-left writing direction and enters "مرحبا", the submission body might be something like: comment=%D9%85%D8%B1%D8%AD%D8%A8%D8%A7&comment.dir=rtl&mode=add

    4.10.18.3 Limiting user input length: the [24689]maxlength attribute

    A form control maxlength attribute, controlled by the [24690]dirty value flag, declares a limit on the number of characters a user can input. The number of characters is measured using [24691]length and, in the case of [24692]textarea elements, with all newlines normalized to a single character (as opposed to CRLF pairs).

    If an element has its [24693]form control maxlength attribute specified, the attribute's value must be a [24694]valid non-negative integer. If the attribute is specified and applying the [24695]rules for parsing non-negative integers to its value results in a number, then that number is the element's maximum allowed value length. If the attribute is omitted or parsing its value results in an error, then there is no [24696]maximum allowed value length.

    Constraint validation: If an element has a [24697]maximum allowed value length, its [24698]dirty value flag is true, its [24699]value was last changed by a user edit (as opposed to a change made by a script), and the [24700]length of the element's [24701]API value is greater than the element's [24702]maximum allowed value length, then the element is [24703]suffering from being too long.

    User agents may prevent the user from causing the element's [24704]API value to be set to a value whose [24705]length is greater than the element's [24706]maximum allowed value length.

    In the case of [24707]textarea elements, the [24708]API value and [24709]value differ. In particular, [24710]newline normalization is applied before the [24711]maximum allowed value length is checked (whereas the [24712]textarea wrapping transformation is not applied).

    4.10.18.4 Setting minimum input length requirements: the [24713]minlength attribute

    A form control minlength attribute, controlled by the [24714]dirty value flag, declares a lower bound on the number of characters a user can input. The "number of characters" is measured using [24715]length and, in the case of [24716]textarea elements, with all newlines normalized to a single character (as opposed to CRLF pairs).

    The [24717]minlength attribute does not imply the required attribute. If the form control has no required attribute, then the value can still be omitted; the [24718]minlength attribute only kicks in once the user has entered a value at all. If the empty string is not allowed, then the required attribute also needs to be set.

    If an element has its [24719]form control minlength attribute specified, the attribute's value must be a [24720]valid non-negative integer. If the attribute is specified and applying the [24721]rules for parsing non-negative integers to its value results in a number, then that number is the element's minimum allowed value length. If the attribute is omitted or parsing its value results in an error, then there is no [24722]minimum allowed value length.

    If an element has both a [24723]maximum allowed value length and a [24724]minimum allowed value length, the [24725]minimum allowed value length must be smaller than or equal to the [24726]maximum allowed value length.

    Constraint validation: If an element has a [24727]minimum allowed value length, its [24728]dirty value flag is true, its [24729]value was last changed by a user edit (as opposed to a change made by a script), its [24730]value is not the empty string, and the [24731]length of the element's [24732]API value is less than the element's [24733]minimum allowed value length, then the element is [24734]suffering from being too short.

    In this example, there are four text controls. The first is required, and has to be at least 5 characters long. The other three are optional, but if the user fills one in, the user has to enter at least 10 characters.

    4.10.18.5 Enabling and disabling form controls: the [24735]disabled attribute

    (BUTTON) ✔MDN

    [24736]Attributes/disabled

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [24737]Attributes/disabled

    Support in all current engines. Firefox4+Safari6+Chrome20+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+

    [24738]Attributes/disabled

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [24739]Attributes/disabled

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [24740]Attributes/disabled

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer6+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The disabled content attribute is a [24741]boolean attribute.

    The [24742]disabled attribute for [24743]option elements and the [24744]disabled attribute for [24745]optgroup elements are defined separately.

    A form control is disabled if any of the following are true: * the element is a [24746]button, [24747]input, [24748]select, [24749]textarea, or [24750]form-associated custom element, and the [24751]disabled attribute is specified on this element (regardless of its value); or * the element is a descendant of a [24752]fieldset element whose [24753]disabled attribute is specified, and is not a descendant of that [24754]fieldset element's first [24755]legend element child, if any.

    A form control that is [24756]disabled must prevent any [24757]click events that are [24758]queued on the [24759]user interaction task source from being dispatched on the element.

    Constraint validation: If an element is [24760]disabled, it is [24761]barred from constraint validation.

    (BUTTON) ✔MDN

    [24762]HTMLButtonElement/disabled

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [24763]HTMLSelectElement/disabled

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera9+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+

    The disabled IDL attribute must [24764]reflect the [24765]disabled content attribute.

    4.10.18.6 Form submission attributes

    (BUTTON) ✔MDN

    [24766]Element/form#Attributes_for_form_submission

    Support in all current engines. Firefox4+Safari10.1+Chrome10+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android?

    Attributes for form submission can be specified both on [24767]form elements and on [24768]submit buttons (elements that represent buttons that submit forms, e.g. an [24769]input element whose [24770]type attribute is in the [24771]Submit Button state).

    The [24772]attributes for form submission that may be specified on [24773]form elements are [24774]action, [24775]enctype, [24776]method, [24777]novalidate, and [24778]target.

    The corresponding [24779]attributes for form submission that may be specified on [24780]submit buttons are [24781]formaction, [24782]formenctype, [24783]formmethod, [24784]formnovalidate, and [24785]formtarget. When omitted, they default to the values given on the corresponding attributes on the [24786]form element. __________________________________________________________________

    (BUTTON) ✔MDN

    [24787]Element/input#formaction

    Support in all current engines. Firefox4+Safari5+Chrome9+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android3+Samsung Internet?Opera Android12.1+

    The action and formaction content attributes, if specified, must have a value that is a [24788]valid non-empty URL potentially surrounded by spaces.

    The action of an element is the value of the element's [24789]formaction attribute, if the element is a [24790]submit button and has such an attribute, or the value of its [24791]form owner's [24792]action attribute, if it has one, or else the empty string. __________________________________________________________________

    (BUTTON) ✔MDN

    [24793]Element/input#formmethod

    Support in all current engines. Firefox4+Safari5+Chrome9+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android3+Samsung Internet?Opera Android12.1+

    The method and formmethod content attributes are [24794]enumerated attributes with the following keywords and states:

    Keyword State Brief description get GET Indicates the [24795]form will use the HTTP GET method. post POST Indicates the [24796]form will use the HTTP POST method. dialog Dialog Indicates the [24797]form is intended to close the [24798]dialog box in which the form finds itself, if any, and otherwise not submit.

    The [24799]method attribute's [24800]missing value default and [24801]invalid value default are both the [24802]GET state.

    The [24803]formmethod attribute has no [24804]missing value default, and its [24805]invalid value default is the [24806]GET state.

    The method of an element is one of those states. If the element is a [24807]submit button and has a [24808]formmethod attribute, then the element's [24809]method is that attribute's state; otherwise, it is the [24810]form owner's [24811]method attribute's state.

    Here the [24812]method attribute is used to explicitly specify the default value, "[24813]get", so that the search query is submitted in the URL:

    On the other hand, here the [24814]method attribute is used to specify the value "[24815]post", so that the user's message is submitted in the HTTP request's body:

    In this example, a [24816]form is used with a [24817]dialog. The [24818]method attribute's "[24819]dialog" keyword is used to have the dialog automatically close when the form is submitted.

    A ship has arrived in the harbour.

    __________________________________________________________________

    (BUTTON) ✔MDN

    [24820]Element/input#formenctype

    Support in all current engines. Firefox4+Safari5+Chrome9+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android3+Samsung Internet?Opera Android12.1+

    The enctype and formenctype content attributes are [24821]enumerated attributes with the following keywords and states: * The "application/x-www-form-urlencoded" keyword and corresponding state. * The "multipart/form-data" keyword and corresponding state. * The "text/plain" keyword and corresponding state.

    The attribute's [24822]missing value default and [24823]invalid value default are both the [24824]application/x-www-form-urlencoded state.

    The [24825]formenctype attribute has no [24826]missing value default, and its [24827]invalid value default is the [24828]application/x-www-form-urlencoded state.

    The enctype of an element is one of those three states. If the element is a [24829]submit button and has a [24830]formenctype attribute, then the element's [24831]enctype is that attribute's state; otherwise, it is the [24832]form owner's [24833]enctype attribute's state. __________________________________________________________________

    (BUTTON) ✔MDN

    [24834]Element/input#formtarget

    Support in all current engines. Firefox4+Safari5+Chrome9+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android3+Samsung Internet?Opera Android12.1+

    The target and formtarget content attributes, if specified, must have values that are [24835]valid navigable target names or keywords. __________________________________________________________________

    (BUTTON) ✔MDN

    [24836]Element/input#formnovalidate

    Support in all current engines. Firefox4+Safari5+Chrome4+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

    The novalidate and formnovalidate content attributes are [24837]boolean attributes. If present, they indicate that the form is not to be validated during submission.

    The no-validate state of an element is true if the element is a [24838]submit button and the element's [24839]formnovalidate attribute is present, or if the element's [24840]form owner's [24841]novalidate attribute is present, and false otherwise.

    This attribute is useful to include "save" buttons on forms that have validation constraints, to allow users to save their progress even though they haven't fully entered the data in the form. The following example shows a simple form that has two required fields. There are three buttons: one to submit the form, which requires both fields to be filled in; one to save the form so that the user can come back and fill it in later; and one to cancel the form altogether.

    __________________________________________________________________

    (BUTTON) ✔MDN

    [24842]HTMLFormElement/action

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [24843]HTMLFormElement/target

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [24844]HTMLFormElement/method

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [24845]HTMLFormElement/enctype

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer6+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [24846]HTMLFormElement/encoding

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The action IDL attribute must [24847]reflect the content attribute of the same name, except that on getting, when the content attribute is missing or its value is the empty string, the element's [24848]node document's [24849]URL must be returned instead. The target IDL attribute must [24850]reflect the content attribute of the same name. The method and enctype IDL attributes must [24851]reflect the respective content attributes of the same name, [24852]limited to only known values. The encoding IDL attribute must [24853]reflect the [24854]enctype content attribute, [24855]limited to only known values. The noValidate IDL attribute must [24856]reflect the [24857]novalidate content attribute. The formAction IDL attribute must [24858]reflect the [24859]formaction content attribute, except that on getting, when the content attribute is missing or its value is the empty string, the element's [24860]node document's [24861]URL must be returned instead. The formEnctype IDL attribute must [24862]reflect the [24863]formenctype content attribute, [24864]limited to only known values. The formMethod IDL attribute must [24865]reflect the [24866]formmethod content attribute, [24867]limited to only known values. The formNoValidate IDL attribute must [24868]reflect the [24869]formnovalidate content attribute. The formTarget IDL attribute must [24870]reflect the [24871]formtarget content attribute.

    4.10.18.7 Autofill

    4.10.18.7.1 Autofilling form controls: the [24872]autocomplete attribute

    (BUTTON) ✔MDN

    [24873]Attributes/autocomplete

    Support in all current engines. Firefox4+Safari6+Chrome14+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)NoInternet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    User agents sometimes have features for helping users fill forms in, for example prefilling the user's address based on earlier user input. The autocomplete content attribute can be used to hint to the user agent how to, or indeed whether to, provide such a feature.

    There are two ways this attribute is used. When wearing the autofill expectation mantle, the [24874]autocomplete attribute describes what input is expected from users. When wearing the autofill anchor mantle, the [24875]autocomplete attribute describes the meaning of the given value.

    On an [24876]input element whose [24877]type attribute is in the [24878]Hidden state, the [24879]autocomplete attribute wears the [24880]autofill anchor mantle. In all other cases, it wears the [24881]autofill expectation mantle.

    When wearing the [24882]autofill expectation mantle, the [24883]autocomplete attribute, if specified, must have a value that is an ordered [24884]set of space-separated tokens consisting of either a single token that is an [24885]ASCII case-insensitive match for the string "[24886]off", or a single token that is an [24887]ASCII case-insensitive match for the string "[24888]on", or [24889]autofill detail tokens.

    When wearing the [24890]autofill anchor mantle, the [24891]autocomplete attribute, if specified, must have a value that is an ordered [24892]set of space-separated tokens consisting of just [24893]autofill detail tokens (i.e. the "[24894]on" and "[24895]off" keywords are not allowed).

    Autofill detail tokens are the following, in the order given below: 1. Optionally, a token whose first eight characters are an [24896]ASCII case-insensitive match for the string "section-", meaning that the field belongs to the named group. For example, if there are two shipping addresses in the form, then they could be marked up as:

    Ship the blue gift to...

    Ship the red gift to...

    2. Optionally, a token that is an [24897]ASCII case-insensitive match for one of the following strings: + "shipping", meaning the field is part of the shipping address or contact information + "billing", meaning the field is part of the billing address or contact information 3. Either of the following two options: + A token that is an [24898]ASCII case-insensitive match for one of the following [24899]autofill field names, excluding those that are [24900]inappropriate for the control: o "[24901]name" o "[24902]honorific-prefix" o "[24903]given-name" o "[24904]additional-name" o "[24905]family-name" o "[24906]honorific-suffix" o "[24907]nickname" o "[24908]username" o "[24909]new-password" o "[24910]current-password" o "[24911]one-time-code" o "[24912]organization-title" o "[24913]organization" o "[24914]street-address" o "[24915]address-line1" o "[24916]address-line2" o "[24917]address-line3" o "[24918]address-level4" o "[24919]address-level3" o "[24920]address-level2" o "[24921]address-level1" o "[24922]country" o "[24923]country-name" o "[24924]postal-code" o "[24925]cc-name" o "[24926]cc-given-name" o "[24927]cc-additional-name" o "[24928]cc-family-name" o "[24929]cc-number" o "[24930]cc-exp" o "[24931]cc-exp-month" o "[24932]cc-exp-year" o "[24933]cc-csc" o "[24934]cc-type" o "[24935]transaction-currency" o "[24936]transaction-amount" o "[24937]language" o "[24938]bday" o "[24939]bday-day" o "[24940]bday-month" o "[24941]bday-year" o "[24942]sex" o "[24943]url" o "[24944]photo" (See the table below for descriptions of these values.) + The following, in the given order: 1. Optionally, a token that is an [24945]ASCII case-insensitive match for one of the following strings: # "home", meaning the field is for contacting someone at their residence # "work", meaning the field is for contacting someone at their workplace # "mobile", meaning the field is for contacting someone regardless of location # "fax", meaning the field describes a fax machine's contact details # "pager", meaning the field describes a pager's or beeper's contact details 2. A token that is an [24946]ASCII case-insensitive match for one of the following [24947]autofill field names, excluding those that are [24948]inappropriate for the control: # "[24949]tel" # "[24950]tel-country-code" # "[24951]tel-national" # "[24952]tel-area-code" # "[24953]tel-local" # "[24954]tel-local-prefix" # "[24955]tel-local-suffix" # "[24956]tel-extension" # "[24957]email" # "[24958]impp" (See the table below for descriptions of these values.) 4. Optionally, a token that is an [24959]ASCII case-insensitive match for the string "webauthn", meaning the user agent should show [24960]public key credentials available via [24961]conditional mediation when the user interacts with the form control. [24962]webauthn is only valid for [24963]input and [24964]textarea elements.

    As noted earlier, the meaning of the attribute and its keywords depends on the mantle that the attribute is wearing.

    When wearing the [24965]autofill expectation mantle... The "off" keyword indicates either that the control's input data is particularly sensitive (for example the activation code for a nuclear weapon); or that it is a value that will never be reused (for example a one-time-key for a bank login) and the user will therefore have to explicitly enter the data each time, instead of being able to rely on the UA to prefill the value for them; or that the document provides its own autocomplete mechanism and does not want the user agent to provide autocompletion values.

    The "on" keyword indicates that the user agent is allowed to provide the user with autocompletion values, but does not provide any further information about what kind of data the user might be expected to enter. User agents would have to use heuristics to decide what autocompletion values to suggest.

    The [24966]autofill field listed above indicate that the user agent is allowed to provide the user with autocompletion values, and specifies what kind of value is expected. The meaning of each such keyword is described in the table below.

    If the [24967]autocomplete attribute is omitted, the default value corresponding to the state of the element's [24968]form owner's [24969]autocomplete attribute is used instead (either "[24970]on" or "[24971]off"). If there is no [24972]form owner, then the value "[24973]on" is used.

    When wearing the [24974]autofill anchor mantle... The [24975]autofill field listed above indicate that the value of the particular kind of value specified is that value provided for this element. The meaning of each such keyword is described in the table below.

    In this example the page has explicitly specified the currency and amount of the transaction. The form requests a credit card and other billing details. The user agent could use this information to suggest a credit card that it knows has sufficient balance and that supports the relevant currency.

    The autofill field keywords relate to each other as described in the table below. Each field name listed on a row of this table corresponds to the meaning given in the cell for that row in the column labeled "Meaning". Some fields correspond to subparts of other fields; for example, a credit card expiry date can be expressed as one field giving both the month and year of expiry ("[24976]cc-exp"), or as two fields, one giving the month ("[24977]cc-exp-month") and one the year ("[24978]cc-exp-year"). In such cases, the names of the broader fields cover multiple rows, in which the narrower fields are defined.

    Generally, authors are encouraged to use the broader fields rather than the narrower fields, as the narrower fields tend to expose Western biases. For example, while it is common in some Western cultures to have a given name and a family name, in that order (and thus often referred to as a first name and a surname), many cultures put the family name first and the given name second, and many others simply have one name (a mononym). Having a single field is therefore more flexible.

    Some fields are only appropriate for certain form controls. An [24979]autofill field name is inappropriate for a control if the control does not belong to the group listed for that [24980]autofill field in the fifth column of the first row describing that [24981]autofill field in the table below. What controls fall into each group is described below the table.

    Field name Meaning Canonical Format Canonical Format Example Control group "name" Full name Free-form text, no newlines Sir Timothy John Berners-Lee, OM, KBE, FRS, FREng, FRSA [24982]Text "honorific-prefix" Prefix or title (e.g. "Mr.", "Ms.", "Dr.", "M^lle") Free-form text, no newlines Sir [24983]Text "given-name" Given name (in some Western cultures, also known as the first name) Free-form text, no newlines Timothy [24984]Text "additional-name" Additional names (in some Western cultures, also known as middle names, forenames other than the first name) Free-form text, no newlines John [24985]Text "family-name" Family name (in some Western cultures, also known as the last name or surname) Free-form text, no newlines Berners-Lee [24986]Text "honorific-suffix" Suffix (e.g. "Jr.", "B.Sc.", "MBASW", "II") Free-form text, no newlines OM, KBE, FRS, FREng, FRSA [24987]Text "nickname" Nickname, screen name, handle: a typically short name used instead of the full name Free-form text, no newlines Tim [24988]Text "organization-title" Job title (e.g. "Software Engineer", "Senior Vice President", "Deputy Managing Director") Free-form text, no newlines Professor [24989]Text "username" A username Free-form text, no newlines timbl [24990]Username "new-password" A new password (e.g. when creating an account or changing a password) Free-form text, no newlines GUMFXbadyrS3 [24991]Password "current-password" The current password for the account identified by the [24992]username field (e.g. when logging in) Free-form text, no newlines qwerty [24993]Password "one-time-code" One-time code used for verifying user identity Free-form text, no newlines 123456 [24994]Password "organization" Company name corresponding to the person, address, or contact information in the other fields associated with this field Free-form text, no newlines World Wide Web Consortium [24995]Text "street-address" Street address (multiple lines, newlines preserved) Free-form text 32 Vassar Street MIT Room 32-G524 [24996]Multiline "address-line1" Street address (one line per field) Free-form text, no newlines 32 Vassar Street [24997]Text "address-line2" Free-form text, no newlines MIT Room 32-G524 [24998]Text "address-line3" Free-form text, no newlines [24999]Text "address-level4" The most fine-grained [25000]administrative level, in addresses with four administrative levels Free-form text, no newlines [25001]Text "address-level3" The [25002]third administrative level, in addresses with three or more administrative levels Free-form text, no newlines [25003]Text "address-level2" The [25004]second administrative level, in addresses with two or more administrative levels; in the countries with two administrative levels, this would typically be the city, town, village, or other locality within which the relevant street address is found Free-form text, no newlines Cambridge [25005]Text "address-level1" The broadest [25006]administrative level in the address, i.e. the province within which the locality is found; for example, in the US, this would be the state; in Switzerland it would be the canton; in the UK, the post town Free-form text, no newlines MA [25007]Text "country" Country code Valid [25008]ISO 3166-1-alpha-2 country code [25009][ISO3166] US [25010]Text "country-name" Country name Free-form text, no newlines; [25011]derived from country in some cases US [25012]Text "postal-code" Postal code, post code, ZIP code, CEDEX code (if CEDEX, append "CEDEX", and the arrondissement, if relevant, to the [25013]address-level2 field) Free-form text, no newlines 02139 [25014]Text "cc-name" Full name as given on the payment instrument Free-form text, no newlines Tim Berners-Lee [25015]Text "cc-given-name" Given name as given on the payment instrument (in some Western cultures, also known as the first name) Free-form text, no newlines Tim [25016]Text "cc-additional-name" Additional names given on the payment instrument (in some Western cultures, also known as middle names, forenames other than the first name) Free-form text, no newlines [25017]Text "cc-family-name" Family name given on the payment instrument (in some Western cultures, also known as the last name or surname) Free-form text, no newlines Berners-Lee [25018]Text "cc-number" Code identifying the payment instrument (e.g. the credit card number) [25019]ASCII digits 4114360123456785 [25020]Text "cc-exp" Expiration date of the payment instrument [25021]Valid month string 2014-12 [25022]Month "cc-exp-month" Month component of the expiration date of the payment instrument [25023]Valid integer in the range 1..12 12 [25024]Numeric "cc-exp-year" Year component of the expiration date of the payment instrument [25025]Valid integer greater than zero 2014 [25026]Numeric "cc-csc" Security code for the payment instrument (also known as the card security code (CSC), card validation code (CVC), card verification value (CVV), signature panel code (SPC), credit card ID (CCID), etc.) [25027]ASCII digits 419 [25028]Text "cc-type" Type of payment instrument Free-form text, no newlines Visa [25029]Text "transaction-currency" The currency that the user would prefer the transaction to use ISO 4217 currency code [25030][ISO4217] GBP [25031]Text "transaction-amount" The amount that the user would like for the transaction (e.g. when entering a bid or sale price) [25032]Valid floating-point number 401.00 [25033]Numeric "language" Preferred language Valid BCP 47 language tag [25034][BCP47] en [25035]Text "bday" Birthday [25036]Valid date string 1955-06-08 [25037]Date "bday-day" Day component of birthday [25038]Valid integer in the range 1..31 8 [25039]Numeric "bday-month" Month component of birthday [25040]Valid integer in the range 1..12 6 [25041]Numeric "bday-year" Year component of birthday [25042]Valid integer greater than zero 1955 [25043]Numeric "sex" Gender identity (e.g. Female, Fa'afafine) Free-form text, no newlines Male [25044]Text "url" Home page or other web page corresponding to the company, person, address, or contact information in the other fields associated with this field [25045]Valid URL string https://www.w3.org/People/Berners-Lee/ [25046]URL "photo" Photograph, icon, or other image corresponding to the company, person, address, or contact information in the other fields associated with this field [25047]Valid URL string https://www.w3.org/Press/Stock/Berners-Lee/2001-europaeum-eighth.jpg [25048]URL "tel" Full telephone number, including country code [25049]ASCII digits and U+0020 SPACE characters, prefixed by a U+002B PLUS SIGN character (+) +1 617 253 5702 [25050]Tel "tel-country-code" Country code component of the telephone number [25051]ASCII digits prefixed by a U+002B PLUS SIGN character (+) +1 [25052]Text "tel-national" Telephone number without the county code component, with a country-internal prefix applied if applicable [25053]ASCII digits and U+0020 SPACE characters 617 253 5702 [25054]Text "tel-area-code" Area code component of the telephone number, with a country-internal prefix applied if applicable [25055]ASCII digits 617 [25056]Text "tel-local" Telephone number without the country code and area code components [25057]ASCII digits 2535702 [25058]Text "tel-local-prefix" First part of the component of the telephone number that follows the area code, when that component is split into two components [25059]ASCII digits 253 [25060]Text "tel-local-suffix" Second part of the component of the telephone number that follows the area code, when that component is split into two components [25061]ASCII digits 5702 [25062]Text "tel-extension" Telephone number internal extension code [25063]ASCII digits 1000 [25064]Text "email" Email address [25065]Valid email address timbl@w3.org [25066]Username "impp" URL representing an instant messaging protocol endpoint (for example, "aim:goim?screenname=example" or "xmpp:fred@example.net") [25067]Valid URL string irc://example.org/timbl,isuser [25068]URL

    The groups correspond to controls as follows:

    Text [25069]input elements with a [25070]type attribute in the [25071]Hidden state [25072]input elements with a [25073]type attribute in the [25074]Text state [25075]input elements with a [25076]type attribute in the [25077]Search state [25078]textarea elements [25079]select elements

    Multiline [25080]input elements with a [25081]type attribute in the [25082]Hidden state [25083]textarea elements [25084]select elements

    Password [25085]input elements with a [25086]type attribute in the [25087]Hidden state [25088]input elements with a [25089]type attribute in the [25090]Text state [25091]input elements with a [25092]type attribute in the [25093]Search state [25094]input elements with a [25095]type attribute in the [25096]Password state [25097]textarea elements [25098]select elements

    URL [25099]input elements with a [25100]type attribute in the [25101]Hidden state [25102]input elements with a [25103]type attribute in the [25104]Text state [25105]input elements with a [25106]type attribute in the [25107]Search state [25108]input elements with a [25109]type attribute in the [25110]URL state [25111]textarea elements [25112]select elements

    Username [25113]input elements with a [25114]type attribute in the [25115]Hidden state [25116]input elements with a [25117]type attribute in the [25118]Text state [25119]input elements with a [25120]type attribute in the [25121]Search state [25122]input elements with a [25123]type attribute in the [25124]Email state [25125]textarea elements [25126]select elements

    Tel [25127]input elements with a [25128]type attribute in the [25129]Hidden state [25130]input elements with a [25131]type attribute in the [25132]Text state [25133]input elements with a [25134]type attribute in the [25135]Search state [25136]input elements with a [25137]type attribute in the [25138]Telephone state [25139]textarea elements [25140]select elements

    Numeric [25141]input elements with a [25142]type attribute in the [25143]Hidden state [25144]input elements with a [25145]type attribute in the [25146]Text state [25147]input elements with a [25148]type attribute in the [25149]Search state [25150]input elements with a [25151]type attribute in the [25152]Number state [25153]textarea elements [25154]select elements

    Month [25155]input elements with a [25156]type attribute in the [25157]Hidden state [25158]input elements with a [25159]type attribute in the [25160]Text state [25161]input elements with a [25162]type attribute in the [25163]Search state [25164]input elements with a [25165]type attribute in the [25166]Month state [25167]textarea elements [25168]select elements

    Date [25169]input elements with a [25170]type attribute in the [25171]Hidden state [25172]input elements with a [25173]type attribute in the [25174]Text state [25175]input elements with a [25176]type attribute in the [25177]Search state [25178]input elements with a [25179]type attribute in the [25180]Date state [25181]textarea elements [25182]select elements

    Address levels: The "[25183]address-level1" – "[25184]address-level4" fields are used to describe the locality of the street address. Different locales have different numbers of levels. For example, the US uses two levels (state and town), the UK uses one or two depending on the address (the post town, and in some cases the locality), and China can use three (province, city, district). The "[25185]address-level1" field represents the widest administrative division. Different locales order the fields in different ways; for example, in the US the town (level 2) precedes the state (level 1); while in Japan the prefecture (level 1) precedes the city (level 2) which precedes the district (level 3). Authors are encouraged to provide forms that are presented in a way that matches the country's conventions (hiding, showing, and rearranging fields accordingly as the user changes the country).

    4.10.18.7.2 Processing model

    Each [25186]input element to which the [25187]autocomplete attribute [25188]applies, each [25189]select element, and each [25190]textarea element, has an autofill hint set, an autofill scope, an autofill field name, a non-autofill credential type, and an IDL-exposed autofill value.

    The [25191]autofill field name specifies the specific kind of data expected in the field, e.g. "[25192]street-address" or "[25193]cc-exp".

    The [25194]autofill hint set identifies what address or contact information type the user agent is to look at, e.g. "[25195]shipping [25196]fax" or "[25197]billing".

    The [25198]non-autofill credential type identifies a type of [25199]credential that may be offered by the user agent when the user interacts with the field alongside other [25200]autofill field values. If this value is "webauthn" instead of null, selecting a credential of that type will resolve a pending [25201]conditional mediation [25202]navigator.credentials.get() request, instead of autofilling the field.

    For example, a sign-in page could instruct the user agent to either autofill a saved password, or show a [25203]public key credential that will resolve a pending [25204]navigator.credentials.get() request. A user can select either to sign-in.

    The [25205]autofill scope identifies the group of fields whose information concerns the same subject, and consists of the [25206]autofill hint set with, if applicable, the "section-*" prefix, e.g. "billing", "section-parent shipping", or "section-child shipping home".

    These values are defined as the result of running the following algorithm: 1. If the element has no [25207]autocomplete attribute, then jump to the step labeled default. 2. Let tokens be the result of [25208]splitting the attribute's value on ASCII whitespace. 3. If tokens is empty, then jump to the step labeled default. 4. Let index be the index of the last token in tokens. 5. Let field be the indexth token in tokens. 6. Set the category, maximum tokens pair to the result of [25209]determining a field's category given field. 7. If category is null, then jump to the step labeled default. 8. If the number of tokens in tokens is greater than maximum tokens, then jump to the step labeled default. 9. If category is Off or Automatic but the element's [25210]autocomplete attribute is wearing the [25211]autofill anchor mantle, then jump to the step labeled default. 10. If category is Off, let the element's [25212]autofill field name be the string "off", let its [25213]autofill hint set be empty, and let its [25214]IDL-exposed autofill value be the string "off". Then, return. 11. If category is Automatic, let the element's [25215]autofill field name be the string "on", let its [25216]autofill hint set be empty, and let its [25217]IDL-exposed autofill value be the string "on". Then, return. 12. Let scope tokens be an empty list. 13. Let hint tokens be an empty set. 14. Let credential type be null. 15. Let IDL value have the same value as field. 16. If category is Credential and the indexth token in tokens is an [25218]ASCII case-insensitive match for "[25219]webauthn", then run the substeps that follow: 1. Set credential type to "webauthn". 2. If the indexth token in tokens is the first entry, then skip to the step labeled done. 3. Decrement index by one. 4. Set the category, maximum tokens pair to the result of [25220]determining a field's category given the indexth token in tokens. 5. If category is not Normal and category is not Contact, then jump to the step labeled default. 6. If index is greater than maximum tokens minus one (i.e. if the number of remaining tokens is greater than maximum tokens), then jump to the step labeled default. 7. Set IDL value to the concatenation of the indexth token in tokens, a U+0020 SPACE character, and the previous value of IDL value. 17. If the indexth token in tokens is the first entry, then skip to the step labeled done. 18. Decrement index by one. 19. If category is Contact and the indexth token in tokens is an [25221]ASCII case-insensitive match for one of the strings in the following list, then run the substeps that follow: + "[25222]home" + "[25223]work" + "[25224]mobile" + "[25225]fax" + "[25226]pager" The substeps are: 1. Let contact be the matching string from the list above. 2. Insert contact at the start of scope tokens. 3. Add contact to hint tokens. 4. Let IDL value be the concatenation of contact, a U+0020 SPACE character, and the previous value of IDL value. 5. If the indexth entry in tokens is the first entry, then skip to the step labeled done. 6. Decrement index by one. 20. If the indexth token in tokens is an [25227]ASCII case-insensitive match for one of the strings in the following list, then run the substeps that follow: + "[25228]shipping" + "[25229]billing" The substeps are: 1. Let mode be the matching string from the list above. 2. Insert mode at the start of scope tokens. 3. Add mode to hint tokens. 4. Let IDL value be the concatenation of mode, a U+0020 SPACE character, and the previous value of IDL value. 5. If the indexth entry in tokens is the first entry, then skip to the step labeled done. 6. Decrement index by one. 21. If the indexth entry in tokens is not the first entry, then jump to the step labeled default. 22. If the first eight characters of the indexth token in tokens are not an [25230]ASCII case-insensitive match for the string "[25231]section-", then jump to the step labeled default. 23. Let section be the indexth token in tokens, [25232]converted to ASCII lowercase. 24. Insert section at the start of scope tokens. 25. Let IDL value be the concatenation of section, a U+0020 SPACE character, and the previous value of IDL value. 26. Done: Let the element's [25233]autofill hint set be hint tokens. 27. Let the element's [25234]non-autofill credential type be credential type. 28. Let the element's [25235]autofill scope be scope tokens. 29. Let the element's [25236]autofill field name be field. 30. Let the element's [25237]IDL-exposed autofill value be IDL value. 31. Return. 32. Default: Let the element's [25238]IDL-exposed autofill value be the empty string, and its [25239]autofill hint set and [25240]autofill scope be empty. 33. If the element's [25241]autocomplete attribute is wearing the [25242]autofill anchor mantle, then let the element's [25243]autofill field name be the empty string and return. 34. Let form be the element's [25244]form owner, if any, or null otherwise. 35. If form is not null and form's [25245]autocomplete attribute is in the [25246]off state, then let the element's [25247]autofill field name be "[25248]off". Otherwise, let the element's [25249]autofill field name be "[25250]on".

    To determine a field's category, given field: 1. If the field is not an [25251]ASCII case-insensitive match for one of the tokens given in the first column of the following table, return the pair (null, null).

    Token Maximum number of tokens Category "[25252]off" 1 Off "[25253]on" 1 Automatic "[25254]name" 3 Normal "[25255]honorific-prefix" 3 Normal "[25256]given-name" 3 Normal "[25257]additional-name" 3 Normal "[25258]family-name" 3 Normal "[25259]honorific-suffix" 3 Normal "[25260]nickname" 3 Normal "[25261]organization-title" 3 Normal "[25262]username" 3 Normal "[25263]new-password" 3 Normal "[25264]current-password" 3 Normal "[25265]one-time-code" 3 Normal "[25266]organization" 3 Normal "[25267]street-address" 3 Normal "[25268]address-line1" 3 Normal "[25269]address-line2" 3 Normal "[25270]address-line3" 3 Normal "[25271]address-level4" 3 Normal "[25272]address-level3" 3 Normal "[25273]address-level2" 3 Normal "[25274]address-level1" 3 Normal "[25275]country" 3 Normal "[25276]country-name" 3 Normal "[25277]postal-code" 3 Normal "[25278]cc-name" 3 Normal "[25279]cc-given-name" 3 Normal "[25280]cc-additional-name" 3 Normal "[25281]cc-family-name" 3 Normal "[25282]cc-number" 3 Normal "[25283]cc-exp" 3 Normal "[25284]cc-exp-month" 3 Normal "[25285]cc-exp-year" 3 Normal "[25286]cc-csc" 3 Normal "[25287]cc-type" 3 Normal "[25288]transaction-currency" 3 Normal "[25289]transaction-amount" 3 Normal "[25290]language" 3 Normal "[25291]bday" 3 Normal "[25292]bday-day" 3 Normal "[25293]bday-month" 3 Normal "[25294]bday-year" 3 Normal "[25295]sex" 3 Normal "[25296]url" 3 Normal "[25297]photo" 3 Normal "[25298]tel" 4 Contact "[25299]tel-country-code" 4 Contact "[25300]tel-national" 4 Contact "[25301]tel-area-code" 4 Contact "[25302]tel-local" 4 Contact "[25303]tel-local-prefix" 4 Contact "[25304]tel-local-suffix" 4 Contact "[25305]tel-extension" 4 Contact "[25306]email" 4 Contact "[25307]impp" 4 Contact "[25308]webauthn" 5 Credential 2. Otherwise, let maximum tokens and category be the values of the cells in the second and third columns of that row respectively. 3. Return the pair (category, maximum tokens). __________________________________________________________________

    For the purposes of autofill, a control's data depends on the kind of control:

    An [25309]input element with its [25310]type attribute in the [25311]Email state and with the [25312]multiple attribute specified The element's [25313]values.

    Any other [25314]input element A [25315]textarea element The element's [25316]value.

    A [25317]select element with its [25318]multiple attribute specified The [25319]option elements in the [25320]select element's [25321]list of options that have their [25322]selectedness set to true.

    Any other [25323]select element The [25324]option element in the [25325]select element's [25326]list of options that has its [25327]selectedness set to true. __________________________________________________________________

    How to process the [25328]autofill hint set, [25329]autofill scope, and [25330]autofill field name depends on the mantle that the [25331]autocomplete attribute is wearing.

    When wearing the [25332]autofill expectation mantle... When an element's [25333]autofill field name is "[25334]off", the user agent should not remember the [25335]control's data, and should not offer past values to the user.

    In addition, when an element's [25336]autofill field name is "[25337]off", [25338]values are reset when [25339]reactivating a document.

    Banks frequently do not want UAs to prefill login information:

    When an element's [25340]autofill field name is not "[25341]off", the user agent may store the [25342]control's data, and may offer previously stored values to the user.

    For example, suppose a user visits a page with this control:

    This might render as follows:

    A drop-down control with a long alphabetical list of countries.

    Suppose that on the first visit to this page, the user selects "Zambia". On the second visit, the user agent could duplicate the entry for Zambia at the top of the list, so that the interface instead looks like this:

    The same drop-down control with the alphabetical list of countries, but with Zambia as an entry at the top.

    When the [25343]autofill field name is "[25344]on", the user agent should attempt to use heuristics to determine the most appropriate values to offer the user, e.g. based on the element's [25345]name value, the position of the element in its [25346]tree, what other fields exist in the form, and so forth.

    When the [25347]autofill field name is one of the names of the [25348]autofill fields described above, the user agent should provide suggestions that match the meaning of the field name as given in the table earlier in this section. The [25349]autofill hint set should be used to select amongst multiple possible suggestions.

    For example, if a user once entered one address into fields that used the "[25350]shipping" keyword, and another address into fields that used the "[25351]billing" keyword, then in subsequent forms only the first address would be suggested for form controls whose [25352]autofill hint set contains the keyword "[25353]shipping". Both addresses might be suggested, however, for address-related form controls whose [25354]autofill hint set does not contain either keyword.

    When wearing the [25355]autofill anchor mantle... When the [25356]autofill field name is not the empty string, then the user agent must act as if the user had specified the [25357]control's data for the given [25358]autofill hint set, [25359]autofill scope, and [25360]autofill field name combination.

    When the user agent autofills form controls, elements with the same [25361]form owner and the same [25362]autofill scope must use data relating to the same person, address, payment instrument, and contact details. When a user agent autofills "[25363]country" and "[25364]country-name" fields with the same [25365]form owner and [25366]autofill scope, and the user agent has a value for the [25367]country" field(s), then the "[25368]country-name" field(s) must be filled using a human-readable name for the same country. When a user agent fills in multiple fields at once, all fields with the same [25369]autofill field name, [25370]form owner, and [25371]autofill scope must be filled with the same value.

    Suppose a user agent knows of two phone numbers, +1 555 123 1234 and +1 555 666 7777. It would not be conforming for the user agent to fill a field with autocomplete="shipping tel-local-prefix" with the value "123" and another field in the same form with autocomplete="shipping tel-local-suffix" with the value "7777". The only valid prefilled values given the aforementioned information would be "123" and "1234", or "666" and "7777", respectively.

    Similarly, if a form for some reason contained both a "[25372]cc-exp" field and a "[25373]cc-exp-month" field, and the user agent prefilled the form, then the month component of the former would have to match the latter.

    This requirement interacts with the [25374]autofill anchor mantle also. Consider the following markup snippet:

    The only value that a conforming user agent could suggest in the text control is "TreePlate", the value given by the hidden [25375]input element.

    The "section-*" tokens in the [25376]autofill scope are opaque; user agents must not attempt to derive meaning from the precise values of these tokens.

    For example, it would not be conforming if the user agent decided that it should offer the address it knows to be the user's daughter's address for "section-child" and the addresses it knows to be the user's spouses' addresses for "section-spouse".

    The autocompletion mechanism must be implemented by the user agent acting as if the user had modified the [25377]control's data, and must be done at a time where the element is [25378]mutable (e.g. just after the element has been inserted into the document, or when the user agent [25379]stops parsing). User agents must only prefill controls using values that the user could have entered.

    For example, if a [25380]select element only has [25381]option elements with values "Steve" and "Rebecca", "Jay", and "Bob", and has an [25382]autofill field name "[25383]given-name", but the user agent's only idea for what to prefill the field with is "Evan", then the user agent cannot prefill the field. It would not be conforming to somehow set the [25384]select element to the value "Evan", since the user could not have done so themselves.

    A user agent prefilling a form control must not discriminate between form controls that are [25385]in a document tree and those that are [25386]connected; that is, it is not conforming to make the decision on whether or not to autofill based on whether the element's [25387]root is a [25388]shadow root versus a [25389]Document.

    A user agent prefilling a form control's [25390]value must not cause that control to [25391]suffer from a type mismatch, [25392]suffer from being too long, [25393]suffer from being too short, [25394]suffer from an underflow, [25395]suffer from an overflow, or [25396]suffer from a step mismatch. A user agent prefilling a form control's [25397]value must not cause that control to [25398]suffer from a pattern mismatch either. Where possible given the control's constraints, user agents must use the format given as canonical in the aforementioned table. Where it's not possible for the canonical format to be used, user agents should use heuristics to attempt to convert values so that they can be used.

    For example, if the user agent knows that the user's middle name is "Ines", and attempts to prefill a form control that looks like this:

    ...then the user agent could convert "Ines" to "I" and prefill it that way.

    A more elaborate example would be with month values. If the user agent knows that the user's birthday is the 27th of July 2012, then it might try to prefill all of the following controls with slightly different values, all driven from this information:

    2012-07 The day is dropped since the [25399]Month state only accepts a month/year combination. (Note that this example is non-conforming, because the [25400]autofill field name [25401]bday is not allowed with the [25402]Month state.)

    July The user agent picks the month from the listed options, either by noticing there are twelve options and picking the 7th, or by recognizing that one of the strings (three characters "Jul" followed by a newline and a space) is a close match for the name of the month (July) in one of the user agent's supported languages, or through some other similar mechanism.

    7 User agent converts "July" to a month number in the range 1..12, like the field.

    6 User agent converts "July" to a month number in the range 0..11, like the field.

    User agent doesn't fill in the field, since it can't make a good guess as to what the form expects.

    A user agent may allow the user to override an element's [25403]autofill field name, e.g. to change it from "[25404]off" to "[25405]on" to allow values to be remembered and prefilled despite the page author's objections, or to always "[25406]off", never remembering values.

    More specifically, user agents may in particular consider replacing the [25407]autofill field name of form controls that match the description given in the first column of the following table, when their [25408]autofill field name is either "[25409]on" or "[25410]off", with the value given in the second cell of that row. If this table is used, the replacements must be done in [25411]tree order, since all but the first row references the [25412]autofill field name of earlier elements. When the descriptions below refer to form controls being preceded or followed by others, they mean in the list of [25413]listed elements that share the same [25414]form owner.

    Form control New [25415]autofill field name an [25416]input element whose [25417]type attribute is in the [25418]Text state that is followed by an [25419]input element whose [25420]type attribute is in the [25421]Password state "[25422]username" an [25423]input element whose [25424]type attribute is in the [25425]Password state that is preceded by an [25426]input element whose [25427]autofill field name is "[25428]username" "[25429]current-password" an [25430]input element whose [25431]type attribute is in the [25432]Password state that is preceded by an [25433]input element whose [25434]autofill field name is "[25435]current-password" "[25436]new-password" an [25437]input element whose [25438]type attribute is in the [25439]Password state that is preceded by an [25440]input element whose [25441]autofill field name is "[25442]new-password" "[25443]new-password"

    The autocomplete IDL attribute, on getting, must return the element's [25444]IDL-exposed autofill value, and on setting, must [25445]reflect the content attribute of the same name.

    4.10.19 APIs for the text control selections

    The [25446]input and [25447]textarea elements define several attributes and methods for handling their selection. Their shared algorithms are defined here.

    element.[25448]select() Selects everything in the text control.

    element.[25449]selectionStart [ = value ] Returns the offset to the start of the selection.

    Can be set, to change the start of the selection.

    element.[25450]selectionEnd [ = value ] Returns the offset to the end of the selection.

    Can be set, to change the end of the selection.

    element.[25451]selectionDirection [ = value ] Returns the current direction of the selection.

    Can be set, to change the direction of the selection.

    The possible values are "forward", "backward", and "none".

    element.[25452]setSelectionRange(start, end [, direction])

    (BUTTON) ✔MDN

    [25453]HTMLInputElement/setSelectionRange

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera8+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Changes the selection to cover the given substring in the given direction. If the direction is omitted, it will be reset to be the platform default (none or forward).

    element.[25454]setRangeText(replacement [, start, end [, selectionMode ] ])

    (BUTTON) ✔MDN

    [25455]HTMLInputElement/setRangeText

    Support in all current engines.

    Firefox27+Safari7+Chrome24+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Replaces a range of text with the new text. If the start and end arguments are not provided, the range is assumed to be the selection.

    The final argument determines how the selection will be set after the text has been replaced. The possible values are:

    "[25456]select" Selects the newly inserted text.

    "[25457]start" Moves the selection to just before the inserted text.

    "[25458]end" Moves the selection to just after the selected text.

    "[25459]preserve" Attempts to preserve the selection. This is the default.

    All [25460]input elements to which these APIs [25461]apply, and all [25462]textarea elements, have either a selection or a text entry cursor position at all times (even for elements that are not [25463]being rendered), measured in offsets into the [25464]code units of the control's [25465]relevant value. The initial state must consist of a [25466]text entry cursor at the beginning of the control.

    For [25467]input elements, these APIs must operate on the element's [25468]value. For [25469]textarea elements, these APIs must operate on the element's [25470]API value. In the below algorithms, we call the value string being operated on the relevant value.

    The use of [25471]API value instead of [25472]raw value for [25473]textarea elements means that U+000D (CR) characters are normalized away. For example,

    If we had operated on the [25474]raw value of "A\r\nB", then we would have replaced the characters "A\r", ending up with a result of "replaced\nB". But since we used the [25475]API value of "A\nB", we replaced the characters "A\n", giving "replacedB".

    Characters with no visible rendering, such as U+200D ZERO WIDTH JOINER, still count as characters. Thus, for instance, the selection can include just an invisible character, and the text insertion cursor can be placed to one side or another of such a character.

    Whenever the [25476]relevant value changes for an element to which these APIs apply, run these steps: 1. If the element has a [25477]selection: 1. If the start of the selection is now past the end of the [25478]relevant value, set it to the end of the [25479]relevant value. 2. If the end of the selection is now past the end of the [25480]relevant value, set it to the end of the [25481]relevant value. 3. If the user agent does not support empty selection, and both the start and end of the selection are now pointing to the end of the [25482]relevant value, then instead set the element's [25483]text entry cursor position to the end of the [25484]relevant value, removing any selection. 2. Otherwise, the element must have a [25485]text entry cursor position position. If it is now past the end of the [25486]relevant value, set it to the end of the [25487]relevant value.

    In some cases where the [25488]relevant value changes, other parts of the specification will also modify the [25489]text entry cursor position, beyond just the clamping steps above. For example, see the [25490]value setter for [25491]textarea.

    Where possible, user interface features for changing the [25492]text selection in [25493]input and [25494]textarea elements must be implemented using the [25495]set the selection range algorithm so that, e.g., all the same events fire.

    The [25496]selections of [25497]input and [25498]textarea elements have a selection direction, which is either "forward", "backward", or "none". The exact meaning of the selection direction depends on the platform. This direction is set when the user manipulates the selection. The initial [25499]selection direction must be "none" if the platform supports that direction, or "forward" otherwise.

    To set the selection direction of an element to a given direction, update the element's [25500]selection direction to the given direction, unless the direction is "none" and the platform does not support that direction; in that case, update the element's [25501]selection direction to "forward".

    On Windows, the direction indicates the position of the caret relative to the selection: a "forward" selection has the caret at the end of the selection and a "backward" selection has the caret at the start of the selection. Windows has no "none" direction.

    On Mac, the direction indicates which end of the selection is affected when the user adjusts the size of the selection using the arrow keys with the Shift modifier: the "forward" direction means the end of the selection is modified, and the "backward" direction means the start of the selection is modified. The "none" direction is the default on Mac, it indicates that no particular direction has yet been selected. The user sets the direction implicitly when first adjusting the selection, based on which directional arrow key was used.

    (BUTTON) ✔MDN

    [25502]HTMLInputElement/select

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [25503]HTMLInputElement/select

    The select() method, when invoked, must run the following steps: 1. If this element is an [25504]input element, and either [25505]select() [25506]does not apply to this element or the corresponding control has no selectable text, return. For instance, in a user agent where [25507] is rendered as a color well with a picker, as opposed to a text control accepting a hexadecimal color code, there would be no selectable text, and thus calls to the method are ignored. 2. [25508]Set the selection range with 0 and infinity.

    The selectionStart attribute's getter must run the following steps: 1. If this element is an [25509]input element, and [25510]selectionStart [25511]does not apply to this element, return null. 2. If there is no [25512]selection, return the [25513]code unit offset within the [25514]relevant value to the character that immediately follows the [25515]text entry cursor. 3. Return the [25516]code unit offset within the [25517]relevant value to the character that immediately follows the start of the [25518]selection.

    The [25519]selectionStart attribute's setter must run the following steps: 1. If this element is an [25520]input element, and [25521]selectionStart [25522]does not apply to this element, throw an [25523]"InvalidStateError" [25524]DOMException. 2. Let end be the value of this element's [25525]selectionEnd attribute. 3. If end is less than the given value, set end to the given value. 4. [25526]Set the selection range with the given value, end, and the value of this element's [25527]selectionDirection attribute.

    The selectionEnd attribute's getter must run the following steps: 1. If this element is an [25528]input element, and [25529]selectionEnd [25530]does not apply to this element, return null. 2. If there is no [25531]selection, return the [25532]code unit offset within the [25533]relevant value to the character that immediately follows the [25534]text entry cursor. 3. Return the [25535]code unit offset within the [25536]relevant value to the character that immediately follows the end of the [25537]selection.

    The [25538]selectionEnd attribute's setter must run the following steps: 1. If this element is an [25539]input element, and [25540]selectionEnd [25541]does not apply to this element, throw an [25542]"InvalidStateError" [25543]DOMException. 2. [25544]Set the selection range with the value of this element's [25545]selectionStart attribute, the given value, and the value of this element's [25546]selectionDirection attribute.

    The selectionDirection attribute's getter must run the following steps: 1. If this element is an [25547]input element, and [25548]selectionDirection [25549]does not apply to this element, return null. 2. Return this element's [25550]selection direction.

    The [25551]selectionDirection attribute's setter must run the following steps: 1. If this element is an [25552]input element, and [25553]selectionDirection [25554]does not apply to this element, throw an [25555]"InvalidStateError" [25556]DOMException. 2. [25557]Set the selection range with the value of this element's [25558]selectionStart attribute, the value of this element's [25559]selectionEnd attribute, and the given value.

    The setSelectionRange(start, end, direction) method, when invoked, must run the following steps: 1. If this element is an [25560]input element, and [25561]setSelectionRange() [25562]does not apply to this element, throw an [25563]"InvalidStateError" [25564]DOMException. 2. [25565]Set the selection range with start, end, and direction.

    To set the selection range with an integer or null start, an integer or null or the special value infinity end, and optionally a string direction, run the following steps: 1. If start is null, let start be zero. 2. If end is null, let end be zero. 3. Set the [25566]selection of the text control to the sequence of [25567]code units within the [25568]relevant value starting with the code unit at the startth position (in logical order) and ending with the code unit at the (end-1)th position. Arguments greater than the [25569]length of the [25570]relevant value of the text control (including the special value infinity) must be treated as pointing at the end of the text control. If end is less than or equal to start then the start of the selection and the end of the selection must both be placed immediately before the character with offset end. In UAs where there is no concept of an empty selection, this must set the cursor to be just before the character with offset end. 4. If direction is not [25571]identical to either "backward" or "forward", or if the direction argument was not given, set direction to "none". 5. [25572]Set the selection direction of the text control to direction. 6. If the previous steps caused the [25573]selection of the text control to be modified (in either extent or [25574]direction), then [25575]queue an element task on the [25576]user interaction task source given the element to [25577]fire an event named [25578]select at the element, with the [25579]bubbles attribute initialized to true.

    The setRangeText(replacement, start, end, selectMode) method, when invoked, must run the following steps: 1. If this element is an [25580]input element, and [25581]setRangeText() [25582]does not apply to this element, throw an [25583]"InvalidStateError" [25584]DOMException. 2. Set this element's [25585]dirty value flag to true. 3. If the method has only one argument, then let start and end have the values of the [25586]selectionStart attribute and the [25587]selectionEnd attribute respectively. Otherwise, let start, end have the values of the second and third arguments respectively. 4. If start is greater than end, then throw an [25588]"IndexSizeError" [25589]DOMException. 5. If start is greater than the [25590]length of the [25591]relevant value of the text control, then set it to the [25592]length of the [25593]relevant value of the text control. 6. If end is greater than the [25594]length of the [25595]relevant value of the text control, then set it to the [25596]length of the [25597]relevant value of the text control. 7. Let selection start be the current value of the [25598]selectionStart attribute. 8. Let selection end be the current value of the [25599]selectionEnd attribute. 9. If start is less than end, delete the sequence of [25600]code units within the element's [25601]relevant value starting with the code unit at the startth position and ending with the code unit at the (end-1)th position. 10. Insert the value of the first argument into the text of the [25602]relevant value of the text control, immediately before the startth [25603]code unit. 11. Let new length be the [25604]length of the value of the first argument. 12. Let new end be the sum of start and new length. 13. Run the appropriate set of substeps from the following list:

    If the fourth argument's value is "select" Let selection start be start.

    Let selection end be new end.

    If the fourth argument's value is "start" Let selection start and selection end be start.

    If the fourth argument's value is "end" Let selection start and selection end be new end.

    If the fourth argument's value is "preserve" If the method has only one argument

    1. Let old length be end minus start. 2. Let delta be new length minus old length. 3. If selection start is greater than end, then increment it by delta. (If delta is negative, i.e. the new text is shorter than the old text, then this will decrease the value of selection start.) Otherwise: if selection start is greater than start, then set it to start. (This snaps the start of the selection to the start of the new text if it was in the middle of the text that it replaced.) 4. If selection end is greater than end, then increment it by delta in the same way. Otherwise: if selection end is greater than start, then set it to new end. (This snaps the end of the selection to the end of the new text if it was in the middle of the text that it replaced.)

    14. [25605]Set the selection range with selection start and selection end.

    The [25606]setRangeText() method uses the following enumeration: enum SelectionMode { "[25607]select", "[25608]start", "[25609]end", "[25610]preserve" // default }; __________________________________________________________________

    To obtain the currently selected text, the following JavaScript suffices: var selectionText = control.value.substring(control.selectionStart, control.sele ctionEnd);

    ...where control is the [25611]input or [25612]textarea element.

    To add some text at the start of a text control, while maintaining the text selection, the three attributes must be preserved: var oldStart = control.selectionStart; var oldEnd = control.selectionEnd; var oldDirection = control.selectionDirection; var prefix = "http://"; control.value = prefix + control.value; control.setSelectionRange(oldStart + prefix.length, oldEnd + prefix.length, oldD irection);

    ...where control is the [25613]input or [25614]textarea element.

    4.10.20 Constraints

    4.10.20.1 Definitions

    A [25615]submittable element is a candidate for constraint validation except when a condition has barred the element from constraint validation. (For example, an element is [25616]barred from constraint validation if it has a [25617]datalist element ancestor.)

    An element can have a custom validity error message defined. Initially, an element must have its [25618]custom validity error message set to the empty string. When its value is not the empty string, the element is [25619]suffering from a custom error. It can be set using the [25620]setCustomValidity() method, except for [25621]form-associated custom elements. [25622]Form-associated custom elements can have a [25623]custom validity error message set via their [25624]ElementInternals object's [25625]setValidity() method. The user agent should use the [25626]custom validity error message when alerting the user to the problem with the control.

    An element can be constrained in various ways. The following is the list of validity states that a form control can be in, making the control invalid for the purposes of constraint validation. (The definitions below are non-normative; other parts of this specification define more precisely when each state applies or does not.)

    Suffering from being missing When a control has no [25627]value but has a required attribute ([25628]input [25629]required, [25630]textarea [25631]required); or, more complicated rules for [25632]select elements and controls in [25633]radio button groups, as specified in their sections.

    When the [25634]setValidity() method sets valueMissing flag to true for a [25635]form-associated custom element.

    Suffering from a type mismatch When a control that allows arbitrary user input has a [25636]value that is not in the correct syntax ([25637]Email, [25638]URL).

    When the [25639]setValidity() method sets typeMismatch flag to true for a [25640]form-associated custom element.

    Suffering from a pattern mismatch When a control has a [25641]value that doesn't satisfy the [25642]pattern attribute.

    When the [25643]setValidity() method sets patternMismatch flag to true for a [25644]form-associated custom element.

    Suffering from being too long When a control has a [25645]value that is too long for the [25646]form control maxlength attribute ([25647]input [25648]maxlength, [25649]textarea [25650]maxlength).

    When the [25651]setValidity() method sets tooLong flag to true for a [25652]form-associated custom element.

    Suffering from being too short When a control has a [25653]value that is too short for the [25654]form control minlength attribute ([25655]input [25656]minlength, [25657]textarea [25658]minlength).

    When the [25659]setValidity() method sets tooShort flag to true for a [25660]form-associated custom element.

    Suffering from an underflow When a control has a [25661]value that is not the empty string and is too low for the [25662]min attribute.

    When the [25663]setValidity() method sets rangeUnderflow flag to true for a [25664]form-associated custom element.

    Suffering from an overflow When a control has a [25665]value that is not the empty string and is too high for the [25666]max attribute.

    When the [25667]setValidity() method sets rangeOverflow flag to true for a [25668]form-associated custom element.

    Suffering from a step mismatch When a control has a [25669]value that doesn't fit the rules given by the [25670]step attribute.

    When the [25671]setValidity() method sets stepMismatch flag to true for a [25672]form-associated custom element.

    Suffering from bad input When a control has incomplete input and the user agent does not think the user ought to be able to submit the form in its current state.

    When the [25673]setValidity() method sets badInput flag to true for a [25674]form-associated custom element.

    Suffering from a custom error When a control's [25675]custom validity error message (as set by the element's [25676]setCustomValidity() method or [25677]ElementInternals's [25678]setValidity() method) is not the empty string.

    An element can still suffer from these states even when the element is [25679]disabled; thus these states can be represented in the DOM even if validating the form during submission wouldn't indicate a problem to the user.

    An element satisfies its constraints if it is not suffering from any of the above [25680]validity states.

    4.10.20.2 Constraint validation

    When the user agent is required to statically validate the constraints of [25681]form element form, it must run the following steps, which return either a positive result (all the controls in the form are valid) or a negative result (there are invalid controls) along with a (possibly empty) list of elements that are invalid and for which no script has claimed responsibility: 1. Let controls be a list of all the [25682]submittable elements whose [25683]form owner is form, in [25684]tree order. 2. Let invalid controls be an initially empty list of elements. 3. For each element field in controls, in [25685]tree order: 1. If field is not a [25686]candidate for constraint validation, then move on to the next element. 2. Otherwise, if field [25687]satisfies its constraints, then move on to the next element. 3. Otherwise, add field to invalid controls. 4. If invalid controls is empty, then return a positive result. 5. Let unhandled invalid controls be an initially empty list of elements. 6. For each element field in invalid controls, if any, in [25688]tree order: 1. Let notCanceled be the result of [25689]firing an event named [25690]invalid at field, with the [25691]cancelable attribute initialized to true. 2. If notCanceled is true, then add field to unhandled invalid controls. 7. Return a negative result with the list of elements in the unhandled invalid controls list.

    If a user agent is to interactively validate the constraints of [25692]form element form, then the user agent must run the following steps: 1. [25693]Statically validate the constraints of form, and let unhandled invalid controls be the list of elements returned if the result was negative. 2. If the result was positive, then return that result. 3. Report the problems with the constraints of at least one of the elements given in unhandled invalid controls to the user. + User agents may focus one of those elements in the process, by running the [25694]focusing steps for that element, and may change the scrolling position of the document, or perform some other action that brings the element to the user's attention. For elements that are [25695]form-associated custom elements, user agents should use their [25696]validation anchor instead, for the purposes of these actions. + User agents may report more than one constraint violation. + User agents may coalesce related constraint violation reports if appropriate (e.g. if multiple radio buttons in a [25697]group are marked as required, only one error need be reported). + If one of the controls is not [25698]being rendered (e.g. it has the [25699]hidden attribute set) then user agents may report a script error. 4. Return a negative result.

    4.10.20.3 The constraint validation API

    element.[25700]willValidate

    (BUTTON) ✔MDN

    [25701]HTMLObjectElement/willValidate

    Support in all current engines.

    Firefox4+Safari5+Chrome4+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns true if the element will be validated when the form is submitted; false otherwise.

    element.[25702]setCustomValidity(message)

    (BUTTON) ✔MDN

    [25703]HTMLObjectElement/setCustomValidity

    Support in all current engines.

    Firefox4+Safari5.1+Chrome10+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

    [25704]HTMLSelectElement/setCustomValidity

    Support in all current engines.

    Firefox4+Safari5+Chrome4+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Sets a custom error, so that the element would fail to validate. The given message is the message to be shown to the user when reporting the problem to the user.

    If the argument is the empty string, clears the custom error.

    element.[25705]validity.[25706]valueMissing

    (BUTTON) ✔MDN

    [25707]ValidityState/valueMissing

    Support in all current engines.

    Firefox4+Safari5+Chrome4+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns true if the element has no value but is a required field; false otherwise.

    element.[25708]validity.[25709]typeMismatch Returns true if the element's value is not in the correct syntax; false otherwise.

    element.[25710]validity.[25711]patternMismatch Returns true if the element's value doesn't match the provided pattern; false otherwise.

    element.[25712]validity.[25713]tooLong

    (BUTTON) ✔MDN

    [25714]ValidityState/tooLong

    Support in all current engines.

    Firefox4+Safari5+Chrome4+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android64+Safari iOS5+Chrome Android?WebView Android4+Samsung Internet?Opera Android12.1+ Returns true if the element's value is longer than the provided maximum length; false otherwise.

    element.[25715]validity.[25716]tooShort

    (BUTTON) ✔MDN

    [25717]ValidityState/tooShort

    Support in all current engines.

    Firefox51+Safari10+Chrome40+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)17+Internet ExplorerNo ___________________________________________________________

    Firefox Android64+Safari iOS?Chrome Android?WebView Android67+Samsung Internet?Opera Android? Returns true if the element's value, if it is not the empty string, is shorter than the provided minimum length; false otherwise.

    element.[25718]validity.[25719]rangeUnderflow Returns true if the element's value is lower than the provided minimum; false otherwise.

    element.[25720]validity.[25721]rangeOverflow Returns true if the element's value is higher than the provided maximum; false otherwise.

    element.[25722]validity.[25723]stepMismatch Returns true if the element's value doesn't fit the rules given by the [25724]step attribute; false otherwise.

    element.[25725]validity.[25726]badInput

    (BUTTON) ✔MDN

    [25727]ValidityState/badInput

    Support in all current engines.

    Firefox29+Safari7+Chrome25+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android64+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns true if the user has provided input in the user interface that the user agent is unable to convert to a value; false otherwise.

    element.[25728]validity.[25729]customError Returns true if the element has a custom error; false otherwise.

    element.[25730]validity.[25731]valid Returns true if the element's value has no validity problems; false otherwise.

    valid = element.[25732]checkValidity()

    (BUTTON) ✔MDN

    [25733]HTMLInputElement/checkValidity

    Support in all current engines.

    Firefox4+Safari5+Chrome4+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

    [25734]HTMLObjectElement/checkValidity

    Support in all current engines.

    Firefox4+Safari5.1+Chrome10+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

    [25735]HTMLSelectElement/checkValidity

    Support in all current engines.

    Firefox4+Safari5+Chrome4+ ___________________________________________________________

    Opera9+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+ Returns true if the element's value has no validity problems; false otherwise. Fires an [25736]invalid event at the element in the latter case.

    valid = element.[25737]reportValidity()

    (BUTTON) ✔MDN

    [25738]HTMLFormElement/reportValidity

    Support in all current engines.

    Firefox49+Safari10.1+Chrome40+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)17+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [25739]HTMLInputElement/reportValidity

    Support in all current engines.

    Firefox49+Safari10.1+Chrome40+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)17+Internet ExplorerNo ___________________________________________________________

    Firefox Android64+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns true if the element's value has no validity problems; otherwise, returns false, fires an [25740]invalid event at the element, and (if the event isn't canceled) reports the problem to the user.

    element.[25741]validationMessage

    (BUTTON) ✔MDN

    [25742]HTMLObjectElement/validationMessage

    Support in all current engines.

    Firefox4+Safari5.1+Chrome10+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the error message that would be shown to the user if the element was to be checked for validity.

    The willValidate attribute's getter must return true, if this element is a [25743]candidate for constraint validation, and false otherwise (i.e., false if any conditions are [25744]barring it from constraint validation).

    (BUTTON) ✔MDN

    [25745]ElementInternals/willValidate

    Support in all current engines. Firefox98+Safari16.4+Chrome77+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The willValidate attribute of [25746]ElementInternals interface, on getting, must throw a [25747]"NotSupportedError" [25748]DOMException if the [25749]target element is not a [25750]form-associated custom element. Otherwise, it must return true if the [25751]target element is a [25752]candidate for constraint validation, and false otherwise.

    (BUTTON) ✔MDN

    [25753]HTMLInputElement/setCustomValidity

    Support in all current engines. Firefox4+Safari5+Chrome4+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

    The setCustomValidity(error) method steps are: 1. Set error to the result of [25754]normalizing newlines given error. 2. Set the [25755]custom validity error message to error.

    In the following example, a script checks the value of a form control each time it is edited, and whenever it is not a valid value, uses the [25756]setCustomValidity() method to set an appropriate message.

    (BUTTON) ✔MDN

    [25757]HTMLObjectElement/validity

    Support in all current engines. Firefox4+Safari5.1+Chrome10+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

    The validity attribute's getter must return a [25758]ValidityState object that represents the [25759]validity states of this element. This object is [25760]live.

    (BUTTON) ✔MDN

    [25761]ElementInternals/validity

    Support in all current engines. Firefox98+Safari16.4+Chrome77+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The validity attribute of [25762]ElementInternals interface, on getting, must throw a [25763]"NotSupportedError" [25764]DOMException if the [25765]target element is not a [25766]form-associated custom element. Otherwise, it must return a [25767]ValidityState object that represents the [25768]validity states of the [25769]target element. This object is [25770]live. [Exposed=Window] interface ValidityState { readonly attribute boolean [25771]valueMissing; readonly attribute boolean [25772]typeMismatch; readonly attribute boolean [25773]patternMismatch; readonly attribute boolean [25774]tooLong; readonly attribute boolean [25775]tooShort; readonly attribute boolean [25776]rangeUnderflow; readonly attribute boolean [25777]rangeOverflow; readonly attribute boolean [25778]stepMismatch; readonly attribute boolean [25779]badInput; readonly attribute boolean [25780]customError; readonly attribute boolean [25781]valid; };

    A [25782]ValidityState object has the following attributes. On getting, they must return true if the corresponding condition given in the following list is true, and false otherwise.

    valueMissing The control is [25783]suffering from being missing.

    typeMismatch

    (BUTTON) ✔MDN

    [25784]ValidityState/typeMismatch

    Support in all current engines.

    Firefox4+Safari5+Chrome4+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ The control is [25785]suffering from a type mismatch.

    patternMismatch

    (BUTTON) ✔MDN

    [25786]ValidityState/patternMismatch

    Support in all current engines.

    Firefox4+Safari5+Chrome4+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ The control is [25787]suffering from a pattern mismatch.

    tooLong The control is [25788]suffering from being too long.

    tooShort The control is [25789]suffering from being too short.

    rangeUnderflow

    (BUTTON) ✔MDN

    [25790]ValidityState/rangeUnderflow

    Support in all current engines.

    Firefox4+Safari5+Chrome4+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ The control is [25791]suffering from an underflow.

    rangeOverflow

    (BUTTON) ✔MDN

    [25792]ValidityState/rangeOverflow

    Support in all current engines.

    Firefox4+Safari5+Chrome4+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ The control is [25793]suffering from an overflow.

    stepMismatch

    (BUTTON) ✔MDN

    [25794]ValidityState/stepMismatch

    Support in all current engines.

    Firefox4+Safari5+Chrome4+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ The control is [25795]suffering from a step mismatch.

    badInput The control is [25796]suffering from bad input.

    customError The control is [25797]suffering from a custom error.

    valid None of the other conditions are true.

    The check validity steps for an element element are: 1. If element is a [25798]candidate for constraint validation and does not [25799]satisfy its constraints, then: 1. [25800]Fire an event named [25801]invalid at element, with the [25802]cancelable attribute initialized to true (though canceling has no effect). 2. Return false. 2. Return true.

    The checkValidity() method, when invoked, must run the [25803]check validity steps on this element.

    (BUTTON) ✔MDN

    [25804]ElementInternals/checkValidity

    Support in all current engines. Firefox98+Safari16.4+Chrome77+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The checkValidity() method of the [25805]ElementInternals interface must run these steps: 1. Let element be this [25806]ElementInternals's [25807]target element. 2. If element is not a [25808]form-associated custom element, then throw a [25809]"NotSupportedError" [25810]DOMException. 3. Run the [25811]check validity steps on element.

    The report validity steps for an element element are: 1. If element is a [25812]candidate for constraint validation and does not [25813]satisfy its constraints, then: 1. Let report be the result of [25814]firing an event named [25815]invalid at element, with the [25816]cancelable attribute initialized to true. 2. If report is true, then report the problems with the constraints of this element to the user. When reporting the problem with the constraints to the user, the user agent may run the [25817]focusing steps for element, and may change the scrolling position of the document, or perform some other action that brings element to the user's attention. User agents may report more than one constraint violation, if element suffers from multiple problems at once. 3. Return false. 2. Return true.

    The reportValidity() method, when invoked, must run the [25818]report validity steps on this element.

    (BUTTON) ✔MDN

    [25819]ElementInternals/reportValidity

    Support in all current engines. Firefox98+Safari16.4+Chrome77+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The reportValidity() method of the [25820]ElementInternals interface must run these steps: 1. Let element be this [25821]ElementInternals's [25822]target element. 2. If element is not a [25823]form-associated custom element, then throw a [25824]"NotSupportedError" [25825]DOMException. 3. Run the [25826]report validity steps on element.

    The validationMessage attribute's getter must run these steps: 1. If this element is not a [25827]candidate for constraint validation or if this element [25828]satisfies its constraints, then return the empty string. 2. Return a suitably localized message that the user agent would show the user if this were the only form control with a validity constraint problem. If the user agent would not actually show a textual message in such a situation (e.g., it would show a graphical cue instead), then return a suitably localized message that expresses (one or more of) the validity constraint(s) that the control does not satisfy. If the element is a [25829]candidate for constraint validation and is [25830]suffering from a custom error, then the [25831]custom validity error message should be present in the return value.

    4.10.20.4 Security

    Servers should not rely on client-side validation. Client-side validation can be intentionally bypassed by hostile users, and unintentionally bypassed by users of older user agents or automated tools that do not implement these features. The constraint validation features are only intended to improve the user experience, not to provide any kind of security mechanism.

    4.10.21 Form submission

    4.10.21.1 Introduction

    This section is non-normative.

    When a form is submitted, the data in the form is converted into the structure specified by the [25832]enctype, and then sent to the destination specified by the [25833]action using the given [25834]method.

    For example, take the following form:

    If the user types in "cats" in the first field and "fur" in the second, and then hits the submit button, then the user agent will load /find.cgi?t=cats&q=fur.

    On the other hand, consider this form:

    Given the same user input, the result on submission is quite different: the user agent instead does an HTTP POST to the given URL, with as the entity body something like the following text: ------kYFrd4jNJEgCervE Content-Disposition: form-data; name="t"

    cats ------kYFrd4jNJEgCervE Content-Disposition: form-data; name="q"

    fur ------kYFrd4jNJEgCervE--

    4.10.21.2 Implicit submission

    A [25835]form element's default button is the first [25836]submit button in [25837]tree order whose [25838]form owner is that [25839]form element.

    If the user agent supports letting the user submit a form implicitly (for example, on some platforms hitting the "enter" key while a text control is [25840]focused implicitly submits the form), then doing so for a form, whose [25841]default button has [25842]activation behavior and is not [25843]disabled, must cause the user agent to [25844]fire a click event at that [25845]default button.

    There are pages on the web that are only usable if there is a way to implicitly submit forms, so user agents are strongly encouraged to support this.

    If the form has no [25846]submit button, then the implicit submission mechanism must perform the following steps: 1. If the form has more than one [25847]field that blocks implicit submission, then return. 2. [25848]Submit the [25849]form element from the [25850]form element itself with [25851]userInvolvement set to "[25852]activation".

    For the purpose of the previous paragraph, an element is a field that blocks implicit submission of a [25853]form element if it is an [25854]input element whose [25855]form owner is that [25856]form element and whose [25857]type attribute is in one of the following states: [25858]Text, [25859]Search, [25860]Telephone, [25861]URL, [25862]Email, [25863]Password, [25864]Date, [25865]Month, [25866]Week, [25867]Time, [25868]Local Date and Time, [25869]Number

    4.10.21.3 Form submission algorithm

    Each [25870]form element has a constructing entry list boolean, initially false.

    Each [25871]form element has a firing submission events boolean, initially false.

    To submit a [25872]form element form from an element submitter (typically a button), given an optional boolean submitted from submit() method (default false) and an optional [25873]user navigation involvement userInvolvement (default "[25874]none"): 1. If form [25875]cannot navigate, then return. 2. If form's [25876]constructing entry list is true, then return. 3. Let form document be form's [25877]node document. 4. If form document's [25878]active sandboxing flag set has its [25879]sandboxed forms browsing context flag set, then return. 5. If submitted from [25880]submit() method is false, then: 1. If form's [25881]firing submission events is true, then return. 2. Set form's [25882]firing submission events to true. 3. For each element field in the list of [25883]submittable elements whose [25884]form owner is form, set field's [25885]user validity to true. 4. If the submitter element's [25886]no-validate state is false, then [25887]interactively validate the constraints of form and examine the result. If the result is negative (i.e., the constraint validation concluded that there were invalid fields and probably informed the user of this), then: 1. Set form's [25888]firing submission events to false. 2. Return. 5. Let submitterButton be null if submitter is form. Otherwise, let submitterButton be submitter. 6. Let shouldContinue be the result of [25889]firing an event named [25890]submit at form using [25891]SubmitEvent, with the [25892]submitter attribute initialized to submitterButton, the [25893]bubbles attribute initialized to true, and the [25894]cancelable attribute initialized to true. 7. Set form's [25895]firing submission events to false. 8. If shouldContinue is false, then return. 9. If form [25896]cannot navigate, then return. [25897]Cannot navigate is run again as dispatching the [25898]submit event could have changed the outcome. 6. Let encoding be the result of [25899]picking an encoding for the form. 7. Let entry list be the result of [25900]constructing the entry list with form, submitter, and encoding. 8. [25901]Assert: entry list is not null. 9. If form [25902]cannot navigate, then return. [25903]Cannot navigate is run again as dispatching the [25904]formdata event in [25905]constructing the entry list could have changed the outcome. 10. Let method be the submitter element's [25906]method. 11. If method is [25907]dialog, then: 1. If form does not have an ancestor [25908]dialog element, then return. 2. Let subject be form's nearest ancestor [25909]dialog element. 3. Let result be null. 4. If submitter is an [25910]input element whose [25911]type attribute is in the [25912]Image Button state, then: 1. Let (x, y) be the [25913]selected coordinate. 2. Set result to the concatenation of x, ",", and y. 5. Otherwise, if submitter has a [25914]value, then set result to that [25915]value. 6. [25916]Close the dialog subject with result. 7. Return. 12. Let action be the submitter element's [25917]action. 13. If action is the empty string, let action be the [25918]URL of the form document. 14. Let parsed action be the result of [25919]encoding-parsing a URL given action, relative to submitter's [25920]node document. 15. If parsed action is failure, then return. 16. Let scheme be the [25921]scheme of parsed action. 17. Let enctype be the submitter element's [25922]enctype. 18. Let formTarget be null. 19. If the submitter element is a [25923]submit button and it has a [25924]formtarget attribute, then set formTarget to the [25925]formtarget attribute value. 20. Let target be the result of [25926]getting an element's target given submitter's [25927]form owner and formTarget. 21. Let noopener be the result of [25928]getting an element's noopener with form, parsed action, and target. 22. Let targetNavigable be the first return value of applying [25929]the rules for choosing a navigable given target, form's [25930]node navigable, and noopener. 23. If targetNavigable is null, then return. 24. Let historyHandling be "[25931]auto". 25. If form document equals targetNavigable's [25932]active document, and form document has not yet [25933]completely loaded, then set historyHandling to "[25934]replace". 26. Select the appropriate row in the table below based on scheme as given by the first cell of each row. Then, select the appropriate cell on that row based on method as given in the first cell of each column. Then, jump to the steps named in that cell and defined below the table.

    [25935]GET [25936]POST http [25937]Mutate action URL [25938]Submit as entity body https [25939]Mutate action URL [25940]Submit as entity body ftp [25941]Get action URL [25942]Get action URL javascript [25943]Get action URL [25944]Get action URL data [25945]Mutate action URL [25946]Get action URL mailto [25947]Mail with headers [25948]Mail as body If scheme is not one of those listed in this table, then the behavior is not defined by this specification. User agents should, in the absence of another specification defining this, act in a manner analogous to that defined in this specification for similar schemes. Each [25949]form element has a planned navigation, which is either null or a [25950]task; when the [25951]form is first created, its [25952]planned navigation must be set to null. In the behaviors described below, when the user agent is required to plan to navigate to a [25953]URL url given an optional [25954]POST resource-or-null postResource (default null), it must run the following steps: 1. Let referrerPolicy be the empty string. 2. If the [25955]form element's [25956]link types include the [25957]noreferrer keyword, then set referrerPolicy to "no-referrer". 3. If the [25958]form has a non-null [25959]planned navigation, remove it from its [25960]task queue. 4. [25961]Queue an element task on the [25962]DOM manipulation task source given the [25963]form element and the following steps: 1. Set the [25964]form's [25965]planned navigation to null. 2. [25966]Navigate targetNavigable to url using the [25967]form element's [25968]node document, with [25969]historyHandling set to historyHandling, [25970]userInvolvement set to userInvolvement, [25971]sourceElement set to submitter, [25972]referrerPolicy set to referrerPolicy, [25973]documentResource set to postResource, and [25974]formDataEntryList set to entry list. 5. Set the [25975]form's [25976]planned navigation to the just-queued [25977]task. The behaviors are as follows:

    Mutate action URL Let pairs be the result of [25978]converting to a list of name-value pairs with entry list.

    Let query be the result of running the [25979]application/x-www-form-urlencoded serializer with pairs and encoding.

    Set parsed action's [25980]query component to query.

    [25981]Plan to navigate to parsed action.

    Submit as entity body [25982]Assert: method is [25983]POST.

    Switch on enctype:

    [25984]application/x-www-form-urlencoded Let pairs be the result of [25985]converting to a list of name-value pairs with entry list.

    Let body be the result of running the [25986]application/x-www-form-urlencoded serializer with pairs and encoding.

    Set body to the result of [25987]encoding body.

    Let mimeType be `[25988]application/x-www-form-urlencoded`.

    [25989]multipart/form-data Let body be the result of running the [25990]multipart/form-data encoding algorithm with entry list and encoding.

    Let mimeType be the [25991]isomorphic encoding of the concatenation of "multipart/form-data; boundary=" and the [25992]multipart/form-data boundary string generated by the [25993]multipart/form-data encoding algorithm.

    [25994]text/plain Let pairs be the result of [25995]converting to a list of name-value pairs with entry list.

    Let body be the result of running the [25996]text/plain encoding algorithm with pairs.

    Set body to the result of [25997]encoding body using encoding.

    Let mimeType be `[25998]text/plain`.

    [25999]Plan to navigate to parsed action given a [26000]POST resource whose [26001]request body is body and [26002]request content-type is mimeType.

    Get action URL [26003]Plan to navigate to parsed action.

    entry list is discarded.

    Mail with headers Let pairs be the result of [26004]converting to a list of name-value pairs with entry list.

    Let headers be the result of running the [26005]application/x-www-form-urlencoded serializer with pairs and encoding.

    Replace occurrences of U+002B PLUS SIGN characters (+) in headers with the string "%20".

    Set parsed action's [26006]query to headers.

    [26007]Plan to navigate to parsed action.

    Mail as body Let pairs be the result of [26008]converting to a list of name-value pairs with entry list.

    Switch on enctype:

    [26009]text/plain Let body be the result of running the [26010]text/plain encoding algorithm with pairs.

    Set body to the result of running [26011]UTF-8 percent-encode on body using the [26012]default encode set. [26013][URL]

    Otherwise Let body be the result of running the [26014]application/x-www-form-urlencoded serializer with pairs and encoding.

    If parsed action's [26015]query is null, then set it to the empty string.

    If parsed action's [26016]query is not the empty string, then append a single U+0026 AMPERSAND character (&) to it.

    Append "body=" to parsed action's [26017]query.

    Append body to parsed action's [26018]query.

    [26019]Plan to navigate to parsed action.

    4.10.21.4 Constructing the entry list

    An entry list is a [26020]list of [26021]entries, typically representing the contents of a form. An entry is a tuple consisting of a name (a [26022]scalar value string) and a value (either a [26023]scalar value string or a [26024]File object).

    To create an entry given a string name, a string or [26025]Blob object value, and optionally a [26026]scalar value string filename: 1. Set name to the result of [26027]converting name into a [26028]scalar value string. 2. If value is a string, then set value to the result of [26029]converting value into a [26030]scalar value string. 3. Otherwise: 1. If value is not a [26031]File object, then set value to a new [26032]File object, representing the same bytes, whose [26033]name attribute value is "blob". 2. If filename is given, then set value to a new [26034]File object, representing the same bytes, whose [26035]name attribute is filename. These operations will create a new [26036]File object if either filename is given or the passed [26037]Blob is not a [26038]File object. In those cases, the identity of the passed [26039]Blob object is not kept. 4. Return an [26040]entry whose [26041]name is name and whose [26042]value is value.

    To construct the entry list given a form, an optional submitter (default null), and an optional encoding (default [26043]UTF-8): 1. If form's [26044]constructing entry list is true, then return null. 2. Set form's [26045]constructing entry list to true. 3. Let controls be a list of all the [26046]submittable elements whose [26047]form owner is form, in [26048]tree order. 4. Let entry list be a new empty [26049]entry list. 5. For each element field in controls, in [26050]tree order: 1. If any of the following are true: o field has a [26051]datalist element ancestor; o field is [26052]disabled; o field is a [26053]button but it is not submitter; o field is an [26054]input element whose [26055]type attribute is in the [26056]Checkbox state and whose [26057]checkedness is false; or o field is an [26058]input element whose [26059]type attribute is in the [26060]Radio Button state and whose [26061]checkedness is false, then [26062]continue. 2. If the field element is an [26063]input element whose [26064]type attribute is in the [26065]Image Button state, then: 1. If the field element is not submitter, then [26066]continue. 2. If the field element has a [26067]name attribute specified and its value is not the empty string, let name be that value followed by U+002E (.). Otherwise, let name be the empty string. 3. Let name[x] be the concatenation of name and U+0078 (x). 4. Let name[y] be the concatenation of name and U+0079 (y). 5. Let (x, y) be the [26068]selected coordinate. 6. [26069]Create an entry with name[x] and x, and [26070]append it to entry list. 7. [26071]Create an entry with name[y] and y, and [26072]append it to entry list. 8. [26073]Continue. 3. If the field is a [26074]form-associated custom element, then perform the [26075]entry construction algorithm given field and entry list, then [26076]continue. 4. If either the field element does not have a [26077]name attribute specified, or its [26078]name attribute's value is the empty string, then [26079]continue. 5. Let name be the value of the field element's [26080]name attribute. 6. If the field element is a [26081]select element, then for each [26082]option element in the [26083]select element's [26084]list of options whose [26085]selectedness is true and that is not [26086]disabled, [26087]create an entry with name and the [26088]value of the [26089]option element, and [26090]append it to entry list. 7. Otherwise, if the field element is an [26091]input element whose [26092]type attribute is in the [26093]Checkbox state or the [26094]Radio Button state, then: 1. If the field element has a [26095]value attribute specified, then let value be the value of that attribute; otherwise, let value be the string "on". 2. [26096]Create an entry with name and value, and [26097]append it to entry list. 8. Otherwise, if the field element is an [26098]input element whose [26099]type attribute is in the [26100]File Upload state, then: 1. If there are no [26101]selected files, then [26102]create an entry with name and a new [26103]File object with an empty name, [26104]application/octet-stream as type, and an empty body, and [26105]append it to entry list. 2. Otherwise, for each file in [26106]selected files, [26107]create an entry with name and a [26108]File object representing the file, and [26109]append it to entry list. 9. Otherwise, if the field element is an [26110]input element whose [26111]type attribute is in the [26112]Hidden state and name is an [26113]ASCII case-insensitive match for "[26114]_charset_": 1. Let charset be the [26115]name of encoding. 2. [26116]Create an entry with name and charset, and [26117]append it to entry list. 10. Otherwise, [26118]create an entry with name and the [26119]value of the field element, and [26120]append it to entry list. 11. If the element has a [26121]dirname attribute, that attribute's value is not the empty string, and the element is an [26122]auto-directionality form-associated element: 1. Let dirname be the value of the element's [26123]dirname attribute. 2. Let dir be the string "ltr" if [26124]the directionality of the element is '[26125]ltr', and "rtl" otherwise (i.e., when [26126]the directionality of the element is '[26127]rtl'). 3. [26128]Create an entry with dirname and dir, and [26129]append it to entry list. 6. Let form data be a new [26130]FormData object associated with entry list. 7. [26131]Fire an event named [26132]formdata at form using [26133]FormDataEvent, with the [26134]formData attribute initialized to form data and the [26135]bubbles attribute initialized to true. 8. Set form's [26136]constructing entry list to false. 9. Return a [26137]clone of entry list.

    4.10.21.5 Selecting a form submission encoding

    If the user agent is to pick an encoding for a form, it must run the following steps: 1. Let encoding be the [26138]document's character encoding. 2. If the [26139]form element has an [26140]accept-charset attribute, set encoding to the return value of running these substeps: 1. Let input be the value of the [26141]form element's [26142]accept-charset attribute. 2. Let candidate encoding labels be the result of [26143]splitting input on ASCII whitespace. 3. Let candidate encodings be an empty list of [26144]character encodings. 4. For each token in candidate encoding labels in turn (in the order in which they were found in input), [26145]get an encoding for the token and, if this does not result in failure, append the [26146]encoding to candidate encodings. 5. If candidate encodings is empty, return [26147]UTF-8. 6. Return the first encoding in candidate encodings. 3. Return the result of [26148]getting an output encoding from encoding.

    4.10.21.6 Converting an entry list to a list of name-value pairs

    The [26149]application/x-www-form-urlencoded and [26150]text/plain encoding algorithms take a list of name-value pairs, where the values must be strings, rather than an [26151]entry list where the value can be a [26152]File. The following algorithm performs the conversion.

    To convert to a list of name-value pairs an [26153]entry list entry list, run these steps: 1. Let list be an empty [26154]list of name-value pairs. 2. [26155]For each entry of entry list: 1. Let name be entry's [26156]name, with every occurrence of U+000D (CR) not followed by U+000A (LF), and every occurrence of U+000A (LF) not preceded by U+000D (CR), replaced by a string consisting of U+000D (CR) and U+000A (LF). 2. If entry's [26157]value is a [26158]File object, then let value be entry's [26159]value's [26160]name. Otherwise, let value be entry's [26161]value. 3. Replace every occurrence of U+000D (CR) not followed by U+000A (LF), and every occurrence of U+000A (LF) not preceded by U+000D (CR), in value, by a string consisting of U+000D (CR) and U+000A (LF). 4. [26162]Append to list a new name-value pair whose name is name and whose value is value. 3. Return list.

    4.10.21.7 URL-encoded form data

    See URL for details on [26163]application/x-www-form-urlencoded. [26164][URL]

    4.10.21.8 Multipart form data

    The multipart/form-data encoding algorithm, given an [26165]entry list entry list and an [26166]encoding encoding, is as follows: 1. [26167]For each entry of entry list: 1. Replace every occurrence of U+000D (CR) not followed by U+000A (LF), and every occurrence of U+000A (LF) not preceded by U+000D (CR), in entry's [26168]name, by a string consisting of a U+000D (CR) and U+000A (LF). 2. If entry's [26169]value is not a [26170]File object, then replace every occurrence of U+000D (CR) not followed by U+000A (LF), and every occurrence of U+000A (LF) not preceded by U+000D (CR), in entry's [26171]value, by a string consisting of a U+000D (CR) and U+000A (LF). 2. Return the byte sequence resulting from encoding the entry list using the rules described by RFC 7578, Returning Values from Forms: multipart/form-data, given the following conditions: [26172][RFC7578] + Each [26173]entry in entry list is a field, the [26174]name of the entry is the field name and the [26175]value of the entry is the field value. + The order of parts must be the same as the order of fields in entry list. Multiple entries with the same name must be treated as distinct fields. + Field names, field values for non-file fields, and filenames for file fields, in the generated [26176]multipart/form-data resource must be set to the result of [26177]encoding the corresponding entry's name or value with encoding, converted to a byte sequence. + For field names and filenames for file fields, the result of the encoding in the previous bullet point must be escaped by replacing any 0x0A (LF) bytes with the byte sequence `%0A`, 0x0D (CR) with `%0D` and 0x22 (") with `%22`. The user agent must not perform any other escapes. + The parts of the generated [26178]multipart/form-data resource that correspond to non-file fields must not have a `[26179]Content-Type` header specified. + The boundary used by the user agent in generating the return value of this algorithm is the multipart/form-data boundary string. (This value is used to generate the MIME type of the form submission payload generated by this algorithm.)

    For details on how to interpret [26180]multipart/form-data payloads, see RFC 7578. [26181][RFC7578]

    4.10.21.9 Plain text form data

    The text/plain encoding algorithm, given a list of name-value pairs pairs, is as follows: 1. Let result be the empty string. 2. For each pair in pairs: 1. Append pair's name to result. 2. Append a single U+003D EQUALS SIGN character (=) to result. 3. Append pair's value to result. 4. Append a U+000D CARRIAGE RETURN (CR) U+000A LINE FEED (LF) character pair to result. 3. Return result.

    Payloads using the [26182]text/plain format are intended to be human readable. They are not reliably interpretable by computer, as the format is ambiguous (for example, there is no way to distinguish a literal newline in a value from the newline at the end of the value).

    4.10.21.10 The [26183]SubmitEvent interface

    (BUTTON) ✔MDN

    [26184]SubmitEvent

    Support in all current engines. Firefox75+Safari15+Chrome81+ __________________________________________________________________

    Opera?Edge81+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    (BUTTON) ✔MDN

    [26185]SubmitEvent/SubmitEvent

    Support in all current engines. Firefox75+Safari15+Chrome81+ __________________________________________________________________

    Opera?Edge81+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [Exposed=Window] interface SubmitEvent : [26186]Event { constructor(DOMString type, optional [26187]SubmitEventInit eventInitDict = {} );

    readonly attribute [26188]HTMLElement? [26189]submitter; };

    dictionary SubmitEventInit : [26190]EventInit { [26191]HTMLElement? submitter = null; };

    event.[26192]submitter Returns the element representing the [26193]submit button that triggered the [26194]form submission, or null if the submission was not triggered by a button.

    The submitter attribute must return the value it was initialized to.

    4.10.21.11 The [26195]FormDataEvent interface

    (BUTTON) ✔MDN

    [26196]FormDataEvent/FormDataEvent

    Support in all current engines. Firefox72+Safari15+Chrome77+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [26197]FormDataEvent

    Support in all current engines. Firefox72+Safari15+Chrome77+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [Exposed=Window] interface FormDataEvent : [26198]Event { constructor(DOMString type, [26199]FormDataEventInit eventInitDict);

    readonly attribute [26200]FormData [26201]formData; };

    dictionary FormDataEventInit : [26202]EventInit { required [26203]FormData formData; };

    event.[26204]formData Returns a [26205]FormData object representing names and values of elements associated to the target [26206]form. Operations on the [26207]FormData object will affect form data to be submitted.

    The formData attribute must return the value it was initialized to. It represents a [26208]FormData object associated to the [26209]entry list that is [26210]constructed when the [26211]form is submitted.

    4.10.22 Resetting a form

    When a [26212]form element form is reset, run these steps: 1. Let reset be the result of [26213]firing an event named [26214]reset at form, with the [26215]bubbles and [26216]cancelable attributes initialized to true. 2. If reset is true, then invoke the [26217]reset algorithm of each [26218]resettable element whose [26219]form owner is form.

    Each [26220]resettable element defines its own reset algorithm. Changes made to form controls as part of these algorithms do not count as changes caused by the user (and thus, e.g., do not cause [26221]input events to fire).

    4.11 Interactive elements

    4.11.1 The details element

    (BUTTON) ✔MDN

    [26222]Element/details

    Support in all current engines. Firefox49+Safari6+Chrome12+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android49+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    (BUTTON) ✔MDN

    [26223]HTMLDetailsElement

    Support in all current engines. Firefox49+Safari6+Chrome10+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android?

    [26224]Categories: [26225]Flow content. [26226]Interactive content. [26227]Palpable content.

    [26228]Contexts in which this element can be used: Where [26229]flow content is expected.

    [26230]Content model: One [26231]summary element followed by [26232]flow content.

    [26233]Tag omission in text/html: Neither tag is omissible.

    [26234]Content attributes: [26235]Global attributes [26236]name — Name of group of mutually-exclusive [26237]details elements [26238]open — Whether the details are visible

    [26239]Accessibility considerations: [26240]For authors. [26241]For implementers.

    [26242]DOM interface:

    [Exposed=Window] interface HTMLDetailsElement : [26243]HTMLElement { [[26244]HTMLConstructor] constructor();

    [[26245]CEReactions] attribute DOMString [26246]name; [[26247]CEReactions] attribute boolean [26248]open; };

    The [26249]details element [26250]represents a disclosure widget from which the user can obtain additional information or controls.

    As with all HTML elements, it is not conforming to use the [26251]details element when attempting to represent another type of control. For example, tab widgets and menu widgets are not disclosure widgets, so abusing the [26252]details element to implement these patterns is incorrect.

    The [26253]details element is not appropriate for footnotes. Please see [26254]the section on footnotes for details on how to mark up footnotes.

    The first [26255]summary element child of the element, if any, [26256]represents the summary or legend of the details. If there is no child [26257]summary element, the user agent should provide its own legend (e.g. "Details").

    The rest of the element's contents [26258]represents the additional information or controls.

    The name content attribute gives the name of the group of related [26259]details elements that the element is a member of. Opening one member of this group causes other members of the group to close. If the attribute is specified, its value must not be the empty string.

    Before using this feature, authors should consider whether this grouping of related [26260]details elements into an exclusive accordion is helpful or harmful to users. While using an exclusive accordion can reduce the maximum amount of space that a set of content can occupy, it can also frustrate users who have to open many items to find what they want or users who want to look at the contents of multiple items at the same time.

    A document must not contain more than one [26261]details element in the same [26262]details name group that has the [26263]open attribute present. Authors must not use script to add [26264]details elements to a document in a way that would cause a [26265]details name group to have more than one [26266]details element with the [26267]open attribute present.

    The group of elements that is created by a common [26268]name attribute is exclusive, meaning that at most one of the [26269]details elements can be open at once. While this exclusivity is enforced by user agents, the resulting enforcement immediately changes the [26270]open attributes in the markup. This requirement on authors forbids such misleading markup.

    A document must not contain a [26271]details element that is a descendant of another [26272]details element in the same [26273]details name group.

    Documents that use the [26274]name attribute to group multiple related [26275]details elements should keep those related elements together in a containing element (such as a [26276]section element or [26277]article element). When it makes sense for the group to be introduced with a heading, authors should put that heading in a [26278]heading element at the start of the containing element.

    Visually and programmatically grouping related elements together can be important for accessible user experiences. This can help users understand the relationship between such elements. When related elements are in disparate sections of a web page rather than being grouped, the elements' relationships to each other can be less discoverable or understandable.

    The open content attribute is a [26279]boolean attribute. If present, it indicates that both the summary and the additional information is to be shown to the user. If the attribute is absent, only the summary is to be shown.

    When the element is created, if the attribute is absent, the additional information should be hidden; if the attribute is present, that information should be shown. Subsequently, if the attribute is removed, then the information should be hidden; if the attribute is added, the information should be shown.

    The user agent should allow the user to request that the additional information be shown or hidden. To honor a request for the details to be shown, the user agent must [26280]set the [26281]open attribute on the element to the empty string. To honor a request for the information to be hidden, the user agent must [26282]remove the [26283]open attribute from the element.

    This ability to request that additional information be shown or hidden may simply be the [26284]activation behavior of the appropriate [26285]summary element, in the case such an element exists. However, if no such element exists, user agents can still provide this ability through some other user interface affordance.

    The details name group that contains a [26286]details element a also contains all the other [26287]details elements b that fulfill all of the following conditions: * Both a and b are in the same [26288]tree. * They both have a [26289]name attribute, their [26290]name attributes are not the empty string, and the value of a's [26291]name attribute equals the value of b's [26292]name attribute.

    Every [26293]details element has a details toggle task tracker, which is a [26294]toggle task tracker or null, initially null.

    The following [26295]attribute change steps, given element, localName, oldValue, value, and namespace, are used for all [26296]details elements: 1. If namespace is not null, then return. 2. If localName is [26297]name, then [26298]ensure details exclusivity by closing the given element if needed given element. 3. If localName is [26299]open, then: 1. If one of oldValue or value is null and the other is not null, run the following steps, which are known as the details notification task steps, for this [26300]details element: When the [26301]open attribute is toggled several times in succession, the resulting tasks essentially get coalesced so that only one event is fired. 1. If oldValue is null, [26302]queue a details toggle event task given the [26303]details element, "closed", and "open". 2. Otherwise, [26304]queue a details toggle event task given the [26305]details element, "open", and "closed". 2. If oldValue is null and value is not null, then [26306]ensure details exclusivity by closing other elements if needed given element.

    The [26307]details [26308]HTML element insertion steps, given insertedNode, are: 1. [26309]Ensure details exclusivity by closing the given element if needed given insertedNode.

    To be clear, these attribute change and insertion steps also run when an attribute or element is inserted via the parser.

    To queue a details toggle event task given a [26310]details element element, a string oldState, and a string newState: 1. If element's [26311]details toggle task tracker is not null, then: 1. Set oldState to element's [26312]details toggle task tracker's [26313]old state. 2. Remove element's [26314]details toggle task tracker's [26315]task from its [26316]task queue. 3. Set element's [26317]details toggle task tracker to null. 2. [26318]Queue an element task given the [26319]DOM manipulation task source and element to run the following steps: 1. [26320]Fire an event named [26321]toggle at element, using [26322]ToggleEvent, with the [26323]oldState attribute initialized to oldState and the [26324]newState attribute initialized to newState. 2. Set element's [26325]details toggle task tracker to null. 3. Set element's [26326]details toggle task tracker to a struct with [26327]task set to the just-queued [26328]task and [26329]old state set to oldState.

    To ensure details exclusivity by closing other elements if needed given a [26330]details element element: 1. [26331]Assert: element has an [26332]open attribute. 2. If element does not have a [26333]name attribute, or its [26334]name attribute is the empty string, then return. 3. Let groupMembers be a list of elements, containing all elements in element's [26335]details name group except for element, in [26336]tree order. 4. [26337]For each element otherElement of groupMembers: 1. If the [26338]open attribute is set on otherElement, then: 1. [26339]Assert: otherElement is the only element in groupMembers that has the [26340]open attribute set. 2. [26341]Remove the [26342]open attribute on otherElement. 3. [26343]Break.

    To ensure details exclusivity by closing the given element if needed given a [26344]details element element: 1. If element does not have an [26345]open attribute, then return. 2. If element does not have a [26346]name attribute, or its [26347]name attribute is the empty string, then return. 3. Let groupMembers be a list of elements, containing all elements in element's [26348]details name group except for element, in [26349]tree order. 4. [26350]For each element otherElement of groupMembers: 1. If the [26351]open attribute is set on otherElement, then: 1. [26352]Remove the [26353]open attribute on element. 2. [26354]Break.

    (BUTTON) ✔MDN

    [26355]HTMLDetailsElement/open

    Support in all current engines. Firefox49+Safari6+Chrome10+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android?

    The name and open IDL attributes must [26356]reflect the respective content attributes of the same name.

    The ancestor details revealing algorithm is to run the following steps on currentNode: 1. While currentNode has a parent node within the [26357]flat tree: 1. If currentNode is slotted into the second slot of a [26358]details element: 1. Set currentNode to the [26359]details element which currentNode is slotted into. 2. If the [26360]open attribute is not set on currentNode, then [26361]set the [26362]open attribute on currentNode to the empty string. 2. Otherwise, set currentNode to the parent node of currentNode within the [26363]flat tree.

    The following example shows the [26364]details element being used to hide technical details in a progress report.

    Copying "Really Achieving Your Childhood Dreams"

    Copying... 25%
    Transfer rate:
    452KB/s
    Local filename:
    /home/rpausch/raycd.m4v
    Remote filename:
    /var/www/lectures/raycd.m4v
    Duration:
    01:16:27
    Color profile:
    SD (6-1-6)
    Dimensions:
    320×240

    The following shows how a [26365]details element can be used to hide some controls by default:

    One could use this in conjunction with other [26366]details in a list to allow the user to collapse a set of fields down to a small set of headings, with the ability to open each one.

    In these examples, the summary really just summarizes what the controls can change, and not the actual values, which is less than ideal.

    The following example shows the [26367]name attribute of the [26368]details element being used to create an exclusive accordion, a set of [26369]details elements where a user action to open one [26370]details element causes any open [26371]details to close.

    Material The picture frame is made of solid oak wood.
    Size The picture frame fits a photo 40cm tall and 30cm wide. The frame is 45cm tall, 35cm wide, and 2cm thick.
    Color The picture frame is available in its natural wood color, or with black stain.

    The following example shows what happens when the [26372]open attribute is set on a [26373]details element that is part of a set of elements using the [26374]name attribute to create an exclusive accordion.

    Given the initial markup:

    ...
    ...
    ...

    and the script: document.getElementById("d2").setAttribute("open", "");

    then the resulting tree after the script executes will be equivalent to the markup:

    ...
    ...
    ...

    because setting the [26375]open attribute on d2 removes it from d1.

    The same happens when the user activates the [26376]summary element inside of d2.

    Because the [26377]open attribute is added and removed automatically as the user interacts with the control, it can be used in CSS to style the element differently based on its state. Here, a style sheet is used to animate the color of the summary when the element is opened or closed:

    Automated Status: Operational

    Velocity: 12m/s

    Direction: North

    4.11.2 The summary element

    (BUTTON) ✔MDN

    [26378]Element/summary

    Support in all current engines. Firefox49+Safari6+Chrome12+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android4+Samsung Internet?Opera Android?

    [26379]Categories: None.

    [26380]Contexts in which this element can be used: As the [26381]first child of a [26382]details element.

    [26383]Content model: [26384]Phrasing content, optionally intermixed with [26385]heading content.

    [26386]Tag omission in text/html: Neither tag is omissible.

    [26387]Content attributes: [26388]Global attributes

    [26389]Accessibility considerations: [26390]For authors. [26391]For implementers.

    [26392]DOM interface: Uses [26393]HTMLElement.

    The [26394]summary element [26395]represents a summary, caption, or legend for the rest of the contents of the [26396]summary element's parent [26397]details element, if any.

    A [26398]summary element is a summary for its parent details if the following algorithm returns true: 1. If this [26399]summary element has no parent, then return false. 2. Let parent be this [26400]summary element's parent. 3. If parent is not a [26401]details element, then return false. 4. If parent's first [26402]summary element child is not this [26403]summary element, then return false. 5. Return true.

    The [26404]activation behavior of [26405]summary elements is to run the following steps: 1. If this [26406]summary element is not the [26407]summary for its parent details, then return. 2. Let parent be this [26408]summary element's parent. 3. If the [26409]open attribute is present on parent, then [26410]remove it. Otherwise, [26411]set parent's [26412]open attribute to the empty string. This will then run the [26413]details notification task steps.

    4.11.3 Commands

    4.11.3.1 Facets

    A command is the abstraction behind menu items, buttons, and links. Once a command is defined, other parts of the interface can refer to the same command, allowing many access points to a single feature to share facets such as the [26414]Disabled State.

    Commands are defined to have the following facets:

    Label The name of the command as seen by the user.

    Access Key A key combination selected by the user agent that triggers the command. A command might not have an Access Key.

    Hidden State Whether the command is hidden or not (basically, whether it should be shown in menus).

    Disabled State Whether the command is relevant and can be triggered or not.

    Action The actual effect that triggering the command will have. This could be a scripted event handler, a [26415]URL to which to [26416]navigate, or a form submission.

    User agents may expose the [26417]commands that match the following criteria: * The [26418]Hidden State facet is false (visible) * The element is [26419]in a document with a non-null [26420]browsing context. * Neither the element nor any of its ancestors has a [26421]hidden attribute specified.

    User agents are encouraged to do this especially for commands that have [26422]Access Keys, as a way to advertise those keys to the user.

    For example, such commands could be listed in the user agent's menu bar.

    4.11.3.2 Using the a element to define a command

    An [26423]a element with an [26424]href attribute [26425]defines a command.

    The [26426]Label of the command is the element's [26427]descendant text content.

    The [26428]Access Key of the command is the element's [26429]assigned access key, if any.

    The [26430]Hidden State of the command is true (hidden) if the element has a [26431]hidden attribute, and false otherwise.

    The [26432]Disabled State facet of the command is true if the element or one of its ancestors is [26433]inert, and false otherwise.

    The [26434]Action of the command is to [26435]fire a click event at the element.

    4.11.3.3 Using the button element to define a command

    A [26436]button element always [26437]defines a command.

    The [26438]Label, [26439]Access Key, [26440]Hidden State, and [26441]Action facets of the command are determined [26442]as for a elements (see the previous section).

    The [26443]Disabled State of the command is true if the element or one of its ancestors is [26444]inert, or if the element's [26445]disabled state is set, and false otherwise.

    4.11.3.4 Using the input element to define a command

    An [26446]input element whose [26447]type attribute is in one of the [26448]Submit Button, [26449]Reset Button, [26450]Image Button, [26451]Button, [26452]Radio Button, or [26453]Checkbox states [26454]defines a command.

    The [26455]Label of the command is determined as follows: * If the [26456]type attribute is in one of the [26457]Submit Button, [26458]Reset Button, [26459]Image Button, or [26460]Button states, then the [26461]Label is the string given by the [26462]value attribute, if any, and a UA-dependent, locale-dependent value that the UA uses to label the button itself if the attribute is absent. * Otherwise, if the element is a [26463]labeled control, then the [26464]Label is the [26465]descendant text content of the first [26466]label element in [26467]tree order whose [26468]labeled control is the element in question. (In JavaScript terms, this is given by element.labels[0].textContent.) * Otherwise, if the [26469]value attribute is present, then the [26470]Label is the value of that attribute. * Otherwise, the [26471]Label is the empty string.

    Even though the [26472]value attribute on [26473]input elements in the [26474]Image Button state is non-conformant, the attribute can still contribute to the [26475]Label determination, if it is present and the Image Button's [26476]alt attribute is missing.

    The [26477]Access Key of the command is the element's [26478]assigned access key, if any.

    The [26479]Hidden State of the command is true (hidden) if the element has a [26480]hidden attribute, and false otherwise.

    The [26481]Disabled State of the command is true if the element or one of its ancestors is [26482]inert, or if the element's [26483]disabled state is set, and false otherwise.

    The [26484]Action of the command is to [26485]fire a click event at the element.

    4.11.3.5 Using the option element to define a command

    An [26486]option element with an ancestor [26487]select element and either no [26488]value attribute or a [26489]value attribute that is not the empty string [26490]defines a command.

    The [26491]Label of the command is the value of the [26492]option element's [26493]label attribute, if there is one, or else the [26494]option element's [26495]descendant text content, with [26496]ASCII whitespace stripped and collapsed.

    The [26497]Access Key of the command is the element's [26498]assigned access key, if any.

    The [26499]Hidden State of the command is true (hidden) if the element has a [26500]hidden attribute, and false otherwise.

    The [26501]Disabled State of the command is true if the element is [26502]disabled, or if its nearest ancestor [26503]select element is [26504]disabled, or if it or one of its ancestors is [26505]inert, and false otherwise.

    If the [26506]option's nearest ancestor [26507]select element has a [26508]multiple attribute, the [26509]Action of the command is to [26510]toggle the [26511]option element. Otherwise, the [26512]Action is to [26513]pick the [26514]option element.

    4.11.3.6 Using the accesskey attribute on a legend element to define a command

    A [26515]legend element [26516]defines a command if all of the following are true: * It has an [26517]assigned access key. * It is a child of a [26518]fieldset element. * Its parent has a descendant that [26519]defines a command that is neither a [26520]label element nor a [26521]legend element. This element, if it exists, is the legend element's accesskey delegatee.

    The [26522]Label of the command is the element's [26523]descendant text content.

    The [26524]Access Key of the command is the element's [26525]assigned access key.

    The [26526]Hidden State, [26527]Disabled State, and [26528]Action facets of the command are the same as the respective facets of [26529]the legend element's accesskey delegatee.

    In this example, the [26530]legend element specifies an [26531]accesskey, which, when activated, will delegate to the [26532]input element inside the [26533]legend element.

    4.11.3.7 Using the accesskey attribute to define a command on other elements

    An element that has an [26534]assigned access key [26535]defines a command.

    If one of the earlier sections that define elements that [26536]define commands define that this element [26537]defines a command, then that section applies to this element, and this section does not. Otherwise, this section applies to that element.

    The [26538]Label of the command depends on the element. If the element is a [26539]labeled control, the [26540]descendant text content of the first [26541]label element in [26542]tree order whose [26543]labeled control is the element in question is the [26544]Label (in JavaScript terms, this is given by element.labels[0].textContent). Otherwise, the [26545]Label is the element's [26546]descendant text content.

    The [26547]Access Key of the command is the element's [26548]assigned access key.

    The [26549]Hidden State of the command is true (hidden) if the element has a [26550]hidden attribute, and false otherwise.

    The [26551]Disabled State of the command is true if the element or one of its ancestors is [26552]inert, and false otherwise.

    The [26553]Action of the command is to run the following steps: 1. Run the [26554]focusing steps for the element. 2. [26555]Fire a click event at the element.

    4.11.4 The dialog element

    (BUTTON) ✔MDN

    [26556]Element/dialog

    Support in all current engines. Firefox98+Safari15.4+Chrome37+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    (BUTTON) ✔MDN

    [26557]HTMLDialogElement

    Support in all current engines. Firefox98+Safari15.4+Chrome37+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [26558]Categories: [26559]Flow content.

    [26560]Contexts in which this element can be used: Where [26561]flow content is expected.

    [26562]Content model: [26563]Flow content.

    [26564]Tag omission in text/html: Neither tag is omissible.

    [26565]Content attributes: [26566]Global attributes [26567]closedby — Which user actions will close the dialog [26568]open — Whether the dialog box is showing

    [26569]Accessibility considerations: [26570]For authors. [26571]For implementers.

    [26572]DOM interface:

    [Exposed=Window] interface HTMLDialogElement : [26573]HTMLElement { [[26574]HTMLConstructor] constructor();

    [[26575]CEReactions] attribute boolean [26576]open; attribute DOMString [26577]returnValue; [[26578]CEReactions] attribute DOMString [26579]closedBy; [[26580]CEReactions] undefined [26581]show(); [[26582]CEReactions] undefined [26583]showModal(); [[26584]CEReactions] undefined [26585]close(optional DOMString returnValue); [[26586]CEReactions] undefined [26587]requestClose(optional DOMString returnVa lue); };

    The [26588]dialog element represents a transitory part of an application, in the form of a small window ("dialog box"), which the user interacts with to perform a task or gather information. Once the user is done, the dialog can be automatically closed by the application, or manually closed by the user.

    Especially for modal dialogs, which are a familiar pattern across all types of applications, authors should work to ensure that dialogs in their web applications behave in a way that is familiar to users of non-web applications.

    As with all HTML elements, it is not conforming to use the [26589]dialog element when attempting to represent another type of control. For example, context menus, tooltips, and popup listboxes are not dialog boxes, so abusing the [26590]dialog element to implement these patterns is incorrect.

    An important part of user-facing dialog behavior is the placement of initial focus. The [26591]dialog focusing steps attempt to pick a good candidate for initial focus when a dialog is shown, but might not be a substitute for authors carefully thinking through the correct choice to match user expectations for a specific dialog. As such, authors should use the [26592]autofocus attribute on the descendant element of the dialog that the user is expected to immediately interact with after the dialog opens. If there is no such element, then authors should use the [26593]autofocus attribute on the [26594]dialog element itself.

    In the following example, a dialog is used for editing the details of a product in an inventory management web application.

    If the [26595]autofocus attribute was not present, the Product Number field would have been focused by the dialog focusing steps. Although that is reasonable behavior, the author determined that the more relevant field to focus was the Product Name field, as the Product Number field is readonly and expects no user input. So, the author used autofocus to override the default.

    Even if the author wants to focus the Product Number field by default, they are best off explicitly specifying that by using autofocus on that [26596]input element. This makes the intent obvious to future readers of the code, and ensures the code stays robust in the face of future updates. (For example, if another developer added a close button, and positioned it in the node tree before the Product Number field).

    Another important aspect of user behavior is whether dialogs are scrollable or not. In some cases, overflow (and thus scrollability) cannot be avoided, e.g., when it is caused by the user's high text zoom settings. But in general, scrollable dialogs are not expected by users. Adding large text nodes directly to dialog elements is particularly bad as this is likely to cause the dialog element itself to overflow. Authors are best off avoiding them.

    The following terms of service dialog respects the above suggestions.

    By placing an order via this Web site on the first day of the fourth mont h of the year 2010 Anno Domini, you agree to grant Us a non-transferable option to claim, for now and for ever more, your immortal soul.

    Should We wish to exercise this option, you agree to surrender your immor tal soul, and any claim you may have on it, within 5 (five) working days of receiving written notification from this site or one of its duly authorized minions.

    Note how the [26597]dialog focusing steps would have picked the scrollable [26598]div element by default, but similarly to the previous example, we have placed [26599]autofocus on the [26600]div so as to be more explicit and robust against future changes.

    In contrast, if the [26601]p elements expressing the terms of service did not have such a wrapper [26602]div element, then the [26603]dialog itself would become scrollable, violating the above advice. Furthermore, in the absence of any [26604]autofocus attribute, such a markup pattern would have violated the above advice and tripped up the [26605]dialog focusing steps's default behavior, and caused focus to jump to the Agree [26606]button, which is a bad user experience.

    This dialog box has some small print. The [26607]strong element is used to draw the user's attention to the more important part.

    Add to Wallet

    You add coins at your own risk.

    __________________________________________________________________

    The open attribute is a [26608]boolean attribute. When specified, it indicates that the [26609]dialog element is active and that the user can interact with it.

    The closedby content attribute is an [26610]enumerated attribute with the following keywords and states:

    Keyword State Brief description any Any [26611]Close requests or clicks outside close the dialog. closerequest Close Request [26612]Close requests close the dialog. none None No user actions automatically close the dialog.

    The [26613]closedby attribute's [26614]invalid value default and [26615]missing value default are both the Auto state.

    The [26616]Auto state behaves as [26617]Close Request state when the [26618]dialog was shown using its [26619]showModal() method; otherwise the [26620]None state.

    A [26621]dialog element without an [26622]open attribute specified should not be shown to the user. This requirement may be implemented indirectly through the style layer. For example, user agents that [26623]support the suggested default rendering implement this requirement using the CSS rules described in the [26624]Rendering section.

    Removing the [26625]open attribute will usually hide the dialog. However, doing so has a number of strange additional consequences: * The [26626]close event will not be fired. * The [26627]close() method, and any [26628]close requests, will no longer be able to close the dialog. * If the dialog was shown using its [26629]showModal() method, the [26630]Document will still be [26631]blocked.

    For these reasons, it is generally better to never remove the [26632]open attribute manually. Instead, use the [26633]requestClose() or [26634]close() methods to close the dialog, or the [26635]hidden attribute to hide it.

    The [26636]tabindex attribute must not be specified on [26637]dialog elements. __________________________________________________________________

    dialog.[26638]show()

    (BUTTON) ✔MDN

    [26639]HTMLDialogElement/show

    Support in all current engines.

    Firefox98+Safari15.4+Chrome37+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Displays the [26640]dialog element.

    dialog.[26641]showModal()

    (BUTTON) ✔MDN

    [26642]HTMLDialogElement/showModal

    Support in all current engines.

    Firefox98+Safari15.4+Chrome37+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Displays the [26643]dialog element and makes it the top-most modal dialog.

    This method honors the [26644]autofocus attribute.

    dialog.[26645]close([ result ])

    (BUTTON) ✔MDN

    [26646]HTMLDialogElement/close

    Support in all current engines.

    Firefox98+Safari15.4+Chrome37+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Closes the [26647]dialog element.

    The argument, if provided, provides a return value.

    dialog.[26648]requestClose([ result ]) Acts as if a [26649]close request was sent targeting dialog, by first firing a [26650]cancel event, and if that event is not canceled with [26651]preventDefault(), proceeding to close the dialog in the same way as the [26652]close() method (including firing a [26653]close event).

    This is a helper utility that can be used to consolidate cancelation and closing logic into the [26654]cancel and [26655]close event handlers, by having all non-[26656]close request closing affordances call this method.

    Note that this method ignores the [26657]closedby attribute: that is, even if [26658]closedby is set to "[26659]none", the same behavior will apply.

    The argument, if provided, provides a return value.

    dialog.[26660]returnValue [ = result ]

    (BUTTON) ✔MDN

    [26661]HTMLDialogElement/returnValue

    Support in all current engines.

    Firefox98+Safari15.4+Chrome37+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the [26662]dialog's return value.

    Can be set, to update the return value.

    The show() method steps are: 1. If [26663]this has an [26664]open attribute and [26665]is modal of [26666]this is false, then return. 2. If [26667]this has an [26668]open attribute, then throw an [26669]"InvalidStateError" [26670]DOMException. 3. If the result of [26671]firing an event named [26672]beforetoggle, using [26673]ToggleEvent, with the [26674]cancelable attribute initialized to true, the [26675]oldState attribute initialized to "closed", and the [26676]newState attribute initialized to "open" at [26677]this is false, then return. 4. If [26678]this has an [26679]open attribute, then return. 5. [26680]Queue a dialog toggle event task given [26681]this, "closed", and "open". 6. Add an [26682]open attribute to [26683]this, whose value is the empty string. 7. [26684]Assert: [26685]this's [26686]node document's [26687]open dialogs list does not [26688]contain [26689]this. 8. Add [26690]this to [26691]this's [26692]node document's [26693]open dialogs list. 9. [26694]Set the dialog close watcher with [26695]this. 10. Set [26696]this's [26697]previously focused element to the [26698]focused element. 11. Let document be [26699]this's [26700]node document. 12. Let hideUntil be the result of running [26701]topmost popover ancestor given [26702]this, document's [26703]showing hint popover list, null, and false. 13. If hideUntil is null, then set hideUntil to the result of running [26704]topmost popover ancestor given [26705]this, document's [26706]showing auto popover list, null, and false. 14. If hideUntil is null, then set hideUntil to document. 15. Run [26707]hide all popovers until given hideUntil, false, and true. 16. Run the [26708]dialog focusing steps given [26709]this.

    The showModal() method steps are to [26710]show a modal dialog given [26711]this.

    The close(returnValue) method steps are: 1. If returnValue is not given, then set it to null. 2. [26712]Close the dialog [26713]this with returnValue.

    The requestClose(returnValue) method steps are: 1. If [26714]this does not have an [26715]open attribute, then return. 2. [26716]Assert: [26717]this's [26718]close watcher is not null. 3. Set dialog's [26719]enable close watcher for requestClose() to true. 4. If returnValue is not given, then set it to null. 5. Set [26720]this's [26721]request close return value to returnValue. 6. [26722]Request to close dialog's [26723]close watcher with false. 7. Set dialog's [26724]enable close watcher for requestClose() to false.

    We use show/close as the verbs for [26725]dialog elements, as opposed to verb pairs that are more commonly thought of as antonyms such as show/hide or open/close, due to the following constraints: * Hiding a dialog is different from closing one. Closing a dialog gives it a return value, fires an event, unblocks the page for other dialogs, and so on. Whereas hiding a dialog is a purely visual property, and is something you can already do with the [26726]hidden attribute or by removing the [26727]open attribute. (See also the [26728]note above about removing the [26729]open attribute, and how hiding the dialog in that way is generally not desired.) * Showing a dialog is different from opening one. Opening a dialog consists of creating and showing that dialog (similar to how [26730]window.open() both creates and shows a new window). Whereas showing the dialog is the process of taking a [26731]dialog element that is already in the DOM, and making it interactive and visible to the user. * If we were to have a dialog.open() method despite the above, it would conflict with the [26732]dialog.open property.

    Furthermore, a [26733]survey of many other UI frameworks contemporary to the original design of the [26734]dialog element made it clear that the show/close verb pair was reasonably common.

    In summary, it turns out that the implications of certain verbs, and how they are used in technology contexts, mean that paired actions such as showing and closing a dialog are not always expressible as antonyms.

    The returnValue IDL attribute, on getting, must return the last value to which it was set. On setting, it must be set to the new value. When the element is created, it must be set to the empty string.

    The closedBy getter steps are to return the keyword corresponding to the [26735]computed closed-by state given [26736]this.

    The [26737]closedBy setter steps are to set the [26738]closedby content attribute to the given value.

    (BUTTON) ✔MDN

    [26739]HTMLDialogElement/open

    Support in all current engines. Firefox98+Safari15.4+Chrome37+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The open IDL attribute must [26740]reflect the [26741]open content attribute. __________________________________________________________________

    Each [26742]Document has a dialog pointerdown target, which is an [26743]HTML dialog element or null, initially null.

    Each [26744]HTML element has a previously focused element which is null or an element, and it is initially null. When [26745]showModal() and [26746]show() are called, this element is set to the currently [26747]focused element before running the [26748]dialog focusing steps. Elements with the [26749]popover attribute set this element to the currently [26750]focused element during the [26751]show popover algorithm.

    Each [26752]dialog element has a dialog toggle task tracker, which is a [26753]toggle task tracker or null, initially null.

    Each [26754]dialog element has a close watcher, which is a [26755]close watcher or null, initially null.

    Each [26756]dialog element has a request close return value, which is a string, initially null.

    Each [26757]dialog element has an enable close watcher for requestClose() boolean, initially false.

    Each [26758]dialog element has an is modal boolean, initially false. __________________________________________________________________

    The [26759]dialog [26760]HTML element removing steps, given removedNode and oldParent, are: 1. If removedNode's [26761]close watcher is not null, then: 1. [26762]Destroy removedNode's [26763]close watcher. 2. Set removedNode's [26764]close watcher to null. 2. If removedNode's [26765]node document's [26766]top layer [26767]contains removedNode, then [26768]remove an element from the top layer immediately given removedNode. 3. Set [26769]is modal of removedNode to false. 4. [26770]Remove removedNode from removedNode's [26771]node document's [26772]open dialogs list.

    To show a modal dialog given a [26773]dialog element subject: 1. If subject has an [26774]open attribute and [26775]is modal of subject is true, then return. 2. If subject has an [26776]open attribute, then throw an [26777]"InvalidStateError" [26778]DOMException. 3. If subject's [26779]node document is not [26780]fully active, then throw an [26781]"InvalidStateError" [26782]DOMException. 4. If subject is not [26783]connected, then throw an [26784]"InvalidStateError" [26785]DOMException. 5. If subject is in the [26786]popover showing state, then throw an [26787]"InvalidStateError" [26788]DOMException. 6. If the result of [26789]firing an event named [26790]beforetoggle, using [26791]ToggleEvent, with the [26792]cancelable attribute initialized to true, the [26793]oldState attribute initialized to "closed", and the [26794]newState attribute initialized to "open" at subject is false, then return. 7. If subject has an [26795]open attribute, then return. 8. If subject is not [26796]connected, then return. 9. If subject is in the [26797]popover showing state, then return. 10. [26798]Queue a dialog toggle event task given subject, "closed", and "open". 11. Add an [26799]open attribute to subject, whose value is the empty string. 12. Set [26800]is modal of subject to true. 13. [26801]Assert: subject's [26802]node document's [26803]open dialogs list does not [26804]contain subject. 14. Add subject to subject's [26805]node document's [26806]open dialogs list. 15. Let subject's [26807]node document be [26808]blocked by the modal dialog subject. This will cause the [26809]focused area of the document to become [26810]inert (unless that currently focused area is a [26811]shadow-including descendant of subject). In such cases, the [26812]focused area of the document will soon be [26813]reset to the [26814]viewport. In a couple steps we will attempt to find a better candidate to focus. 16. If subject's [26815]node document's [26816]top layer does not already [26817]contain subject, then [26818]add an element to the top layer given subject. 17. [26819]Set the dialog close watcher with subject. 18. Set subject's [26820]previously focused element to the [26821]focused element. 19. Let document be subject's [26822]node document. 20. Let hideUntil be the result of running [26823]topmost popover ancestor given subject, document's [26824]showing hint popover list, null, and false. 21. If hideUntil is null, then set hideUntil to the result of running [26825]topmost popover ancestor given subject, document's [26826]showing auto popover list, null, and false. 22. If hideUntil is null, then set hideUntil to document. 23. Run [26827]hide all popovers until given hideUntil, false, and true. 24. Run the [26828]dialog focusing steps given subject.

    To set the dialog close watcher, given a [26829]dialog element dialog: 1. Set dialog's [26830]close watcher to the result of [26831]establishing a close watcher given dialog's [26832]relevant global object, with: + [26833]cancelAction given canPreventClose being to return the result of [26834]firing an event named [26835]cancel at dialog, with the [26836]cancelable attribute initialized to canPreventClose. + [26837]closeAction being to [26838]close the dialog given dialog and dialog's [26839]request close return value. + [26840]getEnabledState being to return true if dialog's [26841]enable close watcher for requestClose() is true or dialog's [26842]computed closed-by state is not [26843]None; otherwise false.

    The [26844]is valid invoker command steps for [26845]dialog elements, given a [26846]command attribute command, are: 1. If command is in the [26847]Close state or in the [26848]Show Modal state, then return true. 2. Return false.

    The [26849]invoker command steps for [26850]dialog elements, given an element element, an element invoker, and a [26851]command attribute command, are: 1. If element is in the [26852]popover showing state, then return. 2. If command is in the [26853]Close state and element has an [26854]open attribute: 1. Let value be invoker's [26855]value. 2. [26856]Close the dialog element with value. 3. If command is the [26857]Show Modal state and element does not have an [26858]open attribute, then [26859]show a modal dialog given element.

    The following buttons use [26860]commandfor to open and close a "confirm" [26861]dialog as modal when activated:

    When a [26862]dialog element subject is to be closed, with null or a string result, run these steps: 1. If subject does not have an [26863]open attribute, then return. 2. [26864]Fire an event named [26865]beforetoggle, using [26866]ToggleEvent, with the [26867]oldState attribute initialized to "open" and the [26868]newState attribute initialized to "closed" at subject. 3. If subject does not have an [26869]open attribute, then return. 4. [26870]Queue a dialog toggle event task given subject, "open", and "closed". 5. Remove subject's [26871]open attribute. 6. If [26872]is modal of subject is true, then [26873]request an element to be removed from the top layer given subject. 7. Let wasModal be the value of subject's [26874]is modal flag. 8. Set [26875]is modal of subject to false. 9. [26876]Remove subject from subject's [26877]node document's [26878]open dialogs list. 10. If result is not null, then set the [26879]returnValue attribute to result. 11. Set the [26880]request close return value to null. 12. If subject's [26881]previously focused element is not null, then: 1. Let element be subject's [26882]previously focused element. 2. Set subject's [26883]previously focused element to null. 3. If subject's [26884]node document's [26885]focused area of the document's [26886]DOM anchor is a [26887]shadow-including inclusive descendant of subject, or wasModal is true, then run the [26888]focusing steps for element; the viewport should not be scrolled by doing this step. 13. [26889]Queue an element task on the [26890]user interaction task source given the subject element to [26891]fire an event named [26892]close at subject. 14. If subject's [26893]close watcher is not null, then: 1. [26894]Destroy subject's [26895]close watcher. 2. Set subject's [26896]close watcher to null.

    To queue a dialog toggle event task given a [26897]dialog element element, a string oldState, and a string newState: 1. If element's [26898]dialog toggle task tracker is not null, then: 1. Set oldState to element's [26899]dialog toggle task tracker's [26900]old state. 2. Remove element's [26901]dialog toggle task tracker's [26902]task from its [26903]task queue. 3. Set element's [26904]dialog toggle task tracker to null. 2. [26905]Queue an element task given the [26906]DOM manipulation task source and element to run the following steps: 1. [26907]Fire an event named [26908]toggle at element, using [26909]ToggleEvent, with the [26910]oldState attribute initialized to oldState and the [26911]newState attribute initialized to newState. 2. Set element's [26912]dialog toggle task tracker to null. 3. Set element's [26913]dialog toggle task tracker to a struct with [26914]task set to the just-queued [26915]task and [26916]old state set to oldState.

    To retrieve a dialog's computed closed-by state, given a [26917]dialog dialog: 1. If the state of dialog's [26918]closedby attribute is [26919]Auto: 1. If dialog's [26920]is modal is true, then return [26921]Close Request. 2. Return [26922]None. 2. Return the state of dialog's [26923]closedby attribute.

    The dialog focusing steps, given a [26924]dialog element subject, are as follows: 1. If the [26925]allow focus steps given subject's [26926]node document return false, then return. 2. Let control be null. 3. If subject has the [26927]autofocus attribute, then set control to subject. 4. If control is null, then set control to the [26928]focus delegate of subject. 5. If control is null, then set control to subject. 6. Run the [26929]focusing steps for control. If control is not [26930]focusable, this will do nothing. This would only happen if subject had no focus delegate, and the user agent decided that [26931]dialog elements were not generally focusable. In that case, any [26932]earlier modifications to the [26933]focused area of the document will apply. 7. Let topDocument be control's [26934]node navigable's [26935]top-level traversable's [26936]active document. 8. If control's [26937]node document's [26938]origin is not the [26939]same as the [26940]origin of topDocument, then return. 9. [26941]Empty topDocument's [26942]autofocus candidates. 10. Set topDocument's [26943]autofocus processed flag to true.

    4.11.5 Dialog light dismiss

    "Light dismiss" means that clicking outside of a [26944]dialog element whose [26945]closedby attribute is in the [26946]Any state will close the [26947]dialog element. This is in addition to how such [26948]dialogs respond to [26949]close requests.

    To light dismiss open dialogs, given a [26950]PointerEvent event: 1. [26951]Assert: event's [26952]isTrusted attribute is true. 2. Let document be event's [26953]target's [26954]node document. 3. If document's [26955]open dialogs list is [26956]empty, then return. 4. Let ancestor be the result of running [26957]nearest clicked dialog given event. 5. If event's [26958]type is "[26959]pointerdown", then set document's [26960]dialog pointerdown target to ancestor. 6. If event's [26961]type is "[26962]pointerup", then: 1. Let sameTarget be true if ancestor is document's [26963]dialog pointerdown target. 2. Set document's [26964]dialog pointerdown target to null. 3. If sameTarget is false, then return. 4. Let topmostDialog be the last element of document's [26965]open dialogs list. 5. If ancestor is topmostDialog, then return. 6. If topmostDialog's [26966]computed closed-by state is not [26967]Any, then return. 7. [26968]Assert: topmostDialog's [26969]close watcher is not null. 8. [26970]Request to close topmostDialog's [26971]close watcher with false.

    To run light dismiss activities, given a [26972]PointerEvent event: 1. Run [26973]light dismiss open popovers with event. 2. Run [26974]light dismiss open dialogs with event.

    [26975]Run light dismiss activities will be called by the [26976]Pointer Events spec when the user clicks or touches anywhere on the page.

    To find the nearest clicked dialog, given a [26977]PointerEvent event: 1. Let target be event's [26978]target. 2. If target is a [26979]dialog element, target has an [26980]open attribute, target's [26981]is modal is true, and event's [26982]clientX and [26983]clientY are outside the bounds of target, then return null. The check for [26984]clientX and [26985]clientY is because a pointer event that hits the ::backdrop pseudo element of a dialog will result in event having a target of the dialog element itself. 3. Let currentNode be target. 4. While currentNode is not null: 1. If currentNode is a [26986]dialog element and currentNode has an [26987]open attribute, then return currentNode. 2. Set currentNode to currentNode's parent in the [26988]flat tree. 5. Return null.

    4.12 Scripting

    Scripts allow authors to add interactivity to their documents.

    Authors are encouraged to use declarative alternatives to scripting where possible, as declarative mechanisms are often more maintainable, and many users disable scripting.

    For example, instead of using a script to show or hide a section to show more details, the [26989]details element could be used.

    Authors are also encouraged to make their applications degrade gracefully in the absence of scripting support.

    For example, if an author provides a link in a table header to dynamically resort the table, the link could also be made to function without scripts by requesting the sorted table from the server.

    4.12.1 The script element

    (BUTTON) ✔MDN

    [26990]Element/script

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android4+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    (BUTTON) ✔MDN

    [26991]HTMLScriptElement

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

    [26992]Categories: [26993]Metadata content. [26994]Flow content. [26995]Phrasing content. [26996]Script-supporting element.

    [26997]Contexts in which this element can be used: Where [26998]metadata content is expected. Where [26999]phrasing content is expected. Where [27000]script-supporting elements are expected.

    [27001]Content model: If there is no [27002]src attribute, depends on the value of the [27003]type attribute, but must match [27004]script content restrictions. If there is a [27005]src attribute, the element must be either empty or contain only [27006]script documentation that also matches [27007]script content restrictions.

    [27008]Tag omission in text/html: Neither tag is omissible.

    [27009]Content attributes: [27010]Global attributes [27011]src — Address of the resource [27012]type — Type of script [27013]nomodule — Prevents execution in user agents that support [27014]module scripts [27015]async — Execute script when available, without blocking while fetching [27016]defer — Defer script execution [27017]crossorigin — How the element handles crossorigin requests [27018]integrity — Integrity metadata used in Subresource Integrity checks [27019][SRI] [27020]referrerpolicy — [27021]Referrer policy for [27022]fetches initiated by the element [27023]blocking — Whether the element is [27024]potentially render-blocking [27025]fetchpriority — Sets the [27026]priority for [27027]fetches initiated by the element

    [27028]Accessibility considerations: [27029]For authors. [27030]For implementers.

    [27031]DOM interface:

    [Exposed=Window] interface HTMLScriptElement : [27032]HTMLElement { [[27033]HTMLConstructor] constructor();

    [[27034]CEReactions] attribute USVString [27035]src; [[27036]CEReactions] attribute DOMString [27037]type; [[27038]CEReactions] attribute boolean [27039]noModule; [[27040]CEReactions] attribute boolean [27041]async; [[27042]CEReactions] attribute boolean [27043]defer; [[27044]CEReactions] attribute DOMString? [27045]crossOrigin; [[27046]CEReactions] attribute DOMString [27047]text; [[27048]CEReactions] attribute DOMString [27049]integrity; [[27050]CEReactions] attribute DOMString [27051]referrerPolicy; [SameObject, PutForwards=[27052]value] readonly attribute [27053]DOMTokenList [27054]blocking; [[27055]CEReactions] attribute DOMString [27056]fetchPriority;

    static boolean [27057]supports(DOMString type);

    // [27058]also has obsolete members };

    The [27059]script element allows authors to include dynamic script and data blocks in their documents. The element does not [27060]represent content for the user.

    (BUTTON) ✔MDN

    [27061]Element/script#attr-type

    Support in all current engines. Firefox1+Safari≤4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The type attribute allows customization of the type of script represented: * Omitting the attribute, setting it to the empty string, or setting it to a [27062]JavaScript MIME type essence match, means that the script is a [27063]classic script, to be interpreted according to the JavaScript [27064]Script top-level production. Classic scripts are affected by the [27065]async and [27066]defer attributes, but only when the [27067]src attribute is set. Authors should omit the [27068]type attribute instead of redundantly setting it. * Setting the attribute to an [27069]ASCII case-insensitive match for "module" means that the script is a [27070]JavaScript module script, to be interpreted according to the JavaScript [27071]Module top-level production. Module scripts are not affected by the [27072]defer attribute, but are affected by the [27073]async attribute (regardless of the state of the [27074]src attribute). * Setting the attribute to an [27075]ASCII case-insensitive match for "importmap" means that the script is an [27076]import map, containing JSON that will be used to control the behavior of [27077]module specifier resolution. Import maps can only be inline, i.e., the [27078]src attribute and most other attributes are meaningless and not to be used with them. * Setting the attribute to any other value means that the script is a data block, which is not processed. None of the [27079]script attributes (except [27080]type itself) have any effect on data blocks. Authors must use a [27081]valid MIME type string that is not a [27082]JavaScript MIME type essence match to denote data blocks.

    The requirement that [27083]data blocks must be denoted using a [27084]valid MIME type string is in place to avoid potential future collisions. If this specification ever adds additional types of [27085]script, they will be triggered by setting the [27086]type attribute to something which is not a MIME type, like how the "module" value denotes [27087]module scripts. By using a valid MIME type string now, you ensure that your data block will not ever be reinterpreted as a different script type, even in future user agents.

    [27088]Classic scripts and [27089]JavaScript module scripts can be embedded inline, or be imported from an external file using the src attribute, which if specified gives the [27090]URL of the external script resource to use. If [27091]src is specified, it must be a [27092]valid non-empty URL potentially surrounded by spaces.

    The contents of inline [27093]script elements, or the external script resource, must conform with the requirements of the JavaScript specification's [27094]Script or [27095]Module productions, for [27096]classic scripts and [27097]JavaScript module scripts respectively. [27098][JAVASCRIPT]

    The contents of the external script resource for [27099]CSS module scripts must conform to the requirements of the CSS specification. [27100][CSS]

    The contents of the external script resource for [27101]JSON module scripts must conform to the requirements of the JSON specification. [27102][JSON]

    The contents of inline [27103]script elements for [27104]import maps must conform with the [27105]import map authoring requirements.

    For [27106]import map [27107]script elements, the [27108]src, [27109]async, [27110]nomodule, [27111]defer, [27112]crossorigin, [27113]integrity, and [27114]referrerpolicy attributes must not be specified.

    A document must not have more than one [27115]import map [27116]script element.

    When used to include [27117]data blocks, the data must be embedded inline, the format of the data must be given using the [27118]type attribute, and the contents of the [27119]script element must conform to the requirements defined for the format used. The [27120]src, [27121]async, [27122]nomodule, [27123]defer, [27124]crossorigin, [27125]integrity, [27126]referrerpolicy, and [27127]fetchpriority attributes must not be specified.

    The nomodule attribute is a [27128]boolean attribute that prevents a script from being executed in user agents that support [27129]module scripts. This allows selective execution of [27130]module scripts in modern user agents and [27131]classic scripts in older user agents, [27132]as shown below. The [27133]nomodule attribute must not be specified on [27134]module scripts (and will be ignored if it is).

    (BUTTON) ✔MDN

    [27135]Element/script#attr-async

    Support in all current engines. Firefox1+Safari≤4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [27136]Element/script#attr-defer

    Support in all current engines. Firefox3.5+Safari3+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android4+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The async and defer attributes are [27137]boolean attributes that indicate how the script should be evaluated. [27138]Classic scripts may specify [27139]defer or [27140]async, but must not specify either unless the [27141]src attribute is present. [27142]Module scripts may specify the [27143]async attribute, but must not specify the [27144]defer attribute.

    There are several possible modes that can be selected using these attributes, and depending on the script's type.

    For [27145]classic scripts, if the [27146]async attribute is present, then the classic script will be fetched [27147]in parallel to parsing and evaluated as soon as it is available (potentially before parsing completes). If the [27148]async attribute is not present but the [27149]defer attribute is present, then the classic script will be fetched [27150]in parallel and evaluated when the page has finished parsing. If neither attribute is present, then the script is fetched and evaluated immediately, blocking parsing until these are both complete.

    For [27151]module scripts, if the [27152]async attribute is present, then the module script and all its dependencies will be fetched [27153]in parallel to parsing, and the module script will be evaluated as soon as it is available (potentially before parsing completes). Otherwise, the module script and its dependencies will be fetched [27154]in parallel to parsing and evaluated when the page has finished parsing. (The [27155]defer attribute has no effect on module scripts.)

    This is all summarized in the following schematic diagram:

    With

    The blocking attribute is a [27190]blocking attribute.

    The fetchpriority attribute is a [27191]fetch priority attribute. Its purpose is to set the [27192]priority used when [27193]fetching the script.

    Changing the [27194]src, [27195]type, [27196]nomodule, [27197]async, [27198]defer, [27199]crossorigin, [27200]integrity, [27201]referrerpolicy, and [27202]fetchpriority attributes dynamically has no direct effect; these attributes are only used at specific times described below.

    The IDL attributes src, type, defer, integrity, and blocking, must each [27203]reflect the respective content attributes of the same name.

    (BUTTON) ✔MDN

    [27204]HTMLScriptElement/referrerPolicy

    Support in all current engines. Firefox65+Safari14+Chrome70+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The referrerPolicy IDL attribute must [27205]reflect the [27206]referrerpolicy content attribute, [27207]limited to only known values.

    The fetchPriority IDL attribute must [27208]reflect the [27209]fetchpriority content attribute, [27210]limited to only known values.

    The crossOrigin IDL attribute must [27211]reflect the [27212]crossorigin content attribute, [27213]limited to only known values.

    The noModule IDL attribute must [27214]reflect the [27215]nomodule content attribute.

    The async getter steps are: 1. If [27216]this's [27217]force async is true, then return true. 2. If [27218]this's [27219]async content attribute is present, then return true. 3. Return false.

    The [27220]async setter steps are: 1. Set [27221]this's [27222]force async to false. 2. If the given value is true, then set [27223]this's [27224]async content attribute to the empty string. 3. Otherwise, remove [27225]this's [27226]async content attribute.

    script.[27227]text [ = value ] Returns the [27228]child text content of the element.

    Can be set, to replace the element's children with the given value.

    [27229]HTMLScriptElement.[27230]supports(type) Returns true if the given type is a script type supported by the user agent. The possible script types in this specification are "classic", "module", and "importmap", but others might be added in the future.

    The text attribute's getter must return this [27231]script element's [27232]child text content.

    The [27233]text attribute's setter must [27234]string replace all with the given value within this [27235]script element.

    (BUTTON) ✔MDN

    [27236]HTMLScriptElement/supports_static

    Support in all current engines. Firefox94+Safari16+Chrome96+ __________________________________________________________________

    Opera?Edge96+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The supports(type) method steps are: 1. If type [27237]is "classic", then return true. 2. If type [27238]is "module", then return true. 3. If type [27239]is "importmap", then return true. 4. Return false.

    The type argument has to exactly match these values; we do not perform an [27240]ASCII case-insensitive match. This is different from how [27241]type content attribute values are treated, and how [27242]DOMTokenList's [27243]supports() method works, but it aligns with the [27244]WorkerType enumeration used in the [27245]Worker() constructor.

    In this example, two [27246]script elements are used. One embeds an external [27247]classic script, and the other includes some data as a [27248]data block.

    The data in this case might be used by the script to generate the map of a video game. The data doesn't have to be used that way, though; maybe the map data is actually embedded in other parts of the page's markup, and the data block here is just used by the site's search engine to help users who are looking for particular features in their game maps.

    The following sample shows how a [27249]script element can be used to define a function that is then used by other parts of the document, as part of a [27250]classic script. It also shows how a [27251]script element can be used to invoke script while the document is being parsed, in this case to initialize the form's output.

    Work out the price of your car

    Base cost: £52000.

    Select additional options:

    Total: £

    The following sample shows how a [27252]script element can be used to include an external [27253]JavaScript module script.

    This module, and all its dependencies (expressed through JavaScript import statements in the source file), will be fetched. Once the entire resulting module graph has been imported, and the document has finished parsing, the contents of app.mjs will be evaluated.

    Additionally, if code from another [27254]script element in the same [27255]Window imports the module from app.mjs (e.g. via import "./app.mjs";), then the same [27256]JavaScript module script created by the former [27257]script element will be imported.

    This example shows how to include a [27258]JavaScript module script for modern user agents, and a [27259]classic script for older user agents:

    In modern user agents that support [27260]JavaScript module scripts, the [27261]script element with the [27262]nomodule attribute will be ignored, and the [27263]script element with a [27264]type of "module" will be fetched and evaluated (as a [27265]JavaScript module script). Conversely, older user agents will ignore the [27266]script element with a [27267]type of "module", as that is an unknown script type for them — but they will have no problem fetching and evaluating the other [27268]script element (as a [27269]classic script), since they do not implement the [27270]nomodule attribute.

    The following sample shows how a [27271]script element can be used to write an inline [27272]JavaScript module script that performs a number of substitutions on the document's text, in order to make for a more interesting reading experience (e.g. on a news site): [27273][XKCD1288]

    Some notable features gained by using a JavaScript module script include the ability to import functions from other JavaScript modules, strict mode by default, and how top-level declarations do not introduce new properties onto the [27274]global object. Also note that no matter where this [27275]script element appears in the document, it will not be evaluated until both document parsing has complete and its dependency (dom-utils.mjs) has been fetched and evaluated.

    The following sample shows how a [27276]JSON module script can be imported from inside a [27277]JavaScript module script:

    MIME type checking for module scripts is strict. In order for the fetch of the [27278]JSON module script to succeed, the HTTP response must have a [27279]JSON MIME type, for example Content-Type: text/json. On the other hand, if the with { type: "json" } part of the statement is omitted, it is assumed that the intent is to import a [27280]JavaScript module script, and the fetch will fail if the HTTP response has a MIME type that is not a [27281]JavaScript MIME type.

    4.12.1.1 Processing model

    A [27282]script element has several associated pieces of state.

    A [27283]script element has a parser document, which is either null or a [27284]Document, initially null. It is set by the [27285]HTML parser and the [27286]XML parser on [27287]script elements they insert, and affects the processing of those elements. [27288]script elements with non-null [27289]parser documents are known as parser-inserted.

    A [27290]script element has a preparation-time document, which is either null or a [27291]Document, initially null. It is used to prevent scripts that move between documents during [27292]preparation from [27293]executing.

    A [27294]script element has a force async boolean, initially true. It is set to false by the [27295]HTML parser and the [27296]XML parser on [27297]script elements they insert, and when the element gets an [27298]async content attribute added.

    A [27299]script element has a from an external file boolean, initially false. It is determined when the script is [27300]prepared, based on the [27301]src attribute of the element at that time.

    A [27302]script element has a ready to be parser-executed boolean, initially false. This is used only used for elements that are also [27303]parser-inserted, to let the parser know when to execute the script.

    A [27304]script element has an already started boolean, initially false.

    A [27305]script element has a delaying the load event boolean, initially false.

    A [27306]script element has a type, which is either null, "classic", "module", or "importmap", initially null. It is determined when the element is [27307]prepared, based on the [27308]type attribute of the element at that time.

    A [27309]script element has a result, which is either "uninitialized", null (representing an error), a [27310]script, or an [27311]import map parse result. It is initially "uninitialized".

    A [27312]script element has steps to run when the result is ready, which are a series of steps or null, initially null. To mark as ready a [27313]script element el given a [27314]script, [27315]import map parse result, or null result: 1. Set el's [27316]result to result. 2. If el's [27317]steps to run when the result is ready are not null, then run them. 3. Set el's [27318]steps to run when the result is ready to null. 4. Set el's [27319]delaying the load event to false. __________________________________________________________________

    A [27320]script element el is [27321]implicitly potentially render-blocking if el's [27322]type is "classic", el is [27323]parser-inserted, and el does not have an [27324]async or [27325]defer attribute.

    The [27326]cloning steps for [27327]script elements given node, copy, and subtree are to set copy's [27328]already started to node's [27329]already started.

    When an [27330]async attribute is added to a [27331]script element el, the user agent must set el's [27332]force async to false.

    Whenever a [27333]script element el's [27334]delaying the load event is true, the user agent must [27335]delay the load event of el's [27336]preparation-time document. __________________________________________________________________

    The [27337]script [27338]HTML element post-connection steps, given insertedNode, are: 1. If insertedNode is not [27339]connected, then return. This can happen in the case where an earlier-inserted [27340]script removes a later-inserted [27341]script. For instance: Nothing is printed to the console in this example. By the time the [27342]HTML element post-connection steps run for the first [27343]script that was atomically inserted by [27344]append(), it can observe that the second [27345]script is already [27346]connected to the DOM. It removes the second [27347]script, so that by the time its [27348]HTML element post-connection steps run, it is no longer [27349]connected, and does not get [27350]prepared. 2. If insertedNode is [27351]parser-inserted, then return. 3. [27352]Prepare the script element given insertedNode.

    The [27353]script [27354]children changed steps are: 1. Run the [27355]script [27356]HTML element post-connection steps, given the [27357]script element.

    This has an interesting implication on the execution order of a [27358]script element and any newly-inserted child [27359]script elements. Consider the following snippet:

    By the time the second script block executes, the outer-script has already been [27360]prepared, but because it is empty, it did not execute and therefore is not marked as [27361]already started. The atomic insertion of the [27362]Text nodes and nested [27363]script element have the following effects: 1. All three child nodes get atomically inserted as children of outer-script; all of their [27364]insertion steps run, which have no observable consequences in this case. 2. The outer-script's [27365]children changed steps run, which [27366]prepares that script; because its body is now non-empty, this executes the contents of the two [27367]Text nodes, in order. 3. The [27368]script [27369]HTML element post-connection steps finally run for innerScript, causing its body to execute.

    The following [27370]attribute change steps, given element, localName, oldValue, value, and namespace, are used for all [27371]script elements: 1. If namespace is not null, then return. 2. If localName is [27372]src, then run the [27373]script [27374]HTML element post-connection steps, given element.

    To prepare the script element given a [27375]script element el: 1. If el's [27376]already started is true, then return. 2. Let parser document be el's [27377]parser document. 3. Set el's [27378]parser document to null. This is done so that if parser-inserted [27379]script elements fail to run when the parser tries to run them, e.g. because they are empty or specify an unsupported scripting language, another script can later mutate them and cause them to run again. 4. If parser document is non-null and el does not have an [27380]async attribute, then set el's [27381]force async to true. This is done so that if a parser-inserted [27382]script element fails to run when the parser tries to run it, but it is later executed after a script dynamically updates it, it will execute in an async fashion even if the [27383]async attribute isn't set. 5. Let source text be el's [27384]child text content. 6. If el has no [27385]src attribute, and source text is the empty string, then return. 7. If el is not [27386]connected, then return. 8. If any of the following are true: + el has a [27387]type attribute whose value is the empty string; + el has no [27388]type attribute but it has a [27389]language attribute and that attribute's value is the empty string; or + el has neither a [27390]type attribute nor a [27391]language attribute, then let the script block's type string for this [27392]script element be "text/javascript". Otherwise, if el has a [27393]type attribute, then let the script block's type string be the value of that attribute with [27394]leading and trailing ASCII whitespace stripped. Otherwise, el has a non-empty [27395]language attribute; let the script block's type string be the concatenation of "text/" and the value of el's [27396]language attribute. The [27397]language attribute is never conforming, and is always ignored if there is a [27398]type attribute present. 9. If the script block's type string is a [27399]JavaScript MIME type essence match, then set el's [27400]type to "classic". 10. Otherwise, if the script block's type string is an [27401]ASCII case-insensitive match for the string "module", then set el's [27402]type to "module". 11. Otherwise, if the script block's type string is an [27403]ASCII case-insensitive match for the string "importmap", then set el's [27404]type to "importmap". 12. Otherwise, return. (No script is executed, and el's [27405]type is left as null.) 13. If parser document is non-null, then set el's [27406]parser document back to parser document and set el's [27407]force async to false. 14. Set el's [27408]already started to true. 15. Set el's [27409]preparation-time document to its [27410]node document. 16. If parser document is non-null, and parser document is not equal to el's [27411]preparation-time document, then return. 17. If [27412]scripting is disabled for el, then return. The definition of [27413]scripting is disabled means that, amongst others, the following scripts will not execute: scripts in [27414]XMLHttpRequest's [27415]responseXML documents, scripts in [27416]DOMParser-created documents, scripts in documents created by [27417]XSLTProcessor's [27418]transformToDocument feature, and scripts that are first inserted by a script into a [27419]Document that was created using the [27420]createDocument() API. [27421][XHR] [27422][DOMPARSING] [27423][XSLTP] [27424][DOM] 18. If el has a [27425]nomodule content attribute and its [27426]type is "classic", then return. This means specifying [27427]nomodule on a [27428]module script has no effect; the algorithm continues onward. 19. If el does not have a [27429]src content attribute, and the [27430]Should element's inline behavior be blocked by Content Security Policy? algorithm returns "Blocked" when given el, "script", and source text, then return. [27431][CSP] 20. If el has an [27432]event attribute and a [27433]for attribute, and el's [27434]type is "classic", then: 1. Let for be the value of el's [27435]for attribute. 2. Let event be the value of el's [27436]event attribute. 3. [27437]Strip leading and trailing ASCII whitespace from event and for. 4. If for is not an [27438]ASCII case-insensitive match for the string "window", then return. 5. If event is not an [27439]ASCII case-insensitive match for either the string "onload" or the string "onload()", then return. 21. If el has a [27440]charset attribute, then let encoding be the result of [27441]getting an encoding from the value of the [27442]charset attribute. If el does not have a [27443]charset attribute, or if [27444]getting an encoding failed, then let encoding be el's [27445]node document's [27446]the encoding. If el's [27447]type is "module", this encoding will be ignored. 22. Let classic script CORS setting be the current state of el's [27448]crossorigin content attribute. 23. Let module script credentials mode be the [27449]CORS settings attribute credentials mode for el's [27450]crossorigin content attribute. 24. Let cryptographic nonce be el's [27451][[CryptographicNonce]] internal slot's value. 25. If el has an [27452]integrity attribute, then let integrity metadata be that attribute's value. Otherwise, let integrity metadata be the empty string. 26. Let referrer policy be the current state of el's [27453]referrerpolicy content attribute. 27. Let fetch priority be the current state of el's [27454]fetchpriority content attribute. 28. Let parser metadata be "parser-inserted" if el is [27455]parser-inserted, and "not-parser-inserted" otherwise. 29. Let options be a [27456]script fetch options whose [27457]cryptographic nonce is cryptographic nonce, [27458]integrity metadata is integrity metadata, [27459]parser metadata is parser metadata, [27460]credentials mode is module script credentials mode, [27461]referrer policy is referrer policy, and [27462]fetch priority is fetch priority. 30. Let settings object be el's [27463]node document's [27464]relevant settings object. 31. If el has a [27465]src content attribute, then: 1. If el's [27466]type is "importmap", then [27467]queue an element task on the [27468]DOM manipulation task source given el to [27469]fire an event named [27470]error at el, and return. External import map scripts are not currently supported. See [27471]WICG/import-maps issue #235 for discussions on adding support. 2. Let src be the value of el's [27472]src attribute. 3. If src is the empty string, then [27473]queue an element task on the [27474]DOM manipulation task source given el to [27475]fire an event named [27476]error at el, and return. 4. Set el's [27477]from an external file to true. 5. Let url be the result of [27478]encoding-parsing a URL given src, relative to el's [27479]node document. 6. If url is failure, then [27480]queue an element task on the [27481]DOM manipulation task source given el to [27482]fire an event named [27483]error at el, and return. 7. If el is [27484]potentially render-blocking, then [27485]block rendering on el. 8. Set el's [27486]delaying the load event to true. 9. If el is currently [27487]render-blocking, then set options's [27488]render-blocking to true. 10. Let onComplete given result be the following steps: 1. [27489]Mark as ready el given result. 11. Switch on el's [27490]type:

    "classic" [27491]Fetch a classic script given url, settings object, options, classic script CORS setting, encoding, and onComplete.

    "module" If el does not have an [27492]integrity attribute, then set options's [27493]integrity metadata to the result of [27494]resolving a module integrity metadata with url and settings object.

    [27495]Fetch an external module script graph given url, settings object, options, and onComplete.

    For performance reasons, user agents may start fetching the classic script or module graph (as defined above) as soon as the [27496]src attribute is set, instead, in the hope that el will become connected (and that the [27497]crossorigin attribute won't change value in the meantime). Either way, once el [27498]becomes connected, the load must have started as described in this step. If the UA performs such prefetching, but el never becomes connected, or the [27499]src attribute is dynamically changed, or the [27500]crossorigin attribute is dynamically changed, then the user agent will not execute the script so obtained, and the fetching process will have been effectively wasted. 32. If el does not have a [27501]src content attribute: 1. Let base URL be el's [27502]node document's [27503]document base URL. 2. Switch on el's [27504]type:

    "classic"

    1. Let script be the result of [27505]creating a classic script using source text, settings object, base URL, and options. 2. [27506]Mark as ready el given script.

    "module"

    1. Set el's [27507]delaying the load event to true. 2. If el is [27508]potentially render-blocking, then: 1. [27509]Block rendering on el. 2. Set options's [27510]render-blocking to true. 3. [27511]Fetch an inline module script graph, given source text, base URL, settings object, options, and with the following steps given result: 1. [27512]Queue an element task on the [27513]networking task source given el to perform the following steps: 1. [27514]Mark as ready el given result. Queueing a task here means that, even if the inline module script has no dependencies or synchronously results in a parse error, we won't proceed to [27515]execute the script element synchronously.

    "importmap"

    1. Let result be the result of [27516]creating an import map parse result given source text and base URL. 2. [27517]Mark as ready el given result.

    33. If el's [27518]type is "classic" and el has a [27519]src attribute, or el's [27520]type is "module": 1. [27521]Assert: el's [27522]result is "uninitialized". 2. If el has an [27523]async attribute or el's [27524]force async is true: 1. Let scripts be el's [27525]preparation-time document's [27526]set of scripts that will execute as soon as possible. 2. [27527]Append el to scripts. 3. Set el's [27528]steps to run when the result is ready to the following: 1. [27529]Execute the script element el. 2. [27530]Remove el from scripts. 3. Otherwise, if el is not [27531]parser-inserted: 1. Let scripts be el's [27532]preparation-time document's [27533]list of scripts that will execute in order as soon as possible. 2. [27534]Append el to scripts. 3. Set el's [27535]steps to run when the result is ready to the following: 1. If scripts[0] is not el, then abort these steps. 2. While scripts is not empty, and scripts[0]'s [27536]result is not "uninitialized": 1. [27537]Execute the script element scripts[0]. 2. [27538]Remove scripts[0]. 4. Otherwise, if el has a [27539]defer attribute or el's [27540]type is "module": 1. [27541]Append el to its [27542]parser document's [27543]list of scripts that will execute when the document has finished parsing. 2. Set el's [27544]steps to run when the result is ready to the following: set el's [27545]ready to be parser-executed to true. (The parser will handle executing the script.) 5. Otherwise: 1. Set el's [27546]parser document's [27547]pending parsing-blocking script to el. 2. [27548]Block rendering on el. 3. Set el's [27549]steps to run when the result is ready to the following: set el's [27550]ready to be parser-executed to true. (The parser will handle executing the script.) 34. Otherwise: 1. [27551]Assert: el's [27552]result is not "uninitialized". 2. If all of the following are true: o el's [27553]type is "classic"; o el is [27554]parser-inserted; o el's [27555]parser document [27556]has a style sheet that is blocking scripts; and o either the parser that created el is an [27557]XML parser, or it's an [27558]HTML parser whose [27559]script nesting level is not greater than one, then: 1. Set el's [27560]parser document's [27561]pending parsing-blocking script to el. 2. Set el's [27562]ready to be parser-executed to true. (The parser will handle executing the script.) 3. Otherwise, [27563]immediately [27564]execute the script element el, even if other scripts are already executing.

    Each [27565]Document has a pending parsing-blocking script, which is a [27566]script element or null, initially null.

    Each [27567]Document has a set of scripts that will execute as soon as possible, which is a [27568]set of [27569]script elements, initially empty.

    Each [27570]Document has a list of scripts that will execute in order as soon as possible, which is a [27571]list of [27572]script elements, initially empty.

    Each [27573]Document has a list of scripts that will execute when the document has finished parsing, which is a [27574]list of [27575]script elements, initially empty.

    If a [27576]script element that blocks a parser gets moved to another [27577]Document before it would normally have stopped blocking that parser, it nonetheless continues blocking that parser until the condition that causes it to be blocking the parser no longer applies (e.g., if the script is a [27578]pending parsing-blocking script because the original [27579]Document [27580]has a style sheet that is blocking scripts when it was parsed, but then the script is moved to another [27581]Document before the blocking style sheet(s) loaded, the script still blocks the parser until the style sheets are all loaded, at which time the script executes and the parser is unblocked).

    To execute the script element given a [27582]script element el: 1. Let document be el's [27583]node document. 2. If el's [27584]preparation-time document is not equal to document, then return. 3. [27585]Unblock rendering on el. 4. If el's [27586]result is null, then [27587]fire an event named [27588]error at el, and return. 5. If el's [27589]from an external file is true, or el's [27590]type is "module", then increment document's [27591]ignore-destructive-writes counter. 6. Switch on el's [27592]type:

    "classic"

    1. Let oldCurrentScript be the value to which document's [27593]currentScript object was most recently set. 2. If el's [27594]root is not a [27595]shadow root, then set document's [27596]currentScript attribute to el. Otherwise, set it to null. This does not use the [27597]in a document tree check, as el could have been removed from the document prior to execution, and in that scenario [27598]currentScript still needs to point to it. 3. [27599]Run the classic script given by el's [27600]result. 4. Set document's [27601]currentScript attribute to oldCurrentScript.

    "module"

    1. [27602]Assert: document's [27603]currentScript attribute is null. 2. [27604]Run the module script given by el's [27605]result.

    "importmap"

    1. [27606]Register an import map given el's [27607]relevant global object and el's [27608]result.

    7. Decrement the [27609]ignore-destructive-writes counter of document, if it was incremented in the earlier step. 8. If el's [27610]from an external file is true, then [27611]fire an event named [27612]load at el.

    4.12.1.2 Scripting languages

    User agents are not required to support JavaScript. This standard needs to be updated if a language other than JavaScript comes along and gets similar wide adoption by web browsers. Until such a time, implementing other languages is in conflict with this standard, given the processing model defined for the [27613]script element.

    Servers should use [27614]text/javascript for JavaScript resources, in accordance with Updates to ECMAScript Media Types. Servers should not use other [27615]JavaScript MIME types for JavaScript resources, and must not use non-[27616]JavaScript MIME types. [27617][RFC9239]

    For external JavaScript resources, MIME type parameters in `[27618]Content-Type` headers are generally ignored. (In some cases the `charset` parameter has an effect.) However, for the [27619]script element's [27620]type attribute they are significant; it uses the [27621]JavaScript MIME type essence match concept.

    For example, scripts with their [27622]type attribute set to "text/javascript; charset=utf-8" will not be evaluated, even though that is a valid [27623]JavaScript MIME type when parsed.

    Furthermore, again for external JavaScript resources, special considerations apply around `[27624]Content-Type` header processing as detailed in the [27625]prepare the script element algorithm and Fetch. [27626][FETCH]

    4.12.1.3 Restrictions for contents of script elements

    The easiest and safest way to avoid the rather strange restrictions described in this section is to always escape an ASCII case-insensitive match for "" script-open = "<" s c r i p t tag-end

    s = %x0053 ; U+0053 LATIN CAPITAL LETTER S s =/ %x0073 ; U+0073 LATIN SMALL LETTER S c = %x0043 ; U+0043 LATIN CAPITAL LETTER C c =/ %x0063 ; U+0063 LATIN SMALL LETTER C r = %x0052 ; U+0052 LATIN CAPITAL LETTER R r =/ %x0072 ; U+0072 LATIN SMALL LETTER R i = %x0049 ; U+0049 LATIN CAPITAL LETTER I i =/ %x0069 ; U+0069 LATIN SMALL LETTER I p = %x0050 ; U+0050 LATIN CAPITAL LETTER P p =/ %x0070 ; U+0070 LATIN SMALL LETTER P t = %x0054 ; U+0054 LATIN CAPITAL LETTER T t =/ %x0074 ; U+0074 LATIN SMALL LETTER T

    tag-end = %x0009 ; U+0009 CHARACTER TABULATION (tab) tag-end =/ %x000A ; U+000A LINE FEED (LF) tag-end =/ %x000C ; U+000C FORM FEED (FF) tag-end =/ %x0020 ; U+0020 SPACE tag-end =/ %x002F ; U+002F SOLIDUS (/) tag-end =/ %x003E ; U+003E GREATER-THAN SIGN (>)

    When a [27631]script element contains [27632]script documentation, there are further restrictions on the contents of the element, as described in the section below.

    The following script illustrates this issue. Suppose you have a script that contains a string, as in: const example = ʼConsider this string:

    What is going on here is that for legacy reasons, "

    It is possible for these sequences to naturally occur in script expressions, as in the following examples: if (x

    4.12.5.1.14 Drawing focus rings

    context.[29829]drawFocusIfNeeded(element)

    (BUTTON) ✔MDN

    [29830]CanvasRenderingContext2D/drawFocusIfNeeded

    Support in all current engines.

    Firefox32+Safari8+Chrome37+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)14+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? If element is [29831]focused, draws a focus ring around the [29832]current default path, following the platform conventions for focus rings.

    context.[29833]drawFocusIfNeeded(path, element) If element is [29834]focused, draws a focus ring around path, following the platform conventions for focus rings.

    Objects that implement the [29835]CanvasUserInterface interface provide the following methods to draw focus rings.

    The drawFocusIfNeeded(element) method steps are to [29836]draw focus if needed given [29837]this, element, and [29838]this's [29839]current default path.

    The drawFocusIfNeeded(path, element) method steps are to [29840]draw focus if needed given [29841]this, element, and path.

    To draw focus if needed, given an object implementing [29842]CanvasUserInterface context, an element element, and a [29843]path path: 1. If element is not [29844]focused or is not a descendant of context's [29845]canvas element, then return. 2. Draw a focus ring of the appropriate style along path, following platform conventions. Some platforms only draw focus rings around elements that have been focused from the keyboard, and not those focused from the mouse. Other platforms simply don't draw focus rings around some elements at all unless relevant accessibility features are enabled. This API is intended to follow these conventions. User agents that implement distinctions based on the manner in which the element was focused are encouraged to classify focus driven by the [29846]focus() method based on the kind of user interaction event from which the call was triggered (if any). The focus ring should not be subject to the [29847]shadow effects, the [29848]global alpha, the [29849]current compositing and blending operator, the [29850]fill style, the [29851]stroke style, or any of the members in the [29852]CanvasPathDrawingStyles, [29853]CanvasTextDrawingStyles interfaces, but should be subject to the [29854]clipping region. (The effect of transformations is described above and varies based on which path is being used.) 3. [29855]Inform the user that the focus is at the location given by the intended path. User agents may wait until the next time the [29856]event loop reaches its [29857]update the rendering step to optionally inform the user.

    User agents should not implicitly close open subpaths in the intended path when drawing the focus ring.

    This might be a moot point, however. For example, if the focus ring is drawn as an axis-aligned bounding rectangle around the points in the intended path, then whether the subpaths are closed or not has no effect. This specification intentionally does not specify precisely how focus rings are to be drawn: user agents are expected to honor their platform's native conventions.

    "Inform the user", as used in this section, does not imply any persistent state change. It could mean, for instance, calling a system accessibility API to notify assistive technologies such as magnification tools so that the user's magnifier moves to the given area of the canvas. However, it does not associate the path with the element, or provide a region for tactile feedback, etc.

    4.12.5.1.15 Drawing images

    Objects that implement the [29858]CanvasDrawImage interface have the drawImage() method to draw images.

    This method can be invoked with three different sets of arguments: * drawImage(image, dx, dy) * drawImage(image, dx, dy, dw, dh) * drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh)

    context.[29859]drawImage(image, dx, dy)

    (BUTTON) ✔MDN

    [29860]CanvasRenderingContext2D/drawImage

    Support in all current engines.

    Firefox1.5+Safari2+Chrome1+ ___________________________________________________________

    Opera9+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+

    context.[29861]drawImage(image, dx, dy, dw, dh) context.[29862]drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh) Draws the given image onto the canvas. The arguments are interpreted as follows:

    The sx and sy parameters give the x and y coordinates of the source rectangle; the sw and sh arguments give the width and height of the source rectangle; the dx and dy give the x and y coordinates of the destination rectangle; and the dw and dh arguments give the width and height of the destination rectangle.

    If the image isn't yet fully decoded, then nothing is drawn. If the image is a canvas with no data, throws an [29863]"InvalidStateError" [29864]DOMException.

    When the [29865]drawImage() method is invoked, the user agent must run these steps: 1. If any of the arguments are infinite or NaN, then return. 2. Let usability be the result of [29866]checking the usability of image. 3. If usability is bad, then return (without drawing anything). 4. Establish the source and destination rectangles as follows: If not specified, the dw and dh arguments must default to the values of sw and sh, interpreted such that one [29867]CSS pixel in the image is treated as one unit in the [29868]output bitmap's coordinate space. If the sx, sy, sw, and sh arguments are omitted, then they must default to 0, 0, the image's [29869]natural width in image pixels, and the image's [29870]natural height in image pixels, respectively. If the image has no [29871]natural dimensions, then the concrete object size must be used instead, as determined using the CSS "[29872]Concrete Object Size Resolution" algorithm, with the specified size having neither a definite width nor height, nor any additional constraints, the object's natural properties being those of the image argument, and the [29873]default object size being the size of the [29874]output bitmap. [29875][CSSIMAGES] The source rectangle is the rectangle whose corners are the four points (sx, sy), (sx+sw, sy), (sx+sw, sy+sh), (sx, sy+sh). The destination rectangle is the rectangle whose corners are the four points (dx, dy), (dx+dw, dy), (dx+dw, dy+dh), (dx, dy+dh). When the source rectangle is outside the source image, the source rectangle must be clipped to the source image and the destination rectangle must be clipped in the same proportion. When the destination rectangle is outside the destination image (the [29876]output bitmap), the pixels that land outside the [29877]output bitmap are discarded, as if the destination was an infinite canvas whose rendering was clipped to the dimensions of the [29878]output bitmap. 5. If one of the sw or sh arguments is zero, then return. Nothing is painted. 6. Paint the region of the image argument specified by the source rectangle on the region of the rendering context's [29879]output bitmap specified by the destination rectangle, after applying the [29880]current transformation matrix to the destination rectangle. The image data must be processed in the original direction, even if the dimensions given are negative. When scaling up, if the [29881]imageSmoothingEnabled attribute is set to true, the user agent should attempt to apply a smoothing algorithm to the image data when it is scaled. User agents which support multiple filtering algorithms may use the value of the [29882]imageSmoothingQuality attribute to guide the choice of filtering algorithm when the [29883]imageSmoothingEnabled attribute is set to true. Otherwise, the image must be rendered using nearest-neighbor interpolation. This specification does not define the precise algorithm to use when scaling an image down, or when scaling an image up when the [29884]imageSmoothingEnabled attribute is set to true. When a [29885]canvas element is drawn onto itself, the [29886]drawing model requires the source to be copied before the image is drawn, so it is possible to copy parts of a [29887]canvas element onto overlapping parts of itself. If the original image data is a bitmap image, then the value painted at a point in the destination rectangle is computed by filtering the original image data. The user agent may use any filtering algorithm (for example bilinear interpolation or nearest-neighbor). When the filtering algorithm requires a pixel value from outside the original image data, it must instead use the value from the nearest edge pixel. (That is, the filter uses 'clamp-to-edge' behavior.) When the filtering algorithm requires a pixel value from outside the source rectangle but inside the original image data, then the value from the original image data must be used. Thus, scaling an image in parts or in whole will have the same effect. This does mean that when sprites coming from a single sprite sheet are to be scaled, adjacent images in the sprite sheet can interfere. This can be avoided by ensuring each sprite in the sheet is surrounded by a border of [29888]transparent black, or by copying sprites to be scaled into temporary [29889]canvas elements and drawing the scaled sprites from there. Images are painted without affecting the current path, and are subject to [29890]shadow effects, [29891]global alpha, the [29892]clipping region, and the [29893]current compositing and blending operator. 7. If image [29894]is not origin-clean, then set the [29895]CanvasRenderingContext2D's [29896]origin-clean flag to false.

    4.12.5.1.16 Pixel manipulation

    imageData = new [29897]ImageData(sw, sh [, settings])

    (BUTTON) ✔MDN

    [29898]ImageData/ImageData

    Support in all current engines.

    Firefox29+Safari8+Chrome36+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)14+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns an [29899]ImageData object with the given dimensions and the color space indicated by settings. All the pixels in the returned object are [29900]transparent black.

    Throws an [29901]"IndexSizeError" [29902]DOMException if either of the width or height arguments are zero.

    imageData = new [29903]ImageData(data, sw [, sh [, settings ] ]) Returns an [29904]ImageData object using the data provided in the [29905]ImageDataArray argument, interpreted using the given dimensions and the color space indicated by settings.

    The byte length of the data needs to be a multiple of the number of bytes per pixel times the given width. If the height is provided as well, then the length needs to be exactly the number of bytes per pixel times the width times the height.

    Throws an [29906]"IndexSizeError" [29907]DOMException if the given data and dimensions can't be interpreted consistently, or if either dimension is zero.

    imageData = context.[29908]createImageData(imageData) Returns an [29909]ImageData object with the same dimensions and color space as the argument. All the pixels in the returned object are [29910]transparent black.

    imageData = context.[29911]createImageData(sw, sh [, settings])

    (BUTTON) ✔MDN

    [29912]CanvasRenderingContext2D/createImageData

    Support in all current engines.

    Firefox3.5+Safari4+Chrome2+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns an [29913]ImageData object with the given dimensions. The color space of the returned object is the [29914]color space of context unless overridden by settings. All the pixels in the returned object are [29915]transparent black.

    Throws an [29916]"IndexSizeError" [29917]DOMException if either of the width or height arguments are zero.

    imageData = context.[29918]getImageData(sx, sy, sw, sh [, settings])

    (BUTTON) ✔MDN

    [29919]CanvasRenderingContext2D/getImageData

    Support in all current engines.

    Firefox2+Safari4+Chrome2+ ___________________________________________________________

    Opera9.5+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+ Returns an [29920]ImageData object containing the image data for the given rectangle of the bitmap. The color space of the returned object is the [29921]color space of context unless overridden by settings.

    Throws an [29922]"IndexSizeError" [29923]DOMException if the either of the width or height arguments are zero.

    imageData.[29924]width

    (BUTTON) ✔MDN

    [29925]ImageData/width

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome1+ ___________________________________________________________

    Opera9+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+

    imageData.[29926]height

    (BUTTON) ✔MDN

    [29927]ImageData/height

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome1+ ___________________________________________________________

    Opera9+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+ Returns the actual dimensions of the data in the [29928]ImageData object, in pixels.

    imageData.[29929]data

    (BUTTON) ✔MDN

    [29930]ImageData/data

    Support in all current engines.

    Firefox3.5+Safari3.1+Chrome1+ ___________________________________________________________

    Opera9+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+ Returns the one-dimensional array containing the data in RGBA order, as integers in the range 0 to 255.

    imageData.[29931]colorSpace Returns the color space of the pixels.

    context.[29932]putImageData(imageData, dx, dy [, dirtyX, dirtyY, dirtyWidth, dirtyHeight ])

    (BUTTON) ✔MDN

    [29933]CanvasRenderingContext2D/putImageData

    Support in all current engines.

    Firefox2+Safari4+Chrome2+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Paints the data from the given [29934]ImageData object onto the bitmap. If a dirty rectangle is provided, only the pixels from that rectangle are painted.

    The [29935]globalAlpha and [29936]globalCompositeOperation properties, as well as the [29937]shadow attributes, are ignored for the purposes of this method call; pixels in the canvas are replaced wholesale, with no composition, alpha blending, no shadows, etc.

    Throws an [29938]"InvalidStateError" [29939]DOMException if the imageData object's [29940]data attribute value's [[ViewedArrayBuffer]] internal slot is detached.

    Objects that implement the [29941]CanvasImageData interface provide the following methods for reading and writing pixel data to the bitmap.

    The new ImageData(sw, sh, settings) constructor steps are: 1. If one or both of sw and sh are zero, then throw an [29942]"IndexSizeError" [29943]DOMException. 2. [29944]Initialize [29945]this given sw, sh, and settings. 3. Initialize the image data of [29946]this to [29947]transparent black.

    The new ImageData(data, sw, sh, settings) constructor steps are: 1. Let bytesPerPixel be 4 if settings["[29948]pixelFormat"] is "[29949]rgba-unorm8"; otherwise 8. 2. Let length be the [29950]buffer source byte length of data. 3. If length is not a nonzero integral multiple of bytesPerPixel, then throw an [29951]"InvalidStateError" [29952]DOMException. 4. Let length be length divided by bytesPerPixel. 5. If length is not an integral multiple of sw, then throw an [29953]"IndexSizeError" [29954]DOMException. At this step, the length is guaranteed to be greater than zero (otherwise the second step above would have aborted the steps), so if sw is zero, this step will throw the exception and return. 6. Let height be length divided by sw. 7. If sh was given and its value is not equal to height, then throw an [29955]"IndexSizeError" [29956]DOMException. 8. [29957]Initialize [29958]this given sw, sh, settings, and [29959]source set to data. This step does not set [29960]this's data to a copy of data. It sets it to the actual [29961]ImageDataArray object passed as data.

    The createImageData(sw, sh, settings) method steps are: 1. If one or both of sw and sh are zero, then throw an [29962]"IndexSizeError" [29963]DOMException. 2. Let newImageData be a [29964]new [29965]ImageData object. 3. [29966]Initialize newImageData given the absolute magnitude of sw, the absolute magnitude of sh, settings, and [29967]defaultColorSpace set to [29968]this's [29969]color space. 4. Initialize the image data of newImageData to [29970]transparent black. 5. Return newImageData.

    The createImageData(imageData) method steps are: 1. Let newImageData be a [29971]new [29972]ImageData object. 2. Let settings be the [29973]ImageDataSettings object «[ "[29974]colorSpace" → [29975]this's [29976]colorSpace, "[29977]pixelFormat" → [29978]this's [29979]pixelFormat ]». 3. [29980]Initialize newImageData given the value of imageData's [29981]width attribute, the value of imageData's [29982]height attribute, and settings. 4. Initialize the image data of newImageData to [29983]transparent black. 5. Return newImageData.

    The getImageData(sx, sy, sw, sh, settings) method steps are: 1. If either the sw or sh arguments are zero, then throw an [29984]"IndexSizeError" [29985]DOMException. 2. If the [29986]CanvasRenderingContext2D's [29987]origin-clean flag is set to false, then throw a [29988]"SecurityError" [29989]DOMException. 3. Let imageData be a [29990]new [29991]ImageData object. 4. [29992]Initialize imageData given sw, sh, settings, and [29993]defaultColorSpace set to [29994]this's [29995]color space. 5. Let the source rectangle be the rectangle whose corners are the four points (sx, sy), (sx+sw, sy), (sx+sw, sy+sh), (sx, sy+sh). 6. Set the pixel values of imageData to be the pixels of [29996]this's [29997]output bitmap in the area specified by the source rectangle in the bitmap's coordinate space units, converted from [29998]this's [29999]color space to imageData's [30000]colorSpace using [30001]'relative-colorimetric' rendering intent. 7. Set the pixels values of imageData for areas of the source rectangle that are outside of the [30002]output bitmap to [30003]transparent black. 8. Return imageData.

    To initialize an ImageData object imageData, given a positive integer number of pixels per row pixelsPerRow, a positive integer number of rows rows, an [30004]ImageDataSettings settings, an optional [30005]ImageDataArray source, and an optional [30006]PredefinedColorSpace defaultColorSpace:

    (BUTTON) MDN

    [30007]ImageData/colorSpace FirefoxNoSafari15.2+Chrome92+ __________________________________________________________________

    Opera?Edge92+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    1. If source was given: 1. If settings["[30008]pixelFormat"] equals "[30009]rgba-unorm8" and source is not a [30010]Uint8ClampedArray, then throw an [30011]"InvalidStateError" [30012]DOMException. 2. If settings["[30013]pixelFormat"] is "[30014]rgba-float16" and source is not a [30015]Float16Array, then throw an [30016]"InvalidStateError" [30017]DOMException. 3. Initialize the data attribute of imageData to source. 2. Otherwise (source was not given): 1. If settings["[30018]pixelFormat"] is "[30019]rgba-unorm8", then initialize the [30020]data attribute of imageData to a new [30021]Uint8ClampedArray object. The [30022]Uint8ClampedArray object must use a new [30023]ArrayBuffer for its storage, and must have a zero byte offset and byte length equal to the length of its storage, in bytes. The storage [30024]ArrayBuffer must have a length of 4 × rows × pixelsPerRow bytes. 2. Otherwise, if settings["[30025]pixelFormat"] is "[30026]rgba-float16", then initialize the [30027]data attribute of imageData to a new [30028]Float16Array object. The [30029]Float16Array object must use a new [30030]ArrayBuffer for its storage, and must have a zero byte offset and byte length equal to the length of its storage, in bytes. The storage [30031]ArrayBuffer must have a length of 8 × rows × pixelsPerRow bytes. 3. If the storage [30032]ArrayBuffer could not be allocated, then rethrow the [30033]RangeError thrown by JavaScript, and return. 3. Initialize the width attribute of imageData to pixelsPerRow. 4. Initialize the height attribute of imageData to rows. 5. Initialize the pixelFormat attribute of imageData to settings["pixelFormat"]. 6. If settings["[30034]colorSpace"] [30035]exists, then initialize the colorSpace attribute of imageData to settings["colorSpace"]. 7. Otherwise, if defaultColorSpace was given, then initialize the [30036]colorSpace attribute of imageData to defaultColorSpace. 8. Otherwise, initialize the [30037]colorSpace attribute of imageData to "[30038]srgb".

    [30039]ImageData objects are [30040]serializable objects. Their [30041]serialization steps, given value and serialized, are: 1. Set serialized.[[Data]] to the [30042]sub-serialization of the value of value's [30043]data attribute. 2. Set serialized.[[Width]] to the value of value's [30044]width attribute. 3. Set serialized.[[Height]] to the value of value's [30045]height attribute. 4. Set serialized.[[ColorSpace]] to the value of value's [30046]colorSpace attribute. 5. Set serialized.[[PixelFormat]] to the value of value's [30047]pixelFormat attribute.

    Their [30048]deserialization steps, given serialized, value, and targetRealm, are: 1. Initialize value's [30049]data attribute to the [30050]sub-deserialization of serialized.[[Data]]. 2. Initialize value's [30051]width attribute to serialized.[[Width]]. 3. Initialize value's [30052]height attribute to serialized.[[Height]]. 4. Initialize value's [30053]colorSpace attribute to serialized.[[ColorSpace]]. 5. Initialize value's [30054]pixelFormat attribute to serialized.[[PixelFormat]].

    The [30055]ImageDataPixelFormat enumeration is used to specify type of the [30056]data attribute of an [30057]ImageData and the arrangement and numerical representation of the color components for each pixel.

    The "rgba-unorm8" value indicates that the [30058]data attribute of an [30059]ImageData must be of type [30060]Uint8ClampedArray. The color components of each pixel must be stored in four sequential elements in the order of red, green, blue, and then alpha. Each element represents the 8-bit unsigned normalized value for that component.

    The "rgba-float16" value indicates that the [30061]data attribute of an [30062]ImageData must be of type [30063]Float16Array. The color components of each pixel must be stored in four sequential elements in the order of red, green, blue, and then alpha. Each element represents the value for that component.

    An [30064]ImageData object represents a rectanglar bitmap with width equal to the [30065]width attribute and height equal to the [30066]height attribute. The pixel values of this bitmap are stored in the [30067]data attribute in left-to-right order, row by row from top to bottom, starting with 0 for the top left pixel, with the order and numerical representation of the color components of each pixel determined by the [30068]pixelFormat attribute. The color space of the pixel values of the bitmap is determined by the [30069]colorSpace attribute.

    The putImageData(imageData, dx, dy) method steps are to [30070]put pixels from an ImageData onto a bitmap, given imageData, [30071]this's [30072]output bitmap, dx, dy, 0, 0, imageData's [30073]width, and imageData's [30074]height.

    The putImageData(imageData, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeight) method steps are to [30075]put pixels from an ImageData onto a bitmap, given imageData, [30076]this's [30077]output bitmap, dx, dy, dirtyX, dirtyY, dirtyWidth, and dirtyHeight.

    To put pixels from an ImageData onto a bitmap, given an [30078]ImageData imageData, an [30079]output bitmap bitmap, and numbers dx, dy, dirtyX, dirtyY, dirtyWidth, and dirtyHeight: 1. Let buffer be imageData's [30080]data attribute value's [[ViewedArrayBuffer]] internal slot. 2. If [30081]IsDetachedBuffer(buffer) is true, then throw an [30082]"InvalidStateError" [30083]DOMException. 3. If dirtyWidth is negative, then let dirtyX be dirtyX+dirtyWidth, and let dirtyWidth be equal to the absolute magnitude of dirtyWidth. If dirtyHeight is negative, then let dirtyY be dirtyY+dirtyHeight, and let dirtyHeight be equal to the absolute magnitude of dirtyHeight. 4. If dirtyX is negative, then let dirtyWidth be dirtyWidth+dirtyX, and let dirtyX be zero. If dirtyY is negative, then let dirtyHeight be dirtyHeight+dirtyY, and let dirtyY be zero. 5. If dirtyX+dirtyWidth is greater than the [30084]width attribute of the imageData argument, then let dirtyWidth be the value of that [30085]width attribute, minus the value of dirtyX. If dirtyY+dirtyHeight is greater than the [30086]height attribute of the imageData argument, then let dirtyHeight be the value of that [30087]height attribute, minus the value of dirtyY. 6. If, after those changes, either dirtyWidth or dirtyHeight are negative or zero, then return without affecting any bitmaps. 7. For all integer values of x and y where dirtyX ≤ x < dirtyX+dirtyWidth and dirtyY ≤ y < dirtyY+dirtyHeight, set the pixel with coordinate (dx+x, dy+y) in bitmap to the color of the pixel at coordinate (x, y) in the imageData data structure's [30088]bitmap, converted from imageData's [30089]colorSpace to the [30090]color space of bitmap using [30091]'relative-colorimetric' rendering intent.

    Due to the lossy nature of converting between color spaces and converting to and from [30092]premultiplied alpha color values, pixels that have just been set using [30093]putImageData(), and are not completely opaque, might be returned to an equivalent [30094]getImageData() as different values.

    The current path, [30095]transformation matrix, [30096]shadow attributes, [30097]global alpha, the [30098]clipping region, and [30099]current compositing and blending operator must not affect the methods described in this section.

    In the following example, the script generates an [30100]ImageData object so that it can draw onto it. // canvas is a reference to a element var context = canvas.getContext(ʼ2dʼ);

    // create a blank slate var data = context.createImageData(canvas.width, canvas.height);

    // create some plasma FillPlasma(data, ʼgreenʼ); // green plasma

    // add a cloud to the plasma AddCloud(data, data.width/2, data.height/2); // put a cloud in the middle

    // paint the plasma+cloud on the canvas context.putImageData(data, 0, 0);

    // support methods function FillPlasma(data, color) { ... } function AddCloud(data, x, y) { ... }

    Here is an example of using [30101]getImageData() and [30102]putImageData() to implement an edge detection filter. Edge detection demo

    Here is an example of color space conversion applied when drawing a solid color and reading the result back using and [30103]getImageData(). Color space image data demo

    4.12.5.1.17 Compositing

    context.[30104]globalAlpha [ = value ]

    (BUTTON) ✔MDN

    [30105]CanvasRenderingContext2D/globalAlpha

    Support in all current engines.

    Firefox1.5+Safari2+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the current [30106]global alpha value applied to rendering operations.

    Can be set, to change the [30107]global alpha value. Values outside of the range 0.0 .. 1.0 are ignored.

    context.[30108]globalCompositeOperation [ = value ]

    (BUTTON) ✔MDN

    [30109]CanvasRenderingContext2D/globalCompositeOperation

    Support in all current engines.

    Firefox1.5+Safari2+Chrome1+ ___________________________________________________________

    Opera9+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Returns the [30110]current compositing and blending operator, from the values defined in Compositing and Blending. [30111][COMPOSITE]

    Can be set, to change the [30112]current compositing and blending operator. Unknown values are ignored.

    Objects that implement the [30113]CanvasCompositing interface have a [30114]global alpha value and a [30115]current compositing and blending operator value that both affect all the drawing operations on this object.

    The global alpha value gives an alpha value that is applied to shapes and images before they are composited onto the [30116]output bitmap. The value ranges from 0.0 (fully transparent) to 1.0 (no additional transparency). It must initially have the value 1.0.

    The globalAlpha getter steps are to return [30117]this's [30118]global alpha.

    The [30119]globalAlpha setter steps are: 1. If the given value is either infinite, NaN, or not in the range 0.0 to 1.0, then return. 2. Otherwise, set [30120]this's [30121]global alpha to the given value.

    The current compositing and blending operator value controls how shapes and images are drawn onto the [30122]output bitmap, once they have had the [30123]global alpha and the [30124]current transformation matrix applied. Initially, it must be set to "[30125]source-over".

    The globalCompositeOperation getter steps are to return [30126]this's [30127]current compositing and blending operator.

    The [30128]globalCompositeOperation setter steps are: 1. If the given value is not [30129]identical to any of the values that the [30130] or the [30131] properties are defined to take, then return. [30132][COMPOSITE] 2. Otherwise, set [30133]this's [30134]current compositing and blending operator to the given value.

    4.12.5.1.18 Image smoothing

    context.[30135]imageSmoothingEnabled [ = value ]

    (BUTTON) ✔MDN

    [30136]CanvasRenderingContext2D/imageSmoothingEnabled

    Support in all current engines.

    Firefox51+Safari9.1+Chrome30+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)15+Internet Explorer🔰 11 ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns whether pattern fills and the [30137]drawImage() method will attempt to smooth images if their pixels don't line up exactly with the display, when scaling images up.

    Can be set, to change whether images are smoothed (true) or not (false).

    context.[30138]imageSmoothingQuality [ = value ]

    (BUTTON) MDN

    [30139]CanvasRenderingContext2D/imageSmoothingQuality

    FirefoxNoSafari9.1+Chrome54+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the current image-smoothing-quality preference.

    Can be set, to change the preferred quality of image smoothing. The possible values are "[30140]low", "[30141]medium" and "[30142]high". Unknown values are ignored.

    Objects that implement the [30143]CanvasImageSmoothing interface have attributes that control how image smoothing is performed.

    The imageSmoothingEnabled attribute, on getting, must return the last value it was set to. On setting, it must be set to the new value. When the object implementing the [30144]CanvasImageSmoothing interface is created, the attribute must be set to true.

    The imageSmoothingQuality attribute, on getting, must return the last value it was set to. On setting, it must be set to the new value. When the object implementing the [30145]CanvasImageSmoothing interface is created, the attribute must be set to "[30146]low".

    4.12.5.1.19 Shadows

    All drawing operations on an object which implements the [30147]CanvasShadowStyles interface are affected by the four global shadow attributes.

    context.[30148]shadowColor [ = value ]

    (BUTTON) ✔MDN

    [30149]CanvasRenderingContext2D/shadowColor

    Support in all current engines.

    Firefox1.5+Safari2+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the current shadow color.

    Can be set, to change the shadow color. Values that cannot be parsed as CSS colors are ignored.

    context.[30150]shadowOffsetX [ = value ]

    (BUTTON) ✔MDN

    [30151]CanvasRenderingContext2D/shadowOffsetX

    Support in all current engines.

    Firefox1.5+Safari2+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    context.[30152]shadowOffsetY [ = value ]

    (BUTTON) ✔MDN

    [30153]CanvasRenderingContext2D/shadowOffsetY

    Support in all current engines.

    Firefox1.5+Safari2+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the current shadow offset.

    Can be set, to change the shadow offset. Values that are not finite numbers are ignored.

    context.[30154]shadowBlur [ = value ]

    (BUTTON) ✔MDN

    [30155]CanvasRenderingContext2D/shadowBlur

    Support in all current engines.

    Firefox1.5+Safari2+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the current level of blur applied to shadows.

    Can be set, to change the blur level. Values that are not finite numbers greater than or equal to zero are ignored.

    Objects which implement the [30156]CanvasShadowStyles interface have an associated shadow color, which is a CSS color. Initially, it must be [30157]transparent black.

    The shadowColor getter steps are to return the [30158]serialization of [30159]this's [30160]shadow color with [30161]HTML-compatible serialization requested.

    The [30162]shadowColor setter steps are: 1. Let context be [30163]this's [30164]canvas attribute's value, if that is an element; otherwise null. 2. Let parsedValue be the result of [30165]parsing the given value with context if non-null. 3. If parsedValue is failure, then return. 4. Set [30166]this's [30167]shadow color to parsedValue.

    The shadowOffsetX and shadowOffsetY attributes specify the distance that the shadow will be offset in the positive horizontal and positive vertical distance respectively. Their values are in coordinate space units. They are not affected by the current transformation matrix.

    When the context is created, the shadow offset attributes must initially have the value 0.

    On getting, they must return their current value. On setting, the attribute being set must be set to the new value, except if the value is infinite or NaN, in which case the new value must be ignored.

    The shadowBlur attribute specifies the level of the blurring effect. (The units do not map to coordinate space units, and are not affected by the current transformation matrix.)

    When the context is created, the [30168]shadowBlur attribute must initially have the value 0.

    On getting, the attribute must return its current value. On setting, the attribute must be set to the new value, except if the value is negative, infinite or NaN, in which case the new value must be ignored.

    Shadows are only drawn if the opacity component of the alpha component of the [30169]shadow color is nonzero and either the [30170]shadowBlur is nonzero, or the [30171]shadowOffsetX is nonzero, or the [30172]shadowOffsetY is nonzero.

    [30173]When shadows are drawn, they must be rendered as follows: 1. Let A be an infinite [30174]transparent black bitmap on which the source image for which a shadow is being created has been rendered. 2. Let B be an infinite [30175]transparent black bitmap, with a coordinate space and an origin identical to A. 3. Copy the alpha component of A to B, offset by [30176]shadowOffsetX in the positive x direction, and [30177]shadowOffsetY in the positive y direction. 4. If [30178]shadowBlur is greater than 0: 1. Let σ be half the value of [30179]shadowBlur. 2. Perform a 2D Gaussian Blur on B, using σ as the standard deviation. User agents may limit values of σ to an implementation-specific maximum value to avoid exceeding hardware limitations during the Gaussian blur operation. 5. Set the red, green, and blue components of every pixel in B to the red, green, and blue components (respectively) of the [30180]shadow color. 6. Multiply the alpha component of every pixel in B by the alpha component of the [30181]shadow color. 7. The shadow is in the bitmap B, and is rendered as part of the [30182]drawing model described below.

    If the [30183]current compositing and blending operator is "[30184]copy", then shadows effectively won't render (since the shape will overwrite the shadow).

    4.12.5.1.20 Filters

    All drawing operations on an object which implements the [30185]CanvasFilters interface are affected by the global filter attribute.

    context.[30186]filter [ = value ]

    (BUTTON) MDN

    [30187]CanvasRenderingContext2D/filter

    Firefox49+SafariNoChrome52+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the current filter.

    Can be set, to change the filter. Values can either be the string "none" or a string parseable as a [30188]. Other values are ignored.

    Such objects have an associated current filter, which is a string. Initially the [30189]current filter is set to the string "none". Whenever the value of the [30190]current filter is the string "none" filters will be disabled for the context.

    The [30191]filter getter steps are to return [30192]this's [30193]current filter.

    The [30194]filter setter steps are: 1. If the given value is "none", then set [30195]this's [30196]current filter to "none" and return. 2. Let parsedValue be the result of [30197]parsing the given values as a [30198]. If any property-independent style sheet syntax like 'inherit' or 'initial' is present, then this parsing must return failure. 3. If parsedValue is failure, then return. 4. Set [30199]this's [30200]current filter to the given value.

    Though context.[30201]filter = "none" will disable filters for the context, context.[30202]filter = "", context.[30203]filter = null, and context.[30204]filter = undefined are all treated as unparseable inputs and the value of the [30205]current filter is left unchanged.

    Coordinates used in the value of the [30206]current filter are interpreted such that one pixel is equivalent to one SVG user space unit and to one canvas coordinate space unit. Filter coordinates are not affected by the [30207]current transformation matrix. The current transformation matrix affects only the input to the filter. Filters are applied in the [30208]output bitmap's coordinate space.

    When the value of the [30209]current filter is a string parsable as a [30210] which defines lengths using percentages or using [30211]'em' or [30212]'ex' units, these must be interpreted relative to the [30213]computed value of the [30214]'font-size' property of the [30215]font style source object at the time that the attribute is set. If the [30216]computed values are undefined for a particular case (e.g. because the [30217]font style source object is not an element or is not [30218]being rendered), then the relative keywords must be interpreted relative to the default value of the [30219]font attribute. The 'larger' and 'smaller' keywords are not supported.

    If the value of the [30220]current filter is a string parseable as a [30221] with a reference to an SVG filter in the same document, and this SVG filter changes, then the changed filter is used for the next draw operation.

    If the value of the [30222]current filter is a string parseable as a [30223] with a reference to an SVG filter in an external resource document and that document is not loaded when a drawing operation is invoked, then the drawing operation must proceed with no filtering.

    4.12.5.1.21 Working with externally-defined SVG filters

    This section is non-normative.

    Since drawing is performed using filter value "none" until an externally-defined filter has finished loading, authors might wish to determine whether such a filter has finished loading before proceeding with a drawing operation. One way to accomplish this is to load the externally-defined filter elsewhere within the same page in some element that sends a load event (for example, an [30224]SVG use element), and wait for the load event to be dispatched.

    4.12.5.1.22 Drawing model

    When a shape or image is painted, user agents must follow these steps, in the order given (or act as if they do): 1. Render the shape or image onto an infinite [30225]transparent black bitmap, creating image A, as described in the previous sections. For shapes, the current fill, stroke, and line styles must be honored, and the stroke must itself also be subjected to the current transformation matrix. 2. Multiply the alpha component of every pixel in A by [30226]global alpha. 3. When the [30227]current filter is set to a value other than "none" and all the externally-defined filters it references, if any, are in documents that are currently loaded, then use image A as the input to the [30228]current filter, creating image B. If the [30229]current filter is a string parseable as a [30230], then draw using the [30231]current filter in the same manner as SVG. Otherwise, let B be an alias for A. 4. [30232]When shadows are drawn, render the shadow from image B, using the current shadow styles, creating image C. 5. [30233]When shadows are drawn, composite C within the [30234]clipping region over the current [30235]output bitmap using the [30236]current compositing and blending operator. 6. Composite B within the [30237]clipping region over the current [30238]output bitmap using the [30239]current compositing and blending operator.

    When compositing onto the [30240]output bitmap, pixels that would fall outside of the [30241]output bitmap must be discarded.

    4.12.5.1.23 Best practices

    When a canvas is interactive, authors should include [30242]focusable elements in the element's fallback content corresponding to each [30243]focusable part of the canvas, as in the [30244]example above.

    When rendering focus rings, to ensure that focus rings have the appearance of native focus rings, authors should use the [30245]drawFocusIfNeeded() method, passing it the element for which a ring is being drawn. This method only draws the focus ring if the element is [30246]focused, so that it can simply be called whenever drawing the element, without checking whether the element is focused or not first.

    Authors should avoid implementing text editing controls using the [30247]canvas element. Doing so has a large number of disadvantages: * Mouse placement of the caret has to be reimplemented. * Keyboard movement of the caret has to be reimplemented (possibly across lines, for multiline text input). * Scrolling of the text control has to be implemented (horizontally for long lines, vertically for multiline input). * Native features such as copy-and-paste have to be reimplemented. * Native features such as spell-checking have to be reimplemented. * Native features such as drag-and-drop have to be reimplemented. * Native features such as page-wide text search have to be reimplemented. * Native features specific to the user, for example custom text services, have to be reimplemented. This is close to impossible since each user might have different services installed, and there is an unbounded set of possible such services. * Bidirectional text editing has to be reimplemented. * For multiline text editing, line wrapping has to be implemented for all relevant languages. * Text selection has to be reimplemented. * Dragging of bidirectional text selections has to be reimplemented. * Platform-native keyboard shortcuts have to be reimplemented. * Platform-native input method editors (IMEs) have to be reimplemented. * Undo and redo functionality has to be reimplemented. * Accessibility features such as magnification following the caret or selection have to be reimplemented.

    This is a huge amount of work, and authors are most strongly encouraged to avoid doing any of it by instead using the [30248]input element, the [30249]textarea element, or the [30250]contenteditable attribute.

    4.12.5.1.24 Examples

    This section is non-normative.

    Here is an example of a script that uses canvas to draw [30251]pretty glowing lines.

    The 2D rendering context for [30252]canvas is often used for sprite-based games. The following example demonstrates this:

    IFRAME: [30253]/demos/canvas/blue-robot/index-idle.html

    Here is the source for this example: Blue Robot Demo

    4.12.5.2 The [30254]ImageBitmap rendering context

    4.12.5.2.1 Introduction

    [30255]ImageBitmapRenderingContext is a performance-oriented interface that provides a low overhead method for displaying the contents of [30256]ImageBitmap objects. It uses transfer semantics to reduce overall memory consumption. It also streamlines performance by avoiding intermediate compositing, unlike the [30257]drawImage() method of [30258]CanvasRenderingContext2D.

    Using an [30259]img element as an intermediate for getting an image resource into a canvas, for example, would result in two copies of the decoded image existing in memory at the same time: the [30260]img element's copy, and the one in the canvas's backing store. This memory cost can be prohibitive when dealing with extremely large images. This can be avoided by using [30261]ImageBitmapRenderingContext.

    Using [30262]ImageBitmapRenderingContext, here is how to transcode an image to the JPEG format in a memory- and CPU-efficient way: createImageBitmap(inputImageBlob).then(image => { const canvas = document.createElement(ʼcanvasʼ); const context = canvas.getContext(ʼbitmaprendererʼ); context.transferFromImageBitmap(image);

    canvas.toBlob(outputJPEGBlob => { // Do something with outputJPEGBlob. }, ʼimage/jpegʼ); });

    4.12.5.2.2 The [30263]ImageBitmapRenderingContext interface

    (BUTTON) ✔MDN

    [30264]ImageBitmapRenderingContext

    Support in all current engines. Firefox46+Safari11.1+Chrome66+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [Exposed=(Window,Worker)] interface ImageBitmapRenderingContext { readonly attribute ([30265]HTMLCanvasElement or [30266]OffscreenCanvas) [30267 ]canvas; undefined [30268]transferFromImageBitmap([30269]ImageBitmap? bitmap); };

    dictionary ImageBitmapRenderingContextSettings { boolean [30270]alpha = true; };

    context = canvas.[30271]getContext('bitmaprenderer' [, { [ [30272]alpha: false ] } ]) Returns an [30273]ImageBitmapRenderingContext object that is permanently bound to a particular [30274]canvas element.

    If the [30275]alpha setting is provided and set to false, then the canvas is forced to always be opaque.

    context.[30276]canvas Returns the [30277]canvas element that the context is bound to.

    context.[30278]transferFromImageBitmap(imageBitmap)

    (BUTTON) ✔MDN

    [30279]ImageBitmapRenderingContext/transferFromImageBitmap

    Support in all current engines.

    Firefox50+Safari11.1+Chrome66+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Transfers the underlying [30280]bitmap data from imageBitmap to context, and the bitmap becomes the contents of the [30281]canvas element to which context is bound.

    context.[30282]transferFromImageBitmap(null) Replaces contents of the [30283]canvas element to which context is bound with a [30284]transparent black bitmap whose size corresponds to the [30285]width and [30286]height content attributes of the [30287]canvas element.

    The canvas attribute must return the value it was initialized to when the object was created.

    An [30288]ImageBitmapRenderingContext object has an output bitmap, which is a reference to [30289]bitmap data.

    An [30290]ImageBitmapRenderingContext object has a bitmap mode, which can be set to valid or blank. A value of [30291]valid indicates that the context's [30292]output bitmap refers to [30293]bitmap data that was acquired via [30294]transferFromImageBitmap(). A value [30295]blank indicates that the context's [30296]output bitmap is a default transparent bitmap.

    An [30297]ImageBitmapRenderingContext object also has an alpha flag, which can be set to true or false. When an [30298]ImageBitmapRenderingContext object has its [30299]alpha flag set to false, the contents of the [30300]canvas element to which the context is bound are obtained by compositing the context's [30301]output bitmap onto an [30302]opaque black bitmap of the same size using the [30303]source-over compositing operator. If the [30304]alpha flag is set to true, then the [30305]output bitmap is used as the contents of the [30306]canvas element to which the context is bound. [30307][COMPOSITE]

    The step of compositing over an [30308]opaque black bitmap ought to be elided whenever equivalent results can be obtained more efficiently by other means. __________________________________________________________________

    When a user agent is required to set an ImageBitmapRenderingContext's output bitmap, with a context argument that is an [30309]ImageBitmapRenderingContext object and an optional argument bitmap that refers to [30310]bitmap data, it must run these steps: 1. If a bitmap argument was not provided, then: 1. Set context's [30311]bitmap mode to [30312]blank. 2. Let canvas be the [30313]canvas element to which context is bound. 3. Set context's [30314]output bitmap to be [30315]transparent black with a [30316]natural width equal to [30317]the numeric value of canvas's [30318]width attribute and a [30319]natural height equal to [30320]the numeric value of canvas's [30321]height attribute, those values being interpreted in [30322]CSS pixels. 4. Set the [30323]output bitmap's [30324]origin-clean flag to true. 2. If a bitmap argument was provided, then: 1. Set context's [30325]bitmap mode to [30326]valid. 2. Set context's [30327]output bitmap to refer to the same underlying bitmap data as bitmap, without making a copy. The [30328]origin-clean flag of bitmap is included in the bitmap data to be referenced by context's [30329]output bitmap. __________________________________________________________________

    The ImageBitmapRenderingContext creation algorithm, which is passed a target and options, consists of running these steps: 1. Let settings be the result of [30330]converting options to the dictionary type [30331]ImageBitmapRenderingContextSettings. (This can throw an exception.) 2. Let context be a new [30332]ImageBitmapRenderingContext object. 3. Initialize context's [30333]canvas attribute to point to target. 4. Set context's [30334]output bitmap to the same bitmap as target's bitmap (so that they are shared). 5. Run the steps to [30335]set an ImageBitmapRenderingContext's output bitmap with context. 6. Initialize context's [30336]alpha flag to true. 7. Process each of the members of settings as follows:

    alpha If false, then set context's [30337]alpha flag to false.

    8. Return context. __________________________________________________________________

    The transferFromImageBitmap(bitmap) method, when invoked, must run these steps: 1. Let bitmapContext be the [30338]ImageBitmapRenderingContext object on which the [30339]transferFromImageBitmap() method was called. 2. If bitmap is null, then run the steps to [30340]set an ImageBitmapRenderingContext's output bitmap, with bitmapContext as the context argument and no bitmap argument, then return. 3. If the value of bitmap's [30341][[Detached]] internal slot is set to true, then throw an [30342]"InvalidStateError" [30343]DOMException. 4. Run the steps to [30344]set an ImageBitmapRenderingContext's output bitmap, with the context argument equal to bitmapContext, and the bitmap argument referring to bitmap's underlying [30345]bitmap data. 5. Set the value of bitmap's [30346][[Detached]] internal slot to true. 6. Unset bitmap's [30347]bitmap data.

    4.12.5.3 The [30348]OffscreenCanvas interface

    (BUTTON) ✔MDN

    [30349]OffscreenCanvas

    Support in all current engines. Firefox105+Safari16.4+Chrome69+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    typedef ([30350]OffscreenCanvasRenderingContext2D or [30351]ImageBitmapRendering Context or [30352]WebGLRenderingContext or [30353]WebGL2RenderingContext or [303 54]GPUCanvasContext) OffscreenRenderingContext;

    dictionary ImageEncodeOptions { DOMString [30355]type = "image/png"; unrestricted double [30356]quality; };

    enum OffscreenRenderingContextId { "[30357]2d", "[30358]bitmaprenderer", "[30359 ]webgl", "[30360]webgl2", "[30361]webgpu" };

    [Exposed=(Window,Worker), [30362]Transferable] interface OffscreenCanvas : [30363]EventTarget { [30364]constructor([EnforceRange] unsigned long long width, [EnforceRange] uns igned long long height);

    attribute [EnforceRange] unsigned long long [30365]width; attribute [EnforceRange] unsigned long long [30366]height;

    [30367]OffscreenRenderingContext? [30368]getContext([30369]OffscreenRenderingC ontextId contextId, optional any options = null); [30370]ImageBitmap [30371]transferToImageBitmap(); [30372]Promise<[30373]Blob> [30374]convertToBlob(optional [30375]ImageEncodeOp tions options = {});

    attribute [30376]EventHandler [30377]oncontextlost; attribute [30378]EventHandler [30379]oncontextrestored; };

    [30380]OffscreenCanvas is an [30381]EventTarget, so both [30382]OffscreenCanvasRenderingContext2D and WebGL can fire events at it. [30383]OffscreenCanvasRenderingContext2D can fire [30384]contextlost and [30385]contextrestored, and WebGL can fire webglcontextlost and webglcontextrestored. [30386][WEBGL]

    [30387]OffscreenCanvas objects are used to create rendering contexts, much like an [30388]HTMLCanvasElement, but with no connection to the DOM. This makes it possible to use canvas rendering contexts in [30389]workers.

    An [30390]OffscreenCanvas object may hold a weak reference to a placeholder canvas element, which is typically in the DOM, whose embedded content is provided by the [30391]OffscreenCanvas object. The bitmap of the [30392]OffscreenCanvas object is pushed to the [30393]placeholder canvas element as part of the [30394]OffscreenCanvas's [30395]relevant agent's [30396]event loop's [30397]update the rendering steps.

    offscreenCanvas = new [30398]OffscreenCanvas(width, height)

    (BUTTON) ✔MDN

    [30399]OffscreenCanvas/OffscreenCanvas

    Support in all current engines.

    Firefox105+Safari16.4+Chrome69+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns a new [30400]OffscreenCanvas object that is not linked to a [30401]placeholder canvas element, and whose bitmap's size is determined by the width and height arguments.

    context = offscreenCanvas.[30402]getContext(contextId [, options ])

    (BUTTON) ✔MDN

    [30403]OffscreenCanvas/getContext

    Support in all current engines.

    Firefox105+Safari16.4+Chrome69+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns an object that exposes an API for drawing on the [30404]OffscreenCanvas object. contextId specifies the desired API: "[30405]2d", "[30406]bitmaprenderer", "[30407]webgl", "[30408]webgl2", or "[30409]webgpu". options is handled by that API.

    This specification defines the "[30410]2d" context below, which is similar but distinct from the "[30411]2d" context that is created from a [30412]canvas element. The WebGL specifications define the "[30413]webgl" and "[30414]webgl2" contexts. WebGPU defines the "[30415]webgpu" context. [30416][WEBGL] [30417][WEBGPU]

    Returns null if the canvas has already been initialized with another context type (e.g., trying to get a "[30418]2d" context after getting a "[30419]webgl" context).

    An [30420]OffscreenCanvas object has an internal bitmap that is initialized when the object is created. The width and height of the [30421]bitmap are equal to the values of the [30422]width and [30423]height attributes of the [30424]OffscreenCanvas object. Initially, all the bitmap's pixels are [30425]transparent black.

    An [30426]OffscreenCanvas object has an internal inherited language and inherited direction set when the [30427]OffscreenCanvas is created.

    An [30428]OffscreenCanvas object can have a rendering context bound to it. Initially, it does not have a bound rendering context. To keep track of whether it has a rendering context or not, and what kind of rendering context it is, an [30429]OffscreenCanvas object also has a context mode, which is initially none but can be changed to either 2d, bitmaprenderer, webgl, webgl2, webgpu, or detached by algorithms defined in this specification.

    The new OffscreenCanvas(width, height) constructor steps are: 1. Initialize the [30430]bitmap of [30431]this to a rectangular array of [30432]transparent black pixels of the dimensions specified by width and height. 2. Initialize the [30433]width of [30434]this to width. 3. Initialize the [30435]height of [30436]this to height. 4. Set [30437]this's [30438]inherited language to [30439]explicitly unknown. 5. Set [30440]this's [30441]inherited direction to "ltr". 6. Let global be the [30442]relevant global object of [30443]this. 7. If global is a [30444]Window object: 1. Let element be the [30445]document element of global's [30446]associated Document. 2. If element is not null: 1. Set the [30447]inherited language of [30448]this to element's [30449]language. 2. Set the [30450]inherited direction of [30451]this to element's [30452]directionality.

    [30453]OffscreenCanvas objects are [30454]transferable. Their [30455]transfer steps, given value and dataHolder, are as follows: 1. If value's [30456]context mode is not equal to [30457]none, then throw an [30458]"InvalidStateError" [30459]DOMException. 2. Set value's [30460]context mode to [30461]detached. 3. Let width and height be the dimensions of value's [30462]bitmap. 4. Let language and direction be the values of value's [30463]inherited language and [30464]inherited direction. 5. Unset value's [30465]bitmap. 6. Set dataHolder.[[Width]] to width and dataHolder.[[Height]] to height. 7. Set dataHolder.[[Language]] to language and dataHolder.[[Direction]] to direction. 8. Set dataHolder.[[PlaceholderCanvas]] to be a weak reference to value's [30466]placeholder canvas element, if value has one, or null if it does not.

    Their [30467]transfer-receiving steps, given dataHolder and value, are: 1. Initialize value's [30468]bitmap to a rectangular array of [30469]transparent black pixels with width given by dataHolder.[[Width]] and height given by dataHolder.[[Height]]. 2. Set value's [30470]inherited language to dataHolder.[[Language]] and [30471]inherited direction to dataHolder.[[Direction]]. 3. If dataHolder.[[PlaceholderCanvas]] is not null, set value's [30472]placeholder canvas element to dataHolder.[[PlaceholderCanvas]] (while maintaining the weak reference semantics). __________________________________________________________________

    The getContext(contextId, options) method of an [30473]OffscreenCanvas object, when invoked, must run these steps: 1. If options is not an [30474]object, then set options to null. 2. Set options to the result of [30475]converting options to a JavaScript value. 3. Run the steps in the cell of the following table whose column header matches this [30476]OffscreenCanvas object's [30477]context mode and whose row header matches contextId:

    [30478]none [30479]2d [30480]bitmaprenderer [30481]webgl or [30482]webgl2 [30483]webgpu [30484]detached "2d" 1. Let context be the result of running the [30485]offscreen 2D context creation algorithm given [30486]this and options. 2. Set [30487]this's [30488]context mode to [30489]2d. 3. Return context.

    Return the same object as was returned the last time the method was invoked with this same first argument. Return null. Return null. Return null. Throw an [30490]"InvalidStateError" [30491]DOMException. "bitmaprenderer" 1. Let context be the result of running the [30492]ImageBitmapRenderingContext creation algorithm given [30493]this and options. 2. Set [30494]this's [30495]context mode to [30496]bitmaprenderer. 3. Return context.

    Return null. Return the same object as was returned the last time the method was invoked with this same first argument. Return null. Return null. Throw an [30497]"InvalidStateError" [30498]DOMException. "webgl" or "webgl2" 1. Let context be the result of following the instructions given in the WebGL specifications' Context Creation sections. [30499][WEBGL] 2. If context is null, then return null; otherwise set [30500]this's [30501]context mode to [30502]webgl or [30503]webgl2. 3. Return context.

    Return null. Return null. Return the same value as was returned the last time the method was invoked with this same first argument. Return null. Throw an [30504]"InvalidStateError" [30505]DOMException. "webgpu" 1. Let context be the result of following the instructions given in WebGPU's [30506]Canvas Rendering section. [30507][WEBGPU] 2. If context is null, then return null; otherwise set [30508]this's [30509]context mode to [30510]webgpu. 3. Return context.

    Return null. Return null. Return null. Return the same value as was returned the last time the method was invoked with this same first argument. Throw an [30511]"InvalidStateError" [30512]DOMException. __________________________________________________________________

    offscreenCanvas.[30513]width [ = value ]

    (BUTTON) ✔MDN

    [30514]OffscreenCanvas/width

    Support in all current engines.

    Firefox105+Safari16.4+Chrome69+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    offscreenCanvas.[30515]height [ = value ]

    (BUTTON) ✔MDN

    [30516]OffscreenCanvas/height

    Support in all current engines.

    Firefox105+Safari16.4+Chrome69+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? These attributes return the dimensions of the [30517]OffscreenCanvas object's [30518]bitmap.

    They can be set, to replace the [30519]bitmap with a new, [30520]transparent black bitmap of the specified dimensions (effectively resizing it).

    If either the width or height attributes of an [30521]OffscreenCanvas object are set (to a new value or to the same value as before) and the [30522]OffscreenCanvas object's [30523]context mode is [30524]2d, then [30525]reset the rendering context to its default state and resize the [30526]OffscreenCanvas object's [30527]bitmap to the new values of the [30528]width and [30529]height attributes.

    The resizing behavior for "[30530]webgl" and "[30531]webgl2" contexts is defined in the WebGL specifications. [30532][WEBGL]

    The resizing behavior for "[30533]webgpu" context is defined in WebGPU. [30534][WEBGPU]

    If an [30535]OffscreenCanvas object whose dimensions were changed has a [30536]placeholder canvas element, then the [30537]placeholder canvas element's [30538]natural size will only be updated during the [30539]OffscreenCanvas's [30540]relevant agent's [30541]event loop's [30542]update the rendering steps.

    promise = offscreenCanvas.[30543]convertToBlob([options])

    (BUTTON) ✔MDN

    [30544]OffscreenCanvas/convertToBlob

    Support in all current engines.

    Firefox105+Safari16.4+Chrome69+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns a promise that will fulfill with a new [30545]Blob object representing a file containing the image in the [30546]OffscreenCanvas object.

    The argument, if provided, is a dictionary that controls the encoding options of the image file to be created. The [30547]type field specifies the file format and has a default value of "[30548]image/png"; that type is also used if the requested type isn't supported. If the image format supports variable quality (such as "[30549]image/jpeg"), then the [30550]quality field is a number in the range 0.0 to 1.0 inclusive indicating the desired quality level for the resulting image.

    canvas.[30551]transferToImageBitmap()

    (BUTTON) ✔MDN

    [30552]OffscreenCanvas/transferToImageBitmap

    Support in all current engines.

    Firefox105+Safari16.4+Chrome69+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns a newly created [30553]ImageBitmap object with the image in the [30554]OffscreenCanvas object. The image in the [30555]OffscreenCanvas object is replaced with a new blank image.

    The convertToBlob(options) method steps are: 1. If the value of [30556]this's [30557][[Detached]] internal slot is true, then return [30558]a promise rejected with an [30559]"InvalidStateError" [30560]DOMException. 2. If [30561]this's [30562]context mode is [30563]2d and the rendering context's [30564]output bitmap's [30565]origin-clean flag is set to false, then return [30566]a promise rejected with a [30567]"SecurityError" [30568]DOMException. 3. If [30569]this's [30570]bitmap has no pixels (i.e., either its horizontal dimension or its vertical dimension is zero), then return [30571]a promise rejected with an [30572]"IndexSizeError" [30573]DOMException. 4. Let bitmap be a copy of [30574]this's [30575]bitmap. 5. Let result be a new promise object. 6. Let global be [30576]this's [30577]relevant global object. 7. Run these steps [30578]in parallel: 1. Let file be [30579]a serialization of bitmap as a file, with options's type and quality if present. 2. [30580]Queue a global task on the [30581]canvas blob serialization task source given global to run these steps: 1. If file is null, then reject result with an [30582]"EncodingError" [30583]DOMException. 2. Otherwise, resolve result with a new [30584]Blob object, created in global's [30585]relevant realm, representing file. [30586][FILEAPI] 8. Return result.

    The transferToImageBitmap() method, when invoked, must run the following steps: 1. If the value of this [30587]OffscreenCanvas object's [30588][[Detached]] internal slot is set to true, then throw an [30589]"InvalidStateError" [30590]DOMException. 2. If this [30591]OffscreenCanvas object's [30592]context mode is set to [30593]none, then throw an [30594]"InvalidStateError" [30595]DOMException. 3. Let image be a newly created [30596]ImageBitmap object that references the same underlying bitmap data as this [30597]OffscreenCanvas object's [30598]bitmap. 4. Set this [30599]OffscreenCanvas object's [30600]bitmap to reference a newly created bitmap of the same dimensions and color space as the previous bitmap, and with its pixels initialized to [30601]transparent black, or [30602]opaque black if the rendering context's [30603]alpha is false. This means that if the rendering context of this [30604]OffscreenCanvas is a [30605]WebGLRenderingContext, the value of [30606]preserveDrawingBuffer will have no effect. [30607][WEBGL] 5. Return image.

    The following are the [30608]event handlers (and their corresponding [30609]event handler event types) that must be supported, as [30610]event handler IDL attributes, by all objects implementing the [30611]OffscreenCanvas interface:

    [30612]Event handler [30613]Event handler event type oncontextlost [30614]contextlost oncontextrestored [30615]contextrestored

    4.12.5.3.1 The offscreen 2D rendering context

    (BUTTON) ✔MDN

    [30616]OffscreenCanvasRenderingContext2D

    Support in all current engines. Firefox105+Safari16.4+Chrome69+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [Exposed=(Window,Worker)] interface OffscreenCanvasRenderingContext2D { readonly attribute [30617]OffscreenCanvas [30618]canvas; };

    [30619]OffscreenCanvasRenderingContext2D includes [30620]CanvasSettings; [30621]OffscreenCanvasRenderingContext2D includes [30622]CanvasState; [30623]OffscreenCanvasRenderingContext2D includes [30624]CanvasTransform; [30625]OffscreenCanvasRenderingContext2D includes [30626]CanvasCompositing; [30627]OffscreenCanvasRenderingContext2D includes [30628]CanvasImageSmoothing; [30629]OffscreenCanvasRenderingContext2D includes [30630]CanvasFillStrokeStyles; [30631]OffscreenCanvasRenderingContext2D includes [30632]CanvasShadowStyles; [30633]OffscreenCanvasRenderingContext2D includes [30634]CanvasFilters; [30635]OffscreenCanvasRenderingContext2D includes [30636]CanvasRect; [30637]OffscreenCanvasRenderingContext2D includes [30638]CanvasDrawPath; [30639]OffscreenCanvasRenderingContext2D includes [30640]CanvasText; [30641]OffscreenCanvasRenderingContext2D includes [30642]CanvasDrawImage; [30643]OffscreenCanvasRenderingContext2D includes [30644]CanvasImageData; [30645]OffscreenCanvasRenderingContext2D includes [30646]CanvasPathDrawingStyles ; [30647]OffscreenCanvasRenderingContext2D includes [30648]CanvasTextDrawingStyles ; [30649]OffscreenCanvasRenderingContext2D includes [30650]CanvasPath;

    The [30651]OffscreenCanvasRenderingContext2D object is a rendering context for drawing to the [30652]bitmap of an [30653]OffscreenCanvas object. It is similar to the [30654]CanvasRenderingContext2D object, with the following differences: * there is no support for [30655]user interface features; * its [30656]canvas attribute refers to an [30657]OffscreenCanvas object rather than a [30658]canvas element;

    An [30659]OffscreenCanvasRenderingContext2D object has an associated OffscreenCanvas object, which is the [30660]OffscreenCanvas object from which the [30661]OffscreenCanvasRenderingContext2D object was created.

    offscreenCanvas = offscreenCanvasRenderingContext2D.[30662]canvas Returns the [30663]associated OffscreenCanvas object.

    The offscreen 2D context creation algorithm, which is passed a target (an [30664]OffscreenCanvas object) and optionally some arguments, consists of running the following steps: 1. If the algorithm was passed some arguments, let arg be the first such argument. Otherwise, let arg be undefined. 2. Let settings be the result of [30665]converting arg to the dictionary type [30666]CanvasRenderingContext2DSettings. (This can throw an exception.) 3. Let context be a new [30667]OffscreenCanvasRenderingContext2D object. 4. Set context's [30668]associated OffscreenCanvas object to target. 5. Run the [30669]canvas settings output bitmap initialization algorithm, given context and settings. 6. Set context's [30670]output bitmap to a newly created bitmap with the dimensions specified by the [30671]width and [30672]height attributes of target, and set target's bitmap to the same bitmap (so that they are shared). 7. If context's [30673]alpha flag is set to true, initialize all the pixels of context's [30674]output bitmap to [30675]transparent black. Otherwise, initialize the pixels to [30676]opaque black. 8. Return context.

    Implementations are encouraged to short-circuit the graphics update steps of the [30677]window event loop for the purposes of updating the contents of a [30678]placeholder canvas element to the display. This could mean, for example, that the bitmap contents are copied directly to a graphics buffer that is mapped to the physical display location of the [30679]placeholder canvas element. This or similar short-circuiting approaches can significantly reduce display latency, especially in cases where the [30680]OffscreenCanvas is updated from a [30681]worker event loop and the [30682]window event loop of the [30683]placeholder canvas element is busy. However, such shortcuts cannot have any script-observable side-effects. This means that the committed bitmap still needs to be sent to the [30684]placeholder canvas element, in case the element is used as a [30685]CanvasImageSource, as an [30686]ImageBitmapSource, or in case [30687]toDataURL() or [30688]toBlob() are called on it.

    The canvas attribute, on getting, must return this [30689]OffscreenCanvasRenderingContext2D's [30690]associated OffscreenCanvas object.

    4.12.5.4 Color spaces and color space conversion

    The [30691]canvas APIs provide mechanisms for specifying the color space of the canvas's backing store. The default backing store color space for all canvas APIs is [30692]'srgb'.

    [30693]Color space conversion must be applied to the canvas's backing store when rendering the canvas to the output device. This color space conversion must be identical to the color space conversion that would be applied to an [30694]img element with a color profile that specifies the same [30695]color space as the canvas's backing store.

    When drawing content to a 2D context, all inputs must be [30696]converted to the [30697]context's color space before drawing. Interpolation of gradient color stops must be performed on color values after conversion to the [30698]context's color space. Alpha blending must be performed on values after conversion to the [30699]context's color space.

    There do not exist any inputs to a 2D context for which the color space is undefined. The color space for CSS colors is defined in CSS Color. The color space for images that specify no color profile information is assumed to be [30700]'srgb', as specified in the [30701]Color Spaces of Untagged Colors section of CSS Color. [30702][CSSCOLOR]

    4.12.5.5 Serializing bitmaps to a file

    When a user agent is to create a serialization of the bitmap as a file, given a type and an optional quality, it must create an image file in the format given by type. If an error occurs during the creation of the image file (e.g. an internal encoder error), then the result of the serialization is null. [30703][PNG]

    The image file's pixel data must be the bitmap's pixel data scaled to one image pixel per coordinate space unit, and if the file format used supports encoding resolution metadata, the resolution must be given as 96dpi (one image pixel per [30704]CSS pixel).

    If type is supplied, then it must be interpreted as a [30705]MIME type giving the format to use. If the type has any parameters, then it must be treated as not supported.

    For example, the value "[30706]image/png" would mean to generate a PNG image, the value "[30707]image/jpeg" would mean to generate a JPEG image, and the value "[30708]image/svg+xml" would mean to generate an SVG image (which would require that the user agent track how the bitmap was generated, an unlikely, though potentially awesome, feature).

    User agents must support PNG ("[30709]image/png"). User agents may support other types. If the user agent does not support the requested type, then it must create the file using the PNG format. [30710][PNG]

    User agents must [30711]convert the provided type to ASCII lowercase before establishing if they support that type.

    For image types that do not support an alpha component, the serialized image must be the bitmap image composited onto an [30712]opaque black background using the [30713]source-over compositing operator.

    For image types that support color profiles, the serialized image must include a color profile indicating the color space of the underlying bitmap. For image types that do not support color profiles, the serialized image must be [30714]converted to the [30715]'srgb' color space using [30716]'relative-colorimetric' rendering intent.

    Thus, in the 2D context, calling the [30717]drawImage() method to render the output of the [30718]toDataURL() or [30719]toBlob() method to the canvas, given the appropriate dimensions, has no visible effect beyond, at most, clipping colors of the canvas to a more narrow gamut.

    For image types that support multiple bit depths, the serialized image must use the bit depth that best preserves content of the underlying bitmap.

    For example, when serializing a 2D context that has [30720]color type of [30721]float16 to type "[30722]image/png", the resulting image would have 16 bits per sample. This serialization will still lose significant detail (all values less than 0.5/65535 would be clamped to 0, and all values greater than 1 would be clamped to 1).

    If type is an image format that supports variable quality (such as "[30723]image/jpeg"), quality is given, and type is not "[30724]image/png", then, if quality [30725]is a Number in the range 0.0 to 1.0 inclusive, the user agent must treat quality as the desired quality level. Otherwise, the user agent must use its default quality value, as if the quality argument had not been given.

    The use of type-testing here, instead of simply declaring quality as a Web IDL double, is a historical artifact.

    Different implementations can have slightly different interpretations of "quality". When the quality is not specified, an implementation-specific default is used that represents a reasonable compromise between compression ratio, image quality, and encoding time.

    4.12.5.6 Security with [30726]canvas elements

    This section is non-normative.

    Information leakage can occur if scripts from one [30727]origin can access information (e.g. read pixels) from images from another origin (one that isn't the [30728]same).

    To mitigate this, bitmaps used with [30729]canvas elements, [30730]OffscreenCanvas objects, and [30731]ImageBitmap objects are defined to have a flag indicating whether they are [30732]origin-clean. All bitmaps start with their [30733]origin-clean set to true. The flag is set to false when cross-origin images are used.

    The [30734]toDataURL(), [30735]toBlob(), and [30736]getImageData() methods check the flag and will throw a [30737]"SecurityError" [30738]DOMException rather than leak cross-origin data.

    The value of the [30739]origin-clean flag is propagated from a source's bitmap to a new [30740]ImageBitmap object by [30741]createImageBitmap(). Conversely, a destination [30742]canvas element's bitmap will have its [30743]origin-clean flags set to false by [30744]drawImage if the source image is an [30745]ImageBitmap object whose bitmap has its [30746]origin-clean flag set to false.

    The flag can be reset in certain situations; for example, when changing the value of the [30747]width or the [30748]height content attribute of the [30749]canvas element to which a [30750]CanvasRenderingContext2D is bound, the bitmap is cleared and its [30751]origin-clean flag is reset.

    When using an [30752]ImageBitmapRenderingContext, the value of the [30753]origin-clean flag is propagated from [30754]ImageBitmap objects when they are transferred to the [30755]canvas via [30756]transferFromImageBitmap().

    4.12.5.7 Premultiplied alpha and the 2D rendering context

    Premultiplied alpha refers to one way of representing transparency in an image, the other being non-premultiplied alpha.

    Under non-premultiplied alpha, the red, green, and blue components of a pixel represent that pixel's color, and its alpha component represents that pixel's opacity.

    Under premultiplied alpha, however, the red, green, and blue components of a pixel represent the amounts of color that the pixel adds to the image, and its alpha component represents the amount that the pixel obscures whatever is behind it.

    For instance, assuming the color components range from 0 (off) to 255 (full intensity), these example colors are represented in the following ways: CSS color representation Premultiplied representation Non-premultiplied representation Description of color Image of color blended above other content rgba(255, 127, 0, 1) 255, 127, 0, 255 255, 127, 0, 255 Completely-opaque orange An opaque orange circle sits atop a background rgba(255, 255, 0, 0.5) 127, 127, 0, 127 255, 255, 0, 127 Halfway-opaque yellow A yellow circle, halfway transparent, sits atop a background Unrepresentable 255, 127, 0, 127 Unrepresentable Additive halfway-opaque orange An orange circle somewhat brightens the background that it sits atop Unrepresentable 255, 127, 0, 0 Unrepresentable Additive fully-transparent orange An orange circle completely brightens the background that it sits atop rgba(255, 127, 0, 0) 0, 0, 0, 0 255, 127, 0, 0 Fully-transparent ("invisible") orange An empty background with nothing atop it rgba(0, 127, 255, 0) 0, 0, 0, 0 255, 127, 0, 0 Fully-transparent ("invisible") turquoise An empty background with nothing atop it

    Converting a color value from a non-premultiplied representation to a premultiplied one involves multiplying the color's red, green, and blue components by its alpha component (remapping the range of the alpha component such that "fully transparent" is 0, and "fully opaque" is 1).

    Converting a color value from a premultiplied representation to a non-premultiplied one involves the inverse: dividing the color's red, green, and blue components by its alpha component.

    As certain colors can only be represented under premultiplied alpha (for instance, additive colors), and others can only be represented under non-premultiplied alpha (for instance, "invisible" colors which hold certain red, green, and blue values even with no opacity); and division and multiplication using finite precision entails a loss of accuracy, converting between premultiplied and non-premultiplied alpha is a lossy operation on colors that are not fully opaque.

    A [30757]CanvasRenderingContext2D's [30758]output bitmap and an [30759]OffscreenCanvasRenderingContext2D's [30760]output bitmap must use premultiplied alpha to represent transparent colors.

    It is important for canvas bitmaps to represent colors using premultiplied alpha because it affects the range of representable colors. While additive colors cannot currently be drawn onto canvases directly because CSS colors are non-premultiplied and cannot represent them, it is still possible to, for instance, draw additive colors onto a WebGL canvas and then draw that WebGL canvas onto a 2D canvas via [30761]drawImage().

    4.13 Custom elements

    (BUTTON) ✔MDN

    [30762]Using_custom_elements

    Support in all current engines. Firefox63+Safari10.1+Chrome54+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    4.13.1 Introduction

    This section is non-normative.

    [30763]Custom elements provide a way for authors to build their own fully-featured DOM elements. Although authors could always use non-standard elements in their documents, with application-specific behavior added after the fact by scripting or similar, such elements have historically been non-conforming and not very functional. By [30764]defining a custom element, authors can inform the parser how to properly construct an element and how elements of that class should react to changes.

    Custom elements are part of a larger effort to "rationalise the platform", by explaining existing platform features (like the elements of HTML) in terms of lower-level author-exposed extensibility points (like custom element definition). Although today there are many limitations on the capabilities of custom elements—both functionally and semantically—that prevent them from fully explaining the behaviors of HTML's existing elements, we hope to shrink this gap over time.

    4.13.1.1 Creating an autonomous custom element

    This section is non-normative.

    For the purposes of illustrating how to create an [30765]autonomous custom element, let's define a custom element that encapsulates rendering a small icon for a country flag. Our goal is to be able to use it like so:

    To do this, we first declare a class for the custom element, extending [30766]HTMLElement: class FlagIcon extends HTMLElement { constructor() { super(); this._countryCode = null; }

    static observedAttributes = ["country"];

    attributeChangedCallback(name, oldValue, newValue) { // name will always be "country" due to observedAttributes this._countryCode = newValue; this._updateRendering(); } connectedCallback() { this._updateRendering(); }

    get country() { return this._countryCode; } set country(v) { this.setAttribute("country", v); }

    _updateRendering() { // Left as an exercise for the reader. But, youʼll probably want to // check this.ownerDocument.defaultView to see if weʼve been // inserted into a document with a browsing context, and avoid // doing any work if not. } }

    We then need to use this class to define the element: customElements.define("flag-icon", FlagIcon);

    At this point, our above code will work! The parser, whenever it sees the flag-icon tag, will construct a new instance of our FlagIcon class, and tell our code about its new country attribute, which we then use to set the element's internal state and update its rendering (when appropriate).

    You can also create flag-icon elements using the DOM API: const flagIcon = document.createElement("flag-icon") flagIcon.country = "jp" document.body.appendChild(flagIcon)

    Finally, we can also use the [30767]custom element constructor itself. That is, the above code is equivalent to: const flagIcon = new FlagIcon() flagIcon.country = "jp" document.body.appendChild(flagIcon)

    4.13.1.2 Creating a form-associated custom element

    This section is non-normative.

    Adding a static formAssociated property, with a true value, makes an [30768]autonomous custom element a [30769]form-associated custom element. The [30770]ElementInternals interface helps you to implement functions and properties common to form control elements. class MyCheckbox extends HTMLElement { static formAssociated = true; static observedAttributes = [ʼcheckedʼ];

    constructor() { super(); this._internals = this.attachInternals(); this.addEventListener(ʼclickʼ, this._onClick.bind(this)); }

    get form() { return this._internals.form; } get name() { return this.getAttribute(ʼnameʼ); } get type() { return this.localName; }

    get checked() { return this.hasAttribute(ʼcheckedʼ); } set checked(flag) { this.toggleAttribute(ʼcheckedʼ, Boolean(flag)); }

    attributeChangedCallback(name, oldValue, newValue) { // name will always be "checked" due to observedAttributes this._internals.setFormValue(this.checked ? ʼonʼ : null); }

    _onClick(event) { this.checked = !this.checked; } } customElements.define(ʼmy-checkboxʼ, MyCheckbox);

    You can use the custom element my-checkbox like a built-in form-associated element. For example, putting it in [30771]form or [30772]label associates the my-checkbox element with them, and submitting the [30773]form will send data provided by my-checkbox implementation.

    4.13.1.3 Creating a custom element with default accessible roles, states, and properties

    This section is non-normative.

    By using the appropriate properties of [30774]ElementInternals, your custom element can have default accessibility semantics. The following code expands our form-associated checkbox from the previous section to properly set its default role and checkedness, as viewed by accessibility technology: class MyCheckbox extends HTMLElement { static formAssociated = true; static observedAttributes = [ʼcheckedʼ];

    constructor() { super(); this._internals = this.attachInternals(); this.addEventListener(ʼclickʼ, this._onClick.bind(this));

    this._internals.role = ʼcheckboxʼ; this._internals.ariaChecked = ʼfalseʼ; }

    get form() { return this._internals.form; } get name() { return this.getAttribute(ʼnameʼ); } get type() { return this.localName; }

    get checked() { return this.hasAttribute(ʼcheckedʼ); } set checked(flag) { this.toggleAttribute(ʼcheckedʼ, Boolean(flag)); }

    attributeChangedCallback(name, oldValue, newValue) { // name will always be "checked" due to observedAttributes this._internals.setFormValue(this.checked ? ʼonʼ : null); this._internals.ariaChecked = this.checked; }

    _onClick(event) { this.checked = !this.checked; } } customElements.define(ʼmy-checkboxʼ, MyCheckbox);

    Note that, like for built-in elements, these are only defaults, and can be overridden by the page author using the [30775]role and [30776]aria-* attributes:

    Custom element authors are encouraged to state what aspects of their accessibility semantics are strong native semantics, i.e., should not be overridden by users of the custom element. In our example, the author of the my-checkbox element would state that its [30777]role and [30778]aria-checked values are strong native semantics, thus discouraging code such as the above.

    4.13.1.4 Creating a customized built-in element

    This section is non-normative.

    [30779]Customized built-in elements are a distinct kind of [30780]custom element, which are defined slightly differently and used very differently compared to [30781]autonomous custom elements. They exist to allow reuse of behaviors from the existing elements of HTML, by extending those elements with new custom functionality. This is important since many of the existing behaviors of HTML elements can unfortunately not be duplicated by using purely [30782]autonomous custom elements. Instead, [30783]customized built-in elements allow the installation of custom construction behavior, lifecycle hooks, and prototype chain onto existing elements, essentially "mixing in" these capabilities on top of the already-existing element.

    [30784]Customized built-in elements require a distinct syntax from [30785]autonomous custom elements because user agents and other software key off an element's local name in order to identify the element's semantics and behavior. That is, the concept of [30786]customized built-in elements building on top of existing behavior depends crucially on the extended elements retaining their original local name.

    In this example, we'll be creating a [30787]customized built-in element named plastic-button, which behaves like a normal button but gets fancy animation effects added whenever you click on it. We start by defining a class, just like before, although this time we extend [30788]HTMLButtonElement instead of [30789]HTMLElement: class PlasticButton extends HTMLButtonElement { constructor() { super();

    this.addEventListener("click", () => { // Draw some fancy animation effects! }); } }

    When defining our custom element, we have to also specify the [30790]extends option: customElements.define("plastic-button", PlasticButton, { extends: "button" });

    In general, the name of the element being extended cannot be determined simply by looking at what element interface it extends, as many elements share the same interface (such as [30791]q and [30792]blockquote both sharing [30793]HTMLQuoteElement).

    To construct our [30794]customized built-in element from parsed HTML source text, we use the [30795]is attribute on a [30796]button element:

    Trying to use a [30797]customized built-in element as an [30798]autonomous custom element will not work; that is, Click me? will simply create an [30799]HTMLElement with no special behavior.

    If you need to create a customized built-in element programmatically, you can use the following form of [30800]createElement(): const plasticButton = document.createElement("button", { is: "plastic-button" }) ; plasticButton.textContent = "Click me!";

    And as before, the constructor will also work: const plasticButton2 = new PlasticButton(); console.log(plasticButton2.localName); // will output "button" console.assert(plasticButton2 instanceof PlasticButton); console.assert(plasticButton2 instanceof HTMLButtonElement);

    Note that when creating a customized built-in element programmatically, the [30801]is attribute will not be present in the DOM, since it was not explicitly set. However, [30802]it will be added to the output when serializing: console.assert(!plasticButton.hasAttribute("is")); console.log(plasticButton.outerHTML); // will output ʼʼ

    Regardless of how it is created, all of the ways in which [30803]button is special apply to such "plastic buttons" as well: their focus behavior, ability to participate in [30804]form submission, the [30805]disabled attribute, and so on.

    [30806]Customized built-in elements are designed to allow extension of existing HTML elements that have useful user-agent supplied behavior or APIs. As such, they can only extend existing HTML elements defined in this specification, and cannot extend legacy elements such as [30807]bgsound, [30808]blink, [30809]isindex, [30810]keygen, [30811]multicol, [30812]nextid, or [30813]spacer that have been defined to use [30814]HTMLUnknownElement as their [30815]element interface.

    One reason for this requirement is future-compatibility: if a [30816]customized built-in element was defined that extended a currently-unknown element, for example combobox, this would prevent this specification from defining a combobox element in the future, as consumers of the derived [30817]customized built-in element would have come to depend on their base element having no interesting user-agent-supplied behavior.

    4.13.1.5 Drawbacks of autonomous custom elements

    This section is non-normative.

    As specified below, and alluded to above, simply defining and using an element called taco-button does not mean that such elements [30818]represent buttons. That is, tools such as web browsers, search engines, or accessibility technology will not automatically treat the resulting element as a button just based on its defined name.

    To convey the desired button semantics to a variety of users, while still using an [30819]autonomous custom element, a number of techniques would need to be employed: * The addition of the [30820]tabindex attribute would make the taco-button [30821]focusable. Note that if the taco-button were to become logically disabled, the [30822]tabindex attribute would need to be removed. * The addition of an ARIA role and various ARIA states and properties helps convey semantics to accessibility technology. For example, setting the [30823]role to "[30824]button" will convey the semantics that this is a button, enabling users to successfully interact with the control using usual button-like interactions in their accessibility technology. Setting the [30825]aria-label property is necessary to give the button an [30826]accessible name, instead of having accessibility technology traverse its child text nodes and announce them. And setting the [30827]aria-disabled state to "true" when the button is logically disabled conveys to accessibility technology the button's disabled state. * The addition of event handlers to handle commonly-expected button behaviors helps convey the semantics of the button to web browser users. In this case, the most relevant event handler would be one that proxies appropriate [30828]keydown events to become [30829]click events, so that you can activate the button both with keyboard and by clicking. * In addition to any default visual styling provided for taco-button elements, the visual styling will also need to be updated to reflect changes in logical state, such as becoming disabled; that is, whatever style sheet has rules for taco-button will also need to have rules for taco-button[disabled].

    With these points in mind, a full-featured taco-button that took on the responsibility of conveying button semantics (including the ability to be disabled) might look something like this: class TacoButton extends HTMLElement { static observedAttributes = ["disabled"];

    constructor() { super(); this._internals = this.attachInternals(); this._internals.role = "button";

    this.addEventListener("keydown", e => { if (e.code === "Enter" || e.code === "Space") { this.dispatchEvent(new PointerEvent("click", { bubbles: true, cancelable: true })); } });

    this.addEventListener("click", e => { if (this.disabled) { e.preventDefault(); e.stopImmediatePropagation(); } });

    this._observer = new MutationObserver(() => { this._internals.ariaLabel = this.textContent; }); }

    connectedCallback() { this.setAttribute("tabindex", "0");

    this._observer.observe(this, { childList: true, characterData: true, subtree: true }); }

    disconnectedCallback() { this._observer.disconnect(); }

    get disabled() { return this.hasAttribute("disabled"); } set disabled(flag) { this.toggleAttribute("disabled", Boolean(flag)); }

    attributeChangedCallback(name, oldValue, newValue) { // name will always be "disabled" due to observedAttributes if (this.disabled) { this.removeAttribute("tabindex"); this._internals.ariaDisabled = "true"; } else { this.setAttribute("tabindex", "0"); this._internals.ariaDisabled = "false"; } } }

    Even with this rather-complicated element definition, the element is not a pleasure to use for consumers: it will be continually "sprouting" [30830]tabindex attributes of its own volition, and its choice of tabindex="0" focusability behavior may not match the [30831]button behavior on the current platform. This is because as of now there is no way to specify default focus behavior for custom elements, forcing the use of the [30832]tabindex attribute to do so (even though it is usually reserved for allowing the consumer to override default behavior).

    In contrast, a simple [30833]customized built-in element, as shown in the previous section, would automatically inherit the semantics and behavior of the [30834]button element, with no need to implement these behaviors manually. In general, for any elements with nontrivial behavior and semantics that build on top of existing elements of HTML, [30835]customized built-in elements will be easier to develop, maintain, and consume.

    4.13.1.6 Upgrading elements after their creation

    This section is non-normative.

    Because [30836]element definition can occur at any time, a non-custom element could be [30837]created, and then later become a [30838]custom element after an appropriate [30839]definition is registered. We call this process "upgrading" the element, from a normal element into a custom element.

    [30840]Upgrades enable scenarios where it may be preferable for [30841]custom element definitions to be registered after relevant elements have been initially created, such as by the parser. They allow progressive enhancement of the content in the custom element. For example, in the following HTML document the element definition for img-viewer is loaded asynchronously: Image viewer example

    A beautiful tree towering over an empty savann
ah

    The definition for the img-viewer element here is loaded using a [30842]script element marked with the [30843]async attribute, placed after the tag in the markup. While the script is loading, the img-viewer element will be treated as an undefined element, similar to a [30844]span. Once the script loads, it will define the img-viewer element, and the existing img-viewer element on the page will be upgraded, applying the custom element's definition (which presumably includes applying an image filter identified by the string "Kelvin", enhancing the image's visual appearance). __________________________________________________________________

    Note that [30845]upgrades only apply to elements in the document tree. (Formally, elements that are [30846]connected.) An element that is not inserted into a document will stay un-upgraded. An example illustrates this point: Upgrade edge-cases example

    4.13.1.7 Exposing custom element states

    Built-in elements provided by user agents have certain states that can change over time depending on user interaction and other factors, and are exposed to web authors through [30847]pseudo-classes. For example, some form controls have the "invalid" state, which is exposed through the [30848]:invalid [30849]pseudo-class.

    Like built-in elements, [30850]custom elements can have various states to be in too, and [30851]custom element authors want to expose these states in a similar fashion as the built-in elements.

    This is done via the [30852]:state() pseudo-class. A custom element author can use the [30853]states property of [30854]ElementInternals to add and remove such custom states, which are then exposed as arguments to the [30855]:state() pseudo-class.

    The following shows how [30856]:state() can be used to style a custom checkbox element. Assume that LabeledCheckbox doesn't expose its "checked" state via a content attribute.

    You need to check this

    Custom pseudo-classes can even target shadow parts. An extension of the above example shows this:

    Continue?

    4.13.2 Requirements for custom element constructors and reactions

    When authoring [30857]custom element constructors, authors are bound by the following conformance requirements: * A parameter-less call to super() must be the first statement in the constructor body, to establish the correct prototype chain and this value before any further code is run. * A return statement must not appear anywhere inside the constructor body, unless it is a simple early-return (return or return this). * The constructor must not use the [30858]document.write() or [30859]document.open() methods. * The element's attributes and children must not be inspected, as in the non-[30860]upgrade case none will be present, and relying on upgrades makes the element less usable. * The element must not gain any attributes or children, as this violates the expectations of consumers who use the [30861]createElement or [30862]createElementNS methods. * In general, work should be deferred to connectedCallback as much as possible—especially work involving fetching resources or rendering. However, note that connectedCallback can be called more than once, so any initialization work that is truly one-time will need a guard to prevent it from running twice. * In general, the constructor should be used to set up initial state and default values, and to set up event listeners and possibly a [30863]shadow root.

    Several of these requirements are checked during [30864]element creation, either directly or indirectly, and failing to follow them will result in a custom element that cannot be instantiated by the parser or DOM APIs. This is true even if the work is done inside a constructor-initiated [30865]microtask, as a [30866]microtask checkpoint can occur immediately after construction.

    When authoring [30867]custom element reactions, authors should avoid manipulating the node tree as this can lead to unexpected results.

    An element's connectedCallback can be queued before the element is disconnected, but as the callback queue is still processed, it results in a connectedCallback for an element that is no longer connected: class CParent extends HTMLElement { connectedCallback() { this.firstChild.remove(); } } customElements.define("c-parent", CParent);

    class CChild extends HTMLElement { connectedCallback() { console.log("CChild connectedCallback: isConnected =", this.isConnected); } } customElements.define("c-child", CChild);

    const parent = new CParent(), child = new CChild(); parent.append(child); document.body.append(parent);

    // Logs: // CChild connectedCallback: isConnected = false

    4.13.2.1 Preserving custom element state when moved

    This section is non-normative.

    When manipulating the DOM tree, an element can be [30868]moved in the tree while connected. This applies to custom elements as well. By default, the "disconnectedCallback" and "connectedCallback" would be called on the element, one after the other. This is done to maintain compatibility with existing custom elements that predate the [30869]moveBefore() method. This means that by default, custom elements reset their state as if they were removed and re-inserted. In the example [30870]above, the impact would be that the observer would be disconnected and re-connected, and the tab index would be reset.

    To opt in to a state-preserving behavior while [30871]moving, the author can implement a "connectedMoveCallback". The existence of this callback, even if empty, would supercede the default behavior of calling "disconnectedCallback" and "connectedCallback". "connectedMoveCallback" can also be an appropriate place to execute logic that depends on the element's ancestors. For example: class TacoButton extends HTMLElement { static observedAttributes = ["disabled"];

    constructor() { super(); this._internals = this.attachInternals(); this._internals.role = "button";

    this._observer = new MutationObserver(() => { this._internals.ariaLabel = this.textContent; }); }

    _notifyMain() { if (this.parentElement.tagName === "MAIN") { // Execute logic that depends on ancestors. } }

    connectedCallback() { this.setAttribute("tabindex", "0");

    this._observer.observe(this, { childList: true, characterData: true, subtree: true });

    this._notifyMain(); }

    disconnectedCallback() { this._observer.disconnect(); }

    // Implementing this function would avoid resetting the tab index or re-regist ering the // mutation observer when this element is moved inside the DOM without being d isconnected. connectedMoveCallback() { // The parent can change during a state-preserving move. this._notifyMain(); } }

    4.13.3 Core concepts

    A custom element is an element that is [30872]custom. Informally, this means that its constructor and prototype are defined by the author, instead of by the user agent. This author-supplied constructor function is called the custom element constructor.

    Two distinct types of [30873]custom elements can be defined:

    (BUTTON) MDN

    [30874]Global_attributes/is Firefox63+SafariNoChrome67+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    1. An autonomous custom element, which is defined with no [30875]extends option. These types of custom elements have a local name equal to their [30876]defined name. 2. A customized built-in element, which is defined with an [30877]extends option. These types of custom elements have a local name equal to the value passed in their [30878]extends option, and their [30879]defined name is used as the value of the is attribute, which therefore must be a [30880]valid custom element name.

    After a [30881]custom element is [30882]created, changing the value of the [30883]is attribute does not change the element's behavior, as it is saved on the element as its [30884]is value.

    [30885]Autonomous custom elements have the following element definition:

    [30886]Categories: [30887]Flow content. [30888]Phrasing content. [30889]Palpable content. For [30890]form-associated custom elements: [30891]Listed, [30892]labelable, [30893]submittable, and [30894]resettable [30895]form-associated element.

    [30896]Contexts in which this element can be used: Where [30897]phrasing content is expected.

    [30898]Content model: [30899]Transparent.

    [30900]Content attributes: [30901]Global attributes, except the [30902]is attribute [30903]form, for [30904]form-associated custom elements — Associates the element with a [30905]form element [30906]disabled, for [30907]form-associated custom elements — Whether the form control is disabled [30908]readonly, for [30909]form-associated custom elements — Affects [30910]willValidate, plus any behavior added by the custom element author [30911]name, for [30912]form-associated custom elements — Name of the element to use for [30913]form submission and in the [30914]form.elements API Any other attribute that has no namespace (see prose).

    [30915]Accessibility considerations: For [30916]form-associated custom elements: [30917]for authors; [30918]for implementers. Otherwise: [30919]for authors; [30920]for implementers.

    [30921]DOM interface: Supplied by the element's author (inherits from [30922]HTMLElement)

    An [30923]autonomous custom element does not have any special meaning: it [30924]represents its children. A [30925]customized built-in element inherits the semantics of the element that it extends.

    Any namespace-less attribute that is relevant to the element's functioning, as determined by the element's author, may be specified on an [30926]autonomous custom element, so long as the attribute name is [30927]XML-compatible and contains no [30928]ASCII upper alphas. The exception is the [30929]is attribute, which must not be specified on an [30930]autonomous custom element (and which will have no effect if it is).

    [30931]Customized built-in elements follow the normal requirements for attributes, based on the elements they extend. To add custom attribute-based behavior, use [30932]data-* attributes. __________________________________________________________________

    An [30933]autonomous custom element is called a form-associated custom element if the element is associated with a [30934]custom element definition whose [30935]form-associated field is set to true.

    The [30936]name attribute represents the [30937]form-associated custom element's name. The [30938]disabled attribute is used to make the [30939]form-associated custom element non-interactive and to prevent its [30940]submission value from being submitted. The [30941]form attribute is used to explicitly associate the [30942]form-associated custom element with its [30943]form owner.

    The readonly attribute of [30944]form-associated custom elements specifies that the element is [30945]barred from constraint validation. User agents don't provide any other behavior for the attribute, but custom element authors should, where possible, use its presence to make their control non-editable in some appropriate fashion, similar to the behavior for the [30946]readonly attribute on built-in form controls.

    Constraint validation: If the [30947]readonly attribute is specified on a [30948]form-associated custom element, the element is [30949]barred from constraint validation.

    The [30950]reset algorithm for [30951]form-associated custom elements is to [30952]enqueue a custom element callback reaction with the element, callback name "formResetCallback", and « ». __________________________________________________________________

    A valid custom element name is a sequence of characters name that meets all of the following requirements: * name must match the [30953]PotentialCustomElementName production:

    PotentialCustomElementName ::= [a-z] ([30954]PCENChar)* '-' ([30955]PCENChar)*

    PCENChar ::= "-" | "." | [0-9] | "_" | [a-z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]

    This uses the [30956]EBNF notation from the XML specification. [30957][XML] * name must not be any of the following: + annotation-xml + color-profile + font-face + font-face-src + font-face-uri + font-face-format + font-face-name + missing-glyph The list of names above is the summary of all hyphen-containing element names from the [30958]applicable specifications, namely SVG 2 and MathML. [30959][SVG] [30960][MATHML]

    These requirements ensure a number of goals for [30961]valid custom element names: * They start with an [30962]ASCII lower alpha, ensuring that the HTML parser will treat them as tags instead of as text. * They do not contain any [30963]ASCII upper alphas, ensuring that the user agent can always treat HTML elements ASCII-case-insensitively. * They contain a hyphen, used for namespacing and to ensure forward compatibility (since no elements will be added to HTML, SVG, or MathML with hyphen-containing local names in the future). * They can always be created with [30964]createElement() and [30965]createElementNS(), which have restrictions that go beyond the parser's.

    Apart from these restrictions, a large variety of names is allowed, to give maximum flexibility for use cases like or .

    A custom element definition describes a [30966]custom element and consists of:

    A name A [30967]valid custom element name

    A local name A local name

    A constructor A Web IDL [30968]CustomElementConstructor callback function type value wrapping the [30969]custom element constructor

    A list of observed attributes A sequence

    A collection of lifecycle callbacks A map, whose keys are the strings "connectedCallback", "disconnectedCallback", "adoptedCallback", "connectedMoveCallback", "attributeChangedCallback", "formAssociatedCallback", "formDisabledCallback", "formResetCallback", and "formStateRestoreCallback". The corresponding values are either a Web IDL [30970]Function callback function type value, or null. By default the value of each entry is null.

    A construction stack A list, initially empty, that is manipulated by the [30971]upgrade an element algorithm and the [30972]HTML element constructors. Each entry in the list will be either an element or an already constructed marker.

    A form-associated boolean If this is true, user agent treats elements associated to this [30973]custom element definition as [30974]form-associated custom elements.

    A disable internals boolean Controls [30975]attachInternals().

    A disable shadow boolean Controls [30976]attachShadow().

    To look up a custom element definition, given null or a [30977]CustomElementRegistry object registry, string-or-null namespace, string localName, and string-or-null is, perform the following steps. They will return either a [30978]custom element definition or null: 1. If registry is null, then return null. 2. If namespace is not the [30979]HTML namespace, then return null. 3. If registry's [30980]custom element definition set [30981]contains an item with [30982]name and [30983]local name both equal to localName, then return that item. 4. If registry's [30984]custom element definition set [30985]contains an item with [30986]name equal to is and [30987]local name equal to localName, then return that item. 5. Return null.

    4.13.4 The [30988]CustomElementRegistry interface

    (BUTTON) ✔MDN

    [30989]CustomElementRegistry

    Support in all current engines. Firefox63+Safari10.1+Chrome54+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    Each [30990]similar-origin window agent has an associated active custom element constructor map, which is a [30991]map of constructors to [30992]CustomElementRegistry objects.

    (BUTTON) ✔MDN

    [30993]Window/customElements

    Support in all current engines. Firefox63+Safari10.1+Chrome54+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The [30994]Window customElements getter steps are: 1. [30995]Assert: [30996]this's [30997]associated Document's [30998]custom element registry is a [30999]CustomElementRegistry object. A [31000]Window's [31001]associated Document is always created with a new [31002]CustomElementRegistry object. 2. Return [31003]this's [31004]associated Document's [31005]custom element registry.

    [Exposed=Window] interface CustomElementRegistry { [31006]constructor();

    [[31007]CEReactions] undefined [31008]define(DOMString name, [31009]CustomElem entConstructor constructor, optional [31010]ElementDefinitionOptions options = { }); ([31011]CustomElementConstructor or undefined) [31012]get(DOMString name); DOMString? [31013]getName(CustomElementConstructor constructor); [31014]Promise<[31015]CustomElementConstructor> [31016]whenDefined(DOMString n ame); [[31017]CEReactions] undefined [31018]upgrade([31019]Node root); undefined [31020]initialize([31021]Node root); };

    callback CustomElementConstructor = [31022]HTMLElement ();

    dictionary ElementDefinitionOptions { DOMString extends; };

    Every [31023]CustomElementRegistry has an is scoped, a boolean, initially false.

    Every [31024]CustomElementRegistry has a scoped document set, a [31025]set of [31026]Document objects, initially « ».

    Every [31027]CustomElementRegistry has a custom element definition set, a [31028]set of [31029]custom element definitions, initially « ». Lookup of items in this [31030]set uses their [31031]name, [31032]local name, or [31033]constructor.

    Every [31034]CustomElementRegistry also has an element definition is running boolean which is used to prevent reentrant invocations of [31035]element definition. It is initially false.

    Every [31036]CustomElementRegistry also has a when-defined promise map, a [31037]map of [31038]valid custom element names to promises. It is used to implement the [31039]whenDefined() method.

    To look up a custom element registry, given a [31040]Node object node: 1. If node is an [31041]Element object, then return node's [31042]custom element registry. 2. If node is a [31043]ShadowRoot object, then return node's [31044]custom element registry. 3. If node is a [31045]Document object, then return node's [31046]custom element registry. 4. Return null.

    registry = window.[31047]customElements Returns the global's associated [31048]Document's [31049]CustomElementRegistry object.

    registry = new [31050]CustomElementRegistry() Constructs a new [31051]CustomElementRegistry object, for scoped usage.

    registry.[31052]define(name, constructor)

    (BUTTON) ✔MDN

    [31053]CustomElementRegistry/define

    Support in all current engines.

    Firefox63+Safari10.1+Chrome54+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Defines a new [31054]custom element, mapping the given name to the given constructor as an [31055]autonomous custom element.

    registry.[31056]define(name, constructor, { extends: baseLocalName }) Defines a new [31057]custom element, mapping the given name to the given constructor as a [31058]customized built-in element for the [31059]element type identified by the supplied baseLocalName. A [31060]"NotSupportedError" [31061]DOMException will be thrown upon trying to extend a [31062]custom element or an unknown element, or when registry is not a global [31063]CustomElementRegistry object.

    registry.[31064]get(name)

    (BUTTON) ✔MDN

    [31065]CustomElementRegistry/get

    Support in all current engines.

    Firefox63+Safari10.1+Chrome54+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Retrieves the [31066]custom element constructor defined for the given [31067]name. Returns undefined if there is no [31068]custom element definition with the given [31069]name.

    registry.[31070]getName(constructor) Retrieves the given name for a [31071]custom element defined for the given [31072]constructor. Returns null if there is no [31073]custom element definition with the given [31074]constructor.

    registry.[31075]whenDefined(name)

    (BUTTON) ✔MDN

    [31076]CustomElementRegistry/whenDefined

    Support in all current engines.

    Firefox63+Safari10.1+Chrome54+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns a promise that will be fulfilled with the [31077]custom element's constructor when a [31078]custom element becomes defined with the given name. (If such a [31079]custom element is already defined, the returned promise will be immediately fulfilled.) Returns a promise rejected with a [31080]"SyntaxError" [31081]DOMException if not given a [31082]valid custom element name.

    registry.[31083]upgrade(root)

    (BUTTON) ✔MDN

    [31084]CustomElementRegistry/upgrade

    Support in all current engines.

    Firefox63+Safari12.1+Chrome68+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [31085]Tries to upgrade all [31086]shadow-including inclusive descendant elements of root, even if they are not [31087]connected.

    registry.[31088]initialize(root) Each [31089]inclusive descendant of root with a null registry will have it updated to this [31090]CustomElementRegistry object.

    The new CustomElementRegistry() constructor steps are to set [31091]this's [31092]is scoped to true.

    Element definition is a process of adding a [31093]custom element definition to the [31094]CustomElementRegistry. This is accomplished by the [31095]define() method. The define(name, constructor, options) method steps are: 1. If [31096]IsConstructor(constructor) is false, then throw a [31097]TypeError. 2. If name is not a [31098]valid custom element name, then throw a [31099]"SyntaxError" [31100]DOMException. 3. If [31101]this's [31102]custom element definition set [31103]contains an item with [31104]name name, then throw a [31105]"NotSupportedError" [31106]DOMException. 4. If [31107]this's [31108]custom element definition set [31109]contains an item with [31110]constructor constructor, then throw a [31111]"NotSupportedError" [31112]DOMException. 5. Let localName be name. 6. Let extends be options["[31113]extends"] if it [31114]exists; otherwise null. 7. If extends is not null: 1. If [31115]this's [31116]is scoped is true, then throw a [31117]"NotSupportedError" [31118]DOMException. 2. If extends is a [31119]valid custom element name, then throw a [31120]"NotSupportedError" [31121]DOMException. 3. If the [31122]element interface for extends and the [31123]HTML namespace is [31124]HTMLUnknownElement (e.g., if extends does not indicate an element definition in this specification), then throw a [31125]"NotSupportedError" [31126]DOMException. 4. Set localName to extends. 8. If [31127]this's [31128]element definition is running is true, then throw a [31129]"NotSupportedError" [31130]DOMException. 9. Set [31131]this's [31132]element definition is running to true. 10. Let formAssociated be false. 11. Let disableInternals be false. 12. Let disableShadow be false. 13. Let observedAttributes be an empty sequence. 14. Run the following steps while catching any exceptions: 1. Let prototype be ? [31133]Get(constructor, "prototype"). 2. If prototype [31134]is not an Object, then throw a [31135]TypeError exception. 3. Let lifecycleCallbacks be the [31136]ordered map «[ "connectedCallback" → null, "disconnectedCallback" → null, "adoptedCallback" → null, "connectedMoveCallback" → null, "attributeChangedCallback" → null ]». 4. For each callbackName of [31137]the keys of lifecycleCallbacks: 1. Let callbackValue be ? [31138]Get(prototype, callbackName). 2. If callbackValue is not undefined, then [31139]set lifecycleCallbacks[callbackName] to the result of [31140]converting callbackValue to the Web IDL [31141]Function callback type. 5. If lifecycleCallbacks["attributeChangedCallback"] is not null: 1. Let observedAttributesIterable be ? [31142]Get(constructor, "observedAttributes"). 2. If observedAttributesIterable is not undefined, then set observedAttributes to the result of [31143]converting observedAttributesIterable to a sequence. Rethrow any exceptions from the conversion. 6. Let disabledFeatures be an empty sequence. 7. Let disabledFeaturesIterable be ? [31144]Get(constructor, "disabledFeatures"). 8. If disabledFeaturesIterable is not undefined, then set disabledFeatures to the result of [31145]converting disabledFeaturesIterable to a sequence. Rethrow any exceptions from the conversion. 9. If disabledFeatures [31146]contains "internals", then set disableInternals to true. 10. If disabledFeatures [31147]contains "shadow", then set disableShadow to true. 11. Let formAssociatedValue be ? [31148]Get( constructor, "formAssociated"). 12. Set formAssociated to the result of [31149]converting formAssociatedValue to a boolean. 13. If formAssociated is true, then for each callbackName of « "formAssociatedCallback", "formResetCallback", "formDisabledCallback", "formStateRestoreCallback" »: 1. Let callbackValue be ? [31150]Get(prototype, callbackName). 2. If callbackValue is not undefined, then [31151]set lifecycleCallbacks[callbackName] to the result of [31152]converting callbackValue to the Web IDL [31153]Function callback type. Then, regardless of whether the above steps threw an exception or not: set [31154]this's [31155]element definition is running to false. Finally, if the steps threw an exception, rethrow that exception. 15. Let definition be a new [31156]custom element definition with [31157]name name, [31158]local name localName, [31159]constructor constructor, [31160]observed attributes observedAttributes, [31161]lifecycle callbacks lifecycleCallbacks, [31162]form-associated formAssociated, [31163]disable internals disableInternals, and [31164]disable shadow disableShadow. 16. [31165]Append definition to [31166]this's [31167]custom element definition set. 17. If [31168]this's [31169]is scoped is true, then for each document of [31170]this's [31171]scoped document set: [31172]upgrade particular elements within a document given document, definition, and localName. 18. Otherwise, [31173]upgrade particular elements within a document given [31174]this's [31175]relevant global object's [31176]associated Document, definition, localName, and name. 19. If [31177]this's [31178]when-defined promise map[name] [31179]exists: 1. Resolve [31180]this's [31181]when-defined promise map[name] with constructor. 2. [31182]Remove [31183]this's [31184]when-defined promise map[name].

    To upgrade particular elements within a document given a [31185]Document object document, a [31186]custom element definition definition, a string localName, and optionally a string name (default localName): 1. Let upgradeCandidates be all elements that are [31187]shadow-including descendants of document, whose namespace is the [31188]HTML namespace and whose local name is localName, in [31189]shadow-including tree order. Additionally, if name is not localName, only include elements whose [31190]is value is equal to name. 2. For each element element of upgradeCandidates: [31191]enqueue a custom element upgrade reaction given element and definition.

    The get(name) method steps are: 1. If [31192]this's [31193]custom element definition set [31194]contains an item with [31195]name name, then return that item's [31196]constructor. 2. Return undefined.

    (BUTTON) MDN

    [31197]CustomElementRegistry/getName Firefox116+Safari🔰 preview+Chrome117+ __________________________________________________________________

    Opera?Edge117+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The getName(constructor) method steps are: 1. If [31198]this's [31199]custom element definition set [31200]contains an item with [31201]constructor constructor, then return that item's [31202]name. 2. Return null.

    The whenDefined(name) method steps are: 1. If name is not a [31203]valid custom element name, then return [31204]a promise rejected with a [31205]"SyntaxError" [31206]DOMException. 2. If [31207]this's [31208]custom element definition set [31209]contains an item with [31210]name name, then return [31211]a promise resolved with that item's [31212]constructor. 3. If [31213]this's [31214]when-defined promise map[name] does not [31215]exist, then [31216]set [31217]this's [31218]when-defined promise map[name] to a new promise. 4. Return [31219]this's [31220]when-defined promise map[name].

    The [31221]whenDefined() method can be used to avoid performing an action until all appropriate [31222]custom elements are [31223]defined. In this example, we combine it with the [31224]:defined pseudo-class to hide a dynamically-loaded article's contents until we're sure that all of the [31225]autonomous custom elements it uses are defined. articleContainer.hidden = true;

    fetch(articleURL) .then(response => response.text()) .then(text => { articleContainer.innerHTML = text;

    return Promise.all( [...articleContainer.querySelectorAll(":not(:defined)")] .map(el => customElements.whenDefined(el.localName)) ); }) .then(() => { articleContainer.hidden = false; });

    The upgrade(root) method steps are: 1. Let candidates be a [31226]list of all of root's [31227]shadow-including inclusive descendant elements, in [31228]shadow-including tree order. 2. [31229]For each candidate of candidates, [31230]try to upgrade candidate.

    The [31231]upgrade() method allows upgrading of elements at will. Normally elements are automatically upgraded when they become [31232]connected, but this method can be used if you need to upgrade before you're ready to connect the element. const el = document.createElement("spider-man");

    class SpiderMan extends HTMLElement {} customElements.define("spider-man", SpiderMan);

    console.assert(!(el instanceof SpiderMan)); // not yet upgraded

    customElements.upgrade(el); console.assert(el instanceof SpiderMan); // upgraded!

    The initialize(root) method steps are: 1. If root is a [31233]Document node whose [31234]custom element registry is null, then set root's [31235]custom element registry to [31236]this. 2. Otherwise, if root is a [31237]ShadowRoot node whose [31238]custom element registry is null, then set root's [31239]custom element registry to [31240]this. 3. For each [31241]inclusive descendant inclusiveDescendant of root: if inclusiveDescendant is an [31242]Element node whose [31243]custom element registry is null: 1. Set inclusiveDescendant's [31244]custom element registry to [31245]this. 2. If [31246]this's [31247]is scoped is true, then [31248]append inclusiveDescendant's [31249]node document to [31250]this's [31251]scoped document set.

    Once the custom element registry of a node is initialized to a [31252]CustomElementRegistry object, it intentionally cannot be changed any further. This simplifies reasoning about code and allows implementations to optimize.

    4.13.5 Upgrades

    To upgrade an element, given as input a [31253]custom element definition definition and an element element, run the following steps: 1. If element's [31254]custom element state is not "undefined" or "uncustomized", then return. One scenario where this can occur due to reentrant invocation of this algorithm, as in the following example:

    This step will thus bail out the algorithm early when [31255]upgrade an element is invoked with "b" a second time. 2. Set element's [31256]custom element definition to definition. 3. Set element's [31257]custom element state to "failed". It will be set to "custom" [31258]after the upgrade succeeds. For now, we set it to "failed" so that any reentrant invocations will hit [31259]the above early-exit step. 4. For each attribute in element's [31260]attribute list, in order, [31261]enqueue a custom element callback reaction with element, callback name "attributeChangedCallback", and « attribute's local name, null, attribute's value, attribute's namespace ». 5. If element is [31262]connected, then [31263]enqueue a custom element callback reaction with element, callback name "connectedCallback", and « ». 6. Add element to the end of definition's [31264]construction stack. 7. Let C be definition's [31265]constructor. 8. [31266]Set the [31267]surrounding agent's [31268]active custom element constructor map[C] to element's [31269]custom element registry. 9. Run the following steps while catching any exceptions: 1. If definition's [31270]disable shadow is true and element's [31271]shadow root is non-null, then throw a [31272]"NotSupportedError" [31273]DOMException. This is needed as [31274]attachShadow() does not use [31275]look up a custom element definition while [31276]attachInternals() does. 2. Set element's [31277]custom element state to "precustomized". 3. Let constructResult be the result of [31278]constructing C, with no arguments. If C [31279]non-conformantly uses an API decorated with the [31280][CEReactions] extended attribute, then the reactions enqueued at the beginning of this algorithm will execute during this step, before C finishes and control returns to this algorithm. Otherwise, they will execute after C and the rest of the upgrade process finishes. 4. If [31281]SameValue(constructResult, element) is false, then throw a [31282]TypeError. This can occur if C constructs another instance of the same custom element before calling super(), or if C uses JavaScript's return-override feature to return an arbitrary [31283]HTMLElement object from the constructor. Then, perform the following steps, regardless of whether the above steps threw an exception or not: 1. [31284]Remove the [31285]surrounding agent's [31286]active custom element constructor map[C]. This is a no-op if C immediately calls super() as it ought to do. 2. Remove the last entry from the end of definition's [31287]construction stack. Assuming C calls super() (as it will if it is [31288]conformant), and that the call succeeds, this will be the [31289]already constructed marker that replaced the element we pushed at the beginning of this algorithm. (The [31290]HTML element constructor carries out this replacement.) If C does not call super() (i.e. it is not [31291]conformant), or if any step in the [31292]HTML element constructor throws, then this entry will still be element. Finally, if the above steps threw an exception, then: 1. Set element's [31293]custom element definition to null. 2. Empty element's [31294]custom element reaction queue. 3. Rethrow the exception (thus terminating this algorithm). If the above steps threw an exception, then element's [31295]custom element state will remain "failed" or "precustomized". 10. If element is a [31296]form-associated custom element, then: 1. [31297]Reset the form owner of element. If element is associated with a [31298]form element, then [31299]enqueue a custom element callback reaction with element, callback name "formAssociatedCallback", and « the associated [31300]form ». 2. If element is [31301]disabled, then [31302]enqueue a custom element callback reaction with element, callback name "formDisabledCallback", and « true ». 11. Set element's [31303]custom element state to "custom".

    To try to upgrade an element given an element element: 1. Let definition be the result of [31304]looking up a custom element definition given element's [31305]custom element registry, element's [31306]namespace, element's [31307]local name, and element's [31308]is value. 2. If definition is not null, then [31309]enqueue a custom element upgrade reaction given element and definition.

    4.13.6 Custom element reactions

    A [31310]custom element possesses the ability to respond to certain occurrences by running author code: * When [31311]upgraded, its [31312]constructor is run, with no arguments. * When it [31313]becomes connected, its connectedCallback is called, with no arguments. * When it [31314]becomes disconnected, its disconnectedCallback is called, with no arguments. * When it is [31315]moved, its connectedMoveCallback is called, with no arguments. * When it is [31316]adopted into a new document, its adoptedCallback is called, given the old document and new document as arguments. * When any of its attributes are [31317]changed, [31318]appended, [31319]removed, or [31320]replaced, its attributeChangedCallback is called, given the attribute's local name, old value, new value, and namespace as arguments. (An attribute's old or new value is considered to be null when the attribute is added or removed, respectively.) * When the user agent [31321]resets the form owner of a [31322]form-associated custom element and doing so changes the form owner, its formAssociatedCallback is called, given the new form owner (or null if no owner) as an argument. * When the form owner of a [31323]form-associated custom element is [31324]reset, its formResetCallback is called. * When the [31325]disabled state of a [31326]form-associated custom element is changed, its formDisabledCallback is called, given the new state as an argument. * When user agent updates a [31327]form-associated custom element's value on behalf of a user or [31328]as part of navigation, its formStateRestoreCallback is called, given the new state and a string indicating a reason, "autocomplete" or "restore", as arguments.

    We call these reactions collectively custom element reactions.

    The way in which [31329]custom element reactions are invoked is done with special care, to avoid running author code during the middle of delicate operations. Effectively, they are delayed until "just before returning to user script". This means that for most purposes they appear to execute synchronously, but in the case of complicated composite operations (like [31330]cloning, or [31331]range manipulation), they will instead be delayed until after all the relevant user agent processing steps have completed, and then run together as a batch.

    Additionally, the precise ordering of these reactions is managed via a somewhat-complicated stack-of-queues system, described below. The intention behind this system is to guarantee that [31332]custom element reactions always are invoked in the same order as their triggering actions, at least within the local context of a single [31333]custom element. (Because [31334]custom element reaction code can perform its own mutations, it is not possible to give a global ordering guarantee across multiple elements.) __________________________________________________________________

    Each [31335]similar-origin window agent has a custom element reactions stack, which is initially empty. A [31336]similar-origin window agent's current element queue is the [31337]element queue at the top of its [31338]custom element reactions stack. Each item in the stack is an element queue, which is initially empty as well. Each item in an [31339]element queue is an element. (The elements are not necessarily [31340]custom yet, since this queue is used for [31341]upgrades as well.)

    Each [31342]custom element reactions stack has an associated backup element queue, which is an initially-empty [31343]element queue. Elements are pushed onto the [31344]backup element queue during operations that affect the DOM without going through an API decorated with [31345][CEReactions], or through the parser's [31346]create an element for the token algorithm. An example of this is a user-initiated editing operation which modifies the descendants or attributes of an [31347]editable element. To prevent reentrancy when processing the [31348]backup element queue, each [31349]custom element reactions stack also has a processing the backup element queue flag, initially unset.

    All elements have an associated custom element reaction queue, initially empty. Each item in the [31350]custom element reaction queue is of one of two types: * An upgrade reaction, which will [31351]upgrade the custom element and contains a [31352]custom element definition; or * A callback reaction, which will call a lifecycle callback, and contains a callback function as well as a list of arguments.

    This is all summarized in the following schematic diagram:

    A custom element reactions stack consists of a stack of element queues. Zooming in on a particular queue, we see that it contains a number of elements (in our example, , then , then ). Any particular element in the queue then has a custom element reaction queue. Zooming in on the custom element reaction queue, we see that it contains a variety of queued-up reactions (in our example, upgrade, then attribute changed, then another attribute changed, then connected).

    To enqueue an element on the appropriate element queue, given an element element, run the following steps: 1. Let reactionsStack be element's [31353]relevant agent's [31354]custom element reactions stack. 2. If reactionsStack is empty, then: 1. Add element to reactionsStack's [31355]backup element queue. 2. If reactionsStack's [31356]processing the backup element queue flag is set, then return. 3. Set reactionsStack's [31357]processing the backup element queue flag. 4. [31358]Queue a microtask to perform the following steps: 1. [31359]Invoke custom element reactions in reactionsStack's [31360]backup element queue. 2. Unset reactionsStack's [31361]processing the backup element queue flag. 3. Otherwise, add element to element's [31362]relevant agent's [31363]current element queue.

    To enqueue a custom element callback reaction, given a [31364]custom element element, a callback name callbackName, and a list of arguments args, run the following steps: 1. Let definition be element's [31365]custom element definition. 2. Let callback be the value of the entry in definition's [31366]lifecycle callbacks with key callbackName. 3. If callbackName is "connectedMoveCallback" and callback is null: 1. Let disconnectedCallback be the value of the entry in definition's [31367]lifecycle callbacks with key "disconnectedCallback". 2. Let connectedCallback be the value of the entry in definition's [31368]lifecycle callbacks with key "connectedCallback". 3. If connectedCallback and disconnectedCallback are null, then return. 4. Set callback to the following steps: 1. If disconnectedCallback is not null, then call disconnectedCallback with no arguments. 2. If connectedCallback is not null, then call connectedCallback with no arguments. 4. If callback is null, then return. 5. If callbackName is "attributeChangedCallback": 1. Let attributeName be the first element of args. 2. If definition's [31369]observed attributes does not contain attributeName, then return. 6. Add a new [31370]callback reaction to element's [31371]custom element reaction queue, with callback function callback and arguments args. 7. [31372]Enqueue an element on the appropriate element queue given element.

    To enqueue a custom element upgrade reaction, given an element element and [31373]custom element definition definition, run the following steps: 1. Add a new [31374]upgrade reaction to element's [31375]custom element reaction queue, with [31376]custom element definition definition. 2. [31377]Enqueue an element on the appropriate element queue given element.

    To invoke custom element reactions in an [31378]element queue queue, run the following steps: 1. While queue is not [31379]empty: 1. Let element be the result of [31380]dequeuing from queue. 2. Let reactions be element's [31381]custom element reaction queue. 3. Repeat until reactions is empty: 1. Remove the first element of reactions, and let reaction be that element. Switch on reaction's type:

    [31382]upgrade reaction [31383]Upgrade element using reaction's [31384]custom element definition.

    If this throws an exception, catch it, and [31385]report it for reaction's [31386]custom element definition's [31387]constructor's corresponding JavaScript object's [31388]associated realm's [31389]global object.

    [31390]callback reaction [31391]Invoke reaction's callback function with reaction's arguments and "report", and [31392]callback this value set to element. __________________________________________________________________

    To ensure [31393]custom element reactions are triggered appropriately, we introduce the [CEReactions] IDL [31394]extended attribute. It indicates that the relevant algorithm is to be supplemented with additional steps in order to appropriately track and invoke [31395]custom element reactions.

    The [31396][CEReactions] extended attribute must take no arguments, and must not appear on anything other than an operation, attribute, setter, or deleter. Additionally, it must not appear on readonly attributes.

    Operations, attributes, setters, or deleters annotated with the [31397][CEReactions] extended attribute must run the following steps in place of the ones specified in their description: 1. [31398]Push a new [31399]element queue onto this object's [31400]relevant agent's [31401]custom element reactions stack. 2. Run the originally-specified steps for this construct, catching any exceptions. If the steps return a value, let value be the returned value. If they throw an exception, let exception be the thrown exception. 3. Let queue be the result of [31402]popping from this object's [31403]relevant agent's [31404]custom element reactions stack. 4. [31405]Invoke custom element reactions in queue. 5. If an exception exception was thrown by the original steps, rethrow exception. 6. If a value value was returned from the original steps, return value.

    The intent behind this extended attribute is somewhat subtle. One way of accomplishing its goals would be to say that every operation, attribute, setter, and deleter on the platform must have these steps inserted, and to allow implementers to optimize away unnecessary cases (where no DOM mutation is possible that could cause [31406]custom element reactions to occur).

    However, in practice this imprecision could lead to non-interoperable implementations of [31407]custom element reactions, as some implementations might forget to invoke these steps in some cases. Instead, we settled on the approach of explicitly annotating all relevant IDL constructs, as a way of ensuring interoperable behavior and helping implementations easily pinpoint all cases where these steps are necessary.

    Any nonstandard APIs introduced by the user agent that could modify the DOM in such a way as to cause [31408]enqueuing a custom element callback reaction or [31409]enqueuing a custom element upgrade reaction, for example by modifying any attributes or child elements, must also be decorated with the [31410][CEReactions] attribute.

    As of the time of this writing, the following nonstandard or not-yet-standardized APIs are known to fall into this category: * [31411]HTMLInputElement's webkitdirectory and incremental IDL attributes * [31412]HTMLLinkElement's scope IDL attribute

    4.13.7 Element internals

    Certain capabilities are meant to be available to a custom element author, but not to a custom element consumer. These are provided by the [31413]element.attachInternals() method, which returns an instance of [31414]ElementInternals. The properties and methods of [31415]ElementInternals allow control over internal features which the user agent provides to all elements.

    element.[31416]attachInternals() Returns an [31417]ElementInternals object targeting the [31418]custom element element. Throws an exception if element is not a [31419]custom element, if the "internals" feature was disabled as part of the element definition, or if it is called twice on the same element.

    Each [31420]HTMLElement has an attached internals (null or an [31421]ElementInternals object), initially null.

    (BUTTON) ✔MDN

    [31422]HTMLElement/attachInternals

    Support in all current engines. Firefox93+Safari16.4+Chrome77+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The attachInternals() method steps are: 1. If [31423]this's [31424]is value is not null, then throw a [31425]"NotSupportedError" [31426]DOMException. 2. Let definition be the result of [31427]looking up a custom element definition given [31428]this's [31429]custom element registry, [31430]this's [31431]namespace, [31432]this's [31433]local name, and null. 3. If definition is null, then throw an [31434]"NotSupportedError" [31435]DOMException. 4. If definition's [31436]disable internals is true, then throw a [31437]"NotSupportedError" [31438]DOMException. 5. If [31439]this's [31440]attached internals is non-null, then throw an [31441]"NotSupportedError" [31442]DOMException. 6. If [31443]this's [31444]custom element state is not "precustomized" or "custom", then throw a [31445]"NotSupportedError" [31446]DOMException. 7. Set [31447]this's [31448]attached internals to a new [31449]ElementInternals instance whose [31450]target element is [31451]this. 8. Return [31452]this's [31453]attached internals.

    4.13.7.1 The [31454]ElementInternals interface

    (BUTTON) ✔MDN

    [31455]ElementInternals

    Support in all current engines. Firefox93+Safari16.4+Chrome77+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The IDL for the [31456]ElementInternals interface is as follows, with the various operations and attributes defined in the following sections: [Exposed=Window] interface ElementInternals { // [31457]Shadow root access readonly attribute [31458]ShadowRoot? [31459]shadowRoot;

    // [31460]Form-associated custom elements undefined [31461]setFormValue(([31462]File or [31463]USVString or [31464]FormD ata)? value, optional ([31465]File or [31466]USVString or [31467]For mData)? state);

    readonly attribute [31468]HTMLFormElement? [31469]form;

    undefined [31470]setValidity(optional [31471]ValidityStateFlags flags = {}, optional DOMString message, optional [31472]HTMLElement anchor); readonly attribute boolean [31473]willValidate; readonly attribute [31474]ValidityState [31475]validity; readonly attribute DOMString [31476]validationMessage; boolean [31477]checkValidity(); boolean [31478]reportValidity();

    readonly attribute [31479]NodeList [31480]labels;

    // [31481]Custom state pseudo-class [SameObject] readonly attribute [31482]CustomStateSet [31483]states; };

    // [31484]Accessibility semantics [31485]ElementInternals includes [31486]ARIAMixin;

    dictionary ValidityStateFlags { boolean valueMissing = false; boolean typeMismatch = false; boolean patternMismatch = false; boolean tooLong = false; boolean tooShort = false; boolean rangeUnderflow = false; boolean rangeOverflow = false; boolean stepMismatch = false; boolean badInput = false; boolean customError = false; };

    Each [31487]ElementInternals has a target element, which is a [31488]custom element.

    4.13.7.2 Shadow root access

    internals.[31489]shadowRoot Returns the [31490]ShadowRoot for internals's [31491]target element, if the [31492]target element is a [31493]shadow host, or null otherwise.

    (BUTTON) ✔MDN

    [31494]ElementInternals/shadowRoot

    Support in all current engines. Firefox93+Safari16.4+Chrome88+ __________________________________________________________________

    Opera?Edge88+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The shadowRoot getter steps are: 1. Let target be [31495]this's [31496]target element. 2. If target is not a [31497]shadow host, then return null. 3. Let shadow be target's [31498]shadow root. 4. If shadow's [31499]available to element internals is false, then return null. 5. Return shadow.

    4.13.7.3 Form-associated custom elements

    internals.[31500]setFormValue(value) Sets both the [31501]state and [31502]submission value of internals's [31503]target element to value.

    If value is null, the element won't participate in form submission.

    internals.[31504]setFormValue(value, state) Sets the [31505]submission value of internals's [31506]target element to value, and its [31507]state to state.

    If value is null, the element won't participate in form submission.

    internals.[31508]form Returns the [31509]form owner of internals's [31510]target element.

    internals.[31511]setValidity(flags, message [, anchor ]) Marks internals's [31512]target element as suffering from the constraints indicated by the flags argument, and sets the element's validation message to message. If anchor is specified, the user agent might use it to indicate problems with the constraints of internals's [31513]target element when the [31514]form owner is validated interactively or [31515]reportValidity() is called.

    internals.[31516]setValidity({}) Marks internals's [31517]target element as [31518]satisfying its constraints.

    internals.[31519]willValidate Returns true if internals's [31520]target element will be validated when the form is submitted; false otherwise.

    internals.[31521]validity Returns the [31522]ValidityState object for internals's [31523]target element.

    internals.[31524]validationMessage Returns the error message that would be shown to the user if internals's [31525]target element was to be checked for validity.

    valid = internals.[31526]checkValidity() Returns true if internals's [31527]target element has no validity problems; false otherwise. Fires an [31528]invalid event at the element in the latter case.

    valid = internals.[31529]reportValidity() Returns true if internals's [31530]target element has no validity problems; otherwise, returns false, fires an [31531]invalid event at the element, and (if the event isn't canceled) reports the problem to the user.

    internals.[31532]labels Returns a [31533]NodeList of all the [31534]label elements that internals's [31535]target element is associated with.

    Each [31536]form-associated custom element has submission value. It is used to provide one or more [31537]entries on form submission. The initial value of [31538]submission value is null, and [31539]submission value can be null, a string, a [31540]File, or a [31541]list of [31542]entries.

    Each [31543]form-associated custom element has state. It is information with which the user agent can restore a user's input for the element. The initial value of [31544]state is null, and [31545]state can be null, a string, a [31546]File, or a [31547]list of [31548]entries.

    The [31549]setFormValue() method is used by the custom element author to set the element's [31550]submission value and [31551]state, thus communicating these to the user agent.

    When the user agent believes it is a good idea to restore a [31552]form-associated custom element's [31553]state, for example [31554]after navigation or restarting the user agent, they may [31555]enqueue a custom element callback reaction with that element, callback name "formStateRestoreCallback", and « the state to be restored, "restore" ».

    If the user agent has a form-filling assist feature, then when the feature is invoked, it may [31556]enqueue a custom element callback reaction with a [31557]form-associated custom element, callback name "formStateRestoreCallback", and « the state value determined by history of state value and some heuristics, "autocomplete" ».

    In general, the [31558]state is information specified by a user, and the [31559]submission value is a value after canonicalization or sanitization, suitable for submission to the server. The following examples makes this concrete:

    Suppose that we have a [31560]form-associated custom element which asks a user to specify a date. The user specifies "3/15/2019", but the control wishes to submit "2019-03-15" to the server. "3/15/2019" would be a [31561]state of the element, and "2019-03-15" would be a [31562]submission value.

    Suppose you develop a custom element emulating a the behavior of the existing [31563]checkbox [31564]input type. Its [31565]submission value would be the value of its value content attribute, or the string "on". Its [31566]state would be one of "checked", "unchecked", "checked/indeterminate", or "unchecked/indeterminate".

    (BUTTON) ✔MDN

    [31567]ElementInternals/setFormValue

    Support in all current engines. Firefox98+Safari16.4+Chrome77+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The setFormValue(value, state) method steps are: 1. Let element be [31568]this's [31569]target element. 2. If element is not a [31570]form-associated custom element, then throw a [31571]"NotSupportedError" [31572]DOMException. 3. Set [31573]target element's [31574]submission value to value if value is not a [31575]FormData object, or to a [31576]clone of value's [31577]entry list otherwise. 4. If the state argument of the function is omitted, set element's [31578]state to its [31579]submission value. 5. Otherwise, if state is a [31580]FormData object, set element's [31581]state to a [31582]clone of state's [31583]entry list. 6. Otherwise, set element's [31584]state to state. __________________________________________________________________

    Each [31585]form-associated custom element has validity flags named valueMissing, typeMismatch, patternMismatch, tooLong, tooShort, rangeUnderflow, rangeOverflow, stepMismatch, and customError. They are false initially.

    Each [31586]form-associated custom element has a validation message string. It is the empty string initially.

    Each [31587]form-associated custom element has a validation anchor element. It is null initially.

    (BUTTON) ✔MDN

    [31588]ElementInternals/setValidity

    Support in all current engines. Firefox98+Safari16.4+Chrome77+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The setValidity(flags, message, anchor) method steps are: 1. Let element be [31589]this's [31590]target element. 2. If element is not a [31591]form-associated custom element, then throw a [31592]"NotSupportedError" [31593]DOMException. 3. If flags contains one or more true values and message is not given or is the empty string, then throw a [31594]TypeError. 4. For each entry flag → value of flags, set element's validity flag with the name flag to value. 5. Set element's [31595]validation message to the empty string if message is not given or all of element's validity flags are false, or to message otherwise. 6. If element's customError validity flag is true, then set element's [31596]custom validity error message to element's [31597]validation message. Otherwise, set element's [31598]custom validity error message to the empty string. 7. Set element's [31599]validation anchor to null if anchor is not given. Otherwise, if anchor is not a [31600]shadow-including descendant of element, then throw a [31601]"NotFoundError" [31602]DOMException. Otherwise, set element's [31603]validation anchor to anchor.

    (BUTTON) ✔MDN

    [31604]ElementInternals/validationMessage

    Support in all current engines. Firefox98+Safari16.4+Chrome77+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The validationMessage getter steps are: 1. Let element be [31605]this's [31606]target element. 2. If element is not a [31607]form-associated custom element, then throw a [31608]"NotSupportedError" [31609]DOMException. 3. Return element's [31610]validation message.

    The entry construction algorithm for a [31611]form-associated custom element, given an element element and an [31612]entry list entry list, consists of the following steps: 1. If element's [31613]submission value is a [31614]list of [31615]entries, then [31616]append each item of element's [31617]submission value to entry list, and return. In this case, user agent does not refer to the [31618]name content attribute value. An implementation of [31619]form-associated custom element is responsible to decide names of [31620]entries. They can be the [31621]name content attribute value, they can be strings based on the [31622]name content attribute value, or they can be unrelated to the [31623]name content attribute. 2. If the element does not have a [31624]name attribute specified, or its [31625]name attribute's value is the empty string, then return. 3. If the element's [31626]submission value is not null, [31627]create an entry with the [31628]name attribute value and the [31629]submission value, and [31630]append it to entry list.

    4.13.7.4 Accessibility semantics

    internals.[31631]role [ = value ] Sets or retrieves the default ARIA role for internals's [31632]target element, which will be used unless the page author overrides it using the [31633]role attribute.

    internals.[31634]aria* [ = value ] Sets or retrieves various default ARIA states or property values for internals's [31635]target element, which will be used unless the page author overrides them using the [31636]aria-* attributes.

    Each [31637]custom element has an internal content attribute map, which is a [31638]map, initially empty. See the [31639]Requirements related to ARIA and to platform accessibility APIs section for information on how this impacts platform accessibility APIs.

    4.13.7.5 Custom state pseudo-class

    internals.[31640]states.add(value) Adds the string value to the element's [31641]states set to be exposed as a pseudo-class.

    internals.[31642]states.has(value) Returns true if value is in the element's [31643]states set, otherwise false.

    internals.[31644]states.delete(value) If the element's [31645]states set has value, then it will be removed and true will be returned. Otherwise, false will be returned.

    internals.[31646]states.clear() Removes all values from the element's [31647]states set.

    for (const stateName of internals.[31648]states) for (const stateName of internals.[31649]states.entries()) for (const stateName of internals.[31650]states.keys()) for (const stateName of internals.[31651]states.values()) Iterates over all values in the element's [31652]states set.

    internals.[31653]states.forEach(callback) Iterates over all values in the element's [31654]states set by calling callback once for each value.

    internals.[31655]states.size Returns the number of values in the element's [31656]states set.

    Each [31657]custom element has a states set, which is a [31658]CustomStateSet, initially empty. [Exposed=Window] interface CustomStateSet { setlike; };

    The states getter steps are to return [31659]this's [31660]target element's [31661]states set.

    The [31662]states set can expose boolean states represented by existence/non-existence of string values. If an author wants to expose a state which can have three values, it can be converted to three exclusive boolean states. For example, a state called readyState with "loading", "interactive", and "complete" values can be mapped to three exclusive boolean states, "loading", "interactive", and "complete": // Change the readyState from anything to "complete". this._readyState = "complete"; this._internals.states.delete("loading"); this._internals.states.delete("interactive"); this._internals.states.add("complete");

    4.14 Common idioms without dedicated elements

    4.14.1 Breadcrumb navigation

    This specification does not provide a machine-readable way of describing breadcrumb navigation menus. Authors are encouraged to just use a series of links in a paragraph. The [31663]nav element can be used to mark the section containing these paragraphs as being navigation blocks.

    In the following example, the current page can be reached via two paths.

    4.14.2 Tag clouds

    This specification does not define any markup specifically for marking up lists of keywords that apply to a group of pages (also known as tag clouds). In general, authors are encouraged to either mark up such lists using [31664]ul elements with explicit inline counts that are then hidden and turned into a presentational effect using a style sheet, or to use SVG.

    Here, three tags are included in a short tag cloud: ...

    The actual frequency of each tag is given using the [31665]title attribute. A CSS style sheet is provided to convert the markup into a cloud of differently-sized words, but for user agents that do not support CSS or are not visual, the markup contains annotations like "(popular)" or "(rare)" to categorize the various tags by frequency, thus enabling all users to benefit from the information.

    The [31666]ul element is used (rather than [31667]ol) because the order is not particularly important: while the list is in fact ordered alphabetically, it would convey the same information if ordered by, say, the length of the tag.

    The [31668]tag [31669]rel-keyword is not used on these [31670]a elements because they do not represent tags that apply to the page itself; they are just part of an index listing the tags themselves.

    4.14.3 Conversations

    This specification does not define a specific element for marking up conversations, meeting minutes, chat transcripts, dialogues in screenplays, instant message logs, and other situations where different players take turns in discourse.

    Instead, authors are encouraged to mark up conversations using [31671]p elements and punctuation. Authors who need to mark the speaker for styling purposes are encouraged to use [31672]span or [31673]b. Paragraphs with their text wrapped in the [31674]i element can be used for marking up stage directions.

    This example demonstrates this using an extract from Abbot and Costello's famous sketch, Who's on first:

    Costello: Look, you gotta first baseman?

    Abbott: Certainly.

    Costello: Whoʼs playing first?

    Abbott: Thatʼs right.

    Costello becomes exasperated.

    Costello: When you pay off the first baseman every month, who gets the money ?

    Abbott: Every dollar of it.

    The following extract shows how an IM conversation log could be marked up, using the [31675]data element to provide Unix timestamps for each line. Note that the timestamps are provided in a format that the [31676]time element does not support, so the [31677]data element is used instead (namely, Unix time_t timestamps). Had the author wished to mark up the data using one of the date and time formats supported by the [31678]time element, that element could have been used instead of [31679]data. This could be advantageous as it would allow data analysis tools to detect the timestamps unambiguously, without coordination with the page author.

    14:22 egof Iʼm not that nerdy, Iʼve o nly seen 30% of the star trek episodes

    14:23 kaj if you know what percentage of the star trek episodes you have seen, you are inarguably nerdy

    14:23 egof itʼs unarguably

    14:23 * kaj blinks

    14:24 kaj you are not helping your ca se

    HTML does not have a good way to mark up graphs, so descriptions of interactive conversations from games are more difficult to mark up. This example shows one possible convention using [31680]dl elements to list the possible responses at each point in the conversation. Another option to consider is describing the conversation in the form of a DOT file, and outputting the result as an SVG image to place in the document. [31681][DOT]

    Next, you meet a fisher. You can say one of several greetings:

    "Hello there!"

    She responds with "Hello, how may I help you?"; you can respond with:

    "I would like to buy a fish."

    She sells you a fish and the conversation finishes.

    "Can I borrow your boat?"

    She is surprised and asks "What are you offering in return?".

    "Five gold." (if you have enough)
    "Ten gold." (if you have enough)
    "Fifteen gold." (if you have enough)

    She lends you her boat. The conversation ends.

    "A fish." (if you have one)
    "A newspaper." (if you have one)
    "A pebble." (if you have one)

    "No thanks", she replies. Your conversation options at this point are the same as they were after asking to borrow her boat, minus any options youʼve suggested before.

    "Vote for me in the next election!"

    She turns away. The conversation finishes.

    "Madam, are you aware that your fish are running away?"

    She looks at you skeptically and says "Fish cannot run, miss".

    "You got me!"

    The fisher sighs and the conversation ends.

    "Only kidding."

    "Good one!" she retorts. Your conversation options at this point are the same as those following "Hello there!" above.

    "Oh, then what are they doing?"

    She looks at her fish, giving you an opportunity to steal her boat, which you do. The conversation ends.

    In some games, conversations are simpler: each character merely has a fixed set of lines that they say. In this example, a game FAQ/walkthrough lists some of the known possible responses for each character:

    Dialogue

    Some characters repeat their lines in order each time you interact with them, others randomly pick from amongst their lines. Those who respond in order have numbered entries in the lists below.

    The Shopkeeper

    • How may I help you?
    • Fresh apples!
    • A loaf of bread for madam?

    The pilot

    Before the accident:

    • Iʼm about to fly out, sorry!
    • Sorry, Iʼm just waiting for flight clearance and then Iʼll be off!

    After the accident:

    1. Iʼm about to fly out, sorry!
    2. Ok, Iʼm not leaving right now, my plane is being cleaned.
    3. Ok, itʼs not being cleaned, it needs a minor repair first.
    4. Ok, ok, stop bothering me! Truth is, I had a crash.

    Clan Leader

    During the first clan meeting:

    • Hey, have you seen my daughter? I bet sheʼs up to something nefarious agai n...
    • Nice weather weʼre having today, eh?
    • The name is Bailey, Jeff Bailey. How can I help you today?
    • A glass of water? Fresh from the well!

    After the earthquake:

    1. Everyone is safe in the shelter, we just have to put out the fire!
    2. Iʼll go and tell the fire brigade, you keep hosing it down!

    4.14.4 Footnotes

    HTML does not have a dedicated mechanism for marking up footnotes. Here are the suggested alternatives. __________________________________________________________________

    For short inline annotations, the [31682]title attribute could be used.

    In this example, two parts of a dialogue are annotated with footnote-like content using the [31683]title attribute.

    Customer: Hello! I wish to register a complaint. Hello. Miss?

    Shopkeeper: Watcha mean, miss?

    Customer: Uh, Iʼm sorry, I have a cold. I wish to make a complaint.

    Shopkeeper: Sorry, weʼre closing for lunch.

    Unfortunately, relying on the [31684]title attribute is currently discouraged as many user agents do not expose the attribute in an accessible manner as required by this specification (e.g. requiring a pointing device such as a mouse to cause a tooltip to appear, which excludes keyboard-only users and touch-only users, such as anyone with a modern phone or tablet).

    If the [31685]title attribute is used, CSS can be used to draw the reader's attention to the elements with the attribute.

    For example, the following CSS places a dashed line below elements that have a [31686]title attribute. [title] { border-bottom: thin dashed; } __________________________________________________________________

    For longer annotations, the [31687]a element should be used, pointing to an element later in the document. The convention is that the contents of the link be a number in square brackets.

    In this example, a footnote in the dialogue links to a paragraph below the dialogue. The paragraph then reciprocally links back to the dialogue, allowing the user to return to the location of the footnote.

    Announcer: Number 16: The hand.

    Interviewer: Good evening. I have with me in the studio tonight Mr Norman St John Polevaulter, who for the past few years has been contradicting people. Mr Polevaulter, why do you contradict people?

    Norman: I donʼt. [1]

    Interviewer: You told me you did! ...

    [1] This is, naturally, a lie, but paradoxically if it were true he could not say so without contradicting the interviewer and thus making it false.

    __________________________________________________________________

    For side notes, longer annotations that apply to entire sections of the text rather than just specific words or sentences, the [31688]aside element should be used.

    In this example, a sidebar is given after a dialogue, giving it some context.

    Customer: I will not buy this record, it is scr atched.

    Shopkeeper: Iʼm sorry?

    Customer: I will not buy this record, it is scr atched.

    Shopkeeper: No no no, thisʼsʼa tobacconistʼs.

    __________________________________________________________________

    For figures or tables, footnotes can be included in the relevant [31689]figcaption or [31690]caption element, or in surrounding prose.

    In this example, a table has cells with footnotes that are given in prose. A [31691]figure element is used to give a single legend to the combination of the table and its footnotes.

    Table 1. Alternative activities for knights.
    Activity Location Cost
    Dance Wherever possible £01
    Routines, chorus scenes2 Undisclosed Undisclosed
    Dining3 Camelot Cost of ham, jam, and spam4

    1. Assumed.

    2. Footwork impeccable.

    3. Quality described as "well".

    4. A lot.

    4.15 Disabled elements

    An element is said to be actually disabled if it is one of the following: * a [31692]button element that is [31693]disabled * an [31694]input element that is [31695]disabled * a [31696]select element that is [31697]disabled * a [31698]textarea element that is [31699]disabled * an [31700]optgroup element that has a [31701]disabled attribute * an [31702]option element that is [31703]disabled * a [31704]fieldset element that is a [31705]disabled fieldset * a [31706]form-associated custom element that is [31707]disabled

    This definition is used to determine what elements are [31708]focusable and which elements match the [31709]:enabled and [31710]:disabled [31711]pseudo classes.

    4.16 Matching HTML elements using selectors and CSS

    4.16.1 Case-sensitivity of the CSS [31712]'attr()' function

    CSS Values and Units leaves the case-sensitivity of attribute names for the purpose of the [31713]'attr()' function to be defined by the host language. [31714][CSSVALUES]

    When comparing the attribute name part of a CSS [31715]'attr()' function to the names of namespace-less attributes on [31716]HTML elements in [31717]HTML documents, the name part of the CSS [31718]'attr()' function must first be [31719]converted to ASCII lowercase. The same function when compared to other attributes must be compared according to its original case. In both cases, to match the values must be [31720]identical to each other (and therefore the comparison is case sensitive).

    This is the same as comparing the name part of a CSS [31721]attribute selector, specified in the next section.

    4.16.2 Case-sensitivity of selectors

    Selectors leaves the case-sensitivity of element names, attribute names, and attribute values to be defined by the host language. [31722][SELECTORS]

    When comparing a CSS element [31723]type selector to the names of [31724]HTML elements in [31725]HTML documents, the CSS element [31726]type selector must first be [31727]converted to ASCII lowercase. The same selector when compared to other elements must be compared according to its original case. In both cases, to match the values must be [31728]identical to each other (and therefore the comparison is case sensitive).

    When comparing the name part of a CSS [31729]attribute selector to the names of attributes on [31730]HTML elements in [31731]HTML documents, the name part of the CSS [31732]attribute selector must first be [31733]converted to ASCII lowercase. The same selector when compared to other attributes must be compared according to its original case. In both cases, the comparison is case-sensitive.

    [31734]Attribute selectors on an [31735]HTML element in an [31736]HTML document must treat the values of attributes with the following names as [31737]ASCII case-insensitive: * accept * accept-charset * align * alink * axis * bgcolor * charset * checked * clear * codetype * color * compact * declare * defer * dir * direction * disabled * enctype * face * frame * hreflang * http-equiv * lang * language * link * media * method * multiple * nohref * noresize * noshade * nowrap * readonly * rel * rev * rules * scope * scrolling * selected * shape * target * text * type * valign * valuetype * vlink

    For example, the selector [bgcolor="#ffffff"] will match any HTML element with a bgcolor attribute with values including #ffffff, #FFFFFF and #fffFFF. This happens even if bgcolor has no effect for a given element (e.g., [31738]div).

    The selector [type=a s] will match any HTML element with a type attribute whose value is a, but not whose value is A, due to the s flag.

    All other attribute values and everything else must be treated as entirely [31739]identical to each other for the purposes of selector matching. This includes: * [31740]IDs and [31741]classes in [31742]no-quirks mode and [31743]limited-quirks mode * the names of elements not in the [31744]HTML namespace * the names of [31745]HTML elements in [31746]XML documents * the names of attributes of elements not in the [31747]HTML namespace * the names of attributes of [31748]HTML elements in [31749]XML documents * the names of attributes that themselves have namespaces

    Selectors defines that ID and class selectors (such as #foo and .bar), when matched against elements in documents that are in [31750]quirks mode, will be matched in an [31751]ASCII case-insensitive manner. However, this does not apply for attribute selectors with "id" or "class" as the name part. The selector [class="foobar"] will treat its value as case-sensitive even in [31752]quirks mode.

    4.16.3 Pseudo-classes

    (BUTTON) MDN

    [31753]Pseudo-classes

    There are a number of dynamic selectors that can be used with HTML. This section defines when these selectors match HTML elements. [31754][SELECTORS] [31755][CSSUI]

    :defined

    (BUTTON) ✔MDN

    [31756]:defined

    Support in all current engines.

    Firefox63+Safari10+Chrome54+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? The [31757]:defined [31758]pseudo-class must match any element that is [31759]defined.

    :link

    (BUTTON) ✔MDN

    [31760]:link

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera3.5+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer3+ ___________________________________________________________

    Firefox Android?Safari iOS3.2+Chrome Android?WebView Android1.5+Samsung Internet?Opera Android?

    :visited

    (BUTTON) ✔MDN

    [31761]:visited

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera3.5+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ All [31762]a elements that have an [31763]href attribute, and all [31764]area elements that have an [31765]href attribute, must match one of [31766]:link and [31767]:visited.

    Other specifications might apply more specific rules regarding how these elements are to match these [31768]pseudo-classes, to mitigate some privacy concerns that apply with straightforward implementations of this requirement.

    :active

    (BUTTON) ✔MDN

    [31769]:active

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera5+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ The [31770]:active [31771]pseudo-class is defined to match an element "while an element is being activated by the user".

    To determine whether a particular element is [31772]being activated for the purposes of defining the [31773]:active [31774]pseudo-class only, an HTML user agent must use the first relevant entry in the following list.

    If the element is a [31775]button element If the element is an [31776]input element whose [31777]type attribute is in the [31778]Submit Button, [31779]Image Button, [31780]Reset Button, or [31781]Button state

    If the element is an [31782]a element that has an [31783]href attribute

    If the element is an [31784]area element that has an [31785]href attribute

    If the element is [31786]focusable The element is [31787]being activated if it is [31788]in a formal activation state.

    For example, if the user is using a keyboard to push a [31789]button element by pressing the space bar, the element would match this [31790]pseudo-class in between the time that the element received the [31791]keydown event and the time the element received the [31792]keyup event.

    If the element is [31793]being actively pointed at The element is [31794]being activated.

    An element is said to be in a formal activation state between the time the user begins to indicate an intent to trigger the element's [31795]activation behavior and either the time the user stops indicating an intent to trigger the element's [31796]activation behavior, or the time the element's [31797]activation behavior has finished running, which ever comes first.

    An element is said to be being actively pointed at while the user indicates the element using a pointing device while that pointing device is in the "down" state (e.g. for a mouse, between the time the mouse button is pressed and the time it is depressed; for a finger in a multitouch environment, while the finger is touching the display surface).

    Per the definition in Selectors, [31798]:active also matches [31799]flat tree ancestors of elements that are [31800]being activated. [31801][SELECTORS]

    Additionally, any element that is the [31802]labeled control of a [31803]label element that is currently matching [31804]:active, also matches [31805]:active. (But, it does not count as being [31806]being activated.)

    :hover

    (BUTTON) ✔MDN

    [31807]:hover

    Support in all current engines.

    Firefox1+Safari2+Chrome1+ ___________________________________________________________

    Opera4+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ The [31808]:hover [31809]pseudo-class is defined to match an element "while the user designates an element with a pointing device". For the purposes of defining the [31810]:hover [31811]pseudo-class only, an HTML user agent must consider an element as being one that the user [31812]designates if it is an element that the user indicates using a pointing device.

    Per the definition in Selectors, [31813]:hover also matches [31814]flat tree ancestors of elements that are [31815]designated. [31816][SELECTORS]

    Additionally, any element that is the [31817]labeled control of a [31818]label element that is currently matching [31819]:hover, also matches [31820]:hover. (But, it does not count as being [31821]designated.)

    Consider in particular a fragment such as:

    If the user designates the element with ID "a" with their pointing device, then the [31822]p element (and all its ancestors not shown in the snippet above), the [31823]label element, the element with ID "a", and the element with ID "c" will match the [31824]:hover [31825]pseudo-class. The element with ID "a" matches it by being [31826]designated; the [31827]label and [31828]p elements match it because of the condition in Selectors about flat tree ancestors; and the element with ID "c" matches it through the additional condition above on [31829]labeled controls (i.e., its [31830]label element matches [31831]:hover). However, the element with ID "b" does not match [31832]:hover: its flat tree descendant is not designated, even though that flat tree descendant matches [31833]:hover.

    :focus

    (BUTTON) ✔MDN

    [31834]:focus

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera7+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer8+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ For the purposes of the CSS [31835]:focus [31836]pseudo-class, an element has the focus when:

    + it is not itself a [31837]navigable container; and + any of the following are true: o it is one of the elements listed in the [31838]current focus chain of the top-level traversable; or o its [31839]shadow root shadowRoot is not null and shadowRoot is the [31840]root of at least one element that [31841]has the focus.

    :target

    (BUTTON) ✔MDN

    [31842]:target

    Support in all current engines.

    Firefox1+Safari1.3+Chrome1+ ___________________________________________________________

    Opera9.5+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS2+Chrome Android?WebView Android2+Samsung Internet?Opera Android10.1+ For the purposes of the CSS [31843]:target [31844]pseudo-class, the [31845]Document's target elements are a list containing the [31846]Document's [31847]target element, if it is not null, or containing no elements, if it is. [31848][SELECTORS]

    :popover-open

    (BUTTON) ✔MDN

    [31849]:popover-open

    Support in all current engines.

    Firefox🔰 114+Safaripreview+Chrome114+ ___________________________________________________________

    Opera?Edge114+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? The [31850]:popover-open [31851]pseudo-class is defined to match any [31852]HTML element whose [31853]popover attribute is not in the [31854]no popover state and whose [31855]popover visibility state is [31856]showing.

    :enabled

    (BUTTON) ✔MDN

    [31857]:enabled

    Support in all current engines.

    Firefox1+Safari3.1+Chrome1+ ___________________________________________________________

    Opera9+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android2+Samsung Internet?Opera Android10.1+ The [31858]:enabled [31859]pseudo-class must match any [31860]button, [31861]input, [31862]select, [31863]textarea, [31864]optgroup, [31865]option, [31866]fieldset element, or [31867]form-associated custom element that is not [31868]actually disabled.

    :disabled

    (BUTTON) ✔MDN

    [31869]:disabled

    Support in all current engines.

    Firefox1+Safari3.1+Chrome1+ ___________________________________________________________

    Opera9+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android2+Samsung Internet?Opera Android10.1+ The [31870]:disabled [31871]pseudo-class must match any element that is [31872]actually disabled.

    :checked

    (BUTTON) ✔MDN

    [31873]:checked

    Support in all current engines.

    Firefox1+Safari3.1+Chrome1+ ___________________________________________________________

    Opera9+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android4+Safari iOS?Chrome Android18+WebView Android2+Samsung Internet?Opera Android10.1+ The [31874]:checked [31875]pseudo-class must match any element falling into one of the following categories:

    + [31876]input elements whose [31877]type attribute is in the [31878]Checkbox state and whose [31879]checkedness state is true + [31880]input elements whose [31881]type attribute is in the [31882]Radio Button state and whose [31883]checkedness state is true + [31884]option elements whose [31885]selectedness is true

    :indeterminate

    (BUTTON) ✔MDN

    [31886]:indeterminate

    Support in all current engines.

    Firefox2+Safari3+Chrome1+ ___________________________________________________________

    Opera9+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+ The [31887]:indeterminate [31888]pseudo-class must match any element falling into one of the following categories:

    + [31889]input elements whose [31890]type attribute is in the [31891]Checkbox state and whose [31892]indeterminate IDL attribute is set to true + [31893]input elements whose [31894]type attribute is in the [31895]Radio Button state and whose [31896]radio button group contains no [31897]input elements whose [31898]checkedness state is true. + [31899]progress elements with no [31900]value content attribute

    :default

    (BUTTON) ✔MDN

    [31901]:default

    Support in all current engines.

    Firefox4+Safari5+Chrome10+ ___________________________________________________________

    Opera10+Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+ The [31902]:default [31903]pseudo-class must match any element falling into one of the following categories:

    + [31904]Submit buttons that are [31905]default buttons of their [31906]form owner. + [31907]input elements to which the [31908]checked attribute applies and that have a [31909]checked attribute + [31910]option elements that have a [31911]selected attribute

    :placeholder-shown The [31912]:placeholder-shown [31913]pseudo-class must match any element falling into one of the following categories:

    + [31914]input elements that have a [31915]placeholder attribute whose value is currently being presented to the user + [31916]textarea elements that have a [31917]placeholder attribute whose value is currently being presented to the user

    :valid

    (BUTTON) ✔MDN

    [31918]:valid

    Support in all current engines.

    Firefox4+Safari5+Chrome10+ ___________________________________________________________

    Opera10+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+ The [31919]:valid [31920]pseudo-class must match any element falling into one of the following categories:

    + elements that are [31921]candidates for constraint validation and that [31922]satisfy their constraints + [31923]form elements that are not the [31924]form owner of any elements that themselves are [31925]candidates for constraint validation but do not [31926]satisfy their constraints + [31927]fieldset elements that have no descendant elements that themselves are [31928]candidates for constraint validation but do not [31929]satisfy their constraints

    :invalid

    (BUTTON) ✔MDN

    [31930]:invalid

    Support in all current engines.

    Firefox4+Safari5+Chrome10+ ___________________________________________________________

    Opera10+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+ The [31931]:invalid [31932]pseudo-class must match any element falling into one of the following categories:

    + elements that are [31933]candidates for constraint validation but that do not [31934]satisfy their constraints + [31935]form elements that are the [31936]form owner of one or more elements that themselves are [31937]candidates for constraint validation but do not [31938]satisfy their constraints + [31939]fieldset elements that have of one or more descendant elements that themselves are [31940]candidates for constraint validation but do not [31941]satisfy their constraints

    :user-valid The [31942]:user-valid [31943]pseudo-class must match [31944]input, [31945]textarea, and [31946]select elements whose [31947]user validity is true, are [31948]candidates for constraint validation, and that [31949]satisfy their constraints.

    :user-invalid The [31950]:user-invalid [31951]pseudo-class must match [31952]input, [31953]textarea, and [31954]select elements whose [31955]user validity is true, are [31956]candidates for constraint validation but do not [31957]satisfy their constraints.

    :in-range

    (BUTTON) ✔MDN

    [31958]:in-range

    Support in all current engines.

    Firefox29+Safari5.1+Chrome10+ ___________________________________________________________

    Opera11+Edge79+ ___________________________________________________________

    Edge (Legacy)13+Internet ExplorerNo ___________________________________________________________

    Firefox Android16+Safari iOS?Chrome Android?WebView Android2.2+Samsung Internet1.0+Opera Android11+ The [31959]:in-range [31960]pseudo-class must match all elements that are [31961]candidates for constraint validation, [31962]have range limitations, and that are neither [31963]suffering from an underflow nor [31964]suffering from an overflow.

    :out-of-range

    (BUTTON) ✔MDN

    [31965]:out-of-range

    Support in all current engines.

    Firefox29+Safari5.1+Chrome10+ ___________________________________________________________

    Opera11+Edge79+ ___________________________________________________________

    Edge (Legacy)13+Internet ExplorerNo ___________________________________________________________

    Firefox Android16+Safari iOS?Chrome Android?WebView Android2.2+Samsung Internet?Opera Android11+ The [31966]:out-of-range [31967]pseudo-class must match all elements that are [31968]candidates for constraint validation, [31969]have range limitations, and that are either [31970]suffering from an underflow or [31971]suffering from an overflow.

    :required

    (BUTTON) ✔MDN

    [31972]:required

    Support in all current engines.

    Firefox4+Safari5+Chrome10+ ___________________________________________________________

    Opera10+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS5+Chrome Android?WebView Android4.4.3+Samsung Internet?Opera Android10.1+ The [31973]:required [31974]pseudo-class must match any element falling into one of the following categories:

    + [31975]input elements that are [31976]required + [31977]select elements that have a [31978]required attribute + [31979]textarea elements that have a [31980]required attribute

    :optional

    (BUTTON) ✔MDN

    [31981]:optional

    Support in all current engines.

    Firefox4+Safari5+Chrome10+ ___________________________________________________________

    Opera10+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+ The [31982]:optional [31983]pseudo-class must match any element falling into one of the following categories:

    + [31984]input elements to which the [31985]required attribute applies that are not [31986]required + [31987]select elements that do not have a [31988]required attribute + [31989]textarea elements that do not have a [31990]required attribute

    :autofill

    (BUTTON) MDN

    [31991]:autofill

    Firefox86+Safari15+Chrome🔰 1+ ___________________________________________________________

    Opera?Edge🔰 79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS15+Chrome Android?WebView Android?Samsung Internet?Opera Android?

    :-webkit-autofill The [31992]:autofill and [31993]:-webkit-autofill [31994]pseudo-classes must match [31995]input elements which have been autofilled by user agent. These pseudo-classes must stop matching if the user edits the autofilled field.

    One way such autofilling might happen is via the [31996]autocomplete attribute, but user agents could autofill even without that attribute being involved.

    :read-only

    (BUTTON) ✔MDN

    [31997]:read-only

    Support in all current engines.

    Firefox78+Safari4+Chrome1+ ___________________________________________________________

    Opera9+Edge79+ ___________________________________________________________

    Edge (Legacy)13+Internet ExplorerNo ___________________________________________________________

    Firefox Android🔰 4+Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+

    :read-write

    (BUTTON) ✔MDN

    [31998]:read-write

    Support in all current engines.

    Firefox78+Safari4+Chrome1+ ___________________________________________________________

    Opera9+Edge79+ ___________________________________________________________

    Edge (Legacy)13+Internet ExplorerNo ___________________________________________________________

    Firefox Android🔰 4+Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+ The [31999]:read-write [32000]pseudo-class must match any element falling into one of the following categories, which for the purposes of Selectors are thus considered user-alterable: [32001][SELECTORS]

    + [32002]input elements to which the [32003]readonly attribute applies, and that are [32004]mutable (i.e. that do not have the [32005]readonly attribute specified and that are not [32006]disabled) + [32007]textarea elements that do not have a [32008]readonly attribute, and that are not [32009]disabled + elements that are [32010]editing hosts or [32011]editable and are neither [32012]input elements nor [32013]textarea elements

    The [32014]:read-only [32015]pseudo-class must match all other [32016]HTML elements.

    :modal The [32017]:modal [32018]pseudo-class must match any element falling into one of the following categories:

    + [32019]dialog elements whose [32020]is modal is true + elements whose [32021]fullscreen flag is true

    :dir(ltr)

    (BUTTON) MDN

    [32022]:dir

    Firefox49+Safari16.4+ChromeNo ___________________________________________________________

    Opera?EdgeNo ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? The [32023]:dir(ltr) [32024]pseudo-class must match all elements whose [32025]directionality is '[32026]ltr'.

    :dir(rtl) The [32027]:dir(rtl) [32028]pseudo-class must match all elements whose [32029]directionality is '[32030]rtl'.

    Custom state pseudo-class The [32031]:state(identifier) pseudo-class must match all [32032]custom elements whose [32033]states set's [32034]set entries contains identifier.

    :playing The [32035]:playing [32036]pseudo-class must match all [32037]media elements whose [32038]paused attribute is false.

    :paused The [32039]:paused [32040]pseudo-class must match all [32041]media elements whose [32042]paused attribute is true.

    :seeking The [32043]:seeking [32044]pseudo-class must match all [32045]media elements whose [32046]seeking attribute is true.

    :buffering The [32047]:buffering [32048]pseudo-class must match all [32049]media elements whose [32050]paused attribute is false, [32051]networkState attribute is [32052]NETWORK_LOADING, and ready state is [32053]HAVE_CURRENT_DATA or less.

    :stalled The [32054]:stalled [32055]pseudo-class must match all [32056]media elements that match the [32057]:buffering [32058]pseudo-class and whose [32059]is currently stalled is true.

    :muted The [32060]:muted [32061]pseudo-class must match all [32062]media elements that are [32063]muted.

    :volume-locked The [32064]:volume-locked [32065]pseudo-class must match all [32066]media elements when the user agent's [32067]volume locked is true.

    :open The [32068]:open [32069]pseudo-class must match any element falling into one of the following categories:

    + [32070]details elements that have an [32071]open attribute + [32072]dialog elements that have an [32073]open attribute + [32074]select elements that are a [32075]drop-down box and whose drop-down boxes are open + [32076]input elements that [32077]support a picker and whose pickers are open

    This specification does not define when an element matches the :lang() dynamic [32078]pseudo-class, as it is defined in sufficient detail in a language-agnostic fashion in Selectors. [32079][SELECTORS]

    5 Microdata

    5.1 Introduction

    5.1.1 Overview

    This section is non-normative.

    Sometimes, it is desirable to annotate content with specific machine-readable labels, e.g. to allow generic scripts to provide services that are customized to the page, or to enable content from a variety of cooperating authors to be processed by a single script in a consistent manner.

    For this purpose, authors can use the microdata features described in this section. Microdata allows nested groups of name-value pairs to be added to documents, in parallel with the existing content.

    5.1.2 The basic syntax

    This section is non-normative.

    At a high level, microdata consists of a group of name-value pairs. The groups are called [32080]items, and each name-value pair is a property. Items and properties are represented by regular elements.

    To create an item, the [32081]itemscope attribute is used.

    To add a property to an item, the [32082]itemprop attribute is used on one of the [32083]item's descendants.

    Here there are two items, each of which has the property "name":

    My name is Elizabeth.

    My name is Daniel.

    Markup without the microdata-related attributes does not have any effect on the microdata model.

    These two examples are exactly equivalent, at a microdata level, as the previous two examples respectively:

    My name is Elizabeth.

    Properties generally have values that are strings.

    Here the item has three properties:

    My name is Neil.

    My band is called Four Parts Water.

    I am British.

    When a string value is a [32084]URL, it is expressed using the [32085]a element and its [32086]href attribute, the [32087]img element and its [32088]src attribute, or other elements that link to or embed external resources.

    In this example, the item has one property, "image", whose value is a URL:

    Google

    When a string value is in some machine-readable format unsuitable for human consumption, it is expressed using the [32089]value attribute of the [32090]data element, with the human-readable version given in the element's contents.

    Here, there is an item with a property whose value is a product ID. The ID is not human-friendly, so the product's name is used the human-visible text instead of the ID.

    The Instigator 2000

    For numeric data, the [32091]meter element and its [32092]value attribute can be used instead.

    Here a rating is given using a [32093]meter element.

    Panasonic White 60L Refrigerator
    Rated 3.5/5 (based on 11 customer reviews)

    Similarly, for date- and time-related data, the [32094]time element and its [32095]datetime attribute can be used instead.

    In this example, the item has one property, "birthday", whose value is a date:

    I was born on

    Properties can also themselves be groups of name-value pairs, by putting the [32096]itemscope attribute on the element that declares the property.

    Items that are not part of others are called [32097]top-level microdata items.

    In this example, the outer item represents a person, and the inner one represents a band:

    Name: Amanda

    Band: Jazz Band (12 players)

    The outer item here has two properties, "name" and "band". The "name" is "Amanda", and the "band" is an item in its own right, with two properties, "name" and "size". The "name" of the band is "Jazz Band", and the "size" is "12".

    The outer item in this example is a top-level microdata item.

    Properties that are not descendants of the element with the [32098]itemscope attribute can be associated with the [32099]item using the [32100]itemref attribute. This attribute takes a list of IDs of elements to crawl in addition to crawling the children of the element with the [32101]itemscope attribute.

    This example is the same as the previous one, but all the properties are separated from their [32102]items:

    Name: Amanda

    Band: Jazz Band

    Size: 12 players

    This gives the same result as the previous example. The first item has two properties, "name", set to "Amanda", and "band", set to another item. That second item has two further properties, "name", set to "Jazz Band", and "size", set to "12".

    An [32103]item can have multiple properties with the same name and different values.

    This example describes an ice cream, with two flavors:

    Flavors in my favorite ice cream:

    • Lemon sorbet
    • Apricot sorbet

    This thus results in an item with two properties, both "flavor", having the values "Lemon sorbet" and "Apricot sorbet".

    An element introducing a property can also introduce multiple properties at once, to avoid duplication when some of the properties have the same value.

    Here we see an item with two properties, "favorite-color" and "favorite-fruit", both set to the value "orange":

    orange

    It's important to note that there is no relationship between the microdata and the content of the document where the microdata is marked up.

    There is no semantic difference, for instance, between the following two examples:

    The Castle (198 6)
    The Castle (1986)

    Both have a figure with a caption, and both, completely unrelated to the figure, have an item with a name-value pair with the name "name" and the value "The Castle". The only difference is that if the user drags the caption out of the document, in the former case, the item will be included in the drag-and-drop data. In neither case is the image in any way associated with the item.

    5.1.3 Typed items

    This section is non-normative.

    The examples in the previous section show how information could be marked up on a page that doesn't expect its microdata to be re-used. Microdata is most useful, though, when it is used in contexts where other authors and readers are able to cooperate to make new uses of the markup.

    For this purpose, it is necessary to give each [32104]item a type, such as "https://example.com/person", or "https://example.org/cat", or "https://band.example.net/". Types are identified as [32105]URLs.

    The type for an [32106]item is given as the value of an [32107]itemtype attribute on the same element as the [32108]itemscope attribute.

    Here, the item's type is "https://example.org/animals#cat":

    Hedral

    Hedral is a male american domestic shorthair, with a fluffy black fur with white paws and belly.

    In this example the "https://example.org/animals#cat" item has three properties, a "name" ("Hedral"), a "desc" ("Hedral is..."), and an "img" ("hedral.jpeg").

    The type gives the context for the properties, thus selecting a vocabulary: a property named "class" given for an item with the type "https://census.example/person" might refer to the economic class of an individual, while a property named "class" given for an item with the type "https://example.com/school/teacher" might refer to the classroom a teacher has been assigned. Several types can share a vocabulary. For example, the types "https://example.org/people/teacher" and "https://example.org/people/engineer" could be defined to use the same vocabulary (though maybe some properties would not be especially useful in both cases, e.g. maybe the "https://example.org/people/engineer" type might not typically be used with the "classroom" property). Multiple types defined to use the same vocabulary can be given for a single item by listing the URLs as a space-separated list in the attribute' value. An item cannot be given two types if they do not use the same vocabulary, however.

    5.1.4 Global identifiers for items

    This section is non-normative.

    Sometimes, an [32109]item gives information about a topic that has a global identifier. For example, books can be identified by their ISBN number.

    Vocabularies (as identified by the [32110]itemtype attribute) can be designed such that [32111]items get associated with their global identifier in an unambiguous way by expressing the global identifiers as [32112]URLs given in an [32113]itemid attribute.

    The exact meaning of the [32114]URLs given in [32115]itemid attributes depends on the vocabulary used.

    Here, an item is talking about a particular book:

    Title
    The Reality Dysfunction
    Author
    Publication date

    The "https://vocab.example.net/book" vocabulary in this example would define that the [32116]itemid attribute takes a [32117]urn: [32118]URL pointing to the ISBN of the book.

    5.1.5 Selecting names when defining vocabularies

    This section is non-normative.

    Using microdata means using a vocabulary. For some purposes, an ad-hoc vocabulary is adequate. For others, a vocabulary will need to be designed. Where possible, authors are encouraged to re-use existing vocabularies, as this makes content re-use easier.

    When designing new vocabularies, identifiers can be created either using [32119]URLs, or, for properties, as plain words (with no dots or colons). For URLs, conflicts with other vocabularies can be avoided by only using identifiers that correspond to pages that the author has control over.

    For instance, if Jon and Adam both write content at example.com, at https://example.com/~jon/... and https://example.com/~adam/... respectively, then they could select identifiers of the form "https://example.com/~jon/name" and "https://example.com/~adam/name" respectively.

    Properties whose names are just plain words can only be used within the context of the types for which they are intended; properties named using URLs can be reused in items of any type. If an item has no type, and is not part of another item, then if its properties have names that are just plain words, they are not intended to be globally unique, and are instead only intended for limited use. Generally speaking, authors are encouraged to use either properties with globally unique names (URLs) or ensure that their items are typed.

    Here, an item is an "https://example.org/animals#cat", and most of the properties have names that are words defined in the context of that type. There are also a few additional properties whose names come from other vocabularies.

    Hedral

    Hedral is a male American domestic shorthair, with a fluffy black fur with white paws and belly.

    This example has one item with the type "https://example.org/animals#cat" and the following properties: Property Value name Hedral https://example.com/fn Hedral desc Hedral is a male American domestic shorthair, with a fluffy black fur with white paws and belly. https://example.com/color black https://example.com/color white img .../hedral.jpeg

    5.2 Encoding microdata

    5.2.1 The microdata model

    The microdata model consists of groups of name-value pairs known as [32120]items.

    Each group is known as an [32121]item. Each [32122]item can have [32123]item types, a [32124]global identifier (if the vocabulary specified by the [32125]item types [32126]support global identifiers for items), and a list of name-value pairs. Each name in the name-value pair is known as a [32127]property, and each [32128]property has one or more [32129]values. Each [32130]value is either a string or itself a group of name-value pairs (an [32131]item). The names are unordered relative to each other, but if a particular name has multiple values, they do have a relative order.

    5.2.2 Items

    (BUTTON) ✔MDN

    [32132]Global_attributes/itemscope

    Support in all current engines. FirefoxYesSafariYesChromeYes __________________________________________________________________

    Opera?EdgeYes __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    Every [32133]HTML element may have an itemscope attribute specified. The [32134]itemscope attribute is a [32135]boolean attribute.

    An element with the [32136]itemscope attribute specified creates a new item, a group of name-value pairs. __________________________________________________________________

    (BUTTON) ✔MDN

    [32137]Global_attributes/itemtype

    Support in all current engines. FirefoxYesSafariYesChromeYes __________________________________________________________________

    Opera?EdgeYes __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    Elements with an [32138]itemscope attribute may have an itemtype attribute specified, to give the [32139]item types of the [32140]item.

    The [32141]itemtype attribute, if specified, must have a value that is an [32142]unordered set of unique space-separated tokens, none of which are [32143]identical to another token and each of which is a [32144]valid URL string that is an [32145]absolute URL, and all of which are defined to use the same vocabulary. The attribute's value must have at least one token.

    The item types of an [32146]item are the tokens obtained by [32147]splitting the element's itemtype attribute's value on ASCII whitespace. If the [32148]itemtype attribute is missing or parsing it in this way finds no tokens, the [32149]item is said to have no [32150]item types.

    The [32151]item types must all be types defined in [32152]applicable specifications and must all be defined to use the same vocabulary.

    Except if otherwise specified by that specification, the [32153]URLs given as the [32154]item types should not be automatically dereferenced.

    A specification could define that its [32155]item type can be dereferenced to provide the user with help information, for example. In fact, vocabulary authors are encouraged to provide useful information at the given [32156]URL.

    [32157]Item types are opaque identifiers, and user agents must not dereference unknown [32158]item types, or otherwise deconstruct them, in order to determine how to process [32159]items that use them.

    The [32160]itemtype attribute must not be specified on elements that do not have an [32161]itemscope attribute specified. __________________________________________________________________

    An [32162]item is said to be a typed item when either it has an [32163]item type, or it is the [32164]value of a [32165]property of a [32166]typed item. The relevant types for a [32167]typed item is the [32168]item's [32169]item types, if it has any, or else is the [32170]relevant types of the [32171]item for which it is a [32172]property's [32173]value. __________________________________________________________________

    (BUTTON) ✔MDN

    [32174]Global_attributes/itemid

    Support in all current engines. FirefoxYesSafariYesChromeYes __________________________________________________________________

    Opera?EdgeYes __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    Elements with an [32175]itemscope attribute and an [32176]itemtype attribute that references a vocabulary that is defined to support global identifiers for items may also have an itemid attribute specified, to give a global identifier for the [32177]item, so that it can be related to other [32178]items on pages elsewhere on the web.

    The [32179]itemid attribute, if specified, must have a value that is a [32180]valid URL potentially surrounded by spaces.

    The global identifier of an [32181]item is the value of its element's [32182]itemid attribute, if it has one, [32183]parsed relative to the [32184]node document of the element on which the attribute is specified. If the [32185]itemid attribute is missing or if parsing it returns failure, it is said to have no [32186]global identifier.

    The [32187]itemid attribute must not be specified on elements that do not have both an [32188]itemscope attribute and an [32189]itemtype attribute specified, and must not be specified on elements with an [32190]itemscope attribute whose [32191]itemtype attribute specifies a vocabulary that does not [32192]support global identifiers for items, as defined by that vocabulary's specification.

    The exact meaning of a [32193]global identifier is determined by the vocabulary's specification. It is up to such specifications to define whether multiple items with the same global identifier (whether on the same page or on different pages) are allowed to exist, and what the processing rules for that vocabulary are with respect to handling the case of multiple items with the same ID. __________________________________________________________________

    (BUTTON) ✔MDN

    [32194]Global_attributes/itemref

    Support in all current engines. FirefoxYesSafariYesChromeYes __________________________________________________________________

    Opera?EdgeYes __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    Elements with an [32195]itemscope attribute may have an itemref attribute specified, to give a list of additional elements to crawl to find the name-value pairs of the [32196]item.

    The [32197]itemref attribute, if specified, must have a value that is an [32198]unordered set of unique space-separated tokens none of which are [32199]identical to another token and consisting of [32200]IDs of elements in the same [32201]tree.

    The [32202]itemref attribute must not be specified on elements that do not have an [32203]itemscope attribute specified.

    The [32204]itemref attribute is not part of the microdata data model. It is merely a syntactic construct to aid authors in adding annotations to pages where the data to be annotated does not follow a convenient tree structure. For example, it allows authors to mark up data in a table so that each column defines a separate [32205]item, while keeping the properties in the cells.

    This example shows a simple vocabulary used to describe the products of a model railway manufacturer. The vocabulary has just five property names:

    product-code An integer that names the product in the manufacturer's catalog.

    name A brief description of the product.

    scale One of "HO", "1", or "Z" (potentially with leading or trailing whitespace), indicating the scale of the product.

    digital If present, one of "Digital", "Delta", or "Systems" (potentially with leading or trailing whitespace) indicating that the product has a digital decoder of the given type.

    track-type For track-specific products, one of "K", "M", "C" (potentially with leading or trailing whitespace) indicating the type of track for which the product is intended.

    This vocabulary has four defined [32206]item types:

    https://md.example.com/loco Rolling stock with an engine

    https://md.example.com/passengers Passenger rolling stock

    https://md.example.com/track Track pieces

    https://md.example.com/lighting Equipment with lighting

    Each [32207]item that uses this vocabulary can be given one or more of these types, depending on what the product is.

    Thus, a locomotive might be marked up as:

    Name:
    Tank Locomotive (DB 80)
    Product code:
    33041
    Scale:
    HO
    Digital:
    Delta

    A turnout lantern retrofit kit might be marked up as:

    Name:
    Turnout Lantern Kit
    Product code:
    74470
    Purpose:
    For retrofitting 2 C Track turnouts.

    A passenger car with no lighting might be marked up as:

    Name:
    Express Train Passenger Car (DB Am 203)
    Product code:
    8710
    Scale:
    Z

    Great care is necessary when creating new vocabularies. Often, a hierarchical approach to types can be taken that results in a vocabulary where each item only ever has a single type, which is generally much simpler to manage.

    5.2.3 Names: the itemprop attribute

    (BUTTON) ✔MDN

    [32208]Global_attributes/itemprop

    Support in all current engines. FirefoxYesSafariYesChromeYes __________________________________________________________________

    Opera?EdgeYes __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    Every [32209]HTML element may have an [32210]itemprop attribute specified, if doing so [32211]adds one or more properties to one or more [32212]items (as defined below).

    The [32213]itemprop attribute, if specified, must have a value that is an [32214]unordered set of unique space-separated tokens none of which are [32215]identical to another token, representing the names of the name-value pairs that it adds. The attribute's value must have at least one token.

    Each token must be either: * If the item is a [32216]typed item: a defined property name allowed in this situation according to the specification that defines the [32217]relevant types for the item, or * A [32218]valid URL string that is an [32219]absolute URL defined as an item property name allowed in this situation by a vocabulary specification, or * A [32220]valid URL string that is an [32221]absolute URL, used as a proprietary item property name (i.e. one used by the author for private purposes, not defined in a public specification), or * If the item is not a [32222]typed item: a string that contains no U+002E FULL STOP characters (.) and no U+003A COLON characters (:), used as a proprietary item property name (i.e. one used by the author for private purposes, not defined in a public specification).

    Specifications that introduce [32223]defined property names must ensure all such property names contain no U+002E FULL STOP characters (.), no U+003A COLON characters (:), and no [32224]ASCII whitespace.

    The rules above disallow U+003A COLON characters (:) in non-URL values because otherwise they could not be distinguished from URLs. Values with U+002E FULL STOP characters (.) are reserved for future extensions. [32225]ASCII whitespace are disallowed because otherwise the values would be parsed as multiple tokens.

    When an element with an [32226]itemprop attribute [32227]adds a property to multiple [32228]items, the requirement above regarding the tokens applies for each [32229]item individually.

    The property names of an element are the tokens that the element's [32230]itemprop attribute is found to contain when its value is [32231]split on ASCII whitespace, with the order preserved but with duplicates removed (leaving only the first occurrence of each name).

    Within an [32232]item, the properties are unordered with respect to each other, except for properties with the same name, which are ordered in the order they are given by the algorithm that defines [32233]the properties of an item.

    In the following example, the "a" property has the values "1" and "2", in that order, but whether the "a" property comes before the "b" property or not is not important:

    1

    2

    test

    Thus, the following is equivalent:

    test

    1

    2

    As is the following:

    1

    test

    2

    And the following:

    1

    test

    2

    5.2.4 Values

    The property value of a name-value pair added by an element with an [32234]itemprop attribute is as given for the first matching case in the following list:

    If the element also has an [32235]itemscope attribute The value is the [32236]item created by the element.

    If the element is a [32237]meta element The value is the value of the element's [32238]content attribute, if any, or the empty string if there is no such attribute.

    If the element is an [32239]audio, [32240]embed, [32241]iframe, [32242]img, [32243]source, [32244]track, or [32245]video element The value is the result of [32246]encoding-parsing-and-serializing a URL given the element's src attribute's value, relative to the element's [32247]node document, at the time the attribute is set, or the empty string if there is no such attribute or the result is failure.

    If the element is an [32248]a, [32249]area, or [32250]link element The value is the result of [32251]encoding-parsing-and-serializing a URL given the element's href attribute's value, relative to the element's [32252]node document, at the time the attribute is set, or the empty string if there is no such attribute or the result is failure.

    If the element is an [32253]object element The value is the result of [32254]encoding-parsing-and-serializing a URL given the element's data attribute's value, relative to the element's [32255]node document, at the time the attribute is set, or the empty string if there is no such attribute or the result is failure.

    If the element is a [32256]data element The value is the value of the element's [32257]value attribute, if it has one, or the empty string otherwise.

    If the element is a [32258]meter element The value is the value of the element's [32259]value attribute, if it has one, or the empty string otherwise.

    If the element is a [32260]time element The value is the element's [32261]datetime value.

    Otherwise The value is the element's [32262]descendant text content.

    The URL property elements are the [32263]a, [32264]area, [32265]audio, [32266]embed, [32267]iframe, [32268]img, [32269]link, [32270]object, [32271]source, [32272]track, and [32273]video elements.

    If a property's [32274]value, as defined by the property's definition, is an [32275]absolute URL, the property must be specified using a [32276]URL property element.

    These requirements do not apply just because a property value happens to match the syntax for a URL. They only apply if the property is explicitly defined as taking such a value.

    For example, a book about the first moon landing could be called "mission:moon". A "title" property from a vocabulary that defines a title as being a string would not expect the title to be given in an [32277]a element, even though it looks like a [32278]URL. On the other hand, if there was a (rather narrowly scoped!) vocabulary for "books whose titles look like URLs" which had a "title" property defined to take a URL, then the property would expect the title to be given in an [32279]a element (or one of the other [32280]URL property elements), because of the requirement above.

    5.2.5 Associating names with items

    To find the properties of an item defined by the element root, the user agent must run the following steps. These steps are also used to flag [32281]microdata errors. 1. Let results, memory, and pending be empty lists of elements. 2. Add the element root to memory. 3. Add the child elements of root, if any, to pending. 4. If root has an [32282]itemref attribute, [32283]split the value of that itemref attribute on ASCII whitespace. For each resulting token ID, if there is an element in the [32284]tree of root with the [32285]ID ID, then add the first such element to pending. 5. While pending is not empty: 1. Remove an element from pending and let current be that element. 2. If current is already in memory, there is a [32286]microdata error; [32287]continue. 3. Add current to memory. 4. If current does not have an [32288]itemscope attribute, then: add all the child elements of current to pending. 5. If current has an [32289]itemprop attribute specified and has one or more [32290]property names, then add current to results. 6. Sort results in [32291]tree order. 7. Return results.

    A document must not contain any [32292]items for which the algorithm to find [32293]the properties of an item finds any microdata errors.

    An [32294]item is a top-level microdata item if its element does not have an [32295]itemprop attribute.

    All [32296]itemref attributes in a [32297]Document must be such that there are no cycles in the graph formed from representing each [32298]item in the [32299]Document as a node in the graph and each [32300]property of an item whose [32301]value is another item as an edge in the graph connecting those two items.

    A document must not contain any elements that have an [32302]itemprop attribute that would not be found to be a property of any of the [32303]items in that document were their [32304]properties all to be determined.

    In this example, a single license statement is applied to two works, using [32305]itemref from the items representing the works: Photo gallery

    My photos

    A white house, boarded up,
sits in a forest.
    The house I found.
    Outside the house is a ma
ilbox. It has a leaflet inside.
    The mailbox.

    The above results in two items with the type "http://n.whatwg.org/work", one with:

    work images/house.jpeg

    title The house I found.

    license http://www.opensource.org/licenses/mit-license.php

    ...and one with:

    work images/mailbox.jpeg

    title The mailbox.

    license http://www.opensource.org/licenses/mit-license.php

    5.2.6 Microdata and other namespaces

    Currently, the [32306]itemscope, [32307]itemprop, and other microdata attributes are only defined for [32308]HTML elements. This means that attributes with the literal names "itemscope", "itemprop", etc, do not cause microdata processing to occur on elements in other namespaces, such as SVG.

    Thus, in the following example there is only one item, not two.

    5.3 Sample microdata vocabularies

    The vocabularies in this section are primarily intended to demonstrate how a vocabulary is specified, though they are also usable in their own right.

    5.3.1 vCard

    An item with the [32310]item type http://microformats.org/profile/hcard represents a person's or organization's contact information.

    This vocabulary does not [32311]support global identifiers for items.

    The following are the type's [32312]defined property names. They are based on the vocabulary defined in vCard Format Specification (vCard) and its extensions, where more information on how to interpret the values can be found. [32313][RFC6350]

    kind Describes what kind of contact the item represents.

    The [32314]value must be text that is [32315]identical to one of the [32316]kind strings.

    A single property with the name [32317]kind may be present within each [32318]item with the type [32319]http://microformats.org/profile/hcard.

    fn Gives the formatted text corresponding to the name of the person or organization.

    The [32320]value must be text.

    Exactly one property with the name [32321]fn must be present within each [32322]item with the type [32323]http://microformats.org/profile/hcard.

    n Gives the structured name of the person or organization.

    The [32324]value must be an [32325]item with zero or more of each of the [32326]family-name, [32327]given-name, [32328]additional-name, [32329]honorific-prefix, and [32330]honorific-suffix properties.

    Exactly one property with the name [32331]n must be present within each [32332]item with the type [32333]http://microformats.org/profile/hcard.

    family-name (inside [32334]n) Gives the family name of the person, or the full name of the organization.

    The [32335]value must be text.

    Any number of properties with the name [32336]family-name may be present within the [32337]item that forms the [32338]value of the [32339]n property of an [32340]item with the type [32341]http://microformats.org/profile/hcard.

    given-name (inside [32342]n) Gives the given-name of the person.

    The [32343]value must be text.

    Any number of properties with the name [32344]given-name may be present within the [32345]item that forms the [32346]value of the [32347]n property of an [32348]item with the type [32349]http://microformats.org/profile/hcard.

    additional-name (inside [32350]n) Gives the any additional names of the person.

    The [32351]value must be text.

    Any number of properties with the name [32352]additional-name may be present within the [32353]item that forms the [32354]value of the [32355]n property of an [32356]item with the type [32357]http://microformats.org/profile/hcard.

    honorific-prefix (inside [32358]n) Gives the honorific prefix of the person.

    The [32359]value must be text.

    Any number of properties with the name [32360]honorific-prefix may be present within the [32361]item that forms the [32362]value of the [32363]n property of an [32364]item with the type [32365]http://microformats.org/profile/hcard.

    honorific-suffix (inside [32366]n) Gives the honorific suffix of the person.

    The [32367]value must be text.

    Any number of properties with the name [32368]honorific-suffix may be present within the [32369]item that forms the [32370]value of the [32371]n property of an [32372]item with the type [32373]http://microformats.org/profile/hcard.

    nickname Gives the nickname of the person or organization.

    The nickname is the descriptive name given instead of or in addition to the one belonging to a person, place, or thing. It can also be used to specify a familiar form of a proper name specified by the [32374]fn or [32375]n properties.

    The [32376]value must be text.

    Any number of properties with the name [32377]nickname may be present within each [32378]item with the type [32379]http://microformats.org/profile/hcard.

    photo Gives a photograph of the person or organization.

    The [32380]value must be an [32381]absolute URL.

    Any number of properties with the name [32382]photo may be present within each [32383]item with the type [32384]http://microformats.org/profile/hcard.

    bday Gives the birth date of the person or organization.

    The [32385]value must be a [32386]valid date string.

    A single property with the name [32387]bday may be present within each [32388]item with the type [32389]http://microformats.org/profile/hcard.

    anniversary Gives the birth date of the person or organization.

    The [32390]value must be a [32391]valid date string.

    A single property with the name [32392]anniversary may be present within each [32393]item with the type [32394]http://microformats.org/profile/hcard.

    sex Gives the biological sex of the person.

    The [32395]value must be one of F, meaning "female", M, meaning "male", N, meaning "none or not applicable", O, meaning "other", or U, meaning "unknown".

    A single property with the name [32396]sex may be present within each [32397]item with the type [32398]http://microformats.org/profile/hcard.

    gender-identity Gives the gender identity of the person.

    The [32399]value must be text.

    A single property with the name [32400]gender-identity may be present within each [32401]item with the type [32402]http://microformats.org/profile/hcard.

    adr Gives the delivery address of the person or organization.

    The [32403]value must be an [32404]item with zero or more [32405]type, [32406]post-office-box, [32407]extended-address, and [32408]street-address properties, and optionally a [32409]locality property, optionally a [32410]region property, optionally a [32411]postal-code property, and optionally a [32412]country-name property.

    If no [32413]type properties are present within an [32414]item that forms the [32415]value of an [32416]adr property of an [32417]item with the type [32418]http://microformats.org/profile/hcard, then the [32419]address type string [32420]work is implied.

    Any number of properties with the name [32421]adr may be present within each [32422]item with the type [32423]http://microformats.org/profile/hcard.

    type (inside [32424]adr) Gives the type of delivery address.

    The [32425]value must be text that is [32426]identical to one of the [32427]address type strings.

    Any number of properties with the name [32428]type may be present within the [32429]item that forms the [32430]value of an [32431]adr property of an [32432]item with the type [32433]http://microformats.org/profile/hcard, but within each such [32434]adr property [32435]item there must only be one [32436]type property per distinct value.

    post-office-box (inside [32437]adr) Gives the post office box component of the delivery address of the person or organization.

    The [32438]value must be text.

    Any number of properties with the name [32439]post-office-box may be present within the [32440]item that forms the [32441]value of an [32442]adr property of an [32443]item with the type [32444]http://microformats.org/profile/hcard.

    vCard urges authors not to use this field.

    extended-address (inside [32445]adr) Gives an additional component of the delivery address of the person or organization.

    The [32446]value must be text.

    Any number of properties with the name [32447]extended-address may be present within the [32448]item that forms the [32449]value of an [32450]adr property of an [32451]item with the type [32452]http://microformats.org/profile/hcard.

    vCard urges authors not to use this field.

    street-address (inside [32453]adr) Gives the street address component of the delivery address of the person or organization.

    The [32454]value must be text.

    Any number of properties with the name [32455]street-address may be present within the [32456]item that forms the [32457]value of an [32458]adr property of an [32459]item with the type [32460]http://microformats.org/profile/hcard.

    locality (inside [32461]adr) Gives the locality component (e.g. city) of the delivery address of the person or organization.

    The [32462]value must be text.

    A single property with the name [32463]locality may be present within the [32464]item that forms the [32465]value of an [32466]adr property of an [32467]item with the type [32468]http://microformats.org/profile/hcard.

    region (inside [32469]adr) Gives the region component (e.g. state or province) of the delivery address of the person or organization.

    The [32470]value must be text.

    A single property with the name [32471]region may be present within the [32472]item that forms the [32473]value of an [32474]adr property of an [32475]item with the type [32476]http://microformats.org/profile/hcard.

    postal-code (inside [32477]adr) Gives the postal code component of the delivery address of the person or organization.

    The [32478]value must be text.

    A single property with the name [32479]postal-code may be present within the [32480]item that forms the [32481]value of an [32482]adr property of an [32483]item with the type [32484]http://microformats.org/profile/hcard.

    country-name (inside [32485]adr) Gives the country name component of the delivery address of the person or organization.

    The [32486]value must be text.

    A single property with the name [32487]country-name may be present within the [32488]item that forms the [32489]value of an [32490]adr property of an [32491]item with the type [32492]http://microformats.org/profile/hcard.

    tel Gives the telephone number of the person or organization.

    The [32493]value must be either text that can be interpreted as a telephone number as defined in the CCITT specifications E.163 and X.121, or an [32494]item with zero or more [32495]type properties and exactly one [32496]value property. [32497][E163] [32498][X121]

    If no [32499]type properties are present within an [32500]item that forms the [32501]value of a [32502]tel property of an [32503]item with the type [32504]http://microformats.org/profile/hcard, or if the [32505]value of such a [32506]tel property is text, then the [32507]telephone type string [32508]voice is implied.

    Any number of properties with the name [32509]tel may be present within each [32510]item with the type [32511]http://microformats.org/profile/hcard.

    type (inside [32512]tel) Gives the type of telephone number.

    The [32513]value must be text that is [32514]identical to one of the [32515]telephone type strings.

    Any number of properties with the name [32516]type may be present within the [32517]item that forms the [32518]value of a [32519]tel property of an [32520]item with the type [32521]http://microformats.org/profile/hcard, but within each such [32522]tel property [32523]item there must only be one [32524]type property per distinct value.

    value (inside [32525]tel) Gives the actual telephone number of the person or organization.

    The [32526]value must be text that can be interpreted as a telephone number as defined in the CCITT specifications E.163 and X.121. [32527][E163] [32528][X121]

    Exactly one property with the name [32529]value must be present within the [32530]item that forms the [32531]value of a [32532]tel property of an [32533]item with the type [32534]http://microformats.org/profile/hcard.

    email Gives the email address of the person or organization.

    The [32535]value must be text.

    Any number of properties with the name [32536]email may be present within each [32537]item with the type [32538]http://microformats.org/profile/hcard.

    impp Gives a [32539]URL for instant messaging and presence protocol communications with the person or organization.

    The [32540]value must be an [32541]absolute URL.

    Any number of properties with the name [32542]impp may be present within each [32543]item with the type [32544]http://microformats.org/profile/hcard.

    lang Gives a language understood by the person or organization.

    The [32545]value must be a valid BCP 47 language tag. [32546][BCP47]

    Any number of properties with the name [32547]lang may be present within each [32548]item with the type [32549]http://microformats.org/profile/hcard.

    tz Gives the time zone of the person or organization.

    The [32550]value must be text and must match the following syntax:

    1. Either a U+002B PLUS SIGN character (+) or a U+002D HYPHEN-MINUS character (-). 2. A [32551]valid non-negative integer that is exactly two digits long and that represents a number in the range 00..23. 3. A U+003A COLON character (:). 4. A [32552]valid non-negative integer that is exactly two digits long and that represents a number in the range 00..59.

    Any number of properties with the name [32553]tz may be present within each [32554]item with the type [32555]http://microformats.org/profile/hcard.

    geo Gives the geographical position of the person or organization.

    The [32556]value must be text and must match the following syntax:

    1. Optionally, either a U+002B PLUS SIGN character (+) or a U+002D HYPHEN-MINUS character (-). 2. One or more [32557]ASCII digits. 3. Optionally*, a U+002E FULL STOP character (.) followed by one or more [32558]ASCII digits. 4. A U+003B SEMICOLON character (;). 5. Optionally, either a U+002B PLUS SIGN character (+) or a U+002D HYPHEN-MINUS character (-). 6. One or more [32559]ASCII digits. 7. Optionally*, a U+002E FULL STOP character (.) followed by one or more [32560]ASCII digits.

    The optional components marked with an asterisk (*) should be included, and should have six digits each.

    The value specifies latitude and longitude, in that order (i.e., "LAT LON" ordering), in decimal degrees. The longitude represents the location east and west of the prime meridian as a positive or negative real number, respectively. The latitude represents the location north and south of the equator as a positive or negative real number, respectively.

    Any number of properties with the name [32561]geo may be present within each [32562]item with the type [32563]http://microformats.org/profile/hcard.

    title Gives the job title, functional position or function of the person or organization.

    The [32564]value must be text.

    Any number of properties with the name [32565]title may be present within each [32566]item with the type [32567]http://microformats.org/profile/hcard.

    role Gives the role, occupation, or business category of the person or organization.

    The [32568]value must be text.

    Any number of properties with the name [32569]role may be present within each [32570]item with the type [32571]http://microformats.org/profile/hcard.

    logo Gives the logo of the person or organization.

    The [32572]value must be an [32573]absolute URL.

    Any number of properties with the name [32574]logo may be present within each [32575]item with the type [32576]http://microformats.org/profile/hcard.

    agent Gives the contact information of another person who will act on behalf of the person or organization.

    The [32577]value must be either an [32578]item with the type [32579]http://microformats.org/profile/hcard, or an [32580]absolute URL, or text.

    Any number of properties with the name [32581]agent may be present within each [32582]item with the type [32583]http://microformats.org/profile/hcard.

    org Gives the name and units of the organization.

    The [32584]value must be either text or an [32585]item with one [32586]organization-name property and zero or more [32587]organization-unit properties.

    Any number of properties with the name [32588]org may be present within each [32589]item with the type [32590]http://microformats.org/profile/hcard.

    organization-name (inside [32591]org) Gives the name of the organization.

    The [32592]value must be text.

    Exactly one property with the name [32593]organization-name must be present within the [32594]item that forms the [32595]value of an [32596]org property of an [32597]item with the type [32598]http://microformats.org/profile/hcard.

    organization-unit (inside [32599]org) Gives the name of the organization unit.

    The [32600]value must be text.

    Any number of properties with the name [32601]organization-unit may be present within the [32602]item that forms the [32603]value of the [32604]org property of an [32605]item with the type [32606]http://microformats.org/profile/hcard.

    member Gives a [32607]URL that represents a member of the group.

    The [32608]value must be an [32609]absolute URL.

    Any number of properties with the name [32610]member may be present within each [32611]item with the type [32612]http://microformats.org/profile/hcard if the [32613]item also has a property with the name [32614]kind whose value is "[32615]group".

    related Gives a relationship to another entity.

    The [32616]value must be an [32617]item with one [32618]url property and one [32619]rel properties.

    Any number of properties with the name [32620]related may be present within each [32621]item with the type [32622]http://microformats.org/profile/hcard.

    url (inside [32623]related) Gives the [32624]URL for the related entity.

    The [32625]value must be an [32626]absolute URL.

    Exactly one property with the name [32627]url must be present within the [32628]item that forms the [32629]value of a [32630]related property of an [32631]item with the type [32632]http://microformats.org/profile/hcard.

    rel (inside [32633]related) Gives the relationship between the entity and the related entity.

    The [32634]value must be text that is [32635]identical to one of the [32636]relationship strings.

    Exactly one property with the name [32637]rel must be present within the [32638]item that forms the [32639]value of a [32640]related property of an [32641]item with the type [32642]http://microformats.org/profile/hcard.

    categories Gives the name of a category or tag that the person or organization could be classified as.

    The [32643]value must be text.

    Any number of properties with the name [32644]categories may be present within each [32645]item with the type [32646]http://microformats.org/profile/hcard.

    note Gives supplemental information or a comment about the person or organization.

    The [32647]value must be text.

    Any number of properties with the name [32648]note may be present within each [32649]item with the type [32650]http://microformats.org/profile/hcard.

    rev Gives the revision date and time of the contact information.

    The [32651]value must be text that is a [32652]valid global date and time string.

    The value distinguishes the current revision of the information for other renditions of the information.

    Any number of properties with the name [32653]rev may be present within each [32654]item with the type [32655]http://microformats.org/profile/hcard.

    sound Gives a sound file relating to the person or organization.

    The [32656]value must be an [32657]absolute URL.

    Any number of properties with the name [32658]sound may be present within each [32659]item with the type [32660]http://microformats.org/profile/hcard.

    uid Gives a globally unique identifier corresponding to the person or organization.

    The [32661]value must be text.

    A single property with the name [32662]uid may be present within each [32663]item with the type [32664]http://microformats.org/profile/hcard.

    url Gives a [32665]URL relating to the person or organization.

    The [32666]value must be an [32667]absolute URL.

    Any number of properties with the name [32668]url may be present within each [32669]item with the type [32670]http://microformats.org/profile/hcard.

    The kind strings are:

    individual Indicates a single entity (e.g. a person).

    group Indicates multiple entities (e.g. a mailing list).

    org Indicates a single entity that is not a person (e.g. a company).

    location Indicates a geographical place (e.g. an office building).

    The address type strings are:

    home Indicates a delivery address for a residence.

    work Indicates a delivery address for a place of work.

    The telephone type strings are:

    home Indicates a residential number.

    work Indicates a telephone number for a place of work.

    text Indicates that the telephone number supports text messages (SMS).

    voice Indicates a voice telephone number.

    fax Indicates a facsimile telephone number.

    cell Indicates a cellular telephone number.

    video Indicates a video conferencing telephone number.

    pager Indicates a paging device telephone number.

    textphone Indicates a telecommunication device for people with hearing or speech difficulties.

    The relationship strings are:

    emergency An emergency contact.

    agent Another entity that acts on behalf of this entity.

    contact acquaintance friend met worker colleague resident neighbor child parent sibling spouse kin muse crush date sweetheart me Has the meaning defined in XFN. [32671][XFN]

    5.3.1.1 Conversion to vCard

    Given a list of nodes nodes in a [32672]Document, a user agent must run the following algorithm to extract any vCard data represented by those nodes (only the first vCard is returned): 1. If none of the nodes in nodes are [32673]items with the [32674]item type [32675]http://microformats.org/profile/hcard, then there is no vCard. Abort the algorithm, returning nothing. 2. Let node be the first node in nodes that is an [32676]item with the [32677]item type [32678]http://microformats.org/profile/hcard. 3. Let output be an empty string. 4. [32679]Add a vCard line with the type "BEGIN" and the value "VCARD" to output. 5. [32680]Add a vCard line with the type "PROFILE" and the value "VCARD" to output. 6. [32681]Add a vCard line with the type "VERSION" and the value "4.0" to output. 7. [32682]Add a vCard line with the type "SOURCE" and the result of [32683]escaping the vCard text string that is the document's [32684]URL as the value to output. 8. If [32685]the title element is not null, [32686]add a vCard line with the type "NAME" and with the result of [32687]escaping the vCard text string obtained from [32688]the title element's [32689]descendant text content as the value to output. 9. Let sex be the empty string. 10. Let gender-identity be the empty string. 11. For each element element that is [32690]a property of the item node: for each name name in element's [32691]property names, run the following substeps: 1. Let parameters be an empty set of name-value pairs. 2. Run the appropriate set of substeps from the following list. The steps will set a variable value, which is used in the next step.

    If the property's [32692]value is an [32693]item subitem and name is [32694]n

    1. Let value be the empty string. 2. Append to value the result of [32695]collecting the first vCard subproperty named [32696]family-name in subitem. 3. Append a U+003B SEMICOLON character (;) to value. 4. Append to value the result of [32697]collecting the first vCard subproperty named [32698]given-name in subitem. 5. Append a U+003B SEMICOLON character (;) to value. 6. Append to value the result of [32699]collecting the first vCard subproperty named [32700]additional-name in subitem. 7. Append a U+003B SEMICOLON character (;) to value. 8. Append to value the result of [32701]collecting the first vCard subproperty named [32702]honorific-prefix in subitem. 9. Append a U+003B SEMICOLON character (;) to value. 10. Append to value the result of [32703]collecting the first vCard subproperty named [32704]honorific-suffix in subitem.

    If the property's [32705]value is an [32706]item subitem and name is [32707]adr

    1. Let value be the empty string. 2. Append to value the result of [32708]collecting vCard subproperties named [32709]post-office-box in subitem. 3. Append a U+003B SEMICOLON character (;) to value. 4. Append to value the result of [32710]collecting vCard subproperties named [32711]extended-address in subitem. 5. Append a U+003B SEMICOLON character (;) to value. 6. Append to value the result of [32712]collecting vCard subproperties named [32713]street-address in subitem. 7. Append a U+003B SEMICOLON character (;) to value. 8. Append to value the result of [32714]collecting the first vCard subproperty named [32715]locality in subitem. 9. Append a U+003B SEMICOLON character (;) to value. 10. Append to value the result of [32716]collecting the first vCard subproperty named [32717]region in subitem. 11. Append a U+003B SEMICOLON character (;) to value. 12. Append to value the result of [32718]collecting the first vCard subproperty named [32719]postal-code in subitem. 13. Append a U+003B SEMICOLON character (;) to value. 14. Append to value the result of [32720]collecting the first vCard subproperty named [32721]country-name in subitem. 15. If there is a property named [32722]type in subitem, and the first such property has a [32723]value that is not an [32724]item and whose value consists only of [32725]ASCII alphanumerics, then add a parameter named "TYPE" whose value is the [32726]value of that property to parameters.

    If the property's [32727]value is an [32728]item subitem and name is [32729]org

    1. Let value be the empty string. 2. Append to value the result of [32730]collecting the first vCard subproperty named [32731]organization-name in subitem. 3. For each property named [32732]organization-unit in subitem, run the following steps: 1. If the [32733]value of the property is an [32734]item, then skip this property. 2. Append a U+003B SEMICOLON character (;) to value. 3. Append the result of [32735]escaping the vCard text string given by the [32736]value of the property to value.

    If the property's [32737]value is an [32738]item subitem with the [32739]item type [32740]http://microformats.org/profile/hcard and name is [32741]related

    1. Let value be the empty string. 2. If there is a property named [32742]url in subitem, and its element is a [32743]URL property element, then append the result of [32744]escaping the vCard text string given by the [32745]value of the first such property to value, and add a parameter with the name "VALUE" and the value "URI" to parameters. 3. If there is a property named [32746]rel in subitem, and the first such property has a [32747]value that is not an [32748]item and whose value consists only of [32749]ASCII alphanumerics, then add a parameter named "RELATION" whose value is the [32750]value of that property to parameters.

    If the property's [32751]value is an [32752]item and name is none of the above

    1. Let value be the result of [32753]collecting the first vCard subproperty named value in subitem. 2. If there is a property named type in subitem, and the first such property has a [32754]value that is not an [32755]item and whose value consists only of [32756]ASCII alphanumerics, then add a parameter named "TYPE" whose value is the [32757]value of that property to parameters.

    If the property's [32758]value is not an [32759]item and its name is [32760]sex If this is the first such property to be found, set sex to the property's [32761]value.

    If the property's [32762]value is not an [32763]item and its name is [32764]gender-identity If this is the first such property to be found, set gender-identity to the property's [32765]value.

    Otherwise (the property's [32766]value is not an [32767]item)

    1. Let value be the property's [32768]value. 2. If element is one of the [32769]URL property elements, add a parameter with the name "VALUE" and the value "URI" to parameters. 3. Otherwise, if name is [32770]bday or [32771]anniversary and the value is a [32772]valid date string, add a parameter with the name "VALUE" and the value "DATE" to parameters. 4. Otherwise, if name is [32773]rev and the value is a [32774]valid global date and time string, add a parameter with the name "VALUE" and the value "DATE-TIME" to parameters. 5. Prefix every U+005C REVERSE SOLIDUS character (\) in value with another U+005C REVERSE SOLIDUS character (\). 6. Prefix every U+002C COMMA character (,) in value with a U+005C REVERSE SOLIDUS character (\). 7. Unless name is [32775]geo, prefix every U+003B SEMICOLON character (;) in value with a U+005C REVERSE SOLIDUS character (\). 8. Replace every U+000D CARRIAGE RETURN U+000A LINE FEED character pair (CRLF) in value with a U+005C REVERSE SOLIDUS character (\) followed by a U+006E LATIN SMALL LETTER N character (n). 9. Replace every remaining U+000D CARRIAGE RETURN (CR) or U+000A LINE FEED (LF) character in value with a U+005C REVERSE SOLIDUS character (\) followed by a U+006E LATIN SMALL LETTER N character (n).

    3. [32776]Add a vCard line with the type name, the parameters parameters, and the value value to output. 12. If either sex or gender-identity has a value that is not the empty string, [32777]add a vCard line with the type "GENDER" and the value consisting of the concatenation of sex, a U+003B SEMICOLON character (;), and gender-identity to output. 13. [32778]Add a vCard line with the type "END" and the value "VCARD" to output.

    When the above algorithm says that the user agent is to add a vCard line consisting of a type type, optionally some parameters, and a value value to a string output, it must run the following steps: 1. Let line be an empty string. 2. Append type, [32779]converted to ASCII uppercase, to line. 3. If there are any parameters, then for each parameter, in the order that they were added, run these substeps: 1. Append a U+003B SEMICOLON character (;) to line. 2. Append the parameter's name to line. 3. Append a U+003D EQUALS SIGN character (=) to line. 4. Append the parameter's value to line. 4. Append a U+003A COLON character (:) to line. 5. Append value to line. 6. Let maximum length be 75. 7. While line's [32780]code point length is greater than maximum length: 1. Append the first maximum length code points of line to output. 2. Remove the first maximum length code points from line. 3. Append a U+000D CARRIAGE RETURN character (CR) to output. 4. Append a U+000A LINE FEED character (LF) to output. 5. Append a U+0020 SPACE character to output. 6. Let maximum length be 74. 8. Append (what remains of) line to output. 9. Append a U+000D CARRIAGE RETURN character (CR) to output. 10. Append a U+000A LINE FEED character (LF) to output.

    When the steps above require the user agent to obtain the result of collecting vCard subproperties named subname in subitem, the user agent must run the following steps: 1. Let value be the empty string. 2. For each property named subname in the item subitem, run the following substeps: 1. If the [32781]value of the property is itself an [32782]item, then skip this property. 2. If this is not the first property named subname in subitem (ignoring any that were skipped by the previous step), then append a U+002C COMMA character (,) to value. 3. Append the result of [32783]escaping the vCard text string given by the [32784]value of the property to value. 3. Return value.

    When the steps above require the user agent to obtain the result of collecting the first vCard subproperty named subname in subitem, the user agent must run the following steps: 1. If there are no properties named subname in subitem, then return the empty string. 2. If the [32785]value of the first property named subname in subitem is an [32786]item, then return the empty string. 3. Return the result of [32787]escaping the vCard text string given by the [32788]value of the first property named subname in subitem.

    When the above algorithms say the user agent is to escape the vCard text string value, the user agent must use the following steps: 1. Prefix every U+005C REVERSE SOLIDUS character (\) in value with another U+005C REVERSE SOLIDUS character (\). 2. Prefix every U+002C COMMA character (,) in value with a U+005C REVERSE SOLIDUS character (\). 3. Prefix every U+003B SEMICOLON character (;) in value with a U+005C REVERSE SOLIDUS character (\). 4. Replace every U+000D CARRIAGE RETURN U+000A LINE FEED character pair (CRLF) in value with a U+005C REVERSE SOLIDUS character (\) followed by a U+006E LATIN SMALL LETTER N character (n). 5. Replace every remaining U+000D CARRIAGE RETURN (CR) or U+000A LINE FEED (LF) character in value with a U+005C REVERSE SOLIDUS character (\) followed by a U+006E LATIN SMALL LETTER N character (n). 6. Return the mutated value.

    This algorithm can generate invalid vCard output, if the input does not conform to the rules described for the [32789]http://microformats.org/profile/hcard [32790]item type and [32791]defined property names.

    5.3.1.2 Examples

    This section is non-normative.

    Here is a long example vCard for a fictional character called "Jack Bauer":

    Jack Bauer

    Counter-Terrorist Unit (Los Angeles Division)

    10201 W. Pico Blvd.
    Los Angeles, CA 90064
    United States
    34.052339;-118.410623

    Assorted Contact Methods

    Update! My new home phone number is 01632 960 123.

    The odd line wrapping is needed because newlines are meaningful in microdata: newlines would be preserved in a conversion to, for example, the vCard format.

    This example shows a site's contact details (using the [32792]address element) containing an address with two street components:

    Alfred Person
    1600 Amphitheatre Parkway
    Building 43, Second Floor
    Mountain View, CA 94043

    The vCard vocabulary can be used to just mark up people's names: George Washington

    This creates a single item with a two name-value pairs, one with the name "fn" and the value "George Washington", and the other with the name "n" and a second item as its value, the second item having the two name-value pairs "given-name" and "family-name" with the values "George" and "Washington" respectively. This is defined to map to the following vCard: BEGIN:VCARD PROFILE:VCARD VERSION:4.0 SOURCE:document's address FN:George Washington N:Washington;George
    END:VCARD

    5.3.2 vEvent

    An item with the [32793]item type http://microformats.org/profile/hcalendar#vevent represents an event.

    This vocabulary does not [32794]support global identifiers for items.

    The following are the type's [32795]defined property names. They are based on the vocabulary defined in Internet Calendaring and Scheduling Core Object Specification (iCalendar), where more information on how to interpret the values can be found. [32796][RFC5545]

    Only the parts of the iCalendar vocabulary relating to events are used here; this vocabulary cannot express a complete iCalendar instance.

    attach Gives the address of an associated document for the event.

    The [32797]value must be an [32798]absolute URL.

    Any number of properties with the name [32799]attach may be present within each [32800]item with the type [32801]http://microformats.org/profile/hcalendar#vevent.

    categories Gives the name of a category or tag that the event could be classified as.

    The [32802]value must be text.

    Any number of properties with the name [32803]categories may be present within each [32804]item with the type [32805]http://microformats.org/profile/hcalendar#vevent.

    class Gives the access classification of the information regarding the event.

    The [32806]value must be text with one of the following values:

    + public + private + confidential

    This is merely advisory and cannot be considered a confidentiality measure.

    A single property with the name [32807]class may be present within each [32808]item with the type [32809]http://microformats.org/profile/hcalendar#vevent.

    comment Gives a comment regarding the event.

    The [32810]value must be text.

    Any number of properties with the name [32811]comment may be present within each [32812]item with the type [32813]http://microformats.org/profile/hcalendar#vevent.

    description Gives a detailed description of the event.

    The [32814]value must be text.

    A single property with the name [32815]description may be present within each [32816]item with the type [32817]http://microformats.org/profile/hcalendar#vevent.

    geo Gives the geographical position of the event.

    The [32818]value must be text and must match the following syntax:

    1. Optionally, either a U+002B PLUS SIGN character (+) or a U+002D HYPHEN-MINUS character (-). 2. One or more [32819]ASCII digits. 3. Optionally*, a U+002E FULL STOP character (.) followed by one or more [32820]ASCII digits. 4. A U+003B SEMICOLON character (;). 5. Optionally, either a U+002B PLUS SIGN character (+) or a U+002D HYPHEN-MINUS character (-). 6. One or more [32821]ASCII digits. 7. Optionally*, a U+002E FULL STOP character (.) followed by one or more [32822]ASCII digits.

    The optional components marked with an asterisk (*) should be included, and should have six digits each.

    The value specifies latitude and longitude, in that order (i.e., "LAT LON" ordering), in decimal degrees. The longitude represents the location east and west of the prime meridian as a positive or negative real number, respectively. The latitude represents the location north and south of the equator as a positive or negative real number, respectively.

    A single property with the name [32823]geo may be present within each [32824]item with the type [32825]http://microformats.org/profile/hcalendar#vevent.

    location Gives the location of the event.

    The [32826]value must be text.

    A single property with the name [32827]location may be present within each [32828]item with the type [32829]http://microformats.org/profile/hcalendar#vevent.

    resources Gives a resource that will be needed for the event.

    The [32830]value must be text.

    Any number of properties with the name [32831]resources may be present within each [32832]item with the type [32833]http://microformats.org/profile/hcalendar#vevent.

    status Gives the confirmation status of the event.

    The [32834]value must be text with one of the following values:

    + tentative + confirmed + canceled

    A single property with the name [32835]status may be present within each [32836]item with the type [32837]http://microformats.org/profile/hcalendar#vevent.

    summary Gives a short summary of the event.

    The [32838]value must be text.

    User agents should replace U+000A LINE FEED (LF) characters in the [32839]value by U+0020 SPACE characters when using the value.

    A single property with the name [32840]summary may be present within each [32841]item with the type [32842]http://microformats.org/profile/hcalendar#vevent.

    dtend Gives the date and time by which the event ends.

    If the property with the name [32843]dtend is present within an [32844]item with the type [32845]http://microformats.org/profile/hcalendar#vevent that has a property with the name [32846]dtstart whose value is a [32847]valid date string, then the [32848]value of the property with the name [32849]dtend must be text that is a [32850]valid date string also. Otherwise, the [32851]value of the property must be text that is a [32852]valid global date and time string.

    In either case, the [32853]value be later in time than the value of the [32854]dtstart property of the same [32855]item.

    The time given by the [32856]dtend property is not inclusive. For day-long events, therefore, the [32857]dtend property's [32858]value will be the day after the end of the event.

    A single property with the name [32859]dtend may be present within each [32860]item with the type [32861]http://microformats.org/profile/hcalendar#vevent, so long as that [32862]http://microformats.org/profile/hcalendar#vevent does not have a property with the name [32863]duration.

    dtstart Gives the date and time at which the event starts.

    The [32864]value must be text that is either a [32865]valid date string or a [32866]valid global date and time string.

    Exactly one property with the name [32867]dtstart must be present within each [32868]item with the type [32869]http://microformats.org/profile/hcalendar#vevent.

    duration Gives the duration of the event.

    The [32870]value must be text that is a [32871]valid vevent duration string.

    The duration represented is the sum of all the durations represented by integers in the value.

    A single property with the name [32872]duration may be present within each [32873]item with the type [32874]http://microformats.org/profile/hcalendar#vevent, so long as that [32875]http://microformats.org/profile/hcalendar#vevent does not have a property with the name [32876]dtend.

    transp Gives whether the event is to be considered as consuming time on a calendar, for the purpose of free-busy time searches.

    The [32877]value must be text with one of the following values:

    + opaque + transparent

    A single property with the name [32878]transp may be present within each [32879]item with the type [32880]http://microformats.org/profile/hcalendar#vevent.

    contact Gives the contact information for the event.

    The [32881]value must be text.

    Any number of properties with the name [32882]contact may be present within each [32883]item with the type [32884]http://microformats.org/profile/hcalendar#vevent.

    url Gives a [32885]URL for the event.

    The [32886]value must be an [32887]absolute URL.

    A single property with the name [32888]url may be present within each [32889]item with the type [32890]http://microformats.org/profile/hcalendar#vevent.

    uid Gives a globally unique identifier corresponding to the event.

    The [32891]value must be text.

    A single property with the name [32892]uid may be present within each [32893]item with the type [32894]http://microformats.org/profile/hcalendar#vevent.

    exdate Gives a date and time at which the event does not occur despite the recurrence rules.

    The [32895]value must be text that is either a [32896]valid date string or a [32897]valid global date and time string.

    Any number of properties with the name [32898]exdate may be present within each [32899]item with the type [32900]http://microformats.org/profile/hcalendar#vevent.

    rdate Gives a date and time at which the event recurs.

    The [32901]value must be text that is one of the following:

    + A [32902]valid date string. + A [32903]valid global date and time string. + A [32904]valid global date and time string followed by a U+002F SOLIDUS character (/) followed by a second [32905]valid global date and time string representing a later time. + A [32906]valid global date and time string followed by a U+002F SOLIDUS character (/) followed by a [32907]valid vevent duration string.

    Any number of properties with the name [32908]rdate may be present within each [32909]item with the type [32910]http://microformats.org/profile/hcalendar#vevent.

    rrule Gives a rule for finding dates and times at which the event occurs.

    The [32911]value must be text that matches the RECUR value type defined in iCalendar. [32912][RFC5545]

    A single property with the name [32913]rrule may be present within each [32914]item with the type [32915]http://microformats.org/profile/hcalendar#vevent.

    created Gives the date and time at which the event information was first created in a calendaring system.

    The [32916]value must be text that is a [32917]valid global date and time string.

    A single property with the name [32918]created may be present within each [32919]item with the type [32920]http://microformats.org/profile/hcalendar#vevent.

    last-modified Gives the date and time at which the event information was last modified in a calendaring system.

    The [32921]value must be text that is a [32922]valid global date and time string.

    A single property with the name [32923]last-modified may be present within each [32924]item with the type [32925]http://microformats.org/profile/hcalendar#vevent.

    sequence Gives a revision number for the event information.

    The [32926]value must be text that is a [32927]valid non-negative integer.

    A single property with the name [32928]sequence may be present within each [32929]item with the type [32930]http://microformats.org/profile/hcalendar#vevent.

    A string is a valid vevent duration string if it matches the following pattern: 1. A U+0050 LATIN CAPITAL LETTER P character (P). 2. One of the following: + A [32931]valid non-negative integer followed by a U+0057 LATIN CAPITAL LETTER W character (W). The integer represents a duration of that number of weeks. + At least one, and possible both in this order, of the following: 1. A [32932]valid non-negative integer followed by a U+0044 LATIN CAPITAL LETTER D character (D). The integer represents a duration of that number of days. 2. A U+0054 LATIN CAPITAL LETTER T character (T) followed by any one of the following, or the first and second of the following in that order, or the second and third of the following in that order, or all three of the following in this order: 1. A [32933]valid non-negative integer followed by a U+0048 LATIN CAPITAL LETTER H character (H). The integer represents a duration of that number of hours. 2. A [32934]valid non-negative integer followed by a U+004D LATIN CAPITAL LETTER M character (M). The integer represents a duration of that number of minutes. 3. A [32935]valid non-negative integer followed by a U+0053 LATIN CAPITAL LETTER S character (S). The integer represents a duration of that number of seconds.

    5.3.2.1 Conversion to iCalendar

    Given a list of nodes nodes in a [32936]Document, a user agent must run the following algorithm to extract any vEvent data represented by those nodes: 1. If none of the nodes in nodes are [32937]items with the type [32938]http://microformats.org/profile/hcalendar#vevent, then there is no vEvent data. Abort the algorithm, returning nothing. 2. Let output be an empty string. 3. [32939]Add an iCalendar line with the type "BEGIN" and the value "VCALENDAR" to output. 4. [32940]Add an iCalendar line with the type "PRODID" and the value equal to a user-agent-specific string representing the user agent to output. 5. [32941]Add an iCalendar line with the type "VERSION" and the value "2.0" to output. 6. For each node node in nodes that is an [32942]item with the type [32943]http://microformats.org/profile/hcalendar#vevent, run the following steps: 1. [32944]Add an iCalendar line with the type "BEGIN" and the value "VEVENT" to output. 2. [32945]Add an iCalendar line with the type "DTSTAMP" and a value consisting of an iCalendar DATE-TIME string representing the current date and time, with the annotation "VALUE=DATE-TIME", to output. [32946][RFC5545] 3. For each element element that is [32947]a property of the item node: for each name name in element's [32948]property names, run the appropriate set of substeps from the following list:

    If the property's [32949]value is an [32950]item Skip the property.

    If the property is [32951]dtend If the property is [32952]dtstart If the property is [32953]exdate If the property is [32954]rdate If the property is [32955]created If the property is [32956]last-modified Let value be the result of stripping all U+002D HYPHEN-MINUS (-) and U+003A COLON (:) characters from the property's [32957]value.

    If the property's [32958]value is a [32959]valid date string then [32960]add an iCalendar line with the type name and the value value to output, with the annotation "VALUE=DATE".

    Otherwise, if the property's [32961]value is a [32962]valid global date and time string then [32963]add an iCalendar line with the type name and the value value to output, with the annotation "VALUE=DATE-TIME".

    Otherwise, skip the property.

    Otherwise [32964]Add an iCalendar line with the type name and the property's [32965]value to output.

    4. [32966]Add an iCalendar line with the type "END" and the value "VEVENT" to output. 7. [32967]Add an iCalendar line with the type "END" and the value "VCALENDAR" to output.

    When the above algorithm says that the user agent is to add an iCalendar line consisting of a type type, a value value, and optionally an annotation, to a string output, it must run the following steps: 1. Let line be an empty string. 2. Append type, [32968]converted to ASCII uppercase, to line. 3. If there is an annotation: 1. Append a U+003B SEMICOLON character (;) to line. 2. Append the annotation to line. 4. Append a U+003A COLON character (:) to line. 5. Prefix every U+005C REVERSE SOLIDUS character (\) in value with another U+005C REVERSE SOLIDUS character (\). 6. Prefix every U+002C COMMA character (,) in value with a U+005C REVERSE SOLIDUS character (\). 7. Prefix every U+003B SEMICOLON character (;) in value with a U+005C REVERSE SOLIDUS character (\). 8. Replace every U+000D CARRIAGE RETURN U+000A LINE FEED character pair (CRLF) in value with a U+005C REVERSE SOLIDUS character (\) followed by a U+006E LATIN SMALL LETTER N character (n). 9. Replace every remaining U+000D CARRIAGE RETURN (CR) or U+000A LINE FEED (LF) character in value with a U+005C REVERSE SOLIDUS character (\) followed by a U+006E LATIN SMALL LETTER N character (n). 10. Append value to line. 11. Let maximum length be 75. 12. While line's [32969]code point length is greater than maximum length: 1. Append the first maximum length code points of line to output. 2. Remove the first maximum length code points from line. 3. Append a U+000D CARRIAGE RETURN character (CR) to output. 4. Append a U+000A LINE FEED character (LF) to output. 5. Append a U+0020 SPACE character to output. 6. Let maximum length be 74. 13. Append (what remains of) line to output. 14. Append a U+000D CARRIAGE RETURN character (CR) to output. 15. Append a U+000A LINE FEED character (LF) to output.

    This algorithm can generate invalid iCalendar output, if the input does not conform to the rules described for the [32970]http://microformats.org/profile/hcalendar#vevent [32971]item type and [32972]defined property names.

    5.3.2.2 Examples

    This section is non-normative.

    Here is an example of a page that uses the vEvent vocabulary to mark up an event: ...

    Bluesday Tuesday: Money Road

    ... (until ) ... ...

    Location: The RoadHouse

    ...

    ...

    The getCalendar() function is left as an exercise for the reader.

    The same page could offer some markup, such as the following, for copy-and-pasting into blogs:

    Iʼm going to Bluesday Tuesday: Money Road, to , at The RoadHouse!

    .

    5.3.3 Licensing works

    An item with the [32973]item type http://n.whatwg.org/work represents a work (e.g. an article, an image, a video, a song, etc.). This type is primarily intended to allow authors to include licensing information for works.

    The following are the type's [32974]defined property names.

    work Identifies the work being described.

    The [32975]value must be an [32976]absolute URL.

    Exactly one property with the name [32977]work must be present within each [32978]item with the type [32979]http://n.whatwg.org/work.

    title Gives the name of the work.

    A single property with the name [32980]title may be present within each [32981]item with the type [32982]http://n.whatwg.org/work.

    author Gives the name or contact information of one of the authors or creators of the work.

    The [32983]value must be either an [32984]item with the type [32985]http://microformats.org/profile/hcard, or text.

    Any number of properties with the name [32986]author may be present within each [32987]item with the type [32988]http://n.whatwg.org/work.

    license Identifies one of the licenses under which the work is available.

    The [32989]value must be an [32990]absolute URL.

    Any number of properties with the name [32991]license may be present within each [32992]item with the type [32993]http://n.whatwg.org/work.

    5.3.3.1 Examples

    This section is non-normative.

    This example shows an embedded image entitled My Pond, licensed under the Creative Commons Attribution-Share Alike 4.0 International License and the MIT license simultaneously.

    My Pond

    Licensed under the Creative Commons Attribution-Share Alike 4.0 International License and the MIT license.

    5.4 Converting HTML to other formats

    5.4.1 JSON

    Given a list of nodes nodes in a [32994]Document, a user agent must run the following algorithm to extract the microdata from those nodes into a JSON form: 1. Let result be an empty object. 2. Let items be an empty array. 3. For each node in nodes, check if the element is a [32995]top-level microdata item, and if it is then [32996]get the object for that element and add it to items. 4. Add an entry to result called "items" whose value is the array items. 5. Return the result of serializing result to JSON in the shortest possible way (meaning no whitespace between tokens, no unnecessary zero digits in numbers, and only using Unicode escapes in strings for characters that do not have a dedicated escape sequence), and with a lowercase "e" used, when appropriate, in the representation of any numbers. [32997][JSON]

    This algorithm returns an object with a single property that is an array, instead of just returning an array, so that it is possible to extend the algorithm in the future if necessary.

    When the user agent is to get the object for an item item, optionally with a list of elements memory, it must run the following substeps: 1. Let result be an empty object. 2. If no memory was passed to the algorithm, let memory be an empty list. 3. Add item to memory. 4. If the item has any [32998]item types, add an entry to result called "type" whose value is an array listing the [32999]item types of item, in the order they were specified on the [33000]itemtype attribute. 5. If the item has a [33001]global identifier, add an entry to result called "id" whose value is the [33002]global identifier of item. 6. Let properties be an empty object. 7. For each element element that has one or more [33003]property names and is one of [33004]the properties of the item item, in the order those elements are given by the algorithm that returns [33005]the properties of an item, run the following substeps: 1. Let value be the [33006]property value of element. 2. If value is an [33007]item, then: If value is in memory, then let value be the string "ERROR". Otherwise, [33008]get the object for value, passing a copy of memory, and then replace value with the object returned from those steps. 3. For each name name in element's [33009]property names, run the following substeps: 1. If there is no entry named name in properties, then add an entry named name to properties whose value is an empty array. 2. Append value to the entry named name in properties. 8. Add an entry to result called "properties" whose value is the object properties. 9. Return result.

    For example, take this markup: My Blog

    Progress report

    All in all, heʼs doing well with his swim lessons. The biggest thing was he had trouble putting his head in, but we got it down.

    Comments

    Posted by: Greg

    < /p>

    Ha!

    Posted by: Charlotte

    When you say "we got it down"...

    It would be turned into the following JSON by the algorithm above (supposing that the page's URL was https://blog.example.com/progress-report): { "items": [ { "type": [ "http://schema.org/BlogPosting" ], "properties": { "headline": [ "Progress report" ], "datePublished": [ "2013-08-29" ], "url": [ "https://blog.example.com/progress-report?comments=0" ], "comment": [ { "type": [ "http://schema.org/UserComments" ], "properties": { "url": [ "https://blog.example.com/progress-report#c1" ], "creator": [ { "type": [ "http://schema.org/Person" ], "properties": { "name": [ "Greg" ] } } ], "commentTime": [ "2013-08-29" ] } }, { "type": [ "http://schema.org/UserComments" ], "properties": { "url": [ "https://blog.example.com/progress-report#c2" ], "creator": [ { "type": [ "http://schema.org/Person" ], "properties": { "name": [ "Charlotte" ] } } ], "commentTime": [ "2013-08-29" ] } } ] } } ] }

    6 User interaction

    6.1 The [33010]hidden attribute

    (BUTTON) ⚠MDN

    [33011]Global_attributes/hidden

    Support in one engine only. FirefoxNoSafariNoChrome102+ __________________________________________________________________

    OperaNoEdge102+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [33012]Global_attributes/hidden

    Support in all current engines. Firefox4+Safari5.1+Chrome10+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer11 __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android4+Samsung Internet?Opera Android?

    All [33013]HTML elements may have the hidden content attribute set. The [33014]hidden attribute is an [33015]enumerated attribute with the following keywords and states:

    Keyword State Brief description hidden hidden Will not be rendered. (the empty string) until-found hidden until found Will not be rendered, but content inside will be accessible to [33016]find-in-page and [33017]fragment navigation.

    The attribute's [33018]missing value default is the not hidden state, and its [33019]invalid value default is the [33020]hidden state.

    When an element has the [33021]hidden attribute in the [33022]hidden state, it indicates that the element is not yet, or is no longer, directly relevant to the page's current state, or that it is being used to declare content to be reused by other parts of the page as opposed to being directly accessed by the user. User agents should not render elements that are in the [33023]hidden state.

    The requirement for user agents not to render elements that are in the [33024]hidden state can be implemented indirectly through the style layer. For example, a web browser could implement these requirements [33025]using the rules suggested in the Rendering section.

    When an element has the [33026]hidden attribute in the [33027]hidden until found state, it indicates that the element is hidden like the [33028]hidden state but the content inside the element will be accessible to [33029]find-in-page and [33030]fragment navigation. When these features attempt to scroll to a target which is in the element's subtree, the user agent will remove the [33031]hidden attribute in order to reveal the content before scrolling to it by running the [33032]ancestor hidden-until-found revealing algorithm on the target node.

    Web browsers will use 'content-visibility: hidden' instead of 'display: none' when the [33033]hidden attribute is in the [33034]hidden until found state, as specified in the [33035]Rendering section.

    Because this attribute is typically implemented using CSS, it's also possible to override it using CSS. For instance, a rule that applies 'display: block' to all elements will cancel the effects of the [33036]hidden state. Authors therefore have to take care when writing their style sheets to make sure that the attribute is still styled as expected. In addition, legacy user agents which don't support the [33037]hidden until found state will have 'display: none' instead of 'content-visibility: hidden', so authors are encouraged to make sure that their style sheets don't change the 'display' or 'content-visibility' properties of [33038]hidden until found elements.

    Since elements with the [33039]hidden attribute in the [33040]hidden until found state use 'content-visibility: hidden' instead of 'display: none', there are two caveats of the [33041]hidden until found state that make it different from the [33042]hidden state: 1. The element needs to be affected by [33043]layout containment in order to be revealed by find-in-page. This means that if the element in the [33044]hidden until found state has a 'display' value of 'none', 'contents', or 'inline', then the element will not be revealed by find-in-page. 2. The element will still have a [33045]generated box when in the [33046]hidden until found state, which means that borders, margin, and padding will still be rendered around the element.

    In the following skeletal example, the attribute is used to hide the web game's main screen until the user logs in:

    The Example Game

    Login

    ...

    The [33047]hidden attribute must not be used to hide content that could legitimately be shown in another presentation. For example, it is incorrect to use [33048]hidden to hide panels in a tabbed dialog, because the tabbed interface is merely a kind of overflow presentation — one could equally well just show all the form controls in one big page with a scrollbar. It is similarly incorrect to use this attribute to hide content just from one presentation — if something is marked [33049]hidden, it is hidden from all presentations, including, for instance, screen readers.

    Elements that are not themselves [33050]hidden must not [33051]hyperlink to elements that are [33052]hidden. The for attributes of [33053]label and [33054]output elements that are not themselves [33055]hidden must similarly not refer to elements that are [33056]hidden. In both cases, such references would cause user confusion.

    Elements and scripts may, however, refer to elements that are [33057]hidden in other contexts.

    For example, it would be incorrect to use the [33058]href attribute to link to a section marked with the [33059]hidden attribute. If the content is not applicable or relevant, then there is no reason to link to it.

    It would be fine, however, to use the ARIA [33060]aria-describedby attribute to refer to descriptions that are themselves [33061]hidden. While hiding the descriptions implies that they are not useful alone, they could be written in such a way that they are useful in the specific context of being referenced from the elements that they describe.

    Similarly, a [33062]canvas element with the [33063]hidden attribute could be used by a scripted graphics engine as an off-screen buffer, and a form control could refer to a hidden [33064]form element using its [33065]form attribute.

    Elements in a section hidden by the [33066]hidden attribute are still active, e.g. scripts and form controls in such sections still execute and submit respectively. Only their presentation to the user changes.

    (BUTTON) ✔MDN

    [33067]HTMLElement/hidden

    Support in all current engines. Firefox4+Safari5.1+Chrome6+ __________________________________________________________________

    Opera11.6+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer11 __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android3+Samsung Internet?Opera Android12+

    The hidden getter steps are: 1. If the [33068]hidden attribute is in the [33069]hidden until found state, then return "[33070]until-found". 2. If the [33071]hidden attribute is set, then return true. 3. Return false.

    The [33072]hidden setter steps are: 1. If the given value is a string that is an [33073]ASCII case-insensitive match for "[33074]until-found", then set the [33075]hidden attribute to "[33076]until-found". 2. Otherwise, if the given value is false, then remove the [33077]hidden attribute. 3. Otherwise, if the given value is the empty string, then remove the [33078]hidden attribute. 4. Otherwise, if the given value is null, then remove the [33079]hidden attribute. 5. Otherwise, if the given value is 0, then remove the [33080]hidden attribute. 6. Otherwise, if the given value is NaN, then remove the [33081]hidden attribute. 7. Otherwise, set the [33082]hidden attribute to the empty string.

    The ancestor hidden-until-found revealing algorithm is to run the following steps on currentNode: 1. While currentNode has a parent node within the [33083]flat tree: 1. If currentNode has the [33084]hidden attribute in the [33085]hidden until found state, then: 1. [33086]Fire an event named [33087]beforematch at currentNode with the [33088]bubbles attribute initialized to true. 2. Remove the [33089]hidden attribute from currentNode. 2. Set currentNode to the parent node of currentNode within the [33090]flat tree.

    6.2 Page visibility

    A [33091]traversable navigable's [33092]system visibility state, including its initial value upon creation, is determined by the user agent. It represents, for example, whether the browser window is minimized, a browser tab is currently in the background, or a system element such as a task switcher obscures the page.

    When a user-agent determines that the [33093]system visibility state for [33094]traversable navigable traversable has changed to newState, it must run the following steps: 1. Let navigables be the [33095]inclusive descendant navigables of traversable's [33096]active document. 2. [33097]For each navigable of navigables in what order?: 1. Let document be navigable's [33098]active document. 2. [33099]Queue a global task on the [33100]user interaction task source given document's [33101]relevant global object to [33102]update the visibility state of document with newState.

    A [33103]Document has a visibility state, which is either "hidden" or "visible", initially set to "hidden".

    (BUTTON) ✔MDN

    [33104]Document/visibilityState

    Support in all current engines. Firefox18+Safari7+Chrome33+ __________________________________________________________________

    Opera20+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android4.4.3+Samsung Internet?Opera Android20+

    The visibilityState getter steps are to return [33105]this's [33106]visibility state.

    (BUTTON) ✔MDN

    [33107]Document/hidden

    Support in all current engines. Firefox18+Safari7+Chrome33+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android4.4.3+Samsung Internet?Opera Android12.1+

    The hidden getter steps are to return true if [33108]this's [33109]visibility state is "hidden", otherwise false.

    To update the visibility state of [33110]Document document to visibilityState: 1. If document's [33111]visibility state equals visibilityState, then return. 2. Set document's [33112]visibility state to visibilityState. 3. [33113]Queue a new [33114]VisibilityStateEntry whose [33115]visibility state is visibilityState and whose [33116]timestamp is the [33117]current high resolution time given document's [33118]relevant global object. 4. Run the [33119]screen orientation change steps with document. [33120][SCREENORIENTATION] 5. Run the [33121]view transition page visibility change steps with document. 6. Run any page visibility change steps which may be defined in other specifications, with [33122]visibility state and document. It would be better if specification authors sent a pull request to add calls from here into their specifications directly, instead of using the [33123]page visibility change steps hook, to ensure well-defined cross-specification call order. As of the time of this writing the following specifications are known to have [33124]page visibility change steps, which will be run in an unspecified order: Device Posture API and Web NFC. [33125][DEVICEPOSTURE] [33126][WEBNFC] 7. [33127]Fire an event named [33128]visibilitychange at document, with its [33129]bubbles attribute initialized to true.

    6.2.1 The [33130]VisibilityStateEntry interface

    (BUTTON) ⚠MDN

    [33131]VisibilityStateEntry

    Support in one engine only. FirefoxNoSafariNoChrome115+ __________________________________________________________________

    Opera?Edge115+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The [33132]VisibilityStateEntry interface exposes visibility changes to the document, from the moment the document becomes active.

    For example, this allows JavaScript code in the page to examine correlation between visibility changes and paint timing: function wasHiddenBeforeFirstContentfulPaint() { const fcpEntry = performance.getEntriesByName("first-contentful-paint")[0]; const visibilityStateEntries = performance.getEntriesByType("visibility-stat e"); return visibilityStateEntries.some(e => e.startTime < fcpEntry.startTime && e.name === "hidden"); }

    Since hiding a page can cause throttling of rendering and other user-agent operations, it is common to use visibility changes as an indication that such throttling has occurred. However, other things could also cause throttling in different browsers, such as long periods of inactivity. [Exposed=(Window)] interface VisibilityStateEntry : [33133]PerformanceEntry { readonly attribute DOMString [33134]name; // shadows inherited [33135]name readonly attribute DOMString [33136]entryType; // shadows inherited [33137]entryType readonly attribute DOMHighResTimeStamp [33138]startTime; // shadows inherited [33139]startTime readonly attribute unsigned long [33140]duration; // shadows inherited [33141]duration };

    The [33142]VisibilityStateEntry has an associated [33143]DOMHighResTimeStamp timestamp.

    The [33144]VisibilityStateEntry has an associated "visible" or "hidden" visibility state.

    The name getter steps are to return [33145]this's [33146]visibility state.

    The entryType getter steps are to return "visibility-state".

    The startTime getter steps are to return [33147]this's [33148]timestamp.

    The duration getter steps are to return zero.

    6.3 Inert subtrees

    See also [33149]inert for an explanation of the attribute of the same name.

    A node (in particular elements and text nodes) can be inert. When a node is [33150]inert: * Hit-testing must act as if the [33151]'pointer-events' CSS property were set to 'none'. * Text selection functionality must act as if the [33152]'user-select' CSS property were set to 'none'. * If it is [33153]editable, the node behaves as if it were non-editable. * The user agent should ignore the node for the purposes of [33154]find-in-page.

    Inert nodes generally cannot be focused, and user agents do not expose the inert nodes to accessibility APIs or assistive technologies. Inert nodes that are [33155]commands will become inoperable to users, in the manner described above.

    User agents may allow the user to override the restrictions on [33156]find-in-page and text selection, however.

    By default, a node is not [33157]inert.

    6.3.1 Modal dialogs and inert subtrees

    A [33158]Document document is blocked by a modal dialog subject if subject is the topmost [33159]dialog element in document's [33160]top layer. While document is so blocked, every node that is [33161]connected to document, with the exception of the subject element and its [33162]flat tree descendants, must become [33163]inert.

    subject can additionally become [33164]inert via the [33165]inert attribute, but only if specified on subject itself (i.e., subject escapes inertness of ancestors); subject's [33166]flat tree descendants can become [33167]inert in a similar fashion.

    The [33168]dialog element's [33169]showModal() method causes this mechanism to trigger, by [33170]adding the [33171]dialog element to its [33172]node document's [33173]top layer.

    6.3.2 The inert attribute

    (BUTTON) ✔MDN

    [33174]Global_attributes/inert

    Support in all current engines. Firefox112+Safari15.5+Chrome102+ __________________________________________________________________

    Opera?Edge102+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The [33175]inert attribute is a [33176]boolean attribute that indicates, by its presence, that the element and all its [33177]flat tree descendants which don't otherwise escape inertness (such as modal dialogs) are to be made [33178]inert by the user agent.

    An inert subtree should not contain any content or controls which are critical to understanding or using aspects of the page which are not in the inert state. Content in an inert subtree will not be perceivable by all users, or interactive. Authors should not specify elements as inert unless the content they represent are also visually obscured in some way. In most cases, authors should not specify the [33179]inert attribute on individual form controls. In these instances, the [33180]disabled attribute is probably more appropriate.

    The following example shows how to mark partially loaded content, visually obscured by a "loading" message, as inert.

    Population by City

    Loading...

    Date range
    From 20-- to 20--
    City State 20-- Population 20-- Population Percentage change

    Screenshot of Population by City content with an overlaid loading message which visually obscures the form controls and data table which have not fully rendered, and thus are in the inert state.

    The "loading" overlay obscures the inert content, making it visually apparent that the inert content is not presently accessible. Notice that the heading and "loading" text are not descendants of the element with the [33181]inert attribute. This will ensure this text is accessible to all users, while the inert content cannot be interacted with by anyone.

    By default, there is no persistent visual indication of an element or its subtree being inert. Appropriate visual styles for such content is often context-dependent. For instance, an inert off-screen navigation panel would not require a default style, as its off-screen position visually obscures the content. Similarly, a modal [33182]dialog element's backdrop will serve as the means to visually obscure the inert content of the web page, rather than styling the inert content specifically.

    However, for many other situations authors are strongly encouraged to clearly mark what parts of their document are active and which are inert, to avoid user confusion. In particular, it is worth remembering that not all users can see all parts of a page at once; for example, users of screen readers, users on small devices or with magnifiers, and even users using particularly small windows might not be able to see the active part of a page and might get frustrated if inert sections are not obviously inert.

    (BUTTON) ✔MDN

    [33183]HTMLElement/inert

    Support in all current engines. Firefox112+Safari15.5+Chrome102+ __________________________________________________________________

    Opera?Edge102+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The inert IDL attribute must [33184]reflect the content attribute of the same name.

    6.4 Tracking user activation

    To prevent abuse of certain APIs that could be annoying to users (e.g., opening popups or vibrating phones), user agents allow these APIs only when the user is actively interacting with the web page or has interacted with the page at least once. This "active interaction" state is maintained through the mechanisms defined in this section.

    6.4.1 Data model

    For the purpose of tracking user activation, each [33185]Window W has two relevant values: * A last activation timestamp, which is either a [33186]DOMHighResTimeStamp, positive infinity (indicating that W has never been activated), or negative infinity (indicating that the activation has been [33187]consumed). Initially positive infinity. * A last history-action activation timestamp, which is either a [33188]DOMHighResTimeStamp or positive infinity, initially positive infinity.

    A user agent also defines a transient activation duration, which is a constant number indicating how long a user activation is available for certain [33189]user activation-gated APIs (e.g., for opening popups).

    The [33190]transient activation duration is expected be at most a few seconds, so that the user can possibly perceive the link between an interaction with the page and the page calling the activation-gated API.

    We then have the following boolean user activation states for W:

    Sticky activation When the [33191]current high resolution time given W is greater than or equal to the [33192]last activation timestamp in W, W is said to have [33193]sticky activation.

    This is W's historical activation state, indicating whether the user has ever interacted in W. It starts false, then changes to true (and never changes back to false) when W gets the very first [33194]activation notification.

    Transient activation When the [33195]current high resolution time given W is greater than or equal to the [33196]last activation timestamp in W, and less than the [33197]last activation timestamp in W plus the [33198]transient activation duration, then W is said to have [33199]transient activation.

    This is W's current activation state, indicating whether the user has interacted in W recently. This starts with a false value, and remains true for a limited time after every [33200]activation notification W gets.

    The [33201]transient activation state is considered expired if it becomes false because the [33202]transient activation duration time has elapsed since the last user activation. Note that it can become false even before the expiry time through an [33203]activation consumption.

    History-action activation When the [33204]last history-action activation timestamp of W is not equal to the [33205]last activation timestamp of W, then W is said to have [33206]history-action activation.

    This is a special variant of user activation, used to allow access to certain session history APIs which, if used too frequently, would make it harder for the user to traverse back using [33207]browser UI. It starts with a false value, and becomes true whenever the user interacts with W, but is reset to false through [33208]history-action activation consumption. This ensures such APIs cannot be used multiple times in a row without an intervening user activation. But unlike [33209]transient activation, there is no time limit within which such APIs must be used.

    The [33210]last activation timestamp and [33211]last history-action activation timestamp are retained even after the [33212]Document changes its [33213]fully active status (e.g., after navigating away from a [33214]Document, or navigating to a cached [33215]Document). This means [33216]sticky activation state spans multiple navigations as long as the same [33217]Document gets reused. For the transient activation state, the original [33218]expiry time remains unchanged (i.e., the state still expires within the [33219]transient activation duration limit from the original [33220]activation triggering input event). It is important to consider this when deciding whether to base certain things off [33221]sticky activation or [33222]transient activation.

    6.4.2 Processing model

    When a user interaction causes firing of an [33223]activation triggering input event in a [33224]Document document, the user agent must perform the following activation notification steps before [33225]dispatching the event: 1. [33226]Assert: document is [33227]fully active. 2. Let windows be « document's [33228]relevant global object ». 3. [33229]Extend windows with the [33230]active window of each of document's [33231]ancestor navigables. 4. [33232]Extend windows with the [33233]active window of each of document's [33234]descendant navigables, filtered to include only those [33235]navigables whose [33236]active document's [33237]origin is [33238]same origin with document's [33239]origin. 5. [33240]For each window in windows: 1. Set window's [33241]last activation timestamp to the [33242]current high resolution time. 2. [33243]Notify the close watcher manager about user activation given window.

    An activation triggering input event is any event whose [33244]isTrusted attribute is true and whose [33245]type is one of: * "[33246]keydown", provided the key is neither the Esc key nor a shortcut key reserved by the user agent; * "[33247]mousedown"; * "[33248]pointerdown", provided the event's [33249]pointerType is "mouse"; * "[33250]pointerup", provided the event's [33251]pointerType is not "mouse"; or * "[33252]touchend".

    [33253]Activation consuming APIs defined in this and other specifications can consume user activation by performing the following steps, given a [33254]Window W: 1. If W's [33255]navigable is null, then return. 2. Let top be W's [33256]navigable's [33257]top-level traversable. 3. Let navigables be the [33258]inclusive descendant navigables of top's [33259]active document. 4. Let windows be the list of [33260]Window objects constructed by taking the [33261]active window of each item in navigables. 5. [33262]For each window in windows, if window's [33263]last activation timestamp is not positive infinity, then set window's [33264]last activation timestamp to negative infinity.

    [33265]History-action activation-consuming APIs can consume history-action user activation by performing the following steps, given a [33266]Window W: 1. If W's [33267]navigable is null, then return. 2. Let top be W's [33268]navigable's [33269]top-level traversable. 3. Let navigables be the [33270]inclusive descendant navigables of top's [33271]active document. 4. Let windows be the list of [33272]Window objects constructed by taking the [33273]active window of each item in navigables. 5. [33274]For each window in windows, set window's [33275]last history-action activation timestamp to window's [33276]last activation timestamp.

    Note the asymmetry in the sets of [33277]browsing contexts in the page that are affected by an [33278]activation notification vs an [33279]activation consumption: an activation consumption changes (to false) the [33280]transient activation states for all browsing contexts in the page, but an activation notification changes (to true) the states for a subset of those browsing contexts. The exhaustive nature of consumption here is deliberate: it prevents malicious sites from making multiple calls to an [33281]activation consuming API from a single user activation (possibly by exploiting a deep hierarchy of [33282]iframes).

    6.4.3 APIs gated by user activation

    APIs that are dependent on user activation are classified into different levels:

    Sticky activation-gated APIs These APIs require the [33283]sticky activation state to be true, so they are blocked until the very first user activation.

    Transient activation-gated APIs These APIs require the [33284]transient activation state to be true, but they don't [33285]consume it, so multiple calls are allowed per user activation until the transient state [33286]expires.

    Transient activation-consuming APIs These APIs require the [33287]transient activation state to be true, and they [33288]consume user activation in each call to prevent multiple calls per user activation.

    History-action activation-consuming APIs These APIs require the [33289]history-action activation state to be true, and they [33290]consume history-action user activation in each call to prevent multiple calls per user activation.

    6.4.4 The [33291]UserActivation interface

    (BUTTON) MDN

    [33292]UserActivation FirefoxNoSafari16.4+Chrome72+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    Each [33293]Window has an associated UserActivation, which is a [33294]UserActivation object. Upon creation of the [33295]Window object, its [33296]associated UserActivation must be set to a [33297]new [33298]UserActivation object created in the [33299]Window object's [33300]relevant realm. [Exposed=Window] interface UserActivation { readonly attribute boolean [33301]hasBeenActive; readonly attribute boolean [33302]isActive; };

    partial interface [33303]Navigator { [SameObject] readonly attribute [33304]UserActivation [33305]userActivation; };

    [33306]navigator.[33307]userActivation.[33308]hasBeenActive Returns whether the window has [33309]sticky activation.

    [33310]navigator.[33311]userActivation.[33312]isActive Returns whether the window has [33313]transient activation.

    (BUTTON) MDN

    [33314]Navigator/userActivation FirefoxNoSafari16.4+Chrome72+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The userActivation getter steps are to return [33315]this's [33316]relevant global object's [33317]associated UserActivation.

    (BUTTON) MDN

    [33318]UserActivation/hasBeenActive FirefoxNoSafari16.4+Chrome72+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The hasBeenActive getter steps are to return true if [33319]this's [33320]relevant global object has [33321]sticky activation, and false otherwise.

    (BUTTON) MDN

    [33322]UserActivation/hasBeenActive FirefoxNoSafari16.4+Chrome72+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The isActive getter steps are to return true if [33323]this's [33324]relevant global object has [33325]transient activation, and false otherwise.

    6.4.5 User agent automation

    For the purposes of user-agent automation and application testing, this specification defines the following [33326]extension command for the Web Driver specification. It is optional for a user agent to support the following [33327]extension command. [33328][WEBDRIVER]

    HTTP Method URI Template `POST` /session/{session id}/window/consume-user-activation

    The [33329]remote end steps are: 1. Let window be [33330]current browsing context's [33331]active window. 2. Let consume be true if window has [33332]transient activation; otherwise false. 3. If consume is true, then [33333]consume user activation of window. 4. Return [33334]success with data consume.

    6.5 Activation behavior of elements

    Certain elements in HTML have an [33335]activation behavior, which means that the user can activate them. This is always caused by a [33336]click event.

    The user agent should allow the user to manually trigger elements that have an [33337]activation behavior, for instance using keyboard or voice input, or through mouse clicks. When the user triggers an element with a defined [33338]activation behavior in a manner other than clicking it, the default action of the interaction event must be to [33339]fire a click event at the element.

    element.[33340]click()

    (BUTTON) ✔MDN

    [33341]HTMLElement/click

    Support in all current engines.

    Firefox3+Safari6+Chrome9+ ___________________________________________________________

    Opera10.5+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android4+Safari iOS?Chrome Android?WebView Android4.4+Samsung Internet1.0+Opera Android11+ Acts as if the element was clicked.

    Each element has an associated click in progress flag, which is initially unset.

    The click() method must run the following steps: 1. If this element is a form control that is [33342]disabled, then return. 2. If this element's [33343]click in progress flag is set, then return. 3. Set this element's [33344]click in progress flag. 4. [33345]Fire a synthetic pointer event named [33346]click at this element, with the not trusted flag set. 5. Unset this element's [33347]click in progress flag.

    6.5.1 The [33348]ToggleEvent interface

    (BUTTON) ✔MDN

    [33349]ToggleEvent/ToggleEvent

    Support in all current engines. Firefox🔰 114+Safari17+Chrome114+ __________________________________________________________________

    Opera?Edge114+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [33350]ToggleEvent

    Support in all current engines. Firefox🔰 114+Safari17+Chrome114+ __________________________________________________________________

    Opera?Edge114+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [Exposed=Window] interface ToggleEvent : [33351]Event { constructor(DOMString type, optional [33352]ToggleEventInit eventInitDict = {} ); readonly attribute DOMString [33353]oldState; readonly attribute DOMString [33354]newState; };

    dictionary ToggleEventInit : [33355]EventInit { DOMString oldState = ""; DOMString newState = ""; };

    event.[33356]oldState Set to "closed" when transitioning from closed to open, or set to "open" when transitioning from open to closed.

    event.[33357]newState Set to "open" when transitioning from closed to open, or set to "closed" when transitioning from open to closed.

    (BUTTON) ✔MDN

    [33358]ToggleEvent/oldState

    Support in all current engines. Firefox🔰 114+Safari17+Chrome114+ __________________________________________________________________

    Opera?Edge114+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [33359]ToggleEvent/newState

    Support in all current engines. Firefox🔰 114+Safari17+Chrome114+ __________________________________________________________________

    Opera?Edge114+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The oldState and newState attributes must return the values they are initialized to.

    A toggle task tracker is a [33360]struct which has:

    task A [33361]task which fires a [33362]ToggleEvent.

    old state A string which represents the [33363]task's event's value for the [33364]oldState attribute.

    6.5.2 The [33365]CommandEvent interface

    [Exposed=Window] interface CommandEvent : [33366]Event { constructor(DOMString type, optional [33367]CommandEventInit eventInitDict = { }); readonly attribute Element? [33368]source; readonly attribute DOMString [33369]command; };

    dictionary CommandEventInit : [33370]EventInit { Element? source = null; DOMString command = ""; };

    event.[33371]command Returns what action the element can take.

    event.[33372]source Returns the [33373]Element that was interacted with in order to cause this event.

    The command attribute must return the value it was initialized to.

    The source getter steps are to return the result of [33374]retargeting [33375]source against [33376]this's [33377]currentTarget.

    [33378]DOM standard issue #1328 tracks how to better standardize associated event data in a way which makes sense on Events. Currently an event attribute initialized to a value cannot also have a getter, and so an internal slot (or map of additional fields) is required to properly specify this.

    6.6 Focus

    6.6.1 Introduction

    This section is non-normative.

    An HTML user interface typically consists of multiple interactive widgets, such as form controls, scrollable regions, links, dialog boxes, browser tabs, and so forth. These widgets form a hierarchy, with some (e.g. browser tabs, dialog boxes) containing others (e.g. links, form controls).

    When interacting with an interface using a keyboard, key input is channeled from the system, through the hierarchy of interactive widgets, to an active widget, which is said to be [33379]focused.

    Consider an HTML application running in a browser tab running in a graphical environment. Suppose this application had a page with some text controls and links, and was currently showing a modal dialog, which itself had a text control and a button.

    The hierarchy of focusable widgets, in this scenario, would include the browser window, which would have, amongst its children, the browser tab containing the HTML application. The tab itself would have as its children the various links and text controls, as well as the dialog. The dialog itself would have as its children the text control and the button.

    If the widget with [33380]focus in this example was the text control in the dialog box, then key input would be channeled from the graphical system to ① the web browser, then to ② the tab, then to ③ the dialog, and finally to ④ the text control.

    Keyboard events are always targeted at this [33381]focused element.

    6.6.2 Data model

    A [33382]top-level traversable has system focus when it can receive keyboard input channeled from the operating system, possibly targeted at one of its [33383]active document's [33384]descendant navigables.

    A [33385]top-level traversable has user attention when its [33386]system visibility state is "visible", and it either has [33387]system focus or user agent widgets directly related to it can receive keyboard input channeled from the operating system.

    User attention is lost when a browser window loses focus, whereas system focus might also be lost to other system widgets in the browser window such as a location bar.

    A [33388]Document d is a fully active descendant of a top-level traversable with user attention when d is [33389]fully active and d's [33390]node navigable's [33391]top-level traversable has [33392]user attention.

    The term focusable area is used to refer to regions of the interface that can further become the target of such keyboard input. Focusable areas can be elements, parts of elements, or other regions managed by the user agent.

    Each [33393]focusable area has a DOM anchor, which is a [33394]Node object that represents the position of the [33395]focusable area in the DOM. (When the [33396]focusable area is itself a [33397]Node, it is its own [33398]DOM anchor.) The [33399]DOM anchor is used in some APIs as a substitute for the [33400]focusable area when there is no other DOM object to represent the [33401]focusable area.

    The following table describes what objects can be [33402]focusable areas. The cells in the left column describe objects that can be [33403]focusable areas; the cells in the right column describe the [33404]DOM anchors for those elements. (The cells that span both columns are non-normative examples.)

    [33405]Focusable area [33406]DOM anchor Examples Elements that meet all the following criteria: * the element's [33407]tabindex value is non-null, or the element is determined by the user agent to be focusable; * the element is either not a [33408]shadow host, or has a [33409]shadow root whose [33410]delegates focus is false; * the element is not [33411]actually disabled; * the element is not [33412]inert; * the element is either [33413]being rendered, [33414]delegating its rendering to its children, or [33415]being used as relevant canvas fallback content.

    The element itself.

    [33416]iframe, [33417]dialog, [33418], sometimes [33419] (depending on platform conventions). The shapes of [33420]area elements in an [33421]image map associated with an [33422]img element that is [33423]being rendered and is not [33424]inert. The [33425]img element.

    In the following example, the [33426]area element creates two shapes, one on each image. The [33427]DOM anchor of the first shape is the first [33428]img element, and the [33429]DOM anchor of the second shape is the second [33430]img element. Enter Door< /map> ... There is a white wall here, with a door. ... There is a red wall here, with a door.

    The user-agent provided subwidgets of elements that are [33431]being rendered and are not [33432]actually disabled or [33433]inert. The element for which the [33434]focusable area is a subwidget.

    The [33435]controls in the user interface for a [33436]video element, the up and down buttons in a spin-control version of [33437], the part of a [33438]details element's rendering that enables the element to be opened or closed using keyboard input. The scrollable regions of elements that are [33439]being rendered and are not [33440]inert. The element for which the box that the scrollable region scrolls was created.

    The CSS [33441]'overflow' property's 'scroll' value typically creates a scrollable region. The [33442]viewport of a [33443]Document that has a non-null [33444]browsing context and is not [33445]inert. The [33446]Document for which the [33447]viewport was created.

    The contents of an [33448]iframe. Any other element or part of an element determined by the user agent to be a focusable area, especially to aid with accessibility or to better match platform conventions. The element.

    A user agent could make all list item bullets [33449]sequentially focusable, so that a user can more easily navigate lists.

    Similarly, a user agent could make all elements with [33450]title attributes [33451]sequentially focusable, so that their advisory information can be accessed.

    A [33452]navigable container (e.g. an [33453]iframe) is a [33454]focusable area, but key events routed to a [33455]navigable container get immediately routed to its [33456]content navigable's [33457]active document. Similarly, in sequential focus navigation a [33458]navigable container essentially acts merely as a placeholder for its [33459]content navigable's [33460]active document. __________________________________________________________________

    One [33461]focusable area in each [33462]Document is designated the focused area of the document. Which control is so designated changes over time, based on algorithms in this specification.

    Even if a document is not [33463]fully active and not shown to the user, it can still have a [33464]focused area of the document. If a document's [33465]fully active state changes, its [33466]focused area of the document will stay the same.

    The currently focused area of a top-level traversable traversable is the [33467]focusable area-or-null returned by this algorithm: 1. If traversable does not have [33468]system focus, then return null. 2. Let candidate be traversable's [33469]active document. 3. While candidate's [33470]focused area is a [33471]navigable container with a non-null [33472]content navigable: set candidate to the [33473]active document of that [33474]navigable container's [33475]content navigable. 4. If candidate's [33476]focused area is non-null, set candidate to candidate's [33477]focused area. 5. Return candidate.

    The current focus chain of a top-level traversable traversable is the [33478]focus chain of the [33479]currently focused area of traversable, if traversable is non-null, or an empty list otherwise.

    An element that is the [33480]DOM anchor of a [33481]focusable area is said to gain focus when that [33482]focusable area becomes the [33483]currently focused area of a top-level traversable. When an element is the [33484]DOM anchor of a [33485]focusable area of the [33486]currently focused area of a top-level traversable, it is focused.

    The focus chain of a [33487]focusable area subject is the ordered list constructed as follows: 1. Let output be an empty [33488]list. 2. Let currentObject be subject. 3. While true: 1. [33489]Append currentObject to output. 2. If currentObject is an [33490]area element's shape, then [33491]append that [33492]area element to output. Otherwise, if currentObject's [33493]DOM anchor is an element that is not currentObject itself, then [33494]append currentObject's [33495]DOM anchor to output. 3. If currentObject is a [33496]focusable area, then set currentObject to currentObject's [33497]DOM anchor's [33498]node document. Otherwise, if currentObject is a [33499]Document whose [33500]node navigable's [33501]parent is non-null, then set currentObject to currentObject's [33502]node navigable's [33503]parent. Otherwise, [33504]break. 4. Return output. The chain starts with subject and (if subject is or can be the [33505]currently focused area of a top-level traversable) continues up the focus hierarchy up to the [33506]Document of the [33507]top-level traversable.

    All elements that are [33508]focusable areas are said to be focusable.

    There are two special types of focusability for [33509]focusable areas: * A [33510]focusable area is said to be sequentially focusable if it is included in its [33511]Document's [33512]sequential focus navigation order and the user agent determines that it is sequentially focusable. * A [33513]focusable area is said to be click focusable if the user agent determines that it is click focusable. User agents should consider focusable areas with non-null [33514]tabindex values to be click focusable.

    Elements which are not [33515]focusable are not [33516]focusable areas, and thus not [33517]sequentially focusable and not [33518]click focusable.

    Being [33519]focusable is a statement about whether an element can be focused programmatically, e.g. via the [33520]focus() method or [33521]autofocus attribute. In contrast, [33522]sequentially focusable and [33523]click focusable govern how the user agent responds to user interaction: respectively, to [33524]sequential focus navigation and as [33525]activation behavior.

    The user agent might determine that an element is not [33526]sequentially focusable even if it is [33527]focusable and is included in its [33528]Document's [33529]sequential focus navigation order, according to user preferences. For example, macOS users can set the user agent to skip non-form control elements, or can skip links when doing [33530]sequential focus navigation with just the Tab key (as opposed to using both the Option and Tab keys).

    Similarly, the user agent might determine that an element is not [33531]click focusable even if it is [33532]focusable. For example, in some user agents, clicking on a non-editable form control does not focus it, i.e. the user agent has determined that such controls are not click focusable.

    Thus, an element can be [33533]focusable, but neither [33534]sequentially focusable nor [33535]click focusable. For example, in some user agents, a non-editable form-control with a negative-integer [33536]tabindex value would not be focusable via user interaction, only via programmatic APIs.

    When a user [33537]activates a [33538]click focusable [33539]focusable area, the user agent must run the [33540]focusing steps on the [33541]focusable area with focus trigger set to "click".

    Note that focusing is not an [33542]activation behavior, i.e. calling the [33543]click() method on an element or dispatching a synthetic [33544]click event on it won't cause the element to get focused. __________________________________________________________________

    A node is a focus navigation scope owner if it is a [33545]Document, a [33546]shadow host, a [33547]slot, or an element which is the [33548]popover invoker of an element in the [33549]popover showing state.

    Each [33550]focus navigation scope owner has a focus navigation scope, which is a list of elements. Its contents are determined as follows:

    Every element element has an associated focus navigation owner, which is either null or a [33551]focus navigation scope owner. It is determined by the following algorithm: 1. If element's parent is null, then return null. 2. If element's parent is a [33552]shadow host, then return element's [33553]assigned slot. 3. If element's parent is a [33554]shadow root, then return the parent's [33555]host. 4. If element's parent is the [33556]document element, then return the parent's [33557]node document. 5. If element is in the [33558]popover showing state and has a [33559]popover invoker set, then return element's [33560]popover invoker. 6. Return element's parent's [33561]associated focus navigation owner.

    Then, the contents of a given [33562]focus navigation scope owner owner's [33563]focus navigation scope are all elements whose [33564]associated focus navigation owner is owner.

    The order of elements within a [33565]focus navigation scope does not impact any of the algorithms in this specification. Ordering only becomes important for the [33566]tabindex-ordered focus navigation scope and [33567]flattened tabindex-ordered focus navigation scope concepts defined below.

    A tabindex-ordered focus navigation scope is a list of [33568]focusable areas and [33569]focus navigation scope owners. Every [33570]focus navigation scope owner owner has [33571]tabindex-ordered focus navigation scope, whose contents are determined as follows: * It contains all elements in owner's [33572]focus navigation scope that are themselves [33573]focus navigation scope owners, except the elements whose [33574]tabindex value is a negative integer. * It contains all of the [33575]focusable areas whose [33576]DOM anchor is an element in owner's [33577]focus navigation scope, except the [33578]focusable areas whose [33579]tabindex value is a negative integer.

    The order within a [33580]tabindex-ordered focus navigation scope is determined by each element's [33581]tabindex value, as described in the section below.

    The rules there do not give a precise ordering, as they are composed mostly of "should" statements and relative orderings.

    A flattened tabindex-ordered focus navigation scope is a list of [33582]focusable areas. Every [33583]focus navigation scope owner owner owns a distinct [33584]flattened tabindex-ordered focus navigation scope, whose contents are determined by the following algorithm: 1. Let result be a [33585]clone of owner's [33586]tabindex-ordered focus navigation scope. 2. For each item of result: 1. If item is not a [33587]focus navigation scope owner, then [33588]continue. 2. If item is not a [33589]focusable area, then replace item with all of the items in item's [33590]flattened tabindex-ordered focus navigation scope. 3. Otherwise, insert the contents of item's [33591]flattened tabindex-ordered focus navigation scope after item.

    6.6.3 The [33592]tabindex attribute

    (BUTTON) ✔MDN

    [33593]Global_attributes/tabindex

    Support in all current engines. Firefox1.5+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The tabindex content attribute allows authors to make an element and regions that have the element as its [33594]DOM anchor be [33595]focusable areas, allow or prevent them from being [33596]sequentially focusable, and determine their relative ordering for [33597]sequential focus navigation.

    The name "tab index" comes from the common use of the Tab key to navigate through the focusable elements. The term "tabbing" refers to moving forward through [33598]sequentially focusable [33599]focusable areas.

    The [33600]tabindex attribute, if specified, must have a value that is a [33601]valid integer. Positive numbers specify the relative position of the element's [33602]focusable areas in the [33603]sequential focus navigation order, and negative numbers indicate that the control is not [33604]sequentially focusable.

    Developers should use caution when using values other than 0 or −1 for their [33605]tabindex attributes as this is complicated to do correctly.

    The following provides a non-normative summary of the behaviors of the possible [33606]tabindex attribute values. The below processing model gives the more precise rules.

    omitted (or non-integer values) The user agent will decide whether the element is [33607]focusable, and if it is, whether it is [33608]sequentially focusable or [33609]click focusable (or both).

    −1 (or other negative integer values) Causes the element to be [33610]focusable, and indicates that the author would prefer the element to be [33611]click focusable but not [33612]sequentially focusable. The user agent might ignore this preference for click and sequential focusability, e.g., for specific element types according to platform conventions, or for keyboard-only users.

    0 Causes the element to be [33613]focusable, and indicates that the author would prefer the element to be both [33614]click focusable and [33615]sequentially focusable. The user agent might ignore this preference for click and sequential focusability.

    positive integer values Behaves the same as 0, but in addition creates a relative ordering within a [33616]tabindex-ordered focus navigation scope, so that elements with higher [33617]tabindex attribute value come later.

    Note that the [33618]tabindex attribute cannot be used to make an element non-focusable. The only way a page author can do that is by [33619]disabling the element, or making it [33620]inert. __________________________________________________________________

    The tabindex value of an element is the value of its [33621]tabindex attribute, parsed using the [33622]rules for parsing integers. If parsing fails or the attribute is not specified, then the [33623]tabindex value is null.

    The [33624]tabindex value of a [33625]focusable area is the [33626]tabindex value of its [33627]DOM anchor.

    The [33628]tabindex value of an element must be interpreted as follows:

    If the value is null The user agent should follow platform conventions to determine if the element should be considered as a [33629]focusable area and if so, whether the element and any [33630]focusable areas that have the element as their [33631]DOM anchor are [33632]sequentially focusable, and if so, what their relative position in their [33633]tabindex-ordered focus navigation scope is to be. If the element is a [33634]focus navigation scope owner, it must be included in its [33635]tabindex-ordered focus navigation scope even if it is not a [33636]focusable area.

    The relative ordering within a [33637]tabindex-ordered focus navigation scope for elements and [33638]focusable areas that belong to the same [33639]focus navigation scope and whose [33640]tabindex value is null should be in [33641]shadow-including tree order.

    Modulo platform conventions, it is suggested that the following elements should be considered as [33642]focusable areas and be [33643]sequentially focusable:

    + [33644]a elements that have an [33645]href attribute + [33646]button elements + [33647]input elements whose [33648]type attribute are not in the [33649]Hidden state + [33650]select elements + [33651]textarea elements + [33652]summary elements that are the first [33653]summary element child of a [33654]details element + Elements with a [33655]draggable attribute set, if that would enable the user agent to allow the user to begin drag operations for those elements without the use of a pointing device + [33656]Editing hosts + [33657]Navigable containers

    If the value is a negative integer The user agent must consider the element as a [33658]focusable area, but should omit the element from any [33659]tabindex-ordered focus navigation scope.

    One valid reason to ignore the requirement that sequential focus navigation not allow the author to lead to the element would be if the user's only mechanism for moving the focus is sequential focus navigation. For instance, a keyboard-only user would be unable to click on a text control with a negative [33660]tabindex, so that user's user agent would be well justified in allowing the user to tab to the control regardless.

    If the value is a zero The user agent must allow the element to be considered as a [33661]focusable area and should allow the element and any [33662]focusable areas that have the element as their [33663]DOM anchor to be [33664]sequentially focusable.

    The relative ordering within a [33665]tabindex-ordered focus navigation scope for elements and [33666]focusable areas that belong to the same [33667]focus navigation scope and whose [33668]tabindex value is zero should be in [33669]shadow-including tree order.

    If the value is greater than zero The user agent must allow the element to be considered as a [33670]focusable area and should allow the element and any [33671]focusable areas that have the element as their [33672]DOM anchor to be [33673]sequentially focusable, and should place the element — referenced as candidate below — and the aforementioned [33674]focusable areas in the [33675]tabindex-ordered focus navigation scope where the element is a part of so that, relative to other elements and [33676]focusable areas that belong to the same [33677]focus navigation scope, they are:

    + before any [33678]focusable area whose [33679]DOM anchor is an element whose [33680]tabindex attribute has been omitted or whose value, when parsed, returns an error, + before any [33681]focusable area whose [33682]DOM anchor is an element whose [33683]tabindex attribute has a value less than or equal to zero, + after any [33684]focusable area whose [33685]DOM anchor is an element whose [33686]tabindex attribute has a value greater than zero but less than the value of the [33687]tabindex attribute on candidate, + after any [33688]focusable area whose [33689]DOM anchor is an element whose [33690]tabindex attribute has a value equal to the value of the [33691]tabindex attribute on candidate but that is located earlier than candidate in [33692]shadow-including tree order, + before any [33693]focusable area whose [33694]DOM anchor is an element whose [33695]tabindex attribute has a value equal to the value of the [33696]tabindex attribute on candidate but that is located later than candidate in [33697]shadow-including tree order, and + before any [33698]focusable area whose [33699]DOM anchor is an element whose [33700]tabindex attribute has a value greater than the value of the [33701]tabindex attribute on candidate.

    (BUTTON) ✔MDN

    [33702]HTMLElement/tabIndex

    Support in all current engines. Firefox1+Safari3.1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)18Internet Explorer🔰 5.5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The tabIndex IDL attribute must [33703]reflect the value of the [33704]tabindex content attribute. The [33705]default value is 0 if the element is an [33706]a, [33707]area, [33708]button, [33709]frame, [33710]iframe, [33711]input, [33712]object, [33713]select, [33714]textarea, or [33715]SVG a element, or is a [33716]summary element that is a [33717]summary for its parent details. The [33718]default value is −1 otherwise.

    The varying default value based on element type is a historical artifact.

    6.6.4 Processing model

    To get the focusable area for a focus target that is either an element that is not a [33719]focusable area, or is a [33720]navigable, given an optional string focus trigger (default "other"), run the first matching set of steps from the following list:

    If focus target is an [33721]area element with one or more shapes that are [33722]focusable areas Return the shape corresponding to the first [33723]img element in [33724]tree order that uses the image map to which the [33725]area element belongs.

    If focus target is an element with one or more scrollable regions that are [33726]focusable areas Return the element's first scrollable region, according to a pre-order, depth-first traversal of the [33727]flat tree. [33728][CSSSCOPING]

    If focus target is the [33729]document element of its [33730]Document Return the [33731]Document's [33732]viewport.

    If focus target is a [33733]navigable Return the [33734]navigable's [33735]active document.

    If focus target is a [33736]navigable container with a non-null [33737]content navigable Return the [33738]navigable container's [33739]content navigable's [33740]active document.

    If focus target is a [33741]shadow host whose [33742]shadow root's [33743]delegates focus is true

    1. Let focusedElement be the [33744]currently focused area of a top-level traversable's [33745]DOM anchor. 2. If focus target is a [33746]shadow-including inclusive ancestor of focusedElement, then return focusedElement. 3. Return the [33747]focus delegate for focus target given focus trigger.

    For [33748]sequential focusability, the handling of [33749]shadow hosts and [33750]delegates focus is done when constructing the [33751]sequential focus navigation order. That is, the [33752]focusing steps will never be called on such [33753]shadow hosts as part of sequential focus navigation.

    Otherwise Return null.

    The focus delegate for a focusTarget, given an optional string focusTrigger (default "other"), is given by the following steps: 1. If focusTarget is a [33754]shadow host and its [33755]shadow root's [33756]delegates focus is false, then return null. 2. Let whereToLook be focusTarget. 3. If whereToLook is a [33757]shadow host, then set whereToLook to whereToLook's [33758]shadow root. 4. Let autofocusDelegate be the [33759]autofocus delegate for whereToLook given focusTrigger. 5. If autofocusDelegate is not null, then return autofocusDelegate. 6. [33760]For each descendant of whereToLook's [33761]descendants, in [33762]tree order: 1. Let focusableArea be null. 2. If focusTarget is a [33763]dialog element and descendant is [33764]sequentially focusable, then set focusableArea to descendant. 3. Otherwise, if focusTarget is not a [33765]dialog and descendant is a [33766]focusable area, set focusableArea to descendant. 4. Otherwise, set focusableArea to the result of [33767]getting the focusable area for descendant given focusTrigger. This step can end up recursing, i.e., the [33768]get the focusable area steps might return the [33769]focus delegate of descendant. 5. If focusableArea is not null, then return focusableArea. It's important that we are not looking at the [33770]shadow-including descendants here, but instead only at the [33771]descendants. [33772]Shadow hosts are instead handled by the recursive case mentioned above. 7. Return null.

    The above algorithm essentially returns the first suitable [33773]focusable area where the path between its [33774]DOM anchor and focusTarget delegates focus at any shadow tree boundaries.

    The autofocus delegate for a focus target given a focus trigger is given by the following steps: 1. For each [33775]descendant descendant of focus target, in [33776]tree order: 1. If descendant does not have an [33777]autofocus content attribute, then [33778]continue. 2. Let focusable area be descendant, if descendant is a [33779]focusable area; otherwise let focusable area be the result of [33780]getting the focusable area for descendant given focus trigger. 3. If focusable area is null, then [33781]continue. 4. If focusable area is not [33782]click focusable and focus trigger is "click", then [33783]continue. 5. Return focusable area. 2. Return null.

    The focusing steps for an object new focus target that is either a [33784]focusable area, or an element that is not a [33785]focusable area, or a [33786]navigable, are as follows. They can optionally be run with a fallback target and a string focus trigger. 1. If new focus target is not a [33787]focusable area, then set new focus target to the result of [33788]getting the focusable area for new focus target, given focus trigger if it was passed. 2. If new focus target is null, then: 1. If no fallback target was specified, then return. 2. Otherwise, set new focus target to the fallback target. 3. If new focus target is a [33789]navigable container with non-null [33790]content navigable, then set new focus target to the [33791]content navigable's [33792]active document. 4. If new focus target is a [33793]focusable area and its [33794]DOM anchor is [33795]inert, then return. 5. If new focus target is the [33796]currently focused area of a top-level traversable, then return. 6. Let old chain be the [33797]current focus chain of the top-level traversable in which new focus target finds itself. 7. Let new chain be the [33798]focus chain of new focus target. 8. Run the [33799]focus update steps with old chain, new chain, and new focus target respectively.

    User agents must [33800]immediately run the [33801]focusing steps for a [33802]focusable area or [33803]navigable candidate whenever the user attempts to move the focus to candidate.

    The unfocusing steps for an object old focus target that is either a [33804]focusable area or an element that is not a [33805]focusable area are as follows: 1. If old focus target is a [33806]shadow host whose [33807]shadow root's [33808]delegates focus is true, and old focus target's [33809]shadow root is a [33810]shadow-including inclusive ancestor of the [33811]currently focused area of a top-level traversable's [33812]DOM anchor, then set old focus target to that [33813]currently focused area of a top-level traversable. 2. If old focus target is [33814]inert, then return. 3. If old focus target is an [33815]area element and one of its shapes is the [33816]currently focused area of a top-level traversable, or, if old focus target is an element with one or more scrollable regions, and one of them is the [33817]currently focused area of a top-level traversable, then let old focus target be that [33818]currently focused area of a top-level traversable. 4. Let old chain be the [33819]current focus chain of the top-level traversable in which old focus target finds itself. 5. If old focus target is not one of the entries in old chain, then return. 6. If old focus target is not a [33820]focusable area, then return. 7. Let topDocument be old chain's last entry. 8. If topDocument's [33821]node navigable has [33822]system focus, then run the [33823]focusing steps for topDocument's [33824]viewport. Otherwise, apply any relevant platform-specific conventions for removing [33825]system focus from topDocument's [33826]node navigable, and run the [33827]focus update steps given old chain, an empty list, and null.

    The [33828]unfocusing steps do not always result in the focus changing, even when applied to the [33829]currently focused area of a top-level traversable. For example, if the [33830]currently focused area of a top-level traversable is a [33831]viewport, then it will usually keep its focus regardless until another [33832]focusable area is explicitly focused with the [33833]focusing steps. __________________________________________________________________

    The focus update steps, given an old chain, a new chain, and a new focus target respectively, are as follows: 1. If the last entry in old chain and the last entry in new chain are the same, pop the last entry from old chain and the last entry from new chain and redo this step. 2. For each entry entry in old chain, in order, run these substeps: 1. If entry is an [33834]input element, and the [33835]change event [33836]applies to the element, and the element does not have a defined [33837]activation behavior, and the user has changed the element's [33838]value or its list of [33839]selected files while the control was focused without committing that change (such that it is different to what it was when the control was first focused), then: 1. Set entry's [33840]user validity to true. 2. [33841]Fire an event named [33842]change at the element, with the [33843]bubbles attribute initialized to true. 2. If entry is an element, let blur event target be entry. If entry is a [33844]Document object, let blur event target be that [33845]Document object's [33846]relevant global object. Otherwise, let blur event target be null. 3. If entry is the last entry in old chain, and entry is an [33847]Element, and the last entry in new chain is also an [33848]Element, then let related blur target be the last entry in new chain. Otherwise, let related blur target be null. 4. If blur event target is not null, [33849]fire a focus event named [33850]blur at blur event target, with related blur target as the related target. In some cases, e.g., if entry is an [33851]area element's shape, a scrollable region, or a [33852]viewport, no event is fired. 3. Apply any relevant platform-specific conventions for focusing new focus target. (For example, some platforms select the contents of a text control when that control is focused.) 4. For each entry entry in new chain, in reverse order, run these substeps: 1. If entry is a [33853]focusable area, and the [33854]focused area of the document is not entry: 1. Set document's [33855]relevant global object's [33856]navigation API's [33857]focus changed during ongoing navigation to true. 2. Designate entry as the [33858]focused area of the document. 2. If entry is an element, let focus event target be entry. If entry is a [33859]Document object, let focus event target be that [33860]Document object's [33861]relevant global object. Otherwise, let focus event target be null. 3. If entry is the last entry in new chain, and entry is an [33862]Element, and the last entry in old chain is also an [33863]Element, then let related focus target be the last entry in old chain. Otherwise, let related focus target be null. 4. If focus event target is not null, [33864]fire a focus event named [33865]focus at focus event target, with related focus target as the related target. In some cases, e.g. if entry is an [33866]area element's shape, a scrollable region, or a [33867]viewport, no event is fired.

    To fire a focus event named e at an element t with a given related target r, [33868]fire an event named e at t, using [33869]FocusEvent, with the [33870]relatedTarget attribute initialized to r, the [33871]view attribute initialized to t's [33872]node document's [33873]relevant global object, and the [33874]composed flag set. __________________________________________________________________

    When a key event is to be routed in a [33875]top-level traversable, the user agent must run the following steps: 1. Let target area be the [33876]currently focused area of the top-level traversable. 2. [33877]Assert: target area is not null, since key events are only routed to [33878]top-level traversables that have [33879]system focus. Therefore, target area is a [33880]focusable area. 3. Let target node be target area's [33881]DOM anchor. 4. If target node is a [33882]Document that has a [33883]body element, then let target node be [33884]the body element of that [33885]Document. Otherwise, if target node is a [33886]Document object that has a non-null [33887]document element, then let target node be that [33888]document element. 5. If target node is not [33889]inert, then: 1. Let canHandle be the result of [33890]dispatching the key event at target node. 2. If canHandle is true, then let target area handle the key event. This might include [33891]firing a click event at target node. __________________________________________________________________

    The has focus steps, given a [33892]Document object target, are as follows: 1. If target's [33893]node navigable's [33894]top-level traversable does not have [33895]system focus, then return false. 2. Let candidate be target's [33896]node navigable's [33897]top-level traversable's [33898]active document. 3. While true: 1. If candidate is target, then return true. 2. If the [33899]focused area of candidate is a [33900]navigable container with a non-null [33901]content navigable, then set candidate to the [33902]active document of that [33903]navigable container's [33904]content navigable. 3. Otherwise, return false.

    6.6.5 Sequential focus navigation

    Each [33905]Document has a sequential focus navigation order, which orders some or all of the [33906]focusable areas in the [33907]Document relative to each other. Its contents and ordering are given by the [33908]flattened tabindex-ordered focus navigation scope of the [33909]Document.

    Per the rules defining the [33910]flattened tabindex-ordered focus navigation scope, the ordering is not necessarily related to the [33911]tree order of the [33912]Document.

    If a [33913]focusable area is omitted from the [33914]sequential focus navigation order of its [33915]Document, then it is unreachable via [33916]sequential focus navigation.

    There can also be a sequential focus navigation starting point. It is initially unset. The user agent may set it when the user indicates that it should be moved.

    For example, the user agent could set it to the position of the user's click if the user clicks on the document contents.

    User agents are required to set the [33917]sequential focus navigation starting point to the [33918]target element when [33919]navigating to a fragment.

    A sequential focus direction is one of two possible values: "forward", or "backward". They are used in the below algorithms to describe the direction in which sequential focus travels at the user's request.

    A selection mechanism is one of two possible values: "DOM", or "sequential". They are used to describe how the [33920]sequential navigation search algorithm finds the [33921]focusable area it returns.

    When the user requests that focus move from the [33922]currently focused area of a top-level traversable to the next or previous [33923]focusable area (e.g., as the default action of pressing the tab key), or when the user requests that focus sequentially move to a [33924]top-level traversable in the first place (e.g., from the browser's location bar), the user agent must use the following algorithm: 1. Let starting point be the [33925]currently focused area of a top-level traversable, if the user requested to move focus sequentially from there, or else the [33926]top-level traversable itself, if the user instead requested to move focus from outside the [33927]top-level traversable. 2. If there is a [33928]sequential focus navigation starting point defined and it is inside starting point, then let starting point be the [33929]sequential focus navigation starting point instead. 3. Let direction be "[33930]forward" if the user requested the next control, and "[33931]backward" if the user requested the previous control. Typically, pressing tab requests the next control, and pressing shift + tab requests the previous control. 4. Loop: Let selection mechanism be "[33932]sequential" if starting point is a [33933]navigable or if starting point is in its [33934]Document's [33935]sequential focus navigation order. Otherwise, starting point is not in its [33936]Document's [33937]sequential focus navigation order; let selection mechanism be "[33938]DOM". 5. Let candidate be the result of running the [33939]sequential navigation search algorithm with starting point, direction, and selection mechanism. 6. If candidate is not null, then run the [33940]focusing steps for candidate and return. 7. Otherwise, unset the [33941]sequential focus navigation starting point. 8. If starting point is a [33942]top-level traversable, or a [33943]focusable area in the [33944]top-level traversable, the user agent should transfer focus to its own controls appropriately (if any), honouring direction, and then return. For example, if direction is backward, then the last [33945]sequentially focusable control before the browser's rendering area would be the control to focus. If the user agent has no [33946]sequentially focusable controls — a kiosk-mode browser, for instance — then the user agent may instead restart these steps with the starting point being the [33947]top-level traversable itself. 9. Otherwise, starting point is a [33948]focusable area in a [33949]child navigable. Set starting point to that [33950]child navigable's [33951]parent and return to the step labeled loop.

    The sequential navigation search algorithm, given a [33952]focusable area starting point, [33953]sequential focus direction direction, and [33954]selection mechanism selection mechanism, consists of the following steps. They return a [33955]focusable area-or-null. 1. Pick the appropriate cell from the following table, and follow the instructions in that cell. The appropriate cell is the one that is from the column whose header describes direction and from the first row whose header describes starting point and selection mechanism.

    direction is "[33956]forward" direction is "[33957]backward" starting point is a [33958]navigable Let candidate be the first [33959]suitable sequentially focusable area in starting point's [33960]active document, if any; or else null Let candidate be the last [33961]suitable sequentially focusable area in starting point's [33962]active document, if any; or else null selection mechanism is "[33963]DOM"

    Let candidate be the [33964]suitable sequentially focusable area, that appears nearest after starting point in starting point's [33965]Document, in [33966]shadow-including tree order, if any; or else null In this case, starting point does not necessarily belong to its [33967]Document's [33968]sequential focus navigation order, so we'll select the [33969]suitable [33970]item from that list that comes after starting point in [33971]shadow-including tree order. Let candidate be the [33972]suitable sequentially focusable area, that appears nearest before starting point in starting point's [33973]Document, in [33974]shadow-including tree order, if any; or else null selection mechanism is "[33975]sequential" Let candidate be the first [33976]suitable sequentially focusable area after starting point, in starting point's [33977]Document's [33978]sequential focus navigation order, if any; or else null Let candidate be the last [33979]suitable sequentially focusable area before starting point, in starting point's [33980]Document's [33981]sequential focus navigation order, if any; or else null A suitable sequentially focusable area is a [33982]focusable area whose [33983]DOM anchor is not [33984]inert and is [33985]sequentially focusable. 2. If candidate is a [33986]navigable container with a non-null [33987]content navigable, then: 1. Let recursive candidate be the result of running the [33988]sequential navigation search algorithm with candidate's [33989]content navigable, direction, and "[33990]sequential". 2. If recursive candidate is null, then return the result of running the [33991]sequential navigation search algorithm with candidate, direction, and selection mechanism. 3. Otherwise, set candidate to recursive candidate. 3. Return candidate.

    6.6.6 Focus management APIs

    dictionary FocusOptions { boolean [33992]preventScroll = false; boolean [33993]focusVisible; };

    documentOrShadowRoot.[33994]activeElement

    (BUTTON) ✔MDN

    [33995]Document/activeElement

    Support in all current engines.

    Firefox3+Safari4+Chrome2+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer6+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

    [33996]ShadowRoot/activeElement

    Support in all current engines.

    Firefox63+Safari10+Chrome53+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the deepest element in documentOrShadowRoot through which or to which key events are being routed. This is, roughly speaking, the focused element in the document.

    For the purposes of this API, when a [33997]child navigable is focused, its [33998]container is [33999]focused within its [34000]parent's [34001]active document. For example, if the user moves the focus to a text control in an [34002]iframe, the [34003]iframe is the element returned by the [34004]activeElement API in the [34005]iframe's [34006]node document.

    Similarly, when the focused element is in a different [34007]node tree than documentOrShadowRoot, the element returned will be the [34008]host that's located in the same [34009]node tree as documentOrShadowRoot if documentOrShadowRoot is a [34010]shadow-including inclusive ancestor of the focused element, and null if not.

    document.[34011]hasFocus()

    (BUTTON) ✔MDN

    [34012]Document/hasFocus

    Support in all current engines.

    Firefox3+Safari4+Chrome2+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android? Returns true if key events are being routed through or to document; otherwise, returns false. Roughly speaking, this corresponds to document, or a document nested inside document, being focused.

    window.[34013]focus()

    (BUTTON) ✔MDN

    [34014]Window/focus

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android18+WebView Android?Samsung Internet?Opera Android12.1+ Moves the focus to window's [34015]navigable, if any.

    element.[34016]focus()

    (BUTTON) ✔MDN

    [34017]HTMLElement/focus

    Support in all current engines.

    Firefox1.5+Safari3+Chrome1+ ___________________________________________________________

    Opera8+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+

    element.[34018]focus({ [34019]preventScroll, [34020]focusVisible }) Moves the focus to element.

    If element is a [34021]navigable container, moves the focus to its [34022]content navigable instead.

    By default, this method also scrolls element into view. Providing the [34023]preventScroll option and setting it to true prevents this behavior.

    By default, user agents use [34024]implementation-defined heuristics to determine whether to [34025]indicate focus via a focus ring. Providing the [34026]focusVisible option and setting it to true will ensure the focus ring is always visible.

    element.[34027]blur()

    (BUTTON) ✔MDN

    [34028]HTMLElement/blur

    Support in all current engines.

    Firefox1.5+Safari3+Chrome1+ ___________________________________________________________

    Opera8+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Moves the focus to the [34029]viewport. Use of this method is discouraged; if you want to focus the [34030]viewport, call the [34031]focus() method on the [34032]Document's [34033]document element.

    Do not use this method to hide the focus ring if you find the focus ring unsightly. Instead, use the [34034]:focus-visible pseudo-class to override the [34035]'outline' property, and provide a different way to show what element is focused. Be aware that if an alternative focusing style isn't made available, the page will be significantly less usable for people who primarily navigate pages using a keyboard, or those with reduced vision who use focus outlines to help them navigate the page.

    For example, to hide the outline from [34036]textarea elements and instead use a yellow background to indicate focus, you could use:

    textarea:focus-visible { outline: none; background: yellow; color: black; }

    The [34037]DocumentOrShadowRoot activeElement getter steps are: 1. Let candidate be [34038]this's [34039]node document's [34040]focused area's [34041]DOM anchor. 2. Set candidate to the result of [34042]retargeting candidate against [34043]this. 3. If candidate's [34044]root is not [34045]this, then return null. 4. If candidate is not a [34046]Document object, then return candidate. 5. If candidate has a [34047]body element, then return that [34048]body element. 6. If candidate's [34049]document element is non-null, then return that [34050]document element. 7. Return null.

    The [34051]Document hasFocus() method steps are to return the result of running the [34052]has focus steps given [34053]this. __________________________________________________________________

    The [34054]Window focus() method steps are: 1. Let current be [34055]this's [34056]navigable. 2. If current is null, then return. 3. If the [34057]allow focus steps given current's [34058]active document return false, then return. 4. Run the [34059]focusing steps with current. 5. If current is a [34060]top-level traversable, user agents are encouraged to trigger some sort of notification to indicate to the user that the page is attempting to gain focus.

    (BUTTON) ✔MDN

    [34061]Window/blur

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The [34062]Window blur() method steps are to do nothing.

    Historically, the [34063]focus() and [34064]blur() methods actually affected the system-level focus of the system widget (e.g., tab or window) that contained the [34065]navigable, but hostile sites widely abuse this behavior to the user's detriment. __________________________________________________________________

    The [34066]HTMLOrSVGElement focus(options) method steps are: 1. If the [34067]allow focus steps given [34068]this's [34069]node document return false, then return. 2. Run the [34070]focusing steps for [34071]this. 3. If options["focusVisible"] is true, or does not [34072]exist but in an [34073]implementation-defined way the user agent determines it would be best to do so, then [34074]indicate focus. 4. If options["preventScroll"] is false, then [34075]scroll a target into view given [34076]this, "auto", "center", and "center".

    The [34077]HTMLOrSVGElement blur() method steps are: 1. The user agent should run the [34078]unfocusing steps given [34079]this. User agents may instead selectively or uniformly do nothing, for usability reasons.

    For example, if the [34080]blur() method is unwisely being used to remove the focus ring for aesthetics reasons, the page would become unusable by keyboard users. Ignoring calls to this method would thus allow keyboard users to interact with the page. __________________________________________________________________

    The allow focus steps, given a [34081]Document object target, are: 1. If target is [34082]allowed to use the "[34083]focus-without-user-activation" feature, then return true. 2. If target's [34084]relevant global object has [34085]transient activation, then return true. 3. Return false.

    6.6.7 The [34086]autofocus attribute

    The autofocus content attribute allows the author to indicate that an element is to be focused as soon as the page is loaded, allowing the user to just start typing without having to manually focus the main element.

    When the [34087]autofocus attribute is specified on an element inside [34088]dialog elements or [34089]HTML elements whose [34090]popover attribute is set, then it will be focused when the dialog or popover becomes shown.

    The [34091]autofocus attribute is a [34092]boolean attribute.

    To find the nearest ancestor autofocus scoping root element given an [34093]Element element: 1. If element is a [34094]dialog element, then return element. 2. If element's [34095]popover attribute is not in the [34096]no popover state, then return element. 3. Let ancestor be element. 4. While ancestor has a [34097]parent element: 1. Set ancestor to ancestor's [34098]parent element. 2. If ancestor is a [34099]dialog element, then return ancestor. 3. If ancestor's [34100]popover attribute is not in the [34101]no popover state, then return ancestor. 5. Return ancestor.

    There must not be two elements with the same [34102]nearest ancestor autofocus scoping root element that both have the [34103]autofocus attribute specified.

    Each [34104]Document has an autofocus candidates [34105]list, initially empty.

    Each [34106]Document has an autofocus processed flag boolean, initially false.

    When an element with the [34107]autofocus attribute specified is [34108]inserted into a document, run the following steps: 1. If the user has indicated (for example, by starting to type in a form control) that they do not wish focus to be changed, then optionally return. 2. Let target be the element's [34109]node document. 3. If target is not [34110]fully active, then return. 4. If target's [34111]active sandboxing flag set has the [34112]sandboxed automatic features browsing context flag, then return. 5. If the [34113]allow focus steps given target return false, then return. 6. [34114]For each ancestorNavigable of target's [34115]ancestor navigables: if ancestorNavigable's [34116]active document's [34117]origin is not [34118]same origin with target's [34119]origin, then return. 7. Let topDocument be target's [34120]node navigable's [34121]top-level traversable's [34122]active document. 8. If topDocument's [34123]autofocus processed flag is false, then [34124]remove the element from topDocument's [34125]autofocus candidates, and [34126]append the element to topDocument's [34127]autofocus candidates.

    We do not check if an element is a [34128]focusable area before storing it in the [34129]autofocus candidates list, because even if it is not a focusable area when it is inserted, it could become one by the time [34130]flush autofocus candidates sees it.

    To flush autofocus candidates for a document topDocument, run these steps: 1. If topDocument's [34131]autofocus processed flag is true, then return. 2. Let candidates be topDocument's [34132]autofocus candidates. 3. If candidates [34133]is empty, then return. 4. If topDocument's [34134]focused area is not topDocument itself, or topDocument has non-null [34135]target element, then: 1. [34136]Empty candidates. 2. Set topDocument's [34137]autofocus processed flag to true. 3. Return. 5. While candidates is not [34138]empty: 1. Let element be candidates[0]. 2. Let doc be element's [34139]node document. 3. If doc is not [34140]fully active, then [34141]remove element from candidates, and [34142]continue. 4. If doc's [34143]node navigable's [34144]top-level traversable is not the same as topDocument's [34145]node navigable, then [34146]remove element from candidates, and [34147]continue. 5. If doc's [34148]script-blocking style sheet set is not [34149]empty, then return. In this case, element is the currently-best candidate, but doc is not ready for autofocusing. We'll try again next time [34150]flush autofocus candidates is called. 6. [34151]Remove element from candidates. 7. Let inclusiveAncestorDocuments be a [34152]list consisting of the [34153]active document of doc's [34154]inclusive ancestor navigables. 8. If any [34155]Document in inclusiveAncestorDocuments has non-null [34156]target element, then [34157]continue. 9. Let target be element. 10. If target is not a [34158]focusable area, then set target to the result of [34159]getting the focusable area for target. [34160]Autofocus candidates can [34161]contain elements which are not [34162]focusable areas. In addition to the special cases handled in the [34163]get the focusable area algorithm, this can happen because a non-[34164]focusable area element with an [34165]autofocus attribute was [34166]inserted into a document and it never became focusable, or because the element was focusable but its status changed while it was stored in [34167]autofocus candidates. 11. If target is not null, then: 1. [34168]Empty candidates. 2. Set topDocument's [34169]autofocus processed flag to true. 3. Run the [34170]focusing steps for target.

    This handles the automatic focusing during document load. The [34171]show() and [34172]showModal() methods of [34173]dialog elements also processes the [34174]autofocus attribute.

    Focusing the element does not imply that the user agent has to focus the browser window if it has lost focus.

    (BUTTON) ⚠MDN

    [34175]Global_attributes/autofocus

    Support in one engine only. Firefox🔰 1+Safari🔰 4+Chrome79+ __________________________________________________________________

    Opera66+Edge79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer🔰 10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android79+Samsung Internet?Opera Android57+

    The autofocus IDL attribute must [34176]reflect the content attribute of the same name.

    In the following snippet, the text control would be focused when the document was loaded.

    The [34177]autofocus attribute applies to all elements, not just to form controls. This allows examples such as the following:

    Edit me!

    6.7 Assigning keyboard shortcuts

    6.7.1 Introduction

    This section is non-normative.

    Each element that can be activated or focused can be assigned a single key combination to activate it, using the [34178]accesskey attribute.

    The exact shortcut is determined by the user agent, based on information about the user's keyboard, what keyboard shortcuts already exist on the platform, and what other shortcuts have been specified on the page, using the information provided in the [34179]accesskey attribute as a guide.

    In order to ensure that a relevant keyboard shortcut is available on a wide variety of input devices, the author can provide a number of alternatives in the [34180]accesskey attribute.

    Each alternative consists of a single character, such as a letter or digit.

    User agents can provide users with a list of the keyboard shortcuts, but authors are encouraged to do so also. The [34181]accessKeyLabel IDL attribute returns a string representing the actual key combination assigned by the user agent.

    In this example, an author has provided a button that can be invoked using a shortcut key. To support full keyboards, the author has provided "C" as a possible key. To support devices equipped only with numeric keypads, the author has provided "1" as another possible key.

    To tell the user what the shortcut key is, the author has this script here opted to explicitly add the key combination to the button's label: function addShortcutKeyLabel(button) { if (button.accessKeyLabel != ʼʼ) button.value += ʼ (ʼ + button.accessKeyLabel + ʼ)ʼ; } addShortcutKeyLabel(document.getElementById(ʼcʼ));

    Browsers on different platforms will show different labels, even for the same key combination, based on the convention prevalent on that platform. For example, if the key combination is the Control key, the Shift key, and the letter C, a Windows browser might display "Ctrl+Shift+C", whereas a Mac browser might display "^⇧C", while an Emacs browser might just display "C-C". Similarly, if the key combination is the Alt key and the Escape key, Windows might use "Alt+Esc", Mac might use "⌥⎋", and an Emacs browser might use "M-ESC" or "ESC ESC".

    In general, therefore, it is unwise to attempt to parse the value returned from the [34182]accessKeyLabel IDL attribute.

    6.7.2 The accesskey attribute

    (BUTTON) ✔MDN

    [34183]Global_attributes/accesskey

    Support in all current engines. Firefox1+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    All [34184]HTML elements may have the [34185]accesskey content attribute set. The [34186]accesskey attribute's value is used by the user agent as a guide for creating a keyboard shortcut that activates or focuses the element.

    If specified, the value must be an [34187]ordered set of unique space-separated tokens none of which are [34188]identical to another token and each of which must be exactly one code point in length.

    In the following example, a variety of links are given with access keys so that keyboard users familiar with the site can more quickly navigate to the relevant pages:

    In the following example, the search field is given two possible access keys, "s" and "0" (in that order). A user agent on a device with a full keyboard might pick Ctrl + Alt + S as the shortcut key, while a user agent on a small device with just a numeric keypad might pick just the plain unadorned key 0:

    In the following example, a button has possible access keys described. A script then tries to update the button's label to advertise the key combination the user agent selected. ...

    On one user agent, the button's label might become "Compose (⌘N)". On another, it might become "Compose (Alt+⇧+1)". If the user agent doesn't assign a key, it will be just "Compose". The exact string depends on what the [34189]assigned access key is, and on how the user agent represents that key combination.

    6.7.3 Processing model

    An element's assigned access key is a key combination derived from the element's [34190]accesskey content attribute. Initially, an element must not have an [34191]assigned access key.

    Whenever an element's [34192]accesskey attribute is set, changed, or removed, the user agent must update the element's [34193]assigned access key by running the following steps: 1. If the element has no [34194]accesskey attribute, then skip to the fallback step below. 2. Otherwise, [34195]split the attribute's value on ASCII whitespace, and let keys be the resulting tokens. 3. For each value in keys in turn, in the order the tokens appeared in the attribute's value, run the following substeps: 1. If the value is not a string exactly one code point in length, then skip the remainder of these steps for this value. 2. If the value does not correspond to a key on the system's keyboard, then skip the remainder of these steps for this value. 3. [34196](This is a tracking vector.) If the user agent can find a mix of zero or more modifier keys that, combined with the key that corresponds to the value given in the attribute, can be used as the access key, then the user agent may assign that combination of keys as the element's [34197]assigned access key and return. 4. Fallback: Optionally, the user agent may assign a key combination of its choosing as the element's [34198]assigned access key and then return. 5. If this step is reached, the element has no [34199]assigned access key.

    Once a user agent has selected and assigned an access key for an element, the user agent should not change the element's [34200]assigned access key unless the [34201]accesskey content attribute is changed or the element is moved to another [34202]Document.

    When the user presses the key combination corresponding to the [34203]assigned access key for an element, if the element [34204]defines a command, the command's [34205]Hidden State facet is false (visible), the command's [34206]Disabled State facet is also false (enabled), the element is [34207]in a document that has a non-null [34208]browsing context, and neither the element nor any of its ancestors has a [34209]hidden attribute specified, then the user agent must trigger the [34210]Action of the command.

    User agents [34211]might expose elements that have an [34212]accesskey attribute in other ways as well, e.g. in a menu displayed in response to a specific key combination. __________________________________________________________________

    (BUTTON) ✔MDN

    [34213]HTMLElement/accessKey

    Support in all current engines. Firefox5+Safari6+Chrome17+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The accessKey IDL attribute must [34214]reflect the [34215]accesskey content attribute.

    (BUTTON) MDN

    [34216]HTMLElement/accessKeyLabel Firefox8+Safari14+ChromeNo __________________________________________________________________

    Opera?EdgeNo __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The accessKeyLabel IDL attribute must return a string that represents the element's [34217]assigned access key, if any. If the element does not have one, then the IDL attribute must return the empty string.

    6.8 Editing

    6.8.1 Making document regions editable: The [34218]contenteditable content attribute

    (BUTTON) ✔MDN

    [34219]HTMLElement/contentEditable

    Support in all current engines. Firefox3+Safari3+Chrome1+ __________________________________________________________________

    Opera9+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+

    interface mixin ElementContentEditable { [[34220]CEReactions] attribute DOMString [34221]contentEditable; [[34222]CEReactions] attribute DOMString [34223]enterKeyHint; readonly attribute boolean [34224]isContentEditable; [[34225]CEReactions] attribute DOMString [34226]inputMode; };

    (BUTTON) ✔MDN

    [34227]Global_attributes/contenteditable

    Support in all current engines. Firefox3+Safari4+Chrome1+ __________________________________________________________________

    Opera9+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The contenteditable content attribute is an [34228]enumerated attribute with the following keywords and states:

    Keyword State Brief description true true The element is editable. (the empty string) false false The element is not editable. plaintext-only plaintext-only Only the element's raw text content is editable; rich formatting is disabled.

    The attribute's [34229]missing value default and [34230]invalid value default are both the inherit state. The inherit state indicates that the element is editable (or not) based on the parent element's state.

    For example, consider a page that has a [34231]form and a [34232]textarea to publish a new article, where the user is expected to write the article using HTML:

    New article

    When scripting is enabled, the [34233]textarea element could be replaced with a rich text control instead, using the [34234]contenteditable attribute:

    New article

    Features to enable, e.g., inserting links, can be implemented using the [34235]document.execCommand() API, or using [34236]Selection APIs and other DOM APIs. [34237][EXECCOMMAND] [34238][SELECTION] [34239][DOM]

    The [34240]contenteditable attribute can also be used to great effect: Live CSS editing!

    element.[34241]contentEditable [ = value ] Returns "true", "plaintext-only", "false", or "[34242]inherit", based on the state of the [34243]contenteditable attribute.

    Can be set, to change that state.

    Throws a [34244]"SyntaxError" [34245]DOMException if the new value isn't one of those strings.

    element.[34246]isContentEditable

    (BUTTON) ✔MDN

    [34247]HTMLElement/isContentEditable

    Support in all current engines.

    Firefox4+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns true if the element is editable; otherwise, returns false.

    The contentEditable IDL attribute, on getting, must return the string "true" if the content attribute is set to the [34248]true state, "plaintext-only" if the content attribute is set to the [34249]plaintext-only state, "false" if the content attribute is set to the [34250]false state, and "[34251]inherit" otherwise. On setting, if the new value is an [34252]ASCII case-insensitive match for the string "inherit" then the content attribute must be removed, if the new value is an [34253]ASCII case-insensitive match for the string "true" then the content attribute must be set to the string "true", if the new value is an [34254]ASCII case-insensitive match for the string "plaintext-only" then the content attribute must be set to the string "plaintext-only", if the new value is an [34255]ASCII case-insensitive match for the string "false" then the content attribute must be set to the string "false", and otherwise the attribute setter must throw a [34256]"SyntaxError" [34257]DOMException.

    The isContentEditable IDL attribute, on getting, must return true if the element is either an [34258]editing host or [34259]editable, and false otherwise.

    6.8.2 Making entire documents editable: the [34260]designMode getter and setter

    document.[34261]designMode [ = value ]

    (BUTTON) ✔MDN

    [34262]Document/designMode

    Support in all current engines.

    Firefox1+Safari1.2+Chrome1+ ___________________________________________________________

    Opera9+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Returns "on" if the document is editable, and "off" if it isn't.

    Can be set, to change the document's current state. This focuses the document and resets the selection in that document.

    [34263]Document objects have an associated design mode enabled, which is a boolean. It is initially false.

    The designMode getter steps are to return "on" if [34264]this's [34265]design mode enabled is true; otherwise "off".

    The [34266]designMode setter steps are: 1. Let value be the given value, [34267]converted to ASCII lowercase. 2. If value is "on" and [34268]this's [34269]design mode enabled is false, then: 1. Set [34270]this's [34271]design mode enabled to true. 2. Reset [34272]this's [34273]active range's start and end boundary points to be at the start of [34274]this. 3. Run the [34275]focusing steps for [34276]this's [34277]document element, if non-null. 3. If value is "off", then set [34278]this's [34279]design mode enabled to false.

    6.8.3 Best practices for in-page editors

    Authors are encouraged to set the [34280]'white-space' property on [34281]editing hosts and on markup that was originally created through these editing mechanisms to the value 'pre-wrap'. Default HTML whitespace handling is not well suited to WYSIWYG editing, and line wrapping will not work correctly in some corner cases if [34282]'white-space' is left at its default value.

    As an example of problems that occur if the default 'normal' value is used instead, consider the case of the user typing "yellow␣␣ball", with two spaces (here represented by "␣") between the words. With the editing rules in place for the default value of [34283]'white-space' ('normal'), the resulting markup will either consist of "yellow  ball" or "yellow  ball"; i.e., there will be a non-breaking space between the two words in addition to the regular space. This is necessary because the 'normal' value for [34284]'white-space' requires adjacent regular spaces to be collapsed together.

    In the former case, "yellow⍽" might wrap to the next line ("⍽" being used here to represent a non-breaking space) even though "yellow" alone might fit at the end of the line; in the latter case, "⍽ball", if wrapped to the start of the line, would have visible indentation from the non-breaking space.

    When [34285]'white-space' is set to 'pre-wrap', however, the editing rules will instead simply put two regular spaces between the words, and should the two words be split at the end of a line, the spaces would be neatly removed from the rendering.

    6.8.4 Editing APIs

    An editing host is either an [34286]HTML element with its [34287]contenteditable attribute in the true state or plaintext-only state, or a [34288]child [34289]HTML element of a [34290]Document whose [34291]design mode enabled is true.

    The definition of the terms [34292]active range, [34293]editing host of, and [34294]editable, the user interface requirements of elements that are [34295]editing hosts or [34296]editable, the [34297]execCommand(), [34298]queryCommandEnabled(), [34299]queryCommandIndeterm(), [34300]queryCommandState(), [34301]queryCommandSupported(), and [34302]queryCommandValue() methods, text selections, and the [34303]delete the selection algorithm are defined in execCommand. [34304][EXECCOMMAND]

    6.8.5 Spelling and grammar checking

    User agents can support the checking of spelling and grammar of editable text, either in form controls (such as the value of [34305]textarea elements), or in elements in an [34306]editing host (e.g. using [34307]contenteditable).

    For each element, user agents must establish a default behavior, either through defaults or through preferences expressed by the user. There are three possible default behaviors for each element:

    true-by-default The element will be checked for spelling and grammar if its contents are editable and spellchecking is not explicitly disabled through the [34308]spellcheck attribute.

    false-by-default The element will never be checked for spelling and grammar unless spellchecking is explicitly enabled through the [34309]spellcheck attribute.

    inherit-by-default The element's default behavior is the same as its parent element's. Elements that have no parent element cannot have this as their default behavior. __________________________________________________________________

    (BUTTON) ✔MDN

    [34310]Global_attributes/spellcheck

    Support in all current engines. FirefoxYesSafariYesChrome9+ __________________________________________________________________

    OperaYesEdge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer11 __________________________________________________________________

    Firefox Android57+Safari iOS9.3+Chrome Android47+WebView Android?Samsung Internet?Opera Android37+

    The spellcheck attribute is an [34311]enumerated attribute with the following keywords and states:

    Keyword State Brief description true true Spelling and grammar will be checked. (the empty string) false false Spelling and grammar will not be checked.

    The attribute's [34312]missing value default and [34313]invalid value default are both the default state. The default state indicates that the element is to act according to a default behavior, possibly based on the parent element's own [34314]spellcheck state, as defined below. __________________________________________________________________

    element.[34315]spellcheck [ = value ] Returns true if the element is to have its spelling and grammar checked; otherwise, returns false.

    Can be set, to override the default and set the [34316]spellcheck content attribute.

    The spellcheck IDL attribute, on getting, must return true if the element's [34317]spellcheck content attribute is in the [34318]true state, or if the element's [34319]spellcheck content attribute is in the [34320]default state and the element's [34321]default behavior is [34322]true-by-default, or if the element's [34323]spellcheck content attribute is in the [34324]default state and the element's [34325]default behavior is [34326]inherit-by-default and the element's parent element's [34327]spellcheck IDL attribute would return true; otherwise, if none of those conditions applies, then the attribute must instead return false.

    The [34328]spellcheck IDL attribute is not affected by user preferences that override the [34329]spellcheck content attribute, and therefore might not reflect the actual spellchecking state.

    On setting, if the new value is true, then the element's [34330]spellcheck content attribute must be set to "true", otherwise it must be set to "false". __________________________________________________________________

    User agents should only consider the following pieces of text as checkable for the purposes of this feature: * The [34331]value of [34332]input elements whose [34333]type attributes are in the [34334]Text, [34335]Search, [34336]URL, or [34337]Email states and that are [34338]mutable (i.e. that do not have the [34339]readonly attribute specified and that are not [34340]disabled). * The [34341]value of [34342]textarea elements that do not have a [34343]readonly attribute and that are not [34344]disabled. * Text in [34345]Text nodes that are children of [34346]editing hosts or [34347]editable elements. * Text in attributes of [34348]editable elements.

    For text that is part of a [34349]Text node, the element with which the text is associated is the element that is the immediate parent of the first character of the word, sentence, or other piece of text. For text in attributes, it is the attribute's element. For the values of [34350]input and [34351]textarea elements, it is the element itself.

    To determine if a word, sentence, or other piece of text in an applicable element (as defined above) is to have spelling- and grammar-checking enabled, the UA must use the following algorithm: 1. If the user has disabled the checking for this text, then the checking is disabled. 2. Otherwise, if the user has forced the checking for this text to always be enabled, then the checking is enabled. 3. Otherwise, if the element with which the text is associated has a [34352]spellcheck content attribute, then: if that attribute is in the [34353]true state, then checking is enabled; otherwise, if that attribute is in the [34354]false state, then checking is disabled. 4. Otherwise, if there is an ancestor element with a [34355]spellcheck content attribute that is not in the [34356]default state, then: if the nearest such ancestor's [34357]spellcheck content attribute is in the [34358]true state, then checking is enabled; otherwise, checking is disabled. 5. Otherwise, if the element's [34359]default behavior is [34360]true-by-default, then checking is enabled. 6. Otherwise, if the element's [34361]default behavior is [34362]false-by-default, then checking is disabled. 7. Otherwise, if the element's parent element has its checking enabled, then checking is enabled. 8. Otherwise, checking is disabled.

    If the checking is enabled for a word/sentence/text, the user agent should indicate spelling and grammar errors in that text. User agents should take into account the other semantics given in the document when suggesting spelling and grammar corrections. User agents may use the language of the element to determine what spelling and grammar rules to use, or may use the user's preferred language settings. UAs should use [34363]input element attributes such as [34364]pattern to ensure that the resulting value is valid, where possible.

    If checking is disabled, the user agent should not indicate spelling or grammar errors for that text.

    The element with ID "a" in the following example would be the one used to determine if the word "Hello" is checked for spelling errors. In this example, it would not be.

    Hello!

    The element with ID "b" in the following example would have checking enabled (the leading space character in the attribute's value on the [34365]input element causes the attribute to be ignored, so the ancestor's value is used instead, regardless of the default).

    This specification does not define the user interface for spelling and grammar checkers. A user agent could offer on-demand checking, could perform continuous checking while the checking is enabled, or could use other interfaces.

    6.8.6 Writing suggestions

    User agents offer writing suggestions as users type into editable regions, either in form controls (e.g., the [34366]textarea element) or in elements in an [34367]editing host.

    The writingsuggestions content attribute is an [34368]enumerated attribute with the following keywords and states:

    Keyword State Brief description true true Writing suggestions should be offered on this element. (the empty string) false false Writing suggestions should not be offered on this element.

    The attribute's [34369]missing value default is the default state. The default state indicates that the element is to act according to a default behavior, possibly based on the parent element's own [34370]writingsuggestions state, as defined below.

    The attribute's [34371]invalid value default is the [34372]true state.

    element.[34373]writingSuggestions [ = value ] Returns "true" if the user agent is to offer writing suggestions under the scope of the element; otherwise, returns "false".

    Can be set, to override the default and set the [34374]writingsuggestions content attribute.

    The computed writing suggestions value of a given element is determined by running the following steps: 1. If element's [34375]writingsuggestions content attribute is in the [34376]false state, return "false". 2. If element's [34377]writingsuggestions content attribute is in the [34378]default state, element has a parent element, and the [34379]computed writing suggestions value of element's parent element is "false", then return "false". 3. Return "true".

    The writingSuggestions getter steps are: 1. Return [34380]this's [34381]computed writing suggestions value.

    The [34382]writingSuggestions IDL attribute is not affected by user preferences that override the [34383]writingsuggestions content attribute, and therefore might not reflect the actual writing suggestions state.

    The [34384]writingSuggestions setter steps are: 1. Set [34385]this's [34386]writingsuggestions content attribute to the given value. __________________________________________________________________

    User agents should only offer suggestions within an element's scope if the result of running the following algorithm given element returns true: 1. If the user has disabled writing suggestions, then return false. 2. If none of the following conditions are true: + element is an [34387]input element whose [34388]type attribute is in either the [34389]Text, [34390]Search, [34391]Telephone, [34392]URL, or [34393]Email state and is [34394]mutable; + element is a [34395]textarea element that is [34396]mutable; or + element is an [34397]editing host or is [34398]editable, then return false. 3. If element has an [34399]inclusive ancestor with a [34400]writingsuggestions content attribute that's not in the [34401]default and the nearest such ancestor's [34402]writingsuggestions content attribute is in the [34403]false state, then return false. 4. Otherwise, return true.

    This specification does not define the user interface for writing suggestions. A user agent could offer on-demand suggestions, continuous suggestions as the user types, inline suggestions, autofill-like suggestions in a popup, or could use other interfaces.

    6.8.7 Autocapitalization

    Some methods of entering text, for example virtual keyboards on mobile devices, and also voice input, often assist users by automatically capitalizing the first letter of sentences (when composing text in a language with this convention). A virtual keyboard that implements autocapitalization might automatically switch to showing uppercase letters (but allow the user to toggle it back to lowercase) when a letter that should be autocapitalized is about to be typed. Other types of input, for example voice input, may perform autocapitalization in a way that does not give users an option to intervene first. The [34404]autocapitalize attribute allows authors to control such behavior.

    The [34405]autocapitalize attribute, as typically implemented, does not affect behavior when typing on a physical keyboard. (For this reason, as well as the ability for users to override the autocapitalization behavior in some cases or edit the text after initial input, the attribute must not be relied on for any sort of input validation.)

    The [34406]autocapitalize attribute can be used on an [34407]editing host to control autocapitalization behavior for the hosted editable region, on an [34408]input or [34409]textarea element to control the behavior for inputting text into that element, or on a [34410]form element to control the default behavior for all [34411]autocapitalize-and-autocorrect inheriting elements associated with the [34412]form element.

    The [34413]autocapitalize attribute never causes autocapitalization to be enabled for [34414]input elements whose [34415]type attribute is in one of the [34416]URL, [34417]Email, or [34418]Password states. (This behavior is included in the [34419]used autocapitalization hint algorithm below.)

    The autocapitalization processing model is based on selecting among five autocapitalization hints, defined as follows:

    default The user agent and input method should make their own determination of whether or not to enable autocapitalization.

    none No autocapitalization should be applied (all letters should default to lowercase).

    sentences The first letter of each sentence should default to a capital letter; all other letters should default to lowercase.

    words The first letter of each word should default to a capital letter; all other letters should default to lowercase.

    characters All letters should default to uppercase.

    (BUTTON) ✔MDN

    [34420]Global_attributes/autocapitalize

    Support in all current engines. Firefox111+SafariNoChrome43+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet Explorer? __________________________________________________________________

    Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The autocapitalize attribute is an [34421]enumerated attribute whose states are the possible [34422]autocapitalization hints. The [34423]autocapitalization hint specified by the attribute's state combines with other considerations to form the [34424]used autocapitalization hint, which informs the behavior of the user agent. The keywords for this attribute and their state mappings are as follows:

    Keyword State off [34425]none none on [34426]sentences sentences words [34427]words characters [34428]characters

    The attribute's [34429]missing value default is the [34430]default state, and its [34431]invalid value default is the [34432]sentences state.

    element.[34433]autocapitalize [ = value ] Returns the current autocapitalization state for the element, or an empty string if it hasn't been set. Note that for [34434]input and [34435]textarea elements that inherit their state from a [34436]form element, this will return the autocapitalization state of the [34437]form element, but for an element in an editable region, this will not return the autocapitalization state of the editing host (unless this element is, in fact, the [34438]editing host).

    Can be set, to set the [34439]autocapitalize content attribute (and thereby change the autocapitalization behavior for the element).

    To compute the own autocapitalization hint of an element element, run the following steps: 1. If the [34440]autocapitalize content attribute is present on element, and its value is not the empty string, return the state of the attribute. 2. If element is an [34441]autocapitalize-and-autocorrect inheriting element and has a non-null [34442]form owner, return the [34443]own autocapitalization hint of element's [34444]form owner. 3. Return [34445]default.

    The autocapitalize getter steps are to: 1. Let state be the [34446]own autocapitalization hint of [34447]this. 2. If state is [34448]default, then return the empty string. 3. If state is [34449]none, then return "[34450]none". 4. If state is [34451]sentences, then return "[34452]sentences". 5. Return the keyword value corresponding to state.

    The [34453]autocapitalize setter steps are to set the [34454]autocapitalize content attribute to the given value. __________________________________________________________________

    User agents that support customizable autocapitalization behavior for a text input method and wish to allow web developers to control this functionality should, during text input into an element, compute the used autocapitalization hint for the element. This will be an [34455]autocapitalization hint that describes the recommended autocapitalization behavior for text input into the element.

    User agents or input methods may choose to ignore or override the [34456]used autocapitalization hint in certain circumstances.

    The [34457]used autocapitalization hint for an element element is computed using the following algorithm: 1. If element is an [34458]input element whose [34459]type attribute is in one of the [34460]URL, [34461]Email, or [34462]Password states, then return [34463]default. 2. If element is an [34464]input element or a [34465]textarea element, then return element's [34466]own autocapitalization hint. 3. If element is an [34467]editing host or an [34468]editable element, then return the [34469]own autocapitalization hint of the [34470]editing host of element. 4. [34471]Assert: this step is never reached, since text input only occurs in elements that meet one of the above criteria.

    6.8.8 Autocorrection

    Some methods of entering text assist users by automatically correcting misspelled words while typing, a process also known as autocorrection. User agents can support autocorrection of editable text, either in form controls (such as the value of [34472]textarea elements), or in elements in an [34473]editing host (e.g., using [34474]contenteditable). Autocorrection may be accompanied by user interfaces indicating that text is about to be autocorrected or has been autocorrected, and is commonly performed when inserting punctuation characters, spaces, or new paragraphs after misspelled words. The [34475]autocorrect attribute allows authors to control such behavior.

    The [34476]autocorrect attribute can be used on an editing host to control autocorrection behavior for the hosted editable region, on an [34477]input or [34478]textarea element to control the behavior when inserting text into that element, or on a [34479]form element to control the default behavior for all [34480]autocapitalize-and-autocorrect inheriting elements associated with the [34481]form element.

    The [34482]autocorrect attribute never causes autocorrection to be enabled for [34483]input elements whose [34484]type attribute is in one of the [34485]URL, [34486]E-mail, or [34487]Password states. (This behavior is included in the [34488]used autocorrection state algorithm below.)

    The autocorrect attribute is an enumerated attribute with the following keywords and states:

    Keyword State Brief description on on The user agent is permitted to automatically correct spelling errors while the user types. Whether spelling is automatically corrected while typing left is for the user agent to decide, and may depend on the element as well as the user's preferences. (the empty string) off off The user agent is not allowed to automatically correct spelling while the user types.

    The attribute's [34489]invalid value default and [34490]missing value default are both the [34491]on state.

    The autocorrect getter steps are: return true if the element's [34492]used autocorrection state is [34493]on and false if the element's [34494]used autocorrection state is [34495]off. The setter steps are: if the given value is true, then the element's [34496]autocorrect attribute must be set to "on"; otherwise it must be set to "off".

    To compute the used autocorrection state of an element element, run these steps: 1. If element is an [34497]input element whose [34498]type attribute is in one of the [34499]URL, [34500]E-mail, or [34501]Password states, then return [34502]off. 2. If the [34503]autocorrect content attribute is present on element, then return the state of the attribute. 3. If element is an [34504]autocapitalize-and-autocorrect inheriting element and has a non-null [34505]form owner, then return the state of element's [34506]form owner's [34507]autocorrect attribute. 4. Return [34508]on.

    element . [34509]autocorrect Returns the autocorrection behavior of the element. Note that for [34510]autocapitalize-and-autocorrect inheriting elements that inherit their state from a [34511]form element, this will return the autocorrection behavior of the [34512]form element, but for an element in an editable region, this will not return the autocorrection behavior of the [34513]editing host (unless this element is, in fact, the [34514]editing host).

    element . [34515]autocorrect = value Updates the [34516]autocorrect content attribute (and thereby changes the autocorrection behavior of the element).

    The [34517]input element in the following example would not allow autocorrection, since it does not have an [34518]autocorrect content attribute and therefore inherits from the [34519]form element, which has an attribute of "[34520]off". However, the [34521]textarea element would allow autocorrection, since it has an [34522]autocorrect content attribute with a value of "[34523]on".

    6.8.9 Input modalities: the [34524]inputmode attribute

    User agents can support the [34525]inputmode attribute on form controls (such as the value of [34526]textarea elements), or in elements in an [34527]editing host (e.g., using [34528]contenteditable).

    (BUTTON) ✔MDN

    [34529]Global_attributes/inputmode

    Support in all current engines. Firefox95+SafariNoChrome66+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android79+Safari iOS12.2+Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The inputmode content attribute is an [34530]enumerated attribute that specifies what kind of input mechanism would be most helpful for users entering content.

    Keyword Description none The user agent should not display a virtual keyboard. This keyword is useful for content that renders its own keyboard control. text The user agent should display a virtual keyboard capable of text input in the user's locale. tel The user agent should display a virtual keyboard capable of telephone number input. This should including keys for the digits 0 to 9, the "#" character, and the "*" character. In some locales, this can also include alphabetic mnemonic labels (e.g., in the US, the key labeled "2" is historically also labeled with the letters A, B, and C). url The user agent should display a virtual keyboard capable of text input in the user's locale, with keys for aiding in the input of [34531]URLs, such as that for the "/" and "." characters and for quick input of strings commonly found in domain names such as "www." or ".com". email The user agent should display a virtual keyboard capable of text input in the user's locale, with keys for aiding in the input of email addresses, such as that for the "@" character and the "." character. numeric The user agent should display a virtual keyboard capable of numeric input. This keyword is useful for PIN entry. decimal The user agent should display a virtual keyboard capable of fractional numeric input. Numeric keys and the format separator for the locale should be shown. search The user agent should display a virtual keyboard optimized for search.

    (BUTTON) ✔MDN

    [34532]HTMLElement/inputMode

    Support in all current engines. Firefox95+Safari12.1+Chrome66+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android79+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The inputMode IDL attribute must [34533]reflect the [34534]inputmode content attribute, [34535]limited to only known values.

    When [34536]inputmode is unspecified (or is in a state not supported by the user agent), the user agent should determine the default virtual keyboard to be shown. Contextual information such as the input [34537]type or [34538]pattern attributes should be used to determine which type of virtual keyboard should be presented to the user.

    6.8.10 Input modalities: the [34539]enterkeyhint attribute

    User agents can support the [34540]enterkeyhint attribute on form controls (such as the value of [34541]textarea elements), or in elements in an [34542]editing host (e.g., using [34543]contenteditable).

    (BUTTON) ✔MDN

    [34544]Global_attributes/enterkeyhint

    Support in all current engines. Firefox94+Safari13.1+Chrome77+ __________________________________________________________________

    Opera66+Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android57+

    The enterkeyhint content attribute is an [34545]enumerated attribute that specifies what action label (or icon) to present for the enter key on virtual keyboards. This allows authors to customize the presentation of the enter key in order to make it more helpful for users.

    Keyword Description enter The user agent should present a cue for the operation 'enter', typically inserting a new line. done The user agent should present a cue for the operation 'done', typically meaning there is nothing more to input and the input method editor (IME) will be closed. go The user agent should present a cue for the operation 'go', typically meaning to take the user to the target of the text they typed. next The user agent should present a cue for the operation 'next', typically taking the user to the next field that will accept text. previous The user agent should present a cue for the operation 'previous', typically taking the user to the previous field that will accept text. search The user agent should present a cue for the operation 'search', typically taking the user to the results of searching for the text they have typed. send The user agent should present a cue for the operation 'send', typically delivering the text to its target.

    (BUTTON) ✔MDN

    [34546]HTMLElement/enterKeyHint

    Support in all current engines. Firefox94+Safari13.1+Chrome77+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The enterKeyHint IDL attribute must [34547]reflect the [34548]enterkeyhint content attribute, [34549]limited to only known values.

    When [34550]enterkeyhint is unspecified (or is in a state not supported by the user agent), the user agent should determine the default action label (or icon) to present. Contextual information such as the [34551]inputmode, [34552]type, or [34553]pattern attributes should be used to determine which action label (or icon) to present on the virtual keyboard.

    6.9 Find-in-page

    6.9.1 Introduction

    This section defines find-in-page — a common user-agent mechanism which allows users to search through the contents of the page for particular information.

    Access to the [34554]find-in-page feature is provided via a find-in-page interface. This is a user-agent provided user interface, which allows the user to specify input and the parameters of the search. This interface can appear as a result of a shortcut or a menu selection.

    A combination of text input and settings in the [34555]find-in-page interface represents the user query. This typically includes the text that the user wants to search for, as well as optional settings (e.g., the ability to restrict the search to whole words only).

    The user-agent processes page contents for a given [34556]query, and identifies zero or more matches, which are content ranges that satisfy the user [34557]query.

    One of the [34558]matches is identified to the user as the active match. It is highlighted and scrolled into view. The user can navigate through the [34559]matches by advancing the [34560]active match using the [34561]find-in-page interface.

    [34562]Issue #3539 tracks standardizing how [34563]find-in-page underlies the currently-unspecified window.find() API.

    6.9.2 Interaction with [34564]details and [34565]hidden=until-found

    When find-in-page begins searching for matches, all [34566]details elements in the page which do not have their [34567]open attribute set should have the [34568]skipped contents of their second slot become accessible, without modifying the [34569]open attribute, in order to make find-in-page able to search through it. Similarly, all HTML elements with the [34570]hidden attribute in the [34571]hidden until found state should have their [34572]skipped contents become accessible without modifying the [34573]hidden attribute in order to make find-in-page able to search through them. After find-in-page finishes searching for matches, the [34574]details elements and the elements with the [34575]hidden attribute in the [34576]hidden until found state should have their contents become skipped again. This entire process must happen synchronously (and so is not observable to users or to author code). [34577][CSSCONTAIN]

    When find-in-page chooses a new [34578]active match, perform the following steps: 1. Let node be the first node in the [34579]active match. 2. [34580]Queue a global task on the [34581]user interaction task source given node's [34582]relevant global object to run the following steps: 1. Run the [34583]ancestor details revealing algorithm on node. 2. Run the [34584]ancestor hidden-until-found revealing algorithm on node.

    [34585](This is a tracking vector.) When find-in-page auto-expands a [34586]details element like this, it will fire a [34587]toggle event. As with the separate [34588]scroll event that find-in-page fires, this event could be used by the page to discover what the user is typing into the find-in-page dialog. If the page creates a tiny scrollable area with the current search term and every possible next character the user could type separated by a gap, and observes which one the browser scrolls to, it can add that character to the search term and update the scrollable area to incrementally build the search term. By wrapping each possible next match in a closed [34589]details element, the page could listen to [34590]toggle events instead of [34591]scroll events. This attack could be addressed for both events by not acting on every character the user types into the find-in-page dialog.

    6.9.3 Interaction with selection

    The find-in-page process is invoked in the context of a document, and may have an effect on the [34592]selection of that document. Specifically, the range that defines the [34593]active match can dictate the current selection. These selection updates, however, can happen at different times during the find-in-page process (e.g. upon the [34594]find-in-page interface dismissal or upon a change in the [34595]active match range).

    6.10 Close requests and close watchers

    6.10.1 Close requests

    In an [34596]implementation-defined (and likely device-specific) manner, a user can send a close request to the user agent. This indicates that the user wishes to close something that is currently being shown on the screen, such as a popover, menu, dialog, picker, or display mode.

    Some example close requests are: * The Esc key on desktop platforms. * The back button or gesture on certain mobile platforms such as Android. * Any assistive technology's dismiss gesture, such as iOS VoiceOver's two-finger scrub "z" gesture. * A game controller's canonical "back" button, such as the circle button on a DualShock gamepad.

    Whenever the user agent receives a potential close request targeted at a [34597]Document document, it must [34598]queue a global task on the [34599]user interaction task source given document's [34600]relevant global object to perform the following close request steps: 1. If document's [34601]fullscreen element is not null, then: 1. [34602]Fully exit fullscreen given document's [34603]node navigable's [34604]top-level traversable's [34605]active document. 2. Return. This does not fire any relevant event, such as [34606]keydown; it only causes [34607]fullscreenchange to be eventually fired. 2. Optionally, skip to the step labeled [34608]alternative processing. For example, if the user agent detects user frustration at repeated close request interception by the current web page, it might take this path. 3. Fire any relevant events, per UI Events or other relevant specifications. [34609][UIEVENTS] An example of a relevant event in the UI Events model would be the [34610]keydown event that UI Events [34611]suggests firing when the user presses the Esc key on their keyboard. On most platforms with keyboards, this is treated as a [34612]close request, and so would trigger these [34613]close request steps. An example of relevant events that are outside of the model given in UI Events would be assistive technology synthesizing an Esc [34614]keydown event when the user sends a [34615]close request by using a dismiss gesture. 4. Let event be null if no such events are fired, or the [34616]Event object representing one of the fired events otherwise. If multiple events are fired, which one is chosen is [34617]implementation-defined. 5. If event is not null, and its [34618]canceled flag is set, then return. 6. If document is not [34619]fully active, then return. This step is necessary because, if event is not null, then an event listener might have caused document to no longer be [34620]fully active. 7. Let closedSomething be the result of [34621]processing close watchers on document's [34622]relevant global object. 8. If closedSomething is true, then return. 9. Alternative processing: Otherwise, there was nothing watching for a [34623]close request. The user agent may instead interpret this interaction as some other action, instead of interpreting it as a close request.

    On platforms where pressing the Esc key is interpreted as a [34624]close request, the user agent must interpret the key being pressed down as the close request, instead of the key being released. Thus, in the above algorithm, the "relevant events" that are fired must be the single [34625]keydown event.

    On platforms where Esc is the [34626]close request, the user agent will first fire an appropriately-initialized [34627]keydown event. If the web developer cancels the event by calling [34628]preventDefault(), then nothing further happens. But if the event fires without being canceled, then the user agent proceeds to [34629]process close watchers.

    On platforms where a back button is a potential [34630]close request, no event is involved, so when the back button is pressed, the user agent proceeds directly to [34631]process close watchers. If there is an [34632]active [34633]close watcher, then that will get triggered. If there is not, then the user agent can interpret the back button press in another way, for example as a request to [34634]traverse the history by a delta of −1.

    6.10.2 Close watcher infrastructure

    Each [34635]Window has a close watcher manager, which is a [34636]struct with the following [34637]items: * Groups, a [34638]list of [34639]lists of [34640]close watchers, initially empty. * Allowed number of groups, a number, initially 1. * Next user interaction allows a new group, a boolean, initially true.

    Most of the complexity of the [34641]close watcher manager comes from anti-abuse protections designed to prevent developers from disabling users' history traversal abilities, for platforms where a [34642]close request's [34643]fallback action is the main mechanism of history traversal. In particular:

    The grouping of [34644]close watchers is designed so that if multiple close watchers are created without [34645]history-action activation, they are grouped together, so that a user-triggered [34646]close request will close all of the close watchers in a group. This ensures that web developers can't intercept an unlimited number of close requests by creating close watchers; instead they can create a number equal to at most 1 + the number of times the [34647]user activates the page.

    The [34648]next user interaction allows a new group boolean encourages web developers to create [34649]close watchers in a way that is tied to individual [34650]user activations. Without it, each user activation would increase the [34651]allowed number of groups, even if the web developer isn't "using" those user activations to create close watchers. In short: * Allowed: user interaction; create a close watcher in its own group; user interaction; create a close watcher in a second independent group. * Disallowed: user interaction; user interaction; create a close watcher in its own group; create a close watcher in a second independent group. * Allowed: user interaction; user interaction; create a close watcher in its own group; create a close watcher grouped with the previous one.

    This protection is not important for upholding our desired invariant of creating at most (1 + the number of times the [34652]user activates the page) groups. A determined abuser will just create one close watcher per user interaction, "banking" them for future abuse. But this system causes more predictable behavior for the normal case, and encourages non-abusive developers to create close watchers directly in response to user interactions.

    To notify the close watcher manager about user activation given a [34653]Window window: 1. Let manager be window's [34654]close watcher manager. 2. If manager's [34655]next user interaction allows a new group is true, then increment manager's [34656]allowed number of groups. 3. Set manager's [34657]next user interaction allows a new group to false. __________________________________________________________________

    A close watcher is a [34658]struct with the following [34659]items: * A window, a [34660]Window. * A cancel action, an algorithm accepting a boolean argument and returning a boolean. The argument indicates whether or not the cancel action algorithm can prevent the close request from proceeding via the algorithm's return value. If the boolean argument is true, then the algorithm can return either true to indicate that the caller will proceed to the [34661]close action, or false to indicate that the caller will bail out. If the argument is false, then the return value is always false. This algorithm can never throw an exception. * A close action, an algorithm accepting no arguments and returning nothing. This algorithm can never throw an exception. * An is running cancel action boolean. * A get enabled state, an algorithm accepting no arguments and returning a boolean. This algorithm can never throw an exception.

    A [34662]close watcher closeWatcher is active if closeWatcher's [34663]window's [34664]close watcher manager [34665]contains any list which [34666]contains closeWatcher. __________________________________________________________________

    To establish a close watcher given a [34667]Window window, a list of steps cancelAction, a list of steps closeAction, and an algorithm that returns a boolean getEnabledState: 1. [34668]Assert: window's [34669]associated Document is [34670]fully active. 2. Let closeWatcher be a new [34671]close watcher, with

    [34672]window window

    [34673]cancel action cancelAction

    [34674]close action closeAction

    [34675]is running cancel action false

    [34676]get enabled state getEnabledState

    3. Let manager be window's [34677]close watcher manager. 4. If manager's [34678]groups's [34679]size is less than manager's [34680]allowed number of groups, then [34681]append « closeWatcher » to manager's [34682]groups. 5. Otherwise: 1. [34683]Assert: manager's [34684]groups's [34685]size is at least 1 in this branch, since manager's [34686]allowed number of groups is always at least 1. 2. [34687]Append closeWatcher to manager's [34688]groups's last [34689]item. 6. Set manager's [34690]next user interaction allows a new group to true. 7. Return closeWatcher.

    To request to close a [34691]close watcher closeWatcher with boolean requireHistoryActionActivation: 1. If closeWatcher [34692]is not active, then return true. 2. If the result of running closeWatcher's [34693]get enabled state is false, then return true. 3. If closeWatcher's [34694]is running cancel action is true, then return true. 4. Let window be closeWatcher's [34695]window. 5. If window's [34696]associated Document is not [34697]fully active, then return true. 6. Let canPreventClose be true if requireHistoryActionActivation is false, or if window's [34698]close watcher manager's [34699]groups's [34700]size is less than window's [34701]close watcher manager's [34702]allowed number of groups, and window has [34703]history-action activation; otherwise false. 7. Set closeWatcher's [34704]is running cancel action to true. 8. Let shouldContinue be the result of running closeWatcher's [34705]cancel action given canPreventClose. 9. Set closeWatcher's [34706]is running cancel action to false. 10. If shouldContinue is false, then: 1. [34707]Assert: canPreventClose is true. 2. [34708]Consume history-action user activation given window. 3. Return false. Note that since these substeps [34709]consume history-action user activation, [34710]requesting to close a [34711]close watcher twice without any intervening [34712]user activation will result in canPreventClose being false the second time. 11. [34713]Close closeWatcher. 12. Return true.

    To close a [34714]close watcher closeWatcher: 1. If closeWatcher [34715]is not active, then return. 2. If the result of running closeWatcher's [34716]get enabled state is false, then return. 3. If closeWatcher's [34717]window's [34718]associated Document is not [34719]fully active, then return. 4. [34720]Destroy closeWatcher. 5. Run closeWatcher's [34721]close action.

    To destroy a [34722]close watcher closeWatcher: 1. Let manager be closeWatcher's [34723]window's [34724]close watcher manager. 2. [34725]For each group of manager's [34726]groups: [34727]remove closeWatcher from group. 3. [34728]Remove any item from manager's [34729]groups that [34730]is empty. __________________________________________________________________

    To process close watchers given a [34731]Window window: 1. Let processedACloseWatcher be false. 2. If window's [34732]close watcher manager's [34733]groups is not empty: 1. Let group be the last [34734]item in window's [34735]close watcher manager's [34736]groups. 2. [34737]For each closeWatcher of group, in reverse order: 1. If the result of running closeWatcher's [34738]get enabled state is true, set processedACloseWatcher to true. 2. Let shouldProceed be the result of [34739]requesting to close closeWatcher with true. 3. If shouldProceed is false, then [34740]break. 3. If window's [34741]close watcher manager's [34742]allowed number of groups is greater than 1, decrement it by 1. 4. Return processedACloseWatcher.

    6.10.3 The [34743]CloseWatcher interface

    [Exposed=Window] interface CloseWatcher : [34744]EventTarget { [34745]constructor(optional [34746]CloseWatcherOptions options = {});

    undefined [34747]requestClose(); undefined [34748]close(); undefined [34749]destroy();

    attribute [34750]EventHandler [34751]oncancel; attribute [34752]EventHandler [34753]onclose; };

    dictionary CloseWatcherOptions { [34754]AbortSignal signal; };

    watcher = new [34755]CloseWatcher() watcher = new [34756]CloseWatcher({ [34757]signal }) Creates a new [34758]CloseWatcher instance.

    If the [34759]signal option is provided, then watcher can be destroyed (as if by [34760]watcher.destroy()) by aborting the given [34761]AbortSignal.

    If any [34762]close watcher is already active, and the [34763]Window does not have [34764]history-action activation, then the resulting [34765]CloseWatcher will be closed together with that already-active [34766]close watcher in response to any [34767]close request. (This already-active [34768]close watcher does not necessarily have to be a [34769]CloseWatcher object; it could be a modal [34770]dialog element, or a popover generated by an element with the [34771]popover attribute.)

    watcher.[34772]requestClose() Acts as if a [34773]close request was sent targeting watcher, by first firing a [34774]cancel event, and if that event is not canceled with [34775]preventDefault(), proceeding to fire a [34776]close event before deactivating the close watcher as if [34777]watcher.destroy() was called.

    This is a helper utility that can be used to consolidate cancelation and closing logic into the [34778]cancel and [34779]close event handlers, by having all non-[34780]close request closing affordances call this method.

    watcher.[34781]close() Immediately fires the [34782]close event, and then deactivates the close watcher as if [34783]watcher.destroy() was called.

    This is a helper utility that can be used trigger the closing logic into the [34784]close event handler, skipping any logic in the [34785]cancel event handler.

    watcher.[34786]destroy() Deactivates watcher, so that it will no longer receive [34787]close events and so that new independent [34788]CloseWatcher instances can be constructed.

    This is intended to be called if the relevant UI element is torn down in some other way than being closed.

    Each [34789]CloseWatcher instance has an internal close watcher, which is a [34790]close watcher.

    The new CloseWatcher(options) constructor steps are: 1. If [34791]this's [34792]relevant global object's [34793]associated Document is not [34794]fully active, then throw an [34795]"InvalidStateError" [34796]DOMException. 2. Let closeWatcher be the result of [34797]establishing a close watcher given [34798]this's [34799]relevant global object, with: + [34800]cancelAction given canPreventClose being to return the result of [34801]firing an event named [34802]cancel at [34803]this, with the [34804]cancelable attribute initialized to canPreventClose. + [34805]closeAction being to [34806]fire an event named [34807]close at [34808]this. + [34809]getEnabledState being to return true. 3. If options["[34810]signal"] [34811]exists, then: 1. If options["[34812]signal"] is [34813]aborted, then [34814]destroy closeWatcher. 2. [34815]Add the following steps to options["[34816]signal"]: 1. [34817]Destroy closeWatcher. 4. Set [34818]this's [34819]internal close watcher to closeWatcher.

    The requestClose() method steps are to [34820]request to close [34821]this's [34822]internal close watcher with false.

    The close() method steps are to [34823]close [34824]this's [34825]internal close watcher.

    The destroy() method steps are to [34826]destroy [34827]this's [34828]internal close watcher.

    The following are the [34829]event handlers (and their corresponding [34830]event handler event types) that must be supported, as [34831]event handler IDL attributes, by all objects implementing the [34832]CloseWatcher interface:

    [34833]Event handler [34834]Event handler event type oncancel [34835]cancel onclose [34836]close

    If one wanted to implement a custom picker control, which closed itself on a user-provided [34837]close request as well as when a close button is pressed, the following code shows how one would use the [34838]CloseWatcher API to process close requests: const watcher = new CloseWatcher(); const picker = setUpAndShowPickerDOMElement();

    let chosenValue = null;

    watcher.onclose = () => { chosenValue = picker.querySelector(ʼinputʼ).value; picker.remove(); };

    picker.querySelector(ʼ.close-buttonʼ).onclick = () => watcher.requestClose();

    Note how the logic to gather the chosen value is centralized in the [34839]CloseWatcher object's [34840]close event handler, with the [34841]click event handler for the close button delegating to that logic by calling [34842]requestClose().

    The [34843]cancel event on [34844]CloseWatcher objects can be used to prevent the [34845]close event from firing, and the [34846]CloseWatcher from being destroying. A typical use case is as follows: watcher.oncancel = async (e) => { if (hasUnsavedData && e.cancelable) { e.preventDefault();

    const userReallyWantsToClose = await askForConfirmation("Are you sure you wa nt to close?"); if (userReallyWantsToClose) { hasUnsavedData = false; watcher.close(); } } };

    For abuse prevention purposes, this event is only [34847]cancelable if the page has [34848]history-action activation, which will be lost after any given [34849]close request. This ensures that if the user sends a close request twice in a row without any intervening user activation, the request definitely succeeds; the second request ignores any [34850]cancel event handler's attempt to call [34851]preventDefault() and proceeds to close the [34852]CloseWatcher.

    Combined, the above two examples show how [34853]requestClose() and [34854]close() differ. Because we used [34855]requestClose() in the [34856]click event handler for the close button, clicking that button will trigger the [34857]CloseWatcher's [34858]cancel event, and thus potentially ask the user for confirmation if there is unsaved data. If we had used [34859]close(), then this check would be skipped. Sometimes that is appropriate, but usually [34860]requestClose() is the better option for user-triggered close requests.

    In addition to the [34861]user activation restrictions for [34862]cancel events, there is a more subtle form of user activation gating for [34863]CloseWatcher construction. If one creates more than one [34864]CloseWatcher without user activation, then the newly-created one will get grouped together with the most-recently-created [34865]close watcher, so that a single [34866]close request will close them both: window.onload = () => { // This will work as normal: it is the first close watcher created without use r activation. (new CloseWatcher()).onclose = () => { /* ... */ }; };

    button1.onclick = () => { // This will work as normal: the button click counts as user activation. (new CloseWatcher()).onclose = () => { /* ... */ }; };

    button2.onclick = () => { // These will be grouped together, and both will close in response to a single close request. (new CloseWatcher()).onclose = () => { /* ... */ }; (new CloseWatcher()).onclose = () => { /* ... */ }; };

    This means that calling [34867]destroy(), [34868]close(), or [34869]requestClose() properly is important. Doing so is the only way to get back the "free" ungrouped close watcher slot. Such close watchers created without user activation are useful for cases like session inactivity timeout dialogs or urgent notifications of server-triggered events, which are not generated in response to user activation.

    6.11 Drag and drop

    (BUTTON) ✔MDN

    [34870]HTML_Drag_and_Drop_API

    Support in all current engines. Firefox3.5+Safari3.1+Chrome4+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)18Internet Explorer5.5+ __________________________________________________________________

    Firefox Android4+Safari iOS2+Chrome Android18+WebView Android4.4+Samsung Internet1.5+Opera Android14+

    This section defines an event-based drag-and-drop mechanism.

    This specification does not define exactly what a drag-and-drop operation actually is.

    On a visual medium with a pointing device, a drag operation could be the default action of a [34871]mousedown event that is followed by a series of [34872]mousemove events, and the drop could be triggered by the mouse being released.

    When using an input modality other than a pointing device, users would probably have to explicitly indicate their intention to perform a drag-and-drop operation, stating what they wish to drag and where they wish to drop it, respectively.

    However it is implemented, drag-and-drop operations must have a starting point (e.g. where the mouse was clicked, or the start of the selection or element that was selected for the drag), may have any number of intermediate steps (elements that the mouse moves over during a drag, or elements that the user picks as possible drop points as they cycle through possibilities), and must either have an end point (the element above which the mouse button was released, or the element that was finally selected), or be canceled. The end point must be the last element selected as a possible drop point before the drop occurs (so if the operation is not canceled, there must be at least one element in the middle step).

    6.11.1 Introduction

    This section is non-normative.

    To make an element draggable, give the element a [34873]draggable attribute, and set an event listener for [34874]dragstart that stores the data being dragged.

    The event handler typically needs to check that it's not a text selection that is being dragged, and then needs to store data into the [34875]DataTransfer object and set the allowed effects (copy, move, link, or some combination).

    For example:

    What fruits do you like?

    1. Apples
    2. Oranges
    3. Pears
    __________________________________________________________________

    To accept a drop, the drop target has to listen to the following events: 1. The [34876]dragenter event handler reports whether or not the drop target is potentially willing to accept the drop, by canceling the event. 2. The [34877]dragover event handler specifies what feedback will be shown to the user, by setting the [34878]dropEffect attribute of the [34879]DataTransfer associated with the event. This event also needs to be canceled. 3. The [34880]drop event handler has a final chance to accept or reject the drop. If the drop is accepted, the event handler must perform the drop operation on the target. This event needs to be canceled, so that the [34881]dropEffect attribute's value can be used by the source. Otherwise, the drop operation is rejected.

    For example:

    Drop your favorite fruits below:

    __________________________________________________________________

    To remove the original element (the one that was dragged) from the display, the [34882]dragend event can be used.

    For our example here, that means updating the original markup to handle that event:

    What fruits do you like?

      ...as before...

    6.11.2 The drag data store

    The data that underlies a drag-and-drop operation, known as the drag data store, consists of the following information: * A drag data store item list, which is a list of items representing the dragged data, each consisting of the following information:

    The drag data item kind The kind of data:

    Text Text.

    File Binary data with a filename.

    The drag data item type string A Unicode string giving the type or format of the data, generally given by a [34883]MIME type. Some values that are not [34884]MIME types are special-cased for legacy reasons. The API does not enforce the use of [34885]MIME types; other values can be used as well. In all cases, however, the values are all [34886]converted to ASCII lowercase by the API.

    There is a limit of one text item per [34887]item type string.

    The actual data A Unicode or binary string, in some cases with a filename (itself a Unicode string), as per [34888]the drag data item kind.

    The [34889]drag data store item list is ordered in the order that the items were added to the list; most recently added last. * The following information, used to generate the UI feedback during the drag: + User-agent-defined default feedback information, known as the drag data store default feedback. + Optionally, a bitmap image and the coordinate of a point within that image, known as the drag data store bitmap and drag data store hot spot coordinate. * A drag data store mode, which is one of the following:

    Read/write mode For the [34890]dragstart event. New data can be added to the [34891]drag data store.

    Read-only mode For the [34892]drop event. The list of items representing dragged data can be read, including the data. No new data can be added.

    Protected mode For all other events. The formats and kinds in the [34893]drag data store list of items representing dragged data can be enumerated, but the data itself is unavailable and no new data can be added.

    * A drag data store allowed effects state, which is a string.

    When a [34894]drag data store is created, it must be initialized such that its [34895]drag data store item list is empty, it has no [34896]drag data store default feedback, it has no [34897]drag data store bitmap and [34898]drag data store hot spot coordinate, its [34899]drag data store mode is [34900]protected mode, and its [34901]drag data store allowed effects state is the string "[34902]uninitialized".

    6.11.3 The [34903]DataTransfer interface

    (BUTTON) ✔MDN

    [34904]DataTransfer

    Support in all current engines. Firefox3.5+Safari4+Chrome3+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer8+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12+

    [34905]DataTransfer objects are used to expose the [34906]drag data store that underlies a drag-and-drop operation. [Exposed=Window] interface DataTransfer { [34907]constructor();

    attribute DOMString [34908]dropEffect; attribute DOMString [34909]effectAllowed;

    [SameObject] readonly attribute [34910]DataTransferItemList [34911]items;

    undefined [34912]setDragImage(Element image, long x, long y);

    /* old interface */ readonly attribute FrozenArray [34913]types; DOMString [34914]getData(DOMString format); undefined [34915]setData(DOMString format, DOMString data); undefined [34916]clearData(optional DOMString format); [SameObject] readonly attribute [34917]FileList [34918]files; };

    dataTransfer = new [34919]DataTransfer()

    (BUTTON) ✔MDN

    [34920]DataTransfer/DataTransfer

    Support in all current engines.

    Firefox62+Safari14.1+Chrome59+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)17+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet8.0+Opera Android44+ Creates a new [34921]DataTransfer object with an empty [34922]drag data store.

    dataTransfer.[34923]dropEffect [ = value ]

    (BUTTON) ✔MDN

    [34924]DataTransfer/dropEffect

    Support in all current engines.

    Firefox3.5+Safari4+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer8+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the kind of operation that is currently selected. If the kind of operation isn't one of those that is allowed by the [34925]effectAllowed attribute, then the operation will fail.

    Can be set, to change the selected operation.

    The possible values are "[34926]none", "[34927]copy", "[34928]link", and "[34929]move".

    dataTransfer.[34930]effectAllowed [ = value ]

    (BUTTON) ✔MDN

    [34931]DataTransfer/effectAllowed

    Support in all current engines.

    Firefox3.5+Safari4+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer8+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the kinds of operations that are to be allowed.

    Can be set (during the [34932]dragstart event), to change the allowed operations.

    The possible values are "[34933]none", "[34934]copy", "[34935]copyLink", "[34936]copyMove", "[34937]link", "[34938]linkMove", "[34939]move", "[34940]all", and "[34941]uninitialized",

    dataTransfer.[34942]items

    (BUTTON) ✔MDN

    [34943]DataTransfer/items

    Support in all current engines.

    Firefox50+Safari11.1+Chrome3+ ___________________________________________________________

    Opera12+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android52+Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12+ Returns a [34944]DataTransferItemList object, with the drag data.

    dataTransfer.[34945]setDragImage(element, x, y)

    (BUTTON) ✔MDN

    [34946]DataTransfer/setDragImage

    Support in all current engines.

    Firefox3.5+Safari4+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)18Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Uses the given element to update the drag feedback, replacing any previously specified feedback.

    dataTransfer.[34947]types

    (BUTTON) ✔MDN

    [34948]DataTransfer/types

    Support in all current engines.

    Firefox3.5+Safari4+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns a [34949]frozen array listing the formats that were set in the [34950]dragstart event. In addition, if any files are being dragged, then one of the types will be the string "Files".

    data = dataTransfer.[34951]getData(format)

    (BUTTON) ✔MDN

    [34952]DataTransfer/getData

    Support in all current engines.

    Firefox3.5+Safari4+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer8+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the specified data. If there is no such data, returns the empty string.

    dataTransfer.[34953]setData(format, data)

    (BUTTON) ✔MDN

    [34954]DataTransfer/setData

    Support in all current engines.

    Firefox3.5+Safari5+Chrome3+ ___________________________________________________________

    Opera12+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer8+ ___________________________________________________________

    Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android12+ Adds the specified data.

    dataTransfer.[34955]clearData([ format ])

    (BUTTON) ✔MDN

    [34956]DataTransfer/clearData

    Support in all current engines.

    Firefox3.5+Safari4+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer8+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Removes the data of the specified formats. Removes all data if the argument is omitted.

    dataTransfer.[34957]files

    (BUTTON) ✔MDN

    [34958]DataTransfer/files

    Support in all current engines.

    Firefox3.6+Safari4+Chrome3+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns a [34959]FileList of the files being dragged, if any.

    [34960]DataTransfer objects that are created as part of [34961]drag-and-drop events are only valid while those events are being fired.

    A [34962]DataTransfer object is associated with a [34963]drag data store while it is valid.

    A [34964]DataTransfer object has an associated types array, which is a [34965]FrozenArray, initially empty. When the contents of the [34966]DataTransfer object's [34967]drag data store item list change, or when the [34968]DataTransfer object becomes no longer associated with a [34969]drag data store, run the following steps: 1. Let L be an empty sequence. 2. If the [34970]DataTransfer object is still associated with a [34971]drag data store, then: 1. For each item in the [34972]DataTransfer object's [34973]drag data store item list whose [34974]kind is text, add an entry to L consisting of the item's [34975]type string. 2. If there are any items in the [34976]DataTransfer object's [34977]drag data store item list whose [34978]kind is File, then add an entry to L consisting of the string "Files". (This value can be distinguished from the other values because it is not lowercase.) 3. Set the [34979]DataTransfer object's [34980]types array to the result of [34981]creating a frozen array from L.

    The DataTransfer() constructor, when invoked, must return a newly created [34982]DataTransfer object initialized as follows: 1. Set the [34983]drag data store's [34984]item list to be an empty list. 2. Set the [34985]drag data store's [34986]mode to [34987]read/write mode. 3. Set the [34988]dropEffect and [34989]effectAllowed to "none".

    The dropEffect attribute controls the drag-and-drop feedback that the user is given during a drag-and-drop operation. When the [34990]DataTransfer object is created, the [34991]dropEffect attribute is set to a string value. On getting, it must return its current value. On setting, if the new value is one of "none", "copy", "link", or "move", then the attribute's current value must be set to the new value. Other values must be ignored.

    The effectAllowed attribute is used in the drag-and-drop processing model to initialize the [34992]dropEffect attribute during the [34993]dragenter and [34994]dragover events. When the [34995]DataTransfer object is created, the [34996]effectAllowed attribute is set to a string value. On getting, it must return its current value. On setting, if [34997]drag data store's [34998]mode is the [34999]read/write mode and the new value is one of "none", "copy", "copyLink", "copyMove", "link", "linkMove", "move", "all", or "uninitialized", then the attribute's current value must be set to the new value. Otherwise, it must be left unchanged.

    The items attribute must return a [35000]DataTransferItemList object associated with the [35001]DataTransfer object.

    The setDragImage(image, x, y) method must run the following steps: 1. If the [35002]DataTransfer object is no longer associated with a [35003]drag data store, return. Nothing happens. 2. If the [35004]drag data store's [35005]mode is not the [35006]read/write mode, return. Nothing happens. 3. If image is an [35007]img element, then set the [35008]drag data store bitmap to the element's image (at its [35009]natural size); otherwise, set the [35010]drag data store bitmap to an image generated from the given element (the exact mechanism for doing so is not currently specified). 4. Set the [35011]drag data store hot spot coordinate to the given x, y coordinate.

    The types attribute must return this [35012]DataTransfer object's [35013]types array.

    The getData(format) method must run the following steps: 1. If the [35014]DataTransfer object is no longer associated with a [35015]drag data store, then return the empty string. 2. If the [35016]drag data store's [35017]mode is the [35018]protected mode, then return the empty string. 3. Let format be the first argument, [35019]converted to ASCII lowercase. 4. Let convert-to-URL be false. 5. If format equals "text", change it to "text/plain". 6. If format equals "url", change it to "text/uri-list" and set convert-to-URL to true. 7. If there is no item in the [35020]drag data store item list whose [35021]kind is text and whose [35022]type string is equal to format, return the empty string. 8. Let result be the data of the item in the [35023]drag data store item list whose [35024]kind is Plain Unicode string and whose [35025]type string is equal to format. 9. If convert-to-URL is true, then parse result as appropriate for text/uri-list data, and then set result to the first URL from the list, if any, or the empty string otherwise. [35026][RFC2483] 10. Return result.

    The setData(format, data) method must run the following steps: 1. If the [35027]DataTransfer object is no longer associated with a [35028]drag data store, return. Nothing happens. 2. If the [35029]drag data store's [35030]mode is not the [35031]read/write mode, return. Nothing happens. 3. Let format be the first argument, [35032]converted to ASCII lowercase. 4. If format equals "text", change it to "text/plain". If format equals "url", change it to "text/uri-list". 5. Remove the item in the [35033]drag data store item list whose [35034]kind is text and whose [35035]type string is equal to format, if there is one. 6. Add an item to the [35036]drag data store item list whose [35037]kind is text, whose [35038]type string is equal to format, and whose data is the string given by the method's second argument.

    The clearData(format) method must run the following steps: 1. If the [35039]DataTransfer object is no longer associated with a [35040]drag data store, return. Nothing happens. 2. If the [35041]drag data store's [35042]mode is not the [35043]read/write mode, return. Nothing happens. 3. If the method was called with no arguments, remove each item in the [35044]drag data store item list whose [35045]kind is Plain Unicode string, and return. 4. Set format to format, [35046]converted to ASCII lowercase. 5. If format equals "text", change it to "text/plain". If format equals "url", change it to "text/uri-list". 6. Remove the item in the [35047]drag data store item list whose [35048]kind is text and whose [35049]type string is equal to format, if there is one.

    The [35050]clearData() method does not affect whether any files were included in the drag, so the [35051]types attribute's list might still not be empty after calling [35052]clearData() (it would still contain the "Files" string if any files were included in the drag).

    The files attribute must return a [35053]live [35054]FileList sequence consisting of [35055]File objects representing the files found by the following steps. Furthermore, for a given [35056]FileList object and a given underlying file, the same [35057]File object must be used each time. 1. Start with an empty list L. 2. If the [35058]DataTransfer object is no longer associated with a [35059]drag data store, the [35060]FileList is empty. Return the empty list L. 3. If the [35061]drag data store's [35062]mode is the [35063]protected mode, return the empty list L. 4. For each item in the [35064]drag data store item list whose [35065]kind is File, add the item's data (the file, in particular its name and contents, as well as its [35066]type) to the list L. 5. The files found by these steps are those in the list L.

    This version of the API does not expose the types of the files during the drag.

    6.11.3.1 The [35067]DataTransferItemList interface

    (BUTTON) ✔MDN

    [35068]DataTransferItemList

    Support in all current engines. Firefox50+Safari6+Chrome13+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android14+

    Each [35069]DataTransfer object is associated with a [35070]DataTransferItemList object. [Exposed=Window] interface DataTransferItemList { readonly attribute unsigned long [35071]length; [35072]getter [35073]DataTransferItem (unsigned long index); [35074]DataTransferItem? [35075]add(DOMString data, DOMString type); [35076]DataTransferItem? [35077]add([35078]File data); undefined [35079]remove(unsigned long index); undefined [35080]clear(); };

    items.[35081]length

    (BUTTON) ✔MDN

    [35082]DataTransferItemList/length

    Support in all current engines.

    Firefox50+Safari6+Chrome13+ ___________________________________________________________

    Opera12+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android14+ Returns the number of items in the [35083]drag data store.

    items[index] Returns the [35084]DataTransferItem object representing the indexth entry in the [35085]drag data store.

    items.[35086]remove(index)

    (BUTTON) ✔MDN

    [35087]DataTransferItemList/remove

    Support in all current engines.

    Firefox50+Safari6+Chrome31+ ___________________________________________________________

    Opera12+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android14+ Removes the indexth entry in the [35088]drag data store.

    items.[35089]clear()

    (BUTTON) ✔MDN

    [35090]DataTransferItemList/clear

    Support in all current engines.

    Firefox50+Safari6+Chrome13+ ___________________________________________________________

    Opera12+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android14+ Removes all the entries in the [35091]drag data store.

    items.[35092]add(data)

    (BUTTON) ✔MDN

    [35093]DataTransferItemList/add

    Support in all current engines.

    Firefox50+Safari6+Chrome13+ ___________________________________________________________

    Opera12+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android14+

    items.[35094]add(data, type) Adds a new entry for the given data to the [35095]drag data store. If the data is plain text then a type string has to be provided also.

    While the [35096]DataTransferItemList object's [35097]DataTransfer object is associated with a [35098]drag data store, the [35099]DataTransferItemList object's mode is the same as the [35100]drag data store mode. When the [35101]DataTransferItemList object's [35102]DataTransfer object is not associated with a [35103]drag data store, the [35104]DataTransferItemList object's mode is the disabled mode. The [35105]drag data store referenced in this section (which is used only when the [35106]DataTransferItemList object is not in the disabled mode) is the [35107]drag data store with which the [35108]DataTransferItemList object's [35109]DataTransfer object is associated.

    The length attribute must return zero if the object is in the disabled mode; otherwise it must return the number of items in the [35110]drag data store item list.

    When a [35111]DataTransferItemList object is not in the disabled mode, its [35112]supported property indices are the [35113]indices of the [35114]drag data store item list.

    To [35115]determine the value of an indexed property i of a [35116]DataTransferItemList object, the user agent must return a [35117]DataTransferItem object representing the ith item in the [35118]drag data store. The same object must be returned each time a particular item is obtained from this [35119]DataTransferItemList object. The [35120]DataTransferItem object must be associated with the same [35121]DataTransfer object as the [35122]DataTransferItemList object when it is first created.

    The add() method must run the following steps: 1. If the [35123]DataTransferItemList object is not in the [35124]read/write mode, return null. 2. Jump to the appropriate set of steps from the following list:

    If the first argument to the method is a string If there is already an item in the [35125]drag data store item list whose [35126]kind is text and whose [35127]type string is equal to the value of the method's second argument, [35128]converted to ASCII lowercase, then throw a [35129]"NotSupportedError" [35130]DOMException.

    Otherwise, add an item to the [35131]drag data store item list whose [35132]kind is text, whose [35133]type string is equal to the value of the method's second argument, [35134]converted to ASCII lowercase, and whose data is the string given by the method's first argument.

    If the first argument to the method is a [35135]File Add an item to the [35136]drag data store item list whose [35137]kind is File, whose [35138]type string is the [35139]type of the [35140]File, [35141]converted to ASCII lowercase, and whose data is the same as the [35142]File's data.

    3. [35143]Determine the value of the indexed property corresponding to the newly added item, and return that value (a newly created [35144]DataTransferItem object).

    The remove(index) method must run these steps: 1. If the [35145]DataTransferItemList object is not in the [35146]read/write mode, throw an [35147]"InvalidStateError" [35148]DOMException. 2. If the [35149]drag data store does not contain an indexth item, then return. 3. Remove the indexth item from the [35150]drag data store.

    The clear() method, if the [35151]DataTransferItemList object is in the [35152]read/write mode, must remove all the items from the [35153]drag data store. Otherwise, it must do nothing.

    6.11.3.2 The [35154]DataTransferItem interface

    (BUTTON) ✔MDN

    [35155]DataTransferItem

    Support in all current engines. Firefox50+Safari5.1+Chrome11+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android4+Samsung Internet?Opera Android14+

    Each [35156]DataTransferItem object is associated with a [35157]DataTransfer object. [Exposed=Window] interface DataTransferItem { readonly attribute DOMString [35158]kind; readonly attribute DOMString [35159]type; undefined [35160]getAsString([35161]FunctionStringCallback? _callback); [35162]File? [35163]getAsFile(); };

    callback FunctionStringCallback = undefined (DOMString data);

    item.[35164]kind

    (BUTTON) ✔MDN

    [35165]DataTransferItem/kind

    Support in all current engines.

    Firefox50+Safari5.1+Chrome11+ ___________________________________________________________

    Opera12+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android4+Samsung Internet?Opera Android14+ Returns [35166]the drag data item kind, one of: "string", "file".

    item.[35167]type

    (BUTTON) ✔MDN

    [35168]DataTransferItem/type

    Support in all current engines.

    Firefox50+Safari5.1+Chrome11+ ___________________________________________________________

    Opera12+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android4+Samsung Internet?Opera Android14+ Returns [35169]the drag data item type string.

    item.[35170]getAsString(callback)

    (BUTTON) ✔MDN

    [35171]DataTransferItem/getAsString

    Support in all current engines.

    Firefox50+Safari5.1+Chrome11+ ___________________________________________________________

    Opera12+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android4+Samsung Internet?Opera Android14+ Invokes the callback with the string data as the argument, if [35172]the drag data item kind is text.

    file = item.[35173]getAsFile()

    (BUTTON) ✔MDN

    [35174]DataTransferItem/getAsFile

    Support in all current engines.

    Firefox50+Safari5.1+Chrome11+ ___________________________________________________________

    Opera12+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android4+Samsung Internet?Opera Android14+ Returns a [35175]File object, if [35176]the drag data item kind is File.

    While the [35177]DataTransferItem object's [35178]DataTransfer object is associated with a [35179]drag data store and that [35180]drag data store's [35181]drag data store item list still contains the item that the [35182]DataTransferItem object represents, the [35183]DataTransferItem object's mode is the same as the [35184]drag data store mode. When the [35185]DataTransferItem object's [35186]DataTransfer object is not associated with a [35187]drag data store, or if the item that the [35188]DataTransferItem object represents has been removed from the relevant [35189]drag data store item list, the [35190]DataTransferItem object's mode is the disabled mode. The [35191]drag data store referenced in this section (which is used only when the [35192]DataTransferItem object is not in the disabled mode) is the [35193]drag data store with which the [35194]DataTransferItem object's [35195]DataTransfer object is associated.

    The kind attribute must return the empty string if the [35196]DataTransferItem object is in the disabled mode; otherwise it must return the string given in the cell from the second column of the following table from the row whose cell in the first column contains [35197]the drag data item kind of the item represented by the [35198]DataTransferItem object:

    Kind String Text "string" File "file"

    The type attribute must return the empty string if the [35199]DataTransferItem object is in the disabled mode; otherwise it must return [35200]the drag data item type string of the item represented by the [35201]DataTransferItem object.

    The getAsString(callback) method must run the following steps: 1. If the callback is null, return. 2. If the [35202]DataTransferItem object is not in the [35203]read/write mode or the [35204]read-only mode, return. The callback is never invoked. 3. If [35205]the drag data item kind is not text, then return. The callback is never invoked. 4. Otherwise, [35206]queue a task to invoke callback, passing the actual data of the item represented by the [35207]DataTransferItem object as the argument.

    The getAsFile() method must run the following steps: 1. If the [35208]DataTransferItem object is not in the [35209]read/write mode or the [35210]read-only mode, then return null. 2. If [35211]the drag data item kind is not File, then return null. 3. Return a new [35212]File object representing the actual data of the item represented by the [35213]DataTransferItem object.

    6.11.4 The [35214]DragEvent interface

    (BUTTON) ✔MDN

    [35215]DragEvent/DragEvent

    Support in all current engines. Firefox3.5+Safari14+Chrome46+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOSNoChrome AndroidNoWebView Android?Samsung Internet?Opera Android?

    [35216]DragEvent

    Support in all current engines. Firefox3.5+Safari14+Chrome46+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOSNoChrome AndroidNoWebView Android?Samsung Internet?Opera Android?

    The drag-and-drop processing model involves several events. They all use the [35217]DragEvent interface. [Exposed=Window] interface DragEvent : [35218]MouseEvent { constructor(DOMString type, optional [35219]DragEventInit eventInitDict = {});

    readonly attribute [35220]DataTransfer? [35221]dataTransfer; };

    dictionary DragEventInit : [35222]MouseEventInit { [35223]DataTransfer? dataTransfer = null; };

    event.[35224]dataTransfer

    (BUTTON) ✔MDN

    [35225]DragEvent/dataTransfer

    Support in all current engines.

    Firefox3.5+Safari14+Chrome46+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer🔰 10+ ___________________________________________________________

    Firefox Android?Safari iOSNoChrome AndroidNoWebView Android?Samsung Internet?Opera Android? Returns the [35226]DataTransfer object for the event.

    Although, for consistency with other event interfaces, the [35227]DragEvent interface has a constructor, it is not particularly useful. In particular, there's no way to create a useful [35228]DataTransfer object from script, as [35229]DataTransfer objects have a processing and security model that is coordinated by the browser during drag-and-drops.

    The dataTransfer attribute of the [35230]DragEvent interface must return the value it was initialized to. It represents the context information for the event.

    When a user agent is required to fire a DND event named e at an element, using a particular [35231]drag data store, and optionally with a specific related target, the user agent must run the following steps: 1. Let dataDragStoreWasChanged be false. 2. If no specific related target was provided, set related target to null. 3. Let window be the [35232]relevant global object of the [35233]Document object of the specified target element. 4. If e is [35234]dragstart, then set the [35235]drag data store mode to the [35236]read/write mode and set dataDragStoreWasChanged to true. If e is [35237]drop, set the [35238]drag data store mode to the [35239]read-only mode. 5. Let dataTransfer be a newly created [35240]DataTransfer object associated with the given [35241]drag data store. 6. Set the [35242]effectAllowed attribute to the [35243]drag data store's [35244]drag data store allowed effects state. 7. Set the [35245]dropEffect attribute to "[35246]none" if e is [35247]dragstart, [35248]drag, or [35249]dragleave; to the value corresponding to the [35250]current drag operation if e is [35251]drop or [35252]dragend; and to a value based on the [35253]effectAllowed attribute's value and the drag-and-drop source, as given by the following table, otherwise (i.e. if e is [35254]dragenter or [35255]dragover):

    [35256]effectAllowed [35257]dropEffect "[35258]none" "[35259]none" "[35260]copy" "[35261]copy" "[35262]copyLink" "[35263]copy", or, [35264]if appropriate, "[35265]link" "[35266]copyMove" "[35267]copy", or, [35268]if appropriate, "[35269]move" "[35270]all" "[35271]copy", or, [35272]if appropriate, either "[35273]link" or "[35274]move" "[35275]link" "[35276]link" "[35277]linkMove" "[35278]link", or, [35279]if appropriate, "[35280]move" "[35281]move" "[35282]move" "[35283]uninitialized" when what is being dragged is a selection from a text control "[35284]move", or, [35285]if appropriate, either "[35286]copy" or "[35287]link" "[35288]uninitialized" when what is being dragged is a selection "[35289]copy", or, [35290]if appropriate, either "[35291]link" or "[35292]move" "[35293]uninitialized" when what is being dragged is an [35294]a element with an [35295]href attribute "[35296]link", or, [35297]if appropriate, either "[35298]copy" or "[35299]move" Any other case "[35300]copy", or, [35301]if appropriate, either "[35302]link" or "[35303]move" Where the table above provides possibly appropriate alternatives, user agents may instead use the listed alternative values if platform conventions dictate that the user has requested those alternate effects. For example, Windows platform conventions are such that dragging while holding the "alt" key indicates a preference for linking the data, rather than moving or copying it. Therefore, on a Windows system, if "[35304]link" is an option according to the table above while the "alt" key is depressed, the user agent could select that instead of "[35305]copy" or "[35306]move". 8. Let event be the result of [35307]creating an event using [35308]DragEvent. 9. Initialize event's [35309]type attribute to e, its [35310]bubbles attribute to true, its [35311]view attribute to window, its [35312]relatedTarget attribute to related target, and its [35313]dataTransfer attribute to dataTransfer. 10. If e is not [35314]dragleave or [35315]dragend, then initialize event's [35316]cancelable attribute to true. 11. Initialize event's mouse and key attributes according to the state of the input devices as they would be for user interaction events. If there is no relevant pointing device, then initialize event's screenX, screenY, [35317]clientX, [35318]clientY, and button attributes to 0. 12. [35319]Dispatch event at the specified target element. 13. Set the [35320]drag data store allowed effects state to the current value of dataTransfer's [35321]effectAllowed attribute. (It can only have changed value if e is [35322]dragstart.) 14. If dataDragStoreWasChanged is true, then set the [35323]drag data store mode back to the [35324]protected mode. 15. Break the association between dataTransfer and the [35325]drag data store.

    6.11.5 Processing model

    When the user attempts to begin a drag operation, the user agent must run the following steps. User agents must act as if these steps were run even if the drag actually started in another document or application and the user agent was not aware that the drag was occurring until it intersected with a document under the user agent's purview. 1. Determine what is being dragged, as follows: If the drag operation was invoked on a selection, then it is the selection that is being dragged. Otherwise, if the drag operation was invoked on a [35326]Document, it is the first element, going up the ancestor chain, starting at the node that the user tried to drag, that has the IDL attribute [35327]draggable set to true. If there is no such element, then nothing is being dragged; return, the drag-and-drop operation is never started. Otherwise, the drag operation was invoked outside the user agent's purview. What is being dragged is defined by the document or application where the drag was started. [35328]img elements and [35329]a elements with an [35330]href attribute have their [35331]draggable attribute set to true by default. 2. [35332]Create a drag data store. All the DND events fired subsequently by the steps in this section must use this [35333]drag data store. 3. Establish which DOM node is the source node, as follows: If it is a selection that is being dragged, then the [35334]source node is the [35335]Text node that the user started the drag on (typically the [35336]Text node that the user originally clicked). If the user did not specify a particular node, for example if the user just told the user agent to begin a drag of "the selection", then the [35337]source node is the first [35338]Text node containing a part of the selection. Otherwise, if it is an element that is being dragged, then the [35339]source node is the element that is being dragged. Otherwise, the [35340]source node is part of another document or application. When this specification requires that an event be dispatched at the [35341]source node in this case, the user agent must instead follow the platform-specific conventions relevant to that situation. Multiple events are fired on the [35342]source node during the course of the drag-and-drop operation. 4. Determine the list of dragged nodes, as follows: If it is a selection that is being dragged, then the [35343]list of dragged nodes contains, in [35344]tree order, every node that is partially or completely included in the selection (including all their ancestors). Otherwise, the [35345]list of dragged nodes contains only the [35346]source node, if any. 5. If it is a selection that is being dragged, then add an item to the [35347]drag data store item list, with its properties set as follows:

    [35348]The drag data item type string "[35349]text/plain"

    [35350]The drag data item kind Text

    The actual data The text of the selection

    Otherwise, if any files are being dragged, then add one item per file to the [35351]drag data store item list, with their properties set as follows:

    [35352]The drag data item type string The MIME type of the file, if known, or "[35353]application/octet-stream" otherwise.

    [35354]The drag data item kind File

    The actual data The file's contents and name.

    Dragging files can currently only happen from outside a [35355]navigable, for example from a file system manager application. If the drag initiated outside of the application, the user agent must add items to the [35356]drag data store item list as appropriate for the data being dragged, honoring platform conventions where appropriate; however, if the platform conventions do not use [35357]MIME types to label dragged data, the user agent must make a best-effort attempt to map the types to MIME types, and, in any case, all the [35358]drag data item type strings must be [35359]converted to ASCII lowercase. User agents may also add one or more items representing the selection or dragged element(s) in other forms, e.g. as HTML. 6. If the [35360]list of dragged nodes is not empty, then [35361]extract the microdata from those nodes into a JSON form, and add one item to the [35362]drag data store item list, with its properties set as follows:

    [35363]The drag data item type string [35364]application/microdata+json

    [35365]The drag data item kind Text

    The actual data The resulting JSON string.

    7. Run the following substeps: 1. Let urls be « ». 2. For each node in the [35366]list of dragged nodes:

    If the node is an [35367]a element with an [35368]href attribute Add to urls the result of [35369]encoding-parsing-and-serializing a URL given the element's [35370]href content attribute's value, relative to the element's [35371]node document.

    If the node is an [35372]img element with a [35373]src attribute Add to urls the result of [35374]encoding-parsing-and-serializing a URL given the element's [35375]src content attribute's value, relative to the element's [35376]node document.

    3. If urls is still empty, then return. 4. Let url string be the result of concatenating the strings in urls, in the order they were added, separated by a U+000D CARRIAGE RETURN U+000A LINE FEED character pair (CRLF). 5. Add one item to the [35377]drag data store item list, with its properties set as follows:

    [35378]The drag data item type string [35379]text/uri-list

    [35380]The drag data item kind Text

    The actual data url string

    8. Update the [35381]drag data store default feedback as appropriate for the user agent (if the user is dragging the selection, then the selection would likely be the basis for this feedback; if the user is dragging an element, then that element's rendering would be used; if the drag began outside the user agent, then the platform conventions for determining the drag feedback should be used). 9. [35382]Fire a DND event named [35383]dragstart at the [35384]source node. If the event is canceled, then the drag-and-drop operation should not occur; return. Since events with no event listeners registered are, almost by definition, never canceled, drag-and-drop is always available to the user if the author does not specifically prevent it. 10. [35385]Fire a pointer event at the [35386]source node named [35387]pointercancel, and fire any other follow-up events as required by Pointer Events. [35388][POINTEREVENTS] 11. [35389]Initiate the drag-and-drop operation in a manner consistent with platform conventions, and as described below. The drag-and-drop feedback must be generated from the first of the following sources that is available: 1. The [35390]drag data store bitmap, if any. In this case, the [35391]drag data store hot spot coordinate should be used as hints for where to put the cursor relative to the resulting image. The values are expressed as distances in [35392]CSS pixels from the left side and from the top side of the image respectively. [35393][CSS] 2. The [35394]drag data store default feedback.

    From the moment that the user agent is to initiate the drag-and-drop operation, until the end of the drag-and-drop operation, device input events (e.g. mouse and keyboard events) must be suppressed.

    During the drag operation, the element directly indicated by the user as the drop target is called the immediate user selection. (Only elements can be selected by the user; other nodes must not be made available as drop targets.) However, the [35395]immediate user selection is not necessarily the current target element, which is the element currently selected for the drop part of the drag-and-drop operation.

    The [35396]immediate user selection changes as the user selects different elements (either by pointing at them with a pointing device, or by selecting them in some other way). The [35397]current target element changes when the [35398]immediate user selection changes, based on the results of event listeners in the document, as described below.

    Both the [35399]current target element and the [35400]immediate user selection can be null, which means no target element is selected. They can also both be elements in other (DOM-based) documents, or other (non-web) programs altogether. (For example, a user could drag text to a word-processor.) The [35401]current target element is initially null.

    In addition, there is also a current drag operation, which can take on the values "none", "copy", "link", and "move". Initially, it has the value "[35402]none". It is updated by the user agent as described in the steps below.

    User agents must, as soon as the drag operation is [35403]initiated and every 350ms (±200ms) thereafter for as long as the drag operation is ongoing, [35404]queue a task to perform the following steps in sequence: 1. If the user agent is still performing the previous iteration of the sequence (if any) when the next iteration becomes due, return for this iteration (effectively "skipping missed frames" of the drag-and-drop operation). 2. [35405]Fire a DND event named [35406]drag at the [35407]source node. If this event is canceled, the user agent must set the [35408]current drag operation to "[35409]none" (no drag operation). 3. If the [35410]drag event was not canceled and the user has not ended the drag-and-drop operation, check the state of the drag-and-drop operation, as follows: 1. If the user is indicating a different [35411]immediate user selection than during the last iteration (or if this is the first iteration), and if this [35412]immediate user selection is not the same as the [35413]current target element, then update the [35414]current target element as follows:

    If the new [35415]immediate user selection is null Set the [35416]current target element to null also.

    If the new [35417]immediate user selection is in a non-DOM document or application Set the [35418]current target element to the [35419]immediate user selection.

    Otherwise [35420]Fire a DND event named [35421]dragenter at the [35422]immediate user selection.

    If the event is canceled, then set the [35423]current target element to the [35424]immediate user selection.

    Otherwise, run the appropriate step from the following list:

    If the [35425]immediate user selection is a text control (e.g., [35426]textarea, or an [35427]input element whose [35428]type attribute is in the [35429]Text state) or an [35430]editing host or [35431]editable element, and the [35432]drag data store item list has an item with [35433]the drag data item type string "[35434]text/plain" and [35435]the drag data item kind text Set the [35436]current target element to the [35437]immediate user selection anyway.

    If the [35438]immediate user selection is [35439]the body element Leave the [35440]current target element unchanged.

    Otherwise [35441]Fire a DND event named [35442]dragenter at [35443]the body element, if there is one, or at the [35444]Document object, if not. Then, set the [35445]current target element to [35446]the body element, regardless of whether that event was canceled or not.

    2. If the previous step caused the [35447]current target element to change, and if the previous target element was not null or a part of a non-DOM document, then [35448]fire a DND event named [35449]dragleave at the previous target element, with the new [35450]current target element as the specific related target. 3. If the [35451]current target element is a DOM element, then [35452]fire a DND event named [35453]dragover at this [35454]current target element. If the [35455]dragover event is not canceled, run the appropriate step from the following list:

    If the [35456]current target element is a text control (e.g., [35457]textarea, or an [35458]input element whose [35459]type attribute is in the [35460]Text state) or an [35461]editing host or [35462]editable element, and the [35463]drag data store item list has an item with [35464]the drag data item type string "[35465]text/plain" and [35466]the drag data item kind text Set the [35467]current drag operation to either "[35468]copy" or "[35469]move", as appropriate given the platform conventions.

    Otherwise Reset the [35470]current drag operation to "[35471]none".

    Otherwise (if the [35472]dragover event is canceled), set the [35473]current drag operation based on the values of the [35474]effectAllowed and [35475]dropEffect attributes of the [35476]DragEvent object's [35477]dataTransfer object as they stood after the event [35478]dispatch finished, as per the following table:

    [35479]effectAllowed [35480]dropEffect Drag operation "[35481]uninitialized", "[35482]copy", "[35483]copyLink", "[35484]copyMove", or "[35485]all" "[35486]copy" "[35487]copy" "[35488]uninitialized", "[35489]link", "[35490]copyLink", "[35491]linkMove", or "[35492]all" "[35493]link" "[35494]link" "[35495]uninitialized", "[35496]move", "[35497]copyMove", "[35498]linkMove", or "[35499]all" "[35500]move" "[35501]move" Any other case "[35502]none" 4. Otherwise, if the [35503]current target element is not a DOM element, use platform-specific mechanisms to determine what drag operation is being performed (none, copy, link, or move), and set the [35504]current drag operation accordingly. 5. Update the drag feedback (e.g. the mouse cursor) to match the [35505]current drag operation, as follows:

    Drag operation Feedback "[35506]copy" Data will be copied if dropped here. "[35507]link" Data will be linked if dropped here. "[35508]move" Data will be moved if dropped here. "[35509]none" No operation allowed, dropping here will cancel the drag-and-drop operation. 4. Otherwise, if the user ended the drag-and-drop operation (e.g. by releasing the mouse button in a mouse-driven drag-and-drop interface), or if the [35510]drag event was canceled, then this will be the last iteration. Run the following steps, then stop the drag-and-drop operation: 1. If the [35511]current drag operation is "[35512]none" (no drag operation), or, if the user ended the drag-and-drop operation by canceling it (e.g. by hitting the Escape key), or if the [35513]current target element is null, then the drag operation failed. Run these substeps: 1. Let dropped be false. 2. If the [35514]current target element is a DOM element, [35515]fire a DND event named [35516]dragleave at it; otherwise, if it is not null, use platform-specific conventions for drag cancelation. 3. Set the [35517]current drag operation to "[35518]none". Otherwise, the drag operation might be a success; run these substeps: 1. Let dropped be true. 2. If the [35519]current target element is a DOM element, [35520]fire a DND event named [35521]drop at it; otherwise, use platform-specific conventions for indicating a drop. 3. If the event is canceled, set the [35522]current drag operation to the value of the [35523]dropEffect attribute of the [35524]DragEvent object's [35525]dataTransfer object as it stood after the event [35526]dispatch finished. Otherwise, the event is not canceled; perform the event's default action, which depends on the exact target as follows:

    If the [35527]current target element is a text control (e.g., [35528]textarea, or an [35529]input element whose [35530]type attribute is in the [35531]Text state) or an [35532]editing host or [35533]editable element, and the [35534]drag data store item list has an item with [35535]the drag data item type string "[35536]text/plain" and [35537]the drag data item kind text Insert the actual data of the first item in the [35538]drag data store item list to have [35539]a drag data item type string of "[35540]text/plain" and [35541]a drag data item kind that is text into the text control or [35542]editing host or [35543]editable element in a manner consistent with platform-specific conventions (e.g. inserting it at the current mouse cursor position, or inserting it at the end of the field).

    Otherwise Reset the [35544]current drag operation to "[35545]none".

    2. [35546]Fire a DND event named [35547]dragend at the [35548]source node. 3. Run the appropriate steps from the following list as the default action of the [35549]dragend event:

    If dropped is true, the [35550]current target element is a text control (see below), the [35551]current drag operation is "[35552]move", and the source of the drag-and-drop operation is a selection in the DOM that is entirely contained within an [35553]editing host [35554]Delete the selection.

    If dropped is true, the [35555]current target element is a text control (see below), the [35556]current drag operation is "[35557]move", and the source of the drag-and-drop operation is a selection in a text control The user agent should delete the dragged selection from the relevant text control.

    If dropped is false or if the [35558]current drag operation is "[35559]none" The drag was canceled. If the platform conventions dictate that this be represented to the user (e.g. by animating the dragged selection going back to the source of the drag-and-drop operation), then do so.

    Otherwise The event has no default action.

    For the purposes of this step, a text control is a [35560]textarea element or an [35561]input element whose [35562]type attribute is in one of the [35563]Text, [35564]Search, [35565]Tel, [35566]URL, [35567]Email, [35568]Password, or [35569]Number states.

    User agents are encouraged to consider how to react to drags near the edge of scrollable regions. For example, if a user drags a link to the bottom of the [35570]viewport on a long page, it might make sense to scroll the page so that the user can drop the link lower on the page.

    This model is independent of which [35571]Document object the nodes involved are from; the events are fired as described above and the rest of the processing model runs as described above, irrespective of how many documents are involved in the operation.

    6.11.6 Events summary

    This section is non-normative.

    The following events are involved in the drag-and-drop model.

    Event name Target Cancelable? [35572]Drag data store mode [35573]dropEffect Default Action dragstart (BUTTON) ✔MDN

    [35574]HTMLElement/dragstart_event

    Support in all current engines. Firefox9+Safari3.1+Chrome1+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+ [35575]Source node ✓ Cancelable [35576]Read/write mode "[35577]none" Initiate the drag-and-drop operation drag (BUTTON) ✔MDN

    [35578]HTMLElement/drag_event

    Support in all current engines. Firefox9+Safari3.1+Chrome1+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+ [35579]Source node ✓ Cancelable [35580]Protected mode "[35581]none" Continue the drag-and-drop operation dragenter (BUTTON) ✔MDN

    [35582]HTMLElement/dragenter_event

    Support in all current engines. Firefox9+Safari3.1+Chrome1+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+ [35583]Immediate user selection or [35584]the body element ✓ Cancelable [35585]Protected mode [35586]Based on effectAllowed value Reject [35587]immediate user selection as potential [35588]target element dragleave (BUTTON) ✔MDN

    [35589]HTMLElement/dragleave_event

    Support in all current engines. Firefox9+Safari3.1+Chrome1+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+ [35590]Previous target element — [35591]Protected mode "[35592]none" None dragover (BUTTON) ✔MDN

    [35593]HTMLElement/dragover_event

    Support in all current engines. Firefox9+Safari3.1+Chrome1+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+ [35594]Current target element ✓ Cancelable [35595]Protected mode [35596]Based on effectAllowed value Reset the [35597]current drag operation to "none" drop (BUTTON) ✔MDN

    [35598]HTMLElement/drop_event

    Support in all current engines. Firefox9+Safari3.1+Chrome1+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+ [35599]Current target element ✓ Cancelable [35600]Read-only mode [35601]Current drag operation Varies dragend (BUTTON) ✔MDN

    [35602]HTMLElement/dragend_event

    Support in all current engines. Firefox9+Safari3.1+Chrome1+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+ [35603]Source node — [35604]Protected mode [35605]Current drag operation Varies

    All of these events bubble, are composed, and the [35606]effectAllowed attribute always has the value it had after the [35607]dragstart event, defaulting to "[35608]uninitialized" in the [35609]dragstart event.

    6.11.7 The [35610]draggable attribute

    (BUTTON) ✔MDN

    [35611]Global_attributes/draggable

    Support in all current engines. Firefox2+Safari5+Chrome4+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerYes __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    All [35612]HTML elements may have the draggable content attribute set. The [35613]draggable attribute is an [35614]enumerated attribute with the following keywords and states:

    Keyword State Brief description true true The element will be draggable. false false The element will not be draggable.

    The attribute's [35615]missing value default and [35616]invalid value default are both the auto state. The auto state uses the default behavior of the user agent.

    An element with a [35617]draggable attribute should also have a [35618]title attribute that names the element for the purpose of non-visual interactions.

    element.[35619]draggable [ = value ] Returns true if the element is draggable; otherwise, returns false.

    Can be set, to override the default and set the [35620]draggable content attribute.

    The draggable IDL attribute, whose value depends on the content attribute's in the way described below, controls whether or not the element is draggable. Generally, only text selections are draggable, but elements whose [35621]draggable IDL attribute is true become draggable as well.

    If an element's [35622]draggable content attribute has the state [35623]true, the [35624]draggable IDL attribute must return true.

    Otherwise, if the element's [35625]draggable content attribute has the state [35626]false, the [35627]draggable IDL attribute must return false.

    Otherwise, the element's [35628]draggable content attribute has the state [35629]auto. If the element is an [35630]img element, an [35631]object element that [35632]represents an image, or an [35633]a element with an [35634]href content attribute, the [35635]draggable IDL attribute must return true; otherwise, the [35636]draggable IDL attribute must return false.

    If the [35637]draggable IDL attribute is set to the value false, the [35638]draggable content attribute must be set to the literal value "false". If the [35639]draggable IDL attribute is set to the value true, the [35640]draggable content attribute must be set to the literal value "true".

    6.11.8 Security risks in the drag-and-drop model

    User agents must not make the data added to the [35641]DataTransfer object during the [35642]dragstart event available to scripts until the [35643]drop event, because otherwise, if a user were to drag sensitive information from one document to a second document, crossing a hostile third document in the process, the hostile document could intercept the data.

    For the same reason, user agents must consider a drop to be successful only if the user specifically ended the drag operation — if any scripts end the drag operation, it must be considered unsuccessful (canceled) and the [35644]drop event must not be fired.

    User agents should take care to not start drag-and-drop operations in response to script actions. For example, in a mouse-and-window environment, if a script moves a window while the user has their mouse button depressed, the UA would not consider that to start a drag. This is important because otherwise UAs could cause data to be dragged from sensitive sources and dropped into hostile documents without the user's consent.

    User agents should filter potentially active (scripted) content (e.g. HTML) when it is dragged and when it is dropped, using a safelist of known-safe features. Similarly, [35645]relative URLs should be turned into absolute URLs to avoid references changing in unexpected ways. This specification does not specify how this is performed.

    Consider a hostile page providing some content and getting the user to select and drag and drop (or indeed, copy and paste) that content to a victim page's [35646]contenteditable region. If the browser does not ensure that only safe content is dragged, potentially unsafe content such as scripts and event handlers in the selection, once dropped (or pasted) into the victim site, get the privileges of the victim site. This would thus enable a cross-site scripting attack.

    6.12 The [35647]popover attribute

    (BUTTON) ✔MDN

    [35648]Global_attributes/popover

    Support in all current engines. Firefox🔰 114+Safaripreview+Chrome114+ __________________________________________________________________

    Opera?Edge114+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    All [35649]HTML elements may have the popover content attribute set. When specified, the element won't be rendered until it becomes shown, at which point it will be rendered on top of other page content.

    The [35650]popover attribute is a global attribute that allows authors flexibility to ensure popover functionality can be applied to elements with the most relevant semantics.

    The following demonstrates how one might create a popover sub-navigation list of links, within the global navigation for a website.

    When using [35651]popover on elements without accessibility semantics, for instance the [35652]div element, authors should use the appropriate ARIA attributes to ensure the popover is accessible.

    The following shows the baseline markup to create a custom menu popover, where the first menuitem will receive keyboard focus when the popover is invoked due to the use of the autofocus attribute. Navigating the menuitems with arrow keys and activation behaviors would still need author scripting. Additional requirements for building custom menus widgets are defined in the [35653]WAI-ARIA specification.

    A popover can be useful for rendering a status message, confirming the action performed by the user. The following demonstrates how one could reveal a popover in an [35654]output element.

    Inserting a popover element into an [35655]output element will generally cause screen readers to announce the content when it becomes visible. Depending on the complexity or frequency of the content, this could be either useful or annoying to users of these assistive technologies. Keep this in mind when using the [35656]output element or other ARIA live regions to ensure the best user experience.

    The [35657]popover attribute is an [35658]enumerated attribute with the following keywords and states:

    Keyword State Brief description auto auto Closes other popovers when opened; has [35659]light dismiss and responds to [35660]close requests. (the empty string) manual manual Does not close other popovers; does not [35661]light dismiss or respond to [35662]close requests. hint hint Closes other hint popovers when opened, but not other auto popovers; has [35663]light dismiss and responds to [35664]close requests.

    The attribute's [35665]missing value default is the no popover state, and its [35666]invalid value default is the [35667]manual state.

    (BUTTON) ✔MDN

    [35668]HTMLElement/popover

    Support in all current engines. Firefox🔰 114+Safari17+Chrome114+ __________________________________________________________________

    Opera?Edge114+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The popover IDL attribute must [35669]reflect the [35670]popover attribute, [35671]limited to only known values.

    Every [35672]HTML element has a popover visibility state, initially [35673]hidden, with these potential values: * hidden * showing

    Every [35674]Document has a popover pointerdown target, which is an [35675]HTML element or null, initially null.

    Every [35676]HTML element has a popover invoker, which is an [35677]HTML element or null, initially set to null.

    Every [35678]HTML element has a popover showing or hiding, which is a boolean, initially set to false.

    Every [35679]HTML element popover toggle task tracker, which is a [35680]toggle task tracker or null, initially null.

    Every [35681]HTML element has a popover close watcher, which is a [35682]close watcher or null, initially null.

    Every [35683]HTML element has an opened in popover mode, which is a string or null, initially null.

    The following [35684]attribute change steps, given element, localName, oldValue, value, and namespace, are used for all [35685]HTML elements: 1. If namespace is not null, then return. 2. If localName is not [35686]popover, then return. 3. If element's [35687]popover visibility state is in the [35688]showing state and oldValue and value are in different [35689]states, then run the [35690]hide popover algorithm given element, true, true, and false.

    element.[35691]showPopover() Shows the popover element by adding it to the top layer. If element's [35692]popover attribute is in the [35693]auto state, then this will also close all other [35694]auto popovers unless they are an ancestor of element according to the [35695]topmost popover ancestor algorithm.

    element.[35696]hidePopover() Hides the popover element by removing it from the top layer and applying display: none to it.

    element.[35697]togglePopover() If the popover element is not showing, then this method shows it. Otherwise, this method hides it. This method returns true if the popover is open after calling it, otherwise false.

    (BUTTON) ✔MDN

    [35698]HTMLElement/showPopover

    Support in all current engines. Firefox🔰 114+Safari17+Chrome114+ __________________________________________________________________

    Opera?Edge114+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The showPopover(options) method steps are: 1. Let invoker be options["[35699]source"] if it [35700]exists; otherwise, null. 2. Run [35701]show popover given [35702]this, true, and invoker.

    To show popover, given an [35703]HTML element element, a boolean throwExceptions, and an [35704]HTML element or null invoker: 1. If the result of running [35705]check popover validity given element, false, throwExceptions, and null is false, then return. 2. Let document be element's [35706]node document. 3. [35707]Assert: element's [35708]popover invoker is null. 4. [35709]Assert: element is not in document's [35710]top layer. 5. Let nestedShow be element's [35711]popover showing or hiding. 6. Let fireEvents be the boolean negation of nestedShow. 7. Set element's [35712]popover showing or hiding to true. 8. Let cleanupShowingFlag be the following steps: 1. If nestedShow is false, then set element's [35713]popover showing or hiding to false. 9. If the result of [35714]firing an event named [35715]beforetoggle, using [35716]ToggleEvent, with the [35717]cancelable attribute initialized to true, the [35718]oldState attribute initialized to "closed", and the [35719]newState attribute initialized to "open" at element is false, then run cleanupShowingFlag and return. 10. If the result of running [35720]check popover validity given element, false, throwExceptions, and document is false, then run cleanupShowingFlag and return. [35721]Check popover validity is called again because firing the [35722]beforetoggle event could have disconnected this element or changed its [35723]popover attribute. 11. Let shouldRestoreFocus be false. 12. Let originalType be the current state of element's [35724]popover attribute. 13. Let stackToAppendTo be null. 14. Let autoAncestor be the result of running the [35725]topmost popover ancestor algorithm given element, document's [35726]showing auto popover list, invoker, and true. 15. Let hintAncestor be the result of running the [35727]topmost popover ancestor algorithm given element, document's [35728]showing hint popover list, invoker, and true. 16. If originalType is the [35729]auto state, then: 1. Run [35730]close entire popover list given document's [35731]showing hint popover list, shouldRestoreFocus, and fireEvents. 2. Let ancestor be the result of running the [35732]topmost popover ancestor algorithm given element, document's [35733]showing auto popover list, invoker, and true. 3. If ancestor is null, then set ancestor to document. 4. Run [35734]hide all popovers until given ancestor, shouldRestoreFocus, and fireEvents. 5. Set stackToAppendTo to "auto". 17. If originalType is the [35735]hint state, then: 1. If hintAncestor is not null, then: 1. Run [35736]hide all popovers until given hintAncestor, shouldRestoreFocus, and fireEvents. 2. Set stackToAppendTo to "hint". 2. Otherwise: 1. Run [35737]close entire popover list given document's [35738]showing hint popover list, shouldRestoreFocus, and fireEvents. 2. If autoAncestor is not null, then: 1. Run [35739]hide all popovers until given autoAncestor, shouldRestoreFocus, and fireEvents. 2. Set stackToAppendTo to "auto". 3. Otherwise, set stackToAppendTo to "hint". 18. If originalType is [35740]auto or [35741]hint, then: 1. [35742]Assert: stackToAppendTo is not null. 2. If originalType is not equal to the value of element's [35743]popover attribute, then: 1. If throwExceptions is true, then throw a [35744]"InvalidStateError" [35745]DOMException. 2. Return. 3. If the result of running [35746]check popover validity given element, false, throwExceptions, and document is false, then run cleanupShowingFlag and return. [35747]Check popover validity is called again because running [35748]hide all popovers until above could have fired the [35749]beforetoggle event, and an event handler could have disconnected this element or changed its [35750]popover attribute. 4. If the result of running [35751]topmost auto or hint popover on document is null, then set shouldRestoreFocus to true. This ensures that focus is returned to the previously-focused element only for the first popover in a stack. 5. If stackToAppendTo is "auto": 1. [35752]Assert: document's [35753]showing auto popover list does not contain element. 2. Set element's [35754]opened in popover mode to "auto". Otherwise: 1. [35755]Assert: stackToAppendTo is "hint". 2. [35756]Assert: document's [35757]showing hint popover list does not contain element. 3. Set element's [35758]opened in popover mode to "hint". 6. Set element's [35759]popover close watcher to the result of [35760]establishing a close watcher given element's [35761]relevant global object, with: o [35762]cancelAction being to return true. o [35763]closeAction being to [35764]hide a popover given element, true, true, and false. o [35765]getEnabledState being to return true. 19. Set element's [35766]previously focused element to null. 20. Let originallyFocusedElement be document's [35767]focused area of the document's [35768]DOM anchor. 21. [35769]Add an element to the top layer given element. 22. Set element's [35770]popover visibility state to [35771]showing. 23. Set element's [35772]popover invoker to invoker. 24. Set element's [35773]implicit anchor element to invoker. 25. Run the [35774]popover focusing steps given element. 26. If shouldRestoreFocus is true and element's [35775]popover attribute is not in the [35776]no popover state, then set element's [35777]previously focused element to originallyFocusedElement. 27. [35778]Queue a popover toggle event task given element, "closed", and "open". 28. Run cleanupShowingFlag.

    To queue a popover toggle event task given an element element, a string oldState, and a string newState: 1. If element's [35779]popover toggle task tracker is not null, then: 1. Set oldState to element's [35780]popover toggle task tracker's [35781]old state. 2. Remove element's [35782]popover toggle task tracker's [35783]task from its [35784]task queue. 3. Set element's [35785]popover toggle task tracker to null. 2. [35786]Queue an element task given the [35787]DOM manipulation task source and element to run the following steps: 1. [35788]Fire an event named [35789]toggle at element, using [35790]ToggleEvent, with the [35791]oldState attribute initialized to oldState and the [35792]newState attribute initialized to newState. 2. Set element's [35793]popover toggle task tracker to null. 3. Set element's [35794]popover toggle task tracker to a struct with [35795]task set to the just-queued [35796]task and [35797]old state set to oldState.

    (BUTTON) ✔MDN

    [35798]HTMLElement/hidePopover

    Support in all current engines. Firefox🔰 114+Safari17+Chrome114+ __________________________________________________________________

    Opera?Edge114+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The hidePopover() method steps are: 1. Run the [35799]hide popover algorithm given [35800]this, true, true, and true.

    To hide a popover given an [35801]HTML element element, a boolean focusPreviousElement, a boolean fireEvents, and a boolean throwExceptions: 1. If the result of running [35802]check popover validity given element, true, throwExceptions, and null is false, then return. 2. Let document be element's [35803]node document. 3. Let nestedHide be element's [35804]popover showing or hiding. 4. Set element's [35805]popover showing or hiding to true. 5. If nestedHide is true, then set fireEvents to false. 6. Let cleanupSteps be the following steps: 1. If nestedHide is false, then set element's [35806]popover showing or hiding to false. 2. If element's [35807]popover close watcher is not null, then: 1. [35808]Destroy element's [35809]popover close watcher. 2. Set element's [35810]popover close watcher to null. 7. If element's [35811]opened in popover mode is "auto" or "hint", then: 1. Run [35812]hide all popovers until given element, focusPreviousElement, and fireEvents. 2. If the result of running [35813]check popover validity given element, true, and throwExceptions is false, then run cleanupSteps and return. [35814]Check popover validity is called again because running [35815]hide all popovers until could have disconnected element or changed its [35816]popover attribute. 8. Let autoPopoverListContainsElement be true if document's [35817]showing auto popover list's last item is element, otherwise false. 9. Set element's [35818]popover invoker to null. 10. If fireEvents is true: 1. [35819]Fire an event named [35820]beforetoggle, using [35821]ToggleEvent, with the [35822]oldState attribute initialized to "open" and the [35823]newState attribute initialized to "closed" at element. 2. If autoPopoverListContainsElement is true and document's [35824]showing auto popover list's last item is not element, then run [35825]hide all popovers until given element, focusPreviousElement, and false. 3. If the result of running [35826]check popover validity given element, true, throwExceptions, and null is false, then run cleanupSteps and return. [35827]Check popover validity is called again because firing the [35828]beforetoggle event could have disconnected element or changed its [35829]popover attribute. 4. [35830]Request an element to be removed from the top layer given element. 5. Set element's [35831]implicit anchor element to null. 11. Otherwise, [35832]remove an element from the top layer immediately given element. 12. Set element's [35833]opened in popover mode to null. 13. Set element's [35834]popover visibility state to [35835]hidden. 14. If fireEvents is true, then [35836]queue a popover toggle event task given element, "open", and "closed". 15. Let previouslyFocusedElement be element's [35837]previously focused element. 16. If previouslyFocusedElement is not null, then: 1. Set element's [35838]previously focused element to null. 2. If focusPreviousElement is true and document's [35839]focused area of the document's [35840]DOM anchor is a [35841]shadow-including inclusive descendant of element, then run the [35842]focusing steps for previouslyFocusedElement; the viewport should not be scrolled by doing this step. 17. Run cleanupSteps.

    (BUTTON) ✔MDN

    [35843]HTMLElement/togglePopover

    Support in all current engines. Firefox🔰 114+Safari17+Chrome114+ __________________________________________________________________

    Opera?Edge114+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The togglePopover(options) method steps are: 1. Let force be null. 2. If options is a boolean, set force to options. 3. Otherwise, if options["[35844]force"] [35845]exists, set force to options["[35846]force"]. 4. Let invoker be options["[35847]source"] if it [35848]exists; otherwise, null. 5. If [35849]this's [35850]popover visibility state is [35851]showing, and force is null or false, then run the [35852]hide popover algorithm given [35853]this, true, true, and true. 6. Otherwise, if force is null or true, then run [35854]show popover given [35855]this, true, and invoker. 7. Otherwise: 1. Let expectedToBeShowing be true if [35856]this's [35857]popover visibility state is [35858]showing; otherwise false. 2. Run [35859]check popover validity given expectedToBeShowing, true, and null. 8. Return true if [35860]this's [35861]popover visibility state is [35862]showing; otherwise false.

    To hide all popovers until, given an [35863]HTML element or [35864]Document endpoint, a boolean focusPreviousElement, and a boolean fireEvents: 1. If endpoint is an [35865]HTML element and endpoint is not in the [35866]popover showing state, then return. 2. Let document be endpoint's [35867]node document. 3. [35868]Assert: endpoint is a [35869]Document or endpoint's [35870]popover visibility state is [35871]showing. 4. [35872]Assert: endpoint is a [35873]Document or endpoint's [35874]popover attribute is in the [35875]auto state or endpoint's [35876]popover attribute is in the [35877]hint state. 5. If endpoint is a [35878]Document: 1. Run [35879]close entire popover list given document's [35880]showing hint popover list, focusPreviousElement, and fireEvents. 2. Run [35881]close entire popover list given document's [35882]showing auto popover list, focusPreviousElement, and fireEvents. 3. Return. 6. If document's [35883]showing hint popover list contains endpoint: 1. [35884]Assert: endpoint's [35885]popover attribute is in the [35886]hint state. 2. Run [35887]hide popover stack until given endpoint, document's [35888]showing hint popover list, focusPreviousElement, and fireEvents. 3. Return. 7. Run [35889]close entire popover list given document's [35890]showing hint popover list, focusPreviousElement, and fireEvents. 8. If document's [35891]showing auto popover list does not contain endpoint, then return. 9. Run [35892]hide popover stack until given endpoint, document's [35893]showing auto popover list, focusPreviousElement, and fireEvents.

    To hide popover stack until, given an [35894]HTML element endpoint, a [35895]list popoverList, a boolean focusPreviousElement, and a boolean fireEvents: 1. Let repeatingHide be false. 2. Perform the following steps at least once: 1. Let lastToHide be null. 2. For each popover in popoverList: 1. If popover is endpoint, then [35896]break. 2. Set lastToHide to popover. 3. If lastToHide is null, then return. 4. [35897]While lastToHide's [35898]popover visibility state is [35899]showing: 1. [35900]Assert: popoverList is not empty. 2. Run the [35901]hide popover algorithm given the last item in popoverList, focusPreviousElement, fireEvents, and false. 5. [35902]Assert: repeatingHide is false or popoverList's last item is endpoint. 6. Set repeatingHide to true if popoverList contains endpoint and popoverList's last item is not endpoint, otherwise false. 7. If repeatingHide is true, then set fireEvents to false. and keep performing them [35903]while repeatingHide is true.

    The [35904]hide all popovers until algorithm is used in several cases to hide all popovers that don't stay open when something happens. For example, during light-dismiss of a popover, this algorithm ensures that we close only the popovers that aren't related to the node clicked by the user.

    To find the topmost popover ancestor, given a [35905]Node newPopoverOrTopLayerElement, a [35906]list popoverList, an [35907]HTML element or null invoker, and a boolean isPopover, perform the following steps. They return an [35908]HTML element or null.

    The [35909]topmost popover ancestor algorithm will return the topmost (latest in the [35910]showing auto popover list) ancestor popover for the provided popover or top layer element. Popovers can be related to each other in several ways, creating a tree of popovers. There are two paths through which one popover (call it the "child" popover) can have a topmost ancestor popover (call it the "parent" popover): 1. The popovers are nested within each other in the node tree. In this case, the descendant popover is the "child" and its topmost ancestor popover is the "parent". 2. An invoking element (e.g., a [35911]button) has a [35912]popovertarget attribute pointing to a popover. In this case, the popover is the "child", and the popover subtree the invoking element is in is the "parent". The invoker has to be in a popover and reference an open popover.

    In each of the relationships formed above, the parent popover has to be strictly earlier in the [35913]showing auto popover list than the child popover, or it does not form a valid ancestral relationship. This eliminates non-showing popovers and self-pointers (e.g., a popover containing an invoking element that points back to the containing popover), and it allows for the construction of a well-formed tree from the (possibly cyclic) graph of connections. Only [35914]auto popovers are considered.

    If the provided element is a top layer element such as a [35915]dialog which is not showing as a popover, then [35916]topmost popover ancestor will only look in the node tree to find the first popover.

    1. If isPopover is true: 1. [35917]Assert: newPopoverOrTopLayerElement is an [35918]HTML element. 2. [35919]Assert: newPopoverOrTopLayerElement's [35920]popover attribute is not in the [35921]no popover state or the [35922]manual state. 3. [35923]Assert: newPopoverOrTopLayerElement's [35924]popover visibility state is not in the [35925]popover showing state. 2. Otherwise: 1. [35926]Assert: invoker is null. 3. Let popoverPositions be an empty [35927]ordered map. 4. Let index be 0. 5. For each popover of popoverList: 1. [35928]Set popoverPositions[popover] to index. 2. Increment index by 1. 6. If isPopover is true, then [35929]set popoverPositions[newPopoverOrTopLayerElement] to index. 7. Increment index by 1. 8. Let topmostPopoverAncestor be null. 9. Let checkAncestor be an algorithm which performs the following steps given candidate: 1. If candidate is null, then return. 2. Let okNesting be false. 3. Let candidateAncestor be null. 4. [35930]While okNesting is false: 1. Set candidateAncestor to the result of running [35931]nearest inclusive open popover given candidate. 2. If candidateAncestor is null or popoverPositions does not contain candidateAncestor, then return. 3. [35932]Assert: candidateAncestor's [35933]popover attribute is not in the [35934]manual or [35935]none state. 4. Set okNesting to true if newPopoverOrTopLayerElement's [35936]popover attribute is in the [35937]hint state or candidateAncestor's [35938]popover attribute is in the [35939]auto state. 5. If okNesting is false, then set candidate to candidateAncestor's parent in the [35940]flat tree. 5. Let candidatePosition be popoverPositions[candidateAncestor]. 6. If topmostPopoverAncestor is null or popoverPositions[topmostPopoverAncestor] is less than candidatePosition, then set topmostPopoverAncestor to candidateAncestor. 10. Run checkAncestor given newPopoverOrTopLayerElement's parent node within the [35941]flat tree. 11. Run checkAncestor given invoker. 12. Return topmostPopoverAncestor.

    To find the nearest inclusive open popover given a [35942]Node node, perform the following steps. They return an [35943]HTML element or null. 1. Let currentNode be node. 2. While currentNode is not null: 1. If currentNode's [35944]popover attribute is in the [35945]auto state and currentNode's [35946]popover visibility state is [35947]showing, then return currentNode. 2. Set currentNode to currentNode's parent in the [35948]flat tree. 3. Return null.

    To find the topmost auto or hint popover given a [35949]Document document, perform the following steps. They return an [35950]HTML element or null. 1. If document's [35951]showing hint popover list is not empty, then return document's [35952]showing hint popover list's last element. 2. If document's [35953]showing auto popover list is not empty, then return document's [35954]showing auto popover list's last element. 3. Return null.

    To perform the popover focusing steps for an [35955]HTML element subject: 1. If the [35956]allow focus steps given subject's [35957]node document return false, then return. 2. If subject is a [35958]dialog element, then run the [35959]dialog focusing steps given subject and return. 3. If subject has the [35960]autofocus attribute, then let control be subject. 4. Otherwise, let control be the [35961]autofocus delegate for subject given "other". 5. If control is null, then return. 6. Run the [35962]focusing steps given control. 7. Let topDocument be control's [35963]node navigable's [35964]top-level traversable's [35965]active document. 8. If control's [35966]node document's [35967]origin is not the [35968]same as the [35969]origin of topDocument, then return. 9. [35970]Empty topDocument's [35971]autofocus candidates. 10. Set topDocument's [35972]autofocus processed flag to true.

    To check popover validity for an [35973]HTML element element given a boolean expectedToBeShowing, a boolean throwExceptions, and a [35974]Document or null expectedDocument, perform the following steps. They throw an exception or return a boolean. 1. If element's [35975]popover attribute is in the [35976]no popover state, then: 1. If throwExceptions is true, then throw a [35977]"NotSupportedError" [35978]DOMException. 2. Return false. 2. If any of the following are true: + expectedToBeShowing is true and element's [35979]popover visibility state is not [35980]showing; or + expectedToBeShowing is false and element's [35981]popover visibility state is not [35982]hidden, then return false. 3. If any of the following are true: + element is not [35983]connected; + element's [35984]node document is not [35985]fully active; + expectedDocument is not null and element's [35986]node document is not expectedDocument; + element is a [35987]dialog element and its [35988]is modal is set to true; or + element's [35989]fullscreen flag is set, then: 1. If throwExceptions is true, then throw a [35990]"InvalidStateError" [35991]DOMException. 2. Return false. 4. Return true.

    To get the showing auto popover list for a [35992]Document document: 1. Let popovers be « ». 2. [35993]For each [35994]Element element in document's [35995]top layer: 1. If all of the following are true: o element is an [35996]HTML element; o element's [35997]opened in popover mode is "auto"; and o element's [35998]popover visibility state is [35999]showing, then [36000]append element to popovers. 3. Return popovers.

    To get the showing hint popover list for a [36001]Document document: 1. Let popovers be « ». 2. [36002]For each [36003]Element element in document's [36004]top layer: 1. If all of the following are true: o element is an [36005]HTML element; o element's [36006]opened in popover mode is "hint"; and o element's [36007]popover visibility state is [36008]showing, then [36009]append element to popovers. 3. Return popovers.

    To close entire popover list given a [36010]list popoverList, a boolean focusPreviousElement, and a boolean fireEvents: 1. While popoverList is not empty: 1. Run the [36011]hide popover algorithm given popoverList's last item, focusPreviousElement, fireEvents, and false.

    6.12.1 The popover target attributes

    [36012]Buttons may have the following content attributes: * popovertarget * popovertargetaction

    If specified, the [36013]popovertarget attribute value must be the [36014]ID of an element with a [36015]popover attribute in the same [36016]tree as the [36017]button with the [36018]popovertarget attribute.

    The [36019]popovertargetaction attribute is an [36020]enumerated attribute with the following keywords and states:

    Keyword State Brief description toggle toggle Shows or hides the targeted popover element. show show Shows the targeted popover element. hide hide Hides the targeted popover element.

    The attribute's [36021]missing value default and [36022]invalid value default are both the [36023]toggle state.

    Whenever possible ensure the popover element is placed immediately after its triggering element in the DOM. Doing so will help ensure that the popover is exposed in a logical programmatic reading order for users of assistive technology, such as screen readers.

    The following shows how the [36024]popovertarget attribute in combination with the [36025]popovertargetaction attribute can be used to show and close a popover:

    This is a popover article!

    If a [36026]popovertargetaction attribute is not specified, the default action will be to toggle the associated popover. The following shows how only specifying the [36027]popovertarget attribute on its invoking button can toggle a manual popover between its opened and closed states. A manual popover will not respond to [36028]light dismiss or [36029]close requests:

    This is a popover!

    [36030]DOM interface: interface mixin PopoverInvokerElement { [[36031]CEReactions] attribute Element? [36032]popoverTargetElement; [[36033]CEReactions] attribute DOMString [36034]popoverTargetAction; };

    (BUTTON) ✔MDN

    [36035]HTMLButtonElement/popoverTargetElement

    Support in all current engines. Firefox🔰 114+Safari17+Chrome114+ __________________________________________________________________

    Opera?Edge114+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [36036]HTMLInputElement/popoverTargetElement

    Support in all current engines. Firefox🔰 114+Safari17+Chrome114+ __________________________________________________________________

    Opera?Edge114+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The popoverTargetElement IDL attribute must [36037]reflect the [36038]popovertarget attribute.

    (BUTTON) ✔MDN

    [36039]HTMLButtonElement/popoverTargetAction

    Support in all current engines. Firefox🔰 114+Safari17+Chrome114+ __________________________________________________________________

    Opera?Edge114+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [36040]HTMLInputElement/popoverTargetAction

    Support in all current engines. Firefox🔰 114+Safari17+Chrome114+ __________________________________________________________________

    Opera?Edge114+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The popoverTargetAction IDL attribute must [36041]reflect the [36042]popovertargetaction attribute, [36043]limited to only known values.

    To run the popover target attribute activation behavior given a [36044]Node node and a [36045]Node eventTarget: 1. Let popover be node's [36046]popover target element. 2. If popover is null, then return. 3. If eventTarget is a [36047]shadow-including inclusive descendant of popover and popover is a [36048]shadow-including descendant of node, then return. 4. If node's [36049]popovertargetaction attribute is in the [36050]show state and popover's [36051]popover visibility state is [36052]showing, then return. 5. If node's [36053]popovertargetaction attribute is in the [36054]hide state and popover's [36055]popover visibility state is [36056]hidden, then return. 6. If popover's [36057]popover visibility state is [36058]showing, then run the [36059]hide popover algorithm given popover, true, true, and false. 7. Otherwise, if popover's [36060]popover visibility state is [36061]hidden and the result of running [36062]check popover validity given popover, false, false, and null is true, then run [36063]show popover given popover, false, and node.

    To get the popover target element given a [36064]Node node, perform the following steps. They return an [36065]HTML element or null. 1. If node is not a [36066]button, then return null. 2. If node is [36067]disabled, then return null. 3. If node has a [36068]form owner and node is a [36069]submit button, then return null. 4. Let popoverElement be the result of running node's [36070]get the popovertarget-associated element. 5. If popoverElement is null, then return null. 6. If popoverElement's [36071]popover attribute is in the [36072]no popover state, then return null. 7. Return popoverElement.

    6.12.2 Popover light dismiss

    "Light dismiss" means that clicking outside of a popover whose [36073]popover attribute is in the [36074]auto state will close the popover. This is in addition to how such popovers respond to [36075]close requests.

    To light dismiss open popovers, given a [36076]PointerEvent event: 1. [36077]Assert: event's [36078]isTrusted attribute is true. 2. Let target be event's [36079]target. 3. Let document be target's [36080]node document. 4. Let topmostPopover be the result of running [36081]topmost auto popover given document. 5. If topmostPopover is null, then return. 6. If event's [36082]type is "[36083]pointerdown", then: set document's [36084]popover pointerdown target to the result of running [36085]topmost clicked popover given target. 7. If event's [36086]type is "[36087]pointerup", then: 1. Let ancestor be the result of running [36088]topmost clicked popover given target. 2. Let sameTarget be true if ancestor is document's [36089]popover pointerdown target. 3. Set document's [36090]popover pointerdown target to null. 4. If ancestor is null, then set ancestor to document. 5. If sameTarget is true, then run [36091]hide all popovers until given ancestor, false, and true.

    To find the topmost clicked popover, given a [36092]Node node: 1. Let clickedPopover be the result of running [36093]nearest inclusive open popover given node. 2. Let invokerPopover be the result of running [36094]nearest inclusive target popover for invoker given node. 3. If the result of [36095]getting the popover stack position given clickedPopover is greater than the result of [36096]getting the popover stack position given invokerPopover, then return clickedPopover. 4. Return invokerPopover.

    To get the popover stack position, given an [36097]HTML element popover: 1. Let hintList be popover's [36098]node document's [36099]showing hint popover list. 2. Let autoList be popover's [36100]node document's [36101]showing auto popover list. 3. If popover is in hintList, then return the index of popover in hintList + the size of autoList + 1. 4. If popover is in autoList, then return the index of popover in autoList + 1. 5. Return 0.

    To find the nearest inclusive target popover for invoker given a [36102]Node node: 1. Let currentNode be node. 2. While currentNode is not null: 1. Let targetPopover be currentNode's [36103]popover target element. 2. If targetPopover is not null and targetPopover's [36104]popover attribute is in the [36105]auto state and targetPopover's [36106]popover visibility state is [36107]showing, then return targetPopover. 3. Set currentNode to currentNode's ancestor in the [36108]flat tree.

    7 Loading web pages

    This section describes features that apply most directly to web browsers. Having said that, except where specified otherwise, the requirements defined in this section do apply to all user agents, whether they are web browsers or not.

    7.1 Supporting concepts

    7.1.1 Origins

    Origins are the fundamental currency of the web's security model. Two actors in the web platform that share an origin are assumed to trust each other and to have the same authority. Actors with differing origins are considered potentially hostile versus each other, and are isolated from each other to varying degrees.

    For example, if Example Bank's web site, hosted at bank.example.com, tries to examine the DOM of Example Charity's web site, hosted at charity.example.org, a [36109]"SecurityError" [36110]DOMException will be raised. __________________________________________________________________

    An origin is one of the following:

    An opaque origin An internal value, with no serialization it can be recreated from (it is serialized as "null" per [36111]serialization of an origin), for which the only meaningful operation is testing for equality.

    A tuple origin A [36112]tuple consisting of:

    + A scheme (an [36113]ASCII string). + A host (a [36114]host). + A port (null or a 16-bit unsigned integer). + A domain (null or a [36115]domain). Null unless stated otherwise.

    [36116]Origins can be shared, e.g., among multiple [36117]Document objects. Furthermore, [36118]origins are generally immutable. Only the [36119]domain of a [36120]tuple origin can be changed, and only through the [36121]document.domain API.

    The effective domain of an [36122]origin origin is computed as follows: 1. If origin is an [36123]opaque origin, then return null. 2. If origin's [36124]domain is non-null, then return origin's [36125]domain. 3. Return origin's [36126]host.

    The serialization of an origin is the string obtained by applying the following algorithm to the given [36127]origin origin: 1. If origin is an [36128]opaque origin, then return "null". 2. Otherwise, let result be origin's [36129]scheme. 3. Append "://" to result. 4. Append origin's [36130]host, [36131]serialized, to result. 5. If origin's [36132]port is non-null, append a U+003A COLON character (:), and origin's [36133]port, [36134]serialized, to result. 6. Return result.

    The [36135]serialization of ("https", "xn--maraa-rta.example", null, null) is "https://xn--maraa-rta.example".

    There used to also be a Unicode serialization of an origin. However, it was never widely adopted. __________________________________________________________________

    Two [36136]origins, A and B, are said to be same origin if the following algorithm returns true: 1. If A and B are the same [36137]opaque origin, then return true. 2. If A and B are both [36138]tuple origins and their [36139]schemes, [36140]hosts, and [36141]port are identical, then return true. 3. Return false.

    Two [36142]origins, A and B, are said to be same origin-domain if the following algorithm returns true: 1. If A and B are the same [36143]opaque origin, then return true. 2. If A and B are both [36144]tuple origins: 1. If A and B's [36145]schemes are identical, and their [36146]domains are identical and non-null, then return true. 2. Otherwise, if A and B are [36147]same origin and their [36148]domains are both null, return true. 3. Return false.

    A B [36149]same origin [36150]same origin-domain ("https", "example.org", null, null) ("https", "example.org", null, null) ✅ ("https", "example.org", 314, null) ("https", "example.org", 420, null) ❌ ❌ ("https", "example.org", 314, "example.org") ("https", "example.org", 420, "example.org") ❌ ("https", "example.org", null, null) ("https", "example.org", null, "example.org") ✅ ❌ ("https", "example.org", null, "example.org") ("http", "example.org", null, "example.org") ❌ ❌

    7.1.1.1 Sites

    A scheme-and-host is a [36151]tuple of a scheme (an [36152]ASCII string) and a host (a [36153]host).

    A site is an [36154]opaque origin or a [36155]scheme-and-host.

    To obtain a site, given an origin origin, run these steps: 1. If origin is an [36156]opaque origin, then return origin. 2. If origin's [36157]host's [36158]registrable domain is null, then return (origin's [36159]scheme, origin's [36160]host). 3. Return (origin's [36161]scheme, origin's [36162]host's [36163]registrable domain).

    Two [36164]sites, A and B, are said to be same site if the following algorithm returns true: 1. If A and B are the same [36165]opaque origin, then return true. 2. If A or B is an [36166]opaque origin, then return false. 3. If A's and B's [36167]scheme values are different, then return false. 4. If A's and B's [36168]host values are not [36169]equal, then return false. 5. Return true.

    The serialization of a site is the string obtained by applying the following algorithm to the given [36170]site site: 1. If site is an [36171]opaque origin, then return "null". 2. Let result be site[0]. 3. Append "://" to result. 4. Append site[1], [36172]serialized, to result. 5. Return result.

    It needs to be clear from context that the serialized value is a site, not an origin, as there is not necessarily a syntactic difference between the two. For example, the origin ("https", "shop.example", null, null) and the site ("https", "shop.example") have the same serialization: "https://shop.example".

    Two [36173]origins, A and B, are said to be schemelessly same site if the following algorithm returns true: 1. If A and B are the same [36174]opaque origin, then return true. 2. If A and B are both [36175]tuple origins, then: 1. Let hostA be A's [36176]host, and let hostB be B's [36177]host. 2. If hostA [36178]equals hostB and hostA's [36179]registrable domain is null, then return true. 3. If hostA's [36180]registrable domain [36181]equals hostB's [36182]registrable domain and is non-null, then return true. 3. Return false.

    Two [36183]origins, A and B, are said to be same site if the following algorithm returns true: 1. Let siteA be the result of [36184]obtaining a site given A. 2. Let siteB be the result of [36185]obtaining a site given B. 3. If siteA is [36186]same site with siteB, then return true. 4. Return false.

    Unlike the [36187]same origin and [36188]same origin-domain concepts, for [36189]schemelessly same site and [36190]same site, the [36191]port and [36192]domain components are ignored.

    For the reasons [36193]explained in URL, the [36194]same site and [36195]schemelessly same site concepts should be avoided when possible, in favor of [36196]same origin checks.

    Given that wildlife.museum, museum, and com are [36197]public suffixes and that example.com is not: A B [36198]schemelessly same site [36199]same site ("https", "example.com") ("https", "sub.example.com") ✅ ("https", "example.com") ("https", "sub.other.example.com") ✅ ("https", "example.com") ("http", "non-secure.example.com") ✅ ❌ ("https", "r.wildlife.museum") ("https", "sub.r.wildlife.museum") ✅ ("https", "r.wildlife.museum") ("https", "sub.other.r.wildlife.museum") ✅ ("https", "r.wildlife.museum") ("https", "other.wildlife.museum") ❌ ❌ ("https", "r.wildlife.museum") ("https", "wildlife.museum") ❌ ❌ ("https", "wildlife.museum") ("https", "wildlife.museum") ✅ ("https", "example.com") ("https", "example.com.") ❌ ❌

    (Here we have omitted the [36200]port and [36201]domain components since they are not considered.)

    7.1.1.2 Relaxing the same-origin restriction

    document.[36202]domain [ = domain ] Returns the current domain used for security checks.

    Can be set to a value that removes subdomains, to change the [36203]origin's [36204]domain to allow pages on other subdomains of the same domain (if they do the same thing) to access each other. This enables pages on different hosts of a domain to synchronously access each other's DOMs.

    In sandboxed [36205]iframes, [36206]Documents with [36207]opaque origins, and [36208]Documents without a [36209]browsing context, the setter will throw a [36210]"SecurityError" exception. In cases where [36211]crossOriginIsolated or [36212]originAgentCluster return true, the setter will do nothing.

    Avoid using the [36213]document.domain setter. It undermines the security protections provided by the same-origin policy. This is especially acute when using shared hosting; for example, if an untrusted third party is able to host an HTTP server at the same IP address but on a different port, then the same-origin protection that normally protects two different sites on the same host will fail, as the ports are ignored when comparing origins after the [36214]document.domain setter has been used.

    Because of these security pitfalls, this feature is in the process of being removed from the web platform. (This is a long process that takes many years.)

    Instead, use [36215]postMessage() or [36216]MessageChannel objects to communicate across origins in a safe manner.

    The domain getter steps are: 1. Let effectiveDomain be [36217]this's [36218]origin's [36219]effective domain. 2. If effectiveDomain is null, then return the empty string. 3. Return effectiveDomain, [36220]serialized.

    The [36221]domain setter steps are: 1. If [36222]this's [36223]browsing context is null, then throw a [36224]"SecurityError" [36225]DOMException. 2. If [36226]this's [36227]active sandboxing flag set has its [36228]sandboxed document.domain browsing context flag set, then throw a [36229]"SecurityError" [36230]DOMException. 3. Let effectiveDomain be [36231]this's [36232]origin's [36233]effective domain. 4. If effectiveDomain is null, then throw a [36234]"SecurityError" [36235]DOMException. 5. If the given value [36236]is not a registrable domain suffix of and is not equal to effectiveDomain, then throw a [36237]"SecurityError" [36238]DOMException. 6. If the [36239]surrounding agent's [36240]agent cluster's [36241]is origin-keyed is true, then return. 7. Set [36242]this's [36243]origin's [36244]domain to the result of [36245]parsing the given value.

    To determine if a [36246]scalar value string hostSuffixString is a registrable domain suffix of or is equal to a [36247]host originalHost: 1. If hostSuffixString is the empty string, then return false. 2. Let hostSuffix be the result of [36248]parsing hostSuffixString. 3. If hostSuffix is failure, then return false. 4. If hostSuffix does not [36249]equal originalHost, then: 1. If hostSuffix or originalHost is not a [36250]domain, then return false. This excludes [36251]hosts that are [36252]IP addresses. 2. If hostSuffix, prefixed by U+002E (.), does not match the end of originalHost, then return false. 3. If any of the following are true: o hostSuffix [36253]equals hostSuffix's [36254]public suffix; or o hostSuffix, prefixed by U+002E (.), matches the end of originalHost's [36255]public suffix, then return false. [36256][URL] 4. [36257]Assert: originalHost's [36258]public suffix, prefixed by U+002E (.), matches the end of hostSuffix. 5. Return true.

    hostSuffixString originalHost Outcome of [36259]is a registrable domain suffix of or is equal to Notes "0.0.0.0" 0.0.0.0 "0x10203" 0.1.2.3 "[0::1]" ::1 "example.com" example.com "example.com" example.com. ❌ Trailing dot is significant. "example.com." example.com ❌ "example.com" www.example.com "com" example.com ❌ At the time of writing, com is a public suffix. "example" example "compute.amazonaws.com" example.compute.amazonaws.com ❌ At the time of writing, *.compute.amazonaws.com is a public suffix. "example.compute.amazonaws.com" www.example.compute.amazonaws.com ❌ "amazonaws.com" www.example.compute.amazonaws.com ❌ "amazonaws.com" test.amazonaws.com ✅ At the time of writing, amazonaws.com is a registrable domain.

    7.1.2 Origin-keyed agent clusters

    window.[36260]originAgentCluster Returns true if this [36261]Window belongs to an [36262]agent cluster which is [36263]origin-[36264]keyed, in the manner described in this section.

    A [36265]Document delivered over a [36266]secure context can request that it be placed in an [36267]origin-[36268]keyed [36269]agent cluster, by using the `Origin-Agent-Cluster` HTTP response header. This header is a [36270]structured header whose value must be a [36271]boolean. [36272][STRUCTURED-FIELDS]

    Per the processing model in the [36273]create and initialize a new Document object, values that are not the [36274]structured header boolean true value (i.e., `?1`) will be ignored.

    The consequences of using this header are that the resulting [36275]Document's [36276]agent cluster key is its [36277]origin, instead of the [36278]corresponding site. In terms of observable effects, this means that attempting to [36279]relax the same-origin restriction using [36280]document.domain will instead do nothing, and it will not be possible to send [36281]WebAssembly.Module objects to cross-origin [36282]Documents (even if they are [36283]same site). Behind the scenes, this isolation can allow user agents to allocate implementation-specific resources corresponding to [36284]agent clusters, such as processes or threads, more efficiently.

    Note that within a [36285]browsing context group, the `[36286]Origin-Agent-Cluster` header can never cause same-origin [36287]Document objects to end up in different [36288]agent clusters, even if one sends the header and the other doesn't. This is prevented by means of the [36289]historical agent cluster key map.

    This means that the [36290]originAgentCluster getter can return false, even if the header is set, if the header was omitted on a previously-loaded same-origin page in the same [36291]browsing context group. Similarly, it can return true even when the header is not set.

    The originAgentCluster getter steps are to return the [36292]surrounding agent's [36293]agent cluster's [36294]is origin-keyed.

    [36295]Documents with an [36296]opaque origin can be considered unconditionally origin-keyed; for them the header has no effect, and the [36297]originAgentCluster getter will always return true.

    Similarly, [36298]Documents whose [36299]agent cluster's [36300]cross-origin isolation mode is not "[36301]none" are automatically origin-keyed. The `[36302]Origin-Agent-Cluster` header might be useful as an additional hint to implementations about resource allocation, since the `[36303]Cross-Origin-Opener-Policy` and `[36304]Cross-Origin-Embedder-Policy` headers used to achieve cross-origin isolation are more about ensuring that everything in the same address space opts in to being there. But adding it would have no additional observable effects on author code.

    7.1.3 Cross-origin opener policies

    An opener policy value allows a document which is navigated to in a [36305]top-level browsing context to force the creation of a new [36306]top-level browsing context, and a corresponding [36307]group. The possible values are:

    "unsafe-none" This is the (current) default and means that the document will occupy the same [36308]top-level browsing context as its predecessor, unless that document specified a different [36309]opener policy.

    "same-origin-allow-popups" This forces the creation of a new [36310]top-level browsing context for the document, unless its predecessor specified the same [36311]opener policy and they are [36312]same origin.

    "same-origin" This behaves the same as "[36313]same-origin-allow-popups", with the addition that any [36314]auxiliary browsing context created needs to contain [36315]same origin documents that also have the same [36316]opener policy or it will appear closed to the opener.

    "same-origin-plus-COEP" This behaves the same as "[36317]same-origin", with the addition that it sets the (new) [36318]top-level browsing context's [36319]group's [36320]cross-origin isolation mode to one of "[36321]logical" or "[36322]concrete".

    "[36323]same-origin-plus-COEP" cannot be directly set via the `[36324]Cross-Origin-Opener-Policy` header, but results from a combination of setting both `[36325]Cross-Origin-Opener-Policy: [36326]same-origin` and a `[36327]Cross-Origin-Embedder-Policy` header whose value is [36328]compatible with cross-origin isolation together.

    "noopener-allow-popups" This forces the creation of a new [36329]top-level browsing context for the document, regardless of its predecessor.

    While including a [36330]noopener-allow-popups value severs the opener relationship between the document on which it is applied and its opener, it does not create a robust security boundary between those same-origin documents.

    Other risks from same-origin applications include:

    + Same-origin requests fetching the document's content — could be mitigated through Fetch Metadata filtering. [36331][FETCHMETADATA] + Same-origin framing - could be mitigated through [36332]X-Frame-Options or CSP [36333]frame-ancestors. + JavaScript accessible cookies - can be mitigated by ensuring all cookies are httponly. + [36334]localStorage access to sensitive data. + Service worker installation. + [36335]Cache API manipulation or access to sensitive data. [36336][SW] + postMessage or [36337]BroadcastChannel messaging that exposes sensitive information. + Autofill which may not require user interaction for same-origin documents.

    Developers using [36338]noopener-allow-popups need to make sure that their sensitive applications don't rely on client-side features accessible to other same-origin documents, e.g., [36339]localStorage and other client-side storage APIs, [36340]BroadcastChannel and related same-origin communication mechanisms. They also need to make sure that their server-side endpoints don't return sensitive data to non-navigation requests, whose response content is accessible to same-origin documents.

    An opener policy consists of: * A value, which is an [36341]opener policy value, initially "[36342]unsafe-none". * A reporting endpoint, which is string or null, initially null. * A report-only value, which is an [36343]opener policy value, initially "[36344]unsafe-none". * A report-only reporting endpoint, which is a string or null, initially null.

    To match opener policy values, given an [36345]opener policy value documentCOOP, an [36346]origin documentOrigin, an [36347]opener policy value responseCOOP, and an [36348]origin responseOrigin: 1. If documentCOOP is "[36349]unsafe-none" and responseCOOP is "[36350]unsafe-none", then return true. 2. If documentCOOP is "[36351]unsafe-none" or responseCOOP is "[36352]unsafe-none", then return false. 3. If documentCOOP is responseCOOP and documentOrigin is [36353]same origin with responseOrigin, then return true. 4. Return false.

    7.1.3.1 The headers

    (BUTTON) ✔MDN

    [36354]Headers/Cross-Origin-Opener-Policy

    Support in all current engines. Firefox79+Safari15.2+Chrome83+ __________________________________________________________________

    OperaNoEdge83+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView AndroidNoSamsung Internet?Opera AndroidNo

    A [36355]Document's [36356]cross-origin opener policy is derived from the `Cross-Origin-Opener-Policy` and `Cross-Origin-Opener-Policy-Report-Only` HTTP response headers. These headers are [36357]structured headers whose value must be a [36358]token. [36359][STRUCTURED-FIELDS]

    The valid [36360]token values are the [36361]opener policy values. The token may also have attached [36362]parameters; of these, the "report-to" parameter can have a [36363]valid URL string identifying an appropriate reporting endpoint. [36364][REPORTING]

    Per the processing model described below, user agents will ignore this header if it contains an invalid value. Likewise, user agents will ignore this header if the value cannot be parsed as a [36365]token. __________________________________________________________________

    To obtain an opener policy given a [36366]response response and an [36367]environment reservedEnvironment: 1. Let policy be a new [36368]opener policy. 2. If reservedEnvironment is a [36369]non-secure context, then return policy. 3. Let parsedItem be the result of [36370]getting a structured field value given `[36371]Cross-Origin-Opener-Policy` and "item" from response's [36372]header list. 4. If parsedItem is not null, then: 1. If parsedItem[0] is "[36373]same-origin", then: 1. Let coep be the result of [36374]obtaining a cross-origin embedder policy from response and reservedEnvironment. 2. If coep's [36375]value is [36376]compatible with cross-origin isolation, then set policy's [36377]value to "[36378]same-origin-plus-COEP". 3. Otherwise, set policy's [36379]value to "[36380]same-origin". 2. If parsedItem[0] is "[36381]same-origin-allow-popups", then set policy's [36382]value to "[36383]same-origin-allow-popups". 3. If parsedItem[0] is "[36384]noopener-allow-popups", then set policy's [36385]value to "[36386]noopener-allow-popups". 4. If parsedItem[1]["[36387]report-to"] [36388]exists and it is a string, then set policy's [36389]reporting endpoint to parsedItem[1]["[36390]report-to"]. 5. Set parsedItem to the result of [36391]getting a structured field value given `[36392]Cross-Origin-Opener-Policy-Report-Only` and "item" from response's [36393]header list. 6. If parsedItem is not null, then: 1. If parsedItem[0] is "[36394]same-origin", then: 1. Let coep be the result of [36395]obtaining a cross-origin embedder policy from response and reservedEnvironment. 2. If coep's [36396]value is [36397]compatible with cross-origin isolation or coep's [36398]report-only value is [36399]compatible with cross-origin isolation, then set policy's [36400]report-only value to "[36401]same-origin-plus-COEP". Report only COOP also considers report-only COEP to assign the special "[36402]same-origin-plus-COEP" value. This allows developers more freedom in the order of deployment of COOP and COEP. 3. Otherwise, set policy's [36403]report-only value to "[36404]same-origin". 2. If parsedItem[0] is "[36405]same-origin-allow-popups", then set policy's [36406]report-only value to "[36407]same-origin-allow-popups". 3. If parsedItem[1]["[36408]report-to"] [36409]exists and it is a string, then set policy's [36410]report-only reporting endpoint to parsedItem[1]["[36411]report-to"]. 7. Return policy.

    7.1.3.2 Browsing context group switches due to opener policy

    To check if popup COOP values require a browsing context group switch, given two [36412]origins responseOrigin and activeDocumentNavigationOrigin, and two [36413]opener policy values responseCOOPValue and activeDocumentCOOPValue: 1. If responseCOOPValue is "[36414]noopener-allow-popups", then return true. 2. If all of the following are true: + activeDocumentCOOPValue's [36415]value is "[36416]same-origin-allow-popups" or "[36417]noopener-allow-popups"; and + responseCOOPValue is "[36418]unsafe-none", then return false. 3. If the result of [36419]matching activeDocumentCOOPValue, activeDocumentNavigationOrigin, responseCOOPValue, and responseOrigin is true, then return false. 4. Return true.

    To check if COOP values require a browsing context group switch, given a boolean isInitialAboutBlank, two [36420]origins responseOrigin and activeDocumentNavigationOrigin, and two [36421]opener policy values responseCOOPValue and activeDocumentCOOPValue: 1. If isInitialAboutBlank is true, then return the result of [36422]checking if popup COOP values requires a browsing context group switch with responseOrigin, activeDocumentNavigationOrigin, responseCOOPValue, and activeDocumentCOOPValue. 2. Here we are dealing with a non-popup navigation. If the result of [36423]matching activeDocumentCOOPValue, activeDocumentNavigationOrigin, responseCOOPValue, and responseOrigin is true, then return false. 3. Return true.

    To check if enforcing report-only COOP would require a browsing context group switch, given a boolean isInitialAboutBlank, two [36424]origins responseOrigin, activeDocumentNavigationOrigin, and two [36425]opener policies responseCOOP and activeDocumentCOOP: 1. If the result of [36426]checking if COOP values require a browsing context group switch given isInitialAboutBlank, responseOrigin, activeDocumentNavigationOrigin, responseCOOP's [36427]report-only value, and activeDocumentCOOPReportOnly's [36428]report-only value is false, then return false. Matching report-only policies allows a website to specify the same report-only opener policy on all its pages and not receive violation reports for navigations between these pages. 2. If the result of [36429]checking if COOP values require a browsing context group switch given isInitialAboutBlank, responseOrigin, activeDocumentNavigationOrigin, responseCOOP's [36430]value, and activeDocumentCOOPReportOnly's [36431]report-only value is true, then return true. 3. If the result of [36432]checking if COOP values require a browsing context group switch given isInitialAboutBlank, responseOrigin, activeDocumentNavigationOrigin, responseCOOP's [36433]report-only value, and activeDocumentCOOPReportOnly's [36434]value is true, then return true. 4. Return false.

    An opener policy enforcement result is a [36435]struct with the following [36436]items: * A boolean needs a browsing context group switch, initially false. * A boolean would need a browsing context group switch due to report-only, initially false. * A [36437]URL url. * An [36438]origin origin. * An [36439]opener policy opener policy. * A boolean current context is navigation source, initially false.

    To enforce a response's opener policy, given a [36440]browsing context browsingContext, a [36441]URL responseURL, an [36442]origin responseOrigin, an [36443]opener policy responseCOOP, an [36444]opener policy enforcement result currentCOOPEnforcementResult, and a [36445]referrer referrer: 1. Let newCOOPEnforcementResult be a new [36446]opener policy enforcement result with

    [36447]needs a browsing context group switch currentCOOPEnforcementResult's [36448]needs a browsing context group switch

    [36449]would need a browsing context group switch due to report-only currentCOOPEnforcementResult's [36450]would need a browsing context group switch due to report-only

    [36451]url responseURL

    [36452]origin responseOrigin

    [36453]opener policy responseCOOP

    [36454]current context is navigation source true

    2. Let isInitialAboutBlank be browsingContext's [36455]active document's [36456]is initial about:blank. 3. If isInitialAboutBlank is true and browsingContext's [36457]initial URL is null, set browsingContext's [36458]initial URL to responseURL. 4. If the result of [36459]checking if COOP values require a browsing context group switch given isInitialAboutBlank, currentCOOPEnforcementResult's [36460]opener policy's [36461]value, currentCOOPEnforcementResult's [36462]origin, responseCOOP's [36463]value, and responseOrigin is true, then: 1. Set newCOOPEnforcementResult's [36464]needs a browsing context group switch to true. 2. If browsingContext's [36465]group's [36466]browsing context set's [36467]size is greater than 1, then: 1. [36468]Queue a violation report for browsing context group switch when navigating to a COOP response with responseCOOP, "enforce", responseURL, currentCOOPEnforcementResult's [36469]url, currentCOOPEnforcementResult's [36470]origin, responseOrigin, and referrer. 2. [36471]Queue a violation report for browsing context group switch when navigating away from a COOP response with currentCOOPEnforcementResult's [36472]opener policy, "enforce", currentCOOPEnforcementResult's [36473]url, responseURL, currentCOOPEnforcementResult's [36474]origin, responseOrigin, and currentCOOPEnforcementResult's [36475]current context is navigation source. 5. If the result of [36476]checking if enforcing report-only COOP would require a browsing context group switch given isInitialAboutBlank, responseOrigin, currentCOOPEnforcementResult's [36477]origin, responseCOOP, and currentCOOPEnforcementResult's [36478]opener policy, is true, then: 1. Set newCOOPEnforcementResult's [36479]would need a browsing context group switch due to report-only to true. 2. If browsingContext's [36480]group's [36481]browsing context set's [36482]size is greater than 1, then: 1. [36483]Queue a violation report for browsing context group switch when navigating to a COOP response with responseCOOP, "reporting", responseURL, currentCOOPEnforcementResult's [36484]url, currentCOOPEnforcementResult's [36485]origin, responseOrigin, and referrer. 2. [36486]Queue a violation report for browsing context group switch when navigating away from a COOP response with currentCOOPEnforcementResult's [36487]opener policy, "reporting", currentCOOPEnforcementResult's [36488]url, responseURL, currentCOOPEnforcementResult's [36489]origin, responseOrigin, and currentCOOPEnforcementResult's [36490]current context is navigation source. 6. Return newCOOPEnforcementResult.

    To obtain a browsing context to use for a navigation response, given [36491]navigation params navigationParams: 1. Let browsingContext be navigationParams's [36492]navigable's [36493]active browsing context. 2. If browsingContext is not a [36494]top-level browsing context, then return browsingContext. 3. Let coopEnforcementResult be navigationParams's [36495]COOP enforcement result. 4. Let swapGroup be coopEnforcementResult's [36496]needs a browsing context group switch. 5. Let sourceOrigin be browsingContext's [36497]active document's [36498]origin. 6. Let destinationOrigin be navigationParams's [36499]origin. 7. If sourceOrigin is not [36500]same site with destinationOrigin: 1. If either of sourceOrigin or destinationOrigin have a [36501]scheme that is not an [36502]HTTP(S) scheme and the user agent considers it necessary for sourceOrigin and destinationOrigin to be isolated from each other (for [36503]implementation-defined reasons), optionally set swapGroup to true. For example, if a user navigates from about:settings to https://example.com, the user agent could force a swap. [36504]Issue #10842 tracks settling on an interoperable behavior here, instead of letting this be optional. 2. If navigationParams's [36505]user involvement is "[36506]browser UI", optionally set swapGroup to true. [36507]Issue #6356 tracks settling on an interoperable behavior here, instead of letting this be optional. 8. If browsingContext's [36508]group's [36509]browsing context set's [36510]size is 1, optionally set swapGroup to true. Some implementations swap browsing context groups here for performance reasons. The check for other contexts that could script this one is not sufficient to prevent differences in behavior that could affect a web page. Even if there are currently no other contexts, the destination page could open a window, then if the user navigates back, the previous page could expect to be able to script the opened window. Doing a swap here would break that use case. 9. If swapGroup is false, then: 1. If coopEnforcementResult's [36511]would need a browsing context group switch due to report-only is true, set browsingContext's [36512]virtual browsing context group ID to a new unique identifier. 2. Return browsingContext. 10. Let newBrowsingContext be the first return value of [36513]creating a new top-level browsing context and document. In this case we are going to perform a browsing context group swap. browsingContext will not be used by the new [36514]Document that we are about to [36515]create. If it is not used by other [36516]Documents either (such as ones in the back/forward cache), then the user agent might [36517]destroy it at this point. 11. Let navigationCOOP be navigationParams's [36518]cross-origin opener policy. 12. If navigationCOOP's [36519]value is "[36520]same-origin-plus-COEP", then set newBrowsingContext's [36521]group's [36522]cross-origin isolation mode to either "[36523]logical" or "[36524]concrete". The choice of which is [36525]implementation-defined. It is difficult on some platforms to provide the security properties required by the [36526]cross-origin isolated capability. "[36527]concrete" grants access to it and "[36528]logical" does not. 13. Let sandboxFlags be a [36529]clone of navigationParams's [36530]final sandboxing flag set. 14. If sandboxFlags is not empty, then: 1. [36531]Assert: navigationCOOP's [36532]value is "[36533]unsafe-none". 2. [36534]Assert: newBrowsingContext's [36535]popup sandboxing flag set [36536]is empty. 3. Set newBrowsingContext's [36537]popup sandboxing flag set to sandboxFlags. 15. Return newBrowsingContext.

    7.1.3.3 Reporting

    An accessor-accessed relationship is an enum that describes the relationship between two [36538]browsing contexts between which an access happened. It can take the following values:

    accessor is opener The accessor [36539]browsing context or one of its [36540]ancestors is the [36541]opener browsing context of the accessed [36542]browsing context's [36543]top-level browsing context.

    accessor is openee The accessed [36544]browsing context or one of its [36545]ancestors is the [36546]opener browsing context of the accessor [36547]browsing context's [36548]top-level browsing context.

    none There is no opener relationship between the accessor [36549]browsing context, the accessor [36550]browsing context, or any of their [36551]ancestors.

    To check if an access between two browsing contexts should be reported, given two [36552]browsing contexts accessor and accessed, a JavaScript property name P, and an [36553]environment settings object environment: 1. If P is not a [36554]cross-origin accessible window property name, then return. 2. [36555]Assert: accessor's [36556]active document and accessed's [36557]active document are both [36558]fully active. 3. Let accessorTopDocument be accessor's [36559]top-level browsing context's [36560]active document. 4. Let accessorInclusiveAncestorOrigins be the list obtained by taking the [36561]origin of the [36562]active document of each of accessor's [36563]active document's [36564]inclusive ancestor navigables. 5. Let accessedTopDocument be accessed's [36565]top-level browsing context's [36566]active document. 6. Let accessedInclusiveAncestorOrigins be the list obtained by taking the [36567]origin of the [36568]active document of each of accessed's [36569]active document's [36570]inclusive ancestor navigables. 7. If any of accessorInclusiveAncestorOrigins are not [36571]same origin with accessorTopDocument's [36572]origin, or if any of accessedInclusiveAncestorOrigins are not [36573]same origin with accessedTopDocument's [36574]origin, then return. This avoids leaking information about cross-origin iframes to a top level frame with opener policy reporting. 8. If accessor's [36575]top-level browsing context's [36576]virtual browsing context group ID is accessed's [36577]top-level browsing context's [36578]virtual browsing context group ID, then return. 9. Let accessorAccessedRelationship be a new [36579]accessor-accessed relationship with value [36580]none. 10. If accessed's [36581]top-level browsing context's [36582]opener browsing context is accessor or is an [36583]ancestor of accessor, then set accessorAccessedRelationship to [36584]accessor is opener. 11. If accessor's [36585]top-level browsing context's [36586]opener browsing context is accessed or is an [36587]ancestor of accessed, then set accessorAccessedRelationship to [36588]accessor is openee. 12. [36589]Queue violation reports for accesses, given accessorAccessedRelationship, accessorTopDocument's [36590]opener policy, accessedTopDocument's [36591]opener policy, accessor's [36592]active document's [36593]URL, accessed's [36594]active document's [36595]URL, accessor's [36596]top-level browsing context's [36597]initial URL, accessed's [36598]top-level browsing context's [36599]initial URL, accessor's [36600]active document's [36601]origin, accessed's [36602]active document's [36603]origin, accessor's [36604]top-level browsing context's [36605]opener origin at creation, accessed's [36606]top-level browsing context's [36607]opener origin at creation, accessorTopDocument's [36608]referrer, accessedTopDocument's [36609]referrer, P, and environment.

    To sanitize a URL to send in a report given a [36610]URL url: 1. Let sanitizedURL be a copy of url. 2. [36611]Set the username given sanitizedURL and the empty string. 3. [36612]Set the password given sanitizedURL and the empty string. 4. Return the [36613]serialization of sanitizedURL with [36614]exclude fragment set to true.

    To queue a violation report for browsing context group switch when navigating to a COOP response given an [36615]opener policy coop, a string disposition, a [36616]URL coopURL, a [36617]URL previousResponseURL, two [36618]origins coopOrigin and previousResponseOrigin, and a [36619]referrer referrer: 1. If coop's [36620]reporting endpoint is null, return. 2. Let coopValue be coop's [36621]value. 3. If disposition is "reporting", then set coopValue to coop's [36622]report-only value. 4. Let serializedReferrer be an empty string. 5. If referrer is a [36623]URL, set serializedReferrer to the [36624]serialization of referrer. 6. Let body be a new object containing the following properties:

    key value disposition disposition effectivePolicy coopValue previousResponseURL If coopOrigin and previousResponseOrigin are [36625]same origin this is the [36626]sanitization of previousResponseURL, null otherwise. referrer serializedReferrer type "navigation-to-response" 7. [36627]Queue body as "coop" for coop's [36628]reporting endpoint with coopURL.

    To queue a violation report for browsing context group switch when navigating away from a COOP response given an [36629]opener policy coop, a string disposition, a [36630]URL coopURL, a [36631]URL nextResponseURL, two [36632]origins coopOrigin and nextResponseOrigin, and a boolean isCOOPResponseNavigationSource: 1. If coop's [36633]reporting endpoint is null, return. 2. Let coopValue be coop's [36634]value. 3. If disposition is "reporting", then set coopValue to coop's [36635]report-only value. 4. Let body be a new object containing the following properties:

    key value disposition disposition effectivePolicy coopValue nextResponseURL If coopOrigin and nextResponseOrigin are [36636]same origin or isCOOPResponseNavigationSource is true, this is the [36637]sanitization of nextResponseURL, null otherwise. type "navigation-from-response" 5. [36638]Queue body as "coop" for coop's [36639]reporting endpoint with coopURL.

    To queue violation reports for accesses, given an [36640]accessor-accessed relationship accessorAccessedRelationship, two [36641]opener policies accessorCOOP and accessedCOOP, four [36642]URLs accessorURL, accessedURL, accessorInitialURL, accessedInitialURL, four [36643]origins accessorOrigin, accessedOrigin, accessorCreatorOrigin and accessedCreatorOrigin, two [36644]referrers accessorReferrer and accessedReferrer, a string propertyName, and an [36645]environment settings object environment: 1. If coop's [36646]reporting endpoint is null, return. 2. Let coopValue be coop's [36647]value. 3. If disposition is "reporting", then set coopValue to coop's [36648]report-only value. 4. If accessorAccessedRelationship is [36649]accessor is opener: 1. [36650]Queue a violation report for access to an opened window, given accessorCOOP, accessorURL, accessedURL, accessedInitialURL, accessorOrigin, accessedOrigin, accessedCreatorOrigin, propertyName, and environment. 2. [36651]Queue a violation report for access from the opener, given accessedCOOP, accessedURL, accessorURL, accessedOrigin, accessorOrigin, propertyName, and accessedReferrer. 5. Otherwise, if accessorAccessedRelationship is [36652]accessor is openee: 1. [36653]Queue a violation report for access to the opener, given accessorCOOP, accessorURL, accessedURL, accessorOrigin, accessedOrigin, propertyName, accessorReferrer, and environment. 2. [36654]Queue a violation report for access from an opened window, given accessedCOOP, accessedURL, accessorURL, accessorInitialURL, accessedOrigin, accessorOrigin, accessorCreatorOrigin, and propertyName. 6. Otherwise: 1. [36655]Queue a violation report for access to another window, given accessorCOOP, accessorURL, accessedURL, accessorOrigin, accessedOrigin, propertyName, and environment. 2. [36656]Queue a violation report for access from another window, given accessedCOOP, accessedURL, accessorURL, accessedOrigin, accessorOrigin, and propertyName.

    To queue a violation report for access to the opener, given an [36657]opener policy coop, two [36658]URLs coopURL and openerURL, two [36659]origins coopOrigin and openerOrigin, a string propertyName, a [36660]referrer referrer, and an [36661]environment settings object environment: 1. Let sourceFile, lineNumber, and columnNumber be the relevant script URL and problematic position which triggered this report. 2. Let serializedReferrer be an empty string. 3. If referrer is a [36662]URL, set serializedReferrer to the [36663]serialization of referrer. 4. Let body be a new object containing the following properties:

    key value disposition "reporting" effectivePolicy coop's [36664]report-only value property propertyName openerURL If coopOrigin and openerOrigin are [36665]same origin, this is the [36666]sanitization of openerURL, null otherwise. referrer serializedReferrer sourceFile sourceFile lineNumber lineNumber columnNumber columnNumber type "access-to-opener" 5. [36667]Queue body as "coop" for coop's [36668]reporting endpoint with coopURL and environment.

    To queue a violation report for access to an opened window, given an [36669]opener policy coop, three [36670]URLs coopURL, openedWindowURL and initialWindowURL, three [36671]origins coopOrigin, openedWindowOrigin, and openerInitialOrigin, a string propertyName, and an [36672]environment settings object environment: 1. Let sourceFile, lineNumber, and columnNumber be the relevant script URL and problematic position which triggered this report. 2. Let body be a new object containing the following properties:

    key value disposition "reporting" effectivePolicy coop's [36673]report-only value property propertyName openedWindowURL If coopOrigin and openedWindowOrigin are [36674]same origin, this is the [36675]sanitization of openedWindowURL, null otherwise. openedWindowInitialURL If coopOrigin and openerInitialOrigin are [36676]same origin, this is the [36677]sanitization of initialWindowURL, null otherwise. sourceFile sourceFile lineNumber lineNumber columnNumber columnNumber type "access-to-opener" 3. [36678]Queue body as "coop" for coop's [36679]reporting endpoint with coopURL and environment.

    To queue a violation report for access to another window, given an [36680]opener policy coop, two [36681]URLs coopURL and otherURL, two [36682]origins coopOrigin and otherOrigin, a string propertyName, and an [36683]environment settings object environment: 1. Let sourceFile, lineNumber, and columnNumber be the relevant script URL and problematic position which triggered this report. 2. Let body be a new object containing the following properties:

    key value disposition "reporting" effectivePolicy coop's [36684]report-only value property propertyName otherURL If coopOrigin and otherOrigin are [36685]same origin, this is the [36686]sanitization of otherURL, null otherwise. sourceFile sourceFile lineNumber lineNumber columnNumber columnNumber type "access-to-opener" 3. [36687]Queue body as "coop" for coop's [36688]reporting endpoint with coopURL and environment.

    To queue a violation report for access from the opener, given an [36689]opener policy coop, two [36690]URLs coopURL and openerURL, two [36691]origins coopOrigin and openerOrigin, a string propertyName, and a [36692]referrer referrer: 1. If coop's [36693]reporting endpoint is null, return. 2. Let serializedReferrer be an empty string. 3. If referrer is a [36694]URL, set serializedReferrer to the [36695]serialization of referrer. 4. Let body be a new object containing the following properties:

    key value disposition "reporting" effectivePolicy coop's [36696]report-only value property propertyName openerURL If coopOrigin and openerOrigin are [36697]same origin, this is the [36698]sanitization of openerURL, null otherwise. referrer serializedReferrer type "access-to-opener" 5. [36699]Queue body as "coop" for coop's [36700]reporting endpoint with coopURL.

    To queue a violation report for access from an opened window, given an [36701]opener policy coop, three [36702]URLs coopURL, openedWindowURL and initialWindowURL, three [36703]origins coopOrigin, openedWindowOrigin, and openerInitialOrigin, and a string propertyName: 1. If coop's [36704]reporting endpoint is null, return. 2. Let body be a new object containing the following properties:

    key value disposition "reporting" effectivePolicy coopValue property coop's [36705]report-only value openedWindowURL If coopOrigin and openedWindowOrigin are [36706]same origin, this is the [36707]sanitization of openedWindowURL, null otherwise. openedWindowInitialURL If coopOrigin and openerInitialOrigin are [36708]same origin, this is the [36709]sanitization of initialWindowURL, null otherwise. type "access-to-opener" 3. [36710]Queue body as "coop" for coop's [36711]reporting endpoint with coopURL.

    To queue a violation report for access from another window, given an [36712]opener policy coop, two [36713]URLs coopURL and otherURL, two [36714]origins coopOrigin and otherOrigin, and a string propertyName: 1. If coop's [36715]reporting endpoint is null, return. 2. Let body be a new object containing the following properties:

    key value disposition "reporting" effectivePolicy coop's [36716]report-only value property propertyName otherURL If coopOrigin and otherOrigin are [36717]same origin, this is the [36718]sanitization of otherURL, null otherwise. type access-to-opener 3. [36719]Queue body as "coop" for coop's [36720]reporting endpoint with coopURL.

    7.1.4 Cross-origin embedder policies

    (BUTTON) ✔MDN

    [36721]Headers/Cross-Origin-Embedder-Policy

    Support in all current engines. Firefox79+Safari15.2+Chrome83+ __________________________________________________________________

    Opera?Edge83+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android86+Samsung Internet?Opera Android?

    An embedder policy value is one of three strings that controls the fetching of cross-origin resources without explicit permission from resource owners.

    "unsafe-none" This is the default value. When this value is used, cross-origin resources can be fetched without giving explicit permission through the [36722]CORS protocol or the `[36723]Cross-Origin-Resource-Policy` header.

    "require-corp" When this value is used, fetching cross-origin resources requires the server's explicit permission through the [36724]CORS protocol or the `[36725]Cross-Origin-Resource-Policy` header.

    "credentialless" When this value is used, fetching cross-origin no-CORS resources omits credentials. In exchange, an explicit `[36726]Cross-Origin-Resource-Policy` header is not required. Other requests sent with credentials require the server's explicit permission through the [36727]CORS protocol or the `[36728]Cross-Origin-Resource-Policy` header.

    Before supporting "[36729]credentialless", implementers are strongly encouraged to support both: * [36730]Private Network Access * [36731]Opaque Response Blocking

    Otherwise, it would allow attackers to leverage the client's network position to read non public resources, using the [36732]cross-origin isolated capability.

    An [36733]embedder policy value is compatible with cross-origin isolation if it is "[36734]credentialless" or "[36735]require-corp".

    An embedder policy consists of: * A value, which is an [36736]embedder policy value, initially "[36737]unsafe-none". * A reporting endpoint string, initially the empty string. * A report only value, which is an [36738]embedder policy value, initially "[36739]unsafe-none". * A report only reporting endpoint string, initially the empty string.

    The "coep" report type is a [36740]report type whose value is "coep". It is [36741]visible to ReportingObservers.

    7.1.4.1 The headers

    The `Cross-Origin-Embedder-Policy` and `Cross-Origin-Embedder-Policy-Report-Only` HTTP response headers allow a server to declare an [36742]embedder policy for an [36743]environment settings object. These headers are [36744]structured headers whose values must be [36745]token. [36746][STRUCTURED-FIELDS]

    The valid [36747]token values are the [36748]embedder policy values. The token may also have attached [36749]parameters; of these, the "report-to" parameter can have a [36750]valid URL string identifying an appropriate reporting endpoint. [36751][REPORTING]

    The [36752]processing model fails open (by defaulting to "[36753]unsafe-none") in the presence of a header that cannot be parsed as a token. This includes inadvertent lists created by combining multiple instances of the `[36754]Cross-Origin-Embedder-Policy` header present in a given response: `[36755]Cross-Origin-Embedder-Policy` Final [36756]embedder policy value No header delivered "[36757]unsafe-none" `require-corp` "[36758]require-corp" `unknown-value` "[36759]unsafe-none" `require-corp, unknown-value` "[36760]unsafe-none" `unknown-value, unknown-value` "[36761]unsafe-none" `unknown-value, require-corp` "[36762]unsafe-none" `require-corp, require-corp` "[36763]unsafe-none"

    (The same applies to `[36764]Cross-Origin-Embedder-Policy-Report-Only`.) __________________________________________________________________

    To obtain an embedder policy from a [36765]response response and an [36766]environment environment: 1. Let policy be a new [36767]embedder policy. 2. If environment is a [36768]non-secure context, then return policy. 3. Let parsedItem be the result of [36769]getting a structured field value with `[36770]Cross-Origin-Embedder-Policy` and "item" from response's [36771]header list. 4. If parsedItem is non-null and parsedItem[0] is [36772]compatible with cross-origin isolation: 1. Set policy's [36773]value to parsedItem[0]. 2. If parsedItem[1]["[36774]report-to"] [36775]exists, then set policy's [36776]endpoint to parsedItem[1]["[36777]report-to"]. 5. Set parsedItem to the result of [36778]getting a structured field value with `[36779]Cross-Origin-Embedder-Policy-Report-Only` and "item" from response's [36780]header list. 6. If parsedItem is non-null and parsedItem[0] is [36781]compatible with cross-origin isolation: 1. Set policy's [36782]report only value to parsedItem[0]. 2. If parsedItem[1]["[36783]report-to"] [36784]exists, then set policy's [36785]endpoint to parsedItem[1]["[36786]report-to"]. 7. Return policy.

    7.1.4.2 Embedder policy checks

    To check a navigation response's adherence to its embedder policy given a [36787]response response, a [36788]navigable navigable, and an [36789]embedder policy responsePolicy: 1. If navigable is not a [36790]child navigable, then return true. 2. Let parentPolicy be navigable's [36791]container document's [36792]policy container's [36793]embedder policy. 3. If parentPolicy's [36794]report-only value is [36795]compatible with cross-origin isolation and responsePolicy's [36796]value is not, then [36797]queue a cross-origin embedder policy inheritance violation with response, "navigation", parentPolicy's [36798]report only reporting endpoint, "reporting", and navigable's [36799]container document's [36800]relevant settings object. 4. If parentPolicy's [36801]value is not [36802]compatible with cross-origin isolation or responsePolicy's [36803]value is [36804]compatible with cross-origin isolation, then return true. 5. [36805]Queue a cross-origin embedder policy inheritance violation with response, "navigation", parentPolicy's [36806]reporting endpoint, "enforce", and navigable's [36807]container document's [36808]relevant settings object. 6. Return false.

    To check a global object's embedder policy given a [36809]WorkerGlobalScope workerGlobalScope, an [36810]environment settings object owner, and a [36811]response response: 1. If workerGlobalScope is not a [36812]DedicatedWorkerGlobalScope object, then return true. 2. Let policy be workerGlobalScope's [36813]embedder policy. 3. Let ownerPolicy be owner's [36814]policy container's [36815]embedder policy. 4. If ownerPolicy's [36816]report-only value is [36817]compatible with cross-origin isolation and policy's [36818]value is not, then [36819]queue a cross-origin embedder policy inheritance violation with response, "worker initialization", ownerPolicy's [36820]report only reporting endpoint, "reporting", and owner. 5. If ownerPolicy's [36821]value is not [36822]compatible with cross-origin isolation or policy's [36823]value is [36824]compatible with cross-origin isolation, then return true. 6. [36825]Queue a cross-origin embedder policy inheritance violation with response, "worker initialization", ownerPolicy's [36826]reporting endpoint, "enforce", and owner. 7. Return false.

    To queue a cross-origin embedder policy inheritance violation given a [36827]response response, a string type, a string endpoint, a string disposition, and an [36828]environment settings object settings: 1. Let serialized be the result of [36829]serializing a response URL for reporting with response. 2. Let body be a new object containing the following properties:

    key value type type blockedURL serialized disposition disposition 3. [36830]Queue body as the [36831]"coep" report type for endpoint on settings.

    7.1.5 Sandboxing

    A sandboxing flag set is a set of zero or more of the following flags, which are used to restrict the abilities that potentially untrusted resources have:

    The sandboxed navigation browsing context flag This flag [36832]prevents content from navigating browsing contexts other than the sandboxed browsing context itself (or browsing contexts further nested inside it), [36833]auxiliary browsing contexts (which are protected by the [36834]sandboxed auxiliary navigation browsing context flag defined next), and the [36835]top-level browsing context (which is protected by the [36836]sandboxed top-level navigation without user activation browsing context flag and [36837]sandboxed top-level navigation with user activation browsing context flag defined below).

    If the [36838]sandboxed auxiliary navigation browsing context flag is not set, then in certain cases the restrictions nonetheless allow popups (new [36839]top-level browsing contexts) to be opened. These [36840]browsing contexts always have one permitted sandboxed navigator, set when the browsing context is created, which allows the [36841]browsing context that created them to actually navigate them. (Otherwise, the [36842]sandboxed navigation browsing context flag would prevent them from being navigated even if they were opened.)

    The sandboxed auxiliary navigation browsing context flag This flag [36843]prevents content from creating new auxiliary browsing contexts, e.g. using the [36844]target attribute or the [36845]window.open() method.

    The sandboxed top-level navigation without user activation browsing context flag This flag [36846]prevents content from navigating their top-level browsing context and [36847]prevents content from closing their top-level browsing context. It is consulted only when the sandboxed browsing context's [36848]active window does not have [36849]transient activation.

    When the [36850]sandboxed top-level navigation without user activation browsing context flag is not set, content can navigate its [36851]top-level browsing context, but other [36852]browsing contexts are still protected by the [36853]sandboxed navigation browsing context flag and possibly the [36854]sandboxed auxiliary navigation browsing context flag.

    The sandboxed top-level navigation with user activation browsing context flag This flag [36855]prevents content from navigating their top-level browsing context and [36856]prevents content from closing their top-level browsing context. It is consulted only when the sandboxed browsing context's [36857]active window has [36858]transient activation.

    As with the [36859]sandboxed top-level navigation without user activation browsing context flag, this flag only affects the [36860]top-level browsing context; if it is not set, other [36861]browsing contexts might still be protected by other flags.

    The sandboxed origin browsing context flag This flag [36862]forces content into an opaque origin, thus preventing it from accessing other content from the same [36863]origin.

    This flag also [36864]prevents script from reading from or writing to the document.cookie IDL attribute, and blocks access to [36865]localStorage.

    The sandboxed forms browsing context flag This flag [36866]blocks form submission.

    The sandboxed pointer lock browsing context flag This flag disables the Pointer Lock API. [36867][POINTERLOCK]

    The sandboxed scripts browsing context flag This flag [36868]blocks script execution.

    The sandboxed automatic features browsing context flag This flag blocks features that trigger automatically, such as [36869]automatically playing a video or [36870]automatically focusing a form control.

    The sandboxed document.domain browsing context flag This flag prevents content from using the [36871]document.domain setter.

    The sandbox propagates to auxiliary browsing contexts flag This flag prevents content from escaping the sandbox by ensuring that any [36872]auxiliary browsing context it creates inherits the content's [36873]active sandboxing flag set.

    The sandboxed modals flag This flag prevents content from using any of the following features to produce modal dialogs:

    + [36874]window.alert() + [36875]window.confirm() + [36876]window.print() + [36877]window.prompt() + the [36878]beforeunload event

    The sandboxed orientation lock browsing context flag This flag disables the ability to lock the screen orientation. [36879][SCREENORIENTATION]

    The sandboxed presentation browsing context flag This flag disables the Presentation API. [36880][PRESENTATION]

    The sandboxed downloads browsing context flag This flag prevents content from initiating or instantiating downloads, whether through [36881]downloading hyperlinks or through [36882]navigation that gets [36883]handled as a download.

    The sandboxed custom protocols navigation browsing context flag This flag prevents navigations toward non [36884]fetch schemes from being [36885]handed off to external software.

    When the user agent is to parse a sandboxing directive, given a string input and a [36886]sandboxing flag set output, it must run the following steps: 1. [36887]Split input on ASCII whitespace, to obtain tokens. 2. Let output be empty. 3. Add the following flags to output: + The [36888]sandboxed navigation browsing context flag. + The [36889]sandboxed auxiliary navigation browsing context flag, unless tokens contains the allow-popups keyword. + The [36890]sandboxed top-level navigation without user activation browsing context flag, unless tokens contains the allow-top-navigation keyword. + The [36891]sandboxed top-level navigation with user activation browsing context flag, unless tokens contains either the allow-top-navigation-by-user-activation keyword or the [36892]allow-top-navigation keyword. This means that if the [36893]allow-top-navigation is present, the [36894]allow-top-navigation-by-user-activation keyword will have no effect. For this reason, specifying both is a document conformance error. + The [36895]sandboxed origin browsing context flag, unless the tokens contains the allow-same-origin keyword. The [36896]allow-same-origin keyword is intended for two cases. First, it can be used to allow content from the same site to be sandboxed to disable scripting, while still allowing access to the DOM of the sandboxed content. Second, it can be used to embed content from a third-party site, sandboxed to prevent that site from opening popups, etc, without preventing the embedded page from communicating back to its originating site, using the database APIs to store data, etc. + The [36897]sandboxed forms browsing context flag, unless tokens contains the allow-forms keyword. + The [36898]sandboxed pointer lock browsing context flag, unless tokens contains the allow-pointer-lock keyword. + The [36899]sandboxed scripts browsing context flag, unless tokens contains the allow-scripts keyword. + The [36900]sandboxed automatic features browsing context flag, unless tokens contains the [36901]allow-scripts keyword (defined above). This flag is relaxed by the same keyword as scripts, because when scripts are enabled these features are trivially possible anyway, and it would be unfortunate to force authors to use script to do them when sandboxed rather than allowing them to use the declarative features. + The [36902]sandboxed document.domain browsing context flag. + The [36903]sandbox propagates to auxiliary browsing contexts flag, unless tokens contains the allow-popups-to-escape-sandbox keyword. + The [36904]sandboxed modals flag, unless tokens contains the allow-modals keyword. + The [36905]sandboxed orientation lock browsing context flag, unless tokens contains the allow-orientation-lock keyword. + The [36906]sandboxed presentation browsing context flag, unless tokens contains the allow-presentation keyword. + The [36907]sandboxed downloads browsing context flag, unless tokens contains the allow-downloads keyword. + The [36908]sandboxed custom protocols navigation browsing context flag, unless tokens contains either the allow-top-navigation-to-custom-protocols keyword, the [36909]allow-popups keyword, or the [36910]allow-top-navigation keyword. __________________________________________________________________

    Every [36911]top-level browsing context has a popup sandboxing flag set, which is a [36912]sandboxing flag set. When a [36913]browsing context is created, its [36914]popup sandboxing flag set must be empty. It is populated by [36915]the rules for choosing a navigable and the [36916]obtain a browsing context to use for a navigation response algorithm.

    Every [36917]iframe element has an iframe sandboxing flag set, which is a [36918]sandboxing flag set. Which flags in an [36919]iframe sandboxing flag set are set at any particular time is determined by the [36920]iframe element's [36921]sandbox attribute.

    Every [36922]Document has an active sandboxing flag set, which is a [36923]sandboxing flag set. When the [36924]Document is created, its [36925]active sandboxing flag set must be empty. It is populated by the [36926]navigation algorithm.

    Every [36927]CSP list cspList has CSP-derived sandboxing flags, which is a [36928]sandboxing flag set. It is the return value of the following algorithm: 1. Let directives be an empty [36929]ordered set. 2. [36930]For each policy in cspList: 1. If policy's [36931]disposition is not "enforce", then [36932]continue. 2. If policy's [36933]directive set [36934]contains a [36935]directive whose name is "[36936]sandbox", then [36937]append that directive to directives. 3. If directives is empty, then return an empty [36938]sandboxing flag set. 4. Let directive be directives[directives's [36939]size − 1]. 5. Return the result of [36940]parsing the sandboxing directive directive. __________________________________________________________________

    To determine the creation sandboxing flags for a [36941]browsing context browsing context, given null or an element embedder, return the [36942]union of the flags that are present in the following [36943]sandboxing flag sets: * If embedder is null, then: the flags set on browsing context's [36944]popup sandboxing flag set. * If embedder is an element, then: the flags set on embedder's [36945]iframe sandboxing flag set. * If embedder is an element, then: the flags set on embedder's [36946]node document's [36947]active sandboxing flag set.

    7.1.6 Policy containers

    A policy container is a [36948]struct containing policies that apply to a [36949]Document, a [36950]WorkerGlobalScope, or a [36951]WorkletGlobalScope. It has the following [36952]items: * A CSP list, which is a [36953]CSP list. It is initially empty. * An embedder policy, which is an [36954]embedder policy. It is initially a new [36955]embedder policy. * A referrer policy, which is a [36956]referrer policy. It is initially the [36957]default referrer policy.

    Move other policies into the policy container.

    To clone a policy container given a [36958]policy container policyContainer: 1. Let clone be a new [36959]policy container. 2. [36960]For each policy in policyContainer's [36961]CSP list, [36962]append a copy of policy into clone's [36963]CSP list. 3. Set clone's [36964]embedder policy to a copy of policyContainer's [36965]embedder policy. 4. Set clone's [36966]referrer policy to policyContainer's [36967]referrer policy. 5. Return clone.

    To determine whether a [36968]URL url requires storing the policy container in history: 1. If url's [36969]scheme is "blob", then return false. 2. If url [36970]is local, then return true. 3. Return false.

    To create a policy container from a fetch response given a [36971]response response and an [36972]environment-or-null environment: 1. If response's [36973]URL's [36974]scheme is "blob", then return a [36975]clone of response's [36976]URL's [36977]blob URL entry's [36978]environment's [36979]policy container. 2. Let result be a new [36980]policy container. 3. Set result's [36981]CSP list to the result of [36982]parsing a response's Content Security Policies given response. 4. If environment is non-null, then set result's [36983]embedder policy to the result of [36984]obtaining an embedder policy given response and environment. Otherwise, set it to "[36985]unsafe-none". 5. Set result's [36986]referrer policy to the result of [36987]parsing the `Referrer-Policy` header given response. [36988][REFERRERPOLICY] 6. Return result.

    To determine navigation params policy container given a [36989]URL responseURL and four [36990]policy container-or-nulls historyPolicyContainer, initiatorPolicyContainer, parentPolicyContainer, and responsePolicyContainer: 1. If historyPolicyContainer is not null, then: 1. [36991]Assert: responseURL [36992]requires storing the policy container in history. 2. Return a [36993]clone of historyPolicyContainer. 2. If responseURL is [36994]about:srcdoc, then: 1. [36995]Assert: parentPolicyContainer is not null. 2. Return a [36996]clone of parentPolicyContainer. 3. If responseURL [36997]is local and initiatorPolicyContainer is not null, then return a [36998]clone of initiatorPolicyContainer. 4. If responsePolicyContainer is not null, then return responsePolicyContainer. 5. Return a new [36999]policy container.

    To initialize a worker global scope's policy container given a [37000]WorkerGlobalScope workerGlobalScope, a [37001]response response, and an [37002]environment environment: 1. If workerGlobalScope's [37003]url [37004]is local but its [37005]scheme is not "blob": 1. [37006]Assert: workerGlobalScope's [37007]owner set's [37008]size is 1. 2. Set workerGlobalScope's [37009]policy container to a [37010]clone of workerGlobalScope's [37011]owner set[0]'s [37012]relevant settings object's [37013]policy container. 2. Otherwise, set workerGlobalScope's [37014]policy container to the result of [37015]creating a policy container from a fetch response given response and environment.

    7.2 APIs related to navigation and session history

    7.2.1 Security infrastructure for [37016]Window, [37017]WindowProxy, and [37018]Location objects

    Although typically objects cannot be accessed across [37019]origins, the web platform would not be true to itself if it did not have some legacy exceptions to that rule that the web depends upon.

    This section uses the terminology and typographic conventions from the JavaScript specification. [37020][JAVASCRIPT]

    7.2.1.1 Integration with IDL

    When [37021]perform a security check is invoked, with a platformObject, identifier, and type, run these steps: 1. If platformObject is not a [37022]Window or [37023]Location object, then return. 2. For each e of [37024]CrossOriginProperties(platformObject): 1. If [37025]SameValue(e.[[Property]], identifier) is true, then: 1. If type is "method" and e has neither [[NeedsGet]] nor [[NeedsSet]], then return. 2. Otherwise, if type is "getter" and e.[[NeedsGet]] is true, then return. 3. Otherwise, if type is "setter" and e.[[NeedsSet]] is true, then return. 3. If [37026]IsPlatformObjectSameOrigin(platformObject) is false, then throw a [37027]"SecurityError" [37028]DOMException.

    7.2.1.2 Shared internal slot: [[CrossOriginPropertyDescriptorMap]]

    [37029]Window and [37030]Location objects both have a [[CrossOriginPropertyDescriptorMap]] internal slot, whose value is initially an empty map.

    The [37031][[CrossOriginPropertyDescriptorMap]] internal slot contains a map with entries whose keys are (currentGlobal, objectGlobal, propertyKey)-tuples and values are property descriptors, as a memoization of what is visible to scripts when currentGlobal inspects a [37032]Window or [37033]Location object from objectGlobal. It is filled lazily by [37034]CrossOriginGetOwnPropertyHelper, which consults it on future lookups.

    User agents should allow a value held in the map to be garbage collected along with its corresponding key when nothing holds a reference to any part of the value. That is, as long as garbage collection is not observable.

    For example, with const href = Object.getOwnPropertyDescriptor(crossOriginLocation, "href").set the value and its corresponding key in the map cannot be garbage collected as that would be observable.

    User agents may have an optimization whereby they remove key-value pairs from the map when [37035]document.domain is set. This is not observable as [37036]document.domain cannot revisit an earlier value.

    For example, setting [37037]document.domain to "example.com" on www.example.com means user agents can remove all key-value pairs from the map where part of the key is www.example.com, as that can never be part of the [37038]origin again and therefore the corresponding value could never be retrieved from the map.

    7.2.1.3 Shared abstract operations

    7.2.1.3.1 CrossOriginProperties ( O )

    1. [37039]Assert: O is a [37040]Location or [37041]Window object. 2. If O is a [37042]Location object, then return « { [[Property]]: "href", [[NeedsGet]]: false, [[NeedsSet]]: true }, { [[Property]]: "replace" } ». 3. Return « { [[Property]]: "window", [[NeedsGet]]: true, [[NeedsSet]]: false }, { [[Property]]: "self", [[NeedsGet]]: true, [[NeedsSet]]: false }, { [[Property]]: "location", [[NeedsGet]]: true, [[NeedsSet]]: true }, { [[Property]]: "close" }, { [[Property]]: "closed", [[NeedsGet]]: true, [[NeedsSet]]: false }, { [[Property]]: "focus" }, { [[Property]]: "blur" }, { [[Property]]: "frames", [[NeedsGet]]: true, [[NeedsSet]]: false }, { [[Property]]: "length", [[NeedsGet]]: true, [[NeedsSet]]: false }, { [[Property]]: "top", [[NeedsGet]]: true, [[NeedsSet]]: false }, { [[Property]]: "opener", [[NeedsGet]]: true, [[NeedsSet]]: false }, { [[Property]]: "parent", [[NeedsGet]]: true, [[NeedsSet]]: false }, { [[Property]]: "postMessage" } ».

    This abstract operation does not return a [37043]Completion Record.

    Indexed properties do not need to be safelisted in this algorithm, as they are handled directly by the [37044]WindowProxy object.

    A JavaScript property name P is a cross-origin accessible window property name if it is "window", "self", "location", "close", "closed", "focus", "blur", "frames", "length", "top", "opener", "parent", "postMessage", or an [37045]array index property name.

    7.2.1.3.2 CrossOriginPropertyFallback ( P )

    1. If P is "then", [37046]%Symbol.toStringTag%, [37047]%Symbol.hasInstance%, or [37048]%Symbol.isConcatSpreadable%, then return [37049]PropertyDescriptor{ [[Value]]: undefined, [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. 2. Throw a [37050]"SecurityError" [37051]DOMException.

    7.2.1.3.3 IsPlatformObjectSameOrigin ( O )

    1. Return true if the [37052]current settings object's [37053]origin is [37054]same origin-domain with O's [37055]relevant settings object's [37056]origin, and false otherwise.

    This abstract operation does not return a [37057]Completion Record.

    Here the [37058]current settings object roughly corresponds to the "caller", because this check occurs before the [37059]execution context for the getter/setter/method in question makes its way onto the [37060]JavaScript execution context stack. For example, in the code w.document, this step is invoked before the [37061]document getter is reached as part of the [37062][[Get]] algorithm for the [37063]WindowProxy w.

    7.2.1.3.4 CrossOriginGetOwnPropertyHelper ( O, P )

    If this abstract operation returns undefined and there is no custom behavior, the caller needs to throw a [37064]"SecurityError" [37065]DOMException. In practice this is handled by the caller calling [37066]CrossOriginPropertyFallback. 1. Let crossOriginKey be a tuple consisting of the [37067]current settings object, O's [37068]relevant settings object, and P. 2. For each e of [37069]CrossOriginProperties(O): 1. If [37070]SameValue(e.[[Property]], P) is true, then: 1. If the value of the [37071][[CrossOriginPropertyDescriptorMap]] internal slot of O contains an entry whose key is crossOriginKey, then return that entry's value. 2. Let originalDesc be [37072]OrdinaryGetOwnProperty(O, P). 3. Let crossOriginDesc be undefined. 4. If e.[[NeedsGet]] and e.[[NeedsSet]] are absent, then: 1. Let value be originalDesc.[[Value]]. 2. If [37073]IsCallable(value) is true, then set value to an anonymous built-in function, created in the [37074]current realm, that performs the same steps as the IDL operation P on object O. 3. Set crossOriginDesc to [37075]PropertyDescriptor{ [[Value]]: value, [[Enumerable]]: false, [[Writable]]: false, [[Configurable]]: true }. 5. Otherwise: 1. Let crossOriginGet be undefined. 2. If e.[[NeedsGet]] is true, then set crossOriginGet to an anonymous built-in function, created in the [37076]current realm, that performs the same steps as the getter of the IDL attribute P on object O. 3. Let crossOriginSet be undefined. 4. If e.[[NeedsSet]] is true, then set crossOriginSet to an anonymous built-in function, created in the [37077]current realm, that performs the same steps as the setter of the IDL attribute P on object O. 5. Set crossOriginDesc to [37078]PropertyDescriptor{ [[Get]]: crossOriginGet, [[Set]]: crossOriginSet, [[Enumerable]]: false, [[Configurable]]: true }. 6. Create an entry in the value of the [37079][[CrossOriginPropertyDescriptorMap]] internal slot of O with key crossOriginKey and value crossOriginDesc. 7. Return crossOriginDesc. 3. Return undefined.

    This abstract operation does not return a [37080]Completion Record.

    The reason that the property descriptors produced here are configurable is to preserve the [37081]invariants of the essential internal methods required by the JavaScript specification. In particular, since the value of the property can change as a consequence of navigation, it is required that the property be configurable. (However, see [37082]tc39/ecma262 issue #672 and references to it elsewhere in this specification for cases where we are not able to preserve these invariants, for compatibility with existing web content.) [37083][JAVASCRIPT]

    The reason the property descriptors are non-enumerable, despite this mismatching the same-origin behavior, is for compatibility with existing web content. See [37084]issue #3183 for details.

    7.2.1.3.5 CrossOriginGet ( O, P, Receiver )

    1. Let desc be ? O.[[GetOwnProperty]](P). 2. [37085]Assert: desc is not undefined. 3. If [37086]IsDataDescriptor(desc) is true, then return desc.[[Value]]. 4. [37087]Assert: [37088]IsAccessorDescriptor(desc) is true. 5. Let getter be desc.[[Get]]. 6. If getter is undefined, then throw a [37089]"SecurityError" [37090]DOMException. 7. Return ? [37091]Call(getter, Receiver).

    7.2.1.3.6 CrossOriginSet ( O, P, V, Receiver )

    1. Let desc be ? O.[[GetOwnProperty]](P). 2. [37092]Assert: desc is not undefined. 3. If desc.[[Set]] is present and its value is not undefined, then: 1. Perform ? [37093]Call(desc.[[Set]], Receiver, « V »). 2. Return true. 4. Throw a [37094]"SecurityError" [37095]DOMException.

    7.2.1.3.7 CrossOriginOwnPropertyKeys ( O )

    1. Let keys be a new empty [37096]List. 2. For each e of [37097]CrossOriginProperties(O), [37098]append e.[[Property]] to keys. 3. Return the concatenation of keys and « "then", [37099]%Symbol.toStringTag%, [37100]%Symbol.hasInstance%, [37101]%Symbol.isConcatSpreadable% ».

    This abstract operation does not return a [37102]Completion Record.

    7.2.2 The [37103]Window object

    (BUTTON) ✔MDN

    [37104]Window

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera3+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+

    [Global=Window, Exposed=Window, [37105]LegacyUnenumerableNamedProperties] interface Window : [37106]EventTarget { // the current browsing context [[37107]LegacyUnforgeable] readonly attribute [37108]WindowProxy [37109]window ; [Replaceable] readonly attribute [37110]WindowProxy [37111]self; [[37112]LegacyUnforgeable] readonly attribute [37113]Document [37114]document; attribute DOMString [37115]name; [PutForwards=[37116]href, [37117]LegacyUnforgeable] readonly attribute [37118] Location [37119]location; readonly attribute [37120]History [37121]history; readonly attribute [37122]Navigation [37123]navigation; readonly attribute [37124]CustomElementRegistry [37125]customElements; [Replaceable] readonly attribute [37126]BarProp [37127]locationbar; [Replaceable] readonly attribute [37128]BarProp [37129]menubar; [Replaceable] readonly attribute [37130]BarProp [37131]personalbar; [Replaceable] readonly attribute [37132]BarProp [37133]scrollbars; [Replaceable] readonly attribute [37134]BarProp [37135]statusbar; [Replaceable] readonly attribute [37136]BarProp [37137]toolbar; attribute DOMString [37138]status; undefined [37139]close(); readonly attribute boolean [37140]closed; undefined [37141]stop(); undefined [37142]focus(); undefined [37143]blur();

    // other browsing contexts [Replaceable] readonly attribute [37144]WindowProxy [37145]frames; [Replaceable] readonly attribute unsigned long [37146]length; [[37147]LegacyUnforgeable] readonly attribute [37148]WindowProxy? [37149]top; attribute any [37150]opener; [Replaceable] readonly attribute [37151]WindowProxy? [37152]parent; readonly attribute [37153]Element? [37154]frameElement; [37155]WindowProxy? [37156]open(optional USVString url = "", optional DOMStrin g target = "_blank", optional [[37157]LegacyNullToEmptyString] DOMString feature s = "");

    // Since this is the global object, the IDL named getter adds a NamedPropertie sObject exotic // object on the prototype chain. Indeed, this does not make the global object an exotic object. // Indexed access is taken care of by the [37158]WindowProxy exotic object. [37159]getter [37160]object (DOMString name);

    // the user agent readonly attribute [37161]Navigator [37162]navigator; [Replaceable] readonly attribute [37163]Navigator [37164]clientInformation; // legacy alias of .navigator readonly attribute boolean [37165]originAgentCluster;

    // user prompts undefined [37166]alert(); undefined [37167]alert(DOMString message); boolean [37168]confirm(optional DOMString message = ""); DOMString? [37169]prompt(optional DOMString message = "", optional DOMString d efault = ""); undefined [37170]print();

    undefined [37171]postMessage(any message, USVString targetOrigin, optional seq uence<[37172]object> transfer = []); undefined [37173]postMessage(any message, optional [37174]WindowPostMessageOpt ions options = {});

    // [37175]also has obsolete members }; [37176]Window includes [37177]GlobalEventHandlers; [37178]Window includes [37179]WindowEventHandlers;

    dictionary WindowPostMessageOptions : [37180]StructuredSerializeOptions { USVString targetOrigin = "/"; };

    window.[37181]window

    (BUTTON) ✔MDN

    [37182]Window/window

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    window.[37183]frames

    (BUTTON) ✔MDN

    [37184]Window/frames

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    window.[37185]self

    (BUTTON) ✔MDN

    [37186]Window/self

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ These attributes all return window.

    window.[37187]document

    (BUTTON) ✔MDN

    [37188]Window/document

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [37189]Document associated with window.

    document.[37190]defaultView

    (BUTTON) ✔MDN

    [37191]Document/defaultView

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [37192]Window associated with document, if there is one, or null otherwise.

    The [37193]Window object has an associated Document, which is a [37194]Document object. It is set when the [37195]Window object is created, and only ever changed during [37196]navigation from the [37197]initial about:blank [37198]Document.

    A [37199]Window's browsing context is its [37200]associated Document's [37201]browsing context. It is either null or a [37202]browsing context.

    A [37203]Window's navigable is the [37204]navigable whose [37205]active document is the [37206]Window's [37207]associated Document's, or null if there is no such [37208]navigable.

    The window, frames, and self getter steps are to return [37209]this's [37210]relevant realm.[[GlobalEnv]].[[GlobalThisValue]].

    The document getter steps are to return [37211]this's [37212]associated Document.

    The [37213]Document object associated with a [37214]Window object can change in exactly one case: when the [37215]navigate algorithm [37216]creates a new Document object for the first page loaded in a [37217]browsing context. In that specific case, the [37218]Window object of the [37219]initial about:blank page is reused and gets a new [37220]Document object.

    The defaultView getter steps are: 1. If [37221]this's [37222]browsing context is null, then return null. 2. Return [37223]this's [37224]browsing context's [37225]WindowProxy object. __________________________________________________________________

    (BUTTON) ✔MDN

    [37226]HTMLDocument

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    For historical reasons, [37227]Window objects must also have a writable, configurable, non-enumerable property named HTMLDocument whose value is the [37228]Document [37229]interface object.

    7.2.2.1 Opening and closing windows

    window = window.[37230]open([ url [, target [, features ] ] ])

    (BUTTON) ✔MDN

    [37231]Window/open

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera3+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Opens a window to show url (defaults to "[37232]about:blank"), and returns it. target (defaults to "_blank") gives the name of the new window. If a window already exists with that name, it is reused. The features argument can contain a [37233]set of comma-separated tokens:

    "noopener" "noreferrer" These behave equivalently to the [37234]noopener and [37235]noreferrer link types on [37236]hyperlinks.

    "popup" Encourages user agents to provide a minimal web browser user interface for the new window. (Impacts the [37237]visible getter on all [37238]BarProp objects as well.)

    globalThis.open("https://email.example/message/CAOOOkFcWW97r8yg=SsWg7GgCmp4suVX9 o85y8BvNRqMjuc5PXg", undefined, "noopener,popup");

    window.[37239]name [ = value ]

    (BUTTON) ✔MDN

    [37240]Window/name

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the name of the window.

    Can be set, to change the name.

    window.[37241]close()

    (BUTTON) ✔MDN

    [37242]Window/close

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera3+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Closes the window.

    window.[37243]closed

    (BUTTON) ✔MDN

    [37244]Window/closed

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns true if the window has been closed, false otherwise.

    window.[37245]stop()

    (BUTTON) ✔MDN

    [37246]Window/stop

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)14+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Cancels the document load.

    To get noopener for window open, given a [37247]Document sourceDocument, an [37248]ordered map tokenizedFeatures, and a [37249]URL record-or-null url, perform the following steps. They return a boolean. 1. If url is not null and url's [37250]blob URL entry is not null: 1. Let blobOrigin be url's [37251]blob URL entry's [37252]environment's [37253]origin. 2. Let topLevelOrigin be sourceDocument's [37254]relevant settings object's [37255]top-level origin. 3. If blobOrigin is not [37256]same site with topLevelOrigin, then return true. 2. Let noopener be false. 3. If tokenizedFeatures["noopener"] [37257]exists, then set noopener to the result of [37258]parsing tokenizedFeatures["noopener"] as a boolean feature. 4. Return noopener.

    The window open steps, given a string url, a string target, and a string features, are as follows: 1. If the [37259]event loop's [37260]termination nesting level is nonzero, then return null. 2. Let sourceDocument be the [37261]entry global object's [37262]associated Document. 3. Let urlRecord be null. 4. If url is not the empty string, then: 1. Set urlRecord to the result of [37263]encoding-parsing a URL given url, relative to sourceDocument. 2. If urlRecord is failure, then throw a [37264]"SyntaxError" [37265]DOMException. 5. If target is the empty string, then set target to "_blank". 6. Let tokenizedFeatures be the result of [37266]tokenizing features. 7. Let noreferrer be false. 8. If tokenizedFeatures["noreferrer"] [37267]exists, then set noreferrer to the result of [37268]parsing tokenizedFeatures["noreferrer"] as a boolean feature. 9. Let noopener be the result of [37269]getting noopener for window open with sourceDocument, tokenizedFeatures, and urlRecord. 10. [37270]Remove tokenizedFeatures["noopener"] and tokenizedFeatures["noreferrer"]. 11. Let referrerPolicy be the empty string. 12. If noreferrer is true, then set noopener to true and set referrerPolicy to "no-referrer". 13. Let targetNavigable and windowType be the result of applying [37271]the rules for choosing a navigable given target, sourceDocument's [37272]node navigable, and noopener. If there is a user agent that supports control-clicking a link to open it in a new tab, and the user control-clicks on an element whose [37273]onclick handler uses the [37274]window.open() API to open a page in an [37275]iframe element, the user agent could override the selection of the target browsing context to instead target a new tab. 14. If targetNavigable is null, then return null. 15. If windowType is either "new and unrestricted" or "new with no opener", then: 1. Set targetNavigable's [37276]active browsing context's [37277]is popup to the result of [37278]checking if a popup window is requested, given tokenizedFeatures. 2. [37279]Set up browsing context features for targetNavigable's [37280]active browsing context given tokenizedFeatures. [37281][CSSOMVIEW] 3. If urlRecord is null, then set urlRecord to a [37282]URL record representing [37283]about:blank. 4. If urlRecord [37284]matches about:blank, then perform the [37285]URL and history update steps given targetNavigable's [37286]active document and urlRecord. This is necessary in case url is something like about:blank?foo. If url is just plain about:blank, this will do nothing. 5. Otherwise, [37287]navigate targetNavigable to urlRecord using sourceDocument, with [37288]referrerPolicy set to referrerPolicy and [37289]exceptionsEnabled set to true. 16. Otherwise: 1. If urlRecord is not null, then [37290]navigate targetNavigable to urlRecord using sourceDocument, with [37291]referrerPolicy set to referrerPolicy and [37292]exceptionsEnabled set to true. 2. If noopener is false, then set targetNavigable's [37293]active browsing context's [37294]opener browsing context to sourceDocument's [37295]browsing context. 17. If noopener is true or windowType is "new with no opener", then return null. 18. Return targetNavigable's [37296]active WindowProxy.

    The open(url, target, features) method steps are to run the [37297]window open steps with url, target, and features.

    The method provides a mechanism for [37298]navigating an existing [37299]browsing context or opening and navigating an [37300]auxiliary browsing context. __________________________________________________________________

    To tokenize the features argument: 1. Let tokenizedFeatures be a new [37301]ordered map. 2. Let position point at the first code point of features. 3. [37302]While position is not past the end of features: 1. Let name be the empty string. 2. Let value be the empty string. 3. [37303]Collect a sequence of code points that are [37304]feature separators from features given position. This skips past leading separators before the name. 4. [37305]Collect a sequence of code points that are not [37306]feature separators from features given position. Set name to the collected characters, [37307]converted to ASCII lowercase. 5. Set name to the result of [37308]normalizing the feature name name. 6. [37309]While position is not past the end of features and the code point at position in features is not U+003D (=): 1. If the code point at position in features is U+002C (,), or if it is not a [37310]feature separator, then [37311]break. 2. Advance position by 1. This skips to the first U+003D (=) but does not skip past a U+002C (,) or a non-separator. 7. If the code point at position in features is a [37312]feature separator: 1. While position is not past the end of features and the code point at position in features is a [37313]feature separator: 1. If the code point at position in features is U+002C (,), then [37314]break. 2. Advance position by 1. This skips to the first non-separator but does not skip past a U+002C (,). 2. [37315]Collect a sequence of code points that are not [37316]feature separators code points from features given position. Set value to the collected code points, [37317]converted to ASCII lowercase. 8. If name is not the empty string, then set tokenizedFeatures[name] to value. 4. Return tokenizedFeatures.

    To check if a window feature is set, given tokenizedFeatures, featureName, and defaultValue: 1. If tokenizedFeatures[featureName] [37318]exists, then return the result of [37319]parsing tokenizedFeatures[featureName] as a boolean feature. 2. Return defaultValue.

    To check if a popup window is requested, given tokenizedFeatures: 1. If tokenizedFeatures is [37320]empty, then return false. 2. If tokenizedFeatures["popup"] [37321]exists, then return the result of [37322]parsing tokenizedFeatures["popup"] as a boolean feature. 3. Let location be the result of [37323]checking if a window feature is set, given tokenizedFeatures, "location", and false. 4. Let toolbar be the result of [37324]checking if a window feature is set, given tokenizedFeatures, "toolbar", and false. 5. If location and toolbar are both false, then return true. 6. Let menubar be the result of [37325]checking if a window feature is set, given tokenizedFeatures, "menubar", and false. 7. If menubar is false, then return true. 8. Let resizable be the result of [37326]checking if a window feature is set, given tokenizedFeatures, "resizable", and true. 9. If resizable is false, then return true. 10. Let scrollbars be the result of [37327]checking if a window feature is set, given tokenizedFeatures, "scrollbars", and false. 11. If scrollbars is false, then return true. 12. Let status be the result of [37328]checking if a window feature is set, given tokenizedFeatures, "status", and false. 13. If status is false, then return true. 14. Return false.

    A code point is a feature separator if it is [37329]ASCII whitespace, U+003D (=), or U+002C (,).

    For legacy reasons, there are some aliases of some feature names. To normalize a feature name name, switch on name:

    "screenx" Return "left".

    "screeny" Return "top".

    "innerwidth" Return "width".

    "innerheight" Return "height".

    Anything else Return name.

    To parse a boolean feature given a string value: 1. If value is the empty string, then return true. 2. If value [37330]is "yes", then return true. 3. If value [37331]is "true", then return true. 4. Let parsed be the result of [37332]parsing value as an integer. 5. If parsed is an error, then set it to 0. 6. Return false if parsed is 0, and true otherwise. __________________________________________________________________

    The name getter steps are: 1. If [37333]this's [37334]navigable is null, then return the empty string. 2. Return [37335]this's [37336]navigable's [37337]target name.

    The [37338]name setter steps are: 1. If [37339]this's [37340]navigable is null, then return. 2. Set [37341]this's [37342]navigable's [37343]active session history entry's [37344]document state's [37345]navigable target name to the given value.

    The name [37346]gets reset when the navigable is [37347]navigated to another [37348]origin. __________________________________________________________________

    The close() method steps are: 1. Let thisTraversable be [37349]this's [37350]navigable. 2. If thisTraversable is not a [37351]top-level traversable, then return. 3. If thisTraversable's [37352]is closing is true, then return. 4. Let browsingContext be thisTraversable's [37353]active browsing context. 5. Let sourceSnapshotParams be the result of [37354]snapshotting source snapshot params given thisTraversable's [37355]active document. 6. If all the following are true: + thisTraversable is [37356]script-closable; + the [37357]incumbent global object's [37358]browsing context is [37359]familiar with browsingContext; and + the [37360]incumbent global object's [37361]navigable is [37362]allowed by sandboxing to navigate thisTraversable, given sourceSnapshotParams, then: 1. Set thisTraversable's [37363]is closing to true. 2. [37364]Queue a task on the [37365]DOM manipulation task source to [37366]definitely close thisTraversable.

    A [37367]navigable is script-closable if it is a [37368]top-level traversable, and any of the following are true: * its [37369]is created by web content is true; or * its [37370]session history entries's [37371]size is 1.

    The closed getter steps are to return true if [37372]this's [37373]browsing context is null or its [37374]is closing is true; otherwise false.

    The stop() method steps are: 1. If [37375]this's [37376]navigable is null, then return. 2. [37377]Stop loading [37378]this's [37379]navigable.

    7.2.2.2 Indexed access on the [37380]Window object

    window.[37381]length

    (BUTTON) ✔MDN

    [37382]Window/length

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the number of [37383]document-tree child navigables.

    window[index] Returns the [37384]WindowProxy corresponding to the indicated [37385]document-tree child navigables.

    The length getter steps are to return [37386]this's [37387]associated Document's [37388]document-tree child navigables's [37389]size.

    Indexed access to [37390]document-tree child navigables is defined through the [37391][[GetOwnProperty]] internal method of the [37392]WindowProxy object.

    7.2.2.3 Named access on the [37393]Window object

    window[name] Returns the indicated element or collection of elements.

    As a general rule, relying on this will lead to brittle code. Which IDs end up mapping to this API can vary over time, as new features are added to the web platform, for example. Instead of this, use document.getElementById() or document.querySelector().

    The document-tree child navigable target name property set of a [37394]Window object window is the return value of running these steps: 1. Let children be the [37395]document-tree child navigables of window's [37396]associated Document. 2. Let firstNamedChildren be an empty [37397]ordered set. 3. [37398]For each navigable of children: 1. Let name be navigable's [37399]target name. 2. If name is the empty string, then [37400]continue. 3. If firstNamedChildren [37401]contains a [37402]navigable whose [37403]target name is name, then [37404]continue. 4. [37405]Append navigable to firstNamedChildren. 4. Let names be an empty [37406]ordered set. 5. [37407]For each navigable of firstNamedChildren: 1. Let name be navigable's [37408]target name. 2. If navigable's [37409]active document's [37410]origin is [37411]same origin with window's [37412]relevant settings object's [37413]origin, then [37414]append name to names. 6. Return names.

    The two seperate iterations mean that in the following example, hosted on https://example.org/, assuming https://elsewhere.example/ sets [37415]window.name to "spices", evaluating window.spices after everything has loaded will yield undefined:

    The [37416]Window object [37417]supports named properties. The [37418]supported property names of a [37419]Window object window at any moment consist of the following, in [37420]tree order according to the element that contributed them, ignoring later duplicates: * window's [37421]document-tree child navigable target name property set; * the value of the name content attribute for all [37422]embed, [37423]form, [37424]img, and [37425]object elements that have a non-empty name content attribute and are [37426]in a document tree with window's [37427]associated Document as their [37428]root; and * the value of the [37429]id content attribute for all [37430]HTML elements that have a non-empty [37431]id content attribute and are [37432]in a document tree with window's [37433]associated Document as their [37434]root.

    To [37435]determine the value of a named property name in a [37436]Window object window, the user agent must return the value obtained using the following steps: 1. Let objects be the list of [37437]named objects of window with the name name. There will be at least one such object, since the algorithm would otherwise not have been [37438]invoked by Web IDL. 2. If objects contains a [37439]navigable, then: 1. Let container be the first [37440]navigable container in window's [37441]associated Document's [37442]descendants whose [37443]content navigable is in objects. 2. Return container's [37444]content navigable's [37445]active WindowProxy. 3. Otherwise, if objects has only one element, return that element. 4. Otherwise, return an [37446]HTMLCollection rooted at window's [37447]associated Document, whose filter matches only [37448]named objects of window with the name name. (By definition, these will all be elements.)

    Named objects of [37449]Window object window with the name name, for the purposes of the above algorithm, consist of the following: * [37450]document-tree child navigables of window's [37451]associated Document whose [37452]target name is name; * [37453]embed, [37454]form, [37455]img, or [37456]object elements that have a name content attribute whose value is name and are [37457]in a document tree with window's [37458]associated Document as their [37459]root; and * [37460]HTML elements that have an [37461]id content attribute whose value is name and are [37462]in a document tree with window's [37463]associated Document as their [37464]root.

    Since the [37465]Window interface has the [37466][Global] extended attribute, its named properties follow the rules for [37467]named properties objects rather than [37468]legacy platform objects.

    7.2.2.4 Accessing related windows

    window.[37469]top

    (BUTTON) ✔MDN

    [37470]Window/top

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android4+Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [37471]WindowProxy for the [37472]top-level traversable.

    window.[37473]opener [ = value ]

    (BUTTON) ✔MDN

    [37474]Window/opener

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera3+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Returns the [37475]WindowProxy for the [37476]opener browsing context.

    Returns null if there isn't one or if it has been set to null.

    Can be set to null.

    window.[37477]parent

    (BUTTON) ✔MDN

    [37478]Window/parent

    Support in all current engines.

    Firefox1+Safari1.3+Chrome1+ ___________________________________________________________

    Opera3+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Returns the [37479]WindowProxy for the [37480]parent navigable.

    window.[37481]frameElement

    (BUTTON) ✔MDN

    [37482]Window/frameElement

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [37483]navigable container element.

    Returns null if there isn't one, and in cross-origin situations.

    The top getter steps are: 1. If [37484]this's [37485]navigable is null, then return null. 2. Return [37486]this's [37487]navigable's [37488]top-level traversable's [37489]active WindowProxy.

    The opener getter steps are: 1. Let current be [37490]this's [37491]browsing context. 2. If current is null, then return null. 3. If current's [37492]opener browsing context is null, then return null. 4. Return current's [37493]opener browsing context's [37494]WindowProxy object.

    The [37495]opener setter steps are: 1. If the given value is null and [37496]this's [37497]browsing context is non-null, then set [37498]this's [37499]browsing context's [37500]opener browsing context to null. 2. If the given value is non-null, then perform ? [37501]DefinePropertyOrThrow([37502]this, "opener", { [[Value]]: the given value, [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true }).

    Setting [37503]window.opener to null clears the [37504]opener browsing context reference. In practice, this prevents future scripts from accessing their [37505]opener browsing context's [37506]Window object.

    By default, scripts can access their [37507]opener browsing context's [37508]Window object through the [37509]window.opener getter. E.g., a script can set window.opener.location, causing the [37510]opener browsing context to navigate.

    The parent getter steps are: 1. Let navigable be [37511]this's [37512]navigable. 2. If navigable is null, then return null. 3. If navigable's [37513]parent is not null, then set navigable to navigable's [37514]parent. 4. Return navigable's [37515]active WindowProxy.

    The frameElement getter steps are: 1. Let current be [37516]this's [37517]node navigable. 2. If current is null, then return null. 3. Let container be current's [37518]container. 4. If container is null, then return null. 5. If container's [37519]node document's [37520]origin is not [37521]same origin-domain with the [37522]current settings object's [37523]origin, then return null. 6. Return container.

    An example of when these properties can return null is as follows:

    Here the [37524]browsing context corresponding to iframeWindow was [37525]nulled out when element was removed from the document.

    7.2.2.5 Historical browser interface element APIs

    For historical reasons, the [37526]Window interface had some properties that represented the visibility of certain web browser interface elements.

    For privacy and interoperability reasons, those properties now return values that represent whether the [37527]Window's [37528]browsing context's [37529]is popup property is true or false.

    Each interface element is represented by a [37530]BarProp object:

    (BUTTON) ✔MDN

    [37531]BarProp

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android37+Samsung Internet?Opera Android?

    [Exposed=Window] interface BarProp { readonly attribute boolean [37532]visible; };

    window.[37533]locationbar.[37534]visible

    (BUTTON) ✔MDN

    [37535]Window/locationbar

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android?

    window.[37536]menubar.[37537]visible

    (BUTTON) ✔MDN

    [37538]Window/menubar

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android?

    window.[37539]personalbar.[37540]visible

    (BUTTON) ✔MDN

    [37541]Window/personalbar

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    window.[37542]scrollbars.[37543]visible

    (BUTTON) ✔MDN

    [37544]Window/scrollbars

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    window.[37545]statusbar.[37546]visible

    (BUTTON) ✔MDN

    [37547]Window/statusbar

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android?

    window.[37548]toolbar.[37549]visible

    (BUTTON) ✔MDN

    [37550]Window/toolbar

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns true if the [37551]Window is not a popup; otherwise, returns false.

    (BUTTON) ✔MDN

    [37552]BarProp/visible

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android37+Samsung Internet?Opera Android?

    The visible getter steps are: 1. Let browsingContext be [37553]this's [37554]relevant global object's [37555]browsing context. 2. If browsingContext is null, then return true. 3. Return the negation of browsingContext's [37556]top-level browsing context's [37557]is popup.

    The following [37558]BarProp objects must exist for each [37559]Window object:

    The location bar BarProp object Historically represented the user interface element that contains a control that displays the browser's location bar.

    The menu bar BarProp object Historically represented the user interface element that contains a list of commands in menu form, or some similar interface concept.

    The personal bar BarProp object Historically represented the user interface element that contains links to the user's favorite pages, or some similar interface concept.

    The scrollbar BarProp object Historically represented the user interface element that contains a scrolling mechanism, or some similar interface concept.

    The status bar BarProp object Historically represented a user interface element found immediately below or after the document, as appropriate for the user's media, which typically provides information about ongoing network activity or information about elements that the user's pointing device is currently indicating.

    The toolbar BarProp object Historically represented the user interface element found immediately above or before the document, as appropriate for the user's media, which typically provides [37560]session history traversal controls (back and forward buttons, reload buttons, etc.).

    The locationbar attribute must return [37561]the location bar BarProp object.

    The menubar attribute must return [37562]the menu bar BarProp object.

    The personalbar attribute must return [37563]the personal bar BarProp object.

    The scrollbars attribute must return [37564]the scrollbar BarProp object.

    The statusbar attribute must return [37565]the status bar BarProp object.

    The toolbar attribute must return [37566]the toolbar BarProp object. __________________________________________________________________

    For historical reasons, the status attribute on the [37567]Window object must, on getting, return the last string it was set to, and on setting, must set itself to the new value. When the [37568]Window object is created, the attribute must be set to the empty string. It does not do anything else.

    7.2.2.6 Script settings for [37569]Window objects

    To set up a window environment settings object, given a [37570]URL creationURL, a [37571]JavaScript execution context execution context, null or an [37572]environment reservedEnvironment, a [37573]URL topLevelCreationURL, and an [37574]origin topLevelOrigin, run these steps: 1. Let realm be the value of execution context's Realm component. 2. Let window be realm's [37575]global object. 3. Let settings object be a new [37576]environment settings object whose algorithms are defined as follows:

    The [37577]realm execution context Return execution context.

    The [37578]module map Return the [37579]module map of window's [37580]associated Document.

    The [37581]API base URL Return the current [37582]base URL of window's [37583]associated Document.

    The [37584]origin Return the [37585]origin of window's [37586]associated Document.

    The [37587]policy container Return the [37588]policy container of window's [37589]associated Document.

    The [37590]cross-origin isolated capability Return true if both of the following hold, and false otherwise:

    o realm's [37591]agent cluster's [37592]cross-origin-isolation mode is "[37593]concrete", and o window's [37594]associated Document is [37595]allowed to use the "[37596]cross-origin-isolated" feature.

    The [37597]time origin Return window's [37598]associated Document's [37599]load timing info's [37600]navigation start time.

    4. If reservedEnvironment is non-null, then: 1. Set settings object's [37601]id to reservedEnvironment's [37602]id, [37603]target browsing context to reservedEnvironment's [37604]target browsing context, and [37605]active service worker to reservedEnvironment's [37606]active service worker. 2. Set reservedEnvironment's [37607]id to the empty string. The identity of the reserved environment is considered to be fully transferred to the created [37608]environment settings object. The reserved environment is not searchable by the [37609]environment’s [37610]id from this point on. 5. Otherwise, set settings object's [37611]id to a new unique opaque string, settings object's [37612]target browsing context to null, and settings object's [37613]active service worker to null. 6. Set settings object's [37614]creation URL to creationURL, settings object's [37615]top-level creation URL to topLevelCreationURL, and settings object's [37616]top-level origin to topLevelOrigin. 7. Set realm's [[HostDefined]] field to settings object.

    7.2.3 The [37617]WindowProxy exotic object

    A WindowProxy is an exotic object that wraps a [37618]Window ordinary object, indirecting most operations through to the wrapped object. Each [37619]browsing context has an associated [37620]WindowProxy object. When the [37621]browsing context is [37622]navigated, the [37623]Window object wrapped by the [37624]browsing context's associated [37625]WindowProxy object is changed.

    The [37626]WindowProxy exotic object must use the ordinary internal methods except where it is explicitly specified otherwise below.

    There is no [37627]WindowProxy [37628]interface object.

    Every [37629]WindowProxy object has a [[Window]] internal slot representing the wrapped [37630]Window object.

    Although [37631]WindowProxy is named as a "proxy", it does not do polymorphic dispatch on its target's internal methods as a real proxy would, due to a desire to reuse machinery between [37632]WindowProxy and [37633]Location objects. As long as the [37634]Window object remains an ordinary object this is unobservable and can be implemented either way.

    7.2.3.1 [[GetPrototypeOf]] ( )

    1. Let W be the value of the [37635][[Window]] internal slot of this. 2. If [37636]IsPlatformObjectSameOrigin(W) is true, then return ! [37637]OrdinaryGetPrototypeOf(W). 3. Return null.

    7.2.3.2 [[SetPrototypeOf]] ( V )

    1. Return ! [37638]SetImmutablePrototype(this, V).

    7.2.3.3 [[IsExtensible]] ( )

    1. Return true.

    7.2.3.4 [[PreventExtensions]] ( )

    1. Return false.

    7.2.3.5 [[GetOwnProperty]] ( P )

    1. Let W be the value of the [37639][[Window]] internal slot of this. 2. If P is an [37640]array index property name, then: 1. Let index be ! [37641]ToUint32(P). 2. Let children be the [37642]document-tree child navigables of W's [37643]associated Document. 3. Let value be undefined. 4. If index is less than children's [37644]size, then: 1. [37645]Sort children in ascending order, with navigableA being less than navigableB if navigableA's [37646]container was inserted into W's [37647]associated Document earlier than navigableB's [37648]container was. 2. Set value to children[index]'s [37649]active WindowProxy. 5. If value is undefined, then: 1. If [37650]IsPlatformObjectSameOrigin(W) is true, then return undefined. 2. Throw a [37651]"SecurityError" [37652]DOMException. 6. Return [37653]PropertyDescriptor{ [[Value]]: value, [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true }. 3. If [37654]IsPlatformObjectSameOrigin(W) is true, then return ! [37655]OrdinaryGetOwnProperty(W, P). This is a [37656]willful violation of the JavaScript specification's [37657]invariants of the essential internal methods to maintain compatibility with existing web content. See [37658]tc39/ecma262 issue #672 for more information. [37659][JAVASCRIPT] 4. Let property be [37660]CrossOriginGetOwnPropertyHelper(W, P). 5. If property is not undefined, then return property. 6. If property is undefined and P is in W's [37661]document-tree child navigable target name property set, then: 1. Let value be the [37662]active WindowProxy of the [37663]named object of W with the name P. 2. Return [37664]PropertyDescriptor{ [[Value]]: value, [[Enumerable]]: false, [[Writable]]: false, [[Configurable]]: true }. The reason the property descriptors are non-enumerable, despite this mismatching the same-origin behavior, is for compatibility with existing web content. See [37665]issue #3183 for details. 7. Return ? [37666]CrossOriginPropertyFallback(P).

    7.2.3.6 [[DefineOwnProperty]] ( P, Desc )

    1. Let W be the value of the [37667][[Window]] internal slot of this. 2. If [37668]IsPlatformObjectSameOrigin(W) is true, then: 1. If P is an [37669]array index property name, return false. 2. Return ? [37670]OrdinaryDefineOwnProperty(W, P, Desc). This is a [37671]willful violation of the JavaScript specification's [37672]invariants of the essential internal methods to maintain compatibility with existing web content. See [37673]tc39/ecma262 issue #672 for more information. [37674][JAVASCRIPT] 3. Throw a [37675]"SecurityError" [37676]DOMException.

    7.2.3.7 [[Get]] ( P, Receiver )

    1. Let W be the value of the [37677][[Window]] internal slot of this. 2. [37678]Check if an access between two browsing contexts should be reported, given the [37679]current global object's [37680]browsing context, W's [37681]browsing context, P, and the [37682]current settings object. 3. If [37683]IsPlatformObjectSameOrigin(W) is true, then return ? [37684]OrdinaryGet(this, P, Receiver). 4. Return ? [37685]CrossOriginGet(this, P, Receiver).

    this is passed rather than W as [37686]OrdinaryGet and [37687]CrossOriginGet will invoke the [37688][[GetOwnProperty]] internal method.

    7.2.3.8 [[Set]] ( P, V, Receiver )

    1. Let W be the value of the [37689][[Window]] internal slot of this. 2. [37690]Check if an access between two browsing contexts should be reported, given the [37691]current global object's [37692]browsing context, W's [37693]browsing context, P, and the [37694]current settings object. 3. If [37695]IsPlatformObjectSameOrigin(W) is true, then: 1. If P is an [37696]array index property name, then return false. 2. Return ? [37697]OrdinarySet(W, P, V, Receiver). 4. Return ? [37698]CrossOriginSet(this, P, V, Receiver). this is passed rather than W as [37699]CrossOriginSet will invoke the [37700][[GetOwnProperty]] internal method.

    7.2.3.9 [[Delete]] ( P )

    1. Let W be the value of the [37701][[Window]] internal slot of this. 2. If [37702]IsPlatformObjectSameOrigin(W) is true, then: 1. If P is an [37703]array index property name, then: 1. Let desc be ! this.[[GetOwnProperty]](P). 2. If desc is undefined, then return true. 3. Return false. 2. Return ? [37704]OrdinaryDelete(W, P). 3. Throw a [37705]"SecurityError" [37706]DOMException.

    7.2.3.10 [[OwnPropertyKeys]] ( )

    1. Let W be the value of the [37707][[Window]] internal slot of this. 2. Let maxProperties be W's [37708]associated Document's [37709]document-tree child navigables's [37710]size. 3. Let keys be [37711]the range 0 to maxProperties, exclusive. 4. If [37712]IsPlatformObjectSameOrigin(W) is true, then return the concatenation of keys and [37713]OrdinaryOwnPropertyKeys(W). 5. Return the concatenation of keys and ! [37714]CrossOriginOwnPropertyKeys(W).

    7.2.4 The [37715]Location interface

    (BUTTON) ✔MDN

    [37716]Document/location

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera3+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+

    [37717]Location

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera3+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer3+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+

    [37718]Window/location

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera3+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+

    Each [37719]Window object is associated with a unique instance of a [37720]Location object, allocated when the [37721]Window object is created.

    The [37722]Location exotic object is defined through a mishmash of IDL, invocation of JavaScript internal methods post-creation, and overridden JavaScript internal methods. Coupled with its scary security policy, please take extra care while implementing this excrescence.

    To create a [37723]Location object, run these steps: 1. Let location be a new [37724]Location [37725]platform object. 2. Let valueOf be location's [37726]relevant realm.[[Intrinsics]].[[[37727]%Object.prototype.valueOf%]]. 3. Perform ! location.[[DefineOwnProperty]]("valueOf", { [[Value]]: valueOf, [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }). 4. Perform ! location.[[DefineOwnProperty]]([37728]%Symbol.toPrimitive%, { [[Value]]: undefined, [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }). 5. Set the value of the [37729][[DefaultProperties]] internal slot of location to location.[[OwnPropertyKeys]](). 6. Return location.

    The addition of valueOf and [37730]%Symbol.toPrimitive% own data properties, as well as the fact that all of [37731]Location's IDL attributes are marked [[37732]LegacyUnforgeable], is required by legacy code that consulted the [37733]Location interface, or stringified it, to determine the [37734]document URL, and then used it in a security-sensitive way. In particular, the valueOf, [37735]%Symbol.toPrimitive%, and [[37736]LegacyUnforgeable] stringifier mitigations ensure that code such as foo[location] = bar or location + "" cannot be misdirected.

    document.[37737]location [ = value ] window.[37738]location [ = value ] Returns a [37739]Location object with the current page's location.

    Can be set, to navigate to another page.

    The [37740]Document object's location getter steps are to return [37741]this's [37742]relevant global object's [37743]Location object, if [37744]this is [37745]fully active, and null otherwise.

    The [37746]Window object's location getter steps are to return [37747]this's [37748]Location object.

    [37749]Location objects provide a representation of the [37750]URL of their associated [37751]Document, as well as methods for [37752]navigating and [37753]reloading the associated [37754]navigable. [Exposed=Window] interface Location { // but see also [37755]additional creation steps and [37756 ]overridden internal methods [[37757]LegacyUnforgeable] stringifier attribute USVString [37758]href; [[37759]LegacyUnforgeable] readonly attribute USVString [37760]origin; [[37761]LegacyUnforgeable] attribute USVString [37762]protocol; [[37763]LegacyUnforgeable] attribute USVString [37764]host; [[37765]LegacyUnforgeable] attribute USVString [37766]hostname; [[37767]LegacyUnforgeable] attribute USVString [37768]port; [[37769]LegacyUnforgeable] attribute USVString [37770]pathname; [[37771]LegacyUnforgeable] attribute USVString [37772]search; [[37773]LegacyUnforgeable] attribute USVString [37774]hash;

    [[37775]LegacyUnforgeable] undefined [37776]assign(USVString url); [[37777]LegacyUnforgeable] undefined [37778]replace(USVString url); [[37779]LegacyUnforgeable] undefined [37780]reload();

    [[37781]LegacyUnforgeable, SameObject] readonly attribute [37782]DOMStringList [37783]ancestorOrigins; };

    location.toString() location.[37784]href

    (BUTTON) ✔MDN

    [37785]Location/href

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer3+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [37786]Location/toString

    Support in all current engines.

    Firefox22+Safari1+Chrome52+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer11 ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the [37787]Location object's URL.

    Can be set, to navigate to the given URL.

    location.[37788]origin

    (BUTTON) ✔MDN

    [37789]Location/origin

    Support in all current engines.

    Firefox21+Safari5.1+Chrome8+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer11 ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android3+Samsung Internet?Opera Android? Returns the [37790]Location object's URL's origin.

    location.[37791]protocol

    (BUTTON) ✔MDN

    [37792]Location/protocol

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer3+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [37793]Location object's URL's scheme.

    Can be set, to navigate to the same URL with a changed scheme.

    location.[37794]host

    (BUTTON) ✔MDN

    [37795]Location/host

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer3+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [37796]Location object's URL's host and port (if different from the default port for the scheme).

    Can be set, to navigate to the same URL with a changed host and port.

    location.[37797]hostname

    (BUTTON) ✔MDN

    [37798]Location/hostname

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer3+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [37799]Location object's URL's host.

    Can be set, to navigate to the same URL with a changed host.

    location.[37800]port

    (BUTTON) ✔MDN

    [37801]Location/port

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer3+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [37802]Location object's URL's port.

    Can be set, to navigate to the same URL with a changed port.

    location.[37803]pathname

    (BUTTON) ✔MDN

    [37804]Location/pathname

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer3+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [37805]Location object's URL's path.

    Can be set, to navigate to the same URL with a changed path.

    location.[37806]search

    (BUTTON) ✔MDN

    [37807]Location/search

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer3+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [37808]Location object's URL's query (includes leading "?" if non-empty).

    Can be set, to navigate to the same URL with a changed query (ignores leading "?").

    location.[37809]hash

    (BUTTON) ✔MDN

    [37810]Location/hash

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer3+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [37811]Location object's URL's fragment (includes leading "#" if non-empty).

    Can be set, to navigate to the same URL with a changed fragment (ignores leading "#").

    location.[37812]assign(url)

    (BUTTON) ✔MDN

    [37813]Location/assign

    Support in all current engines.

    Firefox1+Safari3+Chrome1+ ___________________________________________________________

    Opera3+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Navigates to the given URL.

    location.[37814]replace(url)

    (BUTTON) ✔MDN

    [37815]Location/replace

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera3+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Removes the current page from the session history and navigates to the given URL.

    location.[37816]reload()

    (BUTTON) ✔MDN

    [37817]Location/reload

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera3+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Reloads the current page.

    location.[37818]ancestorOrigins

    (BUTTON) MDN

    [37819]Location/ancestorOrigins

    FirefoxNoSafari6+Chrome20+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns a [37820]DOMStringList object listing the origins of the [37821]ancestor navigables' [37822]active documents.

    A [37823]Location object has an associated relevant Document, which is its [37824]relevant global object's [37825]browsing context's [37826]active document, if this [37827]Location object's [37828]relevant global object's [37829]browsing context is non-null, and null otherwise.

    A [37830]Location object has an associated url, which is this [37831]Location object's [37832]relevant Document's [37833]URL, if this [37834]Location object's [37835]relevant Document is non-null, and [37836]about:blank otherwise.

    A [37837]Location object has an associated ancestor origins list. When a [37838]Location object is created, its [37839]ancestor origins list must be set to a [37840]DOMStringList object whose associated list is the [37841]list of strings that the following steps would produce: 1. Let output be a new [37842]list of strings. 2. Let current be the [37843]Location object's [37844]relevant Document. 3. While current's [37845]container document is non-null: 1. Set current to current's [37846]container document. 2. [37847]Append the [37848]serialization of current's [37849]origin to output. 4. Return output.

    To Location-object navigate a [37850]Location object location to a [37851]URL url, optionally given a [37852]NavigationHistoryBehavior historyHandling (default "[37853]auto"): 1. Let navigable be location's [37854]relevant global object's [37855]navigable. 2. Let sourceDocument be the [37856]incumbent global object's [37857]associated Document. 3. If location's [37858]relevant Document is not yet [37859]completely loaded, and the [37860]incumbent global object does not have [37861]transient activation, then set historyHandling to "[37862]replace". 4. [37863]Navigate navigable to url using sourceDocument, with [37864]exceptionsEnabled set to true and [37865]historyHandling set to historyHandling.

    The href getter steps are: 1. If [37866]this's [37867]relevant Document is non-null and its [37868]origin is not [37869]same origin-domain with the [37870]entry settings object's [37871]origin, then throw a [37872]"SecurityError" [37873]DOMException. 2. Return [37874]this's [37875]url, [37876]serialized.

    The [37877]href setter steps are: 1. If [37878]this's [37879]relevant Document is null, then return. 2. Let url be the result of [37880]encoding-parsing a URL given the given value, relative to the [37881]entry settings object. 3. If url is failure, then throw a [37882]"SyntaxError" [37883]DOMException. 4. [37884]Location-object navigate [37885]this to url.

    The [37886]href setter intentionally has no security check.

    The origin getter steps are: 1. If [37887]this's [37888]relevant Document is non-null and its [37889]origin is not [37890]same origin-domain with the [37891]entry settings object's [37892]origin, then throw a [37893]"SecurityError" [37894]DOMException. 2. Return the [37895]serialization of [37896]this's [37897]url's [37898]origin.

    The protocol getter steps are: 1. If [37899]this's [37900]relevant Document is non-null and its [37901]origin is not [37902]same origin-domain with the [37903]entry settings object's [37904]origin, then throw a [37905]"SecurityError" [37906]DOMException. 2. Return [37907]this's [37908]url's [37909]scheme, followed by ":".

    The [37910]protocol setter steps are: 1. If [37911]this's [37912]relevant Document is null, then return. 2. If [37913]this's [37914]relevant Document's [37915]origin is not [37916]same origin-domain with the [37917]entry settings object's [37918]origin, then throw a [37919]"SecurityError" [37920]DOMException. 3. Let copyURL be a copy of [37921]this's [37922]url. 4. Let possibleFailure be the result of [37923]basic URL parsing the given value, followed by ":", with copyURL as [37924]url and [37925]scheme start state as [37926]state override. Because the URL parser ignores multiple consecutive colons, providing a value of "https:" (or even "https::::") is the same as providing a value of "https". 5. If possibleFailure is failure, then throw a [37927]"SyntaxError" [37928]DOMException. 6. If copyURL's [37929]scheme is not an [37930]HTTP(S) scheme, then terminate these steps. 7. [37931]Location-object navigate [37932]this to copyURL.

    The host getter steps are: 1. If [37933]this's [37934]relevant Document is non-null and its [37935]origin is not [37936]same origin-domain with the [37937]entry settings object's [37938]origin, then throw a [37939]"SecurityError" [37940]DOMException. 2. Let url be [37941]this's [37942]url. 3. If url's [37943]host is null, return the empty string. 4. If url's [37944]port is null, return url's [37945]host, [37946]serialized. 5. Return url's [37947]host, [37948]serialized, followed by ":" and url's [37949]port, [37950]serialized.

    The [37951]host setter steps are: 1. If [37952]this's [37953]relevant Document is null, then return. 2. If [37954]this's [37955]relevant Document's [37956]origin is not [37957]same origin-domain with the [37958]entry settings object's [37959]origin, then throw a [37960]"SecurityError" [37961]DOMException. 3. Let copyURL be a copy of [37962]this's [37963]url. 4. If copyURL has an [37964]opaque path, then return. 5. [37965]Basic URL parse the given value, with copyURL as [37966]url and [37967]host state as [37968]state override. 6. [37969]Location-object navigate [37970]this to copyURL.

    The hostname getter steps are: 1. If [37971]this's [37972]relevant Document is non-null and its [37973]origin is not [37974]same origin-domain with the [37975]entry settings object's [37976]origin, then throw a [37977]"SecurityError" [37978]DOMException. 2. If [37979]this's [37980]url's [37981]host is null, return the empty string. 3. Return [37982]this's [37983]url's [37984]host, [37985]serialized.

    The [37986]hostname setter steps are: 1. If [37987]this's [37988]relevant Document is null, then return. 2. If [37989]this's [37990]relevant Document's [37991]origin is not [37992]same origin-domain with the [37993]entry settings object's [37994]origin, then throw a [37995]"SecurityError" [37996]DOMException. 3. Let copyURL be a copy of [37997]this's [37998]url. 4. If copyURL has an [37999]opaque path, then return. 5. [38000]Basic URL parse the given value, with copyURL as [38001]url and [38002]hostname state as [38003]state override. 6. [38004]Location-object navigate [38005]this to copyURL.

    The port getter steps are: 1. If [38006]this's [38007]relevant Document is non-null and its [38008]origin is not [38009]same origin-domain with the [38010]entry settings object's [38011]origin, then throw a [38012]"SecurityError" [38013]DOMException. 2. If [38014]this's [38015]url's [38016]port is null, return the empty string. 3. Return [38017]this's [38018]url's [38019]port, [38020]serialized.

    The [38021]port setter steps are: 1. If [38022]this's [38023]relevant Document is null, then return. 2. If [38024]this's [38025]relevant Document's [38026]origin is not [38027]same origin-domain with the [38028]entry settings object's [38029]origin, then throw a [38030]"SecurityError" [38031]DOMException. 3. Let copyURL be a copy of [38032]this's [38033]url. 4. If copyURL [38034]cannot have a username/password/port, then return. 5. If the given value is the empty string, then set copyURL's [38035]port to null. 6. Otherwise, [38036]basic URL parse the given value, with copyURL as [38037]url and [38038]port state as [38039]state override. 7. [38040]Location-object navigate [38041]this to copyURL.

    The pathname getter steps are: 1. If [38042]this's [38043]relevant Document is non-null and its [38044]origin is not [38045]same origin-domain with the [38046]entry settings object's [38047]origin, then throw a [38048]"SecurityError" [38049]DOMException. 2. Return the result of [38050]URL path serializing this [38051]Location object's [38052]url.

    The [38053]pathname setter steps are: 1. If [38054]this's [38055]relevant Document is null, then return. 2. If [38056]this's [38057]relevant Document's [38058]origin is not [38059]same origin-domain with the [38060]entry settings object's [38061]origin, then throw a [38062]"SecurityError" [38063]DOMException. 3. Let copyURL be a copy of [38064]this's [38065]url. 4. If copyURL has an [38066]opaque path, then return. 5. Set copyURL's [38067]path to the empty list. 6. [38068]Basic URL parse the given value, with copyURL as [38069]url and [38070]path start state as [38071]state override. 7. [38072]Location-object navigate [38073]this to copyURL.

    The search getter steps are: 1. If [38074]this's [38075]relevant Document is non-null and its [38076]origin is not [38077]same origin-domain with the [38078]entry settings object's [38079]origin, then throw a [38080]"SecurityError" [38081]DOMException. 2. If [38082]this's [38083]url's [38084]query is either null or the empty string, return the empty string. 3. Return "?", followed by [38085]this's [38086]url's [38087]query.

    The [38088]search setter steps are: 1. If [38089]this's [38090]relevant Document is null, then return. 2. If [38091]this's [38092]relevant Document's [38093]origin is not [38094]same origin-domain with the [38095]entry settings object's [38096]origin, then throw a [38097]"SecurityError" [38098]DOMException. 3. Let copyURL be a copy of [38099]this's [38100]url. 4. If the given value is the empty string, set copyURL's [38101]query to null. 5. Otherwise, run these substeps: 1. Let input be the given value with a single leading "?" removed, if any. 2. Set copyURL's [38102]query to the empty string. 3. [38103]Basic URL parse input, with null, the [38104]relevant Document's [38105]document's character encoding, copyURL as [38106]url, and [38107]query state as [38108]state override. 6. [38109]Location-object navigate [38110]this to copyURL.

    The hash getter steps are: 1. If [38111]this's [38112]relevant Document is non-null and its [38113]origin is not [38114]same origin-domain with the [38115]entry settings object's [38116]origin, then throw a [38117]"SecurityError" [38118]DOMException. 2. If [38119]this's [38120]url's [38121]fragment is either null or the empty string, return the empty string. 3. Return "#", followed by [38122]this's [38123]url's [38124]fragment.

    The [38125]hash setter steps are: 1. If [38126]this's [38127]relevant Document is null, then return. 2. If [38128]this's [38129]relevant Document's [38130]origin is not [38131]same origin-domain with the [38132]entry settings object's [38133]origin, then throw a [38134]"SecurityError" [38135]DOMException. 3. Let copyURL be a copy of [38136]this's [38137]url. 4. Let thisURLFragment be copyURL's [38138]fragment if it is non-null; otherwise the empty string. 5. Let input be the given value with a single leading "#" removed, if any. 6. Set copyURL's [38139]fragment to the empty string. 7. [38140]Basic URL parse input, with copyURL as [38141]url and [38142]fragment state as [38143]state override. 8. If copyURL's [38144]fragment is thisURLFragment, then return. This bailout is necessary for compatibility with deployed content, which [38145]redundantly sets location.hash on scroll. It does not apply to other mechanisms of fragment navigation, such as the [38146]location.href setter or [38147]location.assign(). 9. [38148]Location-object navigate [38149]this to copyURL.

    Unlike the equivalent API for the [38150]a and [38151]area elements, the [38152]hash setter does not special case the empty string, to remain compatible with deployed scripts. __________________________________________________________________

    The assign(url) method steps are: 1. If [38153]this's [38154]relevant Document is null, then return. 2. If [38155]this's [38156]relevant Document's [38157]origin is not [38158]same origin-domain with the [38159]entry settings object's [38160]origin, then throw a [38161]"SecurityError" [38162]DOMException. 3. Let urlRecord be the result of [38163]encoding-parsing a URL given url, relative to the [38164]entry settings object. 4. If urlRecord is failure, then throw a [38165]"SyntaxError" [38166]DOMException. 5. [38167]Location-object navigate [38168]this to urlRecord.

    The replace(url) method steps are: 1. If [38169]this's [38170]relevant Document is null, then return. 2. Let urlRecord be the result of [38171]encoding-parsing a URL given url, relative to the [38172]entry settings object. 3. If urlRecord is failure, then throw a [38173]"SyntaxError" [38174]DOMException. 4. [38175]Location-object navigate [38176]this to urlRecord given "[38177]replace".

    The [38178]replace() method intentionally has no security check.

    The reload() method steps are: 1. Let document be [38179]this's [38180]relevant Document. 2. If document is null, then return. 3. If document's [38181]origin is not [38182]same origin-domain with the [38183]entry settings object's [38184]origin, then throw a [38185]"SecurityError" [38186]DOMException. 4. [38187]Reload document's [38188]node navigable. __________________________________________________________________

    The ancestorOrigins getter steps are: 1. If [38189]this's [38190]relevant Document is null, then return an empty [38191]list. 2. If [38192]this's [38193]relevant Document's [38194]origin is not [38195]same origin-domain with the [38196]entry settings object's [38197]origin, then throw a [38198]"SecurityError" [38199]DOMException. 3. Otherwise, return [38200]this's [38201]ancestor origins list.

    The details of how the [38202]ancestorOrigins attribute works are still controversial and might change. See [38203]issue #1918 for more information. __________________________________________________________________

    As explained earlier, the [38204]Location exotic object requires additional logic beyond IDL for security purposes. The [38205]Location object must use the ordinary internal methods except where it is explicitly specified otherwise below.

    Also, every [38206]Location object has a [[DefaultProperties]] internal slot representing its own properties at time of its creation.

    7.2.4.1 [[GetPrototypeOf]] ( )

    1. If [38207]IsPlatformObjectSameOrigin(this) is true, then return ! [38208]OrdinaryGetPrototypeOf(this). 2. Return null.

    7.2.4.2 [[SetPrototypeOf]] ( V )

    1. Return ! [38209]SetImmutablePrototype(this, V).

    7.2.4.3 [[IsExtensible]] ( )

    1. Return true.

    7.2.4.4 [[PreventExtensions]] ( )

    1. Return false.

    7.2.4.5 [[GetOwnProperty]] ( P )

    1. If [38210]IsPlatformObjectSameOrigin(this) is true, then: 1. Let desc be [38211]OrdinaryGetOwnProperty(this, P). 2. If the value of the [38212][[DefaultProperties]] internal slot of this contains P, then set desc.[[Configurable]] to true. 3. Return desc. 2. Let property be [38213]CrossOriginGetOwnPropertyHelper(this, P). 3. If property is not undefined, then return property. 4. Return ? [38214]CrossOriginPropertyFallback(P).

    7.2.4.6 [[DefineOwnProperty]] ( P, Desc )

    1. If [38215]IsPlatformObjectSameOrigin(this) is true, then: 1. If the value of the [38216][[DefaultProperties]] internal slot of this contains P, then return false. 2. Return ? [38217]OrdinaryDefineOwnProperty(this, P, Desc). 2. Throw a [38218]"SecurityError" [38219]DOMException.

    7.2.4.7 [[Get]] ( P, Receiver )

    1. If [38220]IsPlatformObjectSameOrigin(this) is true, then return ? [38221]OrdinaryGet(this, P, Receiver). 2. Return ? [38222]CrossOriginGet(this, P, Receiver).

    7.2.4.8 [[Set]] ( P, V, Receiver )

    1. If [38223]IsPlatformObjectSameOrigin(this) is true, then return ? [38224]OrdinarySet(this, P, V, Receiver). 2. Return ? [38225]CrossOriginSet(this, P, V, Receiver).

    7.2.4.9 [[Delete]] ( P )

    1. If [38226]IsPlatformObjectSameOrigin(this) is true, then return ? [38227]OrdinaryDelete(this, P). 2. Throw a [38228]"SecurityError" [38229]DOMException.

    7.2.4.10 [[OwnPropertyKeys]] ( )

    1. If [38230]IsPlatformObjectSameOrigin(this) is true, then return [38231]OrdinaryOwnPropertyKeys(this). 2. Return [38232]CrossOriginOwnPropertyKeys(this).

    7.2.5 The [38233]History interface

    (BUTTON) ✔MDN

    [38234]History

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera3+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+

    [38235]Window/history

    Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________

    Opera3+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+

    enum ScrollRestoration { "[38236]auto", "[38237]manual" };

    [Exposed=Window] interface History { readonly attribute unsigned long [38238]length; attribute [38239]ScrollRestoration [38240]scrollRestoration; readonly attribute any [38241]state; undefined [38242]go(optional long delta = 0); undefined [38243]back(); undefined [38244]forward(); undefined [38245]pushState(any data, DOMString unused, optional USVString? url = null); undefined [38246]replaceState(any data, DOMString unused, optional USVString? url = null); };

    [38247]history.[38248]length

    (BUTTON) ✔MDN

    [38249]History/length

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the number of overall [38250]session history entries for the current [38251]traversable navigable.

    [38252]history.[38253]scrollRestoration

    (BUTTON) ✔MDN

    [38254]History/scrollRestoration

    Support in all current engines.

    Firefox46+Safari11+Chrome46+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the [38255]scroll restoration mode of the [38256]active session history entry.

    [38257]history.[38258]scrollRestoration = value Set the [38259]scroll restoration mode of the [38260]active session history entry to value.

    [38261]history.[38262]state

    (BUTTON) ✔MDN

    [38263]History/state

    Support in all current engines.

    Firefox4+Safari6+Chrome19+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [38264]classic history API state of the [38265]active session history entry, deserialized into a JavaScript value.

    [38266]history.[38267]go() Reloads the current page.

    [38268]history.[38269]go(delta)

    (BUTTON) ✔MDN

    [38270]History/go

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Goes back or forward the specified number of steps in the overall [38271]session history entries list for the current [38272]traversable navigable.

    A zero delta will reload the current page.

    If the delta is out of range, does nothing.

    [38273]history.[38274]back()

    (BUTTON) ✔MDN

    [38275]History/back

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Goes back one step in the overall [38276]session history entries list for the current [38277]traversable navigable.

    If there is no previous page, does nothing.

    [38278]history.[38279]forward()

    (BUTTON) ✔MDN

    [38280]History/forward

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Goes forward one step in the overall [38281]session history entries list for the current [38282]traversable navigable.

    If there is no next page, does nothing.

    [38283]history.[38284]pushState(data, "")

    (BUTTON) ✔MDN

    [38285]History/pushState

    Support in all current engines.

    Firefox4+Safari5+Chrome5+ ___________________________________________________________

    Opera11.5+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android11.5+ Adds a new entry into session history with its [38286]classic history API state set to a serialization of data. The [38287]active history entry's [38288]URL will be copied over and used for the new entry's URL.

    (The second parameter exists for historical reasons, and cannot be omitted; passing the empty string is traditional.)

    [38289]history.[38290]pushState(data, "", url) Adds a new entry into session history with its [38291]classic history API state set to a serialization of data, and with its [38292]URL set to url.

    If the current [38293]Document [38294]cannot have its URL rewritten to url, a [38295]"SecurityError" [38296]DOMException will be thrown.

    (The second parameter exists for historical reasons, and cannot be omitted; passing the empty string is traditional.)

    [38297]history.[38298]replaceState(data, "")

    (BUTTON) ✔MDN

    [38299]History/replaceState

    Support in all current engines.

    Firefox4+Safari5+Chrome5+ ___________________________________________________________

    Opera11.5+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android11.5+ Updates the [38300]classic history API state of the [38301]active session history entry to a structured clone of data.

    (The second parameter exists for historical reasons, and cannot be omitted; passing the empty string is traditional.)

    [38302]history.[38303]replaceState(data, "", url) Updates the [38304]classic history API state of the [38305]active session history entry to a structured clone of data, and its [38306]URL to url.

    If the current [38307]Document [38308]cannot have its URL rewritten to url, a [38309]"SecurityError" [38310]DOMException will be thrown.

    (The second parameter exists for historical reasons, and cannot be omitted; passing the empty string is traditional.)

    A [38311]Document has a history object, a [38312]History object.

    The history getter steps are to return [38313]this's [38314]associated Document's [38315]history object. __________________________________________________________________

    Each [38316]History object has state, initially null.

    Each [38317]History object has a length, a non-negative integer, initially 0.

    Each [38318]History object has an index, a non-negative integer, initially 0.

    Although the [38319]index is not directly exposed, it can be inferred from changes to the [38320]length during synchronous navigations. In fact, that is what it's used for.

    The length getter steps are: 1. If [38321]this's [38322]relevant global object's [38323]associated Document is not [38324]fully active, then throw a [38325]"SecurityError" [38326]DOMException. 2. Return [38327]this's [38328]length.

    The scrollRestoration getter steps are: 1. If [38329]this's [38330]relevant global object's [38331]associated Document is not [38332]fully active, then throw a [38333]"SecurityError" [38334]DOMException. 2. Return [38335]this's [38336]relevant global object's [38337]navigable's [38338]active session history entry's [38339]scroll restoration mode.

    The [38340]scrollRestoration setter steps are: 1. If [38341]this's [38342]relevant global object's [38343]associated Document is not [38344]fully active, then throw a [38345]"SecurityError" [38346]DOMException. 2. Set [38347]this's [38348]relevant global object's [38349]navigable's [38350]active session history entry's [38351]scroll restoration mode to the given value.

    The state getter steps are: 1. If [38352]this's [38353]relevant global object's [38354]associated Document is not [38355]fully active, then throw a [38356]"SecurityError" [38357]DOMException. 2. Return [38358]this's [38359]state.

    The go(delta) method steps are to [38360]delta traverse [38361]this given delta.

    The back() method steps are to [38362]delta traverse [38363]this given −1.

    The forward() method steps are to [38364]delta traverse [38365]this given +1.

    To delta traverse a [38366]History object history given an integer delta: 1. Let document be history's [38367]relevant global object's [38368]associated Document. 2. If document is not [38369]fully active, then throw a [38370]"SecurityError" [38371]DOMException. 3. If delta is 0, then [38372]reload document's [38373]node navigable, and return. 4. [38374]Traverse the history by a delta given document's [38375]node navigable's [38376]traversable navigable, delta, and with [38377]sourceDocument set to document.

    The pushState(data, unused, url) method steps are to run the [38378]shared history push/replace state steps given [38379]this, data, url, and "[38380]push".

    The replaceState(data, unused, url) method steps are to run the [38381]shared history push/replace state steps given [38382]this, data, url, and "[38383]replace".

    The shared history push/replace state steps, given a [38384]History history, a value data, a [38385]scalar value string-or-null url, and a [38386]history handling behavior historyHandling, are: 1. Let document be history's [38387]relevant global object's [38388]associated Document. 2. If document is not [38389]fully active, then throw a [38390]"SecurityError" [38391]DOMException. 3. Optionally, throw a [38392]"SecurityError" [38393]DOMException. (For example, the user agent might disallow calls to these methods that are invoked on a timer, or from event listeners that are not triggered in response to a clear user action, or that are invoked in rapid succession.) 4. Let serializedData be [38394]StructuredSerializeForStorage(data). Rethrow any exceptions. 5. Let newURL be document's [38395]URL. 6. If url is not null or the empty string, then: 1. Set newURL to the result of [38396]encoding-parsing a URL given url, relative to the [38397]relevant settings object of history. 2. If newURL is failure, then throw a [38398]"SecurityError" [38399]DOMException. 3. If document [38400]cannot have its URL rewritten to newURL, then throw a [38401]"SecurityError" [38402]DOMException. The special case for the empty string here is historical, and leads to different resulting URLs when comparing code such as location.href = "" (which performs URL parsing on the empty string) versus history.pushState(null, "", "") (which bypasses it). 7. Let navigation be history's [38403]relevant global object's [38404]navigation API. 8. Let continue be the result of [38405]firing a push/replace/reload navigate event at navigation with [38406]navigationType set to historyHandling, [38407]isSameDocument set to true, [38408]destinationURL set to newURL, and [38409]classicHistoryAPIState set to serializedData. 9. If continue is false, then return. 10. Run the [38410]URL and history update steps given document and newURL, with [38411]serializedData set to serializedData and [38412]historyHandling set to historyHandling.

    User agents may limit the number of state objects added to the session history per page. If a page hits the [38413]implementation-defined limit, user agents must remove the entry immediately after the first entry for that [38414]Document object in the session history after having added the new entry. (Thus the state history acts as a FIFO buffer for eviction, but as a LIFO buffer for navigation.)

    A [38415]Document document can have its URL rewritten to a [38416]URL targetURL if the following algorithm returns true: 1. Let documentURL be document's [38417]URL. 2. If targetURL and documentURL differ in their [38418]scheme, [38419]username, [38420]password, [38421]host, or [38422]port components, then return false. 3. If targetURL's [38423]scheme is an [38424]HTTP(S) scheme, then return true. Differences in [38425]path, [38426]query, and [38427]fragment are allowed for [38428]http: and [38429]https: URLs. 4. If targetURL's [38430]scheme is "file", then: 1. If targetURL and documentURL differ in their [38431]path component, then return false. 2. Return true. Differences in [38432]query and [38433]fragment are allowed for file: URLs. 5. If targetURL and documentURL differ in their [38434]path component or [38435]query components, then return false. Only differences in [38436]fragment are allowed for other types of URLs. 6. Return true.

    document's [38437]URL targetURL [38438]can have its URL rewritten https://example.com/home https://example.com/home#about https://example.com/home https://example.com/home?page=shop https://example.com/home https://example.com/shop https://example.com/home https://user:pass@example.com/home ❌ https://example.com/home http://example.com/home ❌ file:///path/to/x file:///path/to/x#hash file:///path/to/x file:///path/to/x?search file:///path/to/x file:///path/to/y ❌ about:blank about:blank#hash about:blank about:blank?search ❌ about:blank about:srcdoc ❌ data:text/html,foo data:text/html,foo#hash data:text/html,foo data:text/html,foo?search ❌ data:text/html,foo data:text/html,bar ❌ data:text/html,foo data:bar ❌ blob:https://example.com/77becafe-657b-4fdc-8bd3-e83aaa5e8f43 blob:https://example.com/77becafe-657b-4fdc-8bd3-e83aaa5e8f43#hash blob:https://example.com/77becafe-657b-4fdc-8bd3-e83aaa5e8f43 blob:https://example.com/77becafe-657b-4fdc-8bd3-e83aaa5e8f43?search ❌ blob:https://example.com/77becafe-657b-4fdc-8bd3-e83aaa5e8f43 blob:https://example.com/anything ❌ blob:https://example.com/77becafe-657b-4fdc-8bd3-e83aaa5e8f43 blob:path ❌

    Note how only the [38439]URL of the [38440]Document matters, and not its [38441]origin. They can mismatch in cases like [38442]about:blank [38443]Documents with inherited origins, in sandboxed [38444]iframes, or when the [38445]document.domain setter has been used.

    Consider a game where the user can navigate along a line, such that the user is always at some coordinate, and such that the user can bookmark the page corresponding to a particular coordinate, to return to it later.

    A static page implementing the x=5 position in such a game could look like the following: Line Game - 5

    You are at coordinate 5 on the line.

    Advance to 6 or retreat to 4?

    The problem with such a system is that each time the user clicks, the whole page has to be reloaded. Here instead is another way of doing it, using script: Line Game - 5

    You are at coordinate 5 on the line.

    Advance to 6 or retreat to 4?

    In systems without script, this still works like the previous example. However, users that do have script support can now navigate much faster, since there is no network access for the same experience. Furthermore, contrary to the experience the user would have with just a naïve script-based approach, bookmarking and navigating the session history still work.

    In the example above, the data argument to the [38446]pushState() method is the same information as would be sent to the server, but in a more convenient form, so that the script doesn't have to parse the URL each time the user navigates.

    Most applications want to use the same [38447]scroll restoration mode value for all of their history entries. To achieve this they can set the [38448]scrollRestoration attribute as soon as possible (e.g., in the first [38449]script element in the document's [38450]head element) to ensure that any entry added to the history session gets the desired scroll restoration mode.

    7.2.6 The navigation API

    7.2.6.1 Introduction

    This section is non-normative.

    The navigation API, provided by the global [38451]navigation property, provides a modern and web application-focused way of managing navigations and history entries. It is a successor to the classic [38452]location and [38453]history APIs.

    One ability the API provides is inspecting [38454]session history entries. For example, the following will display the entries' URLs in an ordered list: const ol = document.createElement("ol"); ol.start = 0; // so that the list itemsʼ ordinal values match up with the entry indices

    for (const entry of navigation.entries()) { const li = document.createElement("li");

    if (entry.index < navigation.currentEntry.index) { li.className = "backward"; } else if (entry.index > navigation.currentEntry.index) { li.className = "forward"; } else { li.className = "current"; }

    li.textContent = entry.url; ol.append(li); }

    The [38455]navigation.entries() array contains [38456]NavigationHistoryEntry instances, which have other useful properties in addition to the [38457]url and [38458]index properties shown here. Note that the array only contains [38459]NavigationHistoryEntry objects that represent the current [38460]navigable, and thus its contents are not impacted by navigations inside [38461]navigable containers such as [38462]iframes, or by navigations of the [38463]parent navigable in cases where the navigation API is itself being used inside an [38464]iframe. Additionally, it only contains [38465]NavigationHistoryEntry objects representing same-[38466]origin [38467]session history entries, meaning that if the user has visited other origins before or after the current one, there will not be corresponding [38468]NavigationHistoryEntrys. __________________________________________________________________

    The navigation API can also be used to navigate, reload, or traverse through the history:

    Note that traversals are again limited to same-[38469]origin destinations, meaning that, for example, [38470]navigation.canGoBack will be false if the previous [38471]session history entry is for a page from another origin. __________________________________________________________________

    The most powerful part of the navigation API is the [38472]navigate event, which fires whenever almost any navigation or traversal occurs in the current [38473]navigable: navigation.onnavigate = event => { console.log(event.navigationType); // "push", "replace", "reload", or "travers e" console.log(event.destination.url); console.log(event.userInitiated); // ... and [38474]other useful properties };

    (The event will not fire for [38475]location bar-initiated navigations, or navigations initiated from other windows, when the destination of the navigation is a new document.)

    Much of the time, the event's [38476]cancelable property will be true, meaning this event can be canceled using [38477]preventDefault(): navigation.onnavigate = event => { if (event.cancelable && isDisallowedURL(event.destination.url)) { alert(`Please donʼt go to ${event.destination.url}!`); event.preventDefault(); } };

    The [38478]cancelable property will be false for some "[38479]traverse" navigations, such as those taking place inside [38480]child navigables, those crossing to new origins, or when the user attempts to traverse again shortly after a previous call to [38481]preventDefault() prevented them from doing so.

    The [38482]NavigateEvent's [38483]intercept() method allows intercepting a navigation and converting it into a same-document navigation: navigation.addEventListener("navigate", e => { // Some navigations, e.g. cross-origin navigations, we cannot intercept. // Let the browser handle those normally. if (!e.canIntercept) { return; }

    // Similarly, donʼt intercept fragment navigations or downloads. if (e.hashChange || e.downloadRequest !== null) { return; }

    const url = new URL(event.destination.url);

    if (url.pathname.startsWith("/articles/")) { e.intercept({ async handler() { // The URL has already changed, so show a placeholder while // fetching the new content, such as a spinner or loading page. renderArticlePagePlaceholder();

    // Fetch the new content and display when ready. const articleContent = await getArticleContent(url.pathname, { signal: e .signal }); renderArticlePage(articleContent); } }); } });

    Note that the [38484]handler function can return a promise to represent the asynchronous progress, and success or failure, of the navigation. While the promise is still pending, browser UI can treat the navigation as ongoing (e.g., by presenting a loading spinner). Other parts of the navigation API are also sensitive to these promises, such as the return value of [38485]navigation.navigate(): const { committed, finished } = await navigation.navigate("/articles/the-navigat ion-api-is-cool");

    // The committed promise will fulfill once the URL has changed, which happens // immediately (as long as the NavigateEvent wasnʼt canceled). await committed;

    // The finished promise will fulfill once the Promise returned by handler() has // fulfilled, which happens once the article is downloaded and rendered. (Or, // it will reject, if handler() fails along the way). await finished;

    7.2.6.2 The [38486]Navigation interface

    [Exposed=Window] interface Navigation : [38487]EventTarget { sequence<[38488]NavigationHistoryEntry> [38489]entries(); readonly attribute [38490]NavigationHistoryEntry? [38491]currentEntry; undefined [38492]updateCurrentEntry([38493]NavigationUpdateCurrentEntryOptions options); readonly attribute [38494]NavigationTransition? [38495]transition; readonly attribute [38496]NavigationActivation? [38497]activation;

    readonly attribute boolean [38498]canGoBack; readonly attribute boolean [38499]canGoForward;

    [38500]NavigationResult [38501]navigate(USVString url, optional [38502]Navigat ionNavigateOptions options = {}); [38503]NavigationResult [38504]reload(optional [38505]NavigationReloadOptions options = {});

    [38506]NavigationResult [38507]traverseTo(DOMString key, optional [38508]Navig ationOptions options = {}); [38509]NavigationResult [38510]back(optional [38511]NavigationOptions options = {}); [38512]NavigationResult [38513]forward(optional [38514]NavigationOptions optio ns = {});

    attribute [38515]EventHandler [38516]onnavigate; attribute [38517]EventHandler [38518]onnavigatesuccess; attribute [38519]EventHandler [38520]onnavigateerror; attribute [38521]EventHandler [38522]oncurrententrychange; };

    dictionary NavigationUpdateCurrentEntryOptions { required any state; };

    dictionary NavigationOptions { any info; };

    dictionary NavigationNavigateOptions : [38523]NavigationOptions { any state; [38524]NavigationHistoryBehavior history = "[38525]auto"; };

    dictionary NavigationReloadOptions : [38526]NavigationOptions { any state; };

    dictionary NavigationResult { [38527]Promise<[38528]NavigationHistoryEntry> committed; [38529]Promise<[38530]NavigationHistoryEntry> finished; };

    enum NavigationHistoryBehavior { "[38531]auto", "[38532]push", "[38533]replace" };

    Each [38534]Window has an associated navigation API, which is a [38535]Navigation object. Upon creation of the [38536]Window object, its [38537]navigation API must be set to a [38538]new [38539]Navigation object created in the [38540]Window object's [38541]relevant realm.

    The navigation getter steps are to return [38542]this's [38543]navigation API.

    The following are the [38544]event handlers (and their corresponding [38545]event handler event types) that must be supported, as [38546]event handler IDL attributes, by all objects implementing the [38547]Navigation interface:

    [38548]Event handler [38549]Event handler event type onnavigate [38550]navigate onnavigatesuccess [38551]navigatesuccess onnavigateerror [38552]navigateerror oncurrententrychange [38553]currententrychange

    7.2.6.3 Core infrastructure

    Each [38554]Navigation has an associated entry list, a [38555]list of [38556]NavigationHistoryEntry objects, initially empty.

    Each [38557]Navigation has an associated current entry index, an integer, initially −1.

    The current entry of a [38558]Navigation navigation is the result of running the following steps: 1. If navigation [38559]has entries and events disabled, then return null. 2. [38560]Assert: navigation's [38561]current entry index is not −1. 3. Return navigation's [38562]entry list[navigation's [38563]current entry index].

    A [38564]Navigation navigation has entries and events disabled if the following steps return true: 1. Let document be navigation's [38565]relevant global object's [38566]associated Document. 2. If document is not [38567]fully active, then return true. 3. If document's [38568]is initial about:blank is true, then return true. 4. If document's [38569]origin is [38570]opaque, then return true. 5. Return false.

    To get the navigation API entry index of a [38571]session history entry she within a [38572]Navigation navigation: 1. Let index be 0. 2. [38573]For each nhe of navigation's [38574]entry list: 1. If nhe's [38575]session history entry is equal to she, then return index. 2. Increment index by 1. 3. Return −1. __________________________________________________________________

    A key type used throughout the navigation API is the [38576]NavigationType enumeration: enum NavigationType { "[38577]push", "[38578]replace", "[38579]reload", "[38580]traverse" };

    This captures the main web developer-visible types of "navigations", which (as [38581]noted elsewhere) do not exactly correspond to this standard's singular [38582]navigate algorithm. The meaning of each value is the following:

    "push" Corresponds to calls to [38583]navigate where the [38584]history handling behavior ends up as "[38585]push", or to [38586]history.pushState().

    "replace" Corresponds to calls to [38587]navigate where the [38588]history handling behavior ends up as "[38589]replace", or to [38590]history.replaceState().

    "reload" Corresponds to calls to [38591]reload.

    "traverse" Corresponds to calls to [38592]traverse the history by a delta.

    The value space of the [38593]NavigationType enumeration is a superset of the value space of the specification-internal [38594]history handling behavior type. Several parts of this standard make use of this overlap, by passing in a [38595]history handling behavior to an algorithm that expects a [38596]NavigationType.

    7.2.6.4 Initializing and updating the entry list

    To initialize the navigation API entries for a new document given a [38597]Navigation navigation, a [38598]list of [38599]session history entries newSHEs, and a [38600]session history entry initialSHE: 1. [38601]Assert: navigation's [38602]entry list [38603]is empty. 2. [38604]Assert: navigation's [38605]current entry index is −1. 3. If navigation [38606]has entries and events disabled, then return. 4. [38607]For each newSHE of newSHEs: 1. Let newNHE be a [38608]new [38609]NavigationHistoryEntry created in the [38610]relevant realm of navigation. 2. Set newNHE's [38611]session history entry to newSHE. 3. [38612]Append newNHE to navigation's [38613]entry list. newSHEs will have originally come from [38614]getting session history entries for the navigation API, and thus each newSHE will be contiguous [38615]same [38616]origin with initialSHE. 5. Set navigation's [38617]current entry index to the result of [38618]getting the navigation API entry index of initialSHE within navigation.

    To update the navigation API entries for reactivation given a [38619]Navigation navigation, a [38620]list of [38621]session history entries newSHEs, and a [38622]session history entry reactivatedSHE: 1. If navigation [38623]has entries and events disabled, then return. 2. Let newNHEs be a new empty [38624]list. 3. Let oldNHEs be a [38625]clone of navigation's [38626]entry list. 4. [38627]For each newSHE of newSHEs: 1. Let newNHE be null. 2. If oldNHEs [38628]contains a [38629]NavigationHistoryEntry matchingOldNHE whose [38630]session history entry is newSHE, then: 1. Set newNHE to matchingOldNHE. 2. [38631]Remove matchingOldNHE from oldNHEs. 3. Otherwise: 1. Set newNHE to a [38632]new [38633]NavigationHistoryEntry created in the [38634]relevant realm of navigation. 2. Set newNHE's [38635]session history entry to newSHE. 4. [38636]Append newNHE to newNHEs. newSHEs will have originally come from [38637]getting session history entries for the navigation API, and thus each newSHE will be contiguous [38638]same [38639]origin with reactivatedSHE. By the end of this loop, all [38640]NavigationHistoryEntrys that remain in oldNHEs represent [38641]session history entries which have been disposed while the [38642]Document was in [38643]bfcache. 5. Set navigation's [38644]entry list to newNHEs. 6. Set navigation's [38645]current entry index to the result of [38646]getting the navigation API entry index of reactivatedSHE within navigation. 7. [38647]Queue a global task on the [38648]navigation and traversal task source given navigation's [38649]relevant global object to run the following steps: 1. [38650]For each disposedNHE of oldNHEs: 1. [38651]Fire an event named [38652]dispose at disposedNHE. We delay these steps by a task to ensure that [38653]dispose events will fire after the [38654]pageshow event. This ensures that [38655]pageshow is the first event a page receives upon [38656]reactivation. (However, the rest of this algorithm runs before the [38657]pageshow event fires. This ensures that [38658]navigation.entries() and [38659]navigation.currentEntry will have correctly-updated values during any [38660]pageshow event handlers.)

    To update the navigation API entries for a same-document navigation given a [38661]Navigation navigation, a [38662]session history entry destinationSHE, and a [38663]NavigationType navigationType: 1. If navigation [38664]has entries and events disabled, then return. 2. Let oldCurrentNHE be the [38665]current entry of navigation. 3. Let disposedNHEs be a new empty [38666]list. 4. If navigationType is "[38667]traverse", then: 1. Set navigation's [38668]current entry index to the result of [38669]getting the navigation API entry index of destinationSHE within navigation. 2. [38670]Assert: navigation's [38671]current entry index is not −1. This algorithm is only called for same-document traversals. Cross-document traversals will instead call either [38672]initialize the navigation API entries for a new document or [38673]update the navigation API entries for reactivation. 5. Otherwise, if navigationType is "[38674]push", then: 1. Set navigation's [38675]current entry index to navigation's [38676]current entry index + 1. 2. Let i be navigation's [38677]current entry index. 3. [38678]While i < navigation's [38679]entry list's [38680]size: 1. [38681]Append navigation's [38682]entry list[i] to disposedNHEs. 2. Set i to i + 1. 4. [38683]Remove all items in disposedNHEs from navigation's [38684]entry list. 6. Otherwise, if navigationType is "[38685]replace", then: 1. [38686]Append oldCurrentNHE to disposedNHEs. 7. If navigationType is "[38687]push" or "[38688]replace", then: 1. Let newNHE be a [38689]new [38690]NavigationHistoryEntry created in the [38691]relevant realm of navigation. 2. Set newNHE's [38692]session history entry to destinationSHE. 3. Set navigation's [38693]entry list[navigation's [38694]current entry index] to newNHE. 8. If navigation's [38695]ongoing API method tracker is non-null, then [38696]notify about the committed-to entry given navigation's [38697]ongoing API method tracker and the [38698]current entry of navigation. It is important to do this before firing the [38699]dispose or [38700]currententrychange events, since event handlers could start another navigation, or otherwise change the value of navigation's [38701]ongoing API method tracker. 9. [38702]Prepare to run script given navigation's [38703]relevant settings object. See [38704]the discussion for other navigation API events to understand why we do this. 10. [38705]Fire an event named [38706]currententrychange at navigation using [38707]NavigationCurrentEntryChangeEvent, with its [38708]navigationType attribute initialized to navigationType and its [38709]from initialized to oldCurrentNHE. 11. [38710]For each disposedNHE of disposedNHEs: 1. [38711]Fire an event named [38712]dispose at disposedNHE. 12. [38713]Clean up after running script given navigation's [38714]relevant settings object.

    In implementations, same-document navigations can cause [38715]session history entries to be disposed by falling off the back of the session history entry list. This is not yet handled by the above algorithm (or by any other part of this standard). See [38716]issue #8620 to track progress on defining the correct behavior in such cases.

    7.2.6.5 The [38717]NavigationHistoryEntry interface

    [Exposed=Window] interface NavigationHistoryEntry : [38718]EventTarget { readonly attribute USVString? [38719]url; readonly attribute DOMString [38720]key; readonly attribute DOMString [38721]id; readonly attribute long long [38722]index; readonly attribute boolean [38723]sameDocument;

    any [38724]getState();

    attribute [38725]EventHandler [38726]ondispose; };

    entry.[38727]url The URL of this navigation history entry.

    This can return null if the entry corresponds to a different [38728]Document than the current one (i.e., if [38729]sameDocument is false), and that [38730]Document was fetched with a [38731]referrer policy of "no-referrer" or "origin", since that indicates the [38732]Document in question is hiding its URL even from other same-origin pages.

    entry.[38733]key A user agent-generated random UUID string representing this navigation history entry's place in the navigation history list. This value will be reused by other [38734]NavigationHistoryEntry instances that replace this one due to "[38735]replace" navigations, and will survive reloads and session restores.

    This is useful for navigating back to this entry in the navigation history list, using [38736]navigation.traverseTo(key).

    entry.[38737]id A user agent-generated random UUID string representing this specific navigation history entry. This value will not be reused by other [38738]NavigationHistoryEntry instances. This value will survive reloads and session restores.

    This is useful for associating data with this navigation history entry using other storage APIs.

    entry.[38739]index The index of this [38740]NavigationHistoryEntry within [38741]navigation.entries(), or −1 if the entry is not in the navigation history entry list.

    entry.[38742]sameDocument Indicates whether or not this navigation history entry is for the same [38743]Document as the current one, or not. This will be true, for example, when the entry represents a fragment navigation or single-page app navigation.

    entry.[38744]getState() Returns the [38745]deserialization of the state stored in this entry, which was added to the entry using [38746]navigation.navigate() or [38747]navigation.updateCurrentEntry(). This state survives reloads and session restores.

    Note that in general, unless the state value is a primitive, entry.getState() !== entry.getState(), since a fresh deserialization is returned each time.

    This state is unrelated to the classic history API's [38748]history.state.

    Each [38749]NavigationHistoryEntry has an associated session history entry, which is a [38750]session history entry.

    The key of a [38751]NavigationHistoryEntry nhe is given by the return value of the following algorithm: 1. If nhe's [38752]relevant global object's [38753]associated Document is not [38754]fully active, then return the empty string. 2. Return nhe's [38755]session history entry's [38756]navigation API key.

    The ID of a [38757]NavigationHistoryEntry nhe is given by the return value of the following algorithm: 1. If nhe's [38758]relevant global object's [38759]associated Document is not [38760]fully active, then return the empty string. 2. Return nhe's [38761]session history entry's [38762]navigation API ID.

    The index of a [38763]NavigationHistoryEntry nhe is given by the return value of the following algorithm: 1. If nhe's [38764]relevant global object's [38765]associated Document is not [38766]fully active, then return −1. 2. Return the result of [38767]getting the navigation API entry index of [38768]this's [38769]session history entry within [38770]this's [38771]relevant global object's [38772]navigation API.

    The url getter steps are: 1. Let document be [38773]this's [38774]relevant global object's [38775]associated Document. 2. If document is not [38776]fully active, then return the empty string. 3. Let she be [38777]this's [38778]session history entry. 4. If she's [38779]document does not equal document, and she's [38780]document state's [38781]request referrer policy is "no-referrer" or "origin", then return null. 5. Return she's [38782]URL, [38783]serialized.

    The key getter steps are to return [38784]this's [38785]key.

    The id getter steps are to return [38786]this's [38787]ID.

    The index getter steps are to return [38788]this's [38789]index.

    The sameDocument getter steps are: 1. Let document be [38790]this's [38791]relevant global object's [38792]associated Document. 2. If document is not [38793]fully active, then return false. 3. Return true if [38794]this's [38795]session history entry's [38796]document equals document, and false otherwise.

    The getState() method steps are: 1. If [38797]this's [38798]relevant global object's [38799]associated Document is not [38800]fully active, then return undefined. 2. Return [38801]StructuredDeserialize([38802]this's [38803]session history entry's [38804]navigation API state). Rethrow any exceptions. This can in theory throw an exception, if attempting to deserialize a large [38805]ArrayBuffer when not enough memory is available.

    The following are the [38806]event handlers (and their corresponding [38807]event handler event types) that must be supported, as [38808]event handler IDL attributes, by all objects implementing the [38809]NavigationHistoryEntry interface:

    [38810]Event handler [38811]Event handler event type ondispose [38812]dispose

    7.2.6.6 The history entry list

    entries = [38813]navigation.[38814]entries() Returns an array of [38815]NavigationHistoryEntry instances represent the current navigation history entry list, i.e., all [38816]session history entries for this [38817]navigable that are [38818]same origin and contiguous to the [38819]current session history entry.

    [38820]navigation.[38821]currentEntry Returns the [38822]NavigationHistoryEntry corresponding to the [38823]current session history entry.

    [38824]navigation.[38825]updateCurrentEntry({ [38826]state }) Updates the [38827]navigation API state of the [38828]current session history entry, without performing a navigation like [38829]navigation.reload() would do.

    This method is best used to capture updates to the page that have already happened, and need to be reflected into the navigation API state. For cases where the state update is meant to drive a page update, instead use [38830]navigation.navigate() or [38831]navigation.reload(), which will trigger a [38832]navigate event.

    [38833]navigation.[38834]canGoBack Returns true if the current [38835]current session history entry (i.e., [38836]currentEntry) is not the first one in the navigation history entry list (i.e., in [38837]entries()). This means that there is a previous [38838]session history entry for this [38839]navigable, and its [38840]document state's [38841]origin is [38842]same origin with the current [38843]Document's [38844]origin.

    [38845]navigation.[38846]canGoForward Returns true if the current [38847]current session history entry (i.e., [38848]currentEntry) is not the last one in the navigation history entry list (i.e., in [38849]entries()). This means that there is a next [38850]session history entry for this [38851]navigable, and its [38852]document state's [38853]origin is [38854]same origin with the current [38855]Document's [38856]origin.

    The entries() method steps are: 1. If [38857]this [38858]has entries and events disabled, then return the empty list. 2. Return [38859]this's [38860]entry list. Recall that because of Web IDL's sequence type conversion rules, this will create a new JavaScript array object on each call. That is, [38861]navigation.entries() !== [38862]navigation.entries().

    The currentEntry getter steps are to return the [38863]current entry of [38864]this.

    The updateCurrentEntry(options) method steps are: 1. Let current be the [38865]current entry of [38866]this. 2. If current is null, then throw an [38867]"InvalidStateError" [38868]DOMException. 3. Let serializedState be [38869]StructuredSerializeForStorage(options["[38870]state"]), rethrowing any exceptions. 4. Set current's [38871]session history entry's [38872]navigation API state to serializedState. 5. [38873]Fire an event named [38874]currententrychange at [38875]this using [38876]NavigationCurrentEntryChangeEvent, with its [38877]navigationType attribute initialized to null and its [38878]from initialized to current.

    The canGoBack getter steps are: 1. If [38879]this [38880]has entries and events disabled, then return false. 2. [38881]Assert: [38882]this's [38883]current entry index is not −1. 3. If [38884]this's [38885]current entry index is 0, then return false. 4. Return true.

    The canGoForward getter steps are: 1. If [38886]this [38887]has entries and events disabled, then return false. 2. [38888]Assert: [38889]this's [38890]current entry index is not −1. 3. If [38891]this's [38892]current entry index is equal to [38893]this's [38894]entry list's [38895]size − 1, then return false. 4. Return true.

    7.2.6.7 Initiating navigations

    { [38896]committed, [38897]finished } = [38898]navigation.[38899]navigate(url)

    { [38900]committed, [38901]finished } = [38902]navigation.[38903]navigate(url, options) [38904]Navigates the current page to the given url. options can contain the following values:

    + [38905]history can be set to "[38906]replace" to replace the current session history entry, instead of pushing a new one. + [38907]info can be set to any value; it will populate the [38908]info property of the corresponding [38909]NavigateEvent. + [38910]state can be set to any [38911]serializable value; it will populate the state retrieved by [38912]navigation.currentEntry.getState() once the navigation completes, for same-document navigations. (It will be ignored for navigations that end up cross-document.)

    By default this will perform a full navigation (i.e., a cross-document navigation, unless the given URL differs only in a [38913]fragment from the current one). The [38914]navigateEvent.intercept() method can be used to convert it into a same-document navigation.

    The returned promises will behave as follows:

    + For navigations that get aborted, both promises will reject with an [38915]"AbortError" [38916]DOMException. + For same-document navigations created by using the [38917]navigateEvent.intercept() method, [38918]committed will fulfill immediately, and [38919]finished will fulfill or reject according to any promsies returned by handlers passed to [38920]intercept(). + For other same-document navigations (e.g., non-intercepted [38921]fragment navigations), both promises will fulfill immediately. + For cross-document navigations, or navigations that result in 204 or 205 [38922]statuses or `[38923]Content-Disposition: attachment` header fields from the server (and thus do not actually navigate), both promises will never settle.

    In all cases, when the returned promises fulfill, it will be with the [38924]NavigationHistoryEntry that was navigated to.

    { [38925]committed, [38926]finished } = [38927]navigation.[38928]reload(options) [38929]Reloads the current page. options can contain [38930]info and [38931]state, which behave as described above.

    The default behavior of performing a from-network-or-cache reload of the current page can be overriden by the using the [38932]navigateEvent.intercept() method. Doing so will mean this call only updates state or passes along the appropriate [38933]info, plus performing whater actions the [38934]navigate event handlers see fit to carry out.

    The returned promises will behave as follows:

    + If the reload is intercepted by using the [38935]navigateEvent.intercept() method, [38936]committed will fulfill immediately, and [38937]finished will fulfill or reject according to any promsies returned by handlers passed to [38938]intercept(). + Otherwise, both promises will never settle.

    { [38939]committed, [38940]finished } = [38941]navigation.[38942]traverseTo(key)

    { [38943]committed, [38944]finished } = [38945]navigation.[38946]traverseTo(key, { [38947]info }) [38948]Traverses to the closest [38949]session history entry that matches the [38950]NavigationHistoryEntry with the given key. [38951]info can be set to any value; it will populate the [38952]info property of the corresponding [38953]NavigateEvent.

    If a traversal to that [38954]session history entry is already in progress, then this will return the promises for that original traversal, and [38955]info will be ignored.

    The returned promises will behave as follows:

    + If there is no [38956]NavigationHistoryEntry in [38957]navigation.entries() whose [38958]key matches key, both promises will reject with an [38959]"InvalidStateError" [38960]DOMException. + For same-document traversals intercepted by the [38961]navigateEvent.intercept() method, [38962]committed will fulfill as soon as the traversal is processed and [38963]navigation.currentEntry is updated, and [38964]finished will fulfill or reject according to any promsies returned by the handlers passed to [38965]intercept(). + For non-intercepted same-document travesals, both promises will fulfill as soon as the traversal is processed and [38966]navigation.currentEntry is updated. + For cross-document traversals, including attempted cross-document traversals that end up resulting in a 204 or 205 [38967]statuses or `[38968]Content-Disposition: attachment` header fields from the server (and thus do not actually traverse), both promises will never settle.

    { [38969]committed, [38970]finished } = [38971]navigation.[38972]back(key)

    { [38973]committed, [38974]finished } = [38975]navigation.[38976]back(key, { [38977]info }) Traverses to the closest previous [38978]session history entry which results in this [38979]navigable traversing, i.e., which corresponds to a different [38980]NavigationHistoryEntry and thus will cause [38981]navigation.currentEntry to change. [38982]info can be set to any value; it will populate the [38983]info property of the corresponding [38984]NavigateEvent.

    If a traversal to that [38985]session history entry is already in progress, then this will return the promises for that original traversal, and [38986]info will be ignored.

    The returned promises behave equivalently to those returned by [38987]traverseTo().

    { [38988]committed, [38989]finished } = [38990]navigation.[38991]forward(key)

    { [38992]committed, [38993]finished } = [38994]navigation.[38995]forward(key, { [38996]info }) Traverses to the closest forward [38997]session history entry which results in this [38998]navigable traversing, i.e., which corresponds to a different [38999]NavigationHistoryEntry and thus will cause [39000]navigation.currentEntry to change. [39001]info can be set to any value; it will populate the [39002]info property of the corresponding [39003]NavigateEvent.

    If a traversal to that [39004]session history entry is already in progress, then this will return the promises for that original traversal, and [39005]info will be ignored.

    The returned promises behave equivalently to those returned by [39006]traverseTo().

    The navigate(url, options) method steps are: 1. Let urlRecord be the result of [39007]parsing a URL given url, relative to [39008]this's [39009]relevant settings object. 2. If urlRecord is failure, then return an [39010]early error result for a [39011]"SyntaxError" [39012]DOMException. 3. Let document be [39013]this's [39014]relevant global object's [39015]associated Document. 4. If options["[39016]history"] is "[39017]push", and [39018]the navigation must be a replace given urlRecord and document, then return an [39019]early error result for a [39020]"NotSupportedError" [39021]DOMException. 5. Let state be options["[39022]state"], if it [39023]exists; otherwise, undefined. 6. Let serializedState be [39024]StructuredSerializeForStorage(state). If this throws an exception, then return an [39025]early error result for that exception. It is important to perform this step early, since serialization can invoke web developer code, which in turn might change various things we check in later steps. 7. If document is not [39026]fully active, then return an [39027]early error result for an [39028]"InvalidStateError" [39029]DOMException. 8. If document's [39030]unload counter is greater than 0, then return an [39031]early error result for an [39032]"InvalidStateError" [39033]DOMException. 9. Let info be options["[39034]info"], if it [39035]exists; otherwise, undefined. 10. Let apiMethodTracker be the result of [39036]maybe setting the upcoming non-traverse API method tracker for [39037]this given info and serializedState. 11. [39038]Navigate document's [39039]node navigable to urlRecord using document, with [39040]historyHandling set to options["[39041]history"] and [39042]navigationAPIState set to serializedState. Unlike [39043]location.assign() and friends, which are exposed across [39044]origin-domain boundaries, [39045]navigation.navigate() can only be accessed by code with direct synchronous access to the [39046]window.navigation property. Thus, we avoid the complications about attributing the source document of the navigation, and we don't need to deal with the [39047]allowed by sandboxing to navigate check and its acccompanying [39048]exceptionsEnabled flag. We just treat all navigations as if they come from the [39049]Document corresponding to this [39050]Navigation object itself (i.e., document). 12. If [39051]this's [39052]upcoming non-traverse API method tracker is apiMethodTracker, then: If the [39053]upcoming non-traverse API method tracker is still apiMethodTracker, this means that the [39054]navigate algorithm bailed out before ever getting to the [39055]inner navigate event firing algorithm which would [39056]promote that upcoming API method tracker to ongoing. 1. Set [39057]this's [39058]upcoming non-traverse API method tracker to null. 2. Return an [39059]early error result for an [39060]"AbortError" [39061]DOMException. 13. Return a [39062]navigation API method tracker-derived result for apiMethodTracker.

    The reload(options) method steps are: 1. Let document be [39063]this's [39064]relevant global object's [39065]associated Document. 2. Let serializedState be [39066]StructuredSerializeForStorage(undefined). 3. If options["[39067]state"] [39068]exists, then set serializedState to [39069]StructuredSerializeForStorage(options["[39070]state"]). If this throws an exception, then return an [39071]early error result for that exception. It is important to perform this step early, since serialization can invoke web developer code, which in turn might change various things we check in later steps. 4. Otherwise: 1. Let current be the [39072]current entry of [39073]this. 2. If current is not null, then set serializedState to current's [39074]session history entry's [39075]navigation API state. 5. If document is not [39076]fully active, then return an [39077]early error result for an [39078]"InvalidStateError" [39079]DOMException. 6. If document's [39080]unload counter is greater than 0, then return an [39081]early error result for an [39082]"InvalidStateError" [39083]DOMException. 7. Let info be options["[39084]info"], if it [39085]exists; otherwise, undefined. 8. Let apiMethodTracker be the result of [39086]maybe setting the upcoming non-traverse API method tracker for [39087]this given info and serializedState. 9. [39088]Reload document's [39089]node navigable with [39090]navigationAPIState set to serializedState. 10. Return a [39091]navigation API method tracker-derived result for apiMethodTracker.

    The traverseTo(key, options) method steps are: 1. If [39092]this's [39093]current entry index is −1, then return an [39094]early error result for an [39095]"InvalidStateError" [39096]DOMException. 2. If [39097]this's [39098]entry list does not [39099]contain a [39100]NavigationHistoryEntry whose [39101]session history entry's [39102]navigation API key equals key, then return an [39103]early error result for an [39104]"InvalidStateError" [39105]DOMException. 3. Return the result of [39106]performing a navigation API traversal given [39107]this, key, and options.

    The back(options) method steps are: 1. If [39108]this's [39109]current entry index is −1 or 0, then return an [39110]early error result for an [39111]"InvalidStateError" [39112]DOMException. 2. Let key be [39113]this's [39114]entry list[[39115]this's [39116]current entry index − 1]'s [39117]session history entry's [39118]navigation API key. 3. Return the result of [39119]performing a navigation API traversal given [39120]this, key, and options.

    The forward(options) method steps are: 1. If [39121]this's [39122]current entry index is −1 or is equal to [39123]this's [39124]entry list's [39125]size − 1, then return an [39126]early error result for an [39127]"InvalidStateError" [39128]DOMException. 2. Let key be [39129]this's [39130]entry list[[39131]this's [39132]current entry index + 1]'s [39133]session history entry's [39134]navigation API key. 3. Return the result of [39135]performing a navigation API traversal given [39136]this, key, and options.

    To perform a navigation API traversal given a [39137]Navigation navigation, a string key, and a [39138]NavigationOptions options: 1. Let document be navigation's [39139]relevant global object's [39140]associated Document. 2. If document is not [39141]fully active, then return an [39142]early error result for an [39143]"InvalidStateError" [39144]DOMException. 3. If document's [39145]unload counter is greater than 0, then return an [39146]early error result for an [39147]"InvalidStateError" [39148]DOMException. 4. Let current be the [39149]current entry of navigation. 5. If key equals current's [39150]session history entry's [39151]navigation API key, then return «[ "[39152]committed" → [39153]a promise resolved with current, "[39154]finished" → [39155]a promise resolved with current ]». 6. If navigation's [39156]upcoming traverse API method trackers[key] [39157]exists, then return a [39158]navigation API method tracker-derived result for navigation's [39159]upcoming traverse API method trackers[key]. 7. Let info be options["[39160]info"], if it [39161]exists; otherwise, undefined. 8. Let apiMethodTracker be the result of [39162]adding an upcoming traverse API method tracker for navigation given key and info. 9. Let navigable be document's [39163]node navigable. 10. Let traversable be navigable's [39164]traversable navigable. 11. Let sourceSnapshotParams be the result of [39165]snapshotting source snapshot params given document. 12. [39166]Append the following session history traversal steps to traversable: 1. Let navigableSHEs be the result of [39167]getting session history entries given navigable. 2. Let targetSHE be the [39168]session history entry in navigableSHEs whose [39169]navigation API key is key. If no such entry exists, then: 1. [39170]Queue a global task on the [39171]navigation and traversal task source given navigation's [39172]relevant global object to [39173]reject the finished promise for apiMethodTracker with an [39174]"InvalidStateError" [39175]DOMException. 2. Abort these steps. This path is taken if navigation's [39176]entry list was outdated compared to navigableSHEs, which can occur for brief periods while all the relevant threads and processes are being synchronized in reaction to a history change. 3. If targetSHE is navigable's [39177]active session history entry, then abort these steps. This can occur if a previously [39178]queued traversal already took us to this [39179]session history entry. In that case the previous traversal will have dealt with apiMethodTracker already. 4. Let result be the result of [39180]applying the traverse history step given by targetSHE's [39181]step to traversable, given sourceSnapshotParams, navigable, and "[39182]none". 5. If result is "canceled-by-beforeunload", then [39183]queue a global task on the [39184]navigation and traversal task source given navigation's [39185]relevant global object to [39186]reject the finished promise for apiMethodTracker with a new [39187]"AbortError" [39188]DOMException created in navigation's [39189]relevant realm. 6. If result is "initiator-disallowed", then [39190]queue a global task on the [39191]navigation and traversal task source given navigation's [39192]relevant global object to [39193]reject the finished promise for apiMethodTracker with a new [39194]"SecurityError" [39195]DOMException created in navigation's [39196]relevant realm. When result is "canceled-by-beforeunload" or "initiator-disallowed", the [39197]navigate event was never fired, [39198]aborting the ongoing navigation would not be correct; it would result in a [39199]navigateerror event without a preceding [39200]navigate event. In the "canceled-by-navigate" case, [39201]navigate is fired, but the [39202]inner navigate event firing algorithm will take care of [39203]aborting the ongoing navigation. 13. Return a [39204]navigation API method tracker-derived result for apiMethodTracker.

    An early error result for an exception e is a [39205]NavigationResult dictionary instance given by «[ "[39206]committed" → [39207]a promise rejected with e, "[39208]finished" → [39209]a promise rejected with e ]».

    A navigation API method tracker-derived result for a [39210]navigation API method tracker is a [39211]NavigationResult dictionary instance given by «[ "[39212]committed" → apiMethodTracker's [39213]committed promise, "[39214]finished" → apiMethodTracker's [39215]finished promise ]».

    7.2.6.8 Ongoing navigation tracking

    During any given navigation (in the [39216]broad sense of the word), the [39217]Navigation object needs to keep track of the following:

    CAPTION: For all navigations

    State Duration Explanation The [39218]NavigateEvent For the duration of event firing So that if the navigation is canceled while the event is firing, we can [39219]cancel the event The event's [39220]abort controller Until all promises returned from handlers passed to [39221]intercept() have settled So that if the navigation is canceled, we can [39222]signal abort Whether a new element was [39223]focused Until all promises returned from handlers passed to [39224]intercept() have settled So that if one was, focus is not [39225]reset The [39226]NavigationHistoryEntry being navigated to From when it is determined, until all promises returned from handlers passed to [39227]intercept() have settled So that we know what to resolve any [39228]committed and [39229]finished promises with Any [39230]finished promise that was returned Until all promises returned from handlers passed to [39231]intercept() have settled So that we can resolve or reject it appropriately

    CAPTION: For non-"[39232]traverse" navigations

    State Duration Explanation Any [39233]state For the duration of event firing So that we can update the current entry's [39234]navigation API state if the event finishes firing without being [39235]canceled

    CAPTION: For "[39236]traverse" navigations

    State Duration Explanation Any [39237]info Until the task is queued to fire the [39238]navigate event So that we can use it to fire the [39239]navigate after the trip through the [39240]session history traversal queue. Any [39241]committed promise that was returned Until the session history is updated (inside that same task) So that we can resolve or reject it appropriately Whether [39242]intercept() was called Until the session history is updated (inside that same task) So that we can suppress the normal scroll restoration logic in favor of the behavior given by the [39243]scroll option

    We also cannot assume there is only a single navigation requested at any given time, due to web developer code such as: const p1 = navigation.navigate(url1).finished; const p2 = navigation.navigate(url2).finished;

    That is, in this scenario, we need to ensure that while navigating to url2, we still have the promise p1 around so that we can reject it. We can't just get rid of any ongoing navigation promises the moment the second call to [39244]navigate() happens.

    We end up accomplishing all this by associating the following with each [39245]Navigation: * Ongoing navigate event, a [39246]NavigateEvent or null, initially null. * Focus changed during ongoing navigation, a boolean, initially false. * Suppress normal scroll restoration during ongoing navigation, a boolean, initially false. * Ongoing API method tracker, a [39247]navigation API method tracker or null, initially null. * Upcoming non-traverse API method tracker, a [39248]navigation API method tracker or null, initially null. * Upcoming traverse API method trackers, an [39249]ordered map from strings to [39250]navigation API method trackers, initially empty.

    The state here that is not stored in [39251]navigation API method trackers is state which needs to be tracked even for navigations that are not initiated via navigation API methods.

    A navigation API method tracker is a [39252]struct with the following [39253]items: * A navigation object, a [39254]Navigation * A key, a string or null * An info, a JavaScript value * A serialized state, a [39255]serialized state or null * A committed-to entry, a [39256]NavigationHistoryEntry or null * A committed promise, a promise * A finished promise, a promise

    All this state is then managed via the following algorithms.

    To maybe set the upcoming non-traverse API method tracker given a [39257]Navigation navigation, a JavaScript value info, and a [39258]serialized state-or-null serializedState: 1. Let committedPromise and finishedPromise be new promises created in navigation's [39259]relevant realm. 2. [39260]Mark as handled finishedPromise. The web developer doesn’t necessarily care about finishedPromise being rejected: + They might only care about committedPromise. + They could be doing multiple synchronous navigations within the same task, in which case all but the last will be aborted (causing their finishedPromise to reject). This could be an application bug, but also could just be an emergent feature of disparate parts of the application overriding each others' actions. + They might prefer to listen to other transition-failure signals instead of finishedPromise, e.g., the [39261]navigateerror event, or the [39262]navigation.transition.finished promise. As such, we mark it as handled to ensure that it never triggers [39263]unhandledrejection events. 3. Let apiMethodTracker be a new [39264]navigation API method tracker with:

    [39265]navigation object navigation

    [39266]key null

    [39267]info info

    [39268]serialized state serializedState

    [39269]committed-to entry null

    [39270]committed promise committedPromise

    [39271]finished promise finishedPromise

    4. [39272]Assert: navigation's [39273]upcoming non-traverse API method tracker is null. 5. If navigation does not [39274]have entries and events disabled, then set navigation's [39275]upcoming non-traverse API method tracker to apiMethodTracker. If navigation [39276]has entries and events disabled, then committedPromise and finishedPromise will never fulfill (since we never create a [39277]NavigationHistoryEntry object for such [39278]Documents, and so we have nothing to resolve them with); there is no [39279]NavigationHistoryEntry to apply serializedState to; and there is no [39280]navigate event to include info with. So, we don't need to track this API method call after all. 6. Return apiMethodTracker.

    To add an upcoming traverse API method tracker given a [39281]Navigation navigation, a string destinationKey, and a JavaScript value info: 1. Let committedPromise and finishedPromise be new promises created in navigation's [39282]relevant realm. 2. [39283]Mark as handled finishedPromise. See the [39284]previous discussion about why this is done. 3. Let apiMethodTracker be a new [39285]navigation API method tracker with:

    [39286]navigation object navigation

    [39287]key destinationKey

    [39288]info info

    [39289]serialized state null

    [39290]committed-to entry null

    [39291]committed promise committedPromise

    [39292]finished promise finishedPromise

    4. Set navigation's [39293]upcoming traverse API method trackers[destinationKey] to apiMethodTracker. 5. Return apiMethodTracker.

    To promote an upcoming API method tracker to ongoing given a [39294]Navigation navigation and a string-or-null destinationKey: 1. [39295]Assert: navigation's [39296]ongoing API method tracker is null. 2. If destinationKey is not null, then: 1. [39297]Assert: navigation's [39298]upcoming non-traverse API method tracker is null. 2. If navigation's [39299]upcoming traverse API method trackers[destinationKey] [39300]exists, then: 1. Set navigation's [39301]ongoing API method tracker to navigation's [39302]upcoming traverse API method trackers[destinationKey]. 2. [39303]Remove navigation's [39304]upcoming traverse API method trackers[destinationKey]. 3. Otherwise: 1. Set navigation's [39305]ongoing API method tracker to navigation's [39306]upcoming non-traverse API method tracker. 2. Set navigation's [39307]upcoming non-traverse API method tracker to null.

    To clean up a [39308]navigation API method tracker apiMethodTracker: 1. Let navigation be apiMethodTracker's [39309]navigation object. 2. If navigation's [39310]ongoing API method tracker is apiMethodTracker, then set navigation's [39311]ongoing API method tracker to null. 3. Otherwise: 1. Let key be apiMethodTracker's [39312]key. 2. [39313]Assert: key is not null. 3. [39314]Assert: navigation's [39315]upcoming traverse API method trackers[key] [39316]exists. 4. [39317]Remove navigation's [39318]upcoming traverse API method trackers[key].

    To notify about the committed-to entry given a [39319]navigation API method tracker apiMethodTracker and a [39320]NavigationHistoryEntry nhe: 1. Set apiMethodTracker's [39321]committed-to entry to nhe. 2. If apiMethodTracker's [39322]serialized state is not null, then set nhe's [39323]session history entry's [39324]navigation API state to apiMethodTracker's [39325]serialized state. If it's null, then we're traversing to nhe via [39326]navigation.traverseTo(), which does not allow changing the state. At this point, apiMethodTracker's [39327]serialized state is no longer needed. Implementations might want to clear it out to avoid keeping it alive for the lifetime of the [39328]navigation API method tracker. 3. Resolve apiMethodTracker's [39329]committed promise with nhe. At this point, apiMethodTracker's [39330]committed promise is only needed in cases where it has not yet been returned to author code. Implementations might want to clear it out to avoid keeping it alive for the lifetime of the [39331]navigation API method tracker.

    To resolve the finished promise for a [39332]navigation API method tracker apiMethodTracker: 1. [39333]Assert: apiMethodTracker's [39334]committed-to entry is not null. 2. Resolve apiMethodTracker's [39335]finished promise with its [39336]committed-to entry. 3. [39337]Clean up apiMethodTracker.

    To reject the finished promise for a [39338]navigation API method tracker apiMethodTracker with a JavaScript value exception: 1. Reject apiMethodTracker's [39339]committed promise with exception. This will do nothing if apiMethodTracker's [39340]committed promise was previously resolved via [39341]notify about the committed-to entry. 2. Reject apiMethodTracker's [39342]finished promise with exception. 3. [39343]Clean up apiMethodTracker.

    To abort the ongoing navigation given a [39344]Navigation navigation and an optional [39345]DOMException error: 1. Let event be navigation's [39346]ongoing navigate event. 2. [39347]Assert: event is not null. 3. Set navigation's [39348]focus changed during ongoing navigation to false. 4. Set navigation's [39349]suppress normal scroll restoration during ongoing navigation to false. 5. If error was not given, then let error be a new [39350]"AbortError" [39351]DOMException created in navigation's [39352]relevant realm. 6. If event's [39353]dispatch flag is set, then set event's [39354]canceled flag to true. 7. [39355]Signal abort on event's [39356]abort controller given error. 8. Set navigation's [39357]ongoing navigate event to null. 9. Let errorInfo be the result of [39358]extracting error information from error. For example, if this algorithm is reached because of a call to [39359]window.stop(), these properties would probably end up initialized based on the line of script that called [39360]window.stop(). But if it's because the user clicked the stop button, these properties would probably end up with default values like the empty string or 0. 10. [39361]Fire an event named [39362]navigateerror at navigation using [39363]ErrorEvent, with additional attributes initialized according to errorInfo. 11. If navigation's [39364]ongoing API method tracker is non-null, then [39365]reject the finished promise for apiMethodTracker with error. 12. If navigation's [39366]transition is not null, then: 1. Reject navigation's [39367]transition's [39368]finished promise with error. 2. Set navigation's [39369]transition to null.

    To inform the navigation API about aborting navigation in a [39370]navigable navigable: 1. If this algorithm is running on navigable's [39371]active window's [39372]relevant agent's [39373]event loop, then continue on to the following steps. Otherwise, [39374]queue a global task on the [39375]navigation and traversal task source given navigable's [39376]active window to run the following steps. 2. Let navigation be navigable's [39377]active window's [39378]navigation API. 3. If navigation's [39379]ongoing navigate event is null, then return. 4. [39380]Abort the ongoing navigation given navigation.

    To inform the navigation API about child navigable destruction given a [39381]navigable navigable: 1. [39382]Inform the navigation API about aborting navigation in navigable. 2. Let navigation be navigable's [39383]active window's [39384]navigation API. 3. Let traversalAPIMethodTrackers be a [39385]clone of navigation's [39386]upcoming traverse API method trackers. 4. [39387]For each apiMethodTracker of traversalAPIMethodTrackers: [39388]reject the finished promise for apiMethodTracker with a new [39389]"AbortError" [39390]DOMException created in navigation's [39391]relevant realm. __________________________________________________________________

    The ongoing navigation concept is most-directly exposed to web developers through the [39392]navigation.transition property, which is an instance of the [39393]NavigationTransition interface: [Exposed=Window] interface NavigationTransition { readonly attribute [39394]NavigationType [39395]navigationType; readonly attribute [39396]NavigationHistoryEntry [39397]from; readonly attribute [39398]Promise [39399]finished; };

    [39400]navigation.[39401]transition A [39402]NavigationTransition representing any ongoing navigation that hasn't yet reached the [39403]navigatesuccess or [39404]navigateerror stage, if one exists; or null, if there is no such transition ongoing.

    Since [39405]navigation.currentEntry (and other properties like [39406]location.href) are updated immediately upon navigation, this [39407]navigation.transition property is useful for determining when such navigations are not yet fully settled, according to any handlers passed to [39408]navigateEvent.intercept().

    [39409]navigation.[39410]transition.[39411]navigationType One of "[39412]push", "[39413]replace", "[39414]reload", or "[39415]traverse", indicating what type of navigation this transition is for.

    [39416]navigation.[39417]transition.[39418]from The [39419]NavigationHistoryEntry from which the transition is coming. This can be useful to compare against [39420]navigation.currentEntry.

    [39421]navigation.[39422]transition.[39423]finished A promise which fulfills at the same time as the [39424]navigatesuccess fires, or rejects at the same time the [39425]navigateerror event fires.

    Each [39426]Navigation has a transition, which is a [39427]NavigationTransition or null, initially null.

    The transition getter steps are to return [39428]this's [39429]transition.

    Each [39430]NavigationTransition has an associated navigation type, which is a [39431]NavigationType.

    Each [39432]NavigationTransition has an associated from entry, which is a [39433]NavigationHistoryEntry.

    Each [39434]NavigationTransition has an associated finished promise, which is a promise.

    The navigationType getter steps are to return [39435]this's [39436]navigation type.

    The from getter steps are to return [39437]this's [39438]from entry.

    The finished getter steps are to return [39439]this's [39440]finished promise.

    7.2.6.9 The [39441]NavigationActivation interface

    [Exposed=Window] interface NavigationActivation { readonly attribute [39442]NavigationHistoryEntry? [39443]from; readonly attribute [39444]NavigationHistoryEntry [39445]entry; readonly attribute [39446]NavigationType [39447]navigationType; };

    [39448]navigation.[39449]activation A [39450]NavigationActivation containing information about the most recent cross-document navigation, the navigation that "activated" this [39451]Document.

    While [39452]navigation.currentEntry and the [39453]Document's [39454]URL can be updated regularly due to same-document navigations, [39455]navigation.activation stays constant, and its properties are only updated if the [39456]Document is [39457]reactivated from history.

    [39458]navigation.[39459]activation.[39460]entry A [39461]NavigationHistoryEntry, equivalent to the value of the [39462]navigation.currentEntry property at the moment the [39463]Document was activated.

    [39464]navigation.[39465]activation.[39466]from A [39467]NavigationHistoryEntry, representing the [39468]Document that was active right before the current [39469]Document. This will have a value null in case the previous [39470]Document was not [39471]same origin with this one or if it was the [39472]initial about:blank [39473]Document.

    There are some cases in which either the [39474]from or [39475]entry [39476]NavigationHistoryEntry objects would not be viable targets for the [39477]traverseTo() method, as they might not be retained in history. For example, the [39478]Document can be activated using [39479]location.replace() or its initial entry could be replaced by [39480]history.replaceState(). However, those entries' [39481]url property and [39482]getState() method are still accessible.

    [39483]navigation.[39484]activation.[39485]navigationType One of "[39486]push", "[39487]replace", "[39488]reload", or "[39489]traverse", indicating what type of navigation activated this [39490]Document.

    Each [39491]Navigation has an associated activation, which is null or a [39492]NavigationActivation object, initially null.

    Each [39493]NavigationActivation has: * old entry, null or a [39494]NavigationHistoryEntry. * new entry, null or a [39495]NavigationHistoryEntry. * navigation type, a [39496]NavigationType.

    The activation getter steps are to return [39497]this's [39498]activation.

    The from getter steps are to return [39499]this's [39500]old entry.

    The entry getter steps are to return [39501]this's [39502]new entry.

    The navigationType getter steps are to return [39503]this's [39504]navigation type.

    7.2.6.10 The [39505]navigate event

    A major feature of the navigation API is the [39506]navigate event. This event is fired on any navigation (in the [39507]broad sense of the word), allowing web developers to monitor such outgoing navigations. In many cases, the event is [39508]cancelable, which allows preventing the navigation from happening. And in others, the navigation can be intercepted and replaced with a same-document navigation by using the [39509]intercept() method of the [39510]NavigateEvent class.

    7.2.6.10.1 The [39511]NavigateEvent interface

    [Exposed=Window] interface NavigateEvent : [39512]Event { constructor(DOMString type, [39513]NavigateEventInit eventInitDict);

    readonly attribute [39514]NavigationType [39515]navigationType; readonly attribute [39516]NavigationDestination [39517]destination; readonly attribute boolean [39518]canIntercept; readonly attribute boolean [39519]userInitiated; readonly attribute boolean [39520]hashChange; readonly attribute [39521]AbortSignal [39522]signal; readonly attribute [39523]FormData? [39524]formData; readonly attribute DOMString? [39525]downloadRequest; readonly attribute any [39526]info; readonly attribute boolean [39527]hasUAVisualTransition; readonly attribute Element? [39528]sourceElement;

    undefined [39529]intercept(optional [39530]NavigationInterceptOptions options = {}); undefined [39531]scroll(); };

    dictionary NavigateEventInit : [39532]EventInit { [39533]NavigationType navigationType = "[39534]push"; required [39535]NavigationDestination destination; boolean canIntercept = false; boolean userInitiated = false; boolean hashChange = false; required [39536]AbortSignal signal; [39537]FormData? formData = null; DOMString? downloadRequest = null; any info; boolean hasUAVisualTransition = false; Element? sourceElement = null; };

    dictionary NavigationInterceptOptions { [39538]NavigationInterceptHandler handler; [39539]NavigationFocusReset focusReset; [39540]NavigationScrollBehavior scroll; };

    enum NavigationFocusReset { "after-transition", "manual" };

    enum NavigationScrollBehavior { "after-transition", "manual" };

    callback NavigationInterceptHandler = [39541]Promise ();

    event.[39542]navigationType One of "[39543]push", "[39544]replace", "[39545]reload", or "[39546]traverse", indicating what type of navigation this is.

    event.[39547]destination A [39548]NavigationDestination representing the destination of the navigation.

    event.[39549]canIntercept True if [39550]intercept() can be called to intercept this navigation and convert it into a same-document navigation, replacing its usual behavior; false otherwise.

    Generally speaking, this will be true whenever the current [39551]Document [39552]can have its URL rewritten to the destination URL, except for in the case of cross-document "[39553]traverse" navigations, where it will always be false.

    event.[39554]userInitiated True if this navigation was due to a user clicking on an [39555]a element, submitting a [39556]form element, or using the [39557]browser UI to navigate; false otherwise.

    event.[39558]hashChange True for a [39559]fragment navigation; false otherwise.

    event.[39560]signal An [39561]AbortSignal which will become aborted if the navigation gets canceled, e.g., by the user pressing their browser's "Stop" button, or by another navigation interrupting this one.

    The expected pattern is for developers to pass this along to any async operations, such as [39562]fetch(), which they perform as part of handling this navigation.

    event.[39563]formData The [39564]FormData representing the submitted form entries for this navigation, if this navigation is a "[39565]push" or "[39566]replace" navigation representing a POST [39567]form submission; null otherwise.

    (Notably, this will be null even for "[39568]reload" or "[39569]traverse" navigations that are revisiting a [39570]session history entry that was originally created from a form submission.)

    event.[39571]downloadRequest Represents whether or not this navigation was requested to be a download, by using an [39572]a or [39573]area element's [39574]download attribute:

    + If a download was not requested, then this property is null. + If a download was requested, returns the filename that was supplied as the [39575]download attribute's value. (This could be the empty string.)

    Note that a download being requested does not always mean that a download will happen: for example, a download might be blocked by browser security policies, or end up being treated as a "[39576]push" navigation for [39577]unspecified reasons.

    Similarly, a navigation might end up being a download even if it was not requested to be one, due to the destination server responding with a `[39578]Content-Disposition: attachment` header.

    Finally, note that the [39579]navigate event will not fire at all for downloads initiated using browser UI affordances, e.g., those created by right-clicking and choosing to save the target of a link.

    event.[39580]info An arbitrary JavaScript value passed via one of the [39581]navigation API methods which initiated this navigation, or undefined if the navigation was initiated by the user or by a different API.

    event.[39582]hasUAVisualTransition Returns true if the user agent performed a visual transition for this navigation before dispatching this event. If true, the best user experience will be given if the author synchronously updates the DOM to the post-navigation state.

    event.[39583]sourceElement Returns the [39584]Element responsible for this navigation. This can be an [39585]aor [39586]area element, a [39587]submit button, or a submitted [39588]form element.

    event.[39589]intercept({ [39590]handler, [39591]focusReset, [39592]scroll }) Intercepts this navigation, preventing its normal handling and instead converting it into a same-document navigation of the same type to the destination URL.

    The [39593]handler option can be a function that returns a promise. The handler function will run after the [39594]navigate event has finished firing, and the [39595]navigation.currentEntry property has been synchronously updated. This returned promise is used to signal the duration, and success or failure, of the navigation. After it settles, the browser signals to the user (e.g., via a loading spinner UI, or assistive technology) that the navigation is finished. Additionally, it fires [39596]navigatesuccess or [39597]navigateerror events as appropriate, which other parts of the web application can respond to.

    By default, using this method will cause focus to reset when any handlers' returned promises settle. Focus will be reset to the first element with the [39598]autofocus attribute set, or [39599]the body element if the attribute isn't present. The [39600]focusReset option can be set to "[39601]manual" to avoid this behavior.

    By default, using this method will delay the browser's scroll restoration logic for "[39602]traverse" or "[39603]reload" navigations, or its scroll-reset/scroll-to-a-fragment logic for "[39604]push" or "[39605]replace" navigations, until any handlers' returned promises settle. The [39606]scroll option can be set to "[39607]manual" to turn off any browser-driven scroll behavior entirely for this navigation, or [39608]scroll() can be called before the promise settles to trigger this behavior early.

    This method will throw a [39609]"SecurityError" [39610]DOMException if [39611]canIntercept is false, or if [39612]isTrusted is false. It will throw an [39613]"InvalidStateError" [39614]DOMException if not called synchronously, during event dispatch.

    event.[39615]scroll() For "[39616]traverse" or "[39617]reload" navigations, restores the scroll position using the browser's usual scroll restoration logic.

    For "[39618]push" or "[39619]replace" navigations, either resets the scroll position to the top of the document or scrolls to the [39620]fragment specified by [39621]destination.url if there is one.

    If called more than once, or called after automatic post-transition scroll processing has happened due to the [39622]scroll option being left as "[39623]after-transition", or called before the navigation has committed, this method will throw an [39624]"InvalidStateError" [39625]DOMException.

    Each [39626]NavigateEvent has an interception state, which is either "none", "intercepted", "committed", "scrolled", or "finished", initially "none".

    Each [39627]NavigateEvent has a navigation handler list, a [39628]list of [39629]NavigationInterceptHandler callbacks, initially empty.

    Each [39630]NavigateEvent has a focus reset behavior, a [39631]NavigationFocusReset-or-null, initially null.

    Each [39632]NavigateEvent has a scroll behavior, a [39633]NavigationScrollBehavior-or-null, initially null.

    Each [39634]NavigateEvent has an abort controller, an [39635]AbortController-or-null, initially null.

    Each [39636]NavigateEvent has a classic history API state, a [39637]serialized state or null. It is only used in some cases where the event's [39638]navigationType is "[39639]push" or "[39640]replace", and is set appropriately when the event is [39641]fired.

    The navigationType, destination, canIntercept, userInitiated, hashChange, signal, formData, downloadRequest, info, hasUAVisualTransition, and sourceElement attributes must return the values they are initialized to.

    The intercept(options) method steps are: 1. [39642]Perform shared checks given [39643]this. 2. If [39644]this's [39645]canIntercept attribute was initialized to false, then throw a [39646]"SecurityError" [39647]DOMException. 3. If [39648]this's [39649]dispatch flag is unset, then throw an [39650]"InvalidStateError" [39651]DOMException. 4. [39652]Assert: [39653]this's [39654]interception state is either "none" or "intercepted". 5. Set [39655]this's [39656]interception state to "intercepted". 6. If options["[39657]handler"] [39658]exists, then [39659]append it to [39660]this's [39661]navigation handler list. 7. If options["[39662]focusReset"] [39663]exists, then: 1. If [39664]this's [39665]focus reset behavior is not null, and it is not equal to options["[39666]focusReset"], then the user agent may [39667]report a warning to the console indicating that the [39668]focusReset option for a previous call to [39669]intercept() was overridden by this new value, and the previous value will be ignored. 2. Set [39670]this's [39671]focus reset behavior to options["[39672]focusReset"]. 8. If options["[39673]scroll"] [39674]exists, then: 1. If [39675]this's [39676]scroll behavior is not null, and it is not equal to options["[39677]scroll"], then the user agent may [39678]report a warning to the console indicating that the [39679]scroll option for a previous call to [39680]intercept() was overridden by this new value, and the previous value will be ignored. 2. Set [39681]this's [39682]scroll behavior to options["[39683]scroll"].

    The scroll() method steps are: 1. [39684]Perform shared checks given [39685]this. 2. If [39686]this's [39687]interception state is not "committed", then throw an [39688]"InvalidStateError" [39689]DOMException. 3. [39690]Process scroll behavior given [39691]this.

    To perform shared checks for a [39692]NavigateEvent event: 1. If event's [39693]relevant global object's [39694]associated Document is not [39695]fully active, then throw an [39696]"InvalidStateError" [39697]DOMException. 2. If event's [39698]isTrusted attribute was initialized to false, then throw a [39699]"SecurityError" [39700]DOMException. 3. If event's [39701]canceled flag is set, then throw an [39702]"InvalidStateError" [39703]DOMException.

    7.2.6.10.2 The [39704]NavigationDestination interface

    [Exposed=Window] interface NavigationDestination { readonly attribute USVString [39705]url; readonly attribute DOMString [39706]key; readonly attribute DOMString [39707]id; readonly attribute long long [39708]index; readonly attribute boolean [39709]sameDocument;

    any [39710]getState(); };

    event.[39711]destination.[39712]url The URL being navigated to.

    event.[39713]destination.[39714]key The value of the [39715]key property of the destination [39716]NavigationHistoryEntry, if this is a "[39717]traverse" navigation, or the empty string otherwise.

    event.[39718]destination.[39719]id The value of the [39720]id property of the destination [39721]NavigationHistoryEntry, if this is a "[39722]traverse" navigation, or the empty string otherwise.

    event.[39723]destination.[39724]index The value of the [39725]index property of the destination [39726]NavigationHistoryEntry, if this is a "[39727]traverse" navigation, or −1 otherwise.

    event.[39728]destination.[39729]sameDocument Indicates whether or not this navigation is to the same [39730]Document as the current one, or not. This will be true, for example, in the case of fragment navigations or [39731]history.pushState() navigations.

    Note that this property indicates the original nature of the navigation. If a cross-document navigation is converted into a same-document navigation using [39732]navigateEvent.intercept(), that will not change the value of this property.

    event.[39733]destination.[39734]getState() For "[39735]traverse" navigations, returns the [39736]deserialization of the state stored in the destination [39737]session history entry.

    For "[39738]push" or "[39739]replace" navigations, returns the [39740]deserialization of the state passed to [39741]navigation.navigate(), if the navigation was initiated by that method, or undefined it if it wasn't.

    For "[39742]reload" navigations, returns the [39743]deserialization of the state passed to [39744]navigation.reload(), if the reload was initiated by that method, or undefined it if it wasn't.

    Each [39745]NavigationDestination has a URL, which is a [39746]URL.

    Each [39747]NavigationDestination has an entry, which is a [39748]NavigationHistoryEntry or null.

    It will be non-null if and only if the [39749]NavigationDestination corresponds to a "[39750]traverse" navigation.

    Each [39751]NavigationDestination has a state, which is a [39752]serialized state.

    Each [39753]NavigationDestination has an is same document, which is a boolean. __________________________________________________________________

    The url getter steps are to return [39754]this's [39755]URL, [39756]serialized.

    The key getter steps are: 1. If [39757]this's [39758]entry is null, then return the empty string. 2. Return [39759]this's [39760]entry's [39761]key.

    The id getter steps are: 1. If [39762]this's [39763]entry is null, then return the empty string. 2. Return [39764]this's [39765]entry's [39766]ID.

    The index getter steps are: 1. If [39767]this's [39768]entry is null, then return −1. 2. Return [39769]this's [39770]entry's [39771]index.

    The sameDocument getter steps are to return [39772]this's [39773]is same document.

    The getState() method steps are to return [39774]StructuredDeserialize([39775]this's [39776]state).

    7.2.6.10.3 Firing the event

    Other parts of the standard fire the [39777]navigate event, through a series of wrapper algorithms given in this section.

    To fire a traverse navigate event at a [39778]Navigation navigation given a [39779]session history entry destinationSHE and an optional [39780]user navigation involvement userInvolvement (default "[39781]none"): 1. Let event be the result of [39782]creating an event given [39783]NavigateEvent, in navigation's [39784]relevant realm. 2. Set event's [39785]classic history API state to null. 3. Let destination be a [39786]new [39787]NavigationDestination created in navigation's [39788]relevant realm. 4. Set destination's [39789]URL to destinationSHE's [39790]URL. 5. Let destinationNHE be the [39791]NavigationHistoryEntry in navigation's [39792]entry list whose [39793]session history entry is destinationSHE, or null if no such [39794]NavigationHistoryEntry exists. 6. If destinationNHE is non-null, then: 1. Set destination's [39795]entry to destinationNHE. 2. Set destination's [39796]state to destinationSHE's [39797]navigation API state. 7. Otherwise, 1. Set destination's [39798]entry to null. 2. Set destination's [39799]state to [39800]StructuredSerializeForStorage(null). 8. Set destination's [39801]is same document to true if destinationSHE's [39802]document is equal to navigation's [39803]relevant global object's [39804]associated Document; otherwise false. 9. Return the result of performing the [39805]inner navigate event firing algorithm given navigation, "[39806]traverse", event, destination, userInvolvement, null, null, and null.

    To fire a push/replace/reload navigate event at a [39807]Navigation navigation given a [39808]NavigationType navigationType, a [39809]URL destinationURL, a boolean isSameDocument, an optional [39810]user navigation involvement userInvolvement (default "[39811]none"), an optional [39812]Element-or-null sourceElement (default null), an optional [39813]entry list-or-null formDataEntryList (default null), an optional [39814]serialized state navigationAPIState (default [39815]StructuredSerializeForStorage(null)), and an optional [39816]serialized state-or-null classicHistoryAPIState (default null): 1. Let event be the result of [39817]creating an event given [39818]NavigateEvent, in navigation's [39819]relevant realm. 2. Set event's [39820]classic history API state to classicHistoryAPIState. 3. Let destination be a [39821]new [39822]NavigationDestination created in navigation's [39823]relevant realm. 4. Set destination's [39824]URL to destinationURL. 5. Set destination's [39825]entry to null. 6. Set destination's [39826]state to navigationAPIState. 7. Set destination's [39827]is same document to isSameDocument. 8. Return the result of performing the [39828]inner navigate event firing algorithm given navigation, navigationType, event, destination, userInvolvement, sourceElement, formDataEntryList, and null.

    To fire a download request navigate event at a [39829]Navigation navigation given a [39830]URL destinationURL, a [39831]user navigation involvement userInvolvement, an [39832]Element-or-null sourceElement, and a string filename: 1. Let event be the result of [39833]creating an event given [39834]NavigateEvent, in navigation's [39835]relevant realm. 2. Set event's [39836]classic history API state to null. 3. Let destination be a [39837]new [39838]NavigationDestination created in navigation's [39839]relevant realm. 4. Set destination's [39840]URL to destinationURL. 5. Set destination's [39841]entry to null. 6. Set destination's [39842]state to [39843]StructuredSerializeForStorage(null). 7. Set destination's [39844]is same document to false. 8. Return the result of performing the [39845]inner navigate event firing algorithm given navigation, "[39846]push", event, destination, userInvolvement, sourceElement, null, and filename.

    The inner navigate event firing algorithm consists of the following steps, given a [39847]Navigation navigation, a [39848]NavigationType navigationType, a [39849]NavigateEvent event, a [39850]NavigationDestination destination, a [39851]user navigation involvement userInvolvement, an [39852]Element-or-null sourceElement, an [39853]entry list-or-null formDataEntryList, and a string-or-null downloadRequestFilename: 1. If navigation [39854]has entries and events disabled, then: 1. [39855]Assert: navigation's [39856]ongoing API method tracker is null. 2. [39857]Assert: navigation's [39858]upcoming non-traverse API method tracker is null. 3. [39859]Assert: navigation's [39860]upcoming traverse API method trackers [39861]is empty. 4. Return true. These assertions holds because [39862]traverseTo(), [39863]back(), and [39864]forward() will immediately fail when entries and events are disabled (since there are no entries to traverse to), and if our starting point is instead [39865]navigate() or [39866]reload(), then we [39867]avoided setting the [39868]upcoming non-traverse API method tracker in the first place. 2. Let destinationKey be null. 3. If destination's [39869]entry is non-null, then set destinationKey to destination's [39870]entry's [39871]key. 4. [39872]Assert: destinationKey is not the empty string. 5. [39873]Promote an upcoming API method tracker to ongoing given navigation and destinationKey. 6. Let apiMethodTracker be navigation's [39874]ongoing API method tracker. 7. Let navigable be navigation's [39875]relevant global object's [39876]navigable. 8. Let document be navigation's [39877]relevant global object's [39878]associated Document. 9. If document [39879]can have its URL rewritten to destination's [39880]URL, and either destination's [39881]is same document is true or navigationType is not "[39882]traverse", then initialize event's [39883]canIntercept to true. Otherwise, initialize it to false. 10. Let traverseCanBeCanceled be true if all of the following are true: + navigable is a [39884]top-level traversable; + destination's [39885]is same document is true; and + either userInvolvement is not "[39886]browser UI", or navigation's [39887]relevant global object has [39888]history-action activation. Otherwise, let it be false. 11. If either: + navigationType is not "[39889]traverse"; or + traverseCanBeCanceled is true, then initialize event's [39890]cancelable to true. Otherwise, initialize it to false. 12. Initialize event's [39891]type to "[39892]navigate". 13. Initialize event's [39893]navigationType to navigationType. 14. Initialize event's [39894]destination to destination. 15. Initialize event's [39895]downloadRequest to downloadRequestFilename. 16. If apiMethodTracker is not null, then initialize event's [39896]info to apiMethodTracker's [39897]info. Otherwise, initialize it to undefined. At this point apiMethodTracker's [39898]info is no longer needed and can be nulled out instead of keeping it alive for the lifetime of the [39899]navigation API method tracker. 17. Initialize event's [39900]hasUAVisualTransition to true if a visual transition, to display a cached rendered state of the document's [39901]latest entry, was done by the user agent. Otherwise, initialize it to false. 18. Initialize event's [39902]sourceElement to sourceElement. 19. Set event's [39903]abort controller to a [39904]new [39905]AbortController created in navigation's [39906]relevant realm. 20. Initialize event's [39907]signal to event's [39908]abort controller's [39909]signal. 21. Let currentURL be document's [39910]URL. 22. If all of the following are true: + event's [39911]classic history API state is null; + destination's [39912]is same document is true; + destination's [39913]URL [39914]equals currentURL with [39915]exclude fragments set to true; and + destination's [39916]URL's [39917]fragment is not [39918]identical to currentURL's [39919]fragment, then initialize event's [39920]hashChange to true. Otherwise, initialize it to false. The first condition here means that [39921]hashChange will be true for [39922]fragment navigations, but false for cases like history.pushState(undefined, "", "#fragment"). 23. If userInvolvement is not "[39923]none", then initialize event's [39924]userInitiated to true. Otherwise, initialize it to false. 24. If formDataEntryList is not null, then initialize event's [39925]formData to a [39926]new [39927]FormData created in navigation's [39928]relevant realm, associated to formDataEntryList. Otherwise, initialize it to null. 25. [39929]Assert: navigation's [39930]ongoing navigate event is null. 26. Set navigation's [39931]ongoing navigate event to event. 27. Set navigation's [39932]focus changed during ongoing navigation to false. 28. Set navigation's [39933]suppress normal scroll restoration during ongoing navigation to false. 29. Let dispatchResult be the result of [39934]dispatching event at navigation. 30. If dispatchResult is false: 1. If navigationType is "[39935]traverse", then [39936]consume history-action user activation given navigation's [39937]relevant global object. 2. If event's [39938]abort controller's [39939]signal is not [39940]aborted, then [39941]abort the ongoing navigation given navigation. 3. Return false. 31. Let endResultIsSameDocument be true if event's [39942]interception state is not "none" or event's [39943]destination's [39944]is same document is true. 32. [39945]Prepare to run script given navigation's [39946]relevant settings object. This is done to avoid the [39947]JavaScript execution context stack becoming empty right after any [39948]currententrychange event handlers run as a result of the [39949]URL and history update steps that could soon happen. If the stack were to become empty at that time, then it would immediately [39950]perform a microtask checkpoint, causing various promise fulfillment handlers to run interleaved with the event handlers and before any handlers passed to [39951]navigateEvent.intercept(). This is undesirable since it means promise handler ordering vs. [39952]currententrychange event handler ordering vs. [39953]intercept() handler ordering would be dependent on whether the navigation is happening with an empty [39954]JavaScript execution context stack (e.g., because the navigation was user-initiated) or with a nonempty one (e.g., because the navigation was caused by a JavaScript API call). By inserting an otherwise-unnecessary [39955]JavaScript execution context onto the stack in this step, we essentially suppress the [39956]perform a microtask checkpoint algorithm until later, thus ensuring that the sequence is always: [39957]currententrychange event handlers, then [39958]intercept() handlers, then promise handlers. 33. If event's [39959]interception state is not "none": 1. Set event's [39960]interception state to "committed". 2. Let fromNHE be the [39961]current entry of navigation. 3. [39962]Assert: fromNHE is not null. 4. Set navigation's [39963]transition to a [39964]new [39965]NavigationTransition created in navigation's [39966]relevant realm, whose [39967]navigation type is navigationType, whose [39968]from entry is fromNHE, and whose [39969]finished promise is a new promise created in navigation's [39970]relevant realm. 5. [39971]Mark as handled navigation's [39972]transition's [39973]finished promise. See the [39974]discussion about other finished promises to understand why this is done. 6. If navigationType is "[39975]traverse", then set navigation's [39976]suppress normal scroll restoration during ongoing navigation to true. If event's [39977]scroll behavior was set to "[39978]after-transition", then scroll restoration will happen as part of [39979]finishing the relevant [39980]NavigateEvent. Otherwise, there will be no scroll restoration. That is, no navigation which is intercepted by [39981]intercept() goes through the normal scroll restoration process; scroll restoration for such navigations is either done manually, by the web developer, or is done after the transition. 7. If navigationType is "[39982]push" or "[39983]replace", then run the [39984]URL and history update steps given document and event's [39985]destination's [39986]URL, with [39987]serializedData set to event's [39988]classic history API state and [39989]historyHandling set to navigationType. 8. Otherwise, if navigationType is "[39990]reload", then [39991]update the navigation API entries for a same-document navigation given navigation, navigable's [39992]active session history entry, and "[39993]reload". If navigationType is "[39994]traverse", then this event firing is happening as part of [39995]the traversal process, and that process will take care of performing the appropriate session history entry updates. 34. If endResultIsSameDocument is true: 1. Let promisesList be an empty [39996]list. 2. [39997]For each handler of event's [39998]navigation handler list: 1. [39999]Append the result of [40000]invoking handler with an empty arguments list to promisesList. 3. If promisesList's [40001]size is 0, then set promisesList to « [40002]a promise resolved with undefined ». There is a subtle timing difference between how [40003]waiting for all schedules its success and failure steps when given zero promises versus ≥1 promises. For most uses of [40004]waiting for all, this does not matter. However, with this API, there are so many events and promise handlers which could fire around the same time that the difference is pretty easily observable: it can cause the event/promise handler sequence to vary. (Some of the events and promises involved include: [40005]navigatesuccess / [40006]navigateerror, [40007]currententrychange, [40008]dispose, apiMethodTracker's promises, and the [40009]navigation.transition.finished promise.) 4. [40010]Wait for all of promisesList, with the following success steps: 1. If event's [40011]relevant global object's [40012]associated Document is not [40013]fully active, then abort these steps. 2. If event's [40014]abort controller's [40015]signal is [40016]aborted, then abort these steps. 3. [40017]Assert: event equals navigation's [40018]ongoing navigate event. 4. Set navigation's [40019]ongoing navigate event to null. 5. [40020]Finish event given true. 6. [40021]Fire an event named [40022]navigatesuccess at navigation. 7. If apiMethodTracker is non-null, then [40023]resolve the finished promise for apiMethodTracker. 8. If navigation's [40024]transition is not null, then resolve navigation's [40025]transition's [40026]finished promise with undefined. 9. Set navigation's [40027]transition to null. and the following failure steps given reason rejectionReason: 1. If event's [40028]relevant global object's [40029]associated Document is not [40030]fully active, then abort these steps. 2. If event's [40031]abort controller's [40032]signal is [40033]aborted, then abort these steps. 3. [40034]Assert: event equals navigation's [40035]ongoing navigate event. 4. Set navigation's [40036]ongoing navigate event to null. 5. [40037]Finish event given false. 6. Let errorInfo be the result of [40038]extracting error information from rejectionReason. 7. [40039]Fire an event named [40040]navigateerror at navigation using [40041]ErrorEvent, with additional attributes initialized according to errorInfo. 8. If apiMethodTracker is non-null, then [40042]reject the finished promise for apiMethodTracker with rejectionReason. 9. If navigation's [40043]transition is not null, then reject navigation's [40044]transition's [40045]finished promise with rejectionReason. 10. Set navigation's [40046]transition to null. 35. Otherwise, if apiMethodTracker is non-null, then [40047]clean up apiMethodTracker. 36. [40048]Clean up after running script given navigation's [40049]relevant settings object. Per the [40050]previous note, this stops suppressing any potential promise handler microtasks, causing them to run at this point or later. 37. If event's [40051]interception state is "none", then return true. 38. Return false.

    7.2.6.10.4 Scroll and focus behavior

    By calling [40052]navigateEvent.intercept(), web developers can suppress the normal scroll and focus behavior for same-document navigations, instead invoking cross-document navigation-like behavior at a later time. The algorithms in this section are called at those appropriate later points.

    To finish a [40053]NavigateEvent event, given a boolean didFulfill: 1. [40054]Assert: event's [40055]interception state is not "intercepted" or "finished". 2. If event's [40056]interception state is "none", then return. 3. [40057]Potentially reset the focus given event. 4. If didFulfill is true, then [40058]potentially process scroll behavior given event. 5. Set event's [40059]interception state to "finished".

    To potentially reset the focus given a [40060]NavigateEvent event: 1. [40061]Assert: event's [40062]interception state is "committed" or "scrolled". 2. Let navigation be event's [40063]relevant global object's [40064]navigation API. 3. Let focusChanged be navigation's [40065]focus changed during ongoing navigation. 4. Set navigation's [40066]focus changed during ongoing navigation to false. 5. If focusChanged is true, then return. 6. If event's [40067]focus reset behavior is "[40068]manual", then return. If it was left as null, then we treat that as "[40069]after-transition", and continue onward. 7. Let document be event's [40070]relevant global object's [40071]associated Document. 8. Let focusTarget be the [40072]autofocus delegate for document. 9. If focusTarget is null, then set focusTarget to document's [40073]body element. 10. If focusTarget is null, then set focusTarget to document's [40074]document element. 11. Run the [40075]focusing steps for focusTarget, with document's [40076]viewport as the fallback target. 12. Move the [40077]sequential focus navigation starting point to focusTarget.

    To potentially process scroll behavior given a [40078]NavigateEvent event: 1. [40079]Assert: event's [40080]interception state is "committed" or "scrolled". 2. If event's [40081]interception state is "scrolled", then return. 3. If event's [40082]scroll behavior is "[40083]manual", then return. If it was left as null, then we treat that as "[40084]after-transition", and continue onward. 4. [40085]Process scroll behavior given event.

    To process scroll behavior given a [40086]NavigateEvent event: 1. [40087]Assert: event's [40088]interception state is "committed". 2. Set event's [40089]interception state to "scrolled". 3. If event's [40090]navigationType was initialized to "[40091]traverse" or "[40092]reload", then [40093]restore scroll position data given event's [40094]relevant global object's [40095]navigable's [40096]active session history entry. 4. Otherwise: 1. Let document be event's [40097]relevant global object's [40098]associated Document. 2. If document's [40099]indicated part is null, then [40100]scroll to the beginning of the document given document. [40101][CSSOMVIEW] 3. Otherwise, [40102]scroll to the fragment given document.

    7.2.7 Event interfaces

    The [40103]NavigateEvent interface has [40104]its own dedicated section, due to its complexity.

    7.2.7.1 The [40105]NavigationCurrentEntryChangeEvent interface

    [Exposed=Window] interface NavigationCurrentEntryChangeEvent : [40106]Event { constructor(DOMString type, [40107]NavigationCurrentEntryChangeEventInit event InitDict);

    readonly attribute [40108]NavigationType? [40109]navigationType; readonly attribute [40110]NavigationHistoryEntry [40111]from; };

    dictionary NavigationCurrentEntryChangeEventInit : [40112]EventInit { [40113]NavigationType? navigationType = null; required [40114]NavigationHistoryEntry from; };

    event.[40115]navigationType Returns the type of navigation which caused the current entry to change, or null if the change is due to [40116]navigation.updateCurrentEntry().

    event.[40117]from Returns the previous value of [40118]navigation.currentEntry, before the current entry changed.

    If [40119]navigationType is null or "[40120]reload", then this value will be the same as [40121]navigation.currentEntry. In that case, the event signifies that the contents of the entry changed, even if we did not move to a new entry or replace the current one.

    The navigationType and from attributes must return the values they were initialized to.

    7.2.7.2 The [40122]PopStateEvent interface

    (BUTTON) ✔MDN

    [40123]PopStateEvent/PopStateEvent

    Support in all current engines. Firefox11+Safari6+Chrome16+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)14+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [40124]PopStateEvent

    Support in all current engines. Firefox4+Safari6+Chrome4+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [Exposed=Window] interface PopStateEvent : [40125]Event { constructor(DOMString type, optional [40126]PopStateEventInit eventInitDict = {});

    readonly attribute any [40127]state; readonly attribute boolean [40128]hasUAVisualTransition; };

    dictionary PopStateEventInit : [40129]EventInit { any state = null; boolean hasUAVisualTransition = false; };

    event.[40130]state

    (BUTTON) ✔MDN

    [40131]PopStateEvent/state

    Support in all current engines.

    Firefox4+Safari6+Chrome4+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns a copy of the information that was provided to [40132]pushState() or [40133]replaceState().

    event.[40134]hasUAVisualTransition Returns true if the user agent performed a visual transition for this navigation before dispatching this event. If true, the best user experience will be given if the author synchronously updates the DOM to the post-navigation state.

    The state attribute must return the value it was initialized to. It represents the context information for the event, or null, if the state represented is the initial state of the [40135]Document.

    The hasUAVisualTransition attribute must return the value it was initialized to.

    7.2.7.3 The [40136]HashChangeEvent interface

    (BUTTON) ✔MDN

    [40137]HashChangeEvent/HashChangeEvent

    Support in all current engines. Firefox11+Safari6+Chrome16+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [40138]HashChangeEvent

    Support in all current engines. Firefox3.6+Safari5+Chrome8+ __________________________________________________________________

    Opera10.6+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer8+ __________________________________________________________________

    Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11+

    [Exposed=Window] interface HashChangeEvent : [40139]Event { constructor(DOMString type, optional [40140]HashChangeEventInit eventInitDict = {});

    readonly attribute USVString [40141]oldURL; readonly attribute USVString [40142]newURL; };

    dictionary HashChangeEventInit : [40143]EventInit { USVString oldURL = ""; USVString newURL = ""; };

    event.[40144]oldURL

    (BUTTON) ✔MDN

    [40145]HashChangeEvent/oldURL

    Support in all current engines.

    Firefox6+Safari5.1+Chrome8+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [40146]URL of the [40147]session history entry that was previously current.

    event.[40148]newURL

    (BUTTON) ✔MDN

    [40149]HashChangeEvent/newURL

    Support in all current engines.

    Firefox6+Safari5.1+Chrome8+ ___________________________________________________________

    Opera12.1+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the [40150]URL of the [40151]session history entry that is now current.

    The oldURL attribute must return the value it was initialized to. It represents context information for the event, specifically the URL of the [40152]session history entry that was traversed from.

    The newURL attribute must return the value it was initialized to. It represents context information for the event, specifically the URL of the [40153]session history entry that was traversed to.

    7.2.7.4 The [40154]PageSwapEvent interface

    [Exposed=Window] interface PageSwapEvent : [40155]Event { constructor(DOMString type, optional [40156]PageSwapEventInit eventInitDict = {}); readonly attribute [40157]NavigationActivation? [40158]activation; readonly attribute [40159]ViewTransition? [40160]viewTransition; };

    dictionary PageSwapEventInit : [40161]EventInit { [40162]NavigationActivation? activation = null; [40163]ViewTransition? viewTransition = null; };

    event.[40164]activation A [40165]NavigationActivation object representing the destination and type of the cross-document navigation. This would be null for cross-origin navigations.

    event.[40166]activation.[40167]entry A [40168]NavigationHistoryEntry, representing the [40169]Document that is about to become active.

    event.[40170]activation.[40171]from A [40172]NavigationHistoryEntry, equivalent to the value of the [40173]navigation.currentEntry property at the moment the event is fired.

    event.[40174]activation.[40175]navigationType One of "[40176]push", "[40177]replace", "[40178]reload", or "[40179]traverse", indicating what type of navigation that is about to result in a page swap.

    event.[40180]viewTransition Returns the [40181]ViewTransition object that represents an outbound cross-document view transition, if such transition is active when the event is fired. Otherwise, returns null.

    The activation and viewTransition attributes must return the values they were initialized to.

    7.2.7.5 The [40182]PageRevealEvent interface

    [Exposed=Window] interface PageRevealEvent : [40183]Event { constructor(DOMString type, optional [40184]PageRevealEventInit eventInitDict = {}); readonly attribute [40185]ViewTransition? [40186]viewTransition; };

    dictionary PageRevealEventInit : [40187]EventInit { [40188]ViewTransition? viewTransition = null; };

    event.[40189]viewTransition Returns the [40190]ViewTransition object that represents an inbound cross-document view transition, if such transition is active when the event is fired. Otherwise, returns null.

    The viewTransition attribute must return the value it was initialized to.

    7.2.7.6 The [40191]PageTransitionEvent interface

    (BUTTON) ✔MDN

    [40192]PageTransitionEvent/PageTransitionEvent

    Support in all current engines. Firefox11+Safari6+Chrome16+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [40193]PageTransitionEvent

    Support in all current engines. Firefox1.5+Safari5+Chrome4+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer11 __________________________________________________________________

    Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android?

    [Exposed=Window] interface PageTransitionEvent : [40194]Event { constructor(DOMString type, optional [40195]PageTransitionEventInit eventInitD ict = {});

    readonly attribute boolean [40196]persisted; };

    dictionary PageTransitionEventInit : [40197]EventInit { boolean persisted = false; };

    event.[40198]persisted

    (BUTTON) ✔MDN

    [40199]PageTransitionEvent/persisted

    Support in all current engines.

    Firefox11+Safari5+Chrome4+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer11 ___________________________________________________________

    Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android? For the [40200]pageshow event, returns false if the page is newly being loaded (and the [40201]load event will fire). Otherwise, returns true.

    For the [40202]pagehide event, returns false if the page is going away for the last time. Otherwise, returns true, meaning that the page might be reused if the user navigates back to this page (if the [40203]Document's [40204]salvageable state stays true).

    Things that can cause the page to be unsalvageable include:

    + The user agent decided to not keep the [40205]Document alive in a [40206]session history entry after [40207]unload + Having [40208]iframes that are not [40209]salvageable + Active [40210]WebSocket objects + [40211]Aborting a Document

    The persisted attribute must return the value it was initialized to. It represents the context information for the event.

    To fire a page transition event named eventName at a [40212]Window window with a boolean persisted, [40213]fire an event named eventName at window, using [40214]PageTransitionEvent, with the [40215]persisted attribute initialized to persisted, the [40216]cancelable attribute initialized to true, the [40217]bubbles attribute initialized to true, and legacy target override flag set.

    The values for [40218]cancelable and [40219]bubbles don't make any sense, since canceling the event does nothing and it's not possible to bubble past the [40220]Window object. They are set to true for historical reasons.

    7.2.7.7 The [40221]BeforeUnloadEvent interface

    (BUTTON) ✔MDN

    [40222]BeforeUnloadEvent

    Support in all current engines. Firefox1.5+Safari7+Chrome30+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet Explorer4+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet3.0+Opera Android?

    [Exposed=Window] interface BeforeUnloadEvent : [40223]Event { attribute DOMString [40224]returnValue; };

    There are no [40225]BeforeUnloadEvent-specific initialization methods.

    The [40226]BeforeUnloadEvent interface is a legacy interface which allows [40227]checking if unloading is canceled to be controlled not only by canceling the event, but by setting the [40228]returnValue attribute to a value besides the empty string. Authors should use the [40229]preventDefault() method, or other means of canceling events, instead of using [40230]returnValue.

    The returnValue attribute controls the process of [40231]checking if unloading is canceled. When the event is created, the attribute must be set to the empty string. On getting, it must return the last value it was set to. On setting, the attribute must be set to the new value.

    This attribute is a DOMString only for historical reasons. Any value besides the empty string will be treated as a request to ask the user for confirmation.

    7.2.8 The [40232]NotRestoredReasons interface

    [Exposed=Window] interface NotRestoredReasonDetails { readonly attribute DOMString [40233]reason; [Default] object toJSON(); };

    [Exposed=Window] interface NotRestoredReasons { readonly attribute USVString? [40234]src; readonly attribute DOMString? [40235]id; readonly attribute DOMString? [40236]name; readonly attribute USVString? [40237]url; readonly attribute FrozenArray<[40238]NotRestoredReasonDetails>? [40239]reason s; readonly attribute FrozenArray<[40240]NotRestoredReasons>? [40241]children; [Default] object toJSON(); };

    notRestoredReasonDetails.[40242]reason Returns a string that explains the reason that prevented the document from [40243]being served from back/forward cache. See the definition of [40244]bfcache blocking details for the possible string values.

    notRestoredReasons.[40245]src Returns the [40246]src attribute of the document's [40247]node navigable's [40248]container if it is an [40249]iframe element. This can be null if not set or if it is not an [40250]iframe element.

    notRestoredReasons.[40251]id Returns the [40252]id attribute of the document's [40253]node navigable's [40254]container if it is an [40255]iframe element. This can be null if not set or if it is not an [40256]iframe element.

    notRestoredReasons.[40257]name Returns the [40258]name attribute of the document's [40259]node navigable's [40260]container if it is an [40261]iframe element. This can be null if not set or if it is not an [40262]iframe element.

    notRestoredReasons.[40263]url Returns the document's [40264]URL, or null if the document is in a cross-origin [40265]iframe. This is reported in addition to [40266]src because it is possible [40267]iframe navigated since the original [40268]src was set.

    notRestoredReasons.[40269]reasons Returns an array of [40270]NotRestoredReasonDetails for the document. This is null if the document is in a cross-origin [40271]iframe.

    notRestoredReasons.[40272]children Returns an array of [40273]NotRestoredReasons that are for the document’s children. This is null if the document is in a cross-origin [40274]iframe.

    A [40275]NotRestoredReasonDetails object has a backing struct, a [40276]not restored reason details or null, initially null.

    The reason getter steps are to return [40277]this's [40278]backing struct's [40279]reason.

    To create a NotRestoredReasonDetails object given a [40280]not restored reason details backingStruct and a [40281]realm realm: 1. Let notRestoredReasonDetails be a new [40282]NotRestoredReasonDetails object created in realm. 2. Set notRestoredReasonDetails's [40283]backing struct to backingStruct. 3. Return notRestoredReasonDetails.

    A not restored reason details is a [40284]struct with the following [40285]items: * reason, a string, initially empty.

    The [40286]reason is a string that represents the reason that prevented the page from being restored from [40287]back/forward cache. The string is one of the following:

    "fetch" While [40288]unloading, a fetch initiated by this [40289]Document was still ongoing and was canceled, so the page was not in a state that could be stored in the [40290]back/forward cache.

    "navigation-failure" The original navigation that created this [40291]Document errored, so storing the resulting error document in the [40292]back/forward cache was prevented.

    "parser-aborted" The [40293]Document never finished its initial HTML parsing, so storing the unfinished document in the [40294]back/forward cache was prevented.

    "websocket" While [40295]unloading, an open [40296]WebSocket connection was shut down, so the page was not in a state that could be stored in the [40297]back/forward cache. [40298][WEBSOCKETS]

    "lock" While [40299]unloading, held [40300]locks and [40301]lock requests were terminated, so the page was not in a state that could be stored in the [40302]back/forward cache. [40303][WEBLOCKS]

    "masked" This [40304]Document has children that are in a cross-origin [40305]iframe, and they prevented [40306]back/forward cache; or this [40307]Document could not be [40308]back/forward cached for user agent-specific reasons, and the user agent has chosen not to use one of the more specific reasons from the list of [40309]user-agent specific blocking reasons.

    In addition to the list above, a user agent might choose to expose a reason that prevented the page from being restored from [40310]back/forward cache for user-agent specific blocking reasons. These are one of the following strings:

    "audio-capture" The [40311]Document requested audio capture permission by using Media Capture and Streams's [40312]getUserMedia() with audio. [40313][MEDIASTREAM]

    "background-work" The [40314]Document requested background work by calling [40315]SyncManager's [40316]register() method, [40317]PeriodicSyncManager's [40318]register() method, or [40319]BackgroundFetchManager's [40320]fetch() method.

    "broadcastchannel-message" While the page was stored in [40321]back/forward cache, a [40322]BroadcastChannel connection on the page received a message and [40323]message event was fired.

    "idbversionchangeevent" The [40324]Document had a pending [40325]IDBVersionChangeEvent while [40326]unloading. [40327][INDEXEDDB]

    "idledetector" The [40328]Document had an active [40329]IdleDetector while [40330]unloading.

    "keyboardlock" While [40331]unloading, keyboard lock was still active because [40332]Keyboard's [40333]lock() method was called.

    "mediastream" A [40334]MediaStreamTrack was in the [40335]live state upon [40336]unloading. [40337][MEDIASTREAM]

    "midi" The [40338]Document requested a MIDI permission by calling [40339]navigator.requestMIDIAccess().

    "modals" [40340]User prompts were shown while [40341]unloading.

    "navigating" While [40342]unloading, loading was still ongoing, and so the [40343]Document was not in a state that could be stored in [40344]back/forward cache.

    "navigation-canceled" The navigation request was canceled by calling [40345]window.stop() and the page was not in a state to be stored in [40346]back/forward cache.

    "non-trivial-browsing-context-group" The [40347]browsing context group of this [40348]Document had more than one [40349]top-level browsing context.

    "otpcredential" The [40350]Document created an [40351]OTPCredential.

    "outstanding-network-request" While [40352]unloading, the [40353]Document had outstanding network requests and was not in a state that could be stored in [40354]back/forward cache.

    "paymentrequest" The [40355]Document had an active [40356]PaymentRequest while [40357]unloading. [40358][PAYMENTREQUEST]

    "pictureinpicturewindow" The [40359]Document had an active [40360]PictureInPictureWindow while [40361]unloading. [40362][PICTUREINPICTURE]

    "plugins" The [40363]Document contained [40364]plugins.

    "request-method-not-get" The [40365]Document was created from an HTTP request whose [40366]method was not `GET`. [40367][FETCH]

    "response-auth-required" The [40368]Document was created from an HTTP response that required HTTP authentication.

    "response-cache-control-no-store" The [40369]Document was created from an HTTP response whose `[40370]Cache-Control` header included the "no-store" token. [40371][HTTP]

    "response-cache-control-no-cache" The [40372]Document was created from an HTTP response whose `[40373]Cache-Control` header included the "no-cache" token. [40374][HTTP]

    "response-keep-alive" The [40375]Document was created from an HTTP response that contained a `Keep-Alive` header.

    "response-scheme-not-http-or-https" The [40376]Document was created from a response whose [40377]URL's [40378]scheme was not an [40379]HTTP(S) scheme. [40380][FETCH]

    "response-status-not-ok" The [40381]Document was created from an HTTP response whose [40382]status was not an [40383]ok status. [40384][FETCH]

    "rtc" While [40385]unloading, a [40386]RTCPeerConnection or [40387]RTCDataChannel was shut down, so the page was not in a state that could be stored in the [40388]back/forward cache. [40389][WEBRTC]

    "sensors" The [40390]Document [40391]requested sensor access.

    "serviceworker-added" The [40392]Document's [40393]service worker client started to be [40394]controlled by a [40395]ServiceWorker while the page was in [40396]back/forward cache. [40397][SW]

    "serviceworker-claimed" The [40398]Document's [40399]service worker client's [40400]active service worker was claimed while the page was in [40401]back/forward cache. [40402][SW]

    "serviceworker-postmessage" The [40403]Document's [40404]service worker client's [40405]active service worker received a message while the page was in [40406]back/forward cache. [40407][SW]

    "serviceworker-version-activated" The [40408]Document's [40409]service worker client's [40410]active service worker's version was activated while the page was in [40411]back/forward cache. [40412][SW]

    "serviceworker-unregistered" The [40413]Document's [40414]service worker client's [40415]active service worker's [40416]service worker registration was [40417]unregistered while the page was in [40418]back/forward cache. [40419][SW]

    "sharedworker" This [40420]Document was in the [40421]owner set of a [40422]SharedWorkerGlobalScope.

    "smartcardconnection" The [40423]Document had an active [40424]SmartCardConnection while [40425]unloading.

    "speechrecognition" The [40426]Document had an active [40427]SpeechRecognition while [40428]unloading.

    "storageaccess" The [40429]Document requested storage access permission by using the Storage Access API.

    "unload-listener" The [40430]Document registered an [40431]event listener for the [40432]unload event.

    "video-capture" The [40433]Document requested video capture permission by using Media Capture and Streams's [40434]getUserMedia() with video. [40435][MEDIASTREAM]

    "webhid" The [40436]Document called the WebHID API's [40437]requestDevice() method.

    "webshare" The [40438]Document used the Web Share API's [40439]navigator.share() method.

    "webtransport" While [40440]unloading, an open [40441]WebTransport connection was shut down, so the page was not in a state that could be stored in the [40442]back/forward cache. [40443][WEBTRANSPORT]

    "webxrdevice" The [40444]Document created a [40445]XRSystem. __________________________________________________________________

    A [40446]NotRestoredReasons object has a backing struct, a [40447]not restored reasons or null, initially null.

    A [40448]NotRestoredReasons object has a reasons array, a FrozenArray<[40449]NotRestoredReasonDetails> or null, initially null.

    A [40450]NotRestoredReasons object has a children array, a FrozenArray<[40451]NotRestoredReasons> or null, initially null.

    The src getter steps are to return [40452]this's [40453]backing struct's [40454]src.

    The id getter steps are to return [40455]this's [40456]backing struct's [40457]id.

    The name getter steps are to return [40458]this's [40459]backing struct's [40460]name.

    The url getter steps are: 1. If [40461]this's [40462]backing struct's [40463]URL is null, then return null. 2. Return [40464]this's [40465]backing struct's [40466]URL, [40467]serialized.

    The reasons getter steps are to return [40468]this's [40469]reasons array.

    The children getter steps are to return [40470]this's [40471]children array.

    To create a NotRestoredReasons object given a [40472]not restored reasons backingStruct and a [40473]realm realm: 1. Let notRestoredReasons be a new [40474]NotRestoredReasons object created in realm. 2. Set notRestoredReasons's [40475]backing struct to backingStruct. 3. If backingStruct's [40476]reasons is null, set notRestoredReasons's [40477]reasons array to null. 4. Otherwise: 1. Let reasonsArray be an empty [40478]list. 2. [40479]For each reason of backingStruct's [40480]reasons: 1. [40481]Create a NotRestoredReasonDetails object given reason and realm, and [40482]append it to reasonsArray. 3. Set notRestoredReasons's [40483]reasons array to the result of [40484]creating a frozen array given reasonsArray. 5. If backingStruct's [40485]children is null, set notRestoredReasons's [40486]children array to null. 6. Otherwise: 1. Let childrenArray be an empty [40487]list. 2. [40488]For each child of backingStruct's [40489]children: 1. [40490]Create a NotRestoredReasons object given child and realm and [40491]append it to childrenArray. 3. Set notRestoredReasons's [40492]children array to the result of [40493]creating a frozen array given childrenArray. 7. Return notRestoredReasons.

    A not restored reasons is a [40494]struct with the following [40495]items: * src, a [40496]scalar value string or null, initially null. * id, a string or null, initially null. * name, a string or null, initially null. * url, a [40497]URL or null, initially null. * reasons, null or a [40498]list of [40499]not restored reason details, initially null. * children, null or a [40500]list of [40501]not restored reasons, initially null.

    A Document's not restored reasons is its [40502]node navigable's [40503]active session history entry's [40504]document state's [40505]not restored reasons, if [40506]Document's [40507]node navigable is a [40508]top-level traversable; otherwise null.

    7.3 Infrastructure for sequences of documents

    This standard contains several related concepts for grouping sequences of documents. As a brief, non-normative summary: * [40509]Navigables are a user-facing representation of a sequence of documents, i.e., they represent something that can be navigated between documents. Typical examples are tabs or windows in a web browser, or [40510]iframes, or [40511]frames in a [40512]frameset. * [40513]Traversable navigables are a special type of navigable which control the session history of themselves and of their descendant navigables. That is, in addition to their own series of documents, they represent a tree of further series of documents, plus the ability to linearly traverse back and forward through a flattened view of this tree. * [40514]Browsing contexts are a developer-facing representation of a series of documents. They correspond 1:1 with [40515]WindowProxy objects. Each navigable can present a series of browsing contexts, with [40516]switches between those browsing contexts occuring under certain well-defined circumstances.

    Most of this standard works in the language of navigables, but certain APIs expose the existence of browsing context switches, and so some parts of the standard need to work in terms of browsing contexts.

    7.3.1 Navigables

    A navigable presents a [40517]Document to the user via its [40518]active session history entry. Each navigable has: * An id, a [40519]new unique internal value. * A parent, a [40520]navigable or null. * A current session history entry, a [40521]session history entry. This can only be modified within the [40522]session history traversal queue of the parent [40523]traversable navigable. * An active session history entry, a [40524]session history entry. This can only be modified from the event loop of the [40525]active session history entry's [40526]document. * An is closing boolean, initially false. This is only ever set to true for [40527]top-level traversable navigables. * An is delaying load events boolean, initially false. This is only ever set to true in cases where the navigable's [40528]parent is non-null.

    The [40529]current session history entry and the [40530]active session history entry are usually the same, but they get out of sync when: * Synchronous navigations are performed. This causes the [40531]active session history entry to temporarily step ahead of the [40532]current session history entry. * A non-displayable, non-error response is received when [40533]applying the history step. This updates the [40534]current session history entry but leaves the [40535]active session history entry as-is. __________________________________________________________________

    A [40536]navigable's active document is its [40537]active session history entry's [40538]document.

    This can be safely read from within the [40539]session history traversal queue of the navigable's [40540]top-level traversable. Although a [40541]navigable's [40542]active history entry can change synchronously, the new entry will always have the same [40543]Document.

    A [40544]navigable's active browsing context is its [40545]active document's [40546]browsing context. If this [40547]navigable is a [40548]traversable navigable, then its [40549]active browsing context will be a [40550]top-level browsing context.

    A [40551]navigable's active WindowProxy is its [40552]active browsing context's associated [40553]WindowProxy.

    A [40554]navigable's active window is its [40555]active WindowProxy's [40556][[Window]].

    This will always equal the navigable's [40557]active document's [40558]relevant global object; this is kept in sync by the [40559]make active algorithm.

    A [40560]navigable's target name is its [40561]active session history entry's [40562]document state's [40563]navigable target name. __________________________________________________________________

    To get the node navigable of a [40564]node node, return the [40565]navigable whose [40566]active document is node's [40567]node document, or null if there is no such [40568]navigable. __________________________________________________________________

    To initialize the navigable [40569]navigable navigable, given a [40570]document state documentState and an optional [40571]navigable-or-null parent (default null): 1. [40572]Assert: documentState's [40573]document is non-null. 2. Let entry be a new [40574]session history entry, with

    [40575]URL documentState's [40576]document's [40577]URL

    [40578]document state documentState

    The caller of this algorithm is responsible for initializing entry's [40579]step; it will be left as "pending" until that is complete. 3. Set navigable's [40580]current session history entry to entry. 4. Set navigable's [40581]active session history entry to entry. 5. Set navigable's [40582]parent to parent.

    7.3.1.1 Traversable navigables

    A traversable navigable is a [40583]navigable that also controls which [40584]session history entry should be the [40585]current session history entry and [40586]active session history entry for itself and its descendant [40587]navigables.

    In addition to the properties of a [40588]navigable, a [40589]traversable navigable has: * A current session history step, a number, initially 0. * Session history entries, a [40590]list of [40591]session history entries, initially a new [40592]list. * A session history traversal queue, a [40593]session history traversal parallel queue, the result of [40594]starting a new session history traversal parallel queue. * A running nested apply history step boolean, initially false. * A system visibility state, which is either "hidden" or "visible". See the [40595]page visibility section for the requirements on this item. * An is created by web content boolean, initially false.

    To get the traversable navigable of a [40596]navigable inputNavigable: 1. Let navigable be inputNavigable. 2. While navigable is not a [40597]traversable navigable, set navigable to navigable's [40598]parent. 3. Return navigable.

    7.3.1.2 Top-level traversables

    A top-level traversable is a [40599]traversable navigable with a null [40600]parent.

    Currently, all [40601]traversable navigables are [40602]top-level traversables. Future proposals envision introducing non-top-level traversables.

    A user agent holds a top-level traversable set (a [40603]set of [40604]top-level traversables). These are typically presented to the user in the form of browser windows or browser tabs.

    To get the top-level traversable of a [40605]navigable inputNavigable: 1. Let navigable be inputNavigable. 2. While navigable's [40606]parent is not null, set navigable to navigable's [40607]parent. 3. Return navigable.

    To create a new top-level traversable given a [40608]browsing context-or-null opener, a string targetName, and an optional [40609]navigable openerNavigableForWebDriver: 1. Let document be null. 2. If opener is null, then set document to the second return value of [40610]creating a new top-level browsing context and document. 3. Otherwise, set document to the second return value of [40611]creating a new auxiliary browsing context and document given opener. 4. Let documentState be a new [40612]document state, with

    [40613]document document

    [40614]initiator origin null if opener is null; otherwise, document's [40615]origin

    [40616]origin document's [40617]origin

    [40618]navigable target name targetName

    [40619]about base URL document's [40620]about base URL

    5. Let traversable be a new [40621]traversable navigable. 6. [40622]Initialize the navigable traversable given documentState. 7. Let initialHistoryEntry be traversable's [40623]active session history entry. 8. Set initialHistoryEntry's [40624]step to 0. 9. [40625]Append initialHistoryEntry to traversable's [40626]session history entries. 10. If opener is non-null, then [40627]legacy-clone a traversable storage shed given opener's [40628]top-level traversable and traversable. [40629][STORAGE] 11. [40630]Append traversable to the user agent's [40631]top-level traversable set. 12. Invoke [40632]WebDriver BiDi navigable created with traversable and openerNavigableForWebDriver. 13. Return traversable.

    To create a fresh top-level traversable given a [40633]URL initialNavigationURL and an optional [40634]POST resource-or-null initialNavigationPostResource (default null): 1. Let traversable be the result of [40635]creating a new top-level traversable given null and the empty string. 2. [40636]Navigate traversable to initialNavigationURL using traversable's [40637]active document, with [40638]documentResource set to initialNavigationPostResource. We treat these initial navigations as traversable navigating itself, which will ensure all relevant security checks pass. 3. Return traversable.

    7.3.1.3 Child navigables

    Certain elements (for example, [40639]iframe elements) can present a [40640]navigable to the user. These elements are called navigable containers.

    Each [40641]navigable container has a content navigable, which is either a [40642]navigable or null. It is initially null.

    The container of a [40643]navigable navigable is the [40644]navigable container whose [40645]content navigable is navigable, or null if there is no such element.

    The container document of a [40646]navigable navigable is the result of running these steps: 1. If navigable's [40647]container is null, then return null. 2. Return navigable's [40648]container's [40649]node document. This is equal to navigable's [40650]container's [40651]shadow-including root as navigable's [40652]container has to be [40653]connected.

    The container document of a [40654]Document document is the result of running these steps: 1. If document's [40655]node navigable is null, then return null. 2. Return document's [40656]node navigable's [40657]container document.

    A [40658]navigable navigable is a child navigable of another navigable potentialParent when navigable's [40659]parent is potentialParent. We can also just say that a [40660]navigable "is a [40661]child navigable", which means that its [40662]parent is non-null.

    All [40663]child navigables are the [40664]content navigable of their [40665]container.

    The content document of a [40666]navigable container container is the result of running these steps: 1. If container's [40667]content navigable is null, then return null. 2. Let document be container's [40668]content navigable's [40669]active document. 3. If document's [40670]origin and container's [40671]node document's [40672]origin are not [40673]same origin-domain, then return null. 4. Return document.

    The content window of a [40674]navigable container container is the result of running these steps: 1. If container's [40675]content navigable is null, then return null. 2. Return container's [40676]content navigable's [40677]active WindowProxy's object. __________________________________________________________________

    To create a new child navigable, given an element element: 1. Let parentNavigable be element's [40678]node navigable. 2. Let group be element's [40679]node document's [40680]browsing context's [40681]top-level browsing context's [40682]group. 3. Let browsingContext and document be the result of [40683]creating a new browsing context and document given element's [40684]node document, element, and group. 4. Let targetName be null. 5. If element has a name content attribute, then set targetName to the value of that attribute. 6. Let documentState be a new [40685]document state, with

    [40686]document document

    [40687]initiator origin document's [40688]origin

    [40689]origin document's [40690]origin

    [40691]navigable target name targetName

    [40692]about base URL document's [40693]about base URL

    7. Let navigable be a new [40694]navigable. 8. [40695]Initialize the navigable navigable given documentState and parentNavigable. 9. Set element's [40696]content navigable to navigable. 10. Let historyEntry be navigable's [40697]active session history entry. 11. Let traversable be parentNavigable's [40698]traversable navigable. 12. [40699]Append the following session history traversal steps to traversable: 1. Let parentDocState be parentNavigable's [40700]active session history entry's [40701]document state. 2. Let parentNavigableEntries be the result of [40702]getting session history entries for parentNavigable. 3. Let targetStepSHE be the first [40703]session history entry in parentNavigableEntries whose [40704]document state equals parentDocState. 4. Set historyEntry's [40705]step to targetStepSHE's [40706]step. 5. Let nestedHistory be a new [40707]nested history whose [40708]id is navigable's [40709]id and [40710]entries list is « historyEntry ». 6. [40711]Append nestedHistory to parentDocState's [40712]nested histories. 7. [40713]Update for navigable creation/destruction given traversable. 13. Invoke [40714]WebDriver BiDi navigable created with traversable.

    7.3.1.4 Jake diagrams

    A useful method for visualizing sequences of documents, and in particular [40715]navigables and their [40716]session history entries, is the Jake diagram. A typical Jake diagram is the following:

    0 1 2 3 4 top /t-a /t-a#foo /t-b frames[0] /i-0-a /i-0-b frames[1] /i-1-a /i-1-b

    Here, each numbered column denotes a possible value for the traversable's [40717]session history step. Each labeled row depicts a [40718]navigable, as it transitions between different URLs and documents. The first, labeled top, being the [40719]top-level traversable, and the others being [40720]child navigables. The documents are given by the background color of each cell, with a new background color indicating a new document in that [40721]navigable. The URLs are given by the text content of the cells; usually they are given as [40722]relative URLs for brevity, unless a cross-origin case is specifically under investigation. A given navigable might not exist at a given step, in which case the corresponding cells are empty. The bold-italic step number depicts the [40723]current session history step of the traversable, and all cells with bold-italic URLs represent the [40724]current session history entry for that row's navigable.

    Thus, the above Jake diagram depicts the following sequence of events: 0. A [40725]top-level traversable is created, starting a the URL /t-a, with two [40726]child navigables starting at /i-0-a and /i-1-a respectively. 1. The first child navigable is [40727]navigated to another document, with URL /i-0-b. 2. The second child navigable is [40728]navigated to another document, with URL /i-1-b. 3. The top-level traversable is [40729]navigated to the same document, updating its URL to /t-a#foo. 4. The top-level traversable is [40730]navigated to another document, with URL /t-b. (Notice how this document, of course, does not carry over the old document's child navigables.) 5. The traversable was [40731]traversed by a delta of −3, back to step 1.

    [40732]Jake diagrams are a powerful tool for visualizing the interactions of multiple navigables, navigations, and traversals. They cannot capture every possible interaction — for example, they only work with a single level of nesting — but we will have ocassion to use them to illustrate several complex situations throughout this standard.

    [40733]Jake diagrams are named after their creator, the inimitable Jake Archibald.

    7.3.1.5 Related navigable collections

    It is often helpful in this standard's algorithms to look at collections of [40734]navigables starting at a given [40735]Document. This section contains a curated set of algorithms for collecting those navigables.

    The return values of these algorithms are ordered so that parents appears before their children. Callers rely on this ordering.

    Starting with a [40736]Document, rather than a [40737]navigable, is generally better because it makes the caller cognizant of whether they are starting with a [40738]fully active [40739]Document or not. Although non-[40740]fully active [40741]Documents do have ancestor and descendant navigables, they often behave as if they don't (e.g., in the [40742]window.parent getter).

    The ancestor navigables of a [40743]Document document are given by these steps: 1. Let navigable be document's [40744]node navigable's [40745]parent. 2. Let ancestors be an empty list. 3. While navigable is not null: 1. [40746]Prepend navigable to ancestors. 2. Set navigable to navigable's [40747]parent. 4. Return ancestors.

    The inclusive ancestor navigables of a [40748]Document document are given by these steps: 1. Let navigables be document's [40749]ancestor navigables. 2. [40750]Append document's [40751]node navigable to navigables. 3. Return navigables.

    The descendant navigables of a [40752]Document document are given by these steps: 1. Let navigables be new [40753]list. 2. Let navigableContainers be a [40754]list of all [40755]shadow-including descendants of document that are [40756]navigable containers, in [40757]shadow-including tree order. 3. [40758]For each navigableContainer of navigableContainers: 1. If navigableContainer's [40759]content navigable is null, then continue. 2. [40760]Extend navigables with navigableContainer's [40761]content navigable's [40762]active document's [40763]inclusive descendant navigables. 4. Return navigables.

    The inclusive descendant navigables of a [40764]Document document are given by these steps: 1. Let navigables be « document's [40765]node navigable ». 2. [40766]Extend navigables with document's [40767]descendant navigables. 3. Return navigables.

    These descendant-collecting algorithms are described as looking at the DOM tree of descendant [40768]Document objects. In reality, this is often not feasible since the DOM tree can be in another process from the caller of the algorithm. Instead, implementations generally replicate the appropriate trees across processes.

    The document-tree child navigables of a [40769]Document document are given by these steps: 1. If document's [40770]node navigable is null, then return the empty list. 2. Let navigables be new [40771]list. 3. Let navigableContainers be a [40772]list of all [40773]descendants of document that are [40774]navigable containers, in [40775]tree order. 4. [40776]For each navigableContainer of navigableContainers: 1. If navigableContainer's [40777]content navigable is null, then [40778]continue. 2. [40779]Append navigableContainer's [40780]content navigable to navigables. 5. Return navigables.

    7.3.1.6 Navigable destruction

    To destroy a child navigable given a [40781]navigable container container: 1. Let navigable be container's [40782]content navigable. 2. If navigable is null, then return. 3. Set container's [40783]content navigable to null. 4. [40784]Inform the navigation API about child navigable destruction given navigable. 5. [40785]Destroy a document and its descendants given navigable's [40786]active document. 6. Let parentDocState be container's [40787]node navigable's [40788]active session history entry's [40789]document state. 7. [40790]Remove the [40791]nested history from parentDocState's [40792]nested histories whose [40793]id equals navigable's [40794]id. 8. Let traversable be container's [40795]node navigable's [40796]traversable navigable. 9. [40797]Append the following session history traversal steps to traversable: 1. [40798]Update for navigable creation/destruction given traversable. 10. Invoke [40799]WebDriver BiDi navigable destroyed with navigable.

    To destroy a [40800]top-level traversable traversable: 1. Let browsingContext be traversable's [40801]active browsing context. 2. [40802]For each historyEntry in traversable's [40803]session history entries in what order?: 1. Let document be historyEntry's [40804]document. 2. If document is not null, then [40805]destroy a document and its descendants given document. 3. [40806]Remove browsingContext. 4. Remove traversable from the user interface (e.g., close or hide its tab in a tabbed browser). 5. [40807]Remove traversable from the user agent's [40808]top-level traversable set. 6. Invoke [40809]WebDriver BiDi navigable destroyed with traversable.

    User agents may [40810]destroy a top-level traversable at any time (typically, [40811]in response to user requests).

    To close a [40812]top-level traversable traversable: 1. If traversable's [40813]is closing is true, then return. 2. [40814]Definitely close traversable.

    To definitely close a [40815]top-level traversable traversable: 1. Let toUnload be traversable's [40816]active document's [40817]inclusive descendant navigables. 2. If the result of [40818]checking if unloading is canceled for toUnload is true, then return. 3. [40819]Append the following session history traversal steps to traversable: 1. Let afterAllUnloads be an algorithm step which [40820]destroys traversable. 2. [40821]Unload a document and its descendants given traversable's [40822]active document, null, and afterAllUnloads.

    The [40823]close vs. [40824]definitely close separation allows other specifications to call [40825]close and have it be a no-op if the top-level traversable is already closing due to JavaScript code calling [40826]window.close().

    7.3.1.7 Navigable target names

    [40827]Navigables can be given [40828]target names, which are strings allowing certain APIs (such as [40829]window.open() or the [40830]a element's [40831]target attribute) to target [40832]navigations at that navigable.

    A valid navigable target name is any string with at least one character that does not contain both an [40833]ASCII tab or newline and a U+003C (<), and it does not start with a U+005F (_). (Names starting with a U+005F (_) are reserved for special keywords.)

    A valid navigable target name or keyword is any string that is either a [40834]valid navigable target name or that is an [40835]ASCII case-insensitive match for one of: _blank, _self, _parent, or _top.

    These values have different meanings based on whether the page is sandboxed or not, as summarized in the following (non-normative) table. In this table, "current" means the [40836]navigable that the link or script is in, "parent" means the [40837]parent of the [40838]navigable that the link or script is in, "top" means the [40839]top-level traversable of the [40840]navigable that the link or script is in, "new" means a new [40841]traversable navigable with a null [40842]parent (which may use an [40843]auxiliary browsing context, subject to various user preferences and user agent policies), "none" means that nothing will happen, and "maybe new" means the same as "new" if the "[40844]allow-popups" keyword is also specified on the [40845]sandbox attribute (or if the user overrode the sandboxing), and the same as "none" otherwise.

    Keyword Ordinary effect Effect in an [40846]iframe with... sandbox="" sandbox="allow-top-navigation" none specified, for links and form submissions current current current empty string current current current _blank new maybe new maybe new _self current current current _parent if there isn't a parent current current current _parent if parent is also top parent/top none parent/top _parent if there is one and it's not top parent none none _top if top is current current current current _top if top is not current top none top name that doesn't exist new maybe new maybe new name that exists and is a descendant specified descendant specified descendant specified descendant name that exists and is current current current current name that exists and is an ancestor that is top specified ancestor none specified ancestor/top name that exists and is an ancestor that is not top specified ancestor none none other name that exists with common top specified none none name that exists with different top, if [40847]familiar and [40848]one permitted sandboxed navigator specified specified specified name that exists with different top, if [40849]familiar but not [40850]one permitted sandboxed navigator specified none none name that exists with different top, not [40851]familiar new maybe new maybe new

    Most of the restrictions on sandboxed browsing contexts are applied by other algorithms, e.g. the [40852]navigation algorithm, not [40853]the rules for choosing a navigable given below. __________________________________________________________________

    To find a navigable by target name given a string name and a [40854]navigable currentNavigable: 1. Let currentDocument be currentNavigable's [40855]active document. 2. Let sourceSnapshotParams be the result of [40856]snapshotting source snapshot params given currentDocument. 3. Let subtreesToSearch be an [40857]implementation-defined choice of one of the following: + « currentNavigable's [40858]traversable navigable, currentNavigable » + the [40859]inclusive ancestor navigables of currentDocument [40860]Issue #10848 tracks settling on one of these two possibilities, to achieve interoperability. 4. [40861]For each subtreeToSearch of subtreesToSearch, in reverse order: 1. Let documentToSearch be subtreeToSearch's [40862]active document. 2. [40863]For each navigable of the [40864]inclusive descendant navigables of documentToSearch: 1. If currentNavigable is not [40865]allowed by sandboxing to navigate navigable given sourceSnapshotParams, then optionally [40866]continue. [40867]Issue #10849 tracks making this check required, to achieve interoperability. 2. If navigable's [40868]target name is name, then return navigable. 5. Let currentTopLevelBrowsingContext be currentNavigable's [40869]active browsing context's [40870]top-level browsing context. 6. Let group be currentTopLevelBrowsingContext's [40871]group. 7. [40872]For each topLevelBrowsingContext of group's [40873]browsing context set, in an [40874]implementation-defined order (the user agent should pick a consistent ordering, such as the most recently opened, most recently focused, or more closely related): [40875]Issue #10850 tracks picking a specific ordering, to achieve interoperability. 1. If currentTopLevelBrowsingContext is topLevelBrowsingContext, then [40876]continue. 2. Let documentToSearch be topLevelBrowsingContext's [40877]active document. 3. [40878]For each navigable of the [40879]inclusive descendant navigables of documentToSearch: 1. If currentNavigable's [40880]active browsing context is not [40881]familiar with navigable's [40882]active browsing context, then [40883]continue. 2. If currentNavigable is not [40884]allowed by sandboxing to navigate navigable given sourceSnapshotParams, then optionally [40885]continue. [40886]Issue #10849 tracks making this check required, to achieve interoperability. 3. If navigable's [40887]target name is name, then return navigable. 8. Return null.

    The rules for choosing a navigable, given a string name, a [40888]navigable currentNavigable, and a boolean noopener are as follows: 1. Let chosen be null. 2. Let windowType be "existing or none". 3. Let sandboxingFlagSet be currentNavigable's [40889]active document's [40890]active sandboxing flag set. 4. If name is the empty string or an [40891]ASCII case-insensitive match for "_self", then set chosen to currentNavigable. 5. Otherwise, if name is an [40892]ASCII case-insensitive match for "_parent", set chosen to currentNavigable's [40893]parent, if any, and currentNavigable otherwise. 6. Otherwise, if name is an [40894]ASCII case-insensitive match for "_top", set chosen to currentNavigable's [40895]traversable navigable. 7. Otherwise, if name is not an [40896]ASCII case-insensitive match for "_blank", and there exists a [40897]navigable that is the result of [40898]finding a navigable by target name given name and currentNavigable, set chosen to that navigable. 8. Otherwise, a new [40899]top-level traversable is being requested, and what happens depends on the user agent's configuration and abilities — it is determined by the rules given for the first applicable option from the following list:

    If currentNavigable's [40900]active window does not have [40901]transient activation and the user agent has been configured to not show popups (i.e., the user agent has a "popup blocker" enabled) The user agent may inform the user that a popup has been blocked.

    If sandboxingFlagSet has the [40902]sandboxed auxiliary navigation browsing context flag set The user agent may report to a developer console that a popup has been blocked.

    If the user agent has been configured such that in this instance it will create a new [40903]top-level traversable

    1. [40904]Consume user activation of currentNavigable's [40905]active window. 2. Set windowType to "new and unrestricted". 3. Let currentDocument be currentNavigable's [40906]active document. 4. If currentDocument's [40907]opener policy's [40908]value is "[40909]same-origin" or "[40910]same-origin-plus-COEP", and currentDocument's [40911]origin is not [40912]same origin with currentDocument's [40913]relevant settings object's [40914]top-level origin, then: 1. Set noopener to true. 2. Set name to "_blank". 3. Set windowType to "new with no opener". In the presence of an [40915]opener policy, nested documents that are cross-origin with their top-level browsing context's active document always set noopener to true. 5. Let chosen be null. 6. Let targetName be the empty string. 7. If name is not an [40916]ASCII case-insensitive match for "_blank", then set targetName to name. 8. If noopener is true, then set chosen to the result of [40917]creating a new top-level traversable given null, targetName, and currentNavigable. 9. Otherwise: 1. Set chosen to the result of [40918]creating a new top-level traversable given currentNavigable's [40919]active browsing context, targetName, and currentNavigable. 2. If sandboxingFlagSet's [40920]sandboxed navigation browsing context flag is set, then set chosen's [40921]active browsing context's [40922]one permitted sandboxed navigator to currentNavigable's [40923]active browsing context. 10. If sandboxingFlagSet's [40924]sandbox propagates to auxiliary browsing contexts flag is set, then all the flags that are set in sandboxingFlagSet must be set in chosen's [40925]active browsing context's [40926]popup sandboxing flag set. 11. Set targetNavigable's [40927]is created by web content to true.

    If the newly created [40928]navigable chosen is immediately [40929]navigated, then the navigation will be done as a "[40930]replace" navigation.

    If the user agent has been configured such that in this instance it will choose currentNavigable Set chosen to currentNavigable.

    If the user agent has been configured such that in this instance it will not find a navigable Do nothing.

    User agents are encouraged to provide a way for users to configure the user agent to always choose currentNavigable. 9. Return chosen and windowType.

    7.3.2 Browsing contexts

    A browsing context is a programmatic representation of a series of documents, multiple of which can live within a single [40931]navigable. Each [40932]browsing context has a corresponding [40933]WindowProxy object, as well as the following: * An opener browsing context, a [40934]browsing context or null, initially null. * An opener origin at creation, an [40935]origin or null, initially null. * An is popup boolean, initially false. The only mandatory impact in this specification of [40936]is popup is on the [40937]visible getter of the relevant [40938]BarProp objects. However, user agents might also use it for [40939]user interface considerations. * An is auxiliary boolean, initially false. * An initial URL, a [40940]URL or null, initially null. * A virtual browsing context group ID integer, initially 0. This is used by [40941]opener policy reporting, to keep track of the browsing context group switches that would have happened if the report-only policy had been enforced.

    A [40942]browsing context's active window is its [40943]WindowProxy object's [40944][[Window]] internal slot value. A [40945]browsing context's active document is its [40946]active window's [40947]associated Document.

    A [40948]browsing context's top-level traversable is its [40949]active document's [40950]node navigable's [40951]top-level traversable.

    A [40952]browsing context whose [40953]is auxiliary is true is known as an auxiliary browsing context. Auxiliary browsing contexts are always [40954]top-level browsing contexts.

    It's unclear whether a separate [40955]is auxiliary concept is necessary. In [40956]issue #5680, it is indicated that we may be able to simplify this by using whether or not the [40957]opener browsing context is null.

    Modern specifications should avoid using the [40958]browsing context concept in most cases, unless they are dealing with the subtleties of [40959]browsing context group switches and [40960]agent cluster allocation. Instead, the [40961]Document and [40962]navigable concepts are usually more appropriate. __________________________________________________________________

    A Document's browsing context is a [40963]browsing context or null, initially null.

    A [40964]Document does not necessarily have a non-null [40965]browsing context. In particular, data mining tools are likely to never instantiate browsing contexts. A [40966]Document created using an API such as [40967]createDocument() never has a non-null [40968]browsing context. And the [40969]Document originally created for an [40970]iframe element, which has since been [40971]removed from the document, has no associated browsing context, since that browsing context was [40972]nulled out.

    In general, there is a 1-to-1 mapping from the [40973]Window object to the [40974]Document object, as long as the [40975]Document object has a non-null [40976]browsing context. There is one exception. A [40977]Window can be reused for the presentation of a second [40978]Document in the same [40979]browsing context, such that the mapping is then 1-to-2. This occurs when a [40980]browsing context is [40981]navigated from the [40982]initial about:blank [40983]Document to another, which will be done with [40984]replacement.

    7.3.2.1 Creating browsing contexts

    To create a new browsing context and document, given null or a [40985]Document object creator, null or an element embedder, and a [40986]browsing context group group: 1. Let browsingContext be a new [40987]browsing context. 2. Let unsafeContextCreationTime be the [40988]unsafe shared current time. 3. Let creatorOrigin be null. 4. Let creatorBaseURL be null. 5. If creator is non-null, then: 1. Set creatorOrigin to creator's [40989]origin. 2. Set creatorBaseURL to creator's [40990]document base URL. 3. Set browsingContext's [40991]virtual browsing context group ID to creator's [40992]browsing context's [40993]top-level browsing context's [40994]virtual browsing context group ID. 6. Let sandboxFlags be the result of [40995]determining the creation sandboxing flags given browsingContext and embedder. 7. Let origin be the result of [40996]determining the origin given [40997]about:blank, sandboxFlags, and creatorOrigin. 8. Let permissionsPolicy be the result of [40998]creating a permissions policy given embedder and origin. [40999][PERMISSIONSPOLICY] 9. Let agent be the result of [41000]obtaining a similar-origin window agent given origin, group, and false. 10. Let realm execution context be the result of [41001]creating a new realm given agent and the following customizations: + For the global object, create a new [41002]Window object. + For the global this binding, use browsingContext's [41003]WindowProxy object. 11. Let topLevelCreationURL be [41004]about:blank if embedder is null; otherwise embedder's [41005]relevant settings object's [41006]top-level creation URL. 12. Let topLevelOrigin be origin if embedder is null; otherwise embedder's [41007]relevant settings object's [41008]top-level origin. 13. [41009]Set up a window environment settings object with [41010]about:blank, realm execution context, null, topLevelCreationURL, and topLevelOrigin. 14. Let loadTimingInfo be a new [41011]document load timing info with its [41012]navigation start time set to the result of calling [41013]coarsen time with unsafeContextCreationTime and the new [41014]environment settings object's [41015]cross-origin isolated capability. 15. Let document be a new [41016]Document, with:

    [41017]type "html"

    [41018]content type "[41019]text/html"

    [41020]mode "quirks"

    [41021]origin origin

    [41022]browsing context browsingContext

    [41023]permissions policy permissionsPolicy

    [41024]active sandboxing flag set sandboxFlags

    [41025]load timing info loadTimingInfo

    [41026]is initial about:blank true

    [41027]about base URL creatorBaseURL

    [41028]allow declarative shadow roots true

    [41029]custom element registry A new {{CustomElementRegistry}} object.

    16. If creator is non-null, then: 1. Set document's [41030]referrer to the [41031]serialization of creator's [41032]URL. 2. Set document's [41033]policy container to a [41034]clone of creator's [41035]policy container. 3. If creator's [41036]origin is [41037]same origin with creator's [41038]relevant settings object's [41039]top-level origin, then set document's [41040]opener policy to creator's [41041]browsing context's [41042]top-level browsing context's [41043]active document's [41044]opener policy. 17. [41045]Assert: document's [41046]URL and document's [41047]relevant settings object's [41048]creation URL are [41049]about:blank. 18. Mark document as [41050]ready for post-load tasks. 19. [41051]Populate with html/head/body given document. 20. [41052]Make active document. 21. [41053]Completely finish loading document. 22. Return browsingContext and document.

    To create a new top-level browsing context and document: 1. Let group and document be the result of [41054]creating a new browsing context group and document. 2. Return group's [41055]browsing context set[0] and document.

    To create a new auxiliary browsing context and document, given a [41056]browsing context opener: 1. Let openerTopLevelBrowsingContext be opener's [41057]top-level traversable's [41058]active browsing context. 2. Let group be openerTopLevelBrowsingContext's [41059]group. 3. [41060]Assert: group is non-null, as [41061]navigating invokes this directly. 4. Let browsingContext and document be the result of [41062]creating a new browsing context and document with opener's [41063]active document, null, and group. 5. Set browsingContext's [41064]is auxiliary to true. 6. [41065]Append browsingContext to group. 7. Set browsingContext's [41066]opener browsing context to opener. 8. Set browsingContext's [41067]virtual browsing context group ID to openerTopLevelBrowsingContext's [41068]virtual browsing context group ID. 9. Set browsingContext's [41069]opener origin at creation to opener's [41070]active document's [41071]origin. 10. Return browsingContext and document.

    To determine the origin, given a [41072]URL url, a [41073]sandboxing flag set sandboxFlags, and an [41074]origin-or-null sourceOrigin: 1. If sandboxFlags has its [41075]sandboxed origin browsing context flag set, then return a new [41076]opaque origin. 2. If url is null, then return a new [41077]opaque origin. 3. If url is [41078]about:srcdoc, then: 1. [41079]Assert: sourceOrigin is non-null. 2. Return sourceOrigin. 4. If url [41080]matches about:blank and sourceOrigin is non-null, then return sourceOrigin. 5. Return url's [41081]origin.

    The cases that return sourceOrigin result in two [41082]Documents that end up with the same underlying [41083]origin, meaning that [41084]document.domain affects both.

    7.3.2.2 Related browsing contexts

    A [41085]browsing context potentialDescendant is said to be an ancestor of a browsing context potentialAncestor if the following algorithm returns true: 1. Let potentialDescendantDocument be potentialDescendant's [41086]active document. 2. If potentialDescendantDocument is not [41087]fully active, then return false. 3. Let ancestorBCs be the list obtained by taking the [41088]browsing context of the [41089]active document of each member of potentialDescendantDocument's [41090]ancestor navigables. 4. If ancestorBCs [41091]contains potentialAncestor, then return true. 5. Return false.

    A top-level browsing context is a [41092]browsing context whose [41093]active document's [41094]node navigable is a [41095]traversable navigable.

    It is not required to be a [41096]top-level traversable.

    The top-level browsing context of a [41097]browsing context start is the result of the following algorithm: 1. If start's [41098]active document is not [41099]fully active, then return null. 2. Let navigable be start's [41100]active document's [41101]node navigable. 3. While navigable's [41102]parent is not null, set navigable to navigable's [41103]parent. 4. Return navigable's [41104]active browsing context.

    The terms [41105]ancestor browsing context and [41106]top-level browsing context are rarely useful, since [41107]browsing contexts in general are [41108]usually the inappropriate specification concept to use. Note in particular that when a [41109]browsing context's [41110]active document is not [41111]fully active, it never counts as an ancestor or top-level browsing context, and as such these concepts are not useful when [41112]bfcache is in play.

    Instead, use concepts such as the [41113]ancestor navigables collection, the [41114]parent navigable, or a navigable's [41115]top-level traversable. __________________________________________________________________

    A [41116]browsing context A is familiar with a second [41117]browsing context B if the following algorithm returns true: 1. If A's [41118]active document's [41119]origin is [41120]same origin with B's [41121]active document's [41122]origin, then return true. 2. If A's [41123]top-level browsing context is B, then return true. 3. If B is an [41124]auxiliary browsing context and A is [41125]familiar with B's [41126]opener browsing context, then return true. 4. If there exists an [41127]ancestor browsing context of B whose [41128]active document has the [41129]same [41130]origin as the [41131]active document of A, then return true. This includes the case where A is an [41132]ancestor browsing context of B. 5. Return false.

    7.3.2.3 Groupings of browsing contexts

    A [41133]top-level browsing context has an associated group (null or a [41134]browsing context group). It is initially null.

    A user agent holds a browsing context group set (a [41135]set of [41136]browsing context groups).

    A browsing context group holds a browsing context set (a [41137]set of [41138]top-level browsing contexts).

    A [41139]top-level browsing context is added to the [41140]group when the group is [41141]created. All subsequent [41142]top-level browsing contexts added to the [41143]group will be [41144]auxiliary browsing contexts.

    A [41145]browsing context group has an associated agent cluster map (a weak [41146]map of [41147]agent cluster keys to [41148]agent clusters). User agents are responsible for collecting agent clusters when it is deemed that nothing can access them anymore.

    A [41149]browsing context group has an associated historical agent cluster key map, which is a [41150]map of [41151]origins to [41152]agent cluster keys. This map is used to ensure the consistency of the [41153]origin-keyed agent clusters feature by recording what agent cluster keys were previously used for a given origin.

    The [41154]historical agent cluster key map only ever gains entries over the lifetime of the browsing context group.

    A [41155]browsing context group has a cross-origin isolation mode, which is a [41156]cross-origin isolation mode. It is initially "[41157]none".

    A cross-origin isolation mode is one of three possible values: "none", "logical", or "concrete".

    "[41158]logical" and "[41159]concrete" are similar. They are both used for [41160]browsing context groups where: * every top-level [41161]Document has `[41162]Cross-Origin-Opener-Policy: [41163]same-origin`, and * every [41164]Document has a `[41165]Cross-Origin-Embedder-Policy` header whose value is [41166]compatible with cross-origin isolation.

    On some platforms, it is difficult to provide the security properties required to grant safe access to the APIs gated by the [41167]cross-origin isolated capability. As a result, only "[41168]concrete" can grant access that capability. "[41169]logical" is used on platform not supporting this capability, where various restrictions imposed by cross-origin isolation will still apply, but the capability is not granted.

    To create a new browsing context group and document: 1. Let group be a new [41170]browsing context group. 2. [41171]Append group to the user agent's [41172]browsing context group set. 3. Let browsingContext and document be the result of [41173]creating a new browsing context and document with null, null, and group. 4. [41174]Append browsingContext to group. 5. Return group and document.

    To append a [41175]top-level browsing context browsingContext to a [41176]browsing context group group: 1. [41177]Append browsingContext to group's [41178]browsing context set. 2. Set browsingContext's [41179]group to group.

    To remove a [41180]top-level browsing context browsingContext: 1. [41181]Assert: browsingContext's [41182]group is non-null. 2. Let group be browsingContext's [41183]group. 3. Set browsingContext's [41184]group to null. 4. [41185]Remove browsingContext from group's [41186]browsing context set. 5. If group's [41187]browsing context set [41188]is empty, then [41189]remove group from the user agent's [41190]browsing context group set.

    [41191]Append and [41192]remove are primitive operations that help define the lifetime of a [41193]browsing context group. They are called by higher-level creation and destruction operations for [41194]Documents and [41195]browsing contexts.

    When there are no [41196]Document objects whose [41197]browsing context equals a given [41198]browsing context (i.e., all such [41199]Documents have been [41200]destroyed), and that [41201]browsing context's [41202]WindowProxy is eligible for garbage collection, then the [41203]browsing context will never be accessed again. If it is a [41204]top-level browsing context, then at this point the user agent must [41205]remove it.

    7.3.3 Fully active documents

    A [41206]Document d is said to be fully active when d is the [41207]active document of a [41208]navigable navigable, and either navigable is a [41209]top-level traversable or navigable's [41210]container document is [41211]fully active.

    Because they are associated with an element, [41212]child navigables are always tied to a specific [41213]Document, their [41214]container document, in their [41215]parent navigable. User agents must not allow the user to interact with [41216]child navigables whose [41217]container documents are not themselves [41218]fully active.

    The following example illustrates how a [41219]Document can be the [41220]active document of its [41221]node navigable, while not being [41222]fully active. Here a.html is loaded into a browser window, b-1.html starts out loaded into an [41223]iframe as shown, and b-2.html and c.html are omitted (they can simply be an empty document). Navigable A

    Navigable B

    At this point, the documents given by a.html, b-1.html, and c.html are all the [41224]active documents of their respective [41225]node navigables. They are also all [41226]fully active.

    After clicking on the [41227]button, and thus loading a new [41228]Document from b-2.html into navigable B, we have the following results: * The a.html [41229]Document remains both the [41230]active document of navigable A, and [41231]fully active. * The b-1.html [41232]Document is now not the [41233]active document of navigable B. As such it is also not [41234]fully active. * The new b-2.html [41235]Document is now the [41236]active document of navigable B, and is also [41237]fully active. * The c.html [41238]Document is still the [41239]active document of navigable C. However, since C's [41240]container document is the b-1.html [41241]Document, which is itself not [41242]fully active, this means the c.html [41243]Document is now not [41244]fully active.

    7.4 Navigation and session history

    Welcome to the dragon's maw. Navigation, session history, and the traversal through that session history are some of the most complex parts of this standard.

    The basic concept may not seem so difficult: * The user is looking at a [41245]navigable that is presenting its [41246]active document. They [41247]navigate it to another [41248]URL. * The browser fetches the given URL from the network, using it to [41249]populate a new [41250]session history entry with a newly-[41251]created [41252]Document. * The browser updates the [41253]navigable's [41254]active session history entry to the newly-populated one, and thus updates the [41255]active document that it is showing to the user. * At some point later, the user [41256]presses the browser back button to go back to the previous [41257]session history entry. * The browser looks at the [41258]URL stored in that [41259]session history entry, and uses it to re-fetch and [41260]populate that entry's [41261]document. * The browser again updates the [41262]navigable's [41263]active session history entry.

    You can see some of the intertwined complexity peeking through here, in how traversal can cause a navigation (i.e., a network fetch to a stored URL), and how a navigation necessarily needs to interface with the session history list to ensure that when it finishes the user is looking at the right thing. But the real problems come in with the various edge cases and interacting web platform features: * [41264]Child navigables (e.g., those contained in [41265]iframes) can also navigate and traverse, but those navigations need to be linearized into [41266]a single session history list since the user only has a single back/forward interface for the entire [41267]traversable navigable (e.g., browser tab). * Since the user can traverse back more than a single step in the session history (e.g., by holding down their back button), they can end up traversing multiple [41268]navigables at the same time when [41269]child navigables are involved. This needs to be synchronized across all of the involved navigables, which might involve multiple [41270]event loops or even [41271]agent clusters. * During navigation, servers can respond with 204 or 205 status codes or with `[41272]Content-Disposition: attachment` headers, which cause navigation to abort and the [41273]navigable to stay on its original [41274]active document. (This is much worse if it happens during a traversal-initiated navigation!) * Various other HTTP headers, such as `Location`, `[41275]Refresh`, `[41276]X-Frame-Options`, and those for Content Security Policy, contribute to either the [41277]fetching process, or the [41278]Document-creation process, or both. The `[41279]Cross-Origin-Opener-Policy` header even contributes to the [41280]browsing context selection and creation process! * Some navigations (namely [41281]fragment navigations and [41282]single-page app navigations) are synchronous, meaning that JavaScript code expects to observe the navigation's results instantly. This then needs to be synchronized with the view of the session history that all other [41283]navigables in the tree see, which can be subject to race conditions and necessitate resolving conflicting views of the session history. * The platform has accumulated various exciting navigation-related features that need special-casing, such as [41284]javascript: URLs, [41285]srcdoc [41286]iframes, and the [41287]beforeunload event.

    In what follows, we have attempted to guide the reader through these complexities by appropriately cordoning them off into labeled sections and algorithms, and giving appropriate words of introduction where possible. Nevertheless, if you wish to truly understand navigation and session history, [41288]the usual advice will be invaluable.

    7.4.1 Session history

    7.4.1.1 Session history entries

    A session history entry is a [41289]struct with the following [41290]items: * step, a non-negative integer or "pending", initially "pending". * URL, a [41291]URL * document state, a [41292]document state. * classic history API state, which is [41293]serialized state, initially [41294]StructuredSerializeForStorage(null). * navigation API state, which is a [41295]serialized state, initially [41296]StructuredSerializeForStorage(undefined). * navigation API key, which is a string, initially set to the result of [41297]generating a random UUID. * navigation API ID, which is a string, initially set to the result of [41298]generating a random UUID. * scroll restoration mode, a [41299]scroll restoration mode, initially "[41300]auto". * scroll position data, which is scroll position data for the [41301]document's [41302]restorable scrollable regions. * persisted user state, which is [41303]implementation-defined, initially null For example, some user agents might want to persist the values of form controls. User agents that persist the value of form controls are encouraged to also persist their directionality (the value of the element's [41304]dir attribute). This prevents values from being displayed incorrectly after a history traversal when the user had originally entered the values with an explicit, non-default directionality.

    To get a [41305]session history entry's document, return its [41306]document state's [41307]document. __________________________________________________________________

    Serialized state is a serialization (via [41308]StructuredSerializeForStorage) of an object representing a user interface state. We sometimes informally refer to "state objects", which are the objects representing user interface state supplied by the author, or alternately the objects created by deserializing (via [41309]StructuredDeserialize) serialized state.

    Pages can [41310]add [41311]serialized state to the session history. These are then [41312]deserialized and [41313]returned to the script when the user (or script) goes back in the history, thus enabling authors to use the "navigation" metaphor even in one-page applications.

    [41314]Serialized state is intended to be used for two main purposes: first, storing a preparsed description of the state in the [41315]URL so that in the simple case an author doesn't have to do the parsing (though one would still need the parsing for handling [41316]URLs passed around by users, so it's only a minor optimization). Second, so that the author can store state that one wouldn't store in the URL because it only applies to the current [41317]Document instance and it would have to be reconstructed if a new [41318]Document were opened.

    An example of the latter would be something like keeping track of the precise coordinate from which a popup [41319]div was made to animate, so that if the user goes back, it can be made to animate to the same location. Or alternatively, it could be used to keep a pointer into a cache of data that would be fetched from the server based on the information in the [41320]URL, so that when going back and forward, the information doesn't have to be fetched again. __________________________________________________________________

    A scroll restoration mode indicates whether the user agent should restore the persisted scroll position (if any) when traversing to an [41321]entry. A scroll restoration mode is one of the following:

    "auto" The user agent is responsible for restoring the scroll position upon navigation.

    "manual" The page is responsible for restoring the scroll position and the user agent does not attempt to do so automatically

    7.4.1.2 Document state

    Document state holds state inside a [41322]session history entry regarding how to present and, if necessary, recreate, a [41323]Document. It has: * A document, a [41324]Document or null, initially null. When a history entry is [41325]active, it has a [41326]Document in its [41327]document state. However, when a [41328]Document is not [41329]fully active, it's possible for it to be [41330]destroyed to free resources. In such cases, this [41331]document item will be nulled out. The [41332]URL and other data in the [41333]session history entry and [41334]document state is then used to bring a new [41335]Document into being to take the place of the original, in the case where the user agent finds itself having to traverse to the entry. If the [41336]Document is not [41337]destroyed, then during [41338]history traversal, it can be [41339]reactivated. The cache in which browsers store such [41340]Documents is often called a back-forward cache, or bfcache (or perhaps [41341]"blazingly fast" cache). * A history policy container, a [41342]policy container or null, initially null. * A request referrer, which is "no-referrer", "client", or a [41343]URL, initially "client". * A request referrer policy, which is a [41344]referrer policy, initially the [41345]default referrer policy. The [41346]request referrer policy is distinct from the [41347]history policy container's [41348]referrer policy. The former is used for fetches of this document, whereas the latter controls fetches by this document. * An initiator origin, which is an [41349]origin or null, initially null. * An origin, which is an [41350]origin or null, initially null. This is the origin that we set "about:"-schemed [41351]Documents' [41352]origin to. We store it here because it is also used when restoring these [41353]Documents during traversal, since they are reconstructed locally without visiting the network. It is also used to compare the origin before and after the [41354]session history entry is [41355]repopulated. If the origins change, the [41356]navigable target name is cleared. * An about base URL, which is a [41357]URL or null, initially null. This will be populated only for "about:"-schemed [41358]Documents and will be the [41359]fallback base URL for those [41360]Documents. It is a snapshot of the initiator [41361]Document's [41362]document base URL. * Nested histories, a [41363]list of [41364]nested histories, initially an empty [41365]list. * A resource, a string, [41366]POST resource or null, initially null. A string is treated as HTML. It's used to store the source of an [41367]iframe srcdoc document. * A reload pending boolean, initially false. * An ever populated boolean, initially false. * A navigable target name string, initially the empty string. * A not restored reasons, a [41368]not restored reasons or null, initially null.

    User agents may [41369]destroy a document and its descendants given the [41370]documents of [41371]document states with non-null [41372]documents, as long as the [41373]Document is not [41374]fully active.

    Apart from that restriction, this standard does not specify when user agents should destroy the [41375]document stored in a [41376]document state, versus keeping it cached. __________________________________________________________________

    A POST resource has: * A request body, a [41377]byte sequence or failure. This is only ever accessed [41378]in parallel, so it doesn't need to be stored in memory. However, it must return the same [41379]byte sequence each time. If this isn't possible due to resources changing on disk, or if resources can no longer be accessed, then this must be set to failure. * A request content-type, which is `[41380]application/x-www-form-urlencoded`, `[41381]multipart/form-data`, or `[41382]text/plain`. __________________________________________________________________

    A nested history has: * An id, a [41383]unique internal value. This is used to associate the [41384]nested history with a [41385]navigable. * Entries, a [41386]list of [41387]session history entries.

    This will later contain ways to identify a child navigable across reloads. __________________________________________________________________ __________________________________________________________________

    Several contiguous entries in a session history can share the same [41388]document state. This can occur when the initial entry is reached via normal [41389]navigation, and the following entry is added via [41390]history.pushState(). Or it can occur via [41391]navigation to a fragment.

    All entries that share the same [41392]document state (and that are therefore merely different states of one particular document) are contiguous by construction. __________________________________________________________________

    A [41393]Document has a latest entry, a [41394]session history entry or null.

    This is the entry that was most recently represented by a given [41395]Document. A single [41396]Document can represent many [41397]session history entries over time, as many contiguous [41398]session history entries can share the same [41399]document state as explained above.

    7.4.1.3 Centralized modifications of session history

    To maintain a single source of truth, all modifications to a [41400]traversable navigable's [41401]session history entries need to be synchronized. This is especially important due to how session history is influenced by all of the descendant [41402]navigables, and thus by multiple [41403]event loops. To accomplish this, we use the [41404]session history traversal parallel queue structure.

    A session history traversal parallel queue is very similar to a [41405]parallel queue. It has an algorithm set, an [41406]ordered set.

    The [41407]items in a [41408]session history traversal parallel queue's [41409]algorithm set are either algorithm steps, or synchronous navigation steps, which are a particular brand of algorithm steps involving a target navigable (a [41410]navigable).

    To append session history traversal steps to a [41411]traversable navigable traversable given algorithm steps steps, [41412]append steps to traversable's [41413]session history traversal queue's [41414]algorithm set.

    To append session history synchronous navigation steps involving a [41415]navigable targetNavigable to a [41416]traversable navigable traversable given algorithm steps steps, [41417]append steps as [41418]synchronous navigation steps targeting [41419]target navigable targetNavigable to traversable's [41420]session history traversal queue's [41421]algorithm set.

    To start a new session history traversal parallel queue: 1. Let sessionHistoryTraversalQueue be a new [41422]session history traversal parallel queue. 2. Run the following steps [41423]in parallel: 1. While true: 1. If sessionHistoryTraversalQueue's [41424]algorithm set is empty, then [41425]continue. 2. Let steps be the result of [41426]dequeuing from sessionHistoryTraversalQueue's [41427]algorithm set. 3. Run steps. 3. Return sessionHistoryTraversalQueue.

    [41428]Synchronous navigation steps are tagged in the [41429]algorithm set to allow them to conditionally "jump the queue". This is handled [41430]within apply the history step.

    Imagine the joint session history depicted by this [41431]Jake diagram: 0 1 top /a /b

    And the following code runs at the top level: history.back(); location.href = ʼ#fooʼ;

    The desired result is: 0 1 2 top /a /b /b#foo

    This isn't straightforward, as the sync navigation wins the race in terms of being observable, whereas the traversal wins the race in terms of queuing steps on the [41432]session history traversal parallel queue. To achieve this result, the following happens: 1. [41433]history.back() [41434]appends steps intended to traverse by a delta of −1. 2. [41435]location.href = '#foo' synchronously changes the [41436]active session history entry entry to a newly-created one, with the URL /b#foo, and [41437]appends synchronous steps to notify the central source of truth about that new entry. Note that this does not yet update the [41438]current session history entry, [41439]current session history step, or the [41440]session history entries list; those updates cannot be done synchronously, and instead must be done as part of the queued steps. 3. On the [41441]session history traversal parallel queue, the steps queued by [41442]history.back() run: 1. The target history step is determined to be 0: the [41443]current session history step (i.e., 1) plus the intended delta of −1. 2. We enter the main [41444]apply the history step algorithm. The entry at step 0, for the /a URL, has its [41445]document [41446]populated. Meanwhile, the queue is checked for [41447]synchronous navigation steps. The steps queued by the [41448]location.href setter now run, and block the traversal from performing effects beyond document population (such as, unloading documents and switching active history entries) until they are finished. Those steps cause the following to happen: 1. The entry with URL /b#foo is added, with its [41449]step determined to be 2: the [41450]current session history step (i.e., 1) plus 1. 2. We fully switch to that newly added entry, including a nested call to [41451]apply the history step. This ultimately results in [41452]updating the document by dispatching events like [41453]hashchange. Only once that is all complete, and the /a history entry has been fully populated with a [41454]document, do we move on with applying the history step given the target step of 0. At this point, the [41455]Document with URL /b#foo [41456]unloads, and we finish moving to our target history step 0, which makes the entry with URL /a become the [41457]active session history entry and 0 become the [41458]current session history step.

    Here is another more complex example, involving races between populating two different [41459]iframes, and a synchronous navigation once one of those iframes loads. We start with this setup: 0 1 2 top /t frames[0] /i-0-a /i-0-b frames[1] /i-1-a /i-1-b

    and then call [41460]history.go(-2). The following then occurs: 1. [41461]history.go(-2) [41462]appends steps intended to traverse by a delta of −2. Once those steps run: 1. The target step is determined to be 2 + (−2) = 0. 2. In parallel, the fetches are made to [41463]populate the two iframes, fetching /i-0-a and /i-1-a respectively. Meanwhile, the queue is checked for [41464]synchronous navigation steps. There aren't any right now. 3. In the fetch race, the fetch for /i-0-a wins. We proceed onward to finish all of [41465]apply the history step's work for how the traversal impacts the frames[0] [41466]navigable, including updating its [41467]active session history entry to the entry with URL /i-0-a. 4. Before the fetch for /i-1-a finishes, we reach the point where [41468]scripts may run for the newly-created document in the frames[0] [41469]navigable's [41470]active document. Some such script does run: location.href = ʼ#fooʼ This synchronously changes the frames[0] navigable's [41471]active session history entry entry to a newly-created one, with the URL /i-0-a#foo, and [41472]appends synchronous steps to notify the central source of truth about that new entry. Unlike in the [41473]previous example, these synchronous steps do not "jump the queue" and update the [41474]traversable before we finish the fetch for /i-1-a. This is because the navigable in question, frames[0], has already been altered as part of the traversal, so we know that with the [41475]current session history step being 2, adding the new entry as a step 3 doesn't make sense. 5. Once the fetch for /i-1-a finally finishes, we proceed to finish updating the frames[1] [41476]navigable for the traversal, including updating its [41477]active session history entry to the entry with URL /i-1-a. 6. Now that both navigables have finished processing the traversal, we update the [41478]current session history step to the target step of 0. 2. Now we can process the steps that were queued for the synchronous navigation: 1. The /i-0-a#foo entry is added, with its [41479]step determined to be 1: the [41480]current session history step (i.e., 0) plus 1. This also [41481]clears existing forward history. 2. We fully switch to that newly added entry, including calling [41482]apply the history step. This ultimately results in [41483]updating the document by dispatching events like [41484]hashchange, as well as updating the [41485]current session history step to the target step of 1.

    The end result is: 0 1 top /t frames[0] /i-0-a /i-0-a#foo frames[1] /i-1-a

    7.4.1.4 Low-level operations on session history

    This section contains a miscellaneous grab-bag of operations that we perform throughout the standard when manipulating session history. The best way to get a sense of what they do is to look at their call sites.

    To get session history entries of a [41486]navigable navigable: 1. Let traversable be navigable's [41487]traversable navigable. 2. [41488]Assert: this is running within traversable's [41489]session history traversal queue. 3. If navigable is traversable, return traversable's [41490]session history entries. 4. Let docStates be an empty [41491]ordered set of [41492]document states. 5. For each entry of traversable's [41493]session history entries, [41494]append entry's [41495]document state to docStates. 6. [41496]For each docState of docStates: 1. [41497]For each nestedHistory of docState's [41498]nested histories: 1. If nestedHistory's [41499]id equals navigable's [41500]id, return nestedHistory's [41501]entries. 2. For each entry of nestedHistory's [41502]entries, [41503]append entry's [41504]document state to docStates. 7. [41505]Assert: this step is not reached.

    To get session history entries for the navigation API of a [41506]navigable navigable given an integer targetStep: 1. Let rawEntries be the result of [41507]getting session history entries for navigable. 2. Let entriesForNavigationAPI be a new empty [41508]list. 3. Let startingIndex be the index of the [41509]session history entry in rawEntries who has the greatest [41510]step less than or equal to targetStep. See [41511]this example to understand why it's the greatest step less than or equal to targetStep. 4. [41512]Append rawEntries[startingIndex] to entriesForNavigationAPI. 5. Let startingOrigin be rawEntries[startingIndex]'s [41513]document state's [41514]origin. 6. Let i be startingIndex − 1. 7. While i > 0: 1. If rawEntries[i]'s [41515]document state's [41516]origin is not [41517]same origin with startingOrigin, then [41518]break. 2. [41519]Prepend rawEntries[i] to entriesForNavigationAPI. 3. Set i to i − 1. 8. Set i to startingIndex + 1. 9. While i < rawEntries's [41520]size: 1. If rawEntries[i]'s [41521]document state's [41522]origin is not [41523]same origin with startingOrigin, then [41524]break. 2. [41525]Append rawEntries[i] to entriesForNavigationAPI. 3. Set i to i + 1. 10. Return entriesForNavigationAPI.

    To clear the forward session history of a [41526]traversable navigable navigable: 1. [41527]Assert: this is running within navigable's [41528]session history traversal queue. 2. Let step be the navigable's [41529]current session history step. 3. Let entryLists be the [41530]ordered set « navigable's [41531]session history entries ». 4. [41532]For each entryList of entryLists: 1. [41533]Remove every [41534]session history entry from entryList that has a [41535]step greater than step. 2. [41536]For each entry of entryList: 1. [41537]For each nestedHistory of entry's [41538]document state's [41539]nested histories, [41540]append nestedHistory's [41541]entries list to entryLists.

    To get all used history steps that are part of [41542]traversable navigable traversable: 1. [41543]Assert: this is running within traversable's [41544]session history traversal queue. 2. Let steps be an empty [41545]ordered set of non-negative integers. 3. Let entryLists be the [41546]ordered set « traversable's [41547]session history entries ». 4. [41548]For each entryList of entryLists: 1. [41549]For each entry of entryList: 1. [41550]Append entry's [41551]step to steps. 2. [41552]For each nestedHistory of entry's [41553]document state's [41554]nested histories, [41555]append nestedHistory's [41556]entries list to entryLists. 5. Return steps, [41557]sorted.

    7.4.2 Navigation

    Certain actions cause a [41558]navigable to [41559]navigate to a new resource.

    For example, [41560]following a hyperlink, [41561]form submission, and the [41562]window.open() and [41563]location.assign() methods can all cause navigation.

    Although in this standard the word "navigation" refers specifically to the [41564]navigate algorithm, this doesn't always line up with web developer or user perceptions. For example: * The [41565]URL and history update steps are often used during so-called "single-page app navigations" or "same-document navigations", but they do not trigger the [41566]navigate algorithm. * [41567]Reloads and [41568]traversals are sometimes talked about as a type of navigation, since all three will often [41569]attempt to populate the history entry's document and thus could perform navigational fetches. See, e.g., the APIs exposed Navigation Timing. But they have their own entry point algorithms, separate from the [41570]navigate algorithm. [41571][NAVIGATIONTIMING] * Although [41572]fragment navigations are always done through the [41573]navigate algorithm, a user might perceive them as more like jumping around a single page, than as a true navigation.

    7.4.2.1 Supporting concepts

    Before we can jump into the [41574]navigation algorithm itself, we need to establish several important structures that it uses.

    The source snapshot params [41575]struct is used to capture data from a [41576]Document initiating a navigation. It is snapshotted at the beginning of a navigation and used throughout the navigation's lifetime. It has the following [41577]items:

    has transient activation a boolean

    sandboxing flags a [41578]sandboxing flag set

    allows downloading a boolean

    fetch client an [41579]environment settings object, only to be used as a [41580]request client

    source policy container a [41581]policy container

    To snapshot source snapshot params given a [41582]Document sourceDocument, return a new [41583]source snapshot params with

    [41584]has transient activation true if sourceDocument's [41585]relevant global object has [41586]transient activation; otherwise false

    [41587]sandboxing flags sourceDocument's [41588]active sandboxing flag set

    [41589]allows downloading false if sourceDocument's [41590]active sandboxing flag set has the [41591]sandboxed downloads browsing context flag set; otherwise true

    [41592]fetch client sourceDocument's [41593]relevant settings object

    [41594]source policy container a [41595]clone of sourceDocument's [41596]policy container __________________________________________________________________

    The target snapshot params [41597]struct is used to capture data from a [41598]navigable being navigated. Like [41599]source snapshot params, it is snapshotted at the beginning of a navigation and used throughout the navigation's lifetime. It has the following [41600]items:

    sandboxing flags a [41601]sandboxing flag set

    To snapshot target snapshot params given a [41602]navigable targetNavigable, return a new [41603]target snapshot params with [41604]sandboxing flags set to the result of [41605]determining the creation sandboxing flags given targetNavigable's [41606]active browsing context and targetNavigable's [41607]container. __________________________________________________________________

    Much of the navigation process is concerned with determining how to create a new [41608]Document, which ultimately happens in the [41609]create and initialize a Document object algorithm. The parameters to that algorithm are tracked via a navigation params [41610]struct, which has the following [41611]items:

    id null or a [41612]navigation ID

    navigable the [41613]navigable to be navigated

    request null or a [41614]request that started the navigation

    response a [41615]response that ultimately was navigated to (potentially a [41616]network error)

    fetch controller null or a [41617]fetch controller

    commit early hints null or an algorithm accepting a [41618]Document, once it has been created

    COOP enforcement result an [41619]opener policy enforcement result, used for reporting and potentially for causing a [41620]browsing context group switch

    reserved environment null or an [41621]environment reserved for the new [41622]Document

    origin an [41623]origin to use for the new [41624]Document

    policy container a [41625]policy container to use for the new [41626]Document

    final sandboxing flag set a [41627]sandboxing flag set to impose on the new [41628]Document

    opener policy an [41629]opener policy to use for the new [41630]Document

    navigation timing type a [41631]NavigationTimingType used for [41632]creating the navigation timing entry for the new [41633]Document

    about base URL a [41634]URL or null used to populate the new [41635]Document's [41636]about base URL

    user involvement a [41637]user navigation involvement used when [41638]obtaining a browsing context for the new [41639]Document

    Once a [41640]navigation params struct is created, this standard does not mutate any of its [41641]items. They are only passed onward to other algorithms. __________________________________________________________________

    A navigation ID is a UUID string generated during navigation. It is used to interface with the WebDriver BiDi specification as well as to track the [41642]ongoing navigation. [41643][WEBDRIVERBIDI] __________________________________________________________________

    After [41644]Document creation, the relevant [41645]traversable navigable's [41646]session history gets updated. The [41647]NavigationHistoryBehavior enumeration is used to indicate the desired type of session history update to the [41648]navigate algorithm. It is one of the following:

    "push" A regular navigation which adds a new [41649]session history entry, and will [41650]clear the forward session history.

    "replace" A navigation that will replace the [41651]active session history entry.

    "auto" The default value, which will be converted very early in the [41652]navigate algorithm into "[41653]push" or "[41654]replace". Usually it becomes "[41655]push", but under [41656]certain circumstances it becomes "[41657]replace" instead.

    A history handling behavior is a [41658]NavigationHistoryBehavior that is either "[41659]push" or "[41660]replace", i.e., that has been resolved away from any initial "[41661]auto" value.

    The navigation must be a replace, given a [41662]URL url and a [41663]Document document, if any of the following are true: * url's [41664]scheme is "[41665]javascript"; or * document's [41666]is initial about:blank is true.

    Other cases that often, but not always, force a "[41667]replace" navigation are: * if the [41668]Document is not [41669]completely loaded; or * if the target [41670]URL equals the [41671]Document's [41672]URL. __________________________________________________________________

    Various parts of the platform track whether a user is involved in a navigation. A user navigation involvement is one of the following:

    "browser UI" The navigation was initiated by the user via browser UI mechanisms.

    "activation" The navigation was initiated by the user via the [41673]activation behavior of an element.

    "none" The navigation was not initiated by the user.

    For convenience at certain call sites, the user navigation involvement for an [41674]Event event is defined as follows: 1. [41675]Assert: this algorithm is being called as part of an [41676]activation behavior definition. 2. [41677]Assert: event's [41678]type is "[41679]click". 3. If event's [41680]isTrusted is initialized to true, then return "[41681]activation". 4. Return "[41682]none".

    7.4.2.2 Beginning navigation

    To navigate a [41683]navigable navigable to a [41684]URL url using a [41685]Document sourceDocument, with an optional [41686]POST resource, string, or null documentResource (default null), an optional [41687]response-or-null response (default null), an optional boolean exceptionsEnabled (default false), an optional [41688]NavigationHistoryBehavior historyHandling (default "[41689]auto"), an optional [41690]serialized state-or-null navigationAPIState (default null), an optional [41691]entry list or null formDataEntryList (default null), an optional [41692]referrer policy referrerPolicy (default the empty string), an optional [41693]user navigation involvement userInvolvement (default "[41694]none"), and an optional [41695]Element sourceElement (default null): 1. Let cspNavigationType be "form-submission" if formDataEntryList is non-null; otherwise "other". 2. Let sourceSnapshotParams be the result of [41696]snapshotting source snapshot params given sourceDocument. 3. Let initiatorOriginSnapshot be sourceDocument's [41697]origin. 4. Let initiatorBaseURLSnapshot be sourceDocument's [41698]document base URL. 5. If sourceDocument's [41699]node navigable is not [41700]allowed by sandboxing to navigate navigable given sourceSnapshotParams, then: 1. If exceptionsEnabled is true, then throw a [41701]"SecurityError" [41702]DOMException. 2. Return. 6. Let navigationId be the result of [41703]generating a random UUID. [41704][WEBCRYPTO] 7. If the [41705]surrounding agent is equal to navigable's [41706]active document's [41707]relevant agent, then continue these steps. Otherwise, [41708]queue a global task on the [41709]navigation and traversal task source given navigable's [41710]active window to continue these steps. We do this because we are about to look at a lot of properties of navigable's [41711]active document, which are in theory only accessible over in the appropriate [41712]event loop. (But, we do not want to unconditionally queue a task, since — for example — same-event-loop [41713]fragment navigations need to take effect synchronously.) Another implementation strategy would be to replicate the relevant information across event loops, or into a canonical "browser process", so that it can be consulted without queueing a task. This could give different results than what we specify here in edge cases, where the relevant properties have changed over in the target event loop but not yet been replicated. Further testing is needed to determine which of these strategies best matches browser behavior, in such racy edge cases. 8. If navigable's [41714]active document's [41715]unload counter is greater than 0, then invoke [41716]WebDriver BiDi navigation failed with navigable and a [41717]WebDriver BiDi navigation status whose [41718]id is navigationId, [41719]status is "[41720]canceled", and [41721]url is url, and return. 9. Let container be navigable's [41722]container. 10. If container is an [41723]iframe element and [41724]will lazy load element steps given container returns true, then [41725]stop intersection-observing a lazy loading element container and set container's [41726]lazy load resumption steps to null. 11. If historyHandling is "[41727]auto", then: 1. If url [41728]equals navigable's [41729]active document's [41730]URL, and initiatorOriginSnapshot is [41731]same origin with targetNavigable's [41732]active document's [41733]origin, then set historyHandling to "[41734]replace". 2. Otherwise, set historyHandling to "[41735]push". 12. If [41736]the navigation must be a replace given url and navigable's [41737]active document, then set historyHandling to "[41738]replace". 13. If all of the following are true: + documentResource is null; + response is null; + url [41739]equals navigable's [41740]active session history entry's [41741]URL with [41742]exclude fragments set to true; and + url's [41743]fragment is non-null, then: 1. [41744]Navigate to a fragment given navigable, url, historyHandling, userInvolvement, sourceElement, navigationAPIState, and navigationId. 2. Return. 14. If navigable's [41745]parent is non-null, then set navigable's [41746]is delaying load events to true. 15. Let targetSnapshotParams be the result of [41747]snapshotting target snapshot params given navigable. 16. Invoke [41748]WebDriver BiDi navigation started with navigable and a new [41749]WebDriver BiDi navigation status whose [41750]id is navigationId, [41751]status is "[41752]pending", and [41753]url is url. 17. If navigable's [41754]ongoing navigation is "traversal", then: 1. Invoke [41755]WebDriver BiDi navigation failed with navigable and a new [41756]WebDriver BiDi navigation status whose [41757]id is navigationId, [41758]status is "[41759]canceled", and [41760]url is url. 2. Return. Any attempts to navigate a [41761]navigable that is currently [41762]traversing are ignored. 18. [41763]Set the ongoing navigation for navigable to navigationId. This will have the effect of aborting other ongoing navigations of navigable, since at certain points during navigation changes to the [41764]ongoing navigation will cause further work to be abandoned. 19. If url's [41765]scheme is "[41766]javascript", then: 1. [41767]Queue a global task on the [41768]navigation and traversal task source given navigable's [41769]active window to [41770]navigate to a javascript: URL given navigable, url, historyHandling, sourceSnapshotParams, initiatorOriginSnapshot, userInvolvement, and cspNavigationType. 2. Return. 20. If all of the following are true: + userInvolvement is not "[41771]browser UI"; + navigable's [41772]active document's [41773]origin is [41774]same origin-domain with sourceDocument's [41775]origin; + navigable's [41776]active document's [41777]is initial about:blank is false; and + url's [41778]scheme is a [41779]fetch scheme, then: 1. Let navigation be navigable's [41780]active window's [41781]navigation API. 2. Let entryListForFiring be formDataEntryList if documentResource is a [41782]POST resource; otherwise, null. 3. Let navigationAPIStateForFiring be navigationAPIState if navigationAPIState is not null; otherwise, [41783]StructuredSerializeForStorage(undefined). 4. Let continue be the result of [41784]firing a push/replace/reload navigate event at navigation with [41785]navigationType set to historyHandling, [41786]isSameDocument set to false, [41787]userInvolvement set to userInvolvement, [41788]sourceElement set to sourceElement, [41789]formDataEntryList set to entryListForFiring, [41790]destinationURL set to url, and [41791]navigationAPIState set to navigationAPIStateForFiring. 5. If continue is false, then return. It is possible for navigations with userInvolvement of "[41792]browser UI" or initiated by a [41793]cross origin-domain sourceDocument to fire [41794]navigate events, if they go through the earlier [41795]navigate to a fragment path. 21. [41796]In parallel, run these steps: 1. Let unloadPromptCanceled be the result of [41797]checking if unloading is canceled for navigable's [41798]active document's [41799]inclusive descendant navigables. 2. If unloadPromptCanceled is true, or navigable's [41800]ongoing navigation is no longer navigationId, then: 1. Invoke [41801]WebDriver BiDi navigation failed with navigable and a new [41802]WebDriver BiDi navigation status whose [41803]id is navigationId, [41804]status is "[41805]canceled", and [41806]url is url. 2. Abort these steps. 3. [41807]Queue a global task on the [41808]navigation and traversal task source given navigable's [41809]active window to [41810]abort a document and its descendants given navigable's [41811]active document. 4. Let documentState be a new [41812]document state with

    [41813]request referrer policy referrerPolicy

    [41814]initiator origin initiatorOriginSnapshot

    [41815]resource documentResource

    [41816]navigable target name navigable's [41817]target name

    The [41818]navigable target name can get cleared under various conditions later in the navigation process, before the document state is finalized. 5. If url [41819]matches about:blank or is [41820]about:srcdoc, then: 1. Set documentState's [41821]origin to initiatorOriginSnapshot. 2. Set documentState's [41822]about base URL to initiatorBaseURLSnapshot. 6. Let historyEntry be a new [41823]session history entry, with its [41824]URL set to url and its [41825]document state set to documentState. 7. Let navigationParams be null. 8. If response is non-null: The [41826]navigate algorithm is only supplied with a [41827]response as part of the [41828]object and [41829]embed processing models, or for processing parts of [41830]multipart/x-mixed-replace responses after the initial response. 1. Let policyContainer be the result of [41831]determining navigation params policy container given [41832]response's [41833]URL, null, a [41834]clone of the sourceDocument's [41835]policy container, navigable's [41836]container document's [41837]policy container, and null. 2. Let finalSandboxFlags be the [41838]union of targetSnapshotParams's [41839]sandboxing flags and policyContainer's [41840]CSP list's [41841]CSP-derived sandboxing flags. 3. Let responseOrigin be the result of [41842]determining the origin given response's [41843]URL, finalSandboxFlags, and documentState's [41844]initiator origin. 4. Let coop be a new [41845]opener policy. 5. Let coopEnforcementResult be a new [41846]opener policy enforcement result with

    [41847]url response's [41848]URL

    [41849]origin responseOrigin

    [41850]opener policy coop

    6. Set navigationParams to a new [41851]navigation params, with

    [41852]id navigationId

    [41853]navigable navigable

    [41854]request null

    [41855]response response

    [41856]fetch controller null

    [41857]commit early hints null

    [41858]COOP enforcement result coopEnforcementResult

    [41859]reserved environment null

    [41860]origin responseOrigin

    [41861]policy container policyContainer

    [41862]final sandboxing flag set finalSandboxFlags

    [41863]opener policy coop

    [41864]navigation timing type "[41865]navigate"

    [41866]about base URL documentState's [41867]about base URL

    [41868]user involvement userInvolvement

    9. [41869]Attempt to populate the history entry's document for historyEntry, given navigable, "[41870]navigate", sourceSnapshotParams, targetSnapshotParams, userInvolvement, navigationId, navigationParams, cspNavigationType, with [41871]allowPOST set to true and [41872]completionSteps set to the following step: 1. [41873]Append session history traversal steps to navigable's [41874]traversable to [41875]finalize a cross-document navigation given navigable, historyHandling, userInvolvement, and historyEntry.

    7.4.2.3 Ending navigation

    Although the usual cross-document navigation case will first foray into [41876]populating a session history entry with a [41877]Document, all navigations that don't get aborted will ultimately end up calling into one of the below algorithms.

    7.4.2.3.1 The usual cross-document navigation case

    To finalize a cross-document navigation given a [41878]navigable navigable, a [41879]history handling behavior historyHandling, a [41880]user navigation involvement userInvolvement, and a [41881]session history entry historyEntry: 1. [41882]Assert: this is running on navigable's [41883]traversable navigable's [41884]session history traversal queue. 2. Set navigable's [41885]is delaying load events to false. 3. If historyEntry's [41886]document is null, then return. This means that [41887]attempting to populate the history entry's document ended up not creating a document, as a result of e.g., the navigation being canceled by a subsequent navigation, a 204 No Content response, etc. 4. If all of the following are true: + navigable's [41888]parent is null; + historyEntry's [41889]document's [41890]browsing context is not an [41891]auxiliary browsing context whose [41892]opener browsing context is non-null; and + historyEntry's [41893]document's [41894]origin is not navigable's [41895]active document's [41896]origin, then set historyEntry's [41897]document state's [41898]navigable target name to the empty string. 5. Let entryToReplace be navigable's [41899]active session history entry if historyHandling is "[41900]replace", otherwise null. 6. Let traversable be navigable's [41901]traversable navigable. 7. Let targetStep be null. 8. Let targetEntries be the result of [41902]getting session history entries for navigable. 9. If entryToReplace is null, then: 1. [41903]Clear the forward session history of traversable. 2. Set targetStep to traversable's [41904]current session history step + 1. 3. Set historyEntry's [41905]step to targetStep. 4. [41906]Append historyEntry to targetEntries. Otherwise: 1. [41907]Replace entryToReplace with historyEntry in targetEntries. 2. Set historyEntry's [41908]step to entryToReplace's [41909]step. 3. If historyEntry's [41910]document state's [41911]origin is [41912]same origin with entryToReplace's [41913]document state's [41914]origin, then set historyEntry's [41915]navigation API key to entryToReplace's [41916]navigation API key. 4. Set targetStep to traversable's [41917]current session history step. 10. [41918]Apply the push/replace history step targetStep to traversable given historyHandling and userInvolvement.

    7.4.2.3.2 The javascript: URL special case

    [41919]javascript: URLs have a [41920]dedicated label on the issue tracker documenting various problems with their specification.

    To navigate to a javascript: URL, given a [41921]navigable targetNavigable, a [41922]URL url, a [41923]history handling behavior historyHandling, a [41924]source snapshot params sourceSnapshotParams, an [41925]origin initiatorOrigin, a [41926]user navigation involvement userInvolvement, and a string cspNavigationType: 1. [41927]Assert: historyHandling is "[41928]replace". 2. [41929]Set the ongoing navigation for targetNavigable to null. 3. If initiatorOrigin is not [41930]same origin-domain with targetNavigable's [41931]active document's [41932]origin, then return. 4. Let request be a new [41933]request whose [41934]URL is url and whose [41935]policy container is sourceSnapshotParams's [41936]source policy container. This is a synthetic [41937]request solely for plumbing into the next step. It will never hit the network. 5. If the result of [41938]should navigation request of type be blocked by Content Security Policy? given request and cspNavigationType is "Blocked", then return. [41939][CSP] 6. Let newDocument be the result of [41940]evaluating a javascript: URL given targetNavigable, url, initiatorOrigin, and userInvolvement. 7. If newDocument is null, then return. In this case, some JavaScript code was executed, but no new [41941]Document was created, so we will not perform a navigation. 8. [41942]Assert: initiatorOrigin is newDocument's [41943]origin. 9. Let entryToReplace be targetNavigable's [41944]active session history entry. 10. Let oldDocState be entryToReplace's [41945]document state. 11. Let documentState be a new [41946]document state with

    [41947]document newDocument

    [41948]history policy container a [41949]clone of the oldDocState's [41950]history policy container if it is non-null; null otherwise

    [41951]request referrer oldDocState's [41952]request referrer

    [41953]request referrer policy oldDocState's [41954]request referrer policy or should this be the referrerPolicy that was passed to [41955]navigate?

    [41956]initiator origin initiatorOrigin

    [41957]origin initiatorOrigin

    [41958]about base URL oldDocState's [41959]about base URL

    [41960]resource null

    [41961]ever populated true

    [41962]navigable target name oldDocState's [41963]navigable target name

    12. Let historyEntry be a new [41964]session history entry, with

    [41965]URL entryToReplace's [41966]URL

    [41967]document state documentState

    For the [41968]URL, we do not use url, i.e. the actual [41969]javascript: URL that the [41970]navigate algorithm was called with. This means [41971]javascript: URLs are never stored in session history, and so can never be traversed to. 13. [41972]Append session history traversal steps to targetNavigable's [41973]traversable to [41974]finalize a cross-document navigation with targetNavigable, historyHandling, userInvolvement, and historyEntry.

    To evaluate a javascript: URL given a [41975]navigable targetNavigable, a [41976]URL url, an [41977]origin newDocumentOrigin, and a [41978]user navigation involvement userInvolvement: 1. Let urlString be the result of running the [41979]URL serializer on url. 2. Let encodedScriptSource be the result of removing the leading "javascript:" from urlString. 3. Let scriptSource be the [41980]UTF-8 decoding of the [41981]percent-decoding of encodedScriptSource. 4. Let settings be targetNavigable's [41982]active document's [41983]relevant settings object. 5. Let baseURL be settings's [41984]API base URL. 6. Let script be the result of [41985]creating a classic script given scriptSource, settings, baseURL, and the [41986]default script fetch options. 7. Let evaluationStatus be the result of [41987]running the classic script script. 8. Let result be null. 9. If evaluationStatus is a normal completion, and evaluationStatus.[[Value]] is a String, then set result to evaluationStatus.[[Value]]. 10. Otherwise, return null. 11. Let response be a new [41988]response with

    [41989]URL targetNavigable's [41990]active document's [41991]URL

    [41992]header list « (`[41993]Content-Type`, `text/html;charset=utf-8`) »

    [41994]body the [41995]UTF-8 encoding of result, [41996]as a body

    The encoding to UTF-8 means that unpaired [41997]surrogates will not roundtrip, once the HTML parser decodes the response body. 12. Let policyContainer be targetNavigable's [41998]active document's [41999]policy container. 13. Let finalSandboxFlags be policyContainer's [42000]CSP list's [42001]CSP-derived sandboxing flags. 14. Let coop be targetNavigable's [42002]active document's [42003]opener policy. 15. Let coopEnforcementResult be a new [42004]opener policy enforcement result with

    [42005]url url

    [42006]origin newDocumentOrigin

    [42007]opener policy coop

    16. Let navigationParams be a new [42008]navigation params, with

    [42009]id navigationId

    [42010]navigable targetNavigable

    [42011]request null this will cause the referrer of the resulting [42012]Document to be null; is that correct?

    [42013]response response

    [42014]fetch controller null

    [42015]commit early hints null

    [42016]COOP enforcement result coopEnforcementResult

    [42017]reserved environment null

    [42018]origin newDocumentOrigin

    [42019]policy container policyContainer

    [42020]final sandboxing flag set finalSandboxFlags

    [42021]opener policy coop

    [42022]navigation timing type "[42023]navigate"

    [42024]about base URL targetNavigable's [42025]active document's [42026]about base URL

    [42027]user involvement userInvolvement

    17. Return the result of [42028]loading an HTML document given navigationParams.

    7.4.2.3.3 Fragment navigations

    To navigate to a fragment given a [42029]navigable navigable, a [42030]URL url, a [42031]history handling behavior historyHandling, a [42032]user navigation involvement userInvolvement, an [42033]Element-or-null sourceElement, a [42034]serialized state-or-null navigationAPIState, and a [42035]navigation ID navigationId: 1. Let navigation be navigable's [42036]active window's [42037]navigation API. 2. Let destinationNavigationAPIState be navigable's [42038]active session history entry's [42039]navigation API state. 3. If navigationAPIState is not null, then set destinationNavigationAPIState to navigationAPIState. 4. Let continue be the result of [42040]firing a push/replace/reload navigate event at navigation with [42041]navigationType set to historyHandling, [42042]isSameDocument set to true, [42043]userInvolvement set to userInvolvement, [42044]sourceElement set to sourceElement, [42045]destinationURL set to url, and [42046]navigationAPIState set to destinationNavigationAPIState. 5. If continue is false, then return. 6. Let historyEntry be a new [42047]session history entry, with

    [42048]URL url

    [42049]document state navigable's [42050]active session history entry's [42051]document state

    [42052]navigation API state destinationNavigationAPIState

    [42053]scroll restoration mode navigable's [42054]active session history entry's [42055]scroll restoration mode

    For navigations peformed with [42056]navigation.navigate(), the value provided by the [42057]state option is used for the new [42058]navigation API state. (This will set it to the serialization of undefined, if no value is provided for that option.) For other fragment navigations, including user-initiated ones, the [42059]navigation API state is carried over from the previous entry. The [42060]classic history API state is never carried over. 7. Let entryToReplace be navigable's [42061]active session history entry if historyHandling is "[42062]replace", otherwise null. 8. Let history be navigable's [42063]active document's [42064]history object. 9. Let scriptHistoryIndex be history's [42065]index. 10. Let scriptHistoryLength be history's [42066]length. 11. If historyHandling is "[42067]push", then: 1. Set history's [42068]state to null. 2. Increment scriptHistoryIndex. 3. Set scriptHistoryLength to scriptHistoryIndex + 1. 12. Set navigable's [42069]active document's [42070]URL to url. 13. Set navigable's [42071]active session history entry to historyEntry. 14. [42072]Update document for history step application given navigable's [42073]active document, historyEntry, true, scriptHistoryIndex, scriptHistoryLength, and historyHandling. This algorithm will be called twice as a result of a single fragment navigation: once synchronously, where best-guess values scriptHistoryIndex and scriptHistoryLength are set, [42074]history.state is nulled out, and various events are fired; and once asynchronously, where the final values for index and length are set, [42075]history.state remains untouched, and no events are fired. 15. [42076]Scroll to the fragment given navigable's [42077]active document. If the scrolling fails because the [42078]Document is new and the relevant [42079]ID has not yet been parsed, then the second asynchronous call to [42080]update document for history step application will take care of scrolling. 16. Let traversable be navigable's [42081]traversable navigable. 17. [42082]Append the following session history synchronous navigation steps involving navigable to traversable: 1. [42083]Finalize a same-document navigation given traversable, navigable, historyEntry, entryToReplace, historyHandling, and userInvolvement. 2. Invoke [42084]WebDriver BiDi fragment navigated with navigable and a new [42085]WebDriver BiDi navigation status whose [42086]id is navigationId, [42087]url is url, and [42088]status is "[42089]complete".

    To finalize a same-document navigation given a [42090]traversable navigable traversable, a [42091]navigable targetNavigable, a [42092]session history entry targetEntry, a [42093]session history entry-or-null entryToReplace, a [42094]history handling behavior historyHandling, and a [42095]user navigation involvement userInvolvement:

    This is used by both [42096]fragment navigations and by the [42097]URL and history update steps, which are the only synchronous updates to session history. By virtue of being synchronous, those algorithms are performed outside of the [42098]top-level traversable's [42099]session history traversal queue. This puts them out of sync with the [42100]top-level traversable's [42101]current session history step, so this algorithm is used to resolve conflicts due to race conditions. 1. [42102]Assert: this is running on traversable's [42103]session history traversal queue. 2. If targetNavigable's [42104]active session history entry is not targetEntry, then return. 3. Let targetStep be null. 4. Let targetEntries be the result of [42105]getting session history entries for targetNavigable. 5. If entryToReplace is null, then: 1. [42106]Clear the forward session history of traversable. 2. Set targetStep to traversable's [42107]current session history step + 1. 3. Set targetEntry's [42108]step to targetStep. 4. [42109]Append targetEntry to targetEntries. Otherwise: 1. [42110]Replace entryToReplace with targetEntry in targetEntries. 2. Set targetEntry's [42111]step to entryToReplace's [42112]step. 3. Set targetStep to traversable's [42113]current session history step. 6. [42114]Apply the push/replace history step targetStep to traversable given historyHandling and userInvolvement. This is done even for "[42115]replace" navigations, as it resolves race conditions across multiple synchronous navigations.

    7.4.2.3.4 Non-fetch schemes and external software

    The input to [42116]attempt to create a non-fetch scheme document is the non-fetch scheme navigation params [42117]struct. It is a lightweight version of [42118]navigation params which only carries parameters relevant to the non-[42119]fetch scheme navigation case. It has the following [42120]items:

    id null or a [42121]navigation ID

    navigable the [42122]navigable experiencing the navigation

    URL a [42123]URL

    target snapshot sandboxing flags the [42124]target snapshot params's [42125]sandboxing flags present during navigation

    source snapshot has transient activation a copy of the [42126]source snapshot params's [42127]has transient activation boolean present during activation

    initiator origin an [42128]origin possibly for use in a user-facing prompt to confirm the invocation of an external software package

    This differs slightly from a [42129]document state's [42130]initiator origin in that a [42131]non-fetch scheme navigation params's [42132]initiator origin follows redirects up to the last [42133]fetch scheme URL in a redirect chain that ends in a non-[42134]fetch scheme URL.

    navigation timing type a [42135]NavigationTimingType used for [42136]creating the navigation timing entry for the new [42137]Document (if one is created)

    user involvement a [42138]user navigation involvement used when [42139]obtaining a browsing context for the new [42140]Document (if one is created)

    To attempt to create a non-fetch scheme document, given a [42141]non-fetch scheme navigation params navigationParams: 1. Let url be navigationParams's [42142]URL. 2. Let navigable be navigationParams's [42143]navigable. 3. If url is to be handled using a mechanism that does not affect navigable, e.g., because url's [42144]scheme is handled externally, then: 1. [42145]Hand-off to external software given url, navigable, navigationParams's [42146]target snapshot sandboxing flags, navigationParams's [42147]source snapshot has transient activation, and navigationParams's [42148]initiator origin. 2. Return null. 4. Handle url by displaying some sort of inline content, e.g., an error message because the specified scheme is not one of the supported protocols, or an inline prompt to allow the user to select [42149]a registered handler for the given scheme. Return the result of [42150]displaying the inline content given navigable, navigationParams's [42151]id, navigationParams's [42152]navigation timing type, and navigationParams's [42153]user involvement. In the case of a registered handler being used, [42154]navigate will be invoked with a new URL.

    To hand-off to external software given a [42155]URL or [42156]response resource, a [42157]navigable navigable, a [42158]sandboxing flag set sandboxFlags, a boolean hasTransientActivation, and an [42159]origin initiatorOrigin, user agents should: 1. If all of the following are true: + navigable is not a [42160]top-level traversable; + sandboxFlags has its [42161]sandboxed custom protocols navigation browsing context flag set; and + sandboxFlags has its [42162]sandboxed top-level navigation with user activation browsing context flag set, or hasTransientActivation is false, then return without invoking the external software package. Navigation inside an iframe toward external software can be seen by users as a new popup or a new top-level navigation. That's why its is allowed in sandboxed [42163]iframe only when one of [42164]allow-popups, [42165]allow-top-navigation, [42166]allow-top-navigation-by-user-activation, or [42167]allow-top-navigation-to-custom-protocols is specified. 2. Perform the appropriate handoff of resource while attempting to mitigate the risk that this is an attempt to exploit the target software. For example, user agents could prompt the user to confirm that initiatorOrigin is to be allowed to invoke the external software in question. In particular, if hasTransientActivation is false, then the user agent should not invoke the external software package without prior user confirmation. For example, there could be a vulnerability in the target software's URL handler which a hostile page would attempt to exploit by tricking a user into clicking a link.

    7.4.2.4 Preventing navigation

    A couple of scenarios can intervene early in the navigation process and put the whole thing to a halt. This can be especially exciting when multiple [42168]navigables are navigating at the same time, due to a session history traversal.

    A [42169]navigable source is allowed by sandboxing to navigate a second [42170]navigable target, given a [42171]source snapshot params sourceSnapshotParams, if the following steps return true: 1. If source is target, then return true. 2. If source is an ancestor of target, then return true. 3. If target is an ancestor of source, then: 1. If target is not a [42172]top-level traversable, then return true. 2. If sourceSnapshotParams's [42173]has transient activation is true, and sourceSnapshotParams's [42174]sandboxing flags's [42175]sandboxed top-level navigation with user activation browsing context flag is set, then return false. 3. If sourceSnapshotParams's [42176]has transient activation is false, and sourceSnapshotParams's [42177]sandboxing flags's [42178]sandboxed top-level navigation without user activation browsing context flag is set, then return false. 4. Return true. 4. If target is a [42179]top-level traversable: 1. If source is the [42180]one permitted sandboxed navigator of target, then return true. 2. If sourceSnapshotParams's [42181]sandboxing flags's [42182]sandboxed navigation browsing context flag is set, then return false. 3. Return true. 5. If sourceSnapshotParams's [42183]sandboxing flags's [42184]sandboxed navigation browsing context flag is set, then return false. 6. Return true.

    To check if unloading is canceled for a [42185]list of [42186]navigables navigablesThatNeedBeforeUnload, given an optional [42187]traversable navigable traversable, an optional integer targetStep, and an optional [42188]user navigation involvement userInvolvementForNavigateEvent, run these steps. They return "canceled-by-beforeunload", "canceled-by-navigate", or "continue". 1. Let documentsToFireBeforeunload be the [42189]active document of each [42190]item in navigablesThatNeedBeforeUnload. 2. Let unloadPromptShown be false. 3. Let finalStatus be "continue". 4. If traversable was given, then: 1. [42191]Assert: targetStep and userInvolvementForNavigateEvent were given. 2. Let targetEntry be the result of [42192]getting the target history entry given traversable and targetStep. 3. If targetEntry is not traversable's [42193]current session history entry, and targetEntry's [42194]document state's [42195]origin is the [42196]same as traversable's [42197]current session history entry's [42198]document state's [42199]origin, then: In this case, we're going to fire the [42200]navigate event for traversable here. Because [42201]under some circumstances it might be canceled, we need to do this separately from [42202]other traversal navigate events, which happen later. Additionally, because we want [42203]beforeunload events to fire before [42204]navigate events, this means we need to fire [42205]beforeunload for traversable here (if applicable), instead of doing it as part of the below loop over documentsToFireBeforeunload. 1. Let eventsFired be false. 2. Let needsBeforeunload be true if navigablesThatNeedBeforeUnload [42206]contains traversable; otherwise false. 3. If needsBeforeunload is true, then [42207]remove traversable's [42208]active document from documentsToFireBeforeunload. 4. [42209]Queue a global task on the [42210]navigation and traversal task source given traversable's [42211]active window to perform the following steps: 1. If needsBeforeunload is true, then: 1. Let (unloadPromptShownForThisDocument, unloadPromptCanceledByThisDocument) be the result of running the [42212]steps to fire beforeunload given traversable's [42213]active document and false. 2. If unloadPromptShownForThisDocument is true, then set unloadPromptShown to true. 3. If unloadPromptCanceledByThisDocument is true, then set finalStatus to "canceled-by-beforeunload". 2. If finalStatus is "canceled-by-beforeunload", then abort these steps. 3. Let navigation be traversable's [42214]active window's [42215]navigation API. 4. Let navigateEventResult be the result of [42216]firing a traverse navigate event at navigation given targetEntry and userInvolvementForNavigateEvent. 5. If navigateEventResult is false, then set finalStatus to "canceled-by-navigate". 6. Set eventsFired to true. 5. Wait until eventsFired is true. 6. If finalStatus is not "continue", then return finalStatus. 5. Let totalTasks be the [42217]size of documentsToFireBeforeunload. 6. Let completedTasks be 0. 7. [42218]For each document of documentsToFireBeforeunload, [42219]queue a global task on the [42220]navigation and traversal task source given document's [42221]relevant global object to run the steps: 1. Let (unloadPromptShownForThisDocument, unloadPromptCanceledByThisDocument) be the result of running the [42222]steps to fire beforeunload given document and unloadPromptShown. 2. If unloadPromptShownForThisDocument is true, then set unloadPromptShown to true. 3. If unloadPromptCanceledByThisDocument is true, then set finalStatus to "canceled-by-beforeunload". 4. Increment completedTasks. 8. Wait for completedTasks to be totalTasks. 9. Return finalStatus.

    The steps to fire beforeunload given a [42223]Document document and a boolean unloadPromptShown are: 1. Let unloadPromptCanceled be false. 2. Increase the document's [42224]unload counter by 1. 3. Increase document's [42225]relevant agent's [42226]event loop's [42227]termination nesting level by 1. 4. Let eventFiringResult be the result of [42228]firing an event named [42229]beforeunload at document's [42230]relevant global object, using [42231]BeforeUnloadEvent, with the [42232]cancelable attribute initialized to true. 5. Decrease document's [42233]relevant agent's [42234]event loop's [42235]termination nesting level by 1. 6. If all of the following are true: + unloadPromptShown is false; + document's [42236]active sandboxing flag set does not have its [42237]sandboxed modals flag set; + document's [42238]relevant global object has [42239]sticky activation; + eventFiringResult is false, or the [42240]returnValue attribute of event is not the empty string; and + showing an unload prompt is unlikely to be annoying, deceptive, or pointless, then: 1. Set unloadPromptShown to true. 2. Let userPromptHandler be the result of [42241]WebDriver BiDi user prompt opened with document's [42242]relevant global object, "beforeunload", and "". 3. If userPromptHandler is "dismiss", then set unloadPromptCanceled to true. 4. If userPromptHandler is "none", then: 1. Ask the user to confirm that they wish to unload the document, and [42243]pause while waiting for the user's response. The message shown to the user is not customizable, but instead determined by the user agent. In particular, the actual value of the [42244]returnValue attribute is ignored. 2. If the user did not confirm the page navigation, then set unloadPromptCanceled to true. 5. Invoke [42245]WebDriver BiDi user prompt closed with document's [42246]relevant global object, "beforeunload", and true if unloadPromptCanceled is false or false otherwise. 7. Decrease document's [42247]unload counter by 1. 8. Return (unloadPromptShown, unloadPromptCanceled).

    7.4.2.5 Aborting navigation

    Each [42248]navigable has an ongoing navigation, which is a [42249]navigation ID, "traversal", or null, initially null. It is used to track navigation aborting and to prevent any navigations from taking place during [42250]traversal.

    To set the ongoing navigation for a [42251]navigable navigable to newValue: 1. If navigable's [42252]ongoing navigation is equal to newValue, then return. 2. [42253]Inform the navigation API about aborting navigation given navigable. 3. Set navigable's [42254]ongoing navigation to newValue.

    7.4.3 Reloading and traversing

    To reload a [42255]navigable navigable given an optional [42256]serialized state-or-null navigationAPIState (default null) and an optional [42257]user navigation involvement userInvolvement (default "[42258]none"): 1. If userInvolvement is not "[42259]browser UI", then: 1. Let navigation be navigable's [42260]active window's [42261]navigation API. 2. Let destinationNavigationAPIState be navigable's [42262]active session history entry's [42263]navigation API state. 3. If navigationAPIState is not null, then set destinationNavigationAPIState to navigationAPIState. 4. Let continue be the result of [42264]firing a push/replace/reload navigate event at navigation with [42265]navigationType set to "[42266]reload", [42267]isSameDocument set to false, [42268]userInvolvement set to userInvolvement, [42269]destinationURL set to navigable's [42270]active session history entry's [42271]URL, and [42272]navigationAPIState set to destinationNavigationAPIState. 5. If continue is false, then return. 2. Set navigable's [42273]active session history entry's [42274]document state's [42275]reload pending to true. 3. Let traversable be navigable's [42276]traversable navigable. 4. [42277]Append the following session history traversal steps to traversable: 1. [42278]Apply the reload history step to traversable given userInvolvement.

    To traverse the history by a delta given a [42279]traversable navigable traversable, an integer delta, and an optional [42280]Document sourceDocument: 1. Let sourceSnapshotParams and initiatorToCheck be null. 2. Let userInvolvement be "[42281]browser UI". 3. If sourceDocument is given, then: 1. Set sourceSnapshotParams to the result of [42282]snapshotting source snapshot params given sourceDocument. 2. Set initiatorToCheck to sourceDocument's [42283]node navigable. 3. Set userInvolvement to "[42284]none". 4. [42285]Append the following session history traversal steps to traversable: 1. Let allSteps be the result of [42286]getting all used history steps for traversable. 2. Let currentStepIndex be the index of traversable's [42287]current session history step within allSteps. 3. Let targetStepIndex be currentStepIndex plus delta. 4. If allSteps[targetStepIndex] does not [42288]exist, then abort these steps. 5. [42289]Apply the traverse history step allSteps[targetStepIndex] to traversable, given sourceSnapshotParams, initiatorToCheck, and userInvolvement.

    7.4.4 Non-fragment synchronous "navigations"

    Apart from the [42290]navigate algorithm, [42291]session history entries can be pushed or replaced via one more mechanism, the [42292]URL and history update steps. The most well-known callers of these steps are the [42293]history.replaceState() and [42294]history.pushState() APIs, but various other parts of the standard also need to perform updates to the [42295]active history entry, and they use these steps to do so.

    The URL and history update steps, given a [42296]Document document, a [42297]URL newURL, an optional [42298]serialized state-or-null serializedData (default null), and an optional [42299]history handling behavior historyHandling (default "[42300]replace"), are: 1. Let navigable be document's [42301]node navigable. 2. Let activeEntry be navigable's [42302]active session history entry. 3. Let newEntry be a new [42303]session history entry, with

    [42304]URL newURL

    [42305]serialized state if serializedData is not null, serializedData; otherwise activeEntry's [42306]classic history API state

    [42307]document state activeEntry's [42308]document state

    [42309]scroll restoration mode activeEntry's [42310]scroll restoration mode

    [42311]persisted user state activeEntry's [42312]persisted user state

    4. If document's [42313]is initial about:blank is true, then set historyHandling to "[42314]replace". This means that [42315]pushState() on an [42316]initial about:blank [42317]Document behaves as a [42318]replaceState() call. 5. Let entryToReplace be activeEntry if historyHandling is "[42319]replace", otherwise null. 6. If historyHandling is "[42320]push", then: 1. Increment document's [42321]history object's [42322]index. 2. Set document's [42323]history object's [42324]length to its [42325]index + 1. These are temporary best-guess values for immediate synchronous access. 7. If serializedData is not null, then [42326]restore the history object state given document and newEntry. 8. Set document's [42327]URL to newURL. Since this is neither a [42328]navigation nor a [42329]history traversal, it does not cause a [42330]hashchange event to be fired. 9. Set document's [42331]latest entry to newEntry. 10. Set navigable's [42332]active session history entry to newEntry. 11. [42333]Update the navigation API entries for a same-document navigation given document's [42334]relevant global object's [42335]navigation API, newEntry, and historyHandling. 12. Let traversable be navigable's [42336]traversable navigable. 13. [42337]Append the following session history synchronous navigation steps involving navigable to traversable: 1. [42338]Finalize a same-document navigation given traversable, navigable, newEntry, entryToReplace, historyHandling, and "[42339]none". 2. Invoke [42340]WebDriver BiDi history updated with navigable.

    Although both [42341]fragment navigation and the [42342]URL and history update steps perform synchronous history updates, only fragment navigation contains a synchronous call to [42343]update document for history step application. The [42344]URL and history update steps instead perform a few select updates inside the above algorithm, omitting others. This is somewhat of an unfortunate historical accident, and generally leads to [42345]web-developer sadness about the inconsistency. For example, this means that [42346]popstate events fire for fragment navigations, but not for [42347]history.pushState() calls.

    7.4.5 Populating a session history entry

    As explained in [42348]the overview, both [42349]navigation and [42350]traversal involve creating a [42351]session history entry and then attempting to populate its [42352]document member, so that it can be presented inside the [42353]navigable.

    This involves either: using [42354]an already-given response; using the [42355]srcdoc resource stored in the [42356]session history entry; or [42357]fetching. The process has several failure modes, which can either result in doing nothing (leaving the [42358]navigable on its currently-[42359]active [42360]Document) or can result in populating the [42361]session history entry with an [42362]error document.

    To attempt to populate the history entry's document for a [42363]session history entry entry, given a [42364]navigable navigable, a [42365]NavigationTimingType navTimingType, a [42366]source snapshot params sourceSnapshotParams, a [42367]target snapshot params targetSnapshotParams, a [42368]user navigation involvement userInvolvement, an optional [42369]navigation ID-or-null navigationId (default null), an optional [42370]navigation params-or-null navigationParams (default null), an optional string cspNavigationType (default "other"), an optional boolean allowPOST (default false), and optional algorithm steps completionSteps (default an empty algorithm): 1. [42371]Assert: this is running [42372]in parallel. 2. [42373]Assert: if navigationParams is non-null, then navigationParams's [42374]response is non-null. 3. Let documentResource be entry's [42375]document state's [42376]resource. 4. If navigationParams is null, then: 1. If documentResource is a string, then set navigationParams to the result of [42377]creating navigation params from a srcdoc resource given entry, navigable, targetSnapshotParams, userInvolvement, navigationId, and navTimingType. 2. Otherwise, if all of the following are true: o entry's [42378]URL's [42379]scheme is a [42380]fetch scheme; and o documentResource is null, or allowPOST is true and documentResource's [42381]request body is not failure, then set navigationParams to the result of [42382]creating navigation params by fetching given entry, navigable, sourceSnapshotParams, targetSnapshotParams, cspNavigationType, userInvolvement, navigationId, and navTimingType. 3. Otherwise, if entry's [42383]URL's [42384]scheme is not a [42385]fetch scheme, then set navigationParams to a new [42386]non-fetch scheme navigation params, with

    [42387]id navigationId

    [42388]navigable navigable

    [42389]URL entry's [42390]URL

    [42391]target snapshot sandboxing flags targetSnapshotParams's [42392]sandboxing flags

    [42393]source snapshot has transient activation sourceSnapshotParams's [42394]has transient activation

    [42395]initiator origin entry's [42396]document state's [42397]initiator origin

    [42398]navigation timing type navTimingType

    [42399]user involvement userInvolvement

    5. [42400]Queue a global task on the [42401]navigation and traversal task source, given navigable's [42402]active window, to run these steps: 1. If navigable's [42403]ongoing navigation no longer equals navigationId, then run completionSteps and abort these steps. 2. Let saveExtraDocumentState be true. Usually, in the cases where we end up populating entry's [42404]document state's [42405]document, we then want to save some of the state from that [42406]Document into entry. This ensures that if there are future traversals to entry where its [42407]document [42408]has been destroyed, we can use that state when creating a new [42409]Document. However, in some specific cases, saving the state would be unhelpful. For those, we set saveExtraDocumentState to false later in this algorithm. 3. If navigationParams is a [42410]non-fetch scheme navigation params, then: 1. Set entry's [42411]document state's [42412]document to the result of running [42413]attempt to create a non-fetch scheme document given navigationParams. This can result in setting entry's [42414]document state's [42415]document to null, e.g., when [42416]handing-off to external software. 2. Set saveExtraDocumentState to false. 4. Otherwise, if any of the following are true: o navigationParams is null; o the result of [42417]should navigation response to navigation request of type in target be blocked by Content Security Policy? given navigationParams's [42418]request, navigationParams's [42419]response, navigationParams's [42420]policy container's [42421]CSP list, cspNavigationType, and navigable is "Blocked"; o navigationParams's [42422]reserved environment is non-null and the result of [42423]checking a navigation response's adherence to its embedder policy given navigationParams's [42424]response, navigable, and navigationParams's [42425]policy container's [42426]embedder policy is false; or o the result of [42427]checking a navigation response's adherence to `X-Frame-Options` given navigationParams's [42428]response, navigable, navigationParams's [42429]policy container's [42430]CSP list, and navigationParams's [42431]origin is false, then: 1. Set entry's [42432]document state's [42433]document to the result of [42434]creating a document for inline content that doesn't have a DOM, given navigable, null, navTimingType, and userInvolvement. The inline content should indicate to the user the sort of error that occurred. 2. [42435]Make document unsalvageable given entry's [42436]document state's [42437]document and "[42438]navigation-failure". 3. Set saveExtraDocumentState to false. 4. If navigationParams is not null, then: 1. Run the [42439]environment discarding steps for navigationParams's [42440]reserved environment. 2. Invoke [42441]WebDriver BiDi navigation failed with navigable and a new [42442]WebDriver BiDi navigation status whose [42443]id is navigationId, [42444]status is "[42445]canceled", and [42446]url is navigationParams's [42447]response's [42448]URL. 5. Otherwise, if navigationParams's [42449]response has a `[42450]Content-Disposition` header specifying the attachment disposition type, then: 1. Let sourceAllowsDownloading be sourceSnapshotParams's [42451]allows downloading. 2. Let targetAllowsDownloading be false if navigationParams's [42452]final sandboxing flag set has the [42453]sandboxed downloads browsing context flag set; otherwise true. 3. Let uaAllowsDownloading be true. 4. Optionally, the user agent may set uaAllowsDownloading to false, if it believes doing so would safeguard the user from a potentially hostile download. 5. If sourceAllowsDownloading, targetAllowsDownloading, and uaAllowsDownloading are true, then: 1. Let suggestedFilename be the result of [42454]handling as a download navigationParams's [42455]response. 2. Invoke [42456]WebDriver BiDi download started with navigable and a new [42457]WebDriver BiDi navigation status whose [42458]id is navigationId, [42459]status is "[42460]complete", [42461]url is navigationParams's [42462]response's [42463]URL, and [42464]suggestedFilename is suggestedFilename. This branch leaves entry's [42465]document state's [42466]document as null. 6. Otherwise, if navigationParams's [42467]response's [42468]status is not 204 and is not 205, then set entry's [42469]document state's [42470]document to the result of [42471]loading a document given navigationParams, sourceSnapshotParams, and entry's [42472]document state's [42473]initiator origin. This can result in setting entry's [42474]document state's [42475]document to null, e.g., when [42476]handing-off to external software. 7. If entry's [42477]document state's [42478]document is not null, then: 1. Set entry's [42479]document state's [42480]ever populated to true. 2. If saveExtraDocumentState is true: 1. Let document be entry's [42481]document state's [42482]document. 2. Set entry's [42483]document state's [42484]origin to document's [42485]origin. 3. If document's [42486]URL [42487]requires storing the policy container in history, then: 1. [42488]Assert: navigationParams is a [42489]navigation params (i.e., neither null nor a [42490]non-fetch scheme navigation params). 2. Set entry's [42491]document state's [42492]history policy container to navigationParams's [42493]policy container. 3. If entry's [42494]document state's [42495]request referrer is "client", and navigationParams is a [42496]navigation params (i.e., neither null nor a [42497]non-fetch scheme navigation params), then: 1. [42498]Assert: navigationParams's [42499]request is not null. 2. Set entry's [42500]document state's [42501]request referrer to navigationParams's [42502]request's [42503]referrer. 8. Run completionSteps.

    To create navigation params from a srcdoc resource given a [42504]session history entry entry, a [42505]navigable navigable, a [42506]target snapshot params targetSnapshotParams, a [42507]user navigation involvement userInvolvement, a [42508]navigation ID-or-null navigationId, and a [42509]NavigationTimingType navTimingType: 1. Let documentResource be entry's [42510]document state's [42511]resource. 2. Let response be a new [42512]response with

    [42513]URL [42514]about:srcdoc

    [42515]header list « (`[42516]Content-Type`, `text/html`) »

    [42517]body the [42518]UTF-8 encoding of documentResource, [42519]as a body

    3. Let responseOrigin be the result of [42520]determining the origin given response's [42521]URL, targetSnapshotParams's [42522]sandboxing flags, and entry's [42523]document state's [42524]origin. 4. Let coop be a new [42525]opener policy. 5. Let coopEnforcementResult be a new [42526]opener policy enforcement result with

    [42527]url response's [42528]URL

    [42529]origin responseOrigin

    [42530]opener policy coop

    6. Let policyContainer be the result of [42531]determining navigation params policy container given response's [42532]URL, entry's [42533]document state's [42534]history policy container, null, navigable's [42535]container document's [42536]policy container, and null. 7. Return a new [42537]navigation params, with

    [42538]id navigationId

    [42539]navigable navigable

    [42540]request null

    [42541]response response

    [42542]fetch controller null

    [42543]commit early hints null

    [42544]COOP enforcement result coopEnforcementResult

    [42545]reserved environment null

    [42546]origin responseOrigin

    [42547]policy container policyContainer

    [42548]final sandboxing flag set targetSnapshotParams's [42549]sandboxing flags

    [42550]opener policy coop

    [42551]navigation timing type navTimingType

    [42552]about base URL entry's [42553]document state's [42554]about base URL

    [42555]user involvement userInvolvement

    To create navigation params by fetching given a [42556]session history entry entry, a [42557]navigable navigable, a [42558]source snapshot params sourceSnapshotParams, a [42559]target snapshot params targetSnapshotParams, a string cspNavigationType, a [42560]user navigation involvement userInvolvement, a [42561]navigation ID-or-null navigationId, and a [42562]NavigationTimingType navTimingType, perform the following steps. They return a [42563]navigation params, a [42564]non-fetch scheme navigation params, or null.

    This algorithm mutates entry. 1. [42565]Assert: this is running [42566]in parallel. 2. Let documentResource be entry's [42567]document state's [42568]resource. 3. Let request be a new [42569]request, with

    [42570]url entry's [42571]URL

    [42572]client sourceSnapshotParams's [42573]fetch client

    [42574]destination "document"

    [42575]credentials mode "include"

    [42576]use-URL-credentials flag set

    [42577]redirect mode "manual"

    [42578]replaces client id navigable's [42579]active document's [42580]relevant settings object's [42581]id

    [42582]mode "navigate"

    [42583]referrer entry's [42584]document state's [42585]request referrer

    [42586]referrer policy entry's [42587]document state's [42588]request referrer policy

    [42589]policy container sourceSnapshotParams's [42590]source policy container

    4. If documentResource is a [42591]POST resource, then: 1. Set request's [42592]method to `POST`. 2. Set request's [42593]body to documentResource's [42594]request body. 3. [42595]Set `Content-Type` to documentResource's [42596]request content-type in request's [42597]header list. 5. If entry's [42598]document state's [42599]reload pending is true, then set request's [42600]reload-navigation flag. 6. Otherwise, if entry's [42601]document state's [42602]ever populated is true, then set request's [42603]history-navigation flag. 7. If sourceSnapshotParams's [42604]has transient activation is true, then set request's [42605]user-activation to true. 8. If navigable's [42606]container is non-null: 1. If the navigable's [42607]container has a [42608]browsing context scope origin, then set request's [42609]origin to that [42610]browsing context scope origin. 2. Set request's [42611]destination to navigable's [42612]container's [42613]local name. 3. If sourceSnapshotParams's [42614]fetch client is navigable's [42615]container document's [42616]relevant settings object, then set request's [42617]initiator type to navigable's [42618]container's [42619]local name. This ensure that only container-initiated navigations are reported to resource timing. 9. Let response be null. 10. Let responseOrigin be null. 11. Let fetchController be null. 12. Let coopEnforcementResult be a new [42620]opener policy enforcement result, with

    [42621]url navigable's [42622]active document's [42623]URL

    [42624]origin navigable's [42625]active document's [42626]origin

    [42627]opener policy navigable's [42628]active document's [42629]opener policy

    [42630]current context is navigation source true if navigable's [42631]active document's [42632]origin is [42633]same origin with entry's [42634]document state's [42635]initiator origin otherwise false

    13. Let finalSandboxFlags be an empty [42636]sandboxing flag set. 14. Let responsePolicyContainer be null. 15. Let responseCOOP be a new [42637]opener policy. 16. Let locationURL be null. 17. Let currentURL be request's [42638]current URL. 18. Let commitEarlyHints be null. 19. While true: 1. If request's [42639]reserved client is not null and currentURL's [42640]origin is not the [42641]same as request's [42642]reserved client's [42643]creation URL's [42644]origin, then: 1. Run the [42645]environment discarding steps for request's [42646]reserved client. 2. Set request's [42647]reserved client to null. 3. Set commitEarlyHints to null. Preloaded links from [42648]early hint headers remain in the preload cache after a [42649]same origin redirect, but get discarded when the redirect is cross-origin. 2. If request's [42650]reserved client is null, then: 1. Let topLevelCreationURL be currentURL. 2. Let topLevelOrigin be null. 3. If navigable is not a [42651]top-level traversable, then: 1. Let parentEnvironment be navigable's [42652]parent's [42653]active document's [42654]relevant settings object. 2. Set topLevelCreationURL to parentEnvironment's [42655]top-level creation URL. 3. Set topLevelOrigin to parentEnvironment's [42656]top-level origin. 4. Set request's [42657]reserved client to a new [42658]environment whose [42659]id is a unique opaque string, [42660]target browsing context is navigable's [42661]active browsing context, [42662]creation URL is currentURL, [42663]top-level creation URL is topLevelCreationURL, and [42664]top-level origin is topLevelOrigin. The created environment's [42665]active service worker is set in the [42666]Handle Fetch algorithm during the fetch if the request URL matches a service worker registration. [42667][SW] 3. If the result of [42668]should navigation request of type be blocked by Content Security Policy? given request and cspNavigationType is "Blocked", then set response to a [42669]network error and [42670]break. [42671][CSP] 4. Set response to null. 5. If fetchController is null, then set fetchController to the result of [42672]fetching request, with [42673]processEarlyHintsResponse set to processEarlyHintsResponse as defined below, [42674]processResponse set to processResponse as defined below, and [42675]useParallelQueue set to true. Let processEarlyHintsResponse be the following algorithm given a [42676]response earlyResponse: 1. If commitEarlyHints is null, then set commitEarlyHints to the result of [42677]processing early hint headers given earlyResponse and request's [42678]reserved client. Let processResponse be the following algorithm given a [42679]response fetchedResponse: 1. Set response to fetchedResponse. 6. Otherwise, [42680]process the next manual redirect for fetchController. This will result in calling the [42681]processResponse we supplied above, during our first iteration through the loop, and thus setting response. Navigation handles redirects manually as navigation is the only place in the web platform that cares for redirects to [42682]mailto: URLs and such. 7. Wait until either response is non-null, or navigable's [42683]ongoing navigation changes to no longer equal navigationId. If the latter condition occurs, then [42684]abort fetchController, and return. Otherwise, proceed onward. 8. If request's [42685]body is null, then set entry's [42686]document state's [42687]resource to null. Fetch unsets the [42688]body for particular redirects. 9. Set responsePolicyContainer to the result of [42689]creating a policy container from a fetch response given response and request's [42690]reserved client. 10. Set finalSandboxFlags to the [42691]union of targetSnapshotParams's [42692]sandboxing flags and responsePolicyContainer's [42693]CSP list's [42694]CSP-derived sandboxing flags. 11. Set responseOrigin to the result of [42695]determining the origin given response's [42696]URL, finalSandboxFlags, and entry's [42697]document state's [42698]initiator origin. If response is a redirect, then response's [42699]URL will be the URL that led to the redirect to response's [42700]location URL; it will not be the [42701]location URL itself. 12. If navigable is a [42702]top-level traversable, then: 1. Set responseCOOP to the result of [42703]obtaining an opener policy given response and request's [42704]reserved client. 2. Set coopEnforcementResult to the result of [42705]enforcing the response's opener policy given navigable's [42706]active browsing context, response's [42707]URL, responseOrigin, responseCOOP, coopEnforcementResult, and request's [42708]referrer. 3. If finalSandboxFlags is not empty and responseCOOP's [42709]value is not "[42710]unsafe-none", then set response to an appropriate [42711]network error and [42712]break. This results in a network error as one cannot simultaneously provide a clean slate to a response using opener policy and sandbox the result of navigating to that response. 13. If response is not a [42713]network error, navigable is a [42714]child navigable, and the result of performing a [42715]cross-origin resource policy check with navigable's [42716]container document's [42717]origin, navigable's [42718]container document's [42719]relevant settings object, request's [42720]destination, response, and true is blocked, then set response to a [42721]network error and [42722]break. Here we're running the [42723]cross-origin resource policy check against the [42724]parent navigable rather than navigable itself. This is because we care about the same-originness of the embedded content against the parent context, not the navigation source. 14. Set locationURL to response's [42725]location URL given currentURL's [42726]fragment. 15. If locationURL is failure or null, then [42727]break. 16. [42728]Assert: locationURL is a [42729]URL. 17. Set entry's [42730]classic history API state to [42731]StructuredSerializeForStorage(null). 18. Let oldDocState be entry's [42732]document state. 19. Set entry's [42733]document state to a new [42734]document state, with

    [42735]history policy container a [42736]clone of the oldDocState's [42737]history policy container if it is non-null; null otherwise

    [42738]request referrer oldDocState's [42739]request referrer

    [42740]request referrer policy oldDocState's [42741]request referrer policy

    [42742]initiator origin oldDocState's [42743]initiator origin

    [42744]origin oldDocState's [42745]origin

    [42746]about base URL oldDocState's [42747]about base URL

    [42748]resource oldDocState's [42749]resource

    [42750]ever populated oldDocState's [42751]ever populated

    [42752]navigable target name oldDocState's [42753]navigable target name

    For the navigation case, only entry referenced oldDocState, which was created [42754]early in the navigate algorithm. So for navigations, this is functionally just an update to entry's [42755]document state. For the traversal case, it's possible adjacent [42756]session history entries also reference oldDocState, in which case they will continue doing so even after we've updated entry's [42757]document state. oldDocState's [42758]history policy container is only ever non-null here in the traversal case, after we've populated it during a navigation to a URL that [42759]requires storing the policy container in history. The setup is given by the following [42760]Jake diagram:

    0 1 2 3 top /a /a#foo /a#bar /b Also assume that the [42761]document state shared by the entries in steps 0, 1, and 2 has a null [42762]document, i.e., [42763]bfcache is not in play. Now consider the scenario where we traverse back to step 2, but this time when fetching /a, the server responds with a `Location` header pointing to /c. That is, locationURL points to /c and so we have reached this step instead of [42764]breaking out of the loop. In this case, we replace the [42765]document state of the [42766]session history entry occupying step 2, but we do not replace the document state of the entries occupying steps 0 and 1. The resulting [42767]Jake diagram looks like this:

    0 1 2 3 top /a /a#foo /c#bar /b Note that we perform this replacement even if we end up in a redirect chain back to the original URL, for example if /c itself had a `Location` header pointing to /a. Such a case would end up like so:

    0 1 2 3 top /a /a#foo /a#bar /b 20. If locationURL's [42768]scheme is not an [42769]HTTP(S) scheme, then: 1. Set entry's [42770]document state's [42771]resource to null. 2. [42772]Break. 21. Set currentURL to locationURL. 22. Set entry's [42773]URL to currentURL. By the end of this loop we will be in one of these scenarios: + locationURL is failure, because of an unparseable `Location` header. + locationURL is null, either because response is a [42774]network error or because we successfully fetched a non-[42775]network error HTTP(S) response with no `Location` header. + locationURL is a [42776]URL with a non-[42777]HTTP(S) [42778]scheme. 20. If locationURL is a [42779]URL whose [42780]scheme is not a [42781]fetch scheme, then return a new [42782]non-fetch scheme navigation params, with

    [42783]id navigationId

    [42784]navigable navigable

    [42785]URL locationURL

    [42786]target snapshot sandboxing flags targetSnapshotParams's [42787]sandboxing flags

    [42788]source snapshot has transient activation sourceSnapshotParams's [42789]has transient activation

    [42790]initiator origin responseOrigin

    [42791]navigation timing type navTimingType

    [42792]user involvement userInvolvement

    At this point, request's [42793]current URL is the last [42794]URL in the redirect chain with a [42795]fetch [42796]scheme before redirecting to a non-[42797]fetch scheme [42798]URL. It is this [42799]URL's [42800]origin that will be used as the initiator origin for navigations to non-[42801]fetch scheme [42802]URLs. 21. If any of the following are true: + response is a [42803]network error; + locationURL is failure; or + locationURL is a [42804]URL whose [42805]scheme is a [42806]fetch scheme, then return null. We allow redirects to non-[42807]fetch scheme [42808]URLs, but redirects to [42809]fetch scheme [42810]URLs that aren't [42811]HTTP(S) are treated like network errors. 22. [42812]Assert: locationURL is null and response is not a [42813]network error. 23. Let resultPolicyContainer be the result of [42814]determining navigation params policy container given response's [42815]URL, entry's [42816]document state's [42817]history policy container, sourceSnapshotParams's [42818]source policy container, null, and responsePolicyContainer. 24. If navigable's [42819]container is an [42820]iframe, and response's [42821]timing allow passed flag is set, then set [42822]container's [42823]pending resource-timing start time to null. If the [42824]iframe is allowed to report to resource timing, we don't need to run its fallback steps as the normal reporting would happen. 25. Return a new [42825]navigation params, with

    [42826]id navigationId

    [42827]navigable navigable

    [42828]request request

    [42829]response response

    [42830]fetch controller fetchController

    [42831]commit early hints commitEarlyHints

    [42832]opener policy responseCOOP

    [42833]reserved environment request's [42834]reserved client

    [42835]origin responseOrigin

    [42836]policy container resultPolicyContainer

    [42837]final sandboxing flag set finalSandboxFlags

    [42838]COOP enforcement result coopEnforcementResult

    [42839]navigation timing type navTimingType

    [42840]about base URL entry's [42841]document state's [42842]about base URL

    [42843]user involvement userInvolvement

    An element has a browsing context scope origin if its [42844]Document's [42845]node navigable is a [42846]top-level traversable or if all of its [42847]Document's [42848]ancestor navigables all have [42849]active documents whose [42850]origins are the [42851]same origin as the element's [42852]node document's [42853]origin. If an element has a [42854]browsing context scope origin, then its value is the [42855]origin of the element's [42856]node document.

    This definition is broken and needs investigation to see what it was intended to express: see [42857]issue #4703.

    To load a document given [42858]navigation params navigationParams, [42859]source snapshot params sourceSnapshotParams, and [42860]origin initiatorOrigin, perform the following steps. They return a [42861]Document or null. 1. Let type be the [42862]computed type of navigationParams's [42863]response. 2. If the user agent has been configured to process resources of the given type using some mechanism other than rendering the content in a [42864]navigable, then skip this step. Otherwise, if the type is one of the following types:

    an [42865]HTML MIME type Return the result of [42866]loading an HTML document, given navigationParams.

    an [42867]XML MIME type that is not an [42868]explicitly supported XML MIME type Return the result of [42869]loading an XML document given navigationParams and type.

    a [42870]JavaScript MIME type a [42871]JSON MIME type that is not an [42872]explicitly supported JSON MIME type

    "[42873]text/css" "[42874]text/plain" "[42875]text/vtt" Return the result of [42876]loading a text document given navigationParams and type.

    "[42877]multipart/x-mixed-replace" Return the result of [42878]loading a multipart/x-mixed-replace document, given navigationParams, sourceSnapshotParams, and initiatorOrigin.

    a supported image, video, or audio type Return the result of [42879]loading a media document given navigationParams and type.

    "application/pdf" "text/pdf" If the user agent's [42880]PDF viewer supported is true, return the result of [42881]creating a document for inline content that doesn't have a DOM given navigationParams's [42882]navigable, navigationParams's [42883]id, navigationParams's [42884]navigation timing type, and navigationParams's [42885]user involvement.

    Otherwise, proceed onward. An explicitly supported XML MIME type is an [42886]XML MIME type for which the user agent is configured to use an external application to render the content, or for which the user agent has dedicated processing rules. For example, a web browser with a built-in Atom feed viewer would be said to explicitly support the [42887]application/atom+xml MIME type. An explicitly supported JSON MIME type is a [42888]JSON MIME type for which the user agent is configured to use an external application to render the content, or for which the user agent has dedicated processing rules. In both cases, the external application or user agent will either [42889]display the content inline directly in navigationParams's [42890]navigable, or [42891]hand it off to external software. Both happen in the steps below. 3. If, given type, the new resource is to be handled by displaying some sort of inline content, e.g., a native rendering of the content or an error message because the specified type is not supported, then return the result of [42892]creating a document for inline content that doesn't have a DOM given navigationParams's [42893]navigable, navigationParams's [42894]id, navigationParams's [42895]navigation timing type, and navigationParams's [42896]user involvement. 4. Otherwise, the document's type is such that the resource will not affect navigationParams's [42897]navigable, e.g., because the resource is to be handed to an external application or because it is an unknown type that will be processed by [42898]handle as a download. [42899]Hand-off to external software given navigationParams's [42900]response, navigationParams's [42901]navigable, navigationParams's [42902]final sandboxing flag set, sourceSnapshotParams's [42903]has transient activation, and initiatorOrigin. 5. Return null.

    7.4.6 Applying the history step

    For both navigation and traversal, once we have an idea of where we want to head to in the session history, much of the work comes about in applying that notion to the [42904]traversable navigable and the relevant [42905]Document. For navigations, this work generally occurs toward the end of the process; for traversals, it is the beginning.

    7.4.6.1 Updating the traversable

    Ensuring a [42906]traversable ends up at the right session history step is particularly complex, as it can involve coordinating across multiple [42907]navigable descendants of the traversable, [42908]populating them in parallel, and then synchronizing back up to ensure everyone has the same view of the result. This is further complicated by the existence of synchronous same-document navigations being mixed together with cross-document navigations, and how web pages have come to have certain relative timing expectations.

    A changing navigable continuation state is used to store information during the [42909]apply the history step algorithm, allowing parts of the algorithm to continue only after other parts have finished. It is a [42910]struct with:

    displayed document A [42911]Document

    target entry A [42912]session history entry

    navigable A [42913]navigable

    update only A boolean __________________________________________________________________

    Although all updates to the [42914]traversable navigable end up in the same [42915]apply the history step algorithm, each possible entry point comes along with some minor customizations:

    To update for navigable creation/destruction given a [42916]traversable navigable traversable: 1. Let step be traversable's [42917]current session history step. 2. Return the result of [42918]applying the history step step to traversable given false, null, null, "[42919]none", and null.

    To apply the push/replace history step given a non-negative integer step to a [42920]traversable navigable traversable, given a [42921]history handling behavior historyHandling and a [42922]user navigation involvement userInvolvement: 1. Return the result of [42923]applying the history step step to traversable given false, null, null, userInvolvement, and historyHandling.

    [42924]Apply the push/replace history step never passes [42925]source snapshot params or an initiator [42926]navigable to [42927]apply the history step. This is because those checks are done earlier in the [42928]navigation algorithm.

    To apply the reload history step to a [42929]traversable navigable traversable given [42930]user navigation involvement userInvolvement: 1. Let step be traversable's [42931]current session history step. 2. Return the result of [42932]applying the history step step to traversable given true, null, null, userInvolvement, and "[42933]reload".

    [42934]Apply the reload history step never passes [42935]source snapshot params or an initiator [42936]navigable to [42937]apply the history step. This is because reloading is always treated as if it were done by the [42938]navigable itself, even in cases like parent.location.reload().

    To apply the traverse history step given a non-negative integer step to a [42939]traversable navigable traversable, with [42940]source snapshot params sourceSnapshotParams, [42941]navigable initiatorToCheck, and [42942]user navigation involvement userInvolvement: 1. Return the result of [42943]applying the history step step to traversable given true, sourceSnapshotParams, initiatorToCheck, userInvolvement, and "[42944]traverse". __________________________________________________________________

    Now for the algorithm itself.

    To apply the history step given a non-negative integer step to a [42945]traversable navigable traversable, with boolean checkForCancelation, [42946]source snapshot params-or-null sourceSnapshotParams, [42947]navigable-or-null initiatorToCheck, [42948]user navigation involvement userInvolvement, and [42949]NavigationType-or-null navigationType, perform the following steps. They return "initiator-disallowed", "canceled-by-beforeunload", "canceled-by-navigate", or "applied". 1. [42950]Assert: This is running within traversable's [42951]session history traversal queue. 2. Let targetStep be the result of [42952]getting the used step given traversable and step. 3. If initiatorToCheck is not null, then: 1. [42953]Assert: sourceSnapshotParams is not null. 2. [42954]For each navigable of [42955]get all navigables whose current session history entry will change or reload: if initiatorToCheck is not [42956]allowed by sandboxing to navigate navigable given sourceSnapshotParams, then return "initiator-disallowed". 4. Let navigablesCrossingDocuments be the result of [42957]getting all navigables that might experience a cross-document traversal given traversable and targetStep. 5. If checkForCancelation is true, and the result of [42958]checking if unloading is canceled given navigablesCrossingDocuments, traversable, targetStep, and userInvolvement is not "continue", then return that result. 6. Let changingNavigables be the result of [42959]get all navigables whose current session history entry will change or reload given traversable and targetStep. 7. Let nonchangingNavigablesThatStillNeedUpdates be the result of [42960]getting all navigables that only need history object length/index update given traversable and targetStep. 8. [42961]For each navigable of changingNavigables: 1. Let targetEntry be the result of [42962]getting the target history entry given navigable and targetStep. 2. Set navigable's [42963]current session history entry to targetEntry. 3. [42964]Set the ongoing navigation for navigable to "traversal". 9. Let totalChangeJobs be the [42965]size of changingNavigables. 10. Let completedChangeJobs be 0. 11. Let changingNavigableContinuations be an empty [42966]queue of [42967]changing navigable continuation states. This queue is used to split the operations on changingNavigables into two parts. Specifically, changingNavigableContinuations holds data for the [42968]second part. 12. [42969]For each navigable of changingNavigables, [42970]queue a global task on the [42971]navigation and traversal task source of navigable's [42972]active window to run the steps: This set of steps are split into two parts to allow synchronous navigations to be processed before documents unload. State is stored in changingNavigableContinuations for the [42973]second part. 1. Let displayedEntry be navigable's [42974]active session history entry. 2. Let targetEntry be navigable's [42975]current session history entry. 3. Let changingNavigableContinuation be a [42976]changing navigable continuation state with:

    [42977]displayed document displayedEntry's [42978]document

    [42979]target entry targetEntry

    [42980]navigable navigable

    [42981]update-only false

    4. If displayedEntry is targetEntry and targetEntry's [42982]document state's [42983]reload pending is false, then: 1. Set changingNavigableContinuation's [42984]update-only to true. 2. [42985]Enqueue changingNavigableContinuation on changingNavigableContinuations. 3. Abort these steps. This case occurs due to a [42986]synchronous navigation which already updated the [42987]active session history entry. 5. Switch on navigationType:

    "[42988]reload" [42989]Assert: targetEntry's [42990]document state's [42991]reload pending is true.

    "[42992]traverse" [42993]Assert: targetEntry's [42994]document state's [42995]ever populated is true.

    "[42996]replace" [42997]Assert: targetEntry's [42998]step is displayedEntry's [42999]step and targetEntry's [43000]document state's [43001]ever populated is false.

    "[43002]push" [43003]Assert: targetEntry's [43004]step is displayedEntry's [43005]step + 1 and targetEntry's [43006]document state's [43007]ever populated is false.

    6. Let oldOrigin be targetEntry's [43008]document state's [43009]origin. 7. If all of the following are true: o navigable is not traversable; o targetEntry is not navigable's [43010]current session history entry; and o oldOrigin is the [43011]same as navigable's [43012]current session history entry's [43013]document state's [43014]origin, then: 1. Let navigation be navigable's [43015]active window's [43016]navigation API. 2. [43017]Fire a traverse navigate event at navigation given targetEntry and userInvolvement. 8. If targetEntry's [43018]document is null, or targetEntry's [43019]document state's [43020]reload pending is true, then: 1. Let navTimingType be "[43021]back_forward" if targetEntry's [43022]document is null; otherwise "[43023]reload". 2. Let targetSnapshotParams be the result of [43024]snapshotting target snapshot params given navigable. 3. Let potentiallyTargetSpecificSourceSnapshotParams be sourceSnapshotParams. 4. If potentiallyTargetSpecificSourceSnapshotParams is null, then set it to the result of [43025]snapshotting source snapshot params given navigable's [43026]active document. In this case there is no clear source of the traversal/reload. We treat this situation as if navigable navigated itself, but note that some properties of targetEntry's original initiator are preserved in targetEntry's [43027]document state, such as the [43028]initiator origin and [43029]referrer, which will appropriately influence the navigation. 5. Set targetEntry's [43030]document state's [43031]reload pending to false. 6. Let allowPOST be targetEntry's [43032]document state's [43033]reload pending. 7. [43034]In parallel, [43035]attempt to populate the history entry's document for targetEntry, given navigable, potentiallyTargetSpecificSourceSnapshotParams, targetSnapshotParams, userInvolvement, with [43036]allowPOST set to allowPOST and [43037]completionSteps set to [43038]queue a global task on the [43039]navigation and traversal task source given navigable's [43040]active window to run afterDocumentPopulated. Otherwise, run afterDocumentPopulated [43041]immediately. In both cases, let afterDocumentPopulated be the following steps: 1. If targetEntry's [43042]document is null, then set changingNavigableContinuation's [43043]update-only to true. This means we tried to populate the document, but were unable to do so, e.g. because of the server returning a 204. These kinds of failed navigations or traversals will not be signaled to the [43044]navigation API (e.g., through the promises of any [43045]navigation API method tracker, or the [43046]navigateerror event). Doing so would leak information about the timing of responses from other origins, in the cross-origin case, and providing different results in the cross-origin vs. same-origin cases was deemed too confusing. However, implementations could use this opportunity to clear any promise handlers for the [43047]navigation.transition.finished promise, as they are guaranteed at this point to never run. And, they might wish to [43048]report a warning to the console if any part of the navigation API initiated these navigations, to make it clear to the web developer why their promises will never settle and events will never fire. 2. If targetEntry's [43049]document's [43050]origin is not oldOrigin, then set targetEntry's [43051]classic history API state to [43052]StructuredSerializeForStorage(null). This clears history state when the origin changed vs a previous load of targetEntry without a redirect occuring. This can happen due to a change in CSP sandbox headers. 3. If all of the following are true: # navigable's [43053]parent is null; # targetEntry's [43054]document's [43055]browsing context is not an [43056]auxiliary browsing context whose [43057]opener browsing context is non-null; and # targetEntry's [43058]document's [43059]origin is not oldOrigin, then set targetEntry's [43060]document state's [43061]navigable target name to the empty string. 4. [43062]Enqueue changingNavigableContinuation on changingNavigableContinuations. The rest of this job [43063]runs later in this algorithm. 13. Let navigablesThatMustWaitBeforeHandlingSyncNavigation be an empty [43064]set. 14. While completedChangeJobs does not equal totalChangeJobs: 1. If traversable's [43065]running nested apply history step is false, then: 1. While traversable's [43066]session history traversal queue's [43067]algorithm set [43068]contains one or more [43069]synchronous navigation steps with a [43070]target navigable not [43071]contained in navigablesThatMustWaitBeforeHandlingSyncNavigation: 1. Let steps be the first [43072]item in traversable's [43073]session history traversal queue's [43074]algorithm set that is [43075]synchronous navigation steps with a [43076]target navigable not [43077]contained in navigablesThatMustWaitBeforeHandlingSyncNavigation. 2. [43078]Remove steps from traversable's [43079]session history traversal queue's [43080]algorithm set. 3. Set traversable's [43081]running nested apply history step to true. 4. Run steps. 5. Set traversable's [43082]running nested apply history step to false. Synchronous navigations that are intended to take place before this traversal jump the queue at this point, so they can be added to the correct place in traversable's [43083]session history entries before this traversal potentially unloads their document. [43084]More details can be found here. 2. Let changingNavigableContinuation be the result of [43085]dequeuing from changingNavigableContinuations. 3. If changingNavigableContinuation is nothing, then [43086]continue. 4. Let displayedDocument be changingNavigableContinuation's [43087]displayed document. 5. Let targetEntry be changingNavigableContinuation's [43088]target entry. 6. Let navigable be changingNavigableContinuation's [43089]navigable. 7. Let (scriptHistoryLength, scriptHistoryIndex) be the result of [43090]getting the history object length and index given traversable and targetStep. These values might have changed since they were last calculated. 8. [43091]Append navigable to navigablesThatMustWaitBeforeHandlingSyncNavigation. Once a navigable has reached this point in traversal, additionally queued synchronous navigation steps are likely to be intended to occur after this traversal rather than before it, so they no longer jump the queue. [43092]More details can be found here. 9. Let entriesForNavigationAPI be the result of [43093]getting session history entries for the navigation API given navigable and targetStep. 10. If changingNavigableContinuation's [43094]update-only is true, or targetEntry's [43095]document is displayedDocument, then: This is a same-document navigation: we proceed without unloading. 1. [43096]Set the ongoing navigation for navigable to null. This allows new [43097]navigations of navigable to start, whereas during the traversal they were blocked. 2. [43098]Queue a global task on the [43099]navigation and traversal task source given navigable's [43100]active window to perform afterPotentialUnloads. 11. Otherwise: 1. [43101]Assert: navigationType is not null. 2. [43102]Deactivate displayedDocument, given userInvolvement, targetEntry, navigationType, and afterPotentialUnloads. 12. In both cases, let afterPotentialUnloads be the following steps: 1. Let previousEntry be navigable's [43103]active session history entry. 2. If changingNavigableContinuation's [43104]update-only is false, then [43105]activate history entry targetEntry for navigable. 3. Let updateDocument be an algorithm step which performs [43106]update document for history step application given targetEntry's [43107]document, targetEntry, changingNavigableContinuation's [43108]update-only, scriptHistoryLength, scriptHistoryIndex, navigationType, entriesForNavigationAPI, and previousEntry. 4. If targetEntry's [43109]document is equal to displayedDocument, then perform updateDocument. 5. Otherwise, [43110]queue a global task on the [43111]navigation and traversal task source given targetEntry's [43112]document's [43113]relevant global object to perform updateDocument. 6. Increment completedChangeJobs. 15. Let totalNonchangingJobs be the [43114]size of nonchangingNavigablesThatStillNeedUpdates. This step onwards deliberately waits for all the previous operations to complete, as they include [43115]processing synchronous navigations which will also post tasks to update history length and index. 16. Let completedNonchangingJobs be 0. 17. Let (scriptHistoryLength, scriptHistoryIndex) be the result of [43116]getting the history object length and index given traversable and targetStep. 18. [43117]For each navigable of nonchangingNavigablesThatStillNeedUpdates, [43118]queue a global task on the [43119]navigation and traversal task source given navigable's [43120]active window to run the steps: 1. Let document be navigable's [43121]active document. 2. Set document's [43122]history object's [43123]index to scriptHistoryIndex. 3. Set document's [43124]history object's [43125]length to scriptHistoryLength. 4. Increment completedNonchangingJobs. 19. Wait for completedNonchangingJobs to equal totalNonchangingJobs. 20. Set traversable's [43126]current session history step to targetStep. 21. Return "applied".

    To deactivate a document for a cross-document navigation given a [43127]Document displayedDocument, a [43128]user navigation involvement userNavigationInvolvement, a [43129]session history entry targetEntry, a [43130]NavigationType navigationType, and afterPotentialUnloads, which is an algorithm that receives no arguments: 1. Let navigable be displayedDocument's [43131]node navigable. 2. Let potentiallyTriggerViewTransition be false. 3. Let isBrowserUINavigation be true if userNavigationInvolvement is "[43132]browser UI"; otherwise false. 4. Set potentiallyTriggerViewTransition to the result of calling [43133]can navigation trigger a cross-document view-transition? given displayedDocument, targetEntry's [43134]document, navigationType, and isBrowserUINavigation. 5. If potentiallyTriggerViewTransition is false, then: 1. Let firePageSwapBeforeUnload be the following step: 1. [43135]Fire the pageswap event given displayedDocument, targetEntry, navigationType, and null. 2. [43136]Set the ongoing navigation for navigable to null. This allows new [43137]navigations of navigable to start, whereas during the traversal they were blocked. 3. [43138]Unload a document and its descendants given displayedDocument, targetEntry's [43139]document, afterPotentialUnloads, and firePageSwapBeforeUnload. 6. Otherwise, [43140]queue a global task on the [43141]navigation and traversal task source given navigable's [43142]active window to run the steps: 1. Let proceedWithNavigationAfterViewTransitionCapture be the following step: 1. [43143]Append the following session history traversal steps to navigable's [43144]traversable navigable: 1. [43145]Set the ongoing navigation for navigable to null. This allows new [43146]navigations of navigable to start, whereas during the traversal they were blocked. 2. [43147]Unload a document and its descendants given displayedDocument, targetEntry's [43148]document, and afterPotentialUnloads. 2. Let viewTransition be the result of [43149]setting up a cross-document view-transition given displayedDocument, targetEntry's [43150]document, navigationType, and proceedWithNavigationAfterViewTransitionCapture. 3. [43151]Fire the pageswap event given displayedDocument, targetEntry, navigationType, and viewTransition. 4. If viewTransition is null, then run proceedWithNavigationAfterViewTransitionCapture. In the case where a view transition started, the view transitions algorithms are responsible for calling proceedWithNavigationAfterViewTransitionCapture.

    To fire the pageswap event given a [43152]Document displayedDocument, a [43153]session history entry targetEntry, a [43154]NavigationType navigationType, and a [43155]ViewTransition-or-null viewTransition: 1. [43156]Assert: this is running as part of a [43157]task queued on displayedDocument's [43158]relevant agent's [43159]event loop. 2. Let navigation be displayedDocument's [43160]relevant global object's [43161]navigation API. 3. Let activation be null. 4. If all of the following are true: + targetEntry's [43162]document's [43163]origin is [43164]same origin with displayedDocument's [43165]origin; and + targetEntry's [43166]document's [43167]was created via cross-origin redirects is false, or targetEntry's [43168]document's [43169]latest entry is not null, then: 1. Let destinationEntry be determined by switching on navigationType:

    "[43170]reload" The [43171]current entry of navigation

    "[43172]traverse" The [43173]NavigationHistoryEntry in navigation's [43174]entry list whose [43175]session history entry is targetEntry

    "[43176]push" "[43177]replace" A new [43178]NavigationHistoryEntry in displayedDocument's [43179]relevant realm with its [43180]session history entry set to targetEntry

    2. Set activation to a [43181]new [43182]NavigationActivation created in displayedDocument's [43183]relevant realm, with

    [43184]old entry the [43185]current entry of navigation

    [43186]new entry destinationEntry

    [43187]navigation type navigationType

    This means that a cross-origin redirect during a navigation would result in a null [43188]activation in the old document's [43189]PageSwapEvent, unless the new document is being restored from [43190]bfcache. 5. [43191]Fire an event named [43192]pageswap at displayedDocument's [43193]relevant global object, using [43194]PageSwapEvent with its [43195]activation set to activation, and its [43196]viewTransition set to viewTransition.

    To activate history entry [43197]session history entry entry for [43198]navigable navigable: 1. [43199]Save persisted state to the [43200]navigable's [43201]active session history entry. 2. Let newDocument be entry's [43202]document. 3. [43203]Assert: newDocument's [43204]is initial about:blank is false, i.e., we never traverse back to the [43205]initial about:blank [43206]Document because it always gets [43207]replaced when we navigate away from it. 4. Set navigable's [43208]active session history entry to entry. 5. [43209]Make active newDocument.

    To get the used step given a [43210]traversable navigable traversable, and a non-negative integer step, perform the following steps. They return a non-negative integer. 1. Let steps be the result of [43211]getting all used history steps within traversable. 2. Return the greatest [43212]item in steps that is less than or equal to step. This caters for situations where there's no [43213]session history entry with [43214]step step, due to the removal of a [43215]navigable.

    To get the history object length and index given a [43216]traversable navigable traversable, and a non-negative integer step, perform the following steps. They return a [43217]tuple of two non-negative integers. 1. Let steps be the result of [43218]getting all used history steps within traversable. 2. Let scriptHistoryLength be the [43219]size of steps. 3. [43220]Assert: steps [43221]contains step. It is assumed that step has been adjusted by [43222]getting the used step. 4. Let scriptHistoryIndex be the index of step in steps. 5. Return (scriptHistoryLength, scriptHistoryIndex).

    To get all navigables whose current session history entry will change or reload given a [43223]traversable navigable traversable, and a non-negative integer targetStep, perform the following steps. They return a [43224]list of [43225]navigables. 1. Let results be an empty [43226]list. 2. Let navigablesToCheck be « traversable ». This list is extended in the loop below. 3. [43227]For each navigable of navigablesToCheck: 1. Let targetEntry be the result of [43228]getting the target history entry given navigable and targetStep. 2. If targetEntry is not navigable's [43229]current session history entry or targetEntry's [43230]document state's [43231]reload pending is true, then [43232]append navigable to results. 3. If targetEntry's [43233]document is navigable's [43234]document, and targetEntry's [43235]document state's [43236]reload pending is false, then [43237]extend navigablesToCheck with the [43238]child navigables of navigable. Adding [43239]child navigables to navigablesToCheck means those navigables will also be checked by this loop. [43240]Child navigables are only checked if the navigable's [43241]active document will not change as part of this traversal. 4. Return results.

    To get all navigables that only need history object length/index update given a [43242]traversable navigable traversable, and a non-negative integer targetStep, perform the following steps. They return a [43243]list of [43244]navigables.

    Other [43245]navigables might not be impacted by the traversal. For example, if the response is a 204, the currently active document will remain. Additionally, going 'back' after a 204 will change the [43246]current session history entry, but the [43247]active session history entry will already be correct. 1. Let results be an empty [43248]list. 2. Let navigablesToCheck be « traversable ». This list is extended in the loop below. 3. [43249]For each navigable of navigablesToCheck: 1. Let targetEntry be the result of [43250]getting the target history entry given navigable and targetStep. 2. If targetEntry is navigable's [43251]current session history entry and targetEntry's [43252]document state's [43253]reload pending is false, then: 1. [43254]Append navigable to results. 2. [43255]Extend navigablesToCheck with navigable's [43256]child navigables. Adding [43257]child navigables to navigablesToCheck means those navigables will also be checked by this loop. [43258]child navigables are only checked if the navigable's [43259]active document will not change as part of this traversal. 4. Return results.

    To get the target history entry given a [43260]navigable navigable, and a non-negative integer step, perform the following steps. They return a [43261]session history entry. 1. Let entries be the result of [43262]getting session history entries for navigable. 2. Return the [43263]item in entries that has the greatest [43264]step less than or equal to step.

    To see why [43265]getting the target history entry returns the entry with the greatest [43266]step less than or equal to the input step, consider the following [43267]Jake diagram: 0 1 2 3 top /t /t#foo frames[0] /i-0-a /i-0-b

    For the input step 1, the target history entry for the top navigable is the /t entry, whose [43268]step is 0, while the target history entry for the frames[0] navigable is the /i-0-b entry, whose [43269]step is 1: 0 1 2 3 top /t /t#foo frames[0] /i-0-a /i-0-b

    Similarly, given the input step 3 we get the top entry whose [43270]step is 3, and the frames[0] entry whose [43271]step is 1: 0 1 2 3 top /t /t#foo frames[0] /i-0-a /i-0-b

    To get all navigables that might experience a cross-document traversal given a [43272]traversable navigable traversable, and a non-negative integer targetStep, perform the following steps. They return a [43273]list of [43274]navigables.

    From traversable's [43275]session history traversal queue's perspective, these documents are candidates for going cross-document during the traversal described by targetStep. They will not experience a cross-document traversal if the status code for their target document is HTTP 204 No Content.

    Note that if a given [43276]navigable might experience a cross-document traversal, this algorithm will return [43277]navigable but not its [43278]child navigables. Those would end up [43279]unloaded, not traversed.

    1. Let results be an empty [43280]list. 2. Let navigablesToCheck be « traversable ». This list is extended in the loop below. 3. [43281]For each navigable of navigablesToCheck: 1. Let targetEntry be the result of [43282]getting the target history entry given navigable and targetStep. 2. If targetEntry's [43283]document is not navigable's [43284]document or targetEntry's [43285]document state's [43286]reload pending is true, then [43287]append navigable to results. Although navigable's [43288]active history entry can change synchronously, the new entry will always have the same [43289]Document, so accessing navigable's [43290]document is reliable. 3. Otherwise, [43291]extend navigablesToCheck with navigable's [43292]child navigables. Adding [43293]child navigables to navigablesToCheck means those navigables will also be checked by this loop. [43294]Child navigables are only checked if the navigable's [43295]active document will not change as part of this traversal. 4. Return results.

    7.4.6.2 Updating the document

    To update document for history step application given a [43296]Document document, a [43297]session history entry entry, a boolean doNotReactivate, integers scriptHistoryLength and scriptHistoryIndex, [43298]NavigationType-or-null navigationType, an optional [43299]list of [43300]session history entries entriesForNavigationAPI, and an optional [43301]session history entry previousEntryForActivation: 1. Let documentIsNew be true if document's [43302]latest entry is null; otherwise false. 2. Let documentsEntryChanged be true if document's [43303]latest entry is not entry; otherwise false. 3. Set document's [43304]history object's [43305]index to scriptHistoryIndex. 4. Set document's [43306]history object's [43307]length to scriptHistoryLength. 5. Let navigation be history's [43308]relevant global object's [43309]navigation API. 6. If documentsEntryChanged is true, then: 1. Let oldURL be document's [43310]latest entry's [43311]URL. 2. Set document's [43312]latest entry to entry. 3. [43313]Restore the history object state given document and entry. 4. If documentIsNew is false, then: 1. [43314]Assert: navigationType is not null. 2. [43315]Update the navigation API entries for a same-document navigation given navigation, entry, and navigationType. 3. [43316]Fire an event named [43317]popstate at document's [43318]relevant global object, using [43319]PopStateEvent, with the [43320]state attribute initialized to document's [43321]history object's [43322]state and [43323]hasUAVisualTransition initialized to true if a visual transition, to display a cached rendered state of the [43324]latest entry, was done by the user agent. 4. [43325]Restore persisted state given entry. 5. If oldURL's [43326]fragment is not equal to entry's [43327]URL's [43328]fragment, then [43329]queue a global task on the [43330]DOM manipulation task source given document's [43331]relevant global object to [43332]fire an event named [43333]hashchange at document's [43334]relevant global object, using [43335]HashChangeEvent, with the [43336]oldURL attribute initialized to the [43337]serialization of oldURL and the [43338]newURL attribute initialized to the [43339]serialization of entry's [43340]URL. 5. Otherwise: 1. [43341]Assert: entriesForNavigationAPI is given. 2. [43342]Restore persisted state given entry. 3. [43343]Initialize the navigation API entries for a new document given navigation, entriesForNavigationAPI, and entry. 7. If all the following are true: + previousEntryForActivation is given; + navigationType is non-null; and + navigationType is "[43344]reload" or previousEntryForActivation's [43345]document is not document, then: 1. If navigation's [43346]activation is null, then set navigation's [43347]activation to a new [43348]NavigationActivation object in navigation's [43349]relevant realm. 2. Let previousEntryIndex be the result of [43350]getting the navigation API entry index of previousEntryForActivation within navigation. 3. If previousEntryIndex is non-negative, then set activation's [43351]old entry to navigation's [43352]entry list[previousEntryIndex]. 4. Otherwise, if all the following are true: o navigationType is "[43353]replace"; o previousEntryForActivation's [43354]document state's [43355]origin is [43356]same origin with document's [43357]origin; and o previousEntryForActivation's [43358]document's [43359]initial about:blank is false, then set activation's [43360]old entry to a new [43361]NavigationHistoryEntry in navigation's [43362]relevant realm, whose [43363]session history entry is previousEntryForActivation. 5. Set activation's [43364]new entry to navigation's [43365]current entry. 6. Set activation's [43366]navigation type to navigationType. 8. If documentIsNew is true, then: 1. [43367]Assert: document's [43368]during-loading navigation ID for WebDriver BiDi is not null. 2. Invoke [43369]WebDriver BiDi navigation committed with navigable and a new [43370]WebDriver BiDi navigation status whose [43371]id is document's [43372]during-loading navigation ID for WebDriver BiDi, [43373]status is "[43374]committed", and [43375]url is document's [43376]URL. 3. [43377]Try to scroll to the fragment for document. 4. At this point scripts may run for the newly-created document document. 9. Otherwise, if documentsEntryChanged is false and doNotReactivate is false, then: 1. [43378]Assert: entriesForNavigationAPI is given. 2. [43379]Reactivate document given entry and entriesForNavigationAPI. documentsEntryChanged can be false for one of two reasons: either we are restoring from [43380]bfcache, or we are asynchronously finishing up a synchronous navigation which already synchronously set document's [43381]latest entry. The doNotReactivate argument distinguishes between these two cases.

    To restore the history object state given [43382]Document document and [43383]session history entry entry: 1. Let targetRealm be document's [43384]relevant realm. 2. Let state be [43385]StructuredDeserialize(entry's [43386]classic history API state, targetRealm). If this throws an exception, catch it and let state be null. 3. Set document's [43387]history object's [43388]state to state.

    To make active a [43389]Document document: 1. Let window be document's [43390]relevant global object. 2. Set document's [43391]browsing context's [43392]WindowProxy's [43393][[Window]] internal slot value to window. 3. Set document's [43394]visibility state to document's [43395]node navigable's [43396]traversable navigable's [43397]system visibility state. 4. [43398]Queue a new [43399]VisibilityStateEntry whose [43400]visibility state is document's [43401]visibility state and whose [43402]timestamp is zero. 5. Set window's [43403]relevant settings object's [43404]execution ready flag.

    To reactivate a [43405]Document document given a [43406]session history entry reactivatedEntry and a [43407]list of [43408]session history entries entriesForNavigationAPI:

    This algorithm updates document after it has come out of [43409]bfcache, i.e., after it has been made [43410]fully active again. Other specifications that want to watch for this change to the [43411]fully active state are encouraged to add steps into this algorithm, so that the ordering of events that happen in effect of the change is clear. 1. [43412]For each formControl of form controls in document with an [43413]autofill field name of "[43414]off", invoke the [43415]reset algorithm for formControl. 2. If document's [43416]suspended timer handles is not [43417]empty: 1. [43418]Assert: document's [43419]suspension time is not zero. 2. Let suspendDuration be the [43420]current high resolution time minus document's [43421]suspension time. 3. Let activeTimers be document's [43422]relevant global object's [43423]map of active timers. 4. For each handle in document's [43424]suspended timer handles, if activeTimers[handle] [43425]exists, then increase activeTimers[handle] by suspendDuration. 3. [43426]Update the navigation API entries for reactivation given document's [43427]relevant global object's [43428]navigation API, entriesForNavigationAPI, and reactivatedEntry. 4. If document's [43429]current document readiness is "complete", and document's [43430]page showing is false: 1. Set document's [43431]page showing to true. 2. Set document's [43432]has been revealed to false. 3. [43433]Update the visibility state of document to "visible". 4. [43434]Fire a page transition event named [43435]pageshow at document's [43436]relevant global object with true.

    To try to scroll to the fragment for a [43437]Document document, perform the following steps [43438]in parallel: 1. Wait for an [43439]implementation-defined amount of time. (This is intended to allow the user agent to optimize the user experience in the face of performance concerns.) 2. [43440]Queue a global task on the [43441]navigation and traversal task source given document's [43442]relevant global object to run these steps: 1. If document has no parser, or its parser has [43443]stopped parsing, or the user agent has reason to believe the user is no longer interested in scrolling to the [43444]fragment, then abort these steps. 2. [43445]Scroll to the fragment given document. 3. If document's [43446]indicated part is still null, then [43447]try to scroll to the fragment for document.

    To make document unsalvageable, given a [43448]Document document and a string reason: 1. Let details be a new [43449]not restored reason details whose [43450]reason is reason. 2. [43451]Append details to document's [43452]bfcache blocking details. 3. Set document's [43453]salvageable state to false.

    To build not restored reasons for document state given [43454]Document document: 1. Let notRestoredReasonsForDocument be a new [43455]not restored reasons. 2. Set notRestoredReasonsForDocument's [43456]URL to document's [43457]URL. 3. Let container be document's [43458]node navigable's [43459]container. 4. If container is an [43460]iframe element: 1. Let src be the empty string. 2. If container has a [43461]src attribute: 1. Let src be the result of [43462]encoding-parsing-and-serializing a URL given container's [43463]src attribute's value, relative to container's [43464]node document. 2. If src is failure, then set src to container's [43465]src attribute's value. 3. Set notRestoredReasonsForDocument's [43466]src to src. 4. Set notRestoredReasonsForDocument's [43467]id to container's [43468]id attribute's value, or the empty string if it has no such attribute. 5. Set notRestoredReasonsForDocument's [43469]name to container's [43470]name attribute's value, or the empty string if it has no such attribute. 5. Set notRestoredReasonsForDocument's [43471]reasons to a [43472]clone of document's [43473]bfcache blocking details. 6. [43474]For each navigable of document's [43475]document-tree child navigables: 1. Let childDocument be navigable's [43476]active document. 2. [43477]Build not restored reasons for document state given childDocument. 3. [43478]Append childDocument's [43479]not restored reasons to notRestoredReasonsForDocument's [43480]children. 7. Set document's [43481]node navigable's [43482]active session history entry's [43483]document state's [43484]not restored reasons to notRestoredReasonsForDocument.

    To build not restored reasons for a top-level traversable and its descendants given [43485]top-level traversable topLevelTraversable: 1. [43486]Build not restored reasons for document state given topLevelTraversable's [43487]active document. 2. Let crossOriginDescendants be an empty [43488]list. 3. [43489]For each childNavigable of topLevelTraversable's [43490]active document's [43491]descendant navigables: 1. If childNavigable's [43492]active document's [43493]origin is not [43494]same origin with topLevelTraversable's [43495]active document's [43496]origin, then [43497]append childNavigable to crossOriginDescendants. 4. Let crossOriginDescendantsPreventsBfcache be false. 5. [43498]For each crossOriginNavigable of crossOriginDescendants: 1. Let reasonsForCrossOriginChild be crossOriginNavigable's [43499]active document's [43500]document state's [43501]not restored reasons. 2. If reasonsForCrossOriginChild's [43502]reasons is not empty, set crossOriginDescendantsPreventsBfcache to true. 3. Set reasonsForCrossOriginChild's [43503]URL to null. 4. Set reasonsForCrossOriginChild's [43504]reasons to null. 5. Set reasonsForCrossOriginChild's [43505]children to null. 6. If crossOriginDescendantsPreventsBfcache is true, [43506]make document unsalvageable given topLevelTraversable's [43507]active document and "[43508]masked".

    7.4.6.3 Revealing the document

    A [43509]Document has a boolean has been revealed, initially false. It is used to ensure that the [43510]pagereveal event is fired once for each activation of the [43511]Document (once when it's rendered initially, and once for each [43512]reactivation).

    To reveal a [43513]Document document: 1. If document's [43514]has been revealed is true, then return. 2. Set document's [43515]has been revealed to true. 3. Let transition be the result of [43516]resolving inbound cross-document view-transition for document. 4. [43517]Fire an event named [43518]pagereveal at document's [43519]relevant global object, using [43520]PageRevealEvent with its [43521]viewTransition set to transition. 5. If transition is not null, then: 1. [43522]Prepare to run script given document's [43523]relevant settings object. 2. [43524]Activate transition. 3. [43525]Clean up after running script given document's [43526]relevant settings object. Activating a view transition might resolve/reject promises, so by wrapping the activation with prepare/cleanup we ensure those promises are handled before the next rendering step.

    Though [43527]pagereveal is guaranteed to be fired during the first [43528]update the rendering step that displays an up-to-date version of the page, user agents are free to display a cached frame of the page before firing it. This prevents the presence of a [43529]pagereveal handler from delaying the presentation of such cached frame.

    7.4.6.4 Scrolling to a fragment

    To scroll to the fragment given a [43530]Document document: 1. If document's [43531]indicated part is null, then set document's [43532]target element to null. 2. Otherwise, if document's [43533]indicated part is [43534]top of the document, then: 1. Set document's [43535]target element to null. 2. [43536]Scroll to the beginning of the document for document. [43537][CSSOMVIEW] 3. Return. 3. Otherwise: 1. [43538]Assert: document's [43539]indicated part is an element. 2. Let target be document's [43540]indicated part. 3. Set document's [43541]target element to target. 4. Run the [43542]ancestor details revealing algorithm on target. 5. Run the [43543]ancestor hidden-until-found revealing algorithm on target. 6. [43544]Scroll target into view, with behavior set to "auto", block set to "start", and inline set to "nearest". [43545][CSSOMVIEW] 7. Run the [43546]focusing steps for target, with the [43547]Document's [43548]viewport as the fallback target. 8. Move the [43549]sequential focus navigation starting point to target.

    A [43550]Document's indicated part is the one that its [43551]URL's [43552]fragment identifies, or null if the fragment does not identify anything. The semantics of the [43553]fragment in terms of mapping it to a node is defined by the specification that defines the [43554]MIME type used by the [43555]Document (for example, the processing of [43556]fragments for [43557]XML MIME types is the responsibility of RFC7303). [43558][RFC7303]

    There is also a target element for each [43559]Document, which is used in defining the [43560]:target pseudo-class and is updated by the above algorithm. It is initially null.

    For an [43561]HTML document document, its [43562]indicated part is the result of [43563]selecting the indicated part given document and document's [43564]URL.

    To select the indicated part given a [43565]Document document and a [43566]URL url: 1. If document's [43567]URL does not [43568]equal url with [43569]exclude fragments set to true, then return null. 2. Let fragment be url's [43570]fragment. 3. If fragment is the empty string, then return the special value top of the document. 4. Let potentialIndicatedElement be the result of [43571]finding a potential indicated element given document and fragment. 5. If potentialIndicatedElement is not null, then return potentialIndicatedElement. 6. Let fragmentBytes be the result of [43572]percent-decoding fragment. 7. Let decodedFragment be the result of running [43573]UTF-8 decode without BOM on fragmentBytes. 8. Set potentialIndicatedElement to the result of [43574]finding a potential indicated element given document and decodedFragment. 9. If potentialIndicatedElement is not null, then return potentialIndicatedElement. 10. If decodedFragment is an [43575]ASCII case-insensitive match for the string top, then return the [43576]top of the document. 11. Return null.

    To find a potential indicated element given a [43577]Document document and a string fragment, run these steps: 1. If there is an element [43578]in the document tree whose [43579]root is document and that has an [43580]ID equal to fragment, then return the first such element in [43581]tree order. 2. If there is an [43582]a element [43583]in the document tree whose [43584]root is document that has a [43585]name attribute whose value is equal to fragment, then return the first such element in [43586]tree order. 3. Return null.

    7.4.6.5 Persisted history entry state

    To save persisted state to a [43587]session history entry entry: 1. Set the [43588]scroll position data of entry to contain the scroll positions for all of entry's [43589]document's [43590]restorable scrollable regions. 2. Optionally, update entry's [43591]persisted user state to reflect any state that the user agent wishes to persist, such as the values of form fields.

    To restore persisted state from a [43592]session history entry entry: 1. If entry's [43593]scroll restoration mode is "[43594]auto", and entry's [43595]document's [43596]relevant global object's [43597]navigation API's [43598]suppress normal scroll restoration during ongoing navigation is false, then [43599]restore scroll position data given entry. The user agent not restoring scroll positions does not imply that scroll positions will be left at any particular value (e.g., (0,0)). The actual scroll position depends on the navigation type and the user agent's particular caching strategy. So web applications cannot assume any particular scroll position but rather are urged to set it to what they want it to be. If [43600]suppress normal scroll restoration during ongoing navigation is true, then [43601]restoring scroll position data might still happen at a later point, as part of [43602]finishing the relevant [43603]NavigateEvent, or via a [43604]navigateEvent.scroll() method call. 2. Optionally, update other aspects of entry's [43605]document and its rendering, for instance values of form fields, that the user agent had previously recorded in entry's [43606]persisted user state. This can even include updating the [43607]dir attribute of [43608]textarea elements or [43609]input elements whose [43610]type attribute is in the [43611]Text, [43612]Search, [43613]Telephone, [43614]URL, or [43615]Email state, if the persisted state includes the directionality of user input in such controls. Restoring the value of form controls as part of this process does not fire any [43616]input or [43617]change events, but can trigger the formStateRestoreCallback of [43618]form-associated custom elements. __________________________________________________________________

    Each [43619]Document has a boolean has been scrolled by the user, initially false. If the user scrolls the document, the user agent must set that document's [43620]has been scrolled by the user to true.

    The restorable scrollable regions of a [43621]Document document are document's [43622]viewport, and all of document's scrollable regions excepting any [43623]navigable containers.

    [43624]Child navigable scroll restoration is handled as part of state restoration for the [43625]session history entry for those [43626]navigables' [43627]Documents.

    To restore scroll position data given a [43628]session history entry entry: 1. Let document be entry's [43629]document. 2. If document's [43630]has been scrolled by the user is true, then the user agent should return. 3. The user agent should attempt to use entry's [43631]scroll position data to restore the scroll positions of entry's [43632]document's [43633]restorable scrollable regions. The user agent may continue to attempt to do so periodically, until document's [43634]has been scrolled by the user becomes true. This is formulated as an attempt, which is potentially repeated until success or until the user scrolls, due to the fact that relevant content indicated by the [43635]scroll position data might take some time to load from the network. Scroll restoration might be affected by scroll anchoring. [43636][CSSSCROLLANCHORING]

    7.5 Document lifecycle

    7.5.1 Shared document creation infrastructure

    When loading a document using one of the below algorithms, we use the following steps to create and initialize a Document object, given a [43637]type type, [43638]content type contentType, and [43639]navigation params navigationParams:

    [43640]Document objects are also created when [43641]creating a new browsing context and document; such [43642]initial about:blank [43643]Document are never created by this algorithm. Also, [43644]browsing context-less [43645]Document objects can be created via various APIs, such as [43646]document.implementation.createHTMLDocument(). 1. Let browsingContext be the result of [43647]obtaining a browsing context to use for a navigation response given navigationParams. This can result in a [43648]browsing context group switch, in which case browsingContext will be a [43649]newly-created [43650]browsing context instead of being navigationParams's [43651]navigable's [43652]active browsing context. In such a case, the created [43653]Window, [43654]Document, and [43655]agent will not end up being used; because the created [43656]Document's [43657]origin is [43658]opaque, we will end up creating a new [43659]agent and [43660]Window [43661]later in this algorithm to go along with the new [43662]Document. 2. Let permissionsPolicy be the result of [43663]creating a permissions policy from a response given navigationParams's [43664]navigable's [43665]container, navigationParams's [43666]origin, and navigationParams's [43667]response. [43668][PERMISSIONSPOLICY] The [43669]creating a permissions policy from a response algorithm makes use of the passed [43670]origin. If [43671]document.domain has been used for navigationParams's [43672]navigable's [43673]container document, then its [43674]origin cannot be [43675]same origin-domain with the passed origin, because these steps run before the document is created, so it cannot itself yet have used [43676]document.domain. Note that this means that Permissions Policy checks are less permissive compared to doing a [43677]same origin check instead. See below for some examples of this in action. 3. Let creationURL be navigationParams's [43678]response's [43679]URL. 4. If navigationParams's [43680]request is non-null, then set creationURL to navigationParams's [43681]request's [43682]current URL. 5. Let window be null. 6. If browsingContext's [43683]active document's [43684]is initial about:blank is true, and browsingContext's [43685]active document's [43686]origin is [43687]same origin-domain with navigationParams's [43688]origin, then set window to browsingContext's [43689]active window. This means that both the [43690]initial about:blank [43691]Document, and the new [43692]Document that is about to be created, will share the same [43693]Window object. 7. Otherwise: 1. Let oacHeader be the result of [43694]getting a structured field value given `[43695]Origin-Agent-Cluster` and "item" from navigationParams's [43696]response's [43697]header list. 2. Let requestsOAC be true if oacHeader is not null and oacHeader[0] is the [43698]boolean true; otherwise false. 3. If navigationParams's [43699]reserved environment is a [43700]non-secure context, then set requestsOAC to false. 4. Let agent be the result of [43701]obtaining a similar-origin window agent given navigationParams's [43702]origin, browsingContext's [43703]group, and requestsOAC. 5. Let realmExecutionContext be the result of [43704]creating a new realm given agent and the following customizations: o For the global object, create a new [43705]Window object. o For the global this binding, use browsingContext's [43706]WindowProxy object. 6. Set window to the [43707]global object of realmExecutionContext's Realm component. 7. Let topLevelCreationURL be creationURL. 8. Let topLevelOrigin be navigationParams's [43708]origin. 9. If navigable's [43709]container is not null, then: 1. Let parentEnvironment be navigable's [43710]container's [43711]relevant settings object. 2. Set topLevelCreationURL to parentEnvironment's [43712]top-level creation URL. 3. Set topLevelOrigin to parentEnvironment's [43713]top-level origin. 10. [43714]Set up a window environment settings object with creationURL, realmExecutionContext, navigationParams's [43715]reserved environment, topLevelCreationURL, and topLevelOrigin. This is the usual case, where the new [43716]Document we're about to create gets a new [43717]Window to go along with it. 8. Let loadTimingInfo be a new [43718]document load timing info with its [43719]navigation start time set to navigationParams's [43720]response's [43721]timing info's [43722]start time. 9. Let document be a new [43723]Document, with

    [43724]type type

    [43725]content type contentType

    [43726]origin navigationParams's [43727]origin

    [43728]browsing context browsingContext

    [43729]policy container navigationParams's [43730]policy container

    [43731]permissions policy permissionsPolicy

    [43732]active sandboxing flag set navigationParams's [43733]final sandboxing flag set

    [43734]opener policy navigationParams's [43735]cross-origin opener policy

    [43736]load timing info loadTimingInfo

    [43737]was created via cross-origin redirects navigationParams's [43738]response's [43739]has cross-origin redirects

    [43740]during-loading navigation ID for WebDriver BiDi navigationParams's [43741]id

    [43742]URL creationURL

    [43743]current document readiness "loading"

    [43744]about base URL navigationParams's [43745]about base URL

    [43746]allow declarative shadow roots true

    [43747]custom element registry A new {{CustomElementRegistry}} object.

    10. Set window's [43748]associated Document to document. 11. [43749]Run CSP initialization for a Document given document. [43750][CSP] 12. If navigationParams's [43751]request is non-null, then: 1. Set document's [43752]referrer to the empty string. 2. Let referrer be navigationParams's [43753]request's [43754]referrer. 3. If referrer is a [43755]URL record, then set document's [43756]referrer to the [43757]serialization of referrer. Per Fetch, referrer will be either a [43758]URL record or "no-referrer" at this point. 13. If navigationParams's [43759]fetch controller is not null, then: 1. Let fullTimingInfo be the result of [43760]extracting the full timing info from navigationParams's [43761]fetch controller. 2. Let redirectCount be 0 if navigationParams's [43762]response's [43763]has cross-origin redirects is true; otherwise navigationParams's [43764]request's [43765]redirect count. 3. [43766]Create the navigation timing entry for document, given fullTimingInfo, redirectCount, navigationTimingType, navigationParams's [43767]response's [43768]service worker timing info, and navigationParams's [43769]response's [43770]body info. 14. [43771]Create the navigation timing entry for document, with navigationParams's [43772]response's [43773]timing info, redirectCount, navigationParams's [43774]navigation timing type, and navigationParams's [43775]response's [43776]service worker timing info. 15. If navigationParams's [43777]response has a `[43778]Refresh` header, then: 1. Let value be the [43779]isomorphic decoding of the value of the header. 2. Run the [43780]shared declarative refresh steps with document and value. We do not currently have a spec for how to handle multiple `[43781]Refresh` headers. This is tracked as [43782]issue #2900. 16. If navigationParams's [43783]commit early hints is not null, then call navigationParams's [43784]commit early hints with document. 17. [43785]Process link headers given document, navigationParams's [43786]response, and "pre-media". 18. Return document.

    In this example, the child document is not allowed to use [43787]PaymentRequest, despite being [43788]same origin-domain at the time the child document tries to use it. At the time the child document is initialized, only the parent document has set [43789]document.domain, and the child document has not.

    In this example, the child document is allowed to use [43790]PaymentRequest, despite not being [43791]same origin-domain at the time the child document tries to use it. At the time the child document is initialized, none of the documents have set [43792]document.domain yet so [43793]same origin-domain falls back to a normal [43794]same origin check.

    To populate with html/head/body given a [43795]Document document: 1. Let html be the result of [43796]creating an element given document, "html", and the [43797]HTML namespace. 2. Let head be the result of [43798]creating an element given document, "head", and the [43799]HTML namespace. 3. Let body be the result of [43800]creating an element given document, "body", and the [43801]HTML namespace. 4. [43802]Append html to document. 5. [43803]Append head to html. 6. [43804]Append body to html.

    7.5.2 Loading HTML documents

    To load an HTML document, given [43805]navigation params navigationParams: 1. Let document be the result of [43806]creating and initializing a Document object given "html", "text/html", and navigationParams. 2. If document's [43807]URL is [43808]about:blank, then [43809]populate with html/head/body given document. This special case, where even non-[43810]initial about:blank [43811]Documents are synchronously given their element nodes, is necessary for compatible with deployed content. In other words, it is not compatible to instead go down the "otherwise" branch and feed the empty [43812]byte sequence into an [43813]HTML parser to asynchronously populate document. 3. Otherwise, create an [43814]HTML parser and associate it with the document. Each [43815]task that the [43816]networking task source places on the [43817]task queue while fetching runs must then fill the parser's [43818]input byte stream with the fetched bytes and cause the [43819]HTML parser to perform the appropriate processing of the input stream. The first [43820]task that the [43821]networking task source places on the [43822]task queue while fetching runs must [43823]process link headers given document, navigationParams's [43824]response, and "media", after the task has been processed by the [43825]HTML parser. Before any script execution occurs, the user agent must wait for [43826]scripts may run for the newly-created document to be true for document. The [43827]input byte stream converts bytes into characters for use in the [43828]tokenizer. This process relies, in part, on character encoding information found in the real [43829]Content-Type metadata of the resource; the computed type is not used for this purpose. When no more bytes are available, the user agent must [43830]queue a global task on the [43831]networking task source given document's [43832]relevant global object to have the parser process the implied EOF character, which eventually causes a [43833]load event to be fired. 4. Return document.

    7.5.3 Loading XML documents

    When faced with displaying an XML file inline, provided [43834]navigation params navigationParams and a string type, user agents must follow the requirements defined in XML and Namespaces in XML, XML Media Types, DOM, and other relevant specifications to [43835]create and initialize a Document object document, given "xml", type, and navigationParams, and return that [43836]Document. They must also create a corresponding [43837]XML parser. [43838][XML] [43839][XMLNS] [43840][RFC7303] [43841][DOM]

    At the time of writing, the XML specification community had not actually yet specified how XML and the DOM interact.

    The first [43842]task that the [43843]networking task source places on the [43844]task queue while fetching runs must [43845]process link headers given document, navigationParams's [43846]response, and "media", after the task has been processed by the [43847]XML parser.

    The actual HTTP headers and other metadata, not the headers as mutated or implied by the algorithms given in this specification, are the ones that must be used when determining the character encoding according to the rules given in the above specifications. Once the character encoding is established, the [43848]document's character encoding must be set to that character encoding.

    Before any script execution occurs, the user agent must wait for [43849]scripts may run for the newly-created document to be true for the newly-created [43850]Document.

    Once parsing is complete, the user agent must set document's [43851]during-loading navigation ID for WebDriver BiDi to null.

    For HTML documents this is reset when parsing is complete, after firing the load event.

    Error messages from the parse process (e.g., XML namespace well-formedness errors) may be reported inline by mutating the [43852]Document.

    7.5.4 Loading text documents

    To load a text document, given a [43853]navigation params navigationParams and a string type: 1. Let document be the result of [43854]creating and initializing a Document object given "html", type, and navigationParams. 2. Set document's [43855]parser cannot change the mode flag to true. 3. Set document's [43856]mode to "no-quirks". 4. Create an [43857]HTML parser and associate it with the document. Act as if the tokenizer had emitted a start tag token with the tag name "pre" followed by a single U+000A LINE FEED (LF) character, and switch the [43858]HTML parser's tokenizer to the [43859]PLAINTEXT state. Each [43860]task that the [43861]networking task source places on the [43862]task queue while fetching runs must then fill the parser's [43863]input byte stream with the fetched bytes and cause the [43864]HTML parser to perform the appropriate processing of the input stream. document's [43865]encoding must be set to the character encoding used to decode the document during parsing. The first [43866]task that the [43867]networking task source places on the [43868]task queue while fetching runs must [43869]process link headers given document, navigationParams's [43870]response, and "media", after the task has been processed by the [43871]HTML parser. Before any script execution occurs, the user agent must wait for [43872]scripts may run for the newly-created document to be true for document. When no more bytes are available, the user agent must [43873]queue a global task on the [43874]networking task source given document's [43875]relevant global object to have the parser process the implied EOF character, which eventually causes a [43876]load event to be fired. 5. User agents may add content to the [43877]head element of document, e.g., linking to a style sheet, providing script, or giving the document a [43878]title. In particular, if the user agent supports the Format=Flowed feature of RFC 3676 then the user agent would need to apply extra styling to cause the text to wrap correctly and to handle the quoting feature. This could be performed using, e.g., a CSS extension. 6. Return document.

    The rules for how to convert the bytes of the plain text document into actual characters, and the rules for actually rendering the text to the user, are defined by the specifications for the [43879]computed MIME type of the resource (i.e., type).

    7.5.5 Loading [43880]multipart/x-mixed-replace documents

    To load a multipart/x-mixed-replace document, given [43881]navigation params navigationParams, [43882]source snapshot params sourceSnapshotParams, and [43883]origin initiatorOrigin: 1. Parse navigationParams's [43884]response's [43885]body using the rules for multipart types. [43886][RFC2046] 2. Let firstPartNavigationParams be a copy of navigationParams. 3. Set firstPartNavigationParams's [43887]response to a new [43888]response representing the first part of navigationParams's [43889]response's [43890]body's multipart stream. 4. Let document be the result of [43891]loading a document given firstPartNavigationParams, sourceSnapshotParams, and initiatorOrigin. For each additional body part obtained from navigationParams's [43892]response, the user agent must [43893]navigate document's [43894]node navigable to navigationParams's [43895]request's [43896]URL, using document, with [43897]response set to navigationParams's [43898]response and [43899]historyHandling set to "[43900]replace". 5. Return document.

    For the purposes of algorithms processing these body parts as if they were complete stand-alone resources, the user agent must act as if there were no more bytes for those resources whenever the boundary following the body part is reached.

    Thus, [43901]load events (and for that matter [43902]unload events) do fire for each body part loaded.

    7.5.6 Loading media documents

    To load a media document, given navigationParams and a string type: 1. Let document be the result of [43903]creating and initializing a Document object given "html", type, and navigationParams. 2. Set document's [43904]mode to "no-quirks". 3. [43905]Populate with html/head/body given document. 4. Append an element host element for the media, as described below, to the [43906]body element. 5. Set the appropriate attribute of the element host element, as described below, to the address of the image, video, or audio resource. 6. User agents may add content to the [43907]head element of document, or attributes to host element, e.g., to link to a style sheet, to provide a script, to give the document a [43908]title, or to make the media [43909]autoplay. 7. [43910]Process link headers given document, navigationParams's [43911]response, and "media". 8. Act as if the user agent had [43912]stopped parsing document. 9. Return document.

    The element host element to create for the media is the element given in the table below in the second cell of the row whose first cell describes the media. The appropriate attribute to set is the one given by the third cell in that same row.

    Type of media Element for the media Appropriate attribute Image [43913]img [43914]src Video [43915]video [43916]src Audio [43917]audio [43918]src

    Before any script execution occurs, the user agent must wait for [43919]scripts may run for the newly-created document to be true for the [43920]Document.

    7.5.7 Loading a document for inline content that doesn't have a DOM

    When the user agent is to create a document to display a user agent page or PDF viewer inline, provided a [43921]navigable navigable, a [43922]navigation ID navigationId, a [43923]NavigationTimingType navTimingType, and a [43924]user navigation involvement userInvolvement, the user agent should: 1. Let origin be a new [43925]opaque origin. 2. Let coop be a new [43926]opener policy. 3. Let coopEnforcementResult be a new [43927]opener policy enforcement result with

    [43928]url response's [43929]URL

    [43930]origin origin

    [43931]opener policy coop

    4. Let navigationParams be a new [43932]navigation params with

    [43933]id navigationId

    [43934]navigable navigable

    [43935]request null

    [43936]response a new [43937]response

    [43938]origin origin

    [43939]fetch controller null

    [43940]commit early hints null

    [43941]COOP enforcement result coopEnforcementResult

    [43942]reserved environment null

    [43943]policy container a new [43944]policy container

    [43945]final sandboxing flag set an empty set

    [43946]opener policy coop

    [43947]navigation timing type navTimingType

    [43948]about base URL null

    [43949]user involvement userInvolvement

    5. Let document be the result of [43950]creating and initializing a Document object given "html", "text/html", and navigationParams. 6. Either associate document with a custom rendering that is not rendered using the normal [43951]Document rendering rules, or mutate document until it represents the content the user agent wants to render. 7. Return document.

    Because we ensure the resulting [43952]Document's [43953]origin is [43954]opaque, and the resulting [43955]Document cannot run script with access to the DOM, the existence and properties of this [43956]Document are not observable to web developer code. This means that most of the above values, e.g., the [43957]text/html [43958]type, do not matter. Similarly, most of the items in navigationParams don't have any observable effect, besides preventing the [43959]Document-creation algorithm from getting confused, and so are set to default values.

    Once the page has been set up, the user agent must act as if it had [43960]stopped parsing.

    7.5.8 Finishing the loading process

    A [43961]Document has a completely loaded time (a time or null), which is initially null.

    A [43962]Document is considered completely loaded if its [43963]completely loaded time is non-null.

    To completely finish loading a [43964]Document document: 1. [43965]Assert: document's [43966]browsing context is non-null. 2. Set document's [43967]completely loaded time to the current time. 3. Let container be document's [43968]node navigable's [43969]container. This will be null in the case where document is the [43970]initial about:blank [43971]Document in a [43972]frame or [43973]iframe, since at the point of [43974]browsing context creation which calls this algorithm, the container relationship has not yet been established. (That happens in a subsequent step of [43975]create a new child navigable.) The consequence of this is that the following steps do nothing, i.e., we do not fire an asynchronous [43976]load event on the container element for such cases. Instead, a synchronous [43977]load event is fired in a special initial-insertion case when [43978]processing the iframe attributes. 4. If container is an [43979]iframe element, then [43980]queue an element task on the [43981]DOM manipulation task source given container to run the [43982]iframe load event steps given container. 5. Otherwise, if container is non-null, then [43983]queue an element task on the [43984]DOM manipulation task source given container to [43985]fire an event named [43986]load at container.

    7.5.9 Unloading documents

    A [43987]Document has a salvageable state, which must initially be true, and a page showing boolean, which is initially false. The [43988]page showing boolean is used to ensure that scripts receive [43989]pageshow and [43990]pagehide events in a consistent manner (e.g., that they never receive two [43991]pagehide events in a row without an intervening [43992]pageshow, or vice versa).

    A [43993]Document has a [43994]DOMHighResTimeStamp suspension time, initially 0.

    A [43995]Document has a [43996]list of suspended timer handles, initially empty.

    [43997]Event loops have a termination nesting level counter, which must initially be 0.

    [43998]Document objects have an unload counter, which is used to ignore certain operations while the below algorithms run. Initially, the counter must be set to zero.

    To unload a [43999]Document oldDocument, given an optional [44000]Document newDocument: 1. [44001]Assert: this is running as part of a [44002]task queued on oldDocument's [44003]relevant agent's [44004]event loop. 2. Let unloadTimingInfo be a new [44005]document unload timing info. 3. If newDocument is not given, then set unloadTimingInfo to null. In this case there is no new document that needs to know about how long it took oldDocument to unload. 4. Otherwise, if newDocument's [44006]event loop is not oldDocument's [44007]event loop, then the user agent may be [44008]unloading oldDocument [44009]in parallel. In that case, the user agent should set unloadTimingInfo to null. In this case newDocument's loading is not impacted by how long it takes to unload oldDocument, so it would be meaningless to communicate that timing info. 5. Let intendToKeepInBfcache be true if the user agent intends to keep oldDocument alive in a [44010]session history entry, such that it can later be [44011]used for history traversal. This must be false if oldDocument is not [44012]salvageable, or if there are any descendants of oldDocument which the user agent does not intend to keep alive in the same way (including due to their lack of [44013]salvageability). 6. Let eventLoop be oldDocument's [44014]relevant agent's [44015]event loop. 7. Increase eventLoop's [44016]termination nesting level by 1. 8. Increase oldDocument's [44017]unload counter by 1. 9. If intendToKeepInBfcache is false, then set oldDocument's [44018]salvageable state to false. 10. If oldDocument's [44019]page showing is true: 1. Set oldDocument's [44020]page showing to false. 2. [44021]Fire a page transition event named [44022]pagehide at oldDocument's [44023]relevant global object with oldDocument's [44024]salvageable state. 3. [44025]Update the visibility state of oldDocument to "hidden". 11. If unloadTimingInfo is not null, then set unloadTimingInfo's [44026]unload event start time to the [44027]current high resolution time given newDocument's [44028]relevant global object, [44029]coarsened given oldDocument's [44030]relevant settings object's [44031]cross-origin isolated capability. 12. If oldDocument's [44032]salvageable state is false, then [44033]fire an event named [44034]unload at oldDocument's [44035]relevant global object, with legacy target override flag set. 13. If unloadTimingInfo is not null, then set unloadTimingInfo's [44036]unload event end time to the [44037]current high resolution time given newDocument's [44038]relevant global object, [44039]coarsened given oldDocument's [44040]relevant settings object's [44041]cross-origin isolated capability. 14. Decrease eventLoop's [44042]termination nesting level by 1. 15. Set oldDocument's [44043]suspension time to the [44044]current high resolution time given document's [44045]relevant global object. 16. Set oldDocument's [44046]suspended timer handles to the result of [44047]getting the keys for the [44048]map of active timers. 17. Set oldDocument's [44049]has been scrolled by the user to false. 18. Run any [44050]unloading document cleanup steps for oldDocument that are defined by this specification and [44051]other applicable specifications. 19. If oldDocument's [44052]node navigable is a [44053]top-level traversable, [44054]build not restored reasons for a top-level traversable and its descendants given oldDocument's [44055]node navigable. 20. If oldDocument's [44056]salvageable state is false, then [44057]destroy oldDocument. 21. Decrease oldDocument's [44058]unload counter by 1. 22. If newDocument is given, newDocument's [44059]was created via cross-origin redirects is false, and newDocument's [44060]origin is the [44061]same as oldDocument's [44062]origin, then set newDocument's [44063]previous document unload timing to unloadTimingInfo.

    To unload a document and its descendants, given a [44064]Document document, an optional [44065]Document-or-null newDocument (default null), an optional set of steps afterAllUnloads, and an optional set of steps firePageSwapSteps: 1. [44066]Assert: this is running within document's [44067]node navigable's [44068]traversable navigable's [44069]session history traversal queue. 2. Let childNavigables be document's [44070]child navigables. 3. Let numberUnloaded be 0. 4. [44071]For each childNavigable of childNavigables in what order?, [44072]queue a global task on the [44073]navigation and traversal task source given childNavigable's [44074]active window to perform the following steps: 1. Let incrementUnloaded be an algorithm step which increments numberUnloaded. 2. [44075]Unload a document and its descendants given childNavigable's [44076]active document, null, and incrementUnloaded. 5. Wait until numberUnloaded equals childNavigable's [44077]size. 6. [44078]Queue a global task on the [44079]navigation and traversal task source given document's [44080]relevant global object to perform the following steps: 1. If firePageSwapSteps is given, then run firePageSwapSteps. 2. [44081]Unload document, passing along newDocument if it is not null. 3. If afterAllUnloads was given, then run it.

    This specification defines the following unloading document cleanup steps. Other specifications can define more. Given a [44082]Document document: 1. Let window be document's [44083]relevant global object. 2. For each [44084]WebSocket object webSocket whose [44085]relevant global object is window, [44086]make disappear webSocket. If this affected any [44087]WebSocket objects, then [44088]make document unsalvageable given document and "[44089]websocket". 3. For each [44090]WebTransport object transport whose [44091]relevant global object is window, run the [44092]context cleanup steps given transport. 4. If document's [44093]salvageable state is false, then: 1. For each [44094]EventSource object eventSource whose [44095]relevant global object is equal to window, [44096]forcibly close eventSource. 2. [44097]Clear window's [44098]map of active timers.

    It would be better if specification authors sent a pull request to add calls from here into their specifications directly, instead of using the [44099]unloading document cleanup steps hook, to ensure well-defined cross-specification call order. As of the time of this writing the following specifications are known to have [44100]unloading document cleanup steps, which will be run in an unspecified order: Fullscreen API, Web NFC, WebDriver BiDi, Compute Pressure, File API, Media Capture and Streams, Picture-in-Picture, Screen Orientation, Service Workers, WebLocks API, WebAudio API, WebRTC. [44101][FULLSCREEN] [44102][WEBNFC] [44103][WEBDRIVERBIDI] [44104][COMPUTEPRESSURE] [44105][FILEAPI] [44106][MEDIASTREAM] [44107][PICTUREINPICTURE] [44108][SCREENORIENTATION] [44109][SW] [44110][WEBLOCKS] [44111][WEBAUDIO] [44112][WEBRTC]

    [44113]Issue #8906 tracks the work to make the order of these steps clear.

    7.5.10 Destroying documents

    To destroy a [44114]Document document: 1. [44115]Assert: this is running as part of a [44116]task queued on document's [44117]relevant agent's [44118]event loop. 2. [44119]Abort document. 3. Set document's [44120]salvageable state to false. 4. Let ports be the list of [44121]MessagePorts whose [44122]relevant global object's [44123]associated Document is document. 5. For each port in ports, [44124]disentangle port. 6. Run any [44125]unloading document cleanup steps for document that are defined by this specification and [44126]other applicable specifications. 7. Remove any [44127]tasks whose [44128]document is document from any [44129]task queue (without running those tasks). 8. Set document's [44130]browsing context to null. 9. Set document's [44131]node navigable's [44132]active session history entry's [44133]document state's [44134]document to null. 10. [44135]Remove document from the [44136]owner set of each [44137]WorkerGlobalScope object whose set [44138]contains document. 11. [44139]For each workletGlobalScope in document's [44140]worklet global scopes, [44141]terminate workletGlobalScope.

    Even after destruction, the [44142]Document object itself might still be accessible to script, in the case where we are [44143]destroying a child navigable.

    To destroy a document and its descendants given a [44144]Document document and an optional set of steps afterAllDestruction, perform the following steps [44145]in parallel: 1. If document is not [44146]fully active, then: 1. Let reason be a string from [44147]user-agent specific blocking reasons. If none apply, then let reason be "[44148]masked". 2. [44149]Make document unsalvageable given document and reason. 3. If document's [44150]node navigable is a [44151]top-level traversable, [44152]build not restored reasons for a top-level traversable and its descendants given document's [44153]node navigable. 2. Let childNavigables be document's [44154]child navigables. 3. Let numberDestroyed be 0. 4. [44155]For each childNavigable of childNavigables in what order?, [44156]queue a global task on the [44157]navigation and traversal task source given childNavigable's [44158]active window to perform the following steps: 1. Let incrementDestroyed be an algorithm step which increments numberDestroyed. 2. [44159]Destroy a document and its descendants given childNavigable's [44160]active document and incrementDestroyed. 5. Wait until numberDestroyed equals childNavigable's [44161]size. 6. [44162]Queue a global task on the [44163]navigation and traversal task source given document's [44164]relevant global object to perform the following steps: 1. [44165]Destroy document. 2. If afterAllDestruction was given, then run it.

    7.5.11 Aborting a document load

    To abort a [44166]Document document: 1. [44167]Assert: this is running as part of a [44168]task queued on document's [44169]relevant agent's [44170]event loop. 2. Cancel any instances of the [44171]fetch algorithm in the context of document, discarding any [44172]tasks [44173]queued for them, and discarding any further data received from the network for them. If this resulted in any instances of the [44174]fetch algorithm being canceled or any [44175]queued [44176]tasks or any network data getting discarded, then [44177]make document unsalvageable given document and "[44178]fetch". 3. If document's [44179]during-loading navigation ID for WebDriver BiDi is non-null, then: 1. Invoke [44180]WebDriver BiDi navigation aborted with document's [44181]node navigable and a new [44182]WebDriver BiDi navigation status whose [44183]id is document's [44184]during-loading navigation ID for WebDriver BiDi, [44185]status is "[44186]canceled", and [44187]url is document's [44188]URL. 2. Set document's [44189]during-loading navigation ID for WebDriver BiDi to null. 4. If document has an [44190]active parser, then: 1. Set document's [44191]active parser was aborted to true. 2. [44192]Abort that parser. 3. Set document's [44193]salvageable to false. 4. [44194]Make document unsalvageable given document and "[44195]parser-aborted".

    To abort a document and its descendants given a [44196]Document document: 1. [44197]Assert: this is running as part of a [44198]task queued on document's [44199]relevant agent's [44200]event loop. 2. Let descendantNavigables be document's [44201]descendant navigables. 3. [44202]For each descendantNavigable of descendantNavigables in what order?, [44203]queue a global task on the [44204]navigation and traversal task source given descendantNavigable's [44205]active window to perform the following steps: 1. [44206]Abort descendantNavigable's [44207]active document. 2. If descendantNavigable's [44208]active document's [44209]salvageable is false, then set document's [44210]salvageable to false. 4. [44211]Abort document.

    To stop loading a [44212]navigable navigable: 1. Let document be navigable's [44213]active document. 2. If document's [44214]unload counter is 0, and navigable's [44215]ongoing navigation is a [44216]navigation ID, then [44217]set the ongoing navigation for navigable to null. This will have the effect of aborting any ongoing navigations of navigable, since at certain points during navigation, changes to the [44218]ongoing navigation will cause further work to be abandoned. 3. [44219]Abort a document and its descendants given document.

    Through their [44220]user interface, user agents also allow stopping traversals, i.e. cases where the [44221]ongoing navigation is "traversal". The above algorithm does not account for this. (On the other hand, user agents do not allow [44222]window.stop() to stop traversals, so the above algorithm is correct for that caller.) See [44223]issue #6905.

    7.6 The `[44224]X-Frame-Options` header

    (BUTTON) ✔MDN

    [44225]Headers/X-Frame-Options

    Support in all current engines. Firefox4+Safari4+Chrome4+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer8+ __________________________________________________________________

    Firefox AndroidYesSafari iOSYesChrome AndroidYesWebView Android?Samsung Internet?Opera Android?

    The `X-Frame-Options` HTTP response header is a way of controlling whether and how a [44226]Document may be loaded inside of a [44227]child navigable. For sites using CSP, the [44228]frame-ancestors directive provides more granular control over the same situations. It was originally defined in HTTP Header Field X-Frame-Options, but the definition and processing model here supersedes that document. [44229][CSP] [44230][RFC7034]

    In particular, HTTP Header Field X-Frame-Options specified an `ALLOW-FROM` variant of the header, but that is not to be implemented.

    Per the below processing model, if both a CSP [44231]frame-ancestors directive and an `[44232]X-Frame-Options` header are used in the same [44233]response, then `[44234]X-Frame-Options` is ignored.

    For web developers and conformance checkers, its value [44235]ABNF is: X-Frame-Options = "DENY" / "SAMEORIGIN"

    To check a navigation response's adherence to `X-Frame-Options`, given a [44236]response response, a [44237]navigable navigable, a [44238]CSP list cspList, and an [44239]origin destinationOrigin: 1. If navigable is not a [44240]child navigable, then return true. 2. [44241]For each policy of cspList: 1. If policy's [44242]disposition is not "enforce", then [44243]continue. 2. If policy's [44244]directive set [44245]contains a [44246]frame-ancestors directive, then return true. 3. Let rawXFrameOptions be the result of [44247]getting, decoding, and splitting `[44248]X-Frame-Options` from response's [44249]header list. 4. Let xFrameOptions be a new [44250]set. 5. [44251]For each value of rawXFrameOptions, [44252]append value, [44253]converted to ASCII lowercase, to xFrameOptions. 6. If xFrameOptions's [44254]size is greater than 1, and xFrameOptions [44255]contains any of "deny", "allowall", or "sameorigin", then return false. The intention here is to block any attempts at applying `[44256]X-Frame-Options` which were trying to do something valid, but appear confused. This is the only impact of the legacy `ALLOWALL` value on the processing model. 7. If xFrameOptions's [44257]size is greater than 1, then return true. This means it contains multiple invalid values, which we treat the same way as if the header was omitted entirely. 8. If xFrameOptions[0] is "deny", then return false. 9. If xFrameOptions[0] is "sameorigin", then: 1. Let containerDocument be navigable's [44258]container document. 2. [44259]While containerDocument is not null: 1. If containerDocument's [44260]origin is not [44261]same origin with destinationOrigin, then return false. 2. Set containerDocument to containerDocument's [44262]container document. 10. Return true. If we've reached this point then we have a lone invalid value (which could potentially be one the legacy `ALLOWALL` or `ALLOW-FROM` forms). These are treated as if the header were omitted entirely. __________________________________________________________________

    The following table illustrates the processing of various values for the header, including non-conformant ones: `[44263]X-Frame-Options` Valid Result `DENY` ✅ embedding disallowed `SAMEORIGIN` ✅ same-origin embedding allowed `INVALID` ❌ embedding allowed `ALLOWALL` ❌ embedding allowed `ALLOW-FROM=https://example.com/` ❌ embedding allowed (from anywhere)

    The following table illustrates how various non-conformant cases involving multiple values are processed: `[44264]X-Frame-Options` Result `SAMEORIGIN, SAMEORIGIN` same-origin embedding allowed `SAMEORIGIN, DENY` embedding disallowed `SAMEORIGIN,` embedding disallowed `SAMEORIGIN, ALLOWALL` embedding disallowed `SAMEORIGIN, INVALID` embedding disallowed `ALLOWALL, INVALID` embedding disallowed `ALLOWALL,` embedding disallowed `INVALID, INVALID` embedding allowed

    The same results are obtained whether the values are delivered in a single header whose value is comma-delimited, or in multiple headers.

    7.7 The `[44265]Refresh` header

    The `Refresh` HTTP response header is the HTTP-equivalent to a [44266]meta element with an [44267]http-equiv attribute in the [44268]Refresh state. It takes [44269]the same value and works largely the same. Its processing model is detailed in [44270]create and initialize a Document object.

    7.8 Browser user interface considerations

    Browser user agents should provide the ability to [44271]navigate, [44272]reload, and [44273]stop loading any [44274]top-level traversable in their [44275]top-level traversable set.

    For example, via a location bar and reload/stop button UI.

    Browser user agents should provide the ability to [44276]traverse by a delta any [44277]top-level traversable in their [44278]top-level traversable set.

    For example, via back and forward buttons, possibly including long-press abilities to change the delta.

    It is suggested that such user agents allow traversal by deltas greater than one, to avoid letting a page "trap" the user by stuffing the session history with spurious entries. (For example, via repeated calls to [44279]history.pushState() or [44280]fragment navigations.)

    Some user agents have heuristics for translating a single "back" or "forward" button press into a larger delta, specifically to overcome such abuses. We are contemplating specifying these heuristics in [44281]issue #7832.

    Browser user agents should offer users the ability to [44282]create a fresh top-level traversable, given a user-provided or user agent-determined initial [44283]URL.

    For example, via a "new tab" or "new window" button.

    Browser user agents should offer users the ability to arbitrarily [44284]close any [44285]top-level traversable in their [44286]top-level traversable set.

    For example, by clicking a "close tab" button. __________________________________________________________________

    Browser user agents may provide ways for the user to explicitly cause any [44287]navigable (not just a [44288]top-level traversable) to [44289]navigate, [44290]reload, or [44291]stop loading.

    For example, via a context menu.

    Browser user agents may provide the ability for users to [44292]destroy a top-level traversable.

    For example, by force-closing a window containing one or more such [44293]top-level traversables. __________________________________________________________________

    When a user requests a [44294]reload of a [44295]navigable whose [44296]active session history entry's [44297]document state's [44298]resource is a [44299]POST resource, the user agent should prompt the user to confirm the operation first, since otherwise transactions (e.g., purchases or database modifications) could be repeated.

    When a user requests a [44300]reload of a [44301]navigable, user agents may provide a mechanism for ignoring any caches when reloading. __________________________________________________________________

    All calls to [44302]navigate initiated by the mechanisms mentioned above must have the [44303]userInvolvement argument set to "[44304]browser UI".

    All calls to [44305]reload initiated by the mechanisms mentioned above must have the [44306]userInvolvement argument set to "[44307]browser UI".

    All calls to [44308]traverse the history by a delta initiated by the mechanisms mentioned above must not pass a value for the [44309]sourceDocument argument. __________________________________________________________________

    The above recommendations, and the data structures in this specification, are not meant to place restrictions on how user agents represent the session history to the user.

    For example, although a [44310]top-level traversable's [44311]session history entries are stored and maintained as a list, and the user agent is recommended to give an interface for [44312]traversing that list by a delta, a novel user agent could instead or in addition present a tree-like view, with each page having multiple "forward" pages that the user can choose between.

    Similarly, although session history for all descendant [44313]navigables is stored in their [44314]traversable navigable, user agents could present the user with a more nuanced per-[44315]navigable view of the session history. __________________________________________________________________

    Browser user agents may use a [44316]top-level browsing context's [44317]is popup boolean for the following purposes: * Deciding whether or not to provide a minimal web browser user interface for the corresponding [44318]top-level traversable. * Performing the optional steps in [44319]set up browsing context features.

    In both cases user agents might additionally incorporate user preferences, or present a choice as to whether to go down the popup route.

    User agents that provides a minimal user interface for such popups are encouraged to not hide the browser's location bar.

    8 Web application APIs

    8.1 Scripting

    8.1.1 Introduction

    Various mechanisms can cause author-provided executable code to run in the context of a document. These mechanisms include, but are probably not limited to: * Processing of [44320]script elements. * Navigating to [44321]javascript: URLs. * Event handlers, whether registered through the DOM using addEventListener(), by explicit [44322]event handler content attributes, by [44323]event handler IDL attributes, or otherwise. * Processing of technologies like SVG that have their own scripting features.

    8.1.2 Agents and agent clusters

    8.1.2.1 Integration with the JavaScript agent formalism

    JavaScript defines the concept of an [44324]agent. This section gives the mapping of that language-level concept on to the web platform.

    Conceptually, the [44325]agent concept is an architecture-independent, idealized "thread" in which JavaScript code runs. Such code can involve multiple globals/[44326]realms that can synchronously access each other, and thus needs to run in a single execution thread.

    Two [44327]Window objects having the same [44328]agent does not indicate they can directly access all objects created in each other's realms. They would have to be [44329]same origin-domain; see [44330]IsPlatformObjectSameOrigin.

    The following types of agents exist on the web platform:

    Similar-origin window agent Contains various [44331]Window objects which can potentially reach each other, either directly or by using [44332]document.domain.

    If the encompassing [44333]agent cluster's [44334]is origin-keyed is true, then all the [44335]Window objects will be [44336]same origin, can reach each other directly, and [44337]document.domain will no-op.

    Two [44338]Window objects that are [44339]same origin can be in different [44340]similar-origin window agents, for instance if they are each in their own [44341]browsing context group.

    Dedicated worker agent Contains a single [44342]DedicatedWorkerGlobalScope.

    Shared worker agent Contains a single [44343]SharedWorkerGlobalScope.

    Service worker agent Contains a single [44344]ServiceWorkerGlobalScope.

    Worklet agent Contains a single [44345]WorkletGlobalScope object.

    Although a given worklet can have multiple realms, each such realm needs its own agent, as each realm can be executing code independently and at the same time as the others.

    Only [44346]shared and [44347]dedicated worker agents allow the use of JavaScript [44348]Atomics APIs to potentially [44349]block.

    To create an agent, given a boolean canBlock: 1. Let signifier be a new unique internal value. 2. Let candidateExecution be a new [44350]candidate execution. 3. Let agent be a new [44351]agent whose [[CanBlock]] is canBlock, [[Signifier]] is signifier, [[CandidateExecution]] is candidateExecution, and [[IsLockFree1]], [[IsLockFree2]], and [[LittleEndian]] are set at the implementation's discretion. 4. Set agent's [44352]event loop to a new [44353]event loop. 5. Return agent.

    For a [44354]realm realm, the [44355]agent whose [[Signifier]] is realm.[[AgentSignifier]] is the realm's agent.

    The relevant agent for a [44356]platform object platformObject is platformObject's [44357]relevant realm's [44358]agent.

    The agent equivalent of the [44359]current realm is the [44360]surrounding agent.

    8.1.2.2 Integration with the JavaScript agent cluster formalism

    JavaScript also defines the concept of an [44361]agent cluster, which this standard maps to the web platform by placing agents appropriately when they are created using the [44362]obtain a similar-origin window agent or [44363]obtain a worker/worklet agent algorithms.

    The [44364]agent cluster concept is crucial for defining the JavaScript memory model, and in particular among which [44365]agents the backing data of [44366]SharedArrayBuffer objects can be shared.

    Conceptually, the [44367]agent cluster concept is an architecture-independent, idealized "process boundary" that groups together multiple "threads" ([44368]agents). The [44369]agent clusters defined by the specification are generally more restrictive than the actual process boundaries implemented in user agents. By enforcing these idealized divisions at the specification level, we ensure that web developers see interoperable behavior with regard to shared memory, even in the face of varying and changing user agent process models.

    An [44370]agent cluster has an associated cross-origin isolation mode, which is a [44371]cross-origin isolation mode. It is initially "[44372]none".

    An [44373]agent cluster has an associated is origin-keyed (a boolean), which is initially false. __________________________________________________________________

    The following defines the allocation of the [44374]agent clusters of [44375]similar-origin window agents.

    An agent cluster key is a [44376]site or [44377]tuple origin. Without web developer action to achieve [44378]origin-keyed agent clusters, it will be a [44379]site.

    An equivalent formulation is that an [44380]agent cluster key can be a [44381]scheme-and-host or an [44382]origin.

    To obtain a similar-origin window agent, given an [44383]origin origin, a [44384]browsing context group group, and a boolean requestsOAC, run these steps: 1. Let site be the result of [44385]obtaining a site with origin. 2. Let key be site. 3. If group's [44386]cross-origin isolation mode is not "[44387]none", then set key to origin. 4. Otherwise, if group's [44388]historical agent cluster key map[origin] [44389]exists, then set key to group's [44390]historical agent cluster key map[origin]. 5. Otherwise: 1. If requestsOAC is true, then set key to origin. 2. Set group's [44391]historical agent cluster key map[origin] to key. 6. If group's [44392]agent cluster map[key] [44393]does not exist, then: 1. Let agentCluster be a new [44394]agent cluster. 2. Set agentCluster's [44395]cross-origin isolation mode to group's [44396]cross-origin isolation mode. 3. If key is an [44397]origin: 1. [44398]Assert: key is origin. 2. Set agentCluster's [44399]is origin-keyed to true. 4. Add the result of [44400]creating an agent, given false, to agentCluster. 5. Set group's [44401]agent cluster map[key] to agentCluster. 7. Return the single [44402]similar-origin window agent contained in group's [44403]agent cluster map[key].

    This means that there is only one [44404]similar-origin window agent per browsing context agent cluster. (However, [44405]dedicated worker and [44406]worklet agents might be in the same cluster.) __________________________________________________________________

    The following defines the allocation of the [44407]agent clusters of all other types of agents.

    To obtain a worker/worklet agent, given an [44408]environment settings object or null outside settings, a boolean isTopLevel, and a boolean canBlock, run these steps: 1. Let agentCluster be null. 2. If isTopLevel is true, then: 1. Set agentCluster to a new [44409]agent cluster. 2. Set agentCluster's [44410]is origin-keyed to true. These workers can be considered to be origin-keyed. However, this is not exposed through any APIs (in the way that [44411]originAgentCluster exposes the origin-keyedness for windows). 3. Otherwise: 1. [44412]Assert: outside settings is not null. 2. Let ownerAgent be outside settings's [44413]realm's [44414]agent. 3. Set agentCluster to the agent cluster which contains ownerAgent. 4. Let agent be the result of [44415]creating an agent given canBlock. 5. Add agent to agentCluster. 6. Return agent.

    To obtain a dedicated/shared worker agent, given an [44416]environment settings object outside settings and a boolean isShared, return the result of [44417]obtaining a worker/worklet agent given outside settings, isShared, and true.

    To obtain a worklet agent, given an [44418]environment settings object outside settings, return the result of [44419]obtaining a worker/worklet agent given outside settings, false, and false.

    To obtain a service worker agent, return the result of [44420]obtaining a worker/worklet agent given null, true, and false. __________________________________________________________________

    The following pairs of global objects are each within the same [44421]agent cluster, and thus can use [44422]SharedArrayBuffer instances to share memory with each other: * A [44423]Window object and a dedicated worker that it created. * A worker (of any type) and a dedicated worker it created. * A [44424]Window object A and the [44425]Window object of an [44426]iframe element that A created that could be [44427]same origin-domain with A. * A [44428]Window object and a [44429]same origin-domain [44430]Window object that opened it. * A [44431]Window object and a worklet that it created.

    The following pairs of global objects are not within the same [44432]agent cluster, and thus cannot share memory: * A [44433]Window object and a shared worker it created. * A worker (of any type) and a shared worker it created. * A [44434]Window object and a service worker it created. * A [44435]Window object A and the [44436]Window object of an [44437]iframe element that A created that cannot be [44438]same origin-domain with A. * Any two [44439]Window objects with no opener or ancestor relationship. This holds even if the two [44440]Window objects are [44441]same origin.

    8.1.3 Realms and their counterparts

    The JavaScript specification introduces the [44442]realm concept, representing a global environment in which script is run. Each realm comes with an [44443]implementation-defined [44444]global object; much of this specification is devoted to defining that global object and its properties.

    For web specifications, it is often useful to associate values or algorithms with a realm/global object pair. When the values are specific to a particular type of realm, they are associated directly with the global object in question, e.g., in the definition of the [44445]Window or [44446]WorkerGlobalScope interfaces. When the values have utility across multiple realms, we use the [44447]environment settings object concept.

    Finally, in some cases it is necessary to track associated values before a realm/global object/environment settings object even comes into existence (for example, during [44448]navigation). These values are tracked in the [44449]environment concept.

    8.1.3.1 Environments

    An environment is an object that identifies the settings of a current or potential execution environment (i.e., a [44450]navigation params's [44451]reserved environment or a [44452]request's [44453]reserved client). An [44454]environment has the following fields:

    An id An opaque string that uniquely identifies this [44455]environment.

    A creation URL A [44456]URL that represents the location of the resource with which this [44457]environment is associated.

    In the case of a [44458]Window [44459]environment settings object, this URL might be distinct from its [44460]global object's [44461]associated Document's [44462]URL, due to mechanisms such as [44463]history.pushState() which modify the latter.

    A top-level creation URL Null or a [44464]URL that represents the [44465]creation URL of the "top-level" [44466]environment. It is null for workers and worklets.

    A top-level origin A for now [44467]implementation-defined value, null, or an [44468]origin. For a "top-level" potential execution environment it is null (i.e., when there is no response yet); otherwise it is the "top-level" [44469]environment's [44470]origin. For a dedicated worker or worklet it is the [44471]top-level origin of its creator. For a shared or service worker it is an [44472]implementation-defined value.

    This is distinct from the [44473]top-level creation URL's [44474]origin when sandboxing, workers, and worklets are involved.

    A target browsing context Null or a target [44475]browsing context for a [44476]navigation request.

    An active service worker Null or a [44477]service worker that [44478]controls the [44479]environment.

    An execution ready flag A flag that indicates whether the environment setup is done. It is initially unset.

    Specifications may define environment discarding steps for environments. The steps take an [44480]environment as input.

    The [44481]environment discarding steps are run for only a select few environments: the ones that will never become execution ready because, for example, they failed to load.

    8.1.3.2 Environment settings objects

    An environment settings object is an [44482]environment that additionally specifies algorithms for:

    A realm execution context A [44483]JavaScript execution context shared by all [44484]scripts that use this settings object, i.e., all scripts in a given [44485]realm. When we [44486]run a classic script or [44487]run a module script, this execution context becomes the top of the [44488]JavaScript execution context stack, on top of which another execution context specific to the script in question is pushed. (This setup ensures [44489]Source Text Module Record's [44490]Evaluate knows which realm to use.)

    A module map A [44491]module map that is used when importing JavaScript modules.

    An API base URL A [44492]URL used by APIs called by scripts that use this [44493]environment settings object to [44494]parse URLs.

    An origin An [44495]origin used in security checks.

    A policy container A [44496]policy container containing policies used for security checks.

    A cross-origin isolated capability A boolean representing whether scripts that use this [44497]environment settings object are allowed to use APIs that require cross-origin isolation.

    A time origin A number used as the baseline for performance-related timestamps. [44498][HRT]

    An [44499]environment settings object's responsible event loop is its [44500]global object's [44501]relevant agent's [44502]event loop.

    8.1.3.3 Realms, settings objects, and global objects

    A global object is a JavaScript object that is the [[GlobalObject]] field of a [44503]realm.

    In this specification, all [44504]realms are [44505]created with [44506]global objects that are either [44507]Window, [44508]WorkerGlobalScope, or [44509]WorkletGlobalScope objects.

    A [44510]global object has an in error reporting mode boolean, which is initially false.

    A [44511]global object has an outstanding rejected promises weak set, a [44512]set of [44513]Promise objects, initially empty. This set must not create strong references to any of its members, and implementations are free to limit its size in an [44514]implementation-defined manner, e.g., by removing old entries from it when new ones are added.

    A [44515]global object has an about-to-be-notified rejected promises list, a [44516]list of [44517]Promise objects, initially empty.

    A [44518]global object has an import map, initially an [44519]empty import map.

    For now, only [44520]Window [44521]global objects have their [44522]import map modified from the initial empty one. The [44523]import map is only accessed for the resolution of a root [44524]module script.

    A [44525]global object has a resolved module set, a [44526]set of [44527]specifier resolution records, initially empty.

    The [44528]resolved module set ensures that module specifier resolution returns the same result when called multiple times with the same (referrer, specifier) pair. It does that by ensuring that [44529]import map rules that impact the specifier in its referrer's scope cannot be defined after its initial resolution. For now, only [44530]Window [44531]global objects have their module set data structures modified from the initial empty one. __________________________________________________________________

    There is always a 1-to-1-to-1 mapping between [44532]realms, [44533]global objects, and [44534]environment settings objects: * A [44535]realm has a [[HostDefined]] field, which contains the realm's settings object. * A [44536]realm has a [[GlobalObject]] field, which contains the realm's global object. * Each [44537]global object in this specification is created during the [44538]creation of a corresponding [44539]realm, known as the global object's realm. * Each [44540]global object in this specification is created alongside a corresponding [44541]environment settings object, known as its [44542]relevant settings object. * An [44543]environment settings object's [44544]realm execution context's Realm component is the environment settings object's realm. * An [44545]environment settings object's [44546]realm then has a [[GlobalObject]] field, which contains the environment settings object's global object.

    To create a new realm in an [44547]agent agent, optionally with instructions to create a global object or a global this binding (or both), the following steps are taken: 1. Perform [44548]InitializeHostDefinedRealm() with the provided customizations for creating the global object and the global this binding. 2. Let realm execution context be the [44549]running JavaScript execution context. This is the [44550]JavaScript execution context created in the previous step. 3. Remove realm execution context from the [44551]JavaScript execution context stack. 4. Let realm be realm execution context's Realm component. 5. If agent's [44552]agent cluster's [44553]cross-origin isolation mode is "[44554]none", then: 1. Let global be realm's [44555]global object. 2. Let status be ! global.[[Delete]]("SharedArrayBuffer"). 3. [44556]Assert: status is true. This is done for compatibility with web content and there is some hope that this can be removed in the future. Web developers can still get at the constructor through new WebAssembly.Memory({ shared:true, initial:0, maximum:0 }).buffer.constructor. 6. Return realm execution context. __________________________________________________________________

    When defining algorithm steps throughout this specification, it is often important to indicate what [44557]realm is to be used—or, equivalently, what [44558]global object or [44559]environment settings object is to be used. In general, there are at least four possibilities:

    Entry This corresponds to the script that initiated the currently running script action: i.e., the function or script that the user agent called into when it called into author code.

    Incumbent This corresponds to the most-recently-entered author function or script on the stack, or the author function or script that originally scheduled the currently-running callback.

    Current This corresponds to the currently-running function object, including built-in user-agent functions which might not be implemented as JavaScript. (It is derived from the [44560]current realm.)

    Relevant Every [44561]platform object has a [44562]relevant realm, which is roughly the [44563]realm in which it was created. When writing algorithms, the most prominent [44564]platform object whose [44565]relevant realm might be important is the this value of the currently-running function object. In some cases, there can be other important [44566]relevant realms, such as those of any arguments.

    Note how the [44567]entry, [44568]incumbent, and [44569]current concepts are usable without qualification, whereas the [44570]relevant concept must be applied to a particular [44571]platform object.

    The [44572]incumbent and [44573]entry concepts should not be used by new specifications, as they are excessively complicated and unintuitive to work with. We are working to remove almost all existing uses from the platform: see [44574]issue #1430 for [44575]incumbent, and [44576]issue #1431 for [44577]entry.

    In general, web platform specifications should use the [44578]relevant concept, applied to the object being operated on (usually the this value of the current method). This mismatches the JavaScript specification, where [44579]current is generally used as the default (e.g., in determining the [44580]realm whose Array constructor should be used to construct the result in Array.prototype.map). But this inconsistency is so embedded in the platform that we have to accept it going forward.

    Consider the following pages, with a.html being loaded in a browser window, b.html being loaded in an [44581]iframe as shown, and c.html and d.html omitted (they can simply be empty documents): Entry page

    Incumbent page

    Each page has its own [44582]browsing context, and thus its own [44583]realm, [44584]global object, and [44585]environment settings object.

    When the [44586]print() method is called in response to pressing the button in a.html, then: * The [44587]entry realm is that of a.html. * The [44588]incumbent realm is that of b.html. * The [44589]current realm is that of c.html (since it is the [44590]print() method from c.html whose code is running). * The [44591]relevant realm of the object on which the [44592]print() method is being called is that of d.html.

    One reason why the [44593]relevant concept is generally a better default choice than the [44594]current concept is that it is more suitable for creating an object that is to be persisted and returned multiple times. For example, the [44595]navigator.getBattery() method creates promises in the [44596]relevant realm for the [44597]Navigator object on which it is invoked. This has the following impact: [44598][BATTERY] Relevant realm demo: outer page

    Relevant realm demo: inner page

    If the algorithm for the [44599]getBattery() method had instead used the [44600]current realm, all the results would be reversed. That is, after the first call to [44601]getBattery() in outer.html, the [44602]Navigator object in inner.html would be permanently storing a Promise object created in outer.html's [44603]realm, and calls like that inside the hello() function would thus return a promise from the "wrong" realm. Since this is undesirable, the algorithm instead uses the [44604]relevant realm, giving the sensible results indicated in the comments above. __________________________________________________________________

    The rest of this section deals with formally defining the [44605]entry, [44606]incumbent, [44607]current, and [44608]relevant concepts.

    8.1.3.3.1 Entry

    The process of [44609]calling scripts will push or pop [44610]realm execution contexts onto the [44611]JavaScript execution context stack, interspersed with other [44612]execution contexts.

    With this in hand, we define the entry execution context to be the most recently pushed item in the [44613]JavaScript execution context stack that is a [44614]realm execution context. The entry realm is the [44615]entry execution context's Realm component.

    Then, the entry settings object is the [44616]environment settings object of the [44617]entry realm.

    Similarly, the entry global object is the [44618]global object of the [44619]entry realm.

    8.1.3.3.2 Incumbent

    All [44620]JavaScript execution contexts must contain, as part of their code evaluation state, a skip-when-determining-incumbent counter value, which is initially zero. In the process of [44621]preparing to run a callback and [44622]cleaning up after running a callback, this value will be incremented and decremented.

    Every [44623]event loop has an associated backup incumbent settings object stack, initially empty. Roughly speaking, it is used to determine the [44624]incumbent settings object when no author code is on the stack, but author code is responsible for the current algorithm having been run in some way. The process of [44625]preparing to run a callback and [44626]cleaning up after running a callback manipulate this stack. [44627][WEBIDL]

    When Web IDL is used to [44628]invoke author code, or when [44629]HostEnqueuePromiseJob invokes a promise job, they use the following algorithms to track relevant data for determining the [44630]incumbent settings object:

    To prepare to run a callback with an [44631]environment settings object settings: 1. Push settings onto the [44632]backup incumbent settings object stack. 2. Let context be the [44633]topmost script-having execution context. 3. If context is not null, increment context's [44634]skip-when-determining-incumbent counter.

    To clean up after running a callback with an [44635]environment settings object settings: 1. Let context be the [44636]topmost script-having execution context. This will be the same as the [44637]topmost script-having execution context inside the corresponding invocation of [44638]prepare to run a callback. 2. If context is not null, decrement context's [44639]skip-when-determining-incumbent counter. 3. [44640]Assert: the topmost entry of the [44641]backup incumbent settings object stack is settings. 4. Remove settings from the [44642]backup incumbent settings object stack.

    Here, the topmost script-having execution context is the topmost entry of the [44643]JavaScript execution context stack that has a non-null ScriptOrModule component, or null if there is no such entry in the [44644]JavaScript execution context stack.

    With all this in place, the incumbent settings object is determined as follows: 1. Let context be the [44645]topmost script-having execution context. 2. If context is null, or if context's [44646]skip-when-determining-incumbent counter is greater than zero, then: 1. [44647]Assert: the [44648]backup incumbent settings object stack is not empty. This assert would fail if you try to obtain the [44649]incumbent settings object from inside an algorithm that was triggered neither by [44650]calling scripts nor by Web IDL [44651]invoking a callback. For example, it would trigger if you tried to obtain the [44652]incumbent settings object inside an algorithm that ran periodically as part of the [44653]event loop, with no involvement of author code. In such cases the [44654]incumbent concept cannot be used. 2. Return the topmost entry of the [44655]backup incumbent settings object stack. 3. Return context's Realm component's [44656]settings object.

    Then, the incumbent realm is the [44657]realm of the [44658]incumbent settings object.

    Similarly, the incumbent global object is the [44659]global object of the [44660]incumbent settings object. __________________________________________________________________

    The following series of examples is intended to make it clear how all of the different mechanisms contribute to the definition of the [44661]incumbent concept:

    Consider the following starter example:

    There are two interesting [44662]environment settings objects here: that of window, and that of frames[0]. Our concern is: what is the [44663]incumbent settings object at the time that the algorithm for [44664]postMessage() executes?

    It should be that of window, to capture the intuitive notion that the author script responsible for causing the algorithm to happen is executing in window, not frames[0]. This makes sense: the [44665]window post message steps use the [44666]incumbent settings object to determine the [44667]source property of the resulting [44668]MessageEvent, and in this case window is definitely the source of the message.

    Let us now explain how the steps given above give us our intuitively-desired result of window's [44669]relevant settings object.

    When the [44670]window post message steps look up the [44671]incumbent settings object, the [44672]topmost script-having execution context will be that corresponding to the [44673]script element: it was pushed onto the [44674]JavaScript execution context stack as part of [44675]ScriptEvaluation during the [44676]run a classic script algorithm. Since there are no Web IDL callback invocations involved, the context's [44677]skip-when-determining-incumbent counter is zero, so it is used to determine the [44678]incumbent settings object; the result is the [44679]environment settings object of window.

    (Note how the [44680]environment settings object of frames[0] is the [44681]relevant settings object of [44682]this at the time the [44683]postMessage() method is called, and thus is involved in determining the target of the message. Whereas the incumbent is used to determine the source.)

    Consider the following more complicated example:

    This example is very similar to the previous one, but with an extra indirection through Function.prototype.bind as well as [44684]setTimeout(). But, the answer should be the same: invoking algorithms asynchronously should not change the [44685]incumbent concept.

    This time, the result involves more complicated mechanisms:

    When bound is [44686]converted to a Web IDL callback type, the [44687]incumbent settings object is that corresponding to window (in the same manner as in our starter example above). Web IDL stores this as the resulting callback value's [44688]callback context.

    When the [44689]task posted by [44690]setTimeout() executes, the algorithm for that task uses Web IDL to [44691]invoke the stored callback value. Web IDL in turn calls the above [44692]prepare to run a callback algorithm. This pushes the stored [44693]callback context onto the [44694]backup incumbent settings object stack. At this time (inside the timer task) there is no author code on the stack, so the [44695]topmost script-having execution context is null, and nothing gets its [44696]skip-when-determining-incumbent counter incremented.

    Invoking the callback then calls bound, which in turn calls the [44697]postMessage() method of frames[0]. When the [44698]postMessage() algorithm looks up the [44699]incumbent settings object, there is still no author code on the stack, since the bound function just directly calls the built-in method. So the [44700]topmost script-having execution context will be null: the [44701]JavaScript execution context stack only contains an execution context corresponding to [44702]postMessage(), with no [44703]ScriptEvaluation context or similar below it.

    This is where we fall back to the [44704]backup incumbent settings object stack. As noted above, it will contain as its topmost entry the [44705]relevant settings object of window. So that is what is used as the [44706]incumbent settings object while executing the [44707]postMessage() algorithm.

    Consider this final, even more convoluted example:

    Again there are two interesting [44708]environment settings objects in play: that of a.html, and that of b.html. When the [44709]location.assign() method triggers the [44710]Location-object navigate algorithm, what will be the [44711]incumbent settings object? As before, it should intuitively be that of a.html: the [44712]click listener was originally scheduled by a.html, so even if something involving b.html causes the listener to fire, the [44713]incumbent responsible is that of a.html.

    The callback setup is similar to the previous example: when bound is [44714]converted to a Web IDL callback type, the [44715]incumbent settings object is that corresponding to a.html, which is stored as the callback's [44716]callback context.

    When the [44717]click() method is called inside b.html, it [44718]dispatches a [44719]click event on the button that is inside a.html. This time, when the [44720]prepare to run a callback algorithm executes as part of event dispatch, there is author code on the stack; the [44721]topmost script-having execution context is that of the onLoad function, whose [44722]skip-when-determining-incumbent counter gets incremented. Additionally, a.html's [44723]environment settings object (stored as the [44724]EventHandler's [44725]callback context) is pushed onto the [44726]backup incumbent settings object stack.

    Now, when the [44727]Location-object navigate algorithm looks up the [44728]incumbent settings object, the [44729]topmost script-having execution context is still that of the onLoad function (due to the fact we are using a bound function as the callback). Its [44730]skip-when-determining-incumbent counter value is one, however, so we fall back to the [44731]backup incumbent settings object stack. This gives us the [44732]environment settings object of a.html, as expected.

    Note that this means that even though it is the [44733]iframe inside a.html that navigates, it is a.html itself that is used as the source [44734]Document, which determines among other things the [44735]request client. This is [44736]perhaps the only justifiable use of the incumbent concept on the web platform; in all other cases the consequences of using it are simply confusing and we hope to one day switch them to use [44737]current or [44738]relevant as appropriate.

    8.1.3.3.3 Current

    The JavaScript specification defines the [44739]current realm, also known as the "current Realm Record". [44740][JAVASCRIPT]

    Then, the current settings object is the [44741]environment settings object of the [44742]current realm.

    Similarly, the current global object is the [44743]global object of the [44744]current realm.

    8.1.3.3.4 Relevant

    The relevant realm for a [44745]platform object is the value of [44746]its [[Realm]] field.

    Then, the relevant settings object for a [44747]platform object o is the [44748]environment settings object of the [44749]relevant realm for o.

    Similarly, the relevant global object for a [44750]platform object o is the [44751]global object of the [44752]relevant realm for o.

    8.1.3.4 Enabling and disabling scripting

    Scripting is enabled for an [44753]environment settings object settings when all of the following conditions are true: * The user agent supports scripting. * [44754](This is a tracking vector.) The user has not disabled scripting for settings at this time. (User agents may provide users with the option to disable scripting globally, or in a finer-grained manner, e.g., on a per-origin basis, down to the level of individual [44755]environment settings objects.) * Either settings's [44756]global object is not a [44757]Window object, or settings's [44758]global object's [44759]associated Document's [44760]active sandboxing flag set does not have its [44761]sandboxed scripts browsing context flag set.

    Scripting is disabled for an [44762]environment settings object when scripting is not [44763]enabled for it, i.e., when any of the above conditions are false. __________________________________________________________________

    Scripting is enabled for a node node if node's [44764]node document's [44765]browsing context is non-null, and [44766]scripting is enabled for node's [44767]relevant settings object.

    Scripting is disabled for a node when scripting is not [44768]enabled, i.e., when its [44769]node document's [44770]browsing context is null or when [44771]scripting is disabled for its [44772]relevant settings object.

    8.1.3.5 Secure contexts

    An [44773]environment environment is a secure context if the following algorithm returns true: 1. If environment is an [44774]environment settings object, then: 1. Let global be environment's [44775]global object. 2. If global is a [44776]WorkerGlobalScope, then: 1. If global's [44777]owner set[0]'s [44778]relevant settings object is a [44779]secure context, then return true. We only need to check the 0th item since they will necessarily all be consistent. 2. Return false. 3. If global is a [44780]WorkletGlobalScope, then return true. Worklets can only be created in secure contexts. 2. If the result of [44781]Is url potentially trustworthy? given environment's [44782]top-level creation URL is "Potentially Trustworthy", then return true. 3. Return false.

    An [44783]environment is a non-secure context if it is not a [44784]secure context.

    8.1.4 Script processing model

    8.1.4.1 Scripts

    A script is one of two possible [44785]structs (namely, a [44786]classic script or a [44787]module script). All scripts have:

    A settings object An [44788]environment settings object, containing various settings that are shared with other [44789]scripts in the same context.

    A record One of the following:

    + a [44790]script record, for [44791]classic scripts; + a [44792]Source Text Module Record, for [44793]JavaScript module scripts; + a [44794]Synthetic Module Record, for [44795]CSS module scripts and [44796]JSON module scripts; + a [44797]WebAssembly Module Record, for [44798]WebAssembly module scripts; or + null, representing a parsing failure.

    A parse error A JavaScript value, which has meaning only if the [44799]record is null, indicating that the corresponding script source text could not be parsed.

    This value is used for internal tracking of immediate parse errors when [44800]creating scripts, and is not to be used directly. Instead, consult the [44801]error to rethrow when determining "what went wrong" for this script.

    An error to rethrow A JavaScript value representing an error that will prevent evaluation from succeeding. It will be re-thrown by any attempts to [44802]run the script.

    This could be the script's [44803]parse error, but in the case of a [44804]module script it could instead be the [44805]parse error from one of its dependencies, or an error from [44806]resolve a module specifier.

    Since this exception value is provided by the JavaScript specification, we know that it is never null, so we use null to signal that no error has occurred.

    Fetch options Null or a [44807]script fetch options, containing various options related to fetching this script or [44808]module scripts that it imports.

    A base URL Null or a base [44809]URL used for [44810]resolving module specifiers. When non-null, this will either be the URL from which the script was obtained, for external scripts, or the [44811]document base URL of the containing document, for inline scripts.

    A classic script is a type of [44812]script that has the following additional [44813]item:

    A muted errors boolean A boolean which, if true, means that error information will not be provided for errors in this script. This is used to mute errors for cross-origin scripts, since that can leak private information.

    A module script is another type of [44814]script. It has no additional [44815]items.

    [44816]Module scripts can be classified into four types: * A [44817]module script is a JavaScript module script if its [44818]record is a [44819]Source Text Module Record. * A [44820]module script is a CSS module script if its [44821]record is a [44822]Synthetic Module Record, and it was created via the [44823]create a CSS module script algorithm. CSS module scripts represent a parsed CSS stylesheet. * A [44824]module script is a JSON module script if its [44825]record is a [44826]Synthetic Module Record, and it was created via the [44827]create a JSON module script algorithm. JSON module scripts represent a parsed JSON document. * A [44828]module script is a WebAssembly module script if its [44829]record is a [44830]WebAssembly Module Record.

    As CSS stylesheets and JSON documents do not import dependent modules, and do not throw exceptions on evaluation, the [44831]fetch options and [44832]base URL of [44833]CSS module scripts and [44834]JSON module scripts and are always null.

    The active script is determined by the following algorithm: 1. Let record be [44835]GetActiveScriptOrModule(). 2. If record is null, return null. 3. Return record.[[HostDefined]].

    The [44836]active script concept is so far only used by the [44837]import() feature, to determine the [44838]base URL to use for resolving relative module specifiers.

    8.1.4.2 Fetching scripts

    This section introduces a number of algorithms for fetching scripts, taking various necessary inputs and resulting in [44839]classic or [44840]module scripts. __________________________________________________________________

    Script fetch options is a [44841]struct with the following [44842]items:

    cryptographic nonce The [44843]cryptographic nonce metadata used for the initial fetch and for fetching any imported modules

    integrity metadata The [44844]integrity metadata used for the initial fetch

    parser metadata The [44845]parser metadata used for the initial fetch and for fetching any imported modules

    credentials mode The [44846]credentials mode used for the initial fetch (for [44847]module scripts) and for fetching any imported modules (for both [44848]module scripts and [44849]classic scripts)

    referrer policy The [44850]referrer policy used for the initial fetch and for fetching any imported modules

    This policy can mutate after a [44851]module script's [44852]response is received, to be the [44853]referrer policy [44854]parsed from the [44855]response, and used when fetching any module dependencies.

    render-blocking The boolean value of [44856]render-blocking used for the initial fetch and for fetching any imported modules. Unless otherwise stated, its value is false.

    fetch priority The [44857]priority used for the initial fetch

    Recall that via the [44858]import() feature, [44859]classic scripts can import [44860]module scripts.

    The default script fetch options are a [44861]script fetch options whose [44862]cryptographic nonce is the empty string, [44863]integrity metadata is the empty string, [44864]parser metadata is "not-parser-inserted", [44865]credentials mode is "same-origin", [44866]referrer policy is the empty string, and [44867]fetch priority is "auto".

    Given a [44868]request request and a [44869]script fetch options options, we define:

    set up the classic script request Set request's [44870]cryptographic nonce metadata to options's [44871]cryptographic nonce, its [44872]integrity metadata to options's [44873]integrity metadata, its [44874]parser metadata to options's [44875]parser metadata, its [44876]referrer policy to options's [44877]referrer policy, its [44878]render-blocking to options's [44879]render-blocking, and its [44880]priority to options's [44881]fetch priority.

    set up the module script request Set request's [44882]cryptographic nonce metadata to options's [44883]cryptographic nonce, its [44884]integrity metadata to options's [44885]integrity metadata, its [44886]parser metadata to options's [44887]parser metadata, its [44888]credentials mode to options's [44889]credentials mode, its [44890]referrer policy to options's [44891]referrer policy, its [44892]render-blocking to options's [44893]render-blocking, and its [44894]priority to options's [44895]fetch priority.

    To get the descendant script fetch options given a [44896]script fetch options originalOptions, a [44897]URL url, and an [44898]environment settings object settingsObject: 1. Let newOptions be a copy of originalOptions. 2. Let integrity be the result of [44899]resolving a module integrity metadata with url and settingsObject. 3. Set newOptions's [44900]integrity metadata to integrity. 4. Set newOptions's [44901]fetch priority to "auto". 5. Return newOptions.

    To resolve a module integrity metadata, given a [44902]URL url and an [44903]environment settings object settingsObject: 1. Let map be settingsObject's [44904]global object's [44905]import map. 2. If map's [44906]integrity[url] does not [44907]exist, then return the empty string. 3. Return map's [44908]integrity[url]. __________________________________________________________________

    Several of the below algorithms can be customized with a perform the fetch hook algorithm, which takes a [44909]request, a boolean [44910]isTopLevel, and a processCustomFetchResponse algorithm. It runs [44911]processCustomFetchResponse with a [44912]response and either null (on failure) or a [44913]byte sequence containing the response body. isTopLevel will be true for all [44914]classic script fetches, and for the initial fetch when [44915]fetching an external module script graph or [44916]fetching a module worker script graph, but false for the fetches resulting from import statements encountered throughout the graph or from import() expressions.

    By default, not supplying a [44917]perform the fetch hook will cause the below algorithms to simply [44918]fetch the given [44919]request, with algorithm-specific customizations to the [44920]request and validations of the resulting [44921]response.

    To layer your own customizations on top of these algorithm-specific ones, supply a [44922]perform the fetch hook that modifies the given [44923]request, [44924]fetches it, and then performs specific validations of the resulting [44925]response (completing with a [44926]network error if the validations fail).

    The hook can also be used to perform more subtle customizations, such as keeping a cache of [44927]responses and avoiding performing a [44928]fetch at all.

    Service Workers is an example of a specification that runs these algorithms with its own options for the hook. [44929][SW] __________________________________________________________________

    Now for the algorithms themselves.

    To fetch a classic script given a [44930]URL url, an [44931]environment settings object settingsObject, a [44932]script fetch options options, a [44933]CORS settings attribute state corsSetting, an [44934]encoding encoding, and an algorithm onComplete, run these steps. onComplete must be an algorithm accepting null (on failure) or a [44935]classic script (on success). 1. Let request be the result of [44936]creating a potential-CORS request given url, "script", and corsSetting. 2. Set request's [44937]client to settingsObject. 3. Set request's [44938]initiator type to "script". 4. [44939]Set up the classic script request given request and options. 5. [44940]Fetch request with the following [44941]processResponseConsumeBody steps given [44942]response response and null, failure, or a [44943]byte sequence bodyBytes: response can be either [44944]CORS-same-origin or [44945]CORS-cross-origin. This only affects how error reporting happens. 1. Set response to response's [44946]unsafe response. 2. If any of the following are true: o bodyBytes is null or failure; or o response's [44947]status is not an [44948]ok status, then run onComplete given null, and abort these steps. For historical reasons, this algorithm does not include MIME type checking, unlike the other script-fetching algorithms in this section. 3. Let potentialMIMETypeForEncoding be the result of [44949]extracting a MIME type given response's [44950]header list. 4. Set encoding to the result of [44951]legacy extracting an encoding given potentialMIMETypeForEncoding and encoding. This intentionally ignores the [44952]MIME type essence. 5. Let sourceText be the result of [44953]decoding bodyBytes to Unicode, using encoding as the fallback encoding. The [44954]decode algorithm overrides encoding if the file contains a BOM. 6. Let mutedErrors be true if response was [44955]CORS-cross-origin, and false otherwise. 7. Let script be the result of [44956]creating a classic script given sourceText, settingsObject, response's [44957]URL, options, mutedErrors, and url. 8. Run onComplete given script.

    To fetch a classic worker script given a [44958]URL url, an [44959]environment settings object fetchClient, a [44960]destination destination, an [44961]environment settings object settingsObject, an algorithm onComplete, and an optional [44962]perform the fetch hook performFetch, run these steps. onComplete must be an algorithm accepting null (on failure) or a [44963]classic script (on success). 1. Let request be a new [44964]request whose [44965]URL is url, [44966]client is fetchClient, [44967]destination is destination, [44968]initiator type is "other", [44969]mode is "same-origin", [44970]credentials mode is "same-origin", [44971]parser metadata is "not parser-inserted", and whose [44972]use-URL-credentials flag is set. 2. If performFetch was given, run performFetch with request, true, and with processResponseConsumeBody as defined below. Otherwise, [44973]fetch request with [44974]processResponseConsumeBody set to processResponseConsumeBody as defined below. In both cases, let processResponseConsumeBody given [44975]response response and null, failure, or a [44976]byte sequence bodyBytes be the following algorithm: 1. Set response to response's [44977]unsafe response. 2. If any of the following are true: o bodyBytes is null or failure; or o response's [44978]status is not an [44979]ok status, then run onComplete given null, and abort these steps. 3. If all of the following are true: o response's [44980]URL's [44981]scheme is an [44982]HTTP(S) scheme; and o the result of [44983]extracting a MIME type from response's [44984]header list is not a [44985]JavaScript MIME type, then run onComplete given null, and abort these steps. Other [44986]fetch schemes are exempted from MIME type checking for historical web-compatibility reasons. We might be able to tighten this in the future; see [44987]issue #3255. 4. Let sourceText be the result of [44988]UTF-8 decoding bodyBytes. 5. Let script be the result of [44989]creating a classic script using sourceText, settingsObject, response's [44990]URL, and the [44991]default script fetch options. 6. Run onComplete given script.

    To fetch a classic worker-imported script given a [44992]URL url, an [44993]environment settings object settingsObject, and an optional [44994]perform the fetch hook performFetch, run these steps. The algorithm will return a [44995]classic script on success, or throw an exception on failure. 1. Let response be null. 2. Let bodyBytes be null. 3. Let request be a new [44996]request whose [44997]URL is url, [44998]client is settingsObject, [44999]destination is "script", [45000]initiator type is "other", [45001]parser metadata is "not parser-inserted", and whose [45002]use-URL-credentials flag is set. 4. If performFetch was given, run performFetch with request, isTopLevel, and with processResponseConsumeBody as defined below. Otherwise, [45003]fetch request with [45004]processResponseConsumeBody set to processResponseConsumeBody as defined below. In both cases, let processResponseConsumeBody given [45005]response res and null, failure, or a [45006]byte sequence bb be the following algorithm: 1. Set bodyBytes to bb. 2. Set response to res. 5. [45007]Pause until response is not null. Unlike other algorithms in this section, the fetching process is synchronous here. 6. Set response to response's [45008]unsafe response. 7. If any of the following are true: + bodyBytes is null or failure; + response's [45009]status is not an [45010]ok status; or + the result of [45011]extracting a MIME type from response's [45012]header list is not a [45013]JavaScript MIME type, then throw a [45014]"NetworkError" [45015]DOMException. 8. Let sourceText be the result of [45016]UTF-8 decoding bodyBytes. 9. Let mutedErrors be true if response was [45017]CORS-cross-origin, and false otherwise. 10. Let script be the result of [45018]creating a classic script given sourceText, settingsObject, response's [45019]URL, the [45020]default script fetch options, and mutedErrors. 11. Return script.

    To fetch an external module script graph given a [45021]URL url, an [45022]environment settings object settingsObject, a [45023]script fetch options options, and an algorithm onComplete, run these steps. onComplete must be an algorithm accepting null (on failure) or a [45024]module script (on success). 1. [45025]Fetch a single module script given url, settingsObject, "script", options, settingsObject, "client", true, and with the following steps given result: 1. If result is null, run onComplete given null, and abort these steps. 2. [45026]Fetch the descendants of and link result given settingsObject, "script", and onComplete.

    To fetch a modulepreload module script graph given a [45027]URL url, a [45028]destination destination, an [45029]environment settings object settingsObject, a [45030]script fetch options options, and an algorithm onComplete, run these steps. onComplete must be an algorithm accepting null (on failure) or a [45031]module script (on success). 1. [45032]Fetch a single module script given url, settingsObject, destination, options, settingsObject, "client", true, and with the following steps given result: 1. Run onComplete given result. 2. [45033]Assert: settingsObject's [45034]global object implements [45035]Window. 3. If result is not null, optionally [45036]fetch the descendants of and link result given settingsObject, destination, and an empty algorithm. Generally, performing this step will be beneficial for performance, as it allows pre-loading the modules that will invariably be requested later, via algorithms such as [45037]fetch an external module script graph that fetch the entire graph. However, user agents might wish to skip them in bandwidth-constrained situations, or situations where the relevant fetches are already in flight.

    To fetch an inline module script graph given a [45038]string sourceText, a [45039]URL baseURL, an [45040]environment settings object settingsObject, a [45041]script fetch options options, and an algorithm onComplete, run these steps. onComplete must be an algorithm accepting null (on failure) or a [45042]module script (on success). 1. Let script be the result of [45043]creating a JavaScript module script using sourceText, settingsObject, baseURL, and options. 2. [45044]Fetch the descendants of and link script, given settingsObject, "script", and onComplete.

    To fetch a module worker script graph given a [45045]URL url, an [45046]environment settings object fetchClient, a [45047]destination destination, a [45048]credentials mode credentialsMode, an [45049]environment settings object settingsObject, and an algorithm onComplete, [45050]fetch a worklet/module worker script graph given url, fetchClient, destination, credentialsMode, settingsObject, and onComplete.

    To fetch a worklet script graph given a [45051]URL url, an [45052]environment settings object fetchClient, a [45053]destination destination, a [45054]credentials mode credentialsMode, an [45055]environment settings object settingsObject, a [45056]module responses map moduleResponsesMap, and an algorithm onComplete, [45057]fetch a worklet/module worker script graph given url, fetchClient, destination, credentialsMode, settingsObject, onComplete, and the following [45058]perform the fetch hook given request and [45059]processCustomFetchResponse: 1. Let requestURL be request's [45060]URL. 2. If moduleResponsesMap[requestURL] is "fetching", wait [45061]in parallel until that entry's value changes, then [45062]queue a task on the [45063]networking task source to proceed with running the following steps. 3. If moduleResponsesMap[requestURL] [45064]exists, then: 1. Let cached be moduleResponsesMap[requestURL]. 2. Run processCustomFetchResponse with cached[0] and cached[1]. 3. Return. 4. [45065]Set moduleResponsesMap[requestURL] to "fetching". 5. [45066]Fetch request, with [45067]processResponseConsumeBody set to the following steps given [45068]response response and null, failure, or a [45069]byte sequence bodyBytes: 1. Set moduleResponsesMap[requestURL] to (response, bodyBytes). 2. Run processCustomFetchResponse with response and bodyBytes. __________________________________________________________________

    The following algorithms are meant for internal use by this specification only as part of [45070]fetching an external module script graph or other similar concepts above, and should not be used directly by other specifications.

    This diagram illustrates how these algorithms relate to the ones above, as well as to each other: [45071]fetch an external module script graph [45072]fetch a modulepreload module script graph [45073]fetch an inline module script graph [45074]fetch a module worker script graph [45075]fetch a worklet script graph [45076]fetch a worklet/module worker script graph [45077]fetch the descendants of and link a module script

    To fetch a worklet/module worker script graph given a [45078]URL url, an [45079]environment settings object fetchClient, a [45080]destination destination, a [45081]credentials mode credentialsMode, an [45082]environment settings object settingsObject, an algorithm onComplete, and an optional [45083]perform the fetch hook performFetch, run these steps. onComplete must be an algorithm accepting null (on failure) or a [45084]module script (on success). 1. Let options be a [45085]script fetch options whose [45086]cryptographic nonce is the empty string, [45087]integrity metadata is the empty string, [45088]parser metadata is "not-parser-inserted", [45089]credentials mode is credentialsMode, [45090]referrer policy is the empty string, and [45091]fetch priority is "auto". 2. [45092]Fetch a single module script given url, fetchClient, destination, options, settingsObject, "client", true, and onSingleFetchComplete as defined below. If performFetch was given, pass it along as well. onSingleFetchComplete given result is the following algorithm: 1. If result is null, run onComplete given null, and abort these steps. 2. [45093]Fetch the descendants of and link result given fetchClient, destination, and onComplete. If performFetch was given, pass it along as well.

    To fetch the descendants of and link a [45094]module script moduleScript, given an [45095]environment settings object fetchClient, a [45096]destination destination, an algorithm onComplete, and an optional [45097]perform the fetch hook performFetch, run these steps. onComplete must be an algorithm accepting null (on failure) or a [45098]module script (on success). 1. Let record be moduleScript's [45099]record. 2. If record is null, then: 1. Set moduleScript's [45100]error to rethrow to moduleScript's [45101]parse error. 2. Run onComplete given moduleScript. 3. Return. 3. Let state be [45102]Record { [[ParseError]]: null, [[Destination]]: destination, [[PerformFetch]]: null, [[FetchClient]]: fetchClient }. 4. If performFetch was given, set state.[[PerformFetch]] to performFetch. 5. Let loadingPromise be record.[45103]LoadRequestedModules(state). This step will recursively load all the module transitive dependencies. 6. [45104]Upon fulfillment of loadingPromise, run the following steps: 1. Perform record.[45105]Link(). This step will recursively call [45106]Link on all of the module's unlinked dependencies. If this throws an exception, catch it, and set moduleScript's [45107]error to rethrow to that exception. 2. Run onComplete given moduleScript. 7. [45108]Upon rejection of loadingPromise, run the following steps: 1. If state.[[ParseError]] is not null, set moduleScript's [45109]error to rethrow to state.[[ParseError]] and run onComplete given moduleScript. 2. Otherwise, run onComplete given null. state.[[ParseError]] is null when loadingPromise is rejected due to a loading error.

    To fetch a single module script, given a [45110]URL url, an [45111]environment settings object fetchClient, a [45112]destination destination, a [45113]script fetch options options, an [45114]environment settings object settingsObject, a [45115]referrer referrer, an optional [45116]ModuleRequest Record moduleRequest, a boolean [45117]isTopLevel, an algorithm onComplete, and an optional [45118]perform the fetch hook performFetch, run these steps. onComplete must be an algorithm accepting null (on failure) or a [45119]module script (on success). 1. Let moduleType be "javascript-or-wasm". 2. If moduleRequest was given, then set moduleType to the result of running the [45120]module type from module request steps given moduleRequest. 3. [45121]Assert: the result of running the [45122]module type allowed steps given moduleType and settingsObject is true. Otherwise, we would not have reached this point because a failure would have been raised when inspecting moduleRequest.[[Attributes]] in [45123]HostLoadImportedModule or [45124]fetch a single imported module script. 4. Let moduleMap be settingsObject's [45125]module map. 5. If moduleMap[(url, moduleType)] is "fetching", wait [45126]in parallel until that entry's value changes, then [45127]queue a task on the [45128]networking task source to proceed with running the following steps. 6. If moduleMap[(url, moduleType)] [45129]exists, run onComplete given moduleMap[(url, moduleType)], and return. 7. [45130]Set moduleMap[(url, moduleType)] to "fetching". 8. Let request be a new [45131]request whose [45132]URL is url, [45133]mode is "cors", [45134]referrer is referrer, and [45135]client is fetchClient. 9. Set request's [45136]destination to the result of running the [45137]fetch destination from module type steps given destination and moduleType. 10. If destination is "worker", "sharedworker", or "serviceworker", and isTopLevel is true, then set request's [45138]mode to "same-origin". 11. Set request's [45139]initiator type to "script". 12. [45140]Set up the module script request given request and options. 13. If performFetch was given, run performFetch with request, isTopLevel, and with processResponseConsumeBody as defined below. Otherwise, [45141]fetch request with [45142]processResponseConsumeBody set to processResponseConsumeBody as defined below. In both cases, let processResponseConsumeBody given [45143]response response and null, failure, or a [45144]byte sequence bodyBytes be the following algorithm: response is always [45145]CORS-same-origin. 1. If any of the following are true: o bodyBytes is null or failure; or o response's [45146]status is not an [45147]ok status, then [45148]set moduleMap[(url, moduleType)] to null, run onComplete given null, and abort these steps. 2. Let mimeType be the result of [45149]extracting a MIME type from response's [45150]header list. 3. Let moduleScript be null. 4. Let referrerPolicy be the result of [45151]parsing the `Referrer-Policy` header given response. [45152][REFERRERPOLICY] 5. If referrerPolicy is not the empty string, set options's [45153]referrer policy to referrerPolicy. 6. If mimeType's [45154]essence is "[45155]application/wasm" and moduleType is "javascript-or-wasm", then set moduleScript to the result of [45156]creating a WebAssembly module script given bodyBytes, settingsObject, response's [45157]URL, and options. 7. Otherwise: 1. Let sourceText be the result of [45158]UTF-8 decoding bodyBytes. 2. If mimeType is a [45159]JavaScript MIME type and moduleType is "javascript-or-wasm", then set moduleScript to the result of [45160]creating a JavaScript module script given sourceText, settingsObject, response's [45161]URL, and options. 3. If the [45162]MIME type essence of mimeType is "[45163]text/css" and moduleType is "css", then set moduleScript to the result of [45164]creating a CSS module script given sourceText and settingsObject. 4. If mimeType is a [45165]JSON MIME type and moduleType is "json", then set moduleScript to the result of [45166]creating a JSON module script given sourceText and settingsObject. 8. [45167]Set moduleMap[(url, moduleType)] to moduleScript, and run onComplete given moduleScript. It is intentional that the [45168]module map is keyed by the [45169]request URL, whereas the [45170]base URL for the [45171]module script is set to the [45172]response URL. The former is used to deduplicate fetches, while the latter is used for URL resolution.

    To fetch a single imported module script, given a [45173]URL url, an [45174]environment settings object fetchClient, a [45175]destination destination, a [45176]script fetch options options, [45177]environment settings object settingsObject, a [45178]referrer referrer, a [45179]ModuleRequest Record moduleRequest, an algorithm onComplete, and an optional [45180]perform the fetch hook performFetch, run these steps. onComplete must be an algorithm accepting null (on failure) or a [45181]module script (on success). 1. [45182]Assert: moduleRequest.[[Attributes]] does not contain any [45183]Record entry such that entry.[[Key]] is not "type", because we only asked for "type" attributes in [45184]HostGetSupportedImportAttributes. 2. Let moduleType be the result of running the [45185]module type from module request steps given moduleRequest. 3. If the result of running the [45186]module type allowed steps given moduleType and settingsObject is false, then run onComplete given null, and return. 4. [45187]Fetch a single module script given url, fetchClient, destination, options, settingsObject, referrer, moduleRequest, false, and onComplete. If performFetch was given, pass it along as well.

    8.1.4.3 Creating scripts

    To create a classic script, given a [45188]string source, an [45189]environment settings object settings, a [45190]URL baseURL, a [45191]script fetch options options, an optional boolean mutedErrors (default false), and an optional [45192]URL-or-null sourceURLForWindowScripts (default null): 1. If mutedErrors is true, then set baseURL to [45193]about:blank. When mutedErrors is true, baseURL is the script's [45194]CORS-cross-origin [45195]response's [45196]url, which shouldn't be exposed to JavaScript. Therefore, baseURL is sanitized here. 2. If [45197]scripting is disabled for settings, then set source to the empty string. 3. Let script be a new [45198]classic script that this algorithm will subsequently initialize. 4. Set script's [45199]settings object to settings. 5. Set script's [45200]base URL to baseURL. 6. Set script's [45201]fetch options to options. 7. Set script's [45202]muted errors to mutedErrors. 8. Set script's [45203]parse error and [45204]error to rethrow to null. 9. [45205]Record classic script creation time given script and sourceURLForWindowScripts. 10. Let result be [45206]ParseScript(source, settings's [45207]realm, script). Passing script as the last parameter here ensures result.[[HostDefined]] will be script. 11. If result is a [45208]list of errors, then: 1. Set script's [45209]parse error and its [45210]error to rethrow to result[0]. 2. Return script. 12. Set script's [45211]record to result. 13. Return script.

    To create a JavaScript module script, given a [45212]string source, an [45213]environment settings object settings, a [45214]URL baseURL, and a [45215]script fetch options options: 1. If [45216]scripting is disabled for settings, then set source to the empty string. 2. Let script be a new [45217]module script that this algorithm will subsequently initialize. 3. Set script's [45218]settings object to settings. 4. Set script's [45219]base URL to baseURL. 5. Set script's [45220]fetch options to options. 6. Set script's [45221]parse error and [45222]error to rethrow to null. 7. Let result be [45223]ParseModule(source, settings's [45224]realm, script). Passing script as the last parameter here ensures result.[[HostDefined]] will be script. 8. If result is a [45225]list of errors, then: 1. Set script's [45226]parse error to result[0]. 2. Return script. 9. Set script's [45227]record to result. 10. Return script.

    To create a WebAssembly module script, given a [45228]byte sequence bodyBytes, an [45229]environment settings object settings, a [45230]URL baseURL, and a [45231]script fetch options options: 1. If [45232]scripting is disabled for settings, then set bodyBytes to the byte sequence 0x00 0x61 0x73 0x6D 0x01 0x00 0x00 0x00. This byte sequence corresponds to an empty WebAssembly module with only the magic bytes and version number provided. 2. Let script be a new [45233]module script that this algorithm will subsequently initialize. 3. Set script's [45234]settings object to settings. 4. Set script's [45235]base URL to baseURL. 5. Set script's [45236]fetch options to options. 6. Set script's [45237]parse error and [45238]error to rethrow to null. 7. Let result be the result of [45239]parsing a WebAssembly module given bodyBytes, settings's [45240]realm, and script. Passing script as the last parameter here ensures result.[[HostDefined]] will be script. 8. If the previous step threw an error error, then: 1. Set script's [45241]parse error to error. 2. Return script. 9. Set script's [45242]record to result. 10. Return script.

    WebAssembly JavaScript Interface: ESM Integration specifies the hooks for the WebAssembly integration with ECMA-262 module loading. This includes support both for direct dependency imports, as well as for source phase imports, which support virtualization and multi-instantiation. [45243][WASMESM]

    To create a CSS module script, given a string source and an [45244]environment settings object settings: 1. Let script be a new [45245]module script that this algorithm will subsequently initialize. 2. Set script's [45246]settings object to settings. 3. Set script's [45247]base URL and [45248]fetch options to null. 4. Set script's [45249]parse error and [45250]error to rethrow to null. 5. Let sheet be the result of running the steps to [45251]create a constructed CSSStyleSheet with an empty dictionary as the argument. 6. Run the steps to [45252]synchronously replace the rules of a CSSStyleSheet on sheet given source. If this throws an exception, catch it, and set script's [45253]parse error to that exception, and return script. The steps to [45254]synchronously replace the rules of a CSSStyleSheet will throw if source contains any @import rules. This is by-design for now because there is not yet an agreement on how to handle these for CSS module scripts; therefore they are blocked altogether until a consensus is reached. 7. Set script's [45255]record to the result of [45256]CreateDefaultExportSyntheticModule(sheet). 8. Return script.

    To create a JSON module script, given a string source and an [45257]environment settings object settings: 1. Let script be a new [45258]module script that this algorithm will subsequently initialize. 2. Set script's [45259]settings object to settings. 3. Set script's [45260]base URL and [45261]fetch options to null. 4. Set script's [45262]parse error and [45263]error to rethrow to null. 5. Let result be [45264]ParseJSONModule(source). If this throws an exception, catch it, and set script's [45265]parse error to that exception, and return script. 6. Set script's [45266]record to result. 7. Return script.

    The module type from module request steps, given a [45267]ModuleRequest Record moduleRequest, are as follows: 1. Let moduleType be "javascript-or-wasm". 2. If moduleRequest.[[Attributes]] has a [45268]Record entry such that entry.[[Key]] is "type", then: 1. If entry.[[Value]] is "javascript-or-wasm", then set moduleType to null. This specification uses the "javascript-or-wasm" module type internally for [45269]JavaScript module scripts or [45270]WebAssembly module scripts, so this step is needed to prevent modules from being imported using a "javascript-or-wasm" type attribute (a null moduleType will cause the [45271]module type allowed check to fail). 2. Otherwise, set moduleType to entry.[[Value]]. 3. Return moduleType.

    The module type allowed steps, given a [45272]string moduleType and an [45273]environment settings object settings, are as follows: 1. If moduleType is not "javascript-or-wasm", "css", or "json", then return false. 2. If moduleType is "css" and the [45274]CSSStyleSheet interface is not [45275]exposed in settings's [45276]realm, then return false. 3. Return true.

    The fetch destination from module type steps, given a [45277]destination defaultDestination and a [45278]string moduleType, are as follows: 1. If moduleType is "json", then return "json". 2. If moduleType is "css", then return "style". 3. Return defaultDestination.

    8.1.4.4 Calling scripts

    To run a classic script given a [45279]classic script script and an optional boolean rethrow errors (default false): 1. Let settings be the [45280]settings object of script. 2. [45281]Check if we can run script with settings. If this returns "do not run", then return [45282]NormalCompletion(empty). 3. [45283]Record classic script execution start time given script. 4. [45284]Prepare to run script given settings. 5. Let evaluationStatus be null. 6. If script's [45285]error to rethrow is not null, then set evaluationStatus to Completion { [[Type]]: throw, [[Value]]: script's [45286]error to rethrow, [[Target]]: empty }. 7. Otherwise, set evaluationStatus to [45287]ScriptEvaluation(script's [45288]record). If [45289]ScriptEvaluation does not complete because the user agent has [45290]aborted the running script, leave evaluationStatus as null. 8. If evaluationStatus is an [45291]abrupt completion, then: 1. If rethrow errors is true and script's [45292]muted errors is false, then: 1. [45293]Clean up after running script with settings. 2. Rethrow evaluationStatus.[[Value]]. 2. If rethrow errors is true and script's [45294]muted errors is true, then: 1. [45295]Clean up after running script with settings. 2. Throw a [45296]"NetworkError" [45297]DOMException. 3. Otherwise, rethrow errors is false. Perform the following steps: 1. [45298]Report an exception given by evaluationStatus.[[Value]] for script's [45299]settings object's [45300]global object. 2. [45301]Clean up after running script with settings. 3. Return evaluationStatus. 9. [45302]Clean up after running script with settings. 10. If evaluationStatus is a normal completion, then return evaluationStatus. 11. If we've reached this point, evaluationStatus was left as null because the script was [45303]aborted prematurely during evaluation. Return Completion { [[Type]]: throw, [[Value]]: a new [45304]"QuotaExceededError" [45305]DOMException, [[Target]]: empty }.

    To run a module script given a [45306]module script script and an optional boolean preventErrorReporting (default false): 1. Let settings be the [45307]settings object of script. 2. [45308]Check if we can run script with settings. If this returns "do not run", then return [45309]a promise resolved with undefined. 3. [45310]Record module script execution start time given script. 4. [45311]Prepare to run script given settings. 5. Let evaluationPromise be null. 6. If script's [45312]error to rethrow is not null, then set evaluationPromise to [45313]a promise rejected with script's [45314]error to rethrow. 7. Otherwise: 1. Let record be script's [45315]record. 2. Set evaluationPromise to record.[45316]Evaluate(). This step will recursively evaluate all of the module's dependencies. If [45317]Evaluate fails to complete as a result of the user agent [45318]aborting the running script, then set evaluationPromise to [45319]a promise rejected with a new [45320]"QuotaExceededError" [45321]DOMException. 8. If preventErrorReporting is false, then [45322]upon rejection of evaluationPromise with reason, [45323]report an exception given by reason for script's [45324]settings object's [45325]global object. 9. [45326]Clean up after running script with settings. 10. Return evaluationPromise.

    The steps to check if we can run script with an [45327]environment settings object settings are as follows. They return either "run" or "do not run". 1. If the [45328]global object specified by settings is a [45329]Window object whose [45330]Document object is not [45331]fully active, then return "do not run". 2. If [45332]scripting is disabled for settings, then return "do not run". 3. Return "run".

    The steps to prepare to run script with an [45333]environment settings object settings are as follows: 1. Push settings's [45334]realm execution context onto the [45335]JavaScript execution context stack; it is now the [45336]running JavaScript execution context. 2. Add settings to the [45337]surrounding agent's [45338]event loop's [45339]currently running task's [45340]script evaluation environment settings object set.

    The steps to clean up after running script with an [45341]environment settings object settings are as follows: 1. [45342]Assert: settings's [45343]realm execution context is the [45344]running JavaScript execution context. 2. Remove settings's [45345]realm execution context from the [45346]JavaScript execution context stack. 3. If the [45347]JavaScript execution context stack is now empty, [45348]perform a microtask checkpoint. (If this runs scripts, these algorithms will be invoked reentrantly.)

    These algorithms are not invoked by one script directly calling another, but they can be invoked reentrantly in an indirect manner, e.g. if a script dispatches an event which has event listeners registered.

    The running script is the [45349]script in the [[HostDefined]] field in the ScriptOrModule component of the [45350]running JavaScript execution context.

    8.1.4.5 Killing scripts

    Although the JavaScript specification does not account for this possibility, it's sometimes necessary to abort a running script. This causes any [45351]ScriptEvaluation or [45352]Source Text Module Record [45353]Evaluate invocations to cease immediately, emptying the [45354]JavaScript execution context stack without triggering any of the normal mechanisms like finally blocks. [45355][JAVASCRIPT]

    User agents may impose resource limitations on scripts, for example CPU quotas, memory limits, total execution time limits, or bandwidth limitations. When a script exceeds a limit, the user agent may either throw a [45356]"QuotaExceededError" [45357]DOMException, [45358]abort the script without an exception, prompt the user, or throttle script execution.

    For example, the following script never terminates. A user agent could, after waiting for a few seconds, prompt the user to either terminate the script or let it continue.

    User agents are encouraged to allow users to disable scripting whenever the user is prompted either by a script (e.g. using the [45359]window.alert() API) or because of a script's actions (e.g. because it has exceeded a time limit).

    If scripting is disabled while a script is executing, the script should be terminated immediately.

    User agents may allow users to specifically disable scripts just for the purposes of closing a [45360]browsing context.

    For example, the prompt mentioned in the example above could also offer the user with a mechanism to just close the page entirely, without running any [45361]unload event handlers.

    8.1.4.6 Runtime script errors

    (BUTTON) ✔MDN

    [45362]reportError

    Support in all current engines. Firefox93+Safari15.4+Chrome95+ __________________________________________________________________

    Opera?Edge95+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    self.[45363]reportError(e) Dispatches an [45364]error event at the global object for the given value e, in the same fashion as an unhandled exception.

    To extract error information from a JavaScript value exception: 1. Let attributes be an empty [45365]map keyed by IDL attributes. 2. Set attributes[[45366]error] to exception. 3. Set attributes[[45367]message], attributes[[45368]filename], attributes[[45369]lineno], and attributes[[45370]colno] to [45371]implementation-defined values derived from exception. Browsers implement behavior not specified here or in the JavaScript specification to gather values which are helpful, including in unusual cases (e.g., eval). In the future, this might be specified in greater detail. 4. Return attributes.

    To report an exception exception which is a JavaScript value, for a particular [45372]global object global and optional boolean omitError (default false): 1. Let notHandled be true. 2. Let errorInfo be the result of [45373]extracting error information from exception. 3. Let script be a [45374]script found in an [45375]implementation-defined way, or null. This should usually be the [45376]running script (most notably during [45377]run a classic script). Implementations have not yet settled on interoperable behavior for which script is used to determine whether errors are muted in less common cases. 4. If script is a [45378]classic script and script's [45379]muted errors is true, then set errorInfo[[45380]error] to null, errorInfo[[45381]message] to "Script error.", errorInfo[[45382]filename] to the empty string, errorInfo[[45383]lineno] to 0, and errorInfo[[45384]colno] to 0. 5. If omitError is true, then set errorInfo[[45385]error] to null. 6. If global is not [45386]in error reporting mode, then: 1. Set global's [45387]in error reporting mode to true. 2. If global implements [45388]EventTarget, then set notHandled to the result of [45389]firing an event named [45390]error at global, using [45391]ErrorEvent, with the [45392]cancelable attribute initialized to true, and additional attributes initialized according to errorInfo. Returning true in an event handler cancels the event per [45393]the event handler processing algorithm. 3. Set global's [45394]in error reporting mode to false. 7. If notHandled is true, then: 1. Set errorInfo[[45395]error] to null. 2. If global implements [45396]DedicatedWorkerGlobalScope, [45397]queue a global task on the [45398]DOM manipulation task source with the global's associated [45399]Worker's [45400]relevant global object to run these steps: 1. Let workerObject be the [45401]Worker object associated with global. 2. Set notHandled to the result of [45402]firing an event named [45403]error at workerObject, using [45404]ErrorEvent, with the [45405]cancelable attribute initialized to true, and additional attributes initialized according to errorInfo. 3. If notHandled is true, then [45406]report exception for workerObject's [45407]relevant global object with [45408]omitError set to true. The actual exception value will not be available in the owner realm, but the user agent still carries through enough information to set the message, filename, and other attributes, as well as potentially report to a developer console. 3. Otherwise, the user agent may report exception to a developer console.

    If the implicit port connecting a worker to its [45409]Worker object has been disentangled (i.e. if the parent worker has been terminated), then the user agent must act as if the [45410]Worker object had no [45411]error event handler and as if that worker's [45412]onerror attribute was null, but must otherwise act as described above.

    Thus, error reports propagate up to the chain of dedicated workers up to the original [45413]Document, even if some of the workers along this chain have been terminated and garbage collected.

    Previous revisions of this standard defined an algorithm to report the exception. As part of [45414]issue #958, this has been superseded by [45415]report an exception which behaves differently and takes different inputs. [45416]Issue #10516 tracks updating the specification ecosystem. __________________________________________________________________

    The reportError(e) method steps are to [45417]report an exception e for [45418]this.

    It is unclear whether [45419]muting is applicable here. In Chrome and Safari it is muted, but in Firefox it is not. See also [45420]issue #958. __________________________________________________________________

    (BUTTON) ✔MDN

    [45421]ErrorEvent

    Support in all current engines. Firefox27+Safari6+Chrome10+ __________________________________________________________________

    Opera11+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+

    The [45422]ErrorEvent interface is defined as follows: [Exposed=*] interface ErrorEvent : [45423]Event { [45424]constructor(DOMString type, optional [45425]ErrorEventInit eventInitDic t = {});

    readonly attribute DOMString [45426]message; readonly attribute USVString [45427]filename; readonly attribute unsigned long [45428]lineno; readonly attribute unsigned long [45429]colno; readonly attribute any [45430]error; };

    dictionary ErrorEventInit : [45431]EventInit { DOMString message = ""; USVString filename = ""; unsigned long lineno = 0; unsigned long colno = 0; any error; };

    The message attribute must return the value it was initialized to. It represents the error message.

    The filename attribute must return the value it was initialized to. It represents the [45432]URL of the script in which the error originally occurred.

    The lineno attribute must return the value it was initialized to. It represents the line number where the error occurred in the script.

    The colno attribute must return the value it was initialized to. It represents the column number where the error occurred in the script.

    The error attribute must return the value it was initialized to. It must initially be initialized to undefined. Where appropriate, it is set to the object representing the error (e.g., the exception object in the case of an uncaught exception).

    8.1.4.7 Unhandled promise rejections

    (BUTTON) ✔MDN

    [45433]Window/rejectionhandled_event

    Support in all current engines. Firefox69+Safari11+Chrome49+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS11.3+Chrome Android?WebView Android?Samsung Internet?Opera Android?

    In addition to synchronous [45434]runtime script errors, scripts may experience asynchronous promise rejections, tracked via the [45435]unhandledrejection and [45436]rejectionhandled events. Tracking these rejections is done via the [45437]HostPromiseRejectionTracker abstract operation, but reporting them is defined here.

    To notify about rejected promises given a [45438]global object global: 1. Let list be a [45439]clone of global's [45440]about-to-be-notified rejected promises list. 2. If list [45441]is empty, then return. 3. [45442]Empty global's [45443]about-to-be-notified rejected promises list. 4. [45444]Queue a global task on the [45445]DOM manipulation task source given global to run the following step: 1. [45446]For each promise p of list: 1. If p.[[PromiseIsHandled]] is true, then [45447]continue. 2. Let notCanceled be the result of [45448]firing an event named [45449]unhandledrejection at global, using [45450]PromiseRejectionEvent, with the [45451]cancelable attribute initialized to true, the [45452]promise attribute initialized to p, and the [45453]reason attribute initialized to p.[[PromiseResult]]. 3. If notCanceled is true, then the user agent may report p.[[PromiseResult]] to a developer console. 4. If p.[[PromiseIsHandled]] is false, then [45454]append p to global's [45455]outstanding rejected promises weak set.

    (BUTTON) ✔MDN

    [45456]PromiseRejectionEvent

    Support in all current engines. Firefox69+Safari11+Chrome49+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS11.3+Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The [45457]PromiseRejectionEvent interface is defined as follows: [Exposed=*] interface PromiseRejectionEvent : [45458]Event { [45459]constructor(DOMString type, [45460]PromiseRejectionEventInit eventInitD ict);

    readonly attribute [45461]object [45462]promise; readonly attribute any [45463]reason; };

    dictionary PromiseRejectionEventInit : [45464]EventInit { required [45465]object promise; any reason; };

    (BUTTON) ✔MDN

    [45466]PromiseRejectionEvent/promise

    Support in all current engines. Firefox69+Safari11+Chrome49+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS11.3+Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The promise attribute must return the value it was initialized to. It represents the promise which this notification is about.

    Because of how Web IDL conversion rules for [45467]Promise types always wrap the input into a new promise, the [45468]promise attribute is of type [45469]object instead, which is more appropriate for representing an opaque handle to the original promise object.

    (BUTTON) ✔MDN

    [45470]PromiseRejectionEvent/reason

    Support in all current engines. Firefox69+Safari11+Chrome49+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS11.3+Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The reason attribute must return the value it was initialized to. It represents the rejection reason for the promise.

    8.1.4.8 Import map parse results

    An import map parse result is a [45471]struct that is similar to a [45472]script, and also can be stored in a [45473]script element's [45474]result, but is not counted as a [45475]script for other purposes. It has the following [45476]items:

    An import map An [45477]import map or null.

    An error to rethrow A JavaScript value representing an error that will prevent using this import map, when non-null.

    To create an import map parse result given a [45478]string input and a [45479]URL baseURL: 1. Let result be an [45480]import map parse result whose [45481]import map is null and whose [45482]error to rethrow is null. 2. [45483]Parse an import map string given input and baseURL, catching any exceptions. If this threw an exception, then set result's [45484]error to rethrow to that exception. Otherwise, set result's [45485]import map to the return value. 3. Return result.

    To register an import map given a [45486]Window global and an [45487]import map parse result result: 1. If result's [45488]error to rethrow is not null, then [45489]report an exception given by result's [45490]error to rethrow for global and return. 2. [45491]Merge existing and new import maps, given global and result's [45492]import map.

    8.1.5 Module specifier resolution

    8.1.5.1 The resolution algorithm

    The [45493]resolve a module specifier algorithm is the primary entry point for converting module specifier strings into [45494]URLs. When no [45495]import maps are involved, it is relatively straightforward, and reduces to [45496]resolving a URL-like module specifier.

    When there is a non-empty [45497]import map present, the behavior is more complex. It checks candidate entries from all applicable [45498]module specifier maps, from most-specific to least-specific [45499]scopes (falling back to the top-level unscoped [45500]imports), and from most-specific to least-specific prefixes. For each candidate, the [45501]resolve an imports match algorithm will give on the following results: * Successful resolution of the specifier to a [45502]URL. Then the [45503]resolve a module specifier algorithm will return that URL. * Throwing an exception. Then the [45504]resolve a module specifier algorithm will rethrow that exception, without any further fallbacks. * Failing to resolve, without an error. In this case the outer [45505]resolve a module specifier algorithm will move on to the next candidate.

    In the end, if no successful resolution is found via any of the candidate [45506]module specifier maps, [45507]resolve a module specifier will throw an exception. Thus the result is always either a [45508]URL or a thrown exception.

    To resolve a module specifier given a [45509]script-or-null referringScript and a [45510]string specifier: 1. Let settingsObject and baseURL be null. 2. If referringScript is not null, then: 1. Set settingsObject to referringScript's [45511]settings object. 2. Set baseURL to referringScript's [45512]base URL. 3. Otherwise: 1. [45513]Assert: there is a [45514]current settings object. 2. Set settingsObject to the [45515]current settings object. 3. Set baseURL to settingsObject's [45516]API base URL. 4. Let importMap be an [45517]empty import map. 5. If settingsObject's [45518]global object implements [45519]Window, then set importMap to settingsObject's [45520]global object's [45521]import map. 6. Let serializedBaseURL be baseURL, [45522]serialized. 7. Let asURL be the result of [45523]resolving a URL-like module specifier given specifier and baseURL. 8. Let normalizedSpecifier be the [45524]serialization of asURL, if asURL is non-null; otherwise, specifier. 9. Let result be a [45525]URL-or-null, initially null. 10. [45526]For each scopePrefix → scopeImports of importMap's [45527]scopes: 1. If scopePrefix is serializedBaseURL, or if scopePrefix ends with U+002F (/) and scopePrefix is a [45528]code unit prefix of serializedBaseURL, then: 1. Let scopeImportsMatch be the result of [45529]resolving an imports match given normalizedSpecifier, asURL, and scopeImports. 2. If scopeImportsMatch is not null, then set result to scopeImportsMatch, and [45530]break. 11. If result is null, set result to the result of [45531]resolving an imports match given normalizedSpecifier, asURL, and importMap's [45532]imports. 12. If result is null, set it to asURL. By this point, if result was null, specifier wasn't remapped to anything by importMap, but it might have been able to be turned into a URL. 13. If result is not null, then: 1. [45533]Add module to resolved module set given settingsObject, serializedBaseURL, normalizedSpecifier, and asURL. 2. Return result. 14. Throw a [45534]TypeError indicating that specifier was a bare specifier, but was not remapped to anything by importMap.

    To resolve an imports match, given a [45535]string normalizedSpecifier, a [45536]URL-or-null asURL, and a [45537]module specifier map specifierMap: 1. [45538]For each specifierKey → resolutionResult of specifierMap: 1. If specifierKey is normalizedSpecifier, then: 1. If resolutionResult is null, then throw a [45539]TypeError indicating that resolution of specifierKey was blocked by a null entry. This will terminate the entire [45540]resolve a module specifier algorithm, without any further fallbacks. 2. [45541]Assert: resolutionResult is a [45542]URL. 3. Return resolutionResult. 2. If all of the following are true: o specifierKey ends with U+002F (/); o specifierKey is a [45543]code unit prefix of normalizedSpecifier; and o either asURL is null, or asURL [45544]is special, then: 1. If resolutionResult is null, then throw a [45545]TypeError indicating that the resolution of specifierKey was blocked by a null entry. This will terminate the entire [45546]resolve a module specifier algorithm, without any further fallbacks. 2. [45547]Assert: resolutionResult is a [45548]URL. 3. Let afterPrefix be the portion of normalizedSpecifier after the initial specifierKey prefix. 4. [45549]Assert: resolutionResult, [45550]serialized, ends with U+002F (/), as enforced during [45551]parsing. 5. Let url be the result of [45552]URL parsing afterPrefix with resolutionResult. 6. If url is failure, then throw a [45553]TypeError indicating that resolution of normalizedSpecifier was blocked since the afterPrefix portion could not be URL-parsed relative to the resolutionResult mapped to by the specifierKey prefix. This will terminate the entire [45554]resolve a module specifier algorithm, without any further fallbacks. 7. [45555]Assert: url is a [45556]URL. 8. If the [45557]serialization of resolutionResult is not a [45558]code unit prefix of the [45559]serialization of url, then throw a [45560]TypeError indicating that the resolution of normalizedSpecifier was blocked due to it backtracking above its prefix specifierKey. This will terminate the entire [45561]resolve a module specifier algorithm, without any further fallbacks. 9. Return url. 2. Return null. The [45562]resolve a module specifier algorithm will fall back to a less-specific scope, or to "imports", if possible.

    To resolve a URL-like module specifier, given a [45563]string specifier and a [45564]URL baseURL: 1. If specifier [45565]starts with "/", "./", or "../", then: 1. Let url be the result of [45566]URL parsing specifier with baseURL. 2. If url is failure, then return null. One way this could happen is if specifier is "../foo" and baseURL is a [45567]data: URL. 3. Return url. This includes cases where specifier [45568]starts with "//", i.e., scheme-relative URLs. Thus, url might end up with a different [45569]host than baseURL. 2. Let url be the result of [45570]URL parsing specifier (with no base URL). 3. If url is failure, then return null. 4. Return url.

    8.1.5.2 Import maps

    An [45571]import map allows control over module specifier resolution. Import maps are delivered via inline [45572]script elements with their [45573]type attribute set to "importmap", and with their [45574]child text content containing a JSON representation of the import map.

    A [45575]Document can have multiple import maps processed, which can happen either before or after any modules have been imported, e.g., via [45576]import() expressions or [45577]script elements with their [45578]type attribute set to "module". The [45579]merge existing and new import maps algorithm ensures that new import maps cannot define the module resolution for modules that were already defined by past import maps, or for ones that were already resolved.

    The simplest use of import maps is to globally remap a bare module specifier: { "imports": { "moment": "/node_modules/moment/src/moment.js" } }

    This enables statements like import moment from "moment"; to work, fetching and evaluating the JavaScript module at the /node_modules/moment/src/moment.js URL.

    An import map can remap a class of module specifiers into a class of URLs by using trailing slashes, like so: { "imports": { "moment/": "/node_modules/moment/src/" } }

    This enables statements like import localeData from "moment/locale/zh-cn.js"; to work, fetching and evaluating the JavaScript module at the /node_modules/moment/src/locale/zh-cn.js URL. Such trailing-slash mappings are often combined with bare-specifier mappings, e.g. { "imports": { "moment": "/node_modules/moment/src/moment.js", "moment/": "/node_modules/moment/src/" } }

    so that both the "main module" specified by "moment" and the "submodules" specified by paths such as "moment/locale/zh-cn.js" are available.

    Bare specifiers are not the only type of module specifiers which import maps can remap. "URL-like" specifiers, i.e., those that are either parseable as absolute URLs or start with "/", "./", or "../", can be remapped as well: { "imports": { "https://cdn.example.com/vue/dist/vue.runtime.esm.js": "/node_modules/vue/di st/vue.runtime.esm.js", "/js/app.mjs": "/js/app-8e0d62a03.mjs", "../helpers/": "https://cdn.example/helpers/" } }

    Note how the URL to be remapped, as well as the URL being mapped to, can be specified either as absolute URLs, or as relative URLs starting with "/", "./", or "../". (They cannot be specified as relative URLs without those starting sigils, as those help distinguish from bare module specifiers.) Also note how the [45580]trailing slash mapping works in this context as well.

    Such remappings operate on the post-canonicalization URL, and do not require a match between the literal strings supplied in the import map key and the imported module specifier. So for example, if this import map was included on https://example.com/app.html, then not only would import "/js/app.mjs" be remapped, but so would import "./js/app.mjs" and import "./foo/../js/app.mjs".

    All previous examples have globally remapped module specifiers, by using the top-level "imports" key in the import map. The top-level "scopes" key can be used to provide localized remappings, which only apply when the referring module matches a specific URL prefix. For example: { "scopes": { "/a/" : { "moment": "/node_modules/moment/src/moment.js" }, "/b/" : { "moment": "https://cdn.example.com/moment/src/moment.js" } } }

    With this import map, the statement import "moment" will have different meanings depending on which referrer script contains the statement: * Inside scripts located under /a/, this will import /node_modules/moment/src/moment.js. * Inside scripts located under /b/, this will import https://cdn.example.com/moment/src/moment.js. * Inside scripts located under /c/, this will fail to resolve and thus throw an exception.

    A typical usage of scopes is to allow multiple versions of the "same" module to exist in a web application, with some parts of the module graph importing one version, and other parts importing another version.

    Scopes can overlap each other, and overlap the global "imports" specifier map. At resolution time, scopes are consulted in order of most- to least-specific, where specificity is measured by sorting the scopes using the [45581]code unit less than operation. So, for example, "/scope2/scope3/" is treated as more specific than "/scope2/", which is treated as more specific than the top-level (unscoped) mappings.

    The following import map illustrates this: { "imports": { "a": "/a-1.mjs", "b": "/b-1.mjs", "c": "/c-1.mjs" }, "scopes": { "/scope2/": { "a": "/a-2.mjs" }, "/scope2/scope3/": { "b": "/b-3.mjs" } } }

    This results in the following resolutions (using relative URLs for brevity): Specifier "a" "b" "c" Referrer /scope1/r.mjs /a-1.mjs /b-1.mjs /c-1.mjs /scope2/r.mjs /a-2.mjs /b-1.mjs /c-1.mjs /scope2/scope3/r.mjs /a-2.mjs /b-3.mjs /c-1.mjs

    Import maps can also be used to provide modules with integrity metadata to be used in Subresource Integrity checks. [45582][SRI]

    The following import map illustrates this: { "imports": { "a": "/a-1.mjs", "b": "/b-1.mjs", "c": "/c-1.mjs" }, "integrity": { "/a-1.mjs": "sha384-Li9vy3DqF8tnTXuiaAJuML3ky+er10rcgNR/VqsVpcw+ThHmYcwiB1pb OxEbzJr7", "/d-1.mjs": "sha384-MBO5IDfYaE6c6Aao94oZrIOiC6CGiSN2n4QUbHNPhzk5Xhm0djZLQqTp L0HzTUxk" } }

    The above example provides integrity metadata to be enforced on the modules /a-1.mjs and /d-1.mjs, even if the latter is not defined as an import in the map. __________________________________________________________________

    The [45583]child text content of a [45584]script element representing an [45585]import map must match the following import map authoring requirements: * It must be valid JSON. [45586][JSON] * The JSON must represent a JSON object, with at most the three keys "imports", "scopes", and "integrity". * The values corresponding to the "imports", "scopes", and "integrity" keys, if present, must themselves be JSON objects. * The value corresponding to the "imports" key, if present, must be a [45587]valid module specifier map. * The value corresponding to the "scopes" key, if present, must be a JSON object, whose keys are [45588]valid URL strings and whose values are [45589]valid module specifier maps. * The value corresponding to the "integrity" key, if present, must be a JSON object, whose keys are [45590]valid URL strings and whose values fit [45591]the requirements of the integrity attribute.

    A valid module specifier map is a JSON object that meets the following requirements: * All of its keys must be nonempty. * All of its values must be strings. * Each value must be either a [45592]valid absolute URL or a [45593]valid URL string that [45594]starts with "/", "./", or "../". * If a given key [45595]ends with "/", then the corresponding value must also.

    8.1.5.3 Import map processing model

    Formally, an import map is a [45596]struct with three [45597]items: * imports, a [45598]module specifier map; * scopes, an [45599]ordered map of [45600]URLs to [45601]module specifier maps; and * integrity, a [45602]module integrity map.

    A module specifier map is an [45603]ordered map whose [45604]keys are [45605]strings and whose [45606]values are either [45607]URLs or nulls.

    A module integrity map is an [45608]ordered map whose [45609]keys are [45610]URLs and whose [45611]values are [45612]strings that will be used as [45613]integrity metadata.

    An empty import map is an [45614]import map with its [45615]imports and [45616]scopes both being empty maps. __________________________________________________________________

    A specifier resolution record is a [45617]struct. It has the following [45618]items:

    A serialized base URL A [45619]string-or-null that represents the base URL of the specifier, when one exists.

    A specifier A [45620]string representing the specifier.

    A specifier as a URL A [45621]URL-or-null that represents the URL in case of a URL-like module specifier.

    Implementations can replace [45622]specifier as a URL with a boolean that indicates that the specifier is either bare or URL-like that [45623]is special.

    To add module to resolved module set given an [45624]environment settings object settingsObject, a [45625]string serializedBaseURL, a [45626]string normalizedSpecifier, and a [45627]URL-or-null asURL: 1. Let global be settingsObject's [45628]global object. 2. If global does not implement [45629]Window, then return. 3. Let record be a new [45630]specifier resolution record, with [45631]serialized base URL set to serializedBaseURL, [45632]specifier set to normalizedSpecifier, and [45633]specifier as a URL set to asURL. 4. [45634]Append record to global's [45635]resolved module set. __________________________________________________________________

    To parse an import map string, given a [45636]string input and a [45637]URL baseURL: 1. Let parsed be the result of [45638]parsing a JSON string to an Infra value given input. 2. If parsed is not an [45639]ordered map, then throw a [45640]TypeError indicating that the top-level value needs to be a JSON object. 3. Let sortedAndNormalizedImports be an empty [45641]ordered map. 4. If parsed["imports"] [45642]exists, then: 1. If parsed["imports"] is not an [45643]ordered map, then throw a [45644]TypeError indicating that the value for the "imports" top-level key needs to be a JSON object. 2. Set sortedAndNormalizedImports to the result of [45645]sorting and normalizing a module specifier map given parsed["imports"] and baseURL. 5. Let sortedAndNormalizedScopes be an empty [45646]ordered map. 6. If parsed["scopes"] [45647]exists, then: 1. If parsed["scopes"] is not an [45648]ordered map, then throw a [45649]TypeError indicating that the value for the "scopes" top-level key needs to be a JSON object. 2. Set sortedAndNormalizedScopes to the result of [45650]sorting and normalizing scopes given parsed["scopes"] and baseURL. 7. Let normalizedIntegrity be an empty [45651]ordered map. 8. If parsed["integrity"] [45652]exists, then: 1. If parsed["integrity"] is not an [45653]ordered map, then throw a [45654]TypeError indicating that the value for the "integrity" top-level key needs to be a JSON object. 2. Set normalizedIntegrity to the result of [45655]normalizing a module integrity map given parsed["integrity"] and baseURL. 9. If parsed's [45656]keys [45657]contains any items besides "imports", "scopes", or "integrity", then the user agent should [45658]report a warning to the console indicating that an invalid top-level key was present in the import map. This can help detect typos. It is not an error, because that would prevent any future extensions from being added backward-compatibly. 10. Return an [45659]import map whose [45660]imports are sortedAndNormalizedImports, whose [45661]scopes are sortedAndNormalizedScopes, and whose [45662]integrity are normalizedIntegrity.

    The [45663]import map that results from this parsing algorithm is highly normalized. For example, given a base URL of https://example.com/base/page.html, the input { "imports": { "/app/helper": "node_modules/helper/index.mjs", "lodash": "/node_modules/lodash-es/lodash.js" } }

    will generate an [45664]import map with [45665]imports of «[ "https://example.com/app/helper" → https://example.com/base/node_modules/helpe r/index.mjs "lodash" → https://example.com/node_modules/lodash-es/lodash.js ]»

    and (despite nothing being present in the input string) an empty [45666]ordered map for its [45667]scopes. __________________________________________________________________

    To merge module specifier maps, given a [45668]module specifier map newMap and a [45669]module specifier map oldMap: 1. Let mergedMap be a deep copy of oldMap. 2. [45670]For each specifier → url of newMap: 1. If specifier [45671]exists in oldMap, then: 1. The user agent may [45672]report a warning to the console indicating the ignored rule. They may choose to avoid reporting if the rule is identical to an existing one. 2. [45673]Continue. 2. Set mergedMap[specifier] to url. 3. Return mergedMap.

    To merge existing and new import maps, given a [45674]global object global and an [45675]import map newImportMap: 1. Let newImportMapScopes be a deep copy of newImportMap's [45676]scopes. We're mutating these copies and removing items from them when they are used to ignore scope-specific rules. This is true for newImportMapScopes, as well as to newImportMapImports below. 2. Let oldImportMap be global's [45677]import map. 3. Let newImportMapImports be a deep copy of newImportMap's [45678]imports. 4. [45679]For each scopePrefix → scopeImports of newImportMapScopes: 1. [45680]For each record of global's [45681]resolved module set: 1. If scopePrefix is record's [45682]serialized base URL, or if scopePrefix ends with U+002F (/) and scopePrefix is a [45683]code unit prefix of record's [45684]serialized base URL, then: 1. [45685]For each specifierKey → resolutionResult of scopeImports: 1. If specifierKey is record's [45686]specifier, or if all of the following conditions are true: - specifierKey ends with U+002F (/); - specifierKey is a [45687]code unit prefix of record's [45688]specifier; - either record's [45689]specifier as a URL is null or [45690]is special, then: 1. The user agent may [45691]report a warning to the console indicating the ignored rule. They may choose to avoid reporting if the rule is identical to an existing one. 2. Remove scopeImports[specifierKey]. Implementers are encouraged to implement a more efficient matching algorithm when working with the [45692]resolved module set. As guidance, the number of resolved/mapped modules in a large application can be on the order of thousands. 2. If scopePrefix [45693]exists in oldImportMap's [45694]scopes, then set oldImportMap's [45695]scopes[scopePrefix] to the result of [45696]merging module specifier maps, given scopeImports and oldImportMap's [45697]scopes[scopePrefix]. 3. Otherwise, set oldImportMap's [45698]scopes[scopePrefix] to scopeImports. 5. [45699]For each url → integrity of newImportMap's [45700]integrity: 1. If url [45701]exists in oldImportMap's [45702]integrity, then: 1. The user agent may [45703]report a warning to the console indicating the ignored rule. They may choose to avoid reporting if the rule is identical to an existing one. 2. [45704]Continue. 2. Set oldImportMap's [45705]integrity[url] to integrity. 6. [45706]For each record of global's [45707]resolved module set: 1. [45708]For each specifier → url of newImportMapImports: 1. If specifier [45709]starts with record's [45710]specifier, then: 1. The user agent may [45711]report a warning to the console indicating the ignored rule. They may choose to avoid reporting if the rule is identical to an existing one. 2. Remove newImportMapImports[specifier]. 7. Set oldImportMap's [45712]imports to the result of [45713]merge module specifier maps, given newImportMapImports and oldImportMap's [45714]imports.

    The above algorithm merges a new import map into the given [45715]environment settings object's [45716]global object's [45717]import map. Let's examine a few examples:

    There are two cases when rules of the new import map don't get merged into the existing one. 1. The new import map rule has the exact same scope and specifier as a rule in the existing import map. We'll call that "conflicting rule". 2. The new import map rule may impact the resolution of an already resolved module. We'll call that "impacted already resolved module".

    When the new import map has no conflicting rules, and there are no impacted resolved modules, the resulting map would be a combination of the new and existing maps. Rules that would have individually impacted similar modules (e.g. "/app/" and "/app/helper") but are not an exact match are not conflicting, and all make it to the merged map.

    So, the following existing and new import maps: { "imports": { "/app/": "./original-app/", } } { "imports": { "/app/helper": "./helper/index.mjs" }, "scopes": { "/js": { "/app/": "./js-app/" } } }

    Would be equivalent to the following single import map: { "imports": { "/app/": "./original-app/", "/app/helper": "./helper/index.mjs" }, "scopes": { "/js": { "/app/": "./js-app/" } } }

    When the new import map impacts an already resolved module, that rule gets dropped from the import map.

    So, if the [45718]resolved module set already contains the "/app/helper", the following new import map: { "imports": { "/app/helper": "./helper/index.mjs", "lodash": "/node_modules/lodash-es/lodash.js" } }

    Would be equivalent to the following one: { "imports": { "lodash": "/node_modules/lodash-es/lodash.js" } }

    The same is true for rules that impact already resolved modules defined in specific scopes. If we already resolved "/app/helper" from "/app/main.mjs" the following new import map: { "scopes": { "/app/": { "/app/helper": "./helper/index.mjs" } }, "imports": { "lodash": "/node_modules/lodash-es/lodash.js" } }

    Would similarly be equivalent to: { "imports": { "lodash": "/node_modules/lodash-es/lodash.js" } }

    We could also have cases where a single already-resolved module specifier has multiple rules for its resolution, depending on the referring script. In such cases, only the relevant rules would not be added to the map.

    For example, if we already resolved "/app/helper" from "/app/vendor/main.mjs", the following new import map: { "scopes": { "/app/": { "/app/helper": "./helper/index.mjs" }, "/app/vendor/": { "/app/": "./vendor_helper/" }, "/vendor/": { "/app/helper": "./helper/vendor_index.mjs" } }, "imports": { "lodash": "/node_modules/lodash-es/lodash.js" "/app/": "./general_app_path/" "/app/helper": "./other_path/helper/index.mjs" } }

    Would be equivalent to: { "scopes": { "/vendor/": { "/app/helper": "./helper/vendor_index.mjs" } }, "imports": { "lodash": "/node_modules/lodash-es/lodash.js" } }

    This is achieved by the fact that the merge algorithm tracks already resolved modules and removes rules affecting them from new import maps before they are merged into the existing one.

    When the new import map has conflicting rules to the existing import map, with no impacted already resolved modules, the existing import map rules persist.

    For example, the following existing and new import maps: { "imports": { "/app/helper": "./helper/index.mjs", "lodash": "/node_modules/lodash-es/lodash.js" } } { "imports": { "/app/helper": "./main/helper/index.mjs" } }

    Would be equivalent to the following single import map: { "imports": { "/app/helper": "./helper/index.mjs", "lodash": "/node_modules/lodash-es/lodash.js", } }

    To sort and normalize a module specifier map, given an [45719]ordered map originalMap and a [45720]URL baseURL: 1. Let normalized be an empty [45721]ordered map. 2. [45722]For each specifierKey → value of originalMap: 1. Let normalizedSpecifierKey be the result of [45723]normalizing a specifier key given specifierKey and baseURL. 2. If normalizedSpecifierKey is null, then [45724]continue. 3. If value is not a [45725]string, then: 1. The user agent may [45726]report a warning to the console indicating that addresses need to be strings. 2. Set normalized[normalizedSpecifierKey] to null. 3. [45727]Continue. 4. Let addressURL be the result of [45728]resolving a URL-like module specifier given value and baseURL. 5. If addressURL is null, then: 1. The user agent may [45729]report a warning to the console indicating that the address was invalid. 2. Set normalized[normalizedSpecifierKey] to null. 3. [45730]Continue. 6. If specifierKey ends with U+002F (/), and the [45731]serialization of addressURL does not end with U+002F (/), then: 1. The user agent may [45732]report a warning to the console indicating that an invalid address was given for the specifier key specifierKey; since specifierKey ends with a slash, the address needs to as well. 2. Set normalized[normalizedSpecifierKey] to null. 3. [45733]Continue. 7. Set normalized[normalizedSpecifierKey] to addressURL. 3. Return the result of [45734]sorting in descending order normalized, with an entry a being less than an entry b if a's [45735]key is [45736]code unit less than b's [45737]key.

    To sort and normalize scopes, given an [45738]ordered map originalMap and a [45739]URL baseURL: 1. Let normalized be an empty [45740]ordered map. 2. [45741]For each scopePrefix → potentialSpecifierMap of originalMap: 1. If potentialSpecifierMap is not an [45742]ordered map, then throw a [45743]TypeError indicating that the value of the scope with prefix scopePrefix needs to be a JSON object. 2. Let scopePrefixURL be the result of [45744]URL parsing scopePrefix with baseURL. 3. If scopePrefixURL is failure, then: 1. The user agent may [45745]report a warning to the console that the scope prefix URL was not parseable. 2. [45746]Continue. 4. Let normalizedScopePrefix be the [45747]serialization of scopePrefixURL. 5. Set normalized[normalizedScopePrefix] to the result of [45748]sorting and normalizing a module specifier map given potentialSpecifierMap and baseURL. 3. Return the result of [45749]sorting in descending order normalized, with an entry a being less than an entry b if a's [45750]key is [45751]code unit less than b's [45752]key.

    In the above two algorithms, sorting keys and scopes in descending order has the effect of putting "foo/bar/" before "foo/". This in turn gives "foo/bar/" a higher priority than "foo/" during [45753]module specifier resolution.

    To normalize a module integrity map, given an [45754]ordered map originalMap: 1. Let normalized be an empty [45755]ordered map. 2. [45756]For each key → value of originalMap: 1. Let resolvedURL be the result of [45757]resolving a URL-like module specifier given key and baseURL. Unlike "imports", keys of the integrity map are treated as URLs, not module specifiers. However, we use the [45758]resolve a URL-like module specifier algorithm to prohibit "bare" relative URLs like foo, which could be mistaken for module specifiers. 2. If resolvedURL is null, then: 1. The user agent may [45759]report a warning to the console indicating that the key failed to resolve. 2. [45760]Continue. 3. If value is not a [45761]string, then: 1. The user agent may [45762]report a warning to the console indicating that [45763]integrity metadata values need to be [45764]strings. 2. [45765]Continue. 4. Set normalized[resolvedURL] to value. 3. Return normalized.

    To normalize a specifier key, given a [45766]string specifierKey and a [45767]URL baseURL: 1. If specifierKey is the empty string, then: 1. The user agent may [45768]report a warning to the console indicating that specifier keys may not be the empty string. 2. Return null. 2. Let url be the result of [45769]resolving a URL-like module specifier, given specifierKey and baseURL. 3. If url is not null, then return the [45770]serialization of url. 4. Return specifierKey.

    8.1.6 JavaScript specification host hooks

    The JavaScript specification contains a number of [45771]implementation-defined abstract operations, that vary depending on the host environment. This section defines them for user agent hosts.

    8.1.6.1 HostEnsureCanAddPrivateElement(O)

    JavaScript contains an [45772]implementation-defined [45773]HostEnsureCanAddPrivateElement(O) abstract operation. User agents must use the following implementation: [45774][JAVASCRIPT] 1. If O is a [45775]WindowProxy object, or [45776]implements [45777]Location, then return Completion { [[Type]]: throw, [[Value]]: a new [45778]TypeError }. 2. Return [45779]NormalCompletion(unused).

    JavaScript private fields can be applied to arbitrary objects. Since this can dramatically complicate implementation for particularly-exotic host objects, the JavaScript language specification provides this hook to allow hosts to reject private fields on objects meeting a host-defined criteria. In the case of HTML, [45780]WindowProxy and [45781]Location have complicated semantics — particularly around navigation and security — that make implementation of private field semantics challenging, so our implementation simply rejects those objects.

    8.1.6.2 HostEnsureCanCompileStrings(realm, parameterStrings, bodyString, codeString, compilationType, parameterArgs, bodyArg)

    JavaScript contains an [45782]implementation-defined [45783]HostEnsureCanCompileStrings abstract operation, redefined by the Dynamic Code Brand Checks proposal. User agents must use the following implementation: [45784][JAVASCRIPT] [45785][JSDYNAMICCODEBRANDCHECKS] 1. Perform ? [45786]EnsureCSPDoesNotBlockStringCompilation(realm, parameterStrings, bodyString, codeString, compilationType, parameterArgs, bodyArg). [45787][CSP]

    8.1.6.3 HostGetCodeForEval(argument)

    The Dynamic Code Brand Checks proposal contains an [45788]implementation-defined [45789]HostGetCodeForEval(argument) abstract operation. User agents must use the following implementation: [45790][JSDYNAMICCODEBRANDCHECKS] 1. If argument is a [45791]TrustedScript object, then return argument's [45792]data. 2. Otherwise, return no-code.

    8.1.6.4 HostPromiseRejectionTracker(promise, operation)

    JavaScript contains an [45793]implementation-defined [45794]HostPromiseRejectionTracker(promise, operation) abstract operation. User agents must use the following implementation: [45795][JAVASCRIPT] 1. Let script be the [45796]running script. 2. If script is a [45797]classic script and script's [45798]muted errors is true, then return. 3. Let settingsObject be the [45799]current settings object. 4. If script is not null, then set settingsObject to script's [45800]settings object. 5. Let global be settingsObject's [45801]global object. 6. If operation is "reject", then: 1. [45802]Append promise to global's [45803]about-to-be-notified rejected promises list. 7. If operation is "handle", then: 1. If global's [45804]about-to-be-notified rejected promises list [45805]contains promise, then [45806]remove promise from that list and return. 2. If global's [45807]outstanding rejected promises weak set does not [45808]contain promise, then return. 3. [45809]Remove promise from global's [45810]outstanding rejected promises weak set. 4. [45811]Queue a global task on the [45812]DOM manipulation task source given global to [45813]fire an event named [45814]rejectionhandled at global, using [45815]PromiseRejectionEvent, with the [45816]promise attribute initialized to promise, and the [45817]reason attribute initialized to promise.[[PromiseResult]].

    8.1.6.5 HostSystemUTCEpochNanoseconds(global)

    The Temporal proposal contains an [45818]implementation-defined [45819]HostSystemUTCEpochNanoseconds abstract operation. User agents must use the following implementation: [45820][JSTEMPORAL] 1. Let settingsObject be global's [45821]relevant settings object. 2. Let time be settingsObject's [45822]current wall time. 3. Let ns be the number of nanoseconds from the [45823]Unix epoch to time, rounded to the nearest integer. 4. Return the result of [45824]clamping ns between [45825]nsMinInstant and [45826]nsMaxInstant.

    8.1.6.6 Job-related host hooks

    (BUTTON) ⚠MDN

    [45827]Reference/Global_Objects/Promise#Incumbent_settings_object_track ing

    Support in one engine only. Firefox50+SafariNoChromeNo __________________________________________________________________

    Opera?EdgeNo __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    The JavaScript specification defines Jobs to be scheduled and run later by the host, as well as [45828]JobCallback Records which encapsulate JavaScript functions that are called as part of jobs. The JavaScript specification contains a number of [45829]implementation-defined abstract operations that lets the host define how jobs are scheduled and how JobCallbacks are handled. HTML uses these abstract operations to track the [45830]incumbent settings object in promises and [45831]FinalizationRegistry callbacks by saving and restoring the [45832]incumbent settings object and a [45833]JavaScript execution context for the [45834]active script in JobCallbacks. This section defines them for user agent hosts.

    8.1.6.6.1 HostCallJobCallback(callback, V, argumentsList)

    JavaScript contains an [45835]implementation-defined [45836]HostCallJobCallback(callback, V, argumentsList) abstract operation to let hosts restore state when invoking JavaScript callbacks from inside tasks. User agents must use the following implementation: [45837][JAVASCRIPT] 1. Let incumbent settings be callback.[[HostDefined]].[[IncumbentSettings]]. 2. Let script execution context be callback.[[HostDefined]].[[ActiveScriptContext]]. 3. [45838]Prepare to run a callback with incumbent settings. This affects the [45839]incumbent concept while the callback runs. 4. If script execution context is not null, then [45840]push script execution context onto the [45841]JavaScript execution context stack. This affects the [45842]active script while the callback runs. 5. Let result be [45843]Call(callback.[[Callback]], V, argumentsList). 6. If script execution context is not null, then [45844]pop script execution context from the [45845]JavaScript execution context stack. 7. [45846]Clean up after running a callback with incumbent settings. 8. Return result.

    8.1.6.6.2 HostEnqueueFinalizationRegistryCleanupJob(finalizationRegistry)

    JavaScript has the ability to register objects with [45847]FinalizationRegistry objects, in order to schedule a cleanup action if they are found to be garbage collected. The JavaScript specification contains an [45848]implementation-defined [45849]HostEnqueueFinalizationRegistryCleanupJob(finalizationRegistry) abstract operation to schedule the cleanup action.

    The timing and occurrence of cleanup work is [45850]implementation-defined in the JavaScript specification. User agents might differ in when and whether an object is garbage collected, affecting both whether the return value of the [45851]WeakRef.prototype.deref() method is undefined, and whether [45852]FinalizationRegistry cleanup callbacks occur. There are well-known cases in popular web browsers where objects are not accessible to JavaScript, but they remain retained by the garbage collector indefinitely. HTML clears kept-alive [45853]WeakRef objects in the [45854]perform a microtask checkpoint algorithm. Authors would be best off not depending on the timing details of garbage collection implementations.

    Cleanup actions do not take place interspersed with synchronous JavaScript execution, but rather happen in queued [45855]tasks. User agents must use the following implementation: [45856][JAVASCRIPT] 1. Let global be finalizationRegistry.[[Realm]]'s [45857]global object. 2. [45858]Queue a global task on the JavaScript engine task source given global to perform the following steps: 1. Let entry be finalizationRegistry.[[CleanupCallback]].[[Callback]].[[Realm] ]'s [45859]environment settings object. 2. [45860]Check if we can run script with entry. If this returns "do not run", then return. 3. [45861]Prepare to run script with entry. This affects the [45862]entry concept while the cleanup callback runs. 4. Let result be the result of performing [45863]CleanupFinalizationRegistry(finalizationRegistry). 5. [45864]Clean up after running script with entry. 6. If result is an [45865]abrupt completion, then [45866]report an exception given by result.[[Value]] for global.

    8.1.6.6.3 HostEnqueueGenericJob(job, realm)

    JavaScript contains an [45867]implementation-defined [45868]HostEnqueueGenericJob(job, realm) abstract operation to perform generic jobs in a particular realm (e.g., resolve promises resulting from [45869]Atomics.waitAsync). User agents must use the following implementation: [45870][JAVASCRIPT] 1. Let global be realm's [45871]global object. 2. [45872]Queue a global task on the [45873]JavaScript engine task source given global to perform job().

    8.1.6.6.4 HostEnqueuePromiseJob(job, realm)

    JavaScript contains an [45874]implementation-defined [45875]HostEnqueuePromiseJob(job, realm) abstract operation to schedule Promise-related operations. HTML schedules these operations in the microtask queue. User agents must use the following implementation: [45876][JAVASCRIPT] 1. If realm is not null, then let job settings be the [45877]settings object for realm. Otherwise, let job settings be null. If realm is not null, it is the [45878]realm of the author code that will run. When job is returned by [45879]NewPromiseReactionJob, it is the realm of the promise's handler function. When job is returned by [45880]NewPromiseResolveThenableJob, it is the realm of the then function. If realm is null, either no author code will run or author code is guaranteed to throw. For the former, the author may not have passed in code to run, such as in promise.then(null, null). For the latter, it is because a revoked Proxy was passed. In both cases, all the steps below that would otherwise use job settings get skipped. [45881]NewPromiseResolveThenableJob and [45882]NewPromiseReactionJob both seem to provide non-null realms (the current Realm Record) in the case of a revoked proxy. The previous text could be updated to reflect that. 2. [45883]Queue a microtask to perform the following steps: 1. If job settings is not null, then [45884]check if we can run script with job settings. If this returns "do not run" then return. 2. If job settings is not null, then [45885]prepare to run script with job settings. This affects the [45886]entry concept while the job runs. 3. Let result be job(). job is an [45887]abstract closure returned by [45888]NewPromiseReactionJob or [45889]NewPromiseResolveThenableJob. The promise's handler function when job is returned by [45890]NewPromiseReactionJob, and the then function when job is returned by [45891]NewPromiseResolveThenableJob, are wrapped in [45892]JobCallback Records. HTML saves the [45893]incumbent settings object and a [45894]JavaScript execution context for to the [45895]active script in [45896]HostMakeJobCallback and restores them in [45897]HostCallJobCallback. 4. If job settings is not null, then [45898]clean up after running script with job settings. 5. If result is an [45899]abrupt completion, then [45900]report an exception given by result.[[Value]] for realm's [45901]global object. There is a very gnarly case where HostEnqueuePromiseJob is called with a null realm (e.g., because Promise.prototype.then was called with null handlers) but also the job returns abruptly (because the promise capability's resolve or reject handler threw, possibly because this is a subclass of Promise that takes the supplied functions and wraps them in throwing functions before passing them on to the function passed to the Promise superclass constructor. Which global is to be used then, considering that the current realm could be different at each of those steps, by using a Promise constructor or Promise.prototype.then from another realm? See [45902]issue #10526.

    8.1.6.6.5 HostEnqueueTimeoutJob(job, realm, milliseconds)

    JavaScript contains an [45903]implementation-defined [45904]HostEnqueueTimeoutJob(job, milliseconds) abstract operation to schedule an operation to be performed after a timeout. HTML schedules these operations using [45905]run steps after a timeout. User agents must use the following implementation: [45906][JAVASCRIPT] 1. Let global be realm's [45907]global object. 2. Let timeoutStep be an algorithm step which [45908]queues a global task on the [45909]JavaScript engine task source given global to perform job(). 3. [45910]Run steps after a timeout given global, "JavaScript", milliseconds, and timeoutStep.

    8.1.6.6.6 HostMakeJobCallback(callable)

    JavaScript contains an [45911]implementation-defined [45912]HostMakeJobCallback(callable) abstract operation to let hosts attach state to JavaScript callbacks that are called from inside [45913]tasks. User agents must use the following implementation: [45914][JAVASCRIPT] 1. Let incumbent settings be the [45915]incumbent settings object. 2. Let active script be the [45916]active script. 3. Let script execution context be null. 4. If active script is not null, set script execution context to a new [45917]JavaScript execution context, with its Function field set to null, its Realm field set to active script's [45918]settings object's [45919]realm, and its ScriptOrModule set to active script's [45920]record. As seen below, this is used in order to propagate the current [45921]active script forward to the time when the job callback is invoked. A case where active script is non-null, and saving it in this way is useful, is the following: Promise.resolve(ʼimport(`./example.mjs`)ʼ).then(eval); Without this step (and the steps that use it in [45922]HostCallJobCallback), there would be no [45923]active script when the [45924]import() expression is evaluated, since [45925]eval() is a built-in function that does not originate from any particular [45926]script. With this step in place, the active script is propagated from the above code into the job, allowing [45927]import() to use the original script's [45928]base URL appropriately. active script can be null if the user clicks on the following button: In this case, the JavaScript function for the [45929]event handler will be created by the [45930]get the current value of the event handler algorithm, which creates a function with null [[ScriptOrModule]] value. Thus, when the promise machinery calls [45931]HostMakeJobCallback, there will be no [45932]active script to pass along. As a consequence, this means that when the [45933]import() expression is evaluated, there will still be no [45934]active script. Fortunately that is handled by our implementation of [45935]HostLoadImportedModule by falling back to using the [45936]current settings object's [45937]API base URL. 5. Return the [45938]JobCallback Record { [[Callback]]: callable, [[HostDefined]]: { [[IncumbentSettings]]: incumbent settings, [[ActiveScriptContext]]: script execution context } }.

    8.1.6.7 Module-related host hooks

    The JavaScript specification defines a syntax for modules, as well as some host-agnostic parts of their processing model. This specification defines the rest of their processing model: how the module system is bootstrapped, via the [45939]script element with [45940]type attribute set to "module", and how modules are fetched, resolved, and executed. [45941][JAVASCRIPT]

    Although the JavaScript specification speaks in terms of "scripts" versus "modules", in general this specification speaks in terms of [45942]classic scripts versus [45943]module scripts, since both of them use the [45944]script element.

    modulePromise = [45945]import(specifier) Returns a promise for the module namespace object for the [45946]module script identified by specifier. This allows dynamic importing of module scripts at runtime, instead of statically using the import statement form. The specifier will be [45947]resolved relative to the [45948]active script.

    The returned promise will be rejected if an invalid specifier is given, or if a failure is encountered while [45949]fetching or evaluating the resulting module graph.

    This syntax can be used inside both [45950]classic and [45951]module scripts. It thus provides a bridge into the module-script world, from the classic-script world.

    url = [45952]import.meta.[45953]url Returns the [45954]active module script's [45955]base URL.

    This syntax can only be used inside [45956]module scripts.

    url = [45957]import.meta.[45958]resolve(specifier) Returns specifier, [45959]resolved relative to the [45960]active script. That is, this returns the URL that would be imported by using [45961]import(specifier).

    Throws a [45962]TypeError exception if an invalid specifier is given.

    This syntax can only be used inside [45963]module scripts.

    A module map is a [45964]map keyed by [45965]tuples consisting of a [45966]URL record and a [45967]string. The [45968]URL record is the [45969]request URL at which the module was fetched, and the [45970]string indicates the type of the module (e.g. "javascript-or-wasm"). The [45971]module map's values are either a [45972]module script, null (used to represent failed fetches), or a placeholder value "fetching". [45973]Module maps are used to ensure that imported module scripts are only fetched, parsed, and evaluated once per [45974]Document or [45975]worker.

    Since [45976]module maps are keyed by (URL, module type), the following code will create three separate entries in the [45977]module map, since it results in three different (URL, module type) [45978]tuples (all with "javascript-or-wasm" type): import "https://example.com/module.mjs"; import "https://example.com/module.mjs#map-buster"; import "https://example.com/module.mjs?debug=true";

    That is, URL [45979]queries and [45980]fragments can be varied to create distinct entries in the [45981]module map; they are not ignored. Thus, three separate fetches and three separate module evaluations will be performed.

    In contrast, the following code would only create a single entry in the [45982]module map, since after applying the [45983]URL parser to these inputs, the resulting [45984]URL records are equal: import "https://example.com/module2.mjs"; import "https:example.com/module2.mjs"; import "https://///example.com\\module2.mjs"; import "https://example.com/foo/../module2.mjs";

    So in this second example, only one fetch and one module evaluation will occur.

    Note that this behavior is the same as how [45985]shared workers are keyed by their parsed [45986]constructor url.

    Since module type is also part of the [45987]module map key, the following code will create two separate entries in the [45988]module map (the type is "javascript-or-wasm" for the first, and "css" for the second):

    This can result in two separate fetches and two separate module evaluations being performed.

    In practice, due to the as-yet-unspecified memory cache (see issue [45989]#6110) the resource may only be fetched once in WebKit and Blink-based browsers. Additionally, as long as all module types are mutually exclusive, the module type check in [45990]fetch a single module script will fail for at least one of the imports, so at most one module evaluation will occur.

    The purpose of including the type in the [45991]module map key is so that an import with the wrong type attribute does not prevent a different import of the same specifier but with the correct type from succeeding.

    JavaScript module scripts are the default import type when importing from another JavaScript module; that is, when an import statement lacks a type import attribute the imported module script's type will be JavaScript. Attempting to import a JavaScript resource using an import statement with a type import attribute will fail:

    8.1.6.7.1 HostGetImportMetaProperties(moduleRecord)

    (BUTTON) ✔MDN

    [45992]Reference/Operators/import.meta/resolve

    Support in all current engines. Firefox106+Safari16.4+Chrome105+ __________________________________________________________________

    Opera?Edge105+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [45993]Reference/Operators/import.meta

    Support in all current engines. Firefox62+Safari11.1+Chrome64+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS12+Chrome Android?WebView Android?Samsung Internet?Opera Android?

    JavaScript contains an [45994]implementation-defined [45995]HostGetImportMetaProperties abstract operation. User agents must use the following implementation: [45996][JAVASCRIPT] 1. Let moduleScript be moduleRecord.[[HostDefined]]. 2. [45997]Assert: moduleScript's [45998]base URL is not null, as moduleScript is a [45999]JavaScript module script. 3. Let urlString be moduleScript's [46000]base URL, [46001]serialized. 4. Let steps be the following steps, given the argument specifier: 1. Set specifier to ? [46002]ToString(specifier). 2. Let url be the result of [46003]resolving a module specifier given moduleScript and specifier. 3. Return the [46004]serialization of url. 5. Let resolveFunction be ! [46005]CreateBuiltinFunction(steps, 1, "resolve", « »). 6. Return « [46006]Record { [[Key]]: "url", [[Value]]: urlString }, [46007]Record { [[Key]]: "resolve", [[Value]]: resolveFunction } ».

    8.1.6.7.2 HostGetSupportedImportAttributes()

    JavaScript contains an an [46008]implementation-defined [46009]HostGetSupportedImportAttributes abstract operation. User agents must use the following implementation: [46010][JAVASCRIPT] 1. Return « "type" ».

    8.1.6.7.3 HostLoadImportedModule(referrer, moduleRequest, loadState, payload)

    JavaScript contains an [46011]implementation-defined [46012]HostLoadImportedModule abstract operation. User agents must use the following implementation: [46013][JAVASCRIPT] 1. Let settingsObject be the [46014]current settings object. 2. If settingsObject's [46015]global object implements [46016]WorkletGlobalScope or [46017]ServiceWorkerGlobalScope and loadState is undefined, then: loadState is undefined when the current fetching process has been initiated by a dynamic [46018]import() call, either directly or when loading the transitive dependencies of the dynamically imported module. 1. Let completion be [46019]Completion Record { [[Type]]: throw, [[Value]]: a new [46020]TypeError, [[Target]]: empty }. 2. Perform [46021]FinishLoadingImportedModule(referrer, moduleRequest, payload, completion). 3. Return. 3. Let referencingScript be null. 4. Let originalFetchOptions be the [46022]default script fetch options. 5. Let fetchReferrer be "client". 6. If referrer is a [46023]Script Record or a [46024]Cyclic Module Record, then: 1. Set referencingScript to referrer.[[HostDefined]]. 2. Set settingsObject to referencingScript's [46025]settings object. 3. Set fetchReferrer to referencingScript's [46026]base URL. 4. Set originalFetchOptions to referencingScript's [46027]fetch options. referrer is usually a [46028]Script Record or a [46029]Cyclic Module Record, but it will not be so for event handlers per the [46030]get the current value of the event handler algorithm. For example, given: If a [46031]click event occurs, then at the time the [46032]import() expression runs, [46033]GetActiveScriptOrModule will return null, and this operation will receive the [46034]current realm as a fallback referrer. 7. If referrer is a [46035]Cyclic Module Record and moduleRequest is equal to the first element of referrer.[[RequestedModules]], then: 1. [46036]For each [46037]ModuleRequest record requested of referrer.[[RequestedModules]]: 1. If moduleRequest.[[Attributes]] contains a [46038]Record entry such that entry.[[Key]] is not "type", then: 1. Let completion be [46039]Completion Record { [[Type]]: throw, [[Value]]: a new [46040]SyntaxError exception, [[Target]]: empty }. 2. Perform [46041]FinishLoadingImportedModule(referrer, moduleRequest, payload, completion). 3. Return. The JavaScript specification re-performs this validation but it is duplicated here to avoid unnecessarily loading any of the dependencies on validation failure. 2. [46042]Resolve a module specifier given referencingScript and moduleRequest.[[Specifier]], catching any exceptions. If they throw an exception, let resolutionError be the thrown exception. 3. If the previous step threw an exception, then: 1. Let completion be [46043]Completion Record { [[Type]]: throw, [[Value]]: resolutionError, [[Target]]: empty }. 2. Perform [46044]FinishLoadingImportedModule(referrer, moduleRequest, payload, completion). 3. Return. 4. Let moduleType be the result of running the [46045]module type from module request steps given moduleRequest. 5. If the result of running the [46046]module type allowed steps given moduleType and settingsObject is false, then: 1. Let completion be [46047]Completion Record { [[Type]]: throw, [[Value]]: a new [46048]TypeError exception, [[Target]]: empty }. 2. Perform [46049]FinishLoadingImportedModule(referrer, moduleRequest, payload, completion). 3. Return. This step is essentially validating all of the requested module specifiers and type attributes when the first call to [46050]HostLoadImportedModule for a static module dependency list is made, to avoid further loading operations in the case any one of the dependencies has a static error. We treat a module with unresolvable module specifiers or unsupported type attributes the same as one that cannot be parsed; in both cases, a syntactic issue makes it impossible to ever contemplate linking the module later. 8. Let url be the result of [46051]resolving a module specifier given referencingScript and moduleRequest.[[Specifier]], catching any exceptions. If they throw an exception, let resolutionError be the thrown exception. 9. If the previous step threw an exception, then: 1. Let completion be [46052]Completion Record { [[Type]]: throw, [[Value]]: resolutionError, [[Target]]: empty }. 2. Perform [46053]FinishLoadingImportedModule(referrer, moduleRequest, payload, completion). 3. Return. 10. Let fetchOptions be the result of [46054]getting the descendant script fetch options given originalFetchOptions, url, and settingsObject. 11. Let destination be "script". 12. Let fetchClient be settingsObject. 13. If loadState is not undefined, then: 1. Set destination to loadState.[[Destination]]. 2. Set fetchClient to loadState.[[FetchClient]]. 14. [46055]Fetch a single imported module script given url, fetchClient, destination, fetchOptions, settingsObject, fetchReferrer, moduleRequest, and onSingleFetchComplete as defined below. If loadState is not undefined and loadState.[[PerformFetch]] is not null, pass loadState.[[PerformFetch]] along as well. onSingleFetchComplete given moduleScript is the following algorithm: 1. Let completion be null. 2. If moduleScript is null, then set completion to [46056]Completion Record { [[Type]]: throw, [[Value]]: a new [46057]TypeError, [[Target]]: empty }. 3. Otherwise, if moduleScript's [46058]parse error is not null, then: 1. Let parseError be moduleScript's [46059]parse error. 2. Set completion to [46060]Completion Record { [[Type]]: throw, [[Value]]: parseError, [[Target]]: empty }. 3. If loadState is not undefined and loadState.[[ParseError]] is null, set loadState.[[ParseError]] to parseError. 4. Otherwise, set completion to [46061]Completion Record { [[Type]]: normal, [[Value]]: moduleScript's [46062]record, [[Target]]: empty }. 5. Perform [46063]FinishLoadingImportedModule(referrer, moduleRequest, payload, completion).

    8.1.7 Event loops

    8.1.7.1 Definitions

    To coordinate events, user interaction, scripts, rendering, networking, and so forth, user agents must use event loops as described in this section. Each [46064]agent has an associated event loop, which is unique to that agent.

    The [46065]event loop of a [46066]similar-origin window agent is known as a window event loop. The [46067]event loop of a [46068]dedicated worker agent, [46069]shared worker agent, or [46070]service worker agent is known as a worker event loop. And the [46071]event loop of a [46072]worklet agent is known as a worklet event loop.

    [46073]Event loops do not necessarily correspond to implementation threads. For example, multiple [46074]window event loops could be cooperatively scheduled in a single thread.

    However, for the various worker [46075]agents that are allocated with [[CanBlock]] set to true, the JavaScript specification does place requirements on them regarding [46076]forward progress, which effectively amount to requiring dedicated per-agent threads in those cases. __________________________________________________________________

    An [46077]event loop has one or more task queues. A [46078]task queue is a [46079]set of [46080]tasks.

    [46081]Task queues are [46082]sets, not [46083]queues, because the [46084]event loop processing model grabs the first [46085]runnable [46086]task from the chosen queue, instead of [46087]dequeuing the first task.

    The [46088]microtask queue is not a [46089]task queue.

    Tasks encapsulate algorithms that are responsible for such work as:

    Events Dispatching an [46090]Event object at a particular [46091]EventTarget object is often done by a dedicated task.

    Not all events are dispatched using the [46092]task queue; many are dispatched during other tasks.

    Parsing The [46093]HTML parser tokenizing one or more bytes, and then processing any resulting tokens, is typically a task.

    Callbacks Calling a callback is often done by a dedicated task.

    Using a resource When an algorithm [46094]fetches a resource, if the fetching occurs in a non-blocking fashion then the processing of the resource once some or all of the resource is available is performed by a task.

    Reacting to DOM manipulation Some elements have tasks that trigger in response to DOM manipulation, e.g. when that element is [46095]inserted into the document.

    Formally, a task is a [46096]struct which has:

    Steps A series of steps specifying the work to be done by the task.

    A source One of the [46097]task sources, used to group and serialize related tasks.

    A document A [46098]Document associated with the task, or null for tasks that are not in a [46099]window event loop.

    A script evaluation environment settings object set A [46100]set of [46101]environment settings objects used for tracking script evaluation during the task.

    A [46102]task is runnable if its [46103]document is either null or [46104]fully active.

    Per its [46105]source field, each [46106]task is defined as coming from a specific task source. For each [46107]event loop, every [46108]task source must be associated with a specific [46109]task queue.

    Essentially, [46110]task sources are used within standards to separate logically-different types of tasks, which a user agent might wish to distinguish between. [46111]Task queues are used by user agents to coalesce task sources within a given [46112]event loop.

    For example, a user agent could have one [46113]task queue for mouse and key events (to which the [46114]user interaction task source is associated), and another to which all other [46115]task sources are associated. Then, using the freedom granted in the initial step of the [46116]event loop processing model, it could give keyboard and mouse events preference over other tasks three-quarters of the time, keeping the interface responsive but not starving other task queues. Note that in this setup, the processing model still enforces that the user agent would never process events from any one [46117]task source out of order. __________________________________________________________________

    Each [46118]event loop has a currently running task, which is either a [46119]task or null. Initially, this is null. It is used to handle reentrancy.

    Each [46120]event loop has a microtask queue, which is a [46121]queue of [46122]microtasks, initially empty. A microtask is a colloquial way of referring to a [46123]task that was created via the [46124]queue a microtask algorithm.

    Each [46125]event loop has a performing a microtask checkpoint boolean, which is initially false. It is used to prevent reentrant invocation of the [46126]perform a microtask checkpoint algorithm.

    Each [46127]window event loop has a [46128]DOMHighResTimeStamp last render opportunity time, initially set to zero.

    Each [46129]window event loop has a [46130]DOMHighResTimeStamp last idle period start time, initially set to zero.

    To get the same-loop windows for a [46131]window event loop loop, return all [46132]Window objects whose [46133]relevant agent's [46134]event loop is loop.

    8.1.7.2 Queuing tasks

    To queue a task on a [46135]task source source, which performs a series of steps steps, optionally given an event loop event loop and a document document: 1. If event loop was not given, set event loop to the [46136]implied event loop. 2. If document was not given, set document to the [46137]implied document. 3. Let task be a new [46138]task. 4. Set task's [46139]steps to steps. 5. Set task's [46140]source to source. 6. Set task's [46141]document to the document. 7. Set task's [46142]script evaluation environment settings object set to an empty [46143]set. 8. Let queue be the [46144]task queue to which source is associated on event loop. 9. [46145]Append task to queue.

    Failing to pass an event loop and document to [46146]queue a task means relying on the ambiguous and poorly-specified [46147]implied event loop and [46148]implied document concepts. Specification authors should either always pass these values, or use the wrapper algorithms [46149]queue a global task or [46150]queue an element task instead. Using the wrapper algorithms is recommended.

    To queue a global task on a [46151]task source source, with a [46152]global object global and a series of steps steps: 1. Let event loop be global's [46153]relevant agent's [46154]event loop. 2. Let document be global's [46155]associated Document, if global is a [46156]Window object; otherwise null. 3. [46157]Queue a task given source, event loop, document, and steps.

    To queue an element task on a [46158]task source source, with an element element and a series of steps steps: 1. Let global be element's [46159]relevant global object. 2. [46160]Queue a global task given source, global, and steps.

    To queue a microtask which performs a series of steps steps, optionally given a document document: 1. [46161]Assert: there is a [46162]surrounding agent. I.e., this algorithm is not called while [46163]in parallel. 2. Let eventLoop be the [46164]surrounding agent's [46165]event loop. 3. If document was not given, set document to the [46166]implied document. 4. Let microtask be a new [46167]task. 5. Set microtask's [46168]steps to steps. 6. Set microtask's [46169]source to the microtask task source. 7. Set microtask's [46170]document to document. 8. Set microtask's [46171]script evaluation environment settings object set to an empty [46172]set. 9. [46173]Enqueue microtask on eventLoop's [46174]microtask queue.

    It is possible for a [46175]microtask to be moved to a regular [46176]task queue, if, during its initial execution, it [46177]spins the event loop. This is the only case in which the [46178]source, [46179]document, and [46180]script evaluation environment settings object set of the microtask are consulted; they are ignored by the [46181]perform a microtask checkpoint algorithm.

    The implied event loop when queuing a task is the one that can deduced from the context of the calling algorithm. This is generally unambiguous, as most specification algorithms only ever involve a single [46182]agent (and thus a single [46183]event loop). The exception is algorithms involving or specifying cross-agent communication (e.g., between a window and a worker); for those cases, the [46184]implied event loop concept must not be relied upon and specifications must explicitly provide an [46185]event loop when [46186]queuing a task.

    The implied document when queuing a task on an [46187]event loop event loop is determined as follows: 1. If event loop is not a [46188]window event loop, then return null. 2. If the task is being queued in the context of an element, then return the element's [46189]node document. 3. If the task is being queued in the context of a [46190]browsing context, then return the browsing context's [46191]active document. 4. If the task is being queued by or for a [46192]script, then return the script's [46193]settings object's [46194]global object's [46195]associated Document. 5. [46196]Assert: this step is never reached, because one of the previous conditions is true. Really?

    Both [46197]implied event loop and [46198]implied document are vaguely-defined and have a lot of action-at-a-distance. The hope is to remove these, especially [46199]implied document. See [46200]issue #4980.

    8.1.7.3 Processing model

    An [46201]event loop must continually run through the following steps for as long as it exists: 1. Let oldestTask and taskStartTime be null. 2. If the [46202]event loop has a [46203]task queue with at least one [46204]runnable [46205]task, then: 1. Let taskQueue be one such [46206]task queue, chosen in an [46207]implementation-defined manner. Remember that the [46208]microtask queue is not a [46209]task queue, so it will not be chosen in this step. However, a [46210]task queue to which the [46211]microtask task source is associated might be chosen in this step. In that case, the [46212]task chosen in the next step was originally a [46213]microtask, but it got moved as part of [46214]spinning the event loop. 2. Set taskStartTime to the [46215]unsafe shared current time. 3. Set oldestTask to the first [46216]runnable [46217]task in taskQueue, and [46218]remove it from taskQueue. 4. If oldestTask's [46219]document is not null, then [46220]record task start time given taskStartTime and oldestTask's [46221]document. 5. Set the [46222]event loop's [46223]currently running task to oldestTask. 6. Perform oldestTask's [46224]steps. 7. Set the [46225]event loop's [46226]currently running task back to null. 8. [46227]Perform a microtask checkpoint. 3. Let taskEndTime be the [46228]unsafe shared current time. [46229][HRT] 4. If oldestTask is not null, then: 1. Let top-level browsing contexts be an empty [46230]set. 2. For each [46231]environment settings object settings of oldestTask's [46232]script evaluation environment settings object set: 1. Let global be settings's [46233]global object. 2. If global is not a [46234]Window object, then [46235]continue. 3. If global's [46236]browsing context is null, then [46237]continue. 4. Let tlbc be global's [46238]browsing context's [46239]top-level browsing context. 5. If tlbc is not null, then [46240]append it to top-level browsing contexts. 3. [46241]Report long tasks, passing in taskStartTime, taskEndTime, top-level browsing contexts, and oldestTask. 4. If oldestTask's [46242]document is not null, then [46243]record task end time given taskEndTime and oldestTask's [46244]document. 5. If this is a [46245]window event loop that has no [46246]runnable [46247]task in this [46248]event loop's [46249]task queues, then: 1. Set this [46250]event loop's [46251]last idle period start time to the [46252]unsafe shared current time. 2. Let computeDeadline be the following steps: 1. Let deadline be this [46253]event loop's [46254]last idle period start time plus 50. The cap of 50ms in the future is to ensure responsiveness to new user input within the threshold of human perception. 2. Let hasPendingRenders be false. 3. For each windowInSameLoop of the [46255]same-loop windows for this [46256]event loop: 1. If windowInSameLoop's [46257]map of animation frame callbacks is not [46258]empty, or if the user agent believes that the windowInSameLoop might have pending rendering updates, set hasPendingRenders to true. 2. Let timerCallbackEstimates be the result of [46259]getting the values of windowInSameLoop's [46260]map of active timers. 3. For each timeoutDeadline of timerCallbackEstimates, if timeoutDeadline is less than deadline, set deadline to timeoutDeadline. 4. If hasPendingRenders is true, then: 1. Let nextRenderDeadline be this [46261]event loop's [46262]last render opportunity time plus (1000 divided by the current refresh rate). The refresh rate can be hardware- or implementation-specific. For a refresh rate of 60Hz, the nextRenderDeadline would be about 16.67ms after the [46263]last render opportunity time. 2. If nextRenderDeadline is less than deadline, then return nextRenderDeadline. 5. Return deadline. 3. For each win of the [46264]same-loop windows for this [46265]event loop, perform the [46266]start an idle period algorithm for win with the following step: return the result of calling computeDeadline, [46267]coarsened given win's [46268]relevant settings object's [46269]cross-origin isolated capability. [46270][REQUESTIDLECALLBACK] 6. If this is a [46271]worker event loop, then: 1. If this [46272]event loop's [46273]agent's single [46274]realm's [46275]global object is a [46276]supported [46277]DedicatedWorkerGlobalScope and the user agent believes that it would benefit from having its rendering updated at this time, then: 1. Let now be the [46278]current high resolution time given the [46279]DedicatedWorkerGlobalScope. [46280][HRT] 2. [46281]Run the animation frame callbacks for that [46282]DedicatedWorkerGlobalScope, passing in now as the timestamp. 3. Update the rendering of that dedicated worker to reflect the current state. Similar to the notes for [46283]updating the rendering in a [46284]window event loop, a user agent can determine the rate of rendering in the dedicated worker. 2. If there are no [46285]tasks in the [46286]event loop's [46287]task queues and the [46288]WorkerGlobalScope object's [46289]closing flag is true, then destroy the [46290]event loop, aborting these steps, resuming the [46291]run a worker steps described in the [46292]Web workers section below.

    A [46293]window event loop eventLoop must also run the following [46294]in parallel, as long as it exists: 1. Wait until at least one [46295]navigable whose [46296]active document's [46297]relevant agent's [46298]event loop is eventLoop might have a [46299]rendering opportunity. 2. Set eventLoop's [46300]last render opportunity time to the [46301]unsafe shared current time. 3. For each navigable that has a [46302]rendering opportunity, [46303]queue a global task on the [46304]rendering task source given navigable's [46305]active window to update the rendering: This might cause redundant calls to [46306]update the rendering. However, these calls would have no observable effect because there will be no rendering necessary, as per the Unnecessary rendering step. Implementations can introduce further optimizations such as only queuing this task when it is not already queued. However, note that the document associated with the task might become inactive before the task is processed. 1. Let frameTimestamp be eventLoop's [46307]last render opportunity time. 2. Let docs be all [46308]fully active [46309]Document objects whose [46310]relevant agent's [46311]event loop is eventLoop, sorted arbitrarily except that the following conditions must be met: o Any [46312]Document B whose [46313]container document is A must be listed after A in the list. o If there are two documents A and B that both have the same non-null [46314]container document C, then the order of A and B in the list must match the [46315]shadow-including tree order of their respective [46316]navigable containers in C's [46317]node tree. In the steps below that iterate over docs, each [46318]Document must be processed in the order it is found in the list. 3. Filter non-renderable documents: Remove from docs any [46319]Document object doc for which any of the following are true: o doc is [46320]render-blocked; o doc's [46321]visibility state is "hidden"; o doc's rendering is [46322]suppressed for view transitions; or o doc's [46323]node navigable doesn't currently have a [46324]rendering opportunity. We have to check for rendering opportunities here, in addition to checking that in the [46325]in parallel steps, as some documents that share the same [46326]event loop might not have a [46327]rendering opportunity at the same time. 4. Unnecessary rendering: Remove from docs any [46328]Document object doc for which all of the following are true: o the user agent believes that updating the rendering of doc's [46329]node navigable would have no visible effect; and o doc's [46330]map of animation frame callbacks is empty. 5. Remove from docs all [46331]Document objects for which the user agent believes that it's preferable to skip updating the rendering for other reasons. The step labeled Filter non-renderable documents prevents the user agent from updating the rendering when it is unable to present new content to the user. The step labeled Unnecessary rendering prevents the user agent from updating the rendering when there's no new content to draw. This step enables the user agent to prevent the steps below from running for other reasons, for example, to ensure certain [46332]tasks are executed immediately after each other, with only [46333]microtask checkpoints interleaved (and without, e.g., [46334]animation frame callbacks interleaved). Concretely, a user agent might wish to coalesce timer callbacks together, with no intermediate rendering updates. 6. For each doc of docs, [46335]reveal doc. 7. For each doc of docs, [46336]flush autofocus candidates for doc if its [46337]node navigable is a [46338]top-level traversable. 8. For each doc of docs, [46339]run the resize steps for doc. [46340][CSSOMVIEW] 9. For each doc of docs, [46341]run the scroll steps for doc. [46342][CSSOMVIEW] 10. For each doc of docs, [46343]evaluate media queries and report changes for doc. [46344][CSSOMVIEW] 11. For each doc of docs, [46345]update animations and send events for doc, passing in [46346]relative high resolution time given frameTimestamp and doc's [46347]relevant global object as the timestamp [46348][WEBANIMATIONS] 12. For each doc of docs, [46349]run the fullscreen steps for doc. [46350][FULLSCREEN] 13. For each doc of docs, if the user agent detects that the backing storage associated with a [46351]CanvasRenderingContext2D or an [46352]OffscreenCanvasRenderingContext2D, context, has been lost, then it must run the context lost steps for each such context: 1. Let canvas be the value of context's [46353]canvas attribute, if context is a [46354]CanvasRenderingContext2D, or the [46355]associated OffscreenCanvas object for context otherwise. 2. Set context's [46356]context lost to true. 3. [46357]Reset the rendering context to its default state given context. 4. Let shouldRestore be the result of [46358]firing an event named [46359]contextlost at canvas, with the [46360]cancelable attribute initialized to true. 5. If shouldRestore is false, then abort these steps. 6. Attempt to restore context by creating a backing storage using context's attributes and associating them with context. If this fails, then abort these steps. 7. Set context's [46361]context lost to false. 8. [46362]Fire an event named [46363]contextrestored at canvas. 14. For each doc of docs, [46364]run the animation frame callbacks for doc, passing in the [46365]relative high resolution time given frameTimestamp and doc's [46366]relevant global object as the timestamp. 15. Let unsafeStyleAndLayoutStartTime be the [46367]unsafe shared current time. 16. For each doc of docs: 1. Let resizeObserverDepth be 0. 2. While true: 1. Recalculate styles and update layout for doc. 2. Let hadInitialVisibleContentVisibilityDetermination be false. 3. For each element element with [46368]'auto' used value of [46369]'content-visibility': 1. Let checkForInitialDetermination be true if element's [46370]proximity to the viewport is not determined and it is not [46371]relevant to the user. Otherwise, let checkForInitialDetermination be false. 2. Determine [46372]proximity to the viewport for element. 3. If checkForInitialDetermination is true and element is now [46373]relevant to the user, then set hadInitialVisibleContentVisibilityDetermination to true. 4. If hadInitialVisibleContentVisibilityDetermination is true, then [46374]continue. The intent of this step is for the initial viewport proximity determination, which takes effect immediately, to be reflected in the style and layout calculation which is carried out in a previous step of this loop. Proximity determinations other than the initial one take effect at the next [46375]rendering opportunity. [46376][CSSCONTAIN] 5. [46377]Gather active resize observations at depth resizeObserverDepth for doc. 6. If doc [46378]has active resize observations: 1. Set resizeObserverDepth to the result of [46379]broadcasting active resize observations given doc. 2. [46380]Continue. 7. Otherwise, [46381]break. 3. If doc [46382]has skipped resize observations, then [46383]deliver resize loop error given doc. 17. For each doc of docs, if the [46384]focused area of doc is not a [46385]focusable area, then run the [46386]focusing steps for doc's [46387]viewport, and set doc's [46388]relevant global object's [46389]navigation API's [46390]focus changed during ongoing navigation to false. For example, this might happen because an element has the [46391]hidden attribute added, causing it to stop [46392]being rendered. It might also happen to an [46393]input element when the element gets [46394]disabled. This will [46395]usually fire [46396]blur events, and possibly [46397]change events. In addition to this asynchronous fixup, if the [46398]focused area of the document is removed, there is a [46399]synchronous fixup. That one will not fire [46400]blur or [46401]change events. 18. For each doc of docs, [46402]perform pending transition operations for doc. [46403][CSSVIEWTRANSITIONS] 19. For each doc of docs, [46404]run the update intersection observations steps for doc, passing in the [46405]relative high resolution time given now and doc's [46406]relevant global object as the timestamp. [46407][INTERSECTIONOBSERVER] 20. For each doc of docs, [46408]record rendering time for doc given unsafeStyleAndLayoutStartTime. 21. For each doc of docs, [46409]mark paint timing for doc. 22. For each doc of docs, update the rendering or user interface of doc and its [46410]node navigable to reflect the current state. 23. For each doc of docs, [46411]process top layer removals given doc.

    A [46412]navigable has a rendering opportunity if the user agent is currently able to present the contents of the [46413]navigable to the user, accounting for hardware refresh rate constraints and user agent throttling for performance reasons, but considering content presentable even if it's outside the viewport.

    A [46414]navigable's [46415]rendering opportunities are determined based on hardware constraints such as display refresh rates and other factors such as page performance or whether its [46416]active document's [46417]visibility state is "visible". Rendering opportunities typically occur at regular intervals.

    This specification does not mandate any particular model for selecting rendering opportunities. But for example, if the browser is attempting to achieve a 60Hz refresh rate, then rendering opportunities occur at a maximum of every 60th of a second (about 16.7ms). If the browser finds that a [46418]navigable is not able to sustain this rate, it might drop to a more sustainable 30 rendering opportunities per second for that [46419]navigable, rather than occasionally dropping frames. Similarly, if a [46420]navigable is not visible, the user agent might decide to drop that page to a much slower 4 rendering opportunities per second, or even less. __________________________________________________________________

    When a user agent is to perform a microtask checkpoint: 1. If the [46421]event loop's [46422]performing a microtask checkpoint is true, then return. 2. Set the [46423]event loop's [46424]performing a microtask checkpoint to true. 3. While the [46425]event loop's [46426]microtask queue is not [46427]empty: 1. Let oldestMicrotask be the result of [46428]dequeuing from the [46429]event loop's [46430]microtask queue. 2. Set the [46431]event loop's [46432]currently running task to oldestMicrotask. 3. Run oldestMicrotask. This might involve invoking scripted callbacks, which eventually calls the [46433]clean up after running script steps, which call this [46434]perform a microtask checkpoint algorithm again, which is why we use the [46435]performing a microtask checkpoint flag to avoid reentrancy. 4. Set the [46436]event loop's [46437]currently running task back to null. 4. For each [46438]environment settings object settingsObject whose [46439]responsible event loop is this [46440]event loop, [46441]notify about rejected promises given settingsObject's [46442]global object. 5. [46443]Cleanup Indexed Database transactions. 6. Perform [46444]ClearKeptObjects(). When [46445]WeakRef.prototype.deref() returns an object, that object is kept alive until the next invocation of [46446]ClearKeptObjects(), after which it is again subject to garbage collection. 7. Set the [46447]event loop's [46448]performing a microtask checkpoint to false. 8. [46449]Record timing info for microtask checkpoint. __________________________________________________________________

    When an algorithm running [46450]in parallel is to await a stable state, the user agent must [46451]queue a microtask that runs the following steps, and must then stop executing (execution of the algorithm resumes when the microtask is run, as described in the following steps): 1. Run the algorithm's synchronous section. 2. Resume execution of the algorithm [46452]in parallel, if appropriate, as described in the algorithm's steps.

    Steps in [46453]synchronous sections are marked with ⌛. __________________________________________________________________

    Algorithm steps that say to spin the event loop until a condition goal is met are equivalent to substituting in the following algorithm steps: 1. Let task be the [46454]event loop's [46455]currently running task. task could be a [46456]microtask. 2. Let task source be task's [46457]source. 3. Let old stack be a copy of the [46458]JavaScript execution context stack. 4. Empty the [46459]JavaScript execution context stack. 5. [46460]Perform a microtask checkpoint. If task is a [46461]microtask this step will be a no-op due to [46462]performing a microtask checkpoint being true. 6. [46463]In parallel: 1. Wait until the condition goal is met. 2. [46464]Queue a task on task source to: 1. Replace the [46465]JavaScript execution context stack with old stack. 2. Perform any steps that appear after this [46466]spin the event loop instance in the original algorithm. This resumes task. 7. Stop task, allowing whatever algorithm that invoked it to resume. This causes the [46467]event loop's main set of steps or the [46468]perform a microtask checkpoint algorithm to continue.

    Unlike other algorithms in this and other specifications, which behave similar to programming-language function calls, [46469]spin the event loop is more like a macro, which saves typing and indentation at the usage site by expanding into a series of steps and operations.

    An algorithm whose steps are: 1. Do something. 2. [46470]Spin the event loop until awesomeness happens. 3. Do something else.

    is a shorthand which, after "macro expansion", becomes 1. Do something. 2. Let old stack be a copy of the [46471]JavaScript execution context stack. 3. Empty the [46472]JavaScript execution context stack. 4. [46473]Perform a microtask checkpoint. 5. [46474]In parallel: 1. Wait until awesomeness happens. 2. [46475]Queue a task on the task source in which "do something" was done to: 1. Replace the [46476]JavaScript execution context stack with old stack. 2. Do something else.

    Here is a more full example of the substitution, where the event loop is spun from inside a task that is queued from work in parallel. The version using [46477]spin the event loop: 1. [46478]In parallel: 1. Do parallel thing 1. 2. [46479]Queue a task on the [46480]DOM manipulation task source to: 1. Do task thing 1. 2. [46481]Spin the event loop until awesomeness happens. 3. Do task thing 2. 3. Do parallel thing 2.

    The fully expanded version: 1. [46482]In parallel: 1. Do parallel thing 1. 2. Let old stack be null. 3. [46483]Queue a task on the [46484]DOM manipulation task source to: 1. Do task thing 1. 2. Set old stack to a copy of the [46485]JavaScript execution context stack. 3. Empty the [46486]JavaScript execution context stack. 4. [46487]Perform a microtask checkpoint. 4. Wait until awesomeness happens. 5. [46488]Queue a task on the [46489]DOM manipulation task source to: 1. Replace the [46490]JavaScript execution context stack with old stack. 2. Do task thing 2. 6. Do parallel thing 2. __________________________________________________________________

    Some of the algorithms in this specification, for historical reasons, require the user agent to pause while running a [46491]task until a condition goal is met. This means running the following steps: 1. Let global be the [46492]current global object. 2. Let timeBeforePause be the [46493]current high resolution time given global. 3. If necessary, update the rendering or user interface of any [46494]Document or [46495]navigable to reflect the current state. 4. Wait until the condition goal is met. While a user agent has a paused [46496]task, the corresponding [46497]event loop must not run further [46498]tasks, and any script in the currently running [46499]task must block. User agents should remain responsive to user input while paused, however, albeit in a reduced capacity since the [46500]event loop will not be doing anything. 5. [46501]Record pause duration given the [46502]duration from timeBeforePause to the [46503]current high resolution time given global.

    [46504]Pausing is highly detrimental to the user experience, especially in scenarios where a single [46505]event loop is shared among multiple documents. User agents are encouraged to experiment with alternatives to [46506]pausing, such as [46507]spinning the event loop or even simply proceeding without any kind of suspended execution at all, insofar as it is possible to do so while preserving compatibility with existing content. This specification will happily change if a less-drastic alternative is discovered to be web-compatible.

    In the interim, implementers should be aware that the variety of alternatives that user agents might experiment with can change subtle aspects of [46508]event loop behavior, including [46509]task and [46510]microtask timing. Implementations should continue experimenting even if doing so causes them to violate the exact semantics implied by the [46511]pause operation.

    8.1.7.4 Generic task sources

    The following [46512]task sources are used by a number of mostly unrelated features in this and other specifications.

    The DOM manipulation task source This [46513]task source is used for features that react to DOM manipulations, such as things that happen in a non-blocking fashion when an element is [46514]inserted into the document.

    The user interaction task source This [46515]task source is used for features that react to user interaction, for example keyboard or mouse input.

    Events sent in response to user input (e.g. [46516]click events) must be fired using [46517]tasks [46518]queued with the [46519]user interaction task source. [46520][UIEVENTS]

    The networking task source This [46521]task source is used for features that trigger in response to network activity.

    The navigation and traversal task source This [46522]task source is used to queue tasks involved in [46523]navigation and [46524]history traversal.

    The rendering task source This [46525]task source is used solely to [46526]update the rendering.

    8.1.7.5 Dealing with the event loop from other specifications

    Writing specifications that correctly interact with the [46527]event loop can be tricky. This is compounded by how this specification uses concurrency-model-independent terminology, so we say things like "[46528]event loop" and "[46529]in parallel" instead of using more familiar model-specific terms like "main thread" or "on a background thread".

    By default, specification text generally runs on the [46530]event loop. This falls out from the formal [46531]event loop processing model, in that you can eventually trace most algorithms back to a [46532]task [46533]queued there.

    The algorithm steps for any JavaScript method will be invoked by author code calling that method. And author code can only be run via queued tasks, usually originating somewhere in the [46534]script processing model.

    From this starting point, the overriding guideline is that any work a specification needs to perform that would otherwise block the [46535]event loop must instead be performed [46536]in parallel with it. This includes (but is not limited to): * performing heavy computation; * displaying a user-facing prompt; * performing operations which could require involving outside systems (i.e. "going out of process").

    The next complication is that, in algorithm sections that are [46537]in parallel, you must not create or manipulate objects associated to a specific [46538]realm, [46539]global, or [46540]environment settings object. (Stated in more familiar terms, you must not directly access main-thread artifacts from a background thread.) Doing so would create data races observable to JavaScript code, since after all, your algorithm steps are running [46541]in parallel to the JavaScript code.

    By extension, you cannot access Web IDL's [46542]this value from steps running [46543]in parallel, even if those steps were activated by an algorithm that does have access to the [46544]this value.

    You can, however, manipulate specification-level data structures and values from Infra, as those are realm-agnostic. They are never directly exposed to JavaScript without a specific conversion taking place (often [46545]via Web IDL). [46546][INFRA] [46547][WEBIDL]

    To affect the world of observable JavaScript objects, then, you must [46548]queue a global task to perform any such manipulations. This ensures your steps are properly interleaved with respect to other things happening on the [46549]event loop. Furthermore, you must choose a [46550]task source when [46551]queuing a global task; this governs the relative order of your steps versus others. If you are unsure which [46552]task source to use, pick one of the [46553]generic task sources that sounds most applicable. Finally, you must indicate which [46554]global object your queued task is associated with; this ensures that if that global object is inactive, the task does not run.

    The base primitive, on which [46555]queue a global task builds, is the [46556]queue a task algorithm. In general, [46557]queue a global task is better because it automatically picks the right [46558]event loop and, where appropriate, [46559]document. Older specifications often use [46560]queue a task combined with the [46561]implied event loop and [46562]implied document concepts, but this is discouraged.

    Putting this all together, we can provide a template for a typical algorithm that needs to do work asynchronously: 1. Do any synchronous setup work, while still on the [46563]event loop. This may include converting [46564]realm-specific JavaScript values into realm-agnostic specification-level values. 2. Perform a set of potentially-expensive steps [46565]in parallel, operating entirely on realm-agnostic values, and producing a realm-agnostic result. 3. [46566]Queue a global task, on a specified [46567]task source and given an appropriate [46568]global object, to convert the realm-agnostic result back into observable effects on the observable world of JavaScript objects on the [46569]event loop.

    The following is an algorithm that "encrypts" a passed-in [46570]list of [46571]scalar value strings input, after parsing them as URLs: 1. Let urls be an empty [46572]list. 2. [46573]For each string of input: 1. Let parsed be the result of [46574]encoding-parsing a URL given string, relative to the [46575]current settings object. 2. If parsed is failure, then return [46576]a promise rejected with a [46577]"SyntaxError" [46578]DOMException. 3. Let serialized be the result of applying the [46579]URL serializer to parsed. 4. [46580]Append serialized to urls. 3. Let realm be the [46581]current realm. 4. Let p be a new promise. 5. Run the following steps [46582]in parallel: 1. Let encryptedURLs be an empty [46583]list. 2. [46584]For each url of urls: 1. Wait 100 milliseconds, so that people think we're doing heavy-duty encryption. 2. Let encrypted be a new [46585]string derived from url, whose nth [46586]code unit is equal to url's nth [46587]code unit plus 13. 3. [46588]Append encrypted to encryptedURLs. 3. [46589]Queue a global task on the [46590]networking task source, given realm's [46591]global object, to perform the following steps: 1. Let array be the result of [46592]converting encryptedURLs to a JavaScript array, in realm. 2. Resolve p with array. 6. Return p.

    Here are several things to notice about this algorithm: * It does its URL parsing up front, on the [46593]event loop, before going to the [46594]in parallel steps. This is necessary, since parsing depends on the [46595]current settings object, which would no longer be current after going [46596]in parallel. * Alternately, it could have saved a reference to the [46597]current settings object's [46598]API base URL and used it during the [46599]in parallel steps; that would have been equivalent. However, we recommend instead doing as much work as possible up front, as this example does. Attempting to save the correct values can be error prone; for example, if we'd saved just the [46600]current settings object, instead of its [46601]API base URL, there would have been a potential race. * It implicitly passes a [46602]list of [46603]strings from the initial steps to the [46604]in parallel steps. This is OK, as both [46605]lists and [46606]strings are [46607]realm-agnostic. * It performs "expensive computation" (waiting for 100 milliseconds per input URL) during the [46608]in parallel steps, thus not blocking the main [46609]event loop. * Promises, as observable JavaScript objects, are never created and manipulated during the [46610]in parallel steps. p is created before entering those steps, and then is manipulated during a [46611]task that is [46612]queued specifically for that purpose. * The creation of a JavaScript array object also happens during the queued task, and is careful to specify which realm it creates the array in since that is no longer obvious from context.

    (On these last two points, see also [46613]whatwg/webidl issue #135 and [46614]whatwg/webidl issue #371, where we are still mulling over the subtleties of the above promise-resolution pattern.)

    Another thing to note is that, in the event this algorithm was called from a Web IDL-specified operation taking a sequence<[46615]USVString>, there was an automatic conversion from [46616]realm-specific JavaScript objects provided by the author as input, into the realm-agnostic sequence<[46617]USVString> Web IDL type, which we then treat as a [46618]list of [46619]scalar value strings. So depending on how your specification is structured, there may be other implicit steps happening on the main [46620]event loop that play a part in this whole process of getting you ready to go [46621]in parallel.

    8.1.8 Events

    8.1.8.1 Event handlers

    (BUTTON) MDN

    [46622]Events/Event_handlers

    Many objects can have event handlers specified. These act as non-capture [46623]event listeners for the object on which they are specified. [46624][DOM]

    An [46625]event handler is a [46626]struct with two [46627]items: * a value, which is either null, a callback object, or an [46628]internal raw uncompiled handler. The [46629]EventHandler callback function type describes how this is exposed to scripts. Initially, an [46630]event handler's [46631]value must be set to null. * a listener, which is either null or an [46632]event listener responsible for running [46633]the event handler processing algorithm. Initially, an [46634]event handler's [46635]listener must be set to null.

    Event handlers are exposed in two ways.

    The first way, common to all event handlers, is as an [46636]event handler IDL attribute.

    The second way is as an [46637]event handler content attribute. Event handlers on [46638]HTML elements and some of the event handlers on [46639]Window objects are exposed in this way.

    For both of these two ways, the [46640]event handler is exposed through a name, which is a string that always starts with "on" and is followed by the name of the event for which the handler is intended. __________________________________________________________________

    Most of the time, the object that exposes an [46641]event handler is the same as the object on which the corresponding [46642]event listener is added. However, the [46643]body and [46644]frameset elements expose several [46645]event handlers that act upon the element's [46646]Window object, if one exists. In either case, we call the object an [46647]event handler acts upon the target of that [46648]event handler.

    To determine the target of an event handler, given an [46649]EventTarget object eventTarget on which the [46650]event handler is exposed, and an [46651]event handler name name, the following steps are taken: 1. If eventTarget is not a [46652]body element or a [46653]frameset element, then return eventTarget. 2. If name is not the name of an attribute member of the [46654]WindowEventHandlers interface mixin and the [46655]Window-reflecting body element event handler set does not [46656]contain name, then return eventTarget. 3. If eventTarget's [46657]node document is not an [46658]active document, then return null. This could happen if this object is a [46659]body element without a corresponding [46660]Window object, for example. This check does not necessarily prevent [46661]body and [46662]frameset elements that are not [46663]the body element of their [46664]node document from reaching the next step. In particular, a [46665]body element created in an [46666]active document (perhaps with [46667]document.createElement()) but not [46668]connected will also have its corresponding [46669]Window object as the [46670]target of several [46671]event handlers exposed through it. 4. Return eventTarget's [46672]node document's [46673]relevant global object. __________________________________________________________________

    Each [46674]EventTarget object that has one or more [46675]event handlers specified has an associated event handler map, which is a [46676]map of strings representing [46677]names of [46678]event handlers to [46679]event handlers.

    When an [46680]EventTarget object that has one or more [46681]event handlers specified is created, its [46682]event handler map must be initialized such that it contains an [46683]entry for each [46684]event handler that has that object as [46685]target, with [46686]items in those [46687]event handlers set to their initial values.

    The order of the [46688]entries of [46689]event handler map could be arbitrary. It is not observable through any algorithms that operate on the map.

    [46690]Entries are not created in the [46691]event handler map of an object for [46692]event handlers that are merely exposed on that object, but have some other object as their [46693]targets. __________________________________________________________________

    An event handler IDL attribute is an IDL attribute for a specific [46694]event handler. The name of the IDL attribute is the same as the [46695]name of the [46696]event handler.

    The getter of an [46697]event handler IDL attribute with name name, when called, must run these steps: 1. Let eventTarget be the result of [46698]determining the target of an event handler given this object and name. 2. If eventTarget is null, then return null. 3. Return the result of [46699]getting the current value of the event handler given eventTarget and name.

    The setter of an [46700]event handler IDL attribute with name name, when called, must run these steps: 1. Let eventTarget be the result of [46701]determining the target of an event handler given this object and name. 2. If eventTarget is null, then return. 3. If the given value is null, then [46702]deactivate an event handler given eventTarget and name. 4. Otherwise: 1. Let handlerMap be eventTarget's [46703]event handler map. 2. Let eventHandler be handlerMap[name]. 3. Set eventHandler's [46704]value to the given value. 4. [46705]Activate an event handler given eventTarget and name.

    Certain [46706]event handler IDL attributes have additional requirements, in particular the [46707]onmessage attribute of [46708]MessagePort objects. __________________________________________________________________

    An event handler content attribute is a content attribute for a specific [46709]event handler. The name of the content attribute is the same as the [46710]name of the [46711]event handler.

    [46712]Event handler content attributes, when specified, must contain valid JavaScript code which, when parsed, would match the [46713]FunctionBody production after [46714]automatic semicolon insertion.

    The following [46715]attribute change steps are used to synchronize between [46716]event handler content attributes and [46717]event handlers: [46718][DOM] 1. If namespace is not null, or localName is not the name of an [46719]event handler content attribute on element, then return. 2. Let eventTarget be the result of [46720]determining the target of an event handler given element and localName. 3. If eventTarget is null, then return. 4. If value is null, then [46721]deactivate an event handler given eventTarget and localName. 5. Otherwise: 1. If the [46722]Should element's inline behavior be blocked by Content Security Policy? algorithm returns "Blocked" when executed upon element, "script attribute", and value, then return. [46723][CSP] 2. Let handlerMap be eventTarget's [46724]event handler map. 3. Let eventHandler be handlerMap[localName]. 4. Let location be the script location that triggered the execution of these steps. 5. Set eventHandler's [46725]value to the [46726]internal raw uncompiled handler value/location. 6. [46727]Activate an event handler given eventTarget and localName.

    Per the DOM Standard, these steps are run even if oldValue and value are identical (setting an attribute to its current value), but not if oldValue and value are both null (removing an attribute that doesn't currently exist). [46728][DOM] __________________________________________________________________

    To deactivate an event handler given an [46729]EventTarget object eventTarget and a string name that is the [46730]name of an [46731]event handler, run these steps: 1. Let handlerMap be eventTarget's [46732]event handler map. 2. Let eventHandler be handlerMap[name]. 3. Set eventHandler's [46733]value to null. 4. Let listener be eventHandler's [46734]listener. 5. If listener is not null, then [46735]remove an event listener with eventTarget and listener. 6. Set eventHandler's [46736]listener to null.

    To erase all event listeners and handlers given an [46737]EventTarget object eventTarget, run these steps: 1. If eventTarget has an associated [46738]event handler map, then for each name → eventHandler of eventTarget's associated [46739]event handler map, [46740]deactivate an event handler given eventTarget and name. 2. [46741]Remove all event listeners given eventTarget.

    This algorithm is used to define [46742]document.open().

    To activate an event handler given an [46743]EventTarget object eventTarget and a string name that is the [46744]name of an [46745]event handler, run these steps: 1. Let handlerMap be eventTarget's [46746]event handler map. 2. Let eventHandler be handlerMap[name]. 3. If eventHandler's [46747]listener is not null, then return. 4. Let callback be the result of creating a Web IDL [46748]EventListener instance representing a reference to a function of one argument that executes the steps of [46749]the event handler processing algorithm, given eventTarget, name, and its argument. The [46750]EventListener's [46751]callback context can be arbitrary; it does not impact the steps of [46752]the event handler processing algorithm. [46753][DOM] The callback is emphatically not the [46754]event handler itself. Every event handler ends up registering the same callback, the algorithm defined below, which takes care of invoking the right code, and processing the code's return value. 5. Let listener be a new [46755]event listener whose [46756]type is the event handler event type corresponding to eventHandler and [46757]callback is callback. To be clear, an [46758]event listener is different from an [46759]EventListener. 6. [46760]Add an event listener with eventTarget and listener. 7. Set eventHandler's [46761]listener to listener.

    The event listener registration happens only if the [46762]event handler's [46763]value is being set to non-null, and the [46764]event handler is not already activated. Since listeners are called in the order they were registered, assuming no [46765]deactivation occurred, the order of event listeners for a particular event type will always be: 1. the event listeners registered with [46766]addEventListener() before the first time the [46767]event handler's [46768]value was set to non-null 2. then the callback to which it is currently set, if any 3. and finally the event listeners registered with [46769]addEventListener() after the first time the [46770]event handler's [46771]value was set to non-null.

    This example demonstrates the order in which event listeners are invoked. If the button in this example is clicked by the user, the page will show four alerts, with the text "ONE", "TWO", "THREE", and "FOUR" respectively.

    However, in the following example, the event handler is [46772]deactivated after its initial activation (and its event listener is removed), before being reactivated at a later time. The page will show five alerts with "ONE", "TWO", "THREE", "FOUR", and "FIVE" respectively, in order.

    The interfaces implemented by the event object do not influence whether an [46773]event handler is triggered or not.

    The event handler processing algorithm for an [46774]EventTarget object eventTarget, a string name representing the [46775]name of an [46776]event handler, and an [46777]Event object event is as follows: 1. Let callback be the result of [46778]getting the current value of the event handler given eventTarget and name. 2. If callback is null, then return. 3. Let special error event handling be true if event is an [46779]ErrorEvent object, event's [46780]type is "[46781]error", and event's [46782]currentTarget implements the [46783]WindowOrWorkerGlobalScope mixin. Otherwise, let special error event handling be false. 4. Process the [46784]Event object event as follows:

    If special error event handling is true Let return value be the result of [46785]invoking callback with « event's [46786]message, event's [46787]filename, event's [46788]lineno, event's [46789]colno, event's [46790]error », "rethrow", and with [46791]callback this value set to event's [46792]currentTarget.

    Otherwise Let return value be the result of [46793]invoking callback with « event », "rethrow", and with [46794]callback this value set to event's [46795]currentTarget.

    If an exception gets thrown by the callback, it will be rethrown, ending these steps. The exception will propagate to the [46796]DOM event dispatch logic, which will then [46797]report it. 5. Process return value as follows:

    If event is a [46798]BeforeUnloadEvent object and event's [46799]type is "[46800]beforeunload" In this case, the [46801]event handler IDL attribute's type will be [46802]OnBeforeUnloadEventHandler, so return value will have been coerced into either null or a [46803]DOMString.

    If return value is not null, then:

    1. Set event's [46804]canceled flag. 2. If event's [46805]returnValue attribute's value is the empty string, then set event's [46806]returnValue attribute's value to return value.

    If special error event handling is true If return value is true, then set event's [46807]canceled flag.

    Otherwise If return value is false, then set event's [46808]canceled flag.

    If we've gotten to this "Otherwise" clause because event's [46809]type is "[46810]beforeunload" but event is not a [46811]BeforeUnloadEvent object, then return value will never be false, since in such cases return value will have been coerced into either null or a [46812]DOMString. __________________________________________________________________

    The [46813]EventHandler callback function type represents a callback used for event handlers. It is represented in Web IDL as follows: [[46814]LegacyTreatNonObjectAsNull] callback EventHandlerNonNull = any ([46815]Event event); typedef [46816]EventHandlerNonNull? EventHandler;

    In JavaScript, any [46817]Function object implements this interface.

    For example, the following document fragment:

    ...leads to an alert saying "[object Window]" when the document is loaded, and an alert saying "[object HTMLBodyElement]" whenever the user clicks something in the page.

    The return value of the function affects whether the event is canceled or not: as described above, if the return value is false, the event is canceled.

    There are two exceptions in the platform, for historical reasons: * The [46818]onerror handlers on global objects, where returning true cancels the event. * The [46819]onbeforeunload handler, where returning any non-null and non-undefined value will cancel the event.

    For historical reasons, the [46820]onerror handler has different arguments: [[46821]LegacyTreatNonObjectAsNull] callback OnErrorEventHandlerNonNull = any (([46822]Event or DOMString) event, op tional DOMString source, optional unsigned long lineno, optional unsigned long c olno, optional any error); typedef [46823]OnErrorEventHandlerNonNull? OnErrorEventHandler;

    window.onerror = (message, source, lineno, colno, error) => { … };

    Similarly, the [46824]onbeforeunload handler has a different return value: [[46825]LegacyTreatNonObjectAsNull] callback OnBeforeUnloadEventHandlerNonNull = DOMString? ([46826]Event event); typedef [46827]OnBeforeUnloadEventHandlerNonNull? OnBeforeUnloadEventHandler; __________________________________________________________________

    An internal raw uncompiled handler is a tuple with the following information: * An uncompiled script body * A location where the script body originated, in case an error needs to be reported

    When the user agent is to get the current value of the event handler given an [46828]EventTarget object eventTarget and a string name that is the [46829]name of an [46830]event handler, it must run these steps: 1. Let handlerMap be eventTarget's [46831]event handler map. 2. Let eventHandler be handlerMap[name]. 3. If eventHandler's [46832]value is an [46833]internal raw uncompiled handler, then: 1. If eventTarget is an element, then let element be eventTarget, and document be element's [46834]node document. Otherwise, eventTarget is a [46835]Window object, let element be null, and document be eventTarget's [46836]associated Document. 2. If [46837]scripting is disabled for document, then return null. 3. Let body be the uncompiled script body in eventHandler's [46838]value. 4. Let location be the location where the script body originated, as given by eventHandler's [46839]value. 5. If element is not null and element has a [46840]form owner, let form owner be that [46841]form owner. Otherwise, let form owner be null. 6. Let settings object be the [46842]relevant settings object of document. 7. If body is not parsable as [46843]FunctionBody or if parsing detects an [46844]early error, then follow these substeps: 1. Set eventHandler's [46845]value to null. This does not [46846]deactivate the event handler, which additionally [46847]removes the event handler's [46848]listener (if present). 2. Let syntaxError be a new [46849]SyntaxError exception associated with settings object's [46850]realm which describes the error while parsing. It should be based on location, where the script body originated. 3. [46851]Report an exception with syntaxError for settings object's [46852]global object. 4. Return null. 8. Push settings object's [46853]realm execution context onto the [46854]JavaScript execution context stack; it is now the [46855]running JavaScript execution context. This is necessary so the subsequent invocation of [46856]OrdinaryFunctionCreate takes place in the correct [46857]realm. 9. Let function be the result of calling [46858]OrdinaryFunctionCreate, with arguments:

    functionPrototype [46859]%Function.prototype%

    sourceText

    If name is [46860]onerror and eventTarget is a [46861]Window object The string formed by concatenating "function ", name, "(event, source, lineno, colno, error) {", U+000A LF, body, U+000A LF, and "}".

    Otherwise The string formed by concatenating "function ", name, "(event) {", U+000A LF, body, U+000A LF, and "}".

    ParameterList

    If name is [46862]onerror and eventTarget is a [46863]Window object Let the function have five arguments, named event, source, lineno, colno, and error.

    Otherwise Let the function have a single argument called event.

    body The result of parsing body above.

    thisMode non-lexical-this

    scope

    1. Let realm be settings object's [46864]realm. 2. Let scope be realm.[[GlobalEnv]]. 3. If eventHandler is an element's [46865]event handler, then set scope to [46866]NewObjectEnvironment(document, true, scope). (Otherwise, eventHandler is a [46867]Window object's [46868]event handler.) 4. If form owner is not null, then set scope to [46869]NewObjectEnvironment(form owner, true, scope). 5. If element is not null, then set scope to [46870]NewObjectEnvironment(element, true, scope). 6. Return scope.

    10. Remove settings object's [46871]realm execution context from the [46872]JavaScript execution context stack. 11. Set function.[[ScriptOrModule]] to null. This is done because the default behavior, of associating the created function with the nearest [46873]script on the stack, can lead to path-dependent results. For example, an event handler which is first invoked by user interaction would end up with null [[ScriptOrModule]] (since then this algorithm would be first invoked when the [46874]active script is null), whereas one that is first invoked by dispatching an event from script would have its [[ScriptOrModule]] set to that script. Instead, we just always set [[ScriptOrModule]] to null. This is more intuitive anyway; the idea that the first script which dispatches an event is somehow responsible for the event handler code is dubious. In practice, this only affects the resolution of relative URLs via [46875]import(), which consult the [46876]base URL of the associated script. Nulling out [[ScriptOrModule]] means that [46877]HostLoadImportedModule will fall back to the [46878]current settings object's [46879]API base URL. 12. Set eventHandler's [46880]value to the result of creating a Web IDL [46881]EventHandler callback function object whose object reference is function and whose [46882]callback context is settings object. 4. Return eventHandler's [46883]value.

    8.1.8.2 Event handlers on elements, [46884]Document objects, and [46885]Window objects

    The following are the [46886]event handlers (and their corresponding [46887]event handler event types) that must be supported by all [46888]HTML elements, as both [46889]event handler content attributes and [46890]event handler IDL attributes; and that must be supported by all [46891]Document and [46892]Window objects, as [46893]event handler IDL attributes:

    [46894]Event handler [46895]Event handler event type onabort (BUTTON) ✔MDN

    [46896]HTMLMediaElement/abort_event

    Support in all current engines. Firefox9+Safari3.1+Chrome3+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ abort onauxclick (BUTTON) MDN

    [46897]Element/auxclick_event Firefox53+SafariNoChrome55+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android53+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [46898]auxclick onbeforeinput [46899]beforeinput onbeforematch [46900]beforematch onbeforetoggle [46901]beforetoggle oncancel (BUTTON) ✔MDN

    [46902]HTMLDialogElement/cancel_event

    Support in all current engines. Firefox98+Safari15.4+Chrome37+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome AndroidNoWebView Android?Samsung Internet?Opera Android? [46903]cancel oncanplay (BUTTON) ✔MDN

    [46904]HTMLMediaElement/canplay_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [46905]canplay oncanplaythrough (BUTTON) ✔MDN

    [46906]HTMLMediaElement/canplaythrough_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [46907]canplaythrough onchange (BUTTON) ✔MDN

    [46908]HTMLElement/change_event

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera9+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ [46909]change onclick (BUTTON) ✔MDN

    [46910]Element/click_event

    Support in all current engines. Firefox6+Safari3+Chrome1+ __________________________________________________________________

    Opera11.6+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android6+Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [46911]click onclose [46912]close oncommand [46913]command oncontextlost [46914]contextlost oncontextmenu [46915]contextmenu oncontextrestored [46916]contextrestored oncopy (BUTTON) ✔MDN

    [46917]Element/copy_event

    Support in all current engines. Firefox22+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [46918]copy oncuechange (BUTTON) ✔MDN

    [46919]HTMLTrackElement/cuechange_event

    Support in all current engines. Firefox68+Safari10+Chrome32+ __________________________________________________________________

    Opera19+Edge79+ __________________________________________________________________

    Edge (Legacy)14+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android4.4.3+Samsung Internet?Opera Android19+ [46920]cuechange oncut (BUTTON) ✔MDN

    [46921]Element/cut_event

    Support in all current engines. Firefox22+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [46922]cut ondblclick (BUTTON) ✔MDN

    [46923]Element/dblclick_event

    Support in all current engines. Firefox6+Safari3+Chrome1+ __________________________________________________________________

    Opera11.6+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer8+ __________________________________________________________________

    Firefox Android6+Safari iOS1+Chrome AndroidNoWebView Android?Samsung Internet?Opera Android12.1+ [46924]dblclick ondrag [46925]drag ondragend [46926]dragend ondragenter [46927]dragenter ondragleave [46928]dragleave ondragover [46929]dragover ondragstart [46930]dragstart ondrop [46931]drop ondurationchange (BUTTON) ✔MDN

    [46932]HTMLMediaElement/durationchange_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [46933]durationchange onemptied (BUTTON) ✔MDN

    [46934]HTMLMediaElement/emptied_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [46935]emptied onended (BUTTON) ✔MDN

    [46936]HTMLMediaElement/ended_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [46937]ended onformdata [46938]formdata oninput (BUTTON) ✔MDN

    [46939]HTMLElement/input_event

    Support in all current engines. Firefox6+Safari3.1+Chrome1+ __________________________________________________________________

    Opera11.6+Edge79+ __________________________________________________________________

    Edge (Legacy)NoInternet Explorer🔰 9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+ [46940]input oninvalid [46941]invalid onkeydown (BUTTON) ✔MDN

    [46942]Element/keydown_event

    Support in all current engines. Firefox6+Safari1.2+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [46943]keydown onkeypress [46944]keypress onkeyup (BUTTON) ✔MDN

    [46945]Element/keyup_event

    Support in all current engines. Firefox6+Safari1.2+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [46946]keyup onloadeddata (BUTTON) ✔MDN

    [46947]HTMLMediaElement/loadeddata_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [46948]loadeddata onloadedmetadata (BUTTON) ✔MDN

    [46949]HTMLMediaElement/loadedmetadata_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [46950]loadedmetadata onloadstart (BUTTON) ✔MDN

    [46951]HTMLMediaElement/loadstart_event

    Support in all current engines. Firefox6+Safari4+Chrome3+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [46952]loadstart onmousedown (BUTTON) ✔MDN

    [46953]Element/mousedown_event

    Support in all current engines. Firefox6+Safari4+Chrome2+ __________________________________________________________________

    Opera11.6+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ [46954]mousedown onmouseenter (BUTTON) ✔MDN

    [46955]Element/mouseenter_event

    Support in all current engines. Firefox10+Safari7+Chrome30+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android? [46956]mouseenter onmouseleave (BUTTON) ✔MDN

    [46957]Element/mouseleave_event

    Support in all current engines. Firefox10+Safari7+Chrome30+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer5.5+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android? [46958]mouseleave onmousemove (BUTTON) ✔MDN

    [46959]Element/mousemove_event

    Support in all current engines. Firefox6+Safari4+Chrome2+ __________________________________________________________________

    Opera11.6+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ [46960]mousemove onmouseout (BUTTON) ✔MDN

    [46961]Element/mouseout_event

    Support in all current engines. Firefox6+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ [46962]mouseout onmouseover (BUTTON) ✔MDN

    [46963]Element/mouseover_event

    Support in all current engines. Firefox6+Safari4+Chrome2+ __________________________________________________________________

    Opera9.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+ [46964]mouseover onmouseup (BUTTON) ✔MDN

    [46965]Element/mouseup_event

    Support in all current engines. Firefox6+Safari4+Chrome2+ __________________________________________________________________

    Opera11.6+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ [46966]mouseup onpaste (BUTTON) ✔MDN

    [46967]Element/paste_event

    Support in all current engines. Firefox22+Safari3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ [46968]paste onpause (BUTTON) ✔MDN

    [46969]HTMLMediaElement/pause_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [46970]pause onplay (BUTTON) ✔MDN

    [46971]HTMLMediaElement/play_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [46972]play onplaying (BUTTON) ✔MDN

    [46973]HTMLMediaElement/playing_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [46974]playing onprogress (BUTTON) ✔MDN

    [46975]HTMLMediaElement/progress_event

    Support in all current engines. Firefox6+Safari3.1+Chrome3+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [46976]progress onratechange (BUTTON) ✔MDN

    [46977]HTMLMediaElement/ratechange_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [46978]ratechange onreset [46979]reset onscrollend (BUTTON) MDN

    [46980]Document/scrollend_event Firefox109+SafariNoChrome114+ __________________________________________________________________

    Opera?Edge114+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

    [46981]Element/scrollend_event Firefox109+SafariNoChrome114+ __________________________________________________________________

    Opera?Edge114+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [46982]scrollend onsecuritypolicyviolation (BUTTON) ✔MDN

    [46983]Element/securitypolicyviolation_event

    Support in all current engines. Firefox63+Safari10+Chrome41+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)15+Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [46984]securitypolicyviolation onseeked (BUTTON) ✔MDN

    [46985]HTMLMediaElement/seeked_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [46986]seeked onseeking (BUTTON) ✔MDN

    [46987]HTMLMediaElement/seeking_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [46988]seeking onselect (BUTTON) ✔MDN

    [46989]HTMLInputElement/select_event

    Support in all current engines. Firefox6+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [46990]HTMLTextAreaElement/select_event

    Support in all current engines. Firefox6+Safari1+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [46991]select onslotchange (BUTTON) ✔MDN

    [46992]HTMLSlotElement/slotchange_event

    Support in all current engines. Firefox63+Safari10.1+Chrome53+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [46993]slotchange onstalled (BUTTON) ✔MDN

    [46994]HTMLMediaElement/stalled_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [46995]stalled onsubmit (BUTTON) ✔MDN

    [46996]HTMLFormElement/submit_event

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera8+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ [46997]submit onsuspend (BUTTON) ✔MDN

    [46998]HTMLMediaElement/suspend_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [46999]suspend ontimeupdate (BUTTON) ✔MDN

    [47000]HTMLMediaElement/timeupdate_event

    Support in all current engines. Firefox3.5+Safari3.1+Chrome3+ __________________________________________________________________

    Opera10.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [47001]timeupdate ontoggle [47002]toggle onvolumechange (BUTTON) ✔MDN

    [47003]HTMLMediaElement/volumechange_event

    Support in all current engines. Firefox6+Safari3.1+Chrome3+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ [47004]volumechange onwaiting (BUTTON) ✔MDN

    [47005]HTMLMediaElement/waiting_event

    Support in all current engines. Firefox6+Safari3.1+Chrome3+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ [47006]waiting onwebkitanimationend webkitAnimationEnd onwebkitanimationiteration webkitAnimationIteration onwebkitanimationstart webkitAnimationStart onwebkittransitionend webkitTransitionEnd onwheel (BUTTON) ✔MDN

    [47007]Element/wheel_event

    Support in all current engines. Firefox17+Safari7+Chrome31+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOSNoChrome Android?WebView Android?Samsung Internet?Opera Android? [47008]wheel __________________________________________________________________

    The following are the [47009]event handlers (and their corresponding [47010]event handler event types) that must be supported by all [47011]HTML elements other than [47012]body and [47013]frameset elements, as both [47014]event handler content attributes and [47015]event handler IDL attributes; that must be supported by all [47016]Document objects, as [47017]event handler IDL attributes; and that must be supported by all [47018]Window objects, as [47019]event handler IDL attributes on the [47020]Window objects themselves, and with corresponding [47021]event handler content attributes and [47022]event handler IDL attributes exposed on all [47023]body and [47024]frameset elements that are owned by that [47025]Window object's [47026]associated Document:

    [47027]Event handler [47028]Event handler event type onblur (BUTTON) ✔MDN

    [47029]Element/blur_event

    Support in all current engines. Firefox24+Safari3.1+Chrome1+ __________________________________________________________________

    Opera11.6+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [47030]Window/blur_event

    Support in all current engines. Firefox6+Safari5.1+Chrome5+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer11 __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ [47031]blur onerror (BUTTON) ✔MDN

    [47032]Window/error_event

    Support in all current engines. Firefox6+Safari5.1+Chrome10+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android? [47033]error onfocus (BUTTON) ✔MDN

    [47034]Element/focus_event

    Support in all current engines. Firefox24+Safari3.1+Chrome1+ __________________________________________________________________

    Opera11.6+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    [47035]Window/focus_event

    Support in all current engines. Firefox6+Safari5.1+Chrome5+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer11 __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ [47036]focus onload [47037]load onresize [47038]resize onscroll (BUTTON) ✔MDN

    [47039]Document/scroll_event

    Support in all current engines. Firefox6+Safari2+Chrome1+ __________________________________________________________________

    Opera11.6+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+

    [47040]Element/scroll_event

    Support in all current engines. Firefox6+Safari1.3+Chrome1+ __________________________________________________________________

    Opera12.1+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [47041]scroll

    We call the [47042]set of the [47043]names of the [47044]event handlers listed in the first column of this table the Window-reflecting body element event handler set. __________________________________________________________________

    The following are the [47045]event handlers (and their corresponding [47046]event handler event types) that must be supported by [47047]Window objects, as [47048]event handler IDL attributes on the [47049]Window objects themselves, and with corresponding [47050]event handler content attributes and [47051]event handler IDL attributes exposed on all [47052]body and [47053]frameset elements that are owned by that [47054]Window object's [47055]associated Document:

    [47056]Event handler [47057]Event handler event type onafterprint (BUTTON) ✔MDN

    [47058]Window/afterprint_event

    Support in all current engines. Firefox6+Safari13+Chrome63+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [47059]afterprint onbeforeprint (BUTTON) ✔MDN

    [47060]Window/beforeprint_event

    Support in all current engines. Firefox6+Safari13+Chrome63+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [47061]beforeprint onbeforeunload (BUTTON) ✔MDN

    [47062]Window/beforeunload_event

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera12+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12+ [47063]beforeunload onhashchange (BUTTON) ✔MDN

    [47064]Window/hashchange_event

    Support in all current engines. Firefox3.6+Safari5+Chrome8+ __________________________________________________________________

    Opera10.6+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer8+ __________________________________________________________________

    Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [47065]hashchange onlanguagechange (BUTTON) ✔MDN

    [47066]Window/languagechange_event

    Support in all current engines. Firefox32+Safari10.1+Chrome37+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android4+Safari iOS?Chrome Android?WebView Android?Samsung Internet4.0+Opera Android? [47067]languagechange onmessage (BUTTON) ✔MDN

    [47068]Window/message_event

    Support in all current engines. Firefox9+Safari4+Chrome60+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer8+ __________________________________________________________________

    Firefox Android?Safari iOS4+Chrome Android?WebView Android?Samsung Internet?Opera Android47+ [47069]message onmessageerror (BUTTON) ✔MDN

    [47070]HTMLMediaElement/error_event

    Support in all current engines. Firefox6+Safari3.1+Chrome3+ __________________________________________________________________

    Opera11.6+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android?Samsung Internet?Opera Android12+

    [47071]Window/messageerror_event

    Support in all current engines. Firefox57+Safari16.4+Chrome60+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)18Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android47+ [47072]messageerror onoffline (BUTTON) ✔MDN

    [47073]Window/offline_event

    Support in all current engines. Firefox9+Safari4+Chrome3+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android? [47074]offline ononline (BUTTON) ✔MDN

    [47075]Window/online_event

    Support in all current engines. Firefox9+Safari4+Chrome3+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android? [47076]online onpageswap [47077]pageswap onpagehide [47078]pagehide onpagereveal [47079]pagereveal onpageshow [47080]pageshow onpopstate (BUTTON) ✔MDN

    [47081]Window/popstate_event

    Support in all current engines. Firefox4+Safari5+Chrome5+ __________________________________________________________________

    Opera11.5+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android11.5+ [47082]popstate onrejectionhandled (BUTTON) ✔MDN

    [47083]Window/rejectionhandled_event

    Support in all current engines. Firefox69+Safari11+Chrome49+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS11.3+Chrome Android?WebView Android?Samsung Internet?Opera Android? [47084]rejectionhandled onstorage (BUTTON) ✔MDN

    [47085]Window/storage_event

    Support in all current engines. Firefox45+Safari4+Chrome1+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)15+Internet Explorer9+ __________________________________________________________________

    Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android? [47086]storage onunhandledrejection (BUTTON) ✔MDN

    [47087]Window/unhandledrejection_event

    Support in all current engines. Firefox69+Safari11+Chrome49+ __________________________________________________________________

    Opera?Edge79+ __________________________________________________________________

    Edge (Legacy)?Internet ExplorerNo __________________________________________________________________

    Firefox Android?Safari iOS11.3+Chrome Android?WebView Android?Samsung Internet?Opera Android? [47088]unhandledrejection onunload (BUTTON) ✔MDN

    [47089]Window/unload_event

    Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________

    Opera4+Edge79+ __________________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ [47090]unload

    This list of [47091]event handlers is reified as [47092]event handler IDL attributes through the [47093]WindowEventHandlers interface mixin. __________________________________________________________________

    The following are the [47094]event handlers (and their corresponding [47095]event handler event types) that must be supported on [47096]Document objects as [47097]event handler IDL attributes:

    [47098]Event handler [47099]Event handler event type onreadystatechange [47100]readystatechange onvisibilitychange (BUTTON) ✔MDN

    [47101]Document/visibilitychange_event

    Support in all current engines. Firefox56+Safari14.1+Chrome62+ __________________________________________________________________

    Opera49+Edge79+ __________________________________________________________________

    Edge (Legacy)18Internet Explorer🔰 10+ __________________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android62+Samsung Internet?Opera Android46+ [47102]visibilitychange

    8.1.8.2.1 IDL definitions

    interface mixin GlobalEventHandlers { attribute [47103]EventHandler [47104]onabort; attribute [47105]EventHandler [47106]onauxclick; attribute [47107]EventHandler [47108]onbeforeinput; attribute [47109]EventHandler [47110]onbeforematch; attribute [47111]EventHandler [47112]onbeforetoggle; attribute [47113]EventHandler [47114]onblur; attribute [47115]EventHandler [47116]oncancel; attribute [47117]EventHandler [47118]oncanplay; attribute [47119]EventHandler [47120]oncanplaythrough; attribute [47121]EventHandler [47122]onchange; attribute [47123]EventHandler [47124]onclick; attribute [47125]EventHandler [47126]onclose; attribute [47127]EventHandler [47128]oncommand; attribute [47129]EventHandler [47130]oncontextlost; attribute [47131]EventHandler [47132]oncontextmenu; attribute [47133]EventHandler [47134]oncontextrestored; attribute [47135]EventHandler [47136]oncopy; attribute [47137]EventHandler [47138]oncuechange; attribute [47139]EventHandler [47140]oncut; attribute [47141]EventHandler [47142]ondblclick; attribute [47143]EventHandler [47144]ondrag; attribute [47145]EventHandler [47146]ondragend; attribute [47147]EventHandler [47148]ondragenter; attribute [47149]EventHandler [47150]ondragleave; attribute [47151]EventHandler [47152]ondragover; attribute [47153]EventHandler [47154]ondragstart; attribute [47155]EventHandler [47156]ondrop; attribute [47157]EventHandler [47158]ondurationchange; attribute [47159]EventHandler [47160]onemptied; attribute [47161]EventHandler [47162]onended; attribute [47163]OnErrorEventHandler [47164]onerror; attribute [47165]EventHandler [47166]onfocus; attribute [47167]EventHandler [47168]onformdata; attribute [47169]EventHandler [47170]oninput; attribute [47171]EventHandler [47172]oninvalid; attribute [47173]EventHandler [47174]onkeydown; attribute [47175]EventHandler [47176]onkeypress; attribute [47177]EventHandler [47178]onkeyup; attribute [47179]EventHandler [47180]onload; attribute [47181]EventHandler [47182]onloadeddata; attribute [47183]EventHandler [47184]onloadedmetadata; attribute [47185]EventHandler [47186]onloadstart; attribute [47187]EventHandler [47188]onmousedown; [[47189]LegacyLenientThis] attribute [47190]EventHandler [47191]onmouseenter; [[47192]LegacyLenientThis] attribute [47193]EventHandler [47194]onmouseleave; attribute [47195]EventHandler [47196]onmousemove; attribute [47197]EventHandler [47198]onmouseout; attribute [47199]EventHandler [47200]onmouseover; attribute [47201]EventHandler [47202]onmouseup; attribute [47203]EventHandler [47204]onpaste; attribute [47205]EventHandler [47206]onpause; attribute [47207]EventHandler [47208]onplay; attribute [47209]EventHandler [47210]onplaying; attribute [47211]EventHandler [47212]onprogress; attribute [47213]EventHandler [47214]onratechange; attribute [47215]EventHandler [47216]onreset; attribute [47217]EventHandler [47218]onresize; attribute [47219]EventHandler [47220]onscroll; attribute [47221]EventHandler [47222]onscrollend; attribute [47223]EventHandler [47224]onsecuritypolicyviolation; attribute [47225]EventHandler [47226]onseeked; attribute [47227]EventHandler [47228]onseeking; attribute [47229]EventHandler [47230]onselect; attribute [47231]EventHandler [47232]onslotchange; attribute [47233]EventHandler [47234]onstalled; attribute [47235]EventHandler [47236]onsubmit; attribute [47237]EventHandler [47238]onsuspend; attribute [47239]EventHandler [47240]ontimeupdate; attribute [47241]EventHandler [47242]ontoggle; attribute [47243]EventHandler [47244]onvolumechange; attribute [47245]EventHandler [47246]onwaiting; attribute [47247]EventHandler [47248]onwebkitanimationend; attribute [47249]EventHandler [47250]onwebkitanimationiteration; attribute [47251]EventHandler [47252]onwebkitanimationstart; attribute [47253]EventHandler [47254]onwebkittransitionend; attribute [47255]EventHandler [47256]onwheel; };

    interface mixin WindowEventHandlers { attribute [47257]EventHandler [47258]onafterprint; attribute [47259]EventHandler [47260]onbeforeprint; attribute [47261]OnBeforeUnloadEventHandler [47262]onbeforeunload; attribute [47263]EventHandler [47264]onhashchange; attribute [47265]EventHandler [47266]onlanguagechange; attribute [47267]EventHandler [47268]onmessage; attribute [47269]EventHandler [47270]onmessageerror; attribute [47271]EventHandler [47272]onoffline; attribute [47273]EventHandler [47274]ononline; attribute [47275]EventHandler [47276]onpagehide; attribute [47277]EventHandler [47278]onpagereveal; attribute [47279]EventHandler [47280]onpageshow; attribute [47281]EventHandler [47282]onpageswap; attribute [47283]EventHandler [47284]onpopstate; attribute [47285]EventHandler [47286]onrejectionhandled; attribute [47287]EventHandler [47288]onstorage; attribute [47289]EventHandler [47290]onunhandledrejection; attribute [47291]EventHandler [47292]onunload; };

    8.1.8.3 Event firing

    Certain operations and methods are defined as firing events on elements. For example, the [47293]click() method on the [47294]HTMLElement interface is defined as firing a [47295]click event on the element. [47296][UIEVENTS]

    Firing a synthetic pointer event named e at target, with an optional not trusted flag, means running these steps: 1. Let event be the result of [47297]creating an event using [47298]PointerEvent. 2. Initialize event's [47299]type attribute to e. 3. Initialize event's [47300]bubbles and [47301]cancelable attributes to true. 4. Set event's [47302]composed flag. 5. If the not trusted flag is set, initialize event's [47303]isTrusted attribute to false. 6. Initialize event's ctrlKey, shiftKey, altKey, and metaKey attributes according to the current state of the key input device, if any (false for any keys that are not available). 7. Initialize event's [47304]view attribute to target's [47305]node document's [47306]Window object, if any, and null otherwise. 8. event's getModifierState() method is to return values appropriately describing the current state of the key input device. 9. Return the result of [47307]dispatching event at target.

    Firing a click event at target means [47308]firing a synthetic pointer event named click at target.

    8.2 The [47309]WindowOrWorkerGlobalScope mixin

    The [47310]WindowOrWorkerGlobalScope mixin is for use of APIs that are to be exposed on [47311]Window and [47312]WorkerGlobalScope objects.

    Other standards are encouraged to further extend it using partial interface mixin [47313]WindowOrWorkerGlobalScope { … }; along with an appropriate reference. typedef (DOMString or [47314]Function or [47315]TrustedScript) TimerHandler;

    interface mixin WindowOrWorkerGlobalScope { [Replaceable] readonly attribute USVString [47316]origin; readonly attribute boolean [47317]isSecureContext; readonly attribute boolean [47318]crossOriginIsolated;

    undefined [47319]reportError(any e);

    // base64 utility methods DOMString [47320]btoa(DOMString data); ByteString [47321]atob(DOMString data);

    // timers long [47322]setTimeout([47323]TimerHandler handler, optional long timeout = 0, any... arguments); undefined [47324]clearTimeout(optional long id = 0); long [47325]setInterval([47326]TimerHandler handler, optional long timeout = 0 , any... arguments); undefined [47327]clearInterval(optional long id = 0);

    // microtask queuing undefined [47328]queueMicrotask([47329]VoidFunction callback);

    // ImageBitmap [47330]Promise<[47331]ImageBitmap> [47332]createImageBitmap([47333]ImageBitmap Source image, optional [47334]ImageBitmapOptions options = {}); [47335]Promise<[47336]ImageBitmap> [47337]createImageBitmap([47338]ImageBitmap Source image, long sx, long sy, long sw, long sh, optional [47339]ImageBitmapOpt ions options = {});

    // structured cloning any [47340]structuredClone(any value, optional [47341]StructuredSerializeOptio ns options = {}); }; [47342]Window includes [47343]WindowOrWorkerGlobalScope; [47344]WorkerGlobalScope includes [47345]WindowOrWorkerGlobalScope;

    self.[47346]isSecureContext

    (BUTTON) ✔MDN

    [47347]isSecureContext

    Support in all current engines.

    Firefox49+Safari11.1+Chrome47+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)15+Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns whether or not this global object represents a [47348]secure context. [47349][SECURE-CONTEXTS]

    self.[47350]origin

    (BUTTON) ✔MDN

    [47351]origin

    Support in all current engines.

    Firefox54+Safari11+Chrome59+ ___________________________________________________________

    Opera?Edge79+ ___________________________________________________________

    Edge (Legacy)18Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the global object's [47352]origin, serialized as string.

    self.[47353]crossOriginIsolated

    (BUTTON) ✔MDN

    [47354]crossOriginIsolated

    Support in all current engines.

    Firefox72+Safari15.2+Chrome87+ ___________________________________________________________

    Opera?Edge87+ ___________________________________________________________

    Edge (Legacy)?Internet ExplorerNo ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns whether scripts running in this global are allowed to use APIs that require cross-origin isolation. This depends on the `[47355]Cross-Origin-Opener-Policy` and `[47356]Cross-Origin-Embedder-Policy` HTTP response headers and the "[47357]cross-origin-isolated" feature.

    Developers are strongly encouraged to use self.origin over location.origin. The former returns the [47358]origin of the environment, the latter of the URL of the environment. Imagine the following script executing in a document on https://stargate.example/: var frame = document.createElement("iframe") frame.onload = function() { var frameWin = frame.contentWindow console.log(frameWin.location.origin) // "null" console.log(frameWin.origin) // "https://stargate.example" } document.body.appendChild(frame)

    self.origin is a more reliable security indicator.

    The isSecureContext getter steps are to return true if [47359]this's [47360]relevant settings object is a [47361]secure context, or false otherwise.

    The origin getter steps are to return [47362]this's [47363]relevant settings object's [47364]origin, [47365]serialized.

    The crossOriginIsolated getter steps are to return [47366]this's [47367]relevant settings object's [47368]cross-origin isolated capability.

    8.3 Base64 utility methods

    The [47369]atob() and [47370]btoa() methods allow developers to transform content to and from the base64 encoding.

    In these APIs, for mnemonic purposes, the "b" can be considered to stand for "binary", and the "a" for "ASCII". In practice, though, for primarily historical reasons, both the input and output of these functions are Unicode strings.

    result = self.[47371]btoa(data)

    (BUTTON) ✔MDN

    [47372]btoa

    Support in all current engines.

    Firefox1+Safari3+Chrome4+ ___________________________________________________________

    Opera10.5+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ Takes the input data, in the form of a Unicode string containing only characters in the range U+0000 to U+00FF, each representing a binary byte with values 0x00 to 0xFF respectively, and converts it to its base64 representation, which it returns.

    Throws an [47373]"InvalidCharacterError" [47374]DOMException exception if the input string contains any out-of-range characters.

    result = self.[47375]atob(data)

    (BUTTON) ✔MDN

    [47376]atob

    Support in all current engines.

    Firefox1+Safari3+Chrome4+ ___________________________________________________________

    Opera10.5+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________

    Firefox Android?Safari iOS1+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ Takes the input data, in the form of a Unicode string containing base64-encoded binary data, decodes it, and returns a string consisting of characters in the range U+0000 to U+00FF, each representing a binary byte with values 0x00 to 0xFF respectively, corresponding to that binary data.

    Throws an [47377]"InvalidCharacterError" [47378]DOMException if the input string is not valid base64 data.

    The btoa(data) method must throw an [47379]"InvalidCharacterError" [47380]DOMException if data contains any character whose code point is greater than U+00FF. Otherwise, the user agent must convert data to a byte sequence whose nth byte is the eight-bit representation of the nth code point of data, and then must apply [47381]forgiving-base64 encode to that byte sequence and return the result.

    The atob(data) method steps are: 1. Let decodedData be the result of running [47382]forgiving-base64 decode on data. 2. If decodedData is failure, then throw an [47383]"InvalidCharacterError" [47384]DOMException. 3. Return decodedData.

    8.4 Dynamic markup insertion

    APIs for dynamically inserting markup into the document interact with the parser, and thus their behavior varies depending on whether they are used with [47385]HTML documents (and the [47386]HTML parser) or [47387]XML documents (and the [47388]XML parser).

    [47389]Document objects have a throw-on-dynamic-markup-insertion counter, which is used in conjunction with the [47390]create an element for the token algorithm to prevent [47391]custom element constructors from being able to use [47392]document.open(), [47393]document.close(), and [47394]document.write() when they are invoked by the parser. Initially, the counter must be set to zero.

    8.4.1 Opening the input stream

    document = document.[47395]open()

    (BUTTON) ✔MDN

    [47396]Document/open

    Support in all current engines.

    Firefox1+Safari11+Chrome64+ ___________________________________________________________

    Opera51+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android47+ Causes the [47397]Document to be replaced in-place, as if it was a new [47398]Document object, but reusing the previous object, which is then returned.

    The resulting [47399]Document has an HTML parser associated with it, which can be given data to parse using [47400]document.write().

    The method has no effect if the [47401]Document is still being parsed.

    Throws an [47402]"InvalidStateError" [47403]DOMException if the [47404]Document is an [47405]XML document.

    Throws an [47406]"InvalidStateError" [47407]DOMException if the parser is currently executing a [47408]custom element constructor.

    window = document.[47409]open(url, name, features) Works like the [47410]window.open() method.

    [47411]Document objects have an active parser was aborted boolean, which is used to prevent scripts from invoking the [47412]document.open() and [47413]document.write() methods (directly or indirectly) after the document's [47414]active parser has been aborted. It is initially false.

    The document open steps, given a document, are as follows: 1. If document is an [47415]XML document, then throw an [47416]"InvalidStateError" [47417]DOMException exception. 2. If document's [47418]throw-on-dynamic-markup-insertion counter is greater than 0, then throw an [47419]"InvalidStateError" [47420]DOMException. 3. Let entryDocument be the [47421]entry global object's [47422]associated Document. 4. If document's [47423]origin is not [47424]same origin to entryDocument's [47425]origin, then throw a [47426]"SecurityError" [47427]DOMException. 5. If document has an [47428]active parser whose [47429]script nesting level is greater than 0, then return document. This basically causes [47430]document.open() to be ignored when it's called in an inline script found during parsing, while still letting it have an effect when called from a non-parser task such as a timer callback or event handler. 6. Similarly, if document's [47431]unload counter is greater than 0, then return document. This basically causes [47432]document.open() to be ignored when it's called from a [47433]beforeunload, [47434]pagehide, or [47435]unload event handler while the [47436]Document is being unloaded. 7. If document's [47437]active parser was aborted is true, then return document. This notably causes [47438]document.open() to be ignored if it is called after a [47439]navigation has started, but only during the initial parse. See [47440]issue #4723 for more background. 8. If document's [47441]node navigable is non-null and document's [47442]node navigable's [47443]ongoing navigation is a [47444]navigation ID, then [47445]stop loading document's [47446]node navigable. 9. For each [47447]shadow-including inclusive descendant node of document, [47448]erase all event listeners and handlers given node. 10. If document is the [47449]associated Document of document's [47450]relevant global object, then [47451]erase all event listeners and handlers given document's [47452]relevant global object. 11. [47453]Replace all with null within document. 12. If document is [47454]fully active, then: 1. Let newURL be a copy of entryDocument's [47455]URL. 2. If entryDocument is not document, then set newURL's [47456]fragment to null. 3. Run the [47457]URL and history update steps with document and newURL. 13. Set document's [47458]is initial about:blank to false. 14. If document's [47459]iframe load in progress flag is set, then set document's [47460]mute iframe load flag. 15. Set document to [47461]no-quirks mode. 16. Create a new [47462]HTML parser and associate it with document. This is a script-created parser (meaning that it can be closed by the [47463]document.open() and [47464]document.close() methods, and that the tokenizer will wait for an explicit call to [47465]document.close() before emitting an end-of-file token). The encoding [47466]confidence is irrelevant. 17. Set the [47467]insertion point to point at just before the end of the [47468]input stream (which at this point will be empty). 18. [47469]Update the current document readiness of document to "loading". This causes a [47470]readystatechange event to fire, but the event is actually unobservable to author code, because of the previous step which [47471]erased all event listeners and handlers that could observe it. 19. Return document.

    The [47472]document open steps do not affect whether a [47473]Document is [47474]ready for post-load tasks or [47475]completely loaded.

    The open(unused1, unused2) method must return the result of running the [47476]document open steps with [47477]this.

    The unused1 and unused2 arguments are ignored, but kept in the IDL to allow code that calls the function with one or two arguments to continue working. They are necessary due to Web IDL [47478]overload resolution algorithm rules, which would throw a [47479]TypeError exception for such calls had the arguments not been there. [47480]whatwg/webidl issue #581 investigates changing the algorithm to allow for their removal. [47481][WEBIDL]

    The open(url, name, features) method must run these steps: 1. If [47482]this is not [47483]fully active, then throw an [47484]"InvalidAccessError" [47485]DOMException exception. 2. Return the result of running the [47486]window open steps with url, name, and features.

    8.4.2 Closing the input stream

    document.[47487]close()

    (BUTTON) ✔MDN

    [47488]Document/close

    Support in all current engines.

    Firefox1+Safari11+Chrome64+ ___________________________________________________________

    Opera51+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android47+ Closes the input stream that was opened by the [47489]document.open() method.

    Throws an [47490]"InvalidStateError" [47491]DOMException if the [47492]Document is an [47493]XML document.

    Throws an [47494]"InvalidStateError" [47495]DOMException if the parser is currently executing a [47496]custom element constructor.

    The close() method must run the following steps: 1. If [47497]this is an [47498]XML document, then throw an [47499]"InvalidStateError" [47500]DOMException. 2. If [47501]this's [47502]throw-on-dynamic-markup-insertion counter is greater than zero, then throw an [47503]"InvalidStateError" [47504]DOMException. 3. If there is no [47505]script-created parser associated with [47506]this, then return. 4. Insert an [47507]explicit "EOF" character at the end of the parser's [47508]input stream. 5. If [47509]this's [47510]pending parsing-blocking script is not null, then return. 6. Run the tokenizer, processing resulting tokens as they are emitted, and stopping when the tokenizer reaches the [47511]explicit "EOF" character or [47512]spins the event loop.

    8.4.3 [47513]document.write()

    document.[47514]write(...text)

    (BUTTON) ✔MDN

    [47515]Document/write

    Support in all current engines.

    Firefox1+Safari1+Chrome1+ ___________________________________________________________

    Opera3+Edge79+ ___________________________________________________________

    Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________

    Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ In general, adds the given string(s) to the [47516]Document's input stream.

    This method has very idiosyncratic behavior. In some cases, this method can affect the state of the [47517]HTML parser while the parser is running, resulting in a DOM that does not correspond to the source of the document (e.g. if the string written is the string "

    " or "<!--"). In other cases, the call can clear the current page first, as if [47518]document.open() had been called. In yet more cases, the method is simply ignored, or throws an exception. Users agents are [47519]explicitly allowed to avoid executing script elements inserted via this method. And to make matters even worse, the exact behavior of this method can in some cases be dependent on network latency, which can lead to failures that are very hard to debug. For all these reasons, use of this method is strongly discouraged. </p> <p> Throws an [47520]"InvalidStateError" [47521]DOMException when invoked on [47522]XML documents. </p> <p> Throws an [47523]"InvalidStateError" [47524]DOMException if the parser is currently executing a [47525]custom element constructor. </p> <p> This method performs no sanitization to remove potentially-dangerous elements and attributes like [47526]script or [47527]event handler content attributes. </p> <p> [47528]Document objects have an ignore-destructive-writes counter, which is used in conjunction with the processing of [47529]script elements to prevent external scripts from being able to use [47530]document.write() to blow away the document by implicitly calling [47531]document.open(). Initially, the counter must be set to zero. </p> <p> The document write steps, given a [47532]Document object document, a list text, a boolean lineFeed, and a string sink, are as follows: 1. Let string be the empty string. 2. Let isTrusted be false if text [47533]contains a string; otherwise true. 3. [47534]For each value of text: 1. If value is a [47535]TrustedHTML object, then append value's associated [47536]data to string. 2. Otherwise, append value to string. 4. If isTrusted is false, set string to the result of invoking the [47537]Get Trusted Type compliant string algorithm with [47538]TrustedHTML, [47539]this's [47540]relevant global object, string, sink, and "script". 5. If lineFeed is true, append U+000A LINE FEED to string. 6. If document is an [47541]XML document, then throw an [47542]"InvalidStateError" [47543]DOMException. 7. If document's [47544]throw-on-dynamic-markup-insertion counter is greater than 0, then throw an [47545]"InvalidStateError" [47546]DOMException. 8. If document's [47547]active parser was aborted is true, then return. 9. If the [47548]insertion point is undefined, then: 1. If document's [47549]unload counter is greater than 0 or document's [47550]ignore-destructive-writes counter is greater than 0, then return. 2. Run the [47551]document open steps with document. 10. Insert string into the [47552]input stream just before the [47553]insertion point. 11. If document's [47554]pending parsing-blocking script is null, then have the [47555]HTML parser process string, one code point at a time, processing resulting tokens as they are emitted, and stopping when the tokenizer reaches the insertion point or when the processing of the tokenizer is aborted by the tree construction stage (this can happen if a [47556]script end tag token is emitted by the tokenizer). If the [47557]document.write() method was called from script executing inline (i.e. executing because the parser parsed a set of [47558]script tags), then this is a [47559]reentrant invocation of the parser. If the [47560]parser pause flag is set, the tokenizer will abort immediately and no HTML will be parsed, per the tokenizer's [47561]parser pause flag check. </p> <p> The document.write(...text) method steps are to run the [47562]document write steps with [47563]this, text, false, and "Document write". </p> <p> 8.4.4 [47564]document.writeln() </p> <p> document.[47565]writeln(...text) </p> <p> (BUTTON) ✔MDN </p> <p> [47566]Document/writeln </p> <p> Support in all current engines. </p> <p> Firefox1+Safari11+Chrome64+ ___________________________________________________________ </p> <p> Opera51+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android47+ Adds the given string(s) to the [47567]Document's input stream, followed by a newline character. If necessary, calls the [47568]open() method implicitly first. </p> <p> Throws an [47569]"InvalidStateError" [47570]DOMException when invoked on [47571]XML documents. </p> <p> Throws an [47572]"InvalidStateError" [47573]DOMException if the parser is currently executing a [47574]custom element constructor. </p> <p> This method performs no sanitization to remove potentially-dangerous elements and attributes like [47575]script or [47576]event handler content attributes. </p> <p> The document.writeln(...text) method steps are to run the [47577]document write steps with [47578]this, text, true, and "Document writeln". </p> <p> 8.5 DOM parsing and serialization APIs </p> <p> (BUTTON) ✔MDN </p> <p> [47579]DOMParser </p> <p> Support in all current engines. Firefox1+Safari1.3+Chrome1+ __________________________________________________________________ </p> <p> Opera8+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ </p> <p> partial interface [47580]Element { [[47581]CEReactions] undefined [47582]setHTMLUnsafe(([47583]TrustedHTML or DOM String) html); DOMString [47584]getHTML(optional [47585]GetHTMLOptions options = {}); </p> <p> [[47586]CEReactions] attribute ([47587]TrustedHTML or [[47588]LegacyNullToEmpt yString] DOMString) [47589]innerHTML; [[47590]CEReactions] attribute ([47591]TrustedHTML or [[47592]LegacyNullToEmpt yString] DOMString) [47593]outerHTML; [[47594]CEReactions] undefined [47595]insertAdjacentHTML(DOMString position, ( [47596]TrustedHTML or DOMString) string); }; </p> <p> partial interface [47597]ShadowRoot { [[47598]CEReactions] undefined [47599]setHTMLUnsafe(([47600]TrustedHTML or DOM String) html); DOMString [47601]getHTML(optional [47602]GetHTMLOptions options = {}); </p> <p> [[47603]CEReactions] attribute ([47604]TrustedHTML or [[47605]LegacyNullToEmpt yString] DOMString) [47606]innerHTML; }; </p> <p> dictionary GetHTMLOptions { boolean serializableShadowRoots = false; sequence<ShadowRoot> shadowRoots = []; }; </p> <p> 8.5.1 The [47607]DOMParser interface </p> <p> The [47608]DOMParser interface allows authors to create new [47609]Document objects by parsing strings, as either HTML or XML. </p> <p> parser = new [47610]DOMParser() </p> <p> (BUTTON) ✔MDN </p> <p> [47611]DOMParser/DOMParser </p> <p> Support in all current engines. </p> <p> Firefox1+Safari1.3+Chrome1+ ___________________________________________________________ </p> <p> Opera8+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Constructs a new [47612]DOMParser object. </p> <p> document = parser.[47613]parseFromString(string, type) </p> <p> (BUTTON) ✔MDN </p> <p> [47614]DOMParser/parseFromString </p> <p> Support in all current engines. </p> <p> Firefox1+Safari1.3+Chrome1+ ___________________________________________________________ </p> <p> Opera8+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Parses string using either the HTML or XML parser, according to type, and returns the resulting [47615]Document. type can be "[47616]text/html" (which will invoke the HTML parser), or any of "[47617]text/xml", "[47618]application/xml", "[47619]application/xhtml+xml", or "[47620]image/svg+xml" (which will invoke the XML parser). </p> <p> For the XML parser, if string cannot be parsed, then the returned [47621]Document will contain elements describing the resulting error. </p> <p> Note that [47622]script elements are not evaluated during parsing, and the resulting document's [47623]encoding will always be [47624]UTF-8. The document's [47625]URL will be inherited from parser's [47626]relevant global object. </p> <p> Values other than the above for type will cause a [47627]TypeError exception to be thrown. </p> <p> The design of [47628]DOMParser, as a class that needs to be constructed and then have its [47629]parseFromString() method called, is an unfortunate historical artifact. If we were designing this functionality today it would be a standalone function. For parsing HTML, the modern alternative is [47630]Document.parseHTMLUnsafe(). </p> <p> This method performs no sanitization to remove potentially-dangerous elements and attributes like [47631]script or [47632]event handler content attributes. [Exposed=Window] interface DOMParser { [47633]constructor(); </p> <p> [NewObject] [47634]Document [47635]parseFromString(([47636]TrustedHTML or DOMS tring) string, [47637]DOMParserSupportedType type); }; </p> <p> enum DOMParserSupportedType { "[47638]text/html", "[47639]text/xml", "[47640]application/xml", "[47641]application/xhtml+xml", "[47642]image/svg+xml" }; </p> <p> The new DOMParser() constructor steps are to do nothing. </p> <p> The parseFromString(string, type) method steps are: 1. Let compliantString be the result of invoking the [47643]Get Trusted Type compliant string algorithm with [47644]TrustedHTML, [47645]this's [47646]relevant global object, string, "DOMParser parseFromString", and "script". 2. Let document be a new [47647]Document, whose [47648]content type is type and [47649]URL is [47650]this's [47651]relevant global object's [47652]associated Document's [47653]URL. The document's [47654]encoding will be left as its default, of [47655]UTF-8. In particular, any XML declarations or [47656]meta elements found while parsing compliantString will have no effect. 3. Switch on type: </p> <p> "text/html" </p> <p> 1. [47657]Parse HTML from a string given document and compliantString. </p> <p> Since document does not have a [47658]browsing context, [47659]scripting is disabled. </p> <p> Otherwise </p> <p> 1. Create an [47660]XML parser parser, associated with document, and with [47661]XML scripting support disabled. 2. Parse compliantString using parser. 3. If the previous step resulted in an XML well-formedness or XML namespace well-formedness error, then: 1. [47662]Assert: document has no child nodes. 2. Let root be the result of [47663]creating an element given document, "parsererror", and "http://www.mozilla.org/newlayout/xml/parsererror.xm l". 3. Optionally, add attributes or children to root to describe the nature of the parsing error. 4. [47664]Append root to document. </p> <p> 4. Return document. </p> <p> To parse HTML from a string, given a [47665]Document document and a [47666]string html: 1. Set document's [47667]type to "html". 2. Create an [47668]HTML parser parser, associated with document. 3. Place html into the [47669]input stream for parser. The encoding [47670]confidence is irrelevant. 4. Start parser and let it run until it has consumed all the characters just inserted into the input stream. This might mutate the document's [47671]mode. </p> <p> 8.5.2 Unsafe HTML parsing methods </p> <p> element.[47672]setHTMLUnsafe(html) Parses html using the HTML parser, and replaces the children of element with the result. element provides context for the HTML parser. </p> <p> shadowRoot.[47673]setHTMLUnsafe(html) Parses html using the HTML parser, and replaces the children of shadowRoot with the result. shadowRoot's [47674]host provides context for the HTML parser. </p> <p> doc = Document.[47675]parseHTMLUnsafe(html) Parses html using the HTML parser, and returns the resulting [47676]Document. </p> <p> Note that [47677]script elements are not evaluated during parsing, and the resulting document's [47678]encoding will always be [47679]UTF-8. The document's [47680]URL will be [47681]about:blank. </p> <p> These methods perform no sanitization to remove potentially-dangerous elements and attributes like [47682]script or [47683]event handler content attributes. </p> <p> [47684]Element's setHTMLUnsafe(html) method steps are: 1. Let compliantHTML be the result of invoking the [47685]Get Trusted Type compliant string algorithm with [47686]TrustedHTML, [47687]this's [47688]relevant global object, html, "Element setHTMLUnsafe", and "script". 2. Let target be [47689]this's [47690]template contents if [47691]this is a [47692]template element; otherwise [47693]this. 3. [47694]Unsafely set HTML given target, [47695]this, and compliantHTML. </p> <p> [47696]ShadowRoot's setHTMLUnsafe(html) method steps are: 1. Let compliantHTML be the result of invoking the [47697]Get Trusted Type compliant string algorithm with [47698]TrustedHTML, [47699]this's [47700]relevant global object, html, "ShadowRoot setHTMLUnsafe", and "script". 2. [47701]Unsafely set HTML given [47702]this, [47703]this's [47704]shadow host, and compliantHTML. </p> <p> To unsafely set HTML, given an [47705]Element or [47706]DocumentFragment target, an [47707]Element contextElement, and a [47708]string html: 1. Let newChildren be the result of the [47709]HTML fragment parsing algorithm given contextElement, html, and true. 2. Let fragment be a new [47710]DocumentFragment whose [47711]node document is contextElement's [47712]node document. 3. For each node in newChildren, [47713]append node to fragment. 4. [47714]Replace all with fragment within target. __________________________________________________________________ </p> <p> The static parseHTMLUnsafe(html) method steps are: 1. Let compliantHTML be the result of invoking the [47715]Get Trusted Type compliant string algorithm with [47716]TrustedHTML, [47717]this's [47718]relevant global object, html, "Document parseHTMLUnsafe", and "script". 2. Let document be a new [47719]Document, whose [47720]content type is "text/html". Since document does not have a [47721]browsing context, [47722]scripting is disabled. 3. Set document's [47723]allow declarative shadow roots to true. 4. [47724]Parse HTML from a string given document and compliantHTML. 5. Return document. </p> <p> 8.5.3 HTML serialization methods </p> <p> html = element.[47725]getHTML({ [47726]serializableShadowRoots, [47727]shadowRoots }) Returns the result of serializing element to HTML. [47728]Shadow roots within element are serialized according to the provided options: </p> <p> + If [47729]serializableShadowRoots is true, then all shadow roots marked as [47730]serializable are serialized. + If the [47731]shadowRoots array is provided, then all shadow roots specified in the array are serialized, regardless of whether or not they are marked as serializable. </p> <p> If neither option is provided, then no shadow roots are serialized. </p> <p> html = shadowRoot.[47732]getHTML({ [47733]serializableShadowRoots, [47734]shadowRoots }) Returns the result of serializing shadowRoot to HTML, using its [47735]shadow host as the context element. [47736]Shadow roots within shadowRoot are serialized according to the provided options, as above. </p> <p> [47737]Element's getHTML(options) method steps are to return the result of [47738]HTML fragment serialization algorithm with [47739]this, options["[47740]serializableShadowRoots"], and options["[47741]shadowRoots"]. </p> <p> [47742]ShadowRoot's getHTML(options) method steps are to return the result of [47743]HTML fragment serialization algorithm with [47744]this, options["[47745]serializableShadowRoots"], and options["[47746]shadowRoots"]. </p> <p> 8.5.4 The [47747]innerHTML property </p> <p> The [47748]innerHTML property has a number of outstanding issues in the DOM Parsing and Serialization [47749]issue tracker, documenting various problems with its specification. </p> <p> element.[47750]innerHTML Returns a fragment of HTML or XML that represents the element's contents. </p> <p> In the case of an XML document, throws a [47751]"InvalidStateError" [47752]DOMException if the element cannot be serialized to XML. </p> <p> element.[47753]innerHTML = value Replaces the contents of the element with nodes parsed from the given string. </p> <p> In the case of an XML document, throws a [47754]"SyntaxError" [47755]DOMException if the given string is not well-formed. </p> <p> shadowRoot.[47756]innerHTML Returns a fragment of HTML that represents the shadow roots's contents. </p> <p> shadowRoot.[47757]innerHTML = value Replaces the contents of the shadow root with nodes parsed from the given string. </p> <p> These properties' setters perform no sanitization to remove potentially-dangerous elements and attributes like [47758]script or [47759]event handler content attributes. </p> <p> The fragment serializing algorithm steps, given an [47760]Element, [47761]Document, or [47762]DocumentFragment node and a boolean require well-formed, are: 1. Let context document be node's [47763]node document. 2. If context document is an [47764]HTML document, return the result of [47765]HTML fragment serialization algorithm with node, false, and « ». 3. Return the [47766]XML serialization of node given require well-formed. </p> <p> The fragment parsing algorithm steps, given an [47767]Element context and a string markup, are: 1. Let algorithm be the [47768]HTML fragment parsing algorithm. 2. If context's [47769]node document is an [47770]XML document, then set algorithm to the [47771]XML fragment parsing algorithm. 3. Let newChildren be the result of invoking algorithm given context and markup. 4. Let fragment be a new [47772]DocumentFragment whose [47773]node document is context's [47774]node document. 5. For each node of newChildren, in [47775]tree order: [47776]append node to fragment. This ensures the [47777]node document for the new [47778]nodes is correct. 6. Return fragment. </p> <p> [47779]Element's innerHTML getter steps are to return the result of running [47780]fragment serializing algorithm steps with [47781]this and true. </p> <p> [47782]ShadowRoot's innerHTML getter steps are to return the result of running [47783]fragment serializing algorithm steps with [47784]this and true. </p> <p> [47785]Element's [47786]innerHTML setter steps are: 1. Let compliantString be the result of invoking the [47787]Get Trusted Type compliant string algorithm with [47788]TrustedHTML, [47789]this's [47790]relevant global object, the given value, "Element innerHTML", and "script". 2. Let context be [47791]this. 3. Let fragment be the result of invoking the [47792]fragment parsing algorithm steps with context and compliantString. 4. If context is a [47793]template element, then set context to the [47794]template element's [47795]template contents (a [47796]DocumentFragment). Setting [47797]innerHTML on a [47798]template element will replace all the nodes in its [47799]template contents rather than its [47800]children. 5. [47801]Replace all with fragment within context. </p> <p> [47802]ShadowRoot's [47803]innerHTML setter steps are: 1. Let compliantString be the result of invoking the [47804]Get Trusted Type compliant string algorithm with [47805]TrustedHTML, [47806]this's [47807]relevant global object, the given value, "ShadowRoot innerHTML", and "script". 2. Let context be [47808]this's [47809]host. 3. Let fragment be the result of invoking the [47810]fragment parsing algorithm steps with context and compliantString. 4. [47811]Replace all with fragment within [47812]this. </p> <p> 8.5.5 The [47813]outerHTML property </p> <p> The [47814]outerHTML property has a number of outstanding issues in the DOM Parsing and Serialization [47815]issue tracker, documenting various problems with its specification. </p> <p> element.[47816]outerHTML Returns a fragment of HTML or XML that represents the element and its contents. </p> <p> In the case of an XML document, throws a [47817]"InvalidStateError" [47818]DOMException if the element cannot be serialized to XML. </p> <p> element.[47819]outerHTML = value Replaces the element with nodes parsed from the given string. </p> <p> In the case of an XML document, throws a [47820]"SyntaxError" [47821]DOMException if the given string is not well-formed. </p> <p> Throws a [47822]"NoModificationAllowedError" [47823]DOMException if the parent of the element is a [47824]Document. </p> <p> This property's setter performs no sanitization to remove potentially-dangerous elements and attributes like [47825]script or [47826]event handler content attributes. </p> <p> [47827]Element's outerHTML getter steps are: 1. Let element be a fictional node whose only child is [47828]this. 2. Return the result of running [47829]fragment serializing algorithm steps with element and true. </p> <p> [47830]Element's [47831]outerHTML setter steps are: 1. Let compliantString be the result of invoking the [47832]Get Trusted Type compliant string algorithm with [47833]TrustedHTML, [47834]this's [47835]relevant global object, the given value, "Element outerHTML", and "script". 2. Let parent be [47836]this's [47837]parent. 3. If parent is null, return. There would be no way to obtain a reference to the nodes created even if the remaining steps were run. 4. If parent is a [47838]Document, throw a [47839]"NoModificationAllowedError" [47840]DOMException. 5. If parent is a [47841]DocumentFragment, set parent to the result of [47842]creating an element given [47843]this's [47844]node document, "body", and the [47845]HTML namespace. 6. Let fragment be the result of invoking the [47846]fragment parsing algorithm steps given parent and compliantString. 7. [47847]Replace [47848]this with fragment within [47849]this's [47850]parent. </p> <p> 8.5.6 The [47851]insertAdjacentHTML() method </p> <p> The [47852]insertAdjacentHTML() method has a number of outstanding issues in the DOM Parsing and Serialization [47853]issue tracker, documenting various problems with its specification. </p> <p> element.[47854]insertAdjacentHTML(position, string) Parses string as HTML or XML and inserts the resulting nodes into the tree in the position given by the position argument, as follows: </p> <p> "beforebegin" Before the element itself (i.e., after element's previous sibling) </p> <p> "afterbegin" Just inside the element, before its first child. </p> <p> "beforeend" Just inside the element, after its last child. </p> <p> "afterend" After the element itself (i.e., before element's next sibling) </p> <p> Throws a [47855]"SyntaxError" [47856]DOMException if the arguments have invalid values (e.g., in the case of an [47857]XML document, if the given string is not well-formed). </p> <p> Throws a [47858]"NoModificationAllowedError" [47859]DOMException if the given position isn't possible (e.g. inserting elements after the root element of a [47860]Document). </p> <p> This method performs no sanitization to remove potentially-dangerous elements and attributes like [47861]script or [47862]event handler content attributes. </p> <p> [47863]Element's insertAdjacentHTML(position, string) method steps are: 1. Let compliantString be the result of invoking the [47864]Get Trusted Type compliant string algorithm with [47865]TrustedHTML, [47866]this's [47867]relevant global object, string, "Element insertAdjacentHTML", and "script". 2. Let context be null. 3. Use the first matching item from this list: </p> <p> If position is an [47868]ASCII case-insensitive match for the string "beforebegin" </p> <p> If position is an [47869]ASCII case-insensitive match for the string "afterend" </p> <p> 1. Set context to [47870]this's [47871]parent. 2. If context is null or a [47872]Document, throw a [47873]"NoModificationAllowedError" [47874]DOMException. </p> <p> If position is an [47875]ASCII case-insensitive match for the string "afterbegin" </p> <p> If position is an [47876]ASCII case-insensitive match for the string "beforeend" Set context to [47877]this. </p> <p> Otherwise Throw a [47878]"SyntaxError" [47879]DOMException. </p> <p> 4. If context is not an [47880]Element or all of the following are true: + context's [47881]node document is an HTML document; + context's [47882]local name is "[47883]html"; and + context's [47884]namespace is the [47885]HTML namespace, set context to the result of [47886]creating an element given [47887]this's [47888]node document, "body", and the [47889]HTML namespace. 5. Let fragment be the result of invoking the [47890]fragment parsing algorithm steps with context and compliantString. 6. Use the first matching item from this list: </p> <p> If position is an [47891]ASCII case-insensitive match for the string "beforebegin" [47892]Insert fragment into [47893]this's [47894]parent before [47895]this. </p> <p> If position is an [47896]ASCII case-insensitive match for the string "afterbegin" [47897]Insert fragment into [47898]this before its [47899]first child. </p> <p> If position is an [47900]ASCII case-insensitive match for the string "beforeend" [47901]Append fragment to [47902]this. </p> <p> If position is an [47903]ASCII case-insensitive match for the string "afterend" [47904]Insert fragment into [47905]this's [47906]parent before [47907]this's [47908]next sibling. </p> <p> As with other direct [47909]Node-manipulation APIs (and unlike [47910]innerHTML), [47911]insertAdjacentHTML() does not include any special handling for [47912]template elements. In most cases you will want to use templateEl.[47913]content.[47914]insertAdjacentHTML() instead of directly manipulating the child nodes of a [47915]template element. </p> <p> 8.5.7 The [47916]createContextualFragment() method </p> <p> The [47917]createContextualFragment() method has a number of outstanding issues in the DOM Parsing and Serialization [47918]issue tracker, documenting various problems with its specification. </p> <p> docFragment = range.[47919]createContextualFragment(string) Returns a [47920]DocumentFragment created from the markup string string using range's [47921]start node as the context in which fragment is parsed. </p> <p> This method performs no sanitization to remove potentially-dangerous elements and attributes like [47922]script or [47923]event handler content attributes. partial interface [47924]Range { [[47925]CEReactions, NewObject] [47926]DocumentFragment [47927]createContextua lFragment(([47928]TrustedHTML or DOMString) string); }; </p> <p> [47929]Range's createContextualFragment(string) method steps are: 1. Let compliantString be the result of invoking the [47930]Get Trusted Type compliant string algorithm with [47931]TrustedHTML, [47932]this's [47933]relevant global object, string, "Range createContextualFragment", and "script". 2. Let node be [47934]this's [47935]start node. 3. Let element be null. 4. If node [47936]implements [47937]Element, set element to node. 5. Otherwise, if node [47938]implements [47939]Text or [47940]Comment, set element to node's [47941]parent element. 6. If element is null or all of the following are true: + element's [47942]node document is an HTML document; + element's [47943]local name is "[47944]html"; and + element's [47945]namespace is the [47946]HTML namespace, then set element to the result of [47947]creating an element given [47948]this's [47949]node document, "body", and the [47950]HTML namespace. 7. Let fragment node be the result of invoking the [47951]fragment parsing algorithm steps with element and compliantString. 8. [47952]For each script of fragment node's [47953]script element [47954]descendants: 1. Set script's [47955]already started to false. 2. Set script's [47956]parser document to null. 9. Return fragment node. </p> <p> 8.5.8 The [47957]XMLSerializer interface </p> <p> The [47958]XMLSerializer interface has a number of outstanding issues in the DOM Parsing and Serialization [47959]issue tracker, documenting various problems with its specification. The remainder of DOM Parsing and Serialization will be gradually upstreamed to this specification. </p> <p> xmlSerializer = new [47960]XMLSerializer() Constructs a new [47961]XMLSerializer object. </p> <p> string = xmlSerializer.[47962]serializeToString(root) Returns the result of serializing root to XML. </p> <p> Throws an [47963]"InvalidStateError" [47964]DOMException if root cannot be serialized to XML. </p> <p> The design of [47965]XMLSerializer, as a class that needs to be constructed and then have its [47966]serializeToString() method called, is an unfortunate historical artifact. If we were designing this functionality today it would be a standalone function. [Exposed=Window] interface XMLSerializer { [47967]constructor(); </p> <p> DOMString [47968]serializeToString([47969]Node root); }; </p> <p> The new XMLSerializer() constructor steps are to do nothing. </p> <p> The serializeToString(root) method steps are: 1. Return the [47970]XML serialization of root given false. </p> <p> 8.6 Timers </p> <p> The [47971]setTimeout() and [47972]setInterval() methods allow authors to schedule timer-based callbacks. </p> <p> id = self.[47973]setTimeout(handler [, timeout [, ...arguments ] ]) </p> <p> (BUTTON) ✔MDN </p> <p> [47974]setTimeout </p> <p> Support in all current engines. </p> <p> Firefox1+Safari1+Chrome1+ ___________________________________________________________ </p> <p> Opera4+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Schedules a timeout to run handler after timeout milliseconds. Any arguments are passed straight through to the handler. </p> <p> id = self.[47975]setTimeout(code [, timeout ]) Schedules a timeout to compile and run code after timeout milliseconds. </p> <p> self.[47976]clearTimeout(id) </p> <p> (BUTTON) ✔MDN </p> <p> [47977]clearTimeout </p> <p> Support in all current engines. </p> <p> Firefox1+Safari4+Chrome1+ ___________________________________________________________ </p> <p> Opera4+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS1+Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+ Cancels the timeout set with [47978]setTimeout() or [47979]setInterval() identified by id. </p> <p> id = self.[47980]setInterval(handler [, timeout [, ...arguments ] ]) </p> <p> (BUTTON) ✔MDN </p> <p> [47981]setInterval </p> <p> Support in all current engines. </p> <p> Firefox1+Safari1+Chrome1+ ___________________________________________________________ </p> <p> Opera4+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Schedules a timeout to run handler every timeout milliseconds. Any arguments are passed straight through to the handler. </p> <p> id = self.[47982]setInterval(code [, timeout ]) Schedules a timeout to compile and run code every timeout milliseconds. </p> <p> self.[47983]clearInterval(id) </p> <p> (BUTTON) ✔MDN </p> <p> [47984]clearInterval </p> <p> Support in all current engines. </p> <p> Firefox1+Safari1+Chrome1+ ___________________________________________________________ </p> <p> Opera4+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+ Cancels the timeout set with [47985]setInterval() or [47986]setTimeout() identified by id. </p> <p> Timers can be nested; after five such nested timers, however, the interval is forced to be at least four milliseconds. </p> <p> This API does not guarantee that timers will run exactly on schedule. Delays due to CPU load, other tasks, etc, are to be expected. </p> <p> Objects that implement the [47987]WindowOrWorkerGlobalScope mixin have a map of setTimeout and setInterval IDs, which is an [47988]ordered map, initially empty. Each [47989]key in this map is a positive integer, corresponding to the return value of a [47990]setTimeout() or [47991]setInterval() call. Each [47992]value is a [47993]unique internal value, corresponding to a key in the object's [47994]map of active timers. __________________________________________________________________ </p> <p> The setTimeout(handler, timeout, ...arguments) method steps are to return the result of running the [47995]timer initialization steps given [47996]this, handler, timeout, arguments, and false. </p> <p> The setInterval(handler, timeout, ...arguments) method steps are to return the result of running the [47997]timer initialization steps given [47998]this, handler, timeout, arguments, and true. </p> <p> The clearTimeout(id) and clearInterval(id) method steps are to [47999]remove [48000]this's [48001]map of setTimeout and setInterval IDs[id]. </p> <p> Because [48002]clearTimeout() and [48003]clearInterval() clear entries from the same map, either method can be used to clear timers created by [48004]setTimeout() or [48005]setInterval(). __________________________________________________________________ </p> <p> To perform the timer initialization steps, given a [48006]WindowOrWorkerGlobalScope global, a string or [48007]Function or [48008]TrustedScript handler, a number timeout, a list arguments, a boolean repeat, and optionally (and only if repeat is true) a number previousId, perform the following steps. They return a number. 1. Let thisArg be global if that is a [48009]WorkerGlobalScope object; otherwise let thisArg be the [48010]WindowProxy that corresponds to global. 2. If previousId was given, let id be previousId; otherwise, let id be an [48011]implementation-defined integer that is greater than zero and does not already [48012]exist in global's [48013]map of setTimeout and setInterval IDs. 3. If the [48014]surrounding agent's [48015]event loop's [48016]currently running task is a task that was created by this algorithm, then let nesting level be the [48017]task's [48018]timer nesting level. Otherwise, let nesting level be zero. The task's [48019]timer nesting level is used both for nested calls to [48020]setTimeout(), and for the repeating timers created by [48021]setInterval(). (Or, indeed, for any combination of the two.) In other words, it represents nested invocations of this algorithm, not of a particular method. 4. If timeout is less than 0, then set timeout to 0. 5. If nesting level is greater than 5, and timeout is less than 4, then set timeout to 4. 6. Let realm be global's [48022]relevant realm. 7. Let initiating script be the [48023]active script. 8. Let uniqueHandle be null. 9. Let task be a [48024]task that runs the following substeps: 1. [48025]Assert: uniqueHandle is a [48026]unique internal value, not null. 2. If id does not [48027]exist in global's [48028]map of setTimeout and setInterval IDs, then abort these steps. 3. If global's [48029]map of setTimeout and setInterval IDs[id] does not equal uniqueHandle, then abort these steps. This accommodates for the ID having been cleared by a [48030]clearTimeout() or [48031]clearInterval() call, and being reused by a subsequent [48032]setTimeout() or [48033]setInterval() call. 4. [48034]Record timing info for timer handler given handler, global's [48035]relevant settings object, and repeat. 5. If handler is a [48036]Function, then [48037]invoke handler given arguments and "report", and with [48038]callback this value set to thisArg. 6. Otherwise: 1. If previousId was not given: 1. Let globalName be "Window" if global is a [48039]Window object; "WorkerGlobalScope" otherwise. 2. Let methodName be "setInterval" if repeat is true; "setTimeout" otherwise. 3. Let sink be a concatenation of globalName, U+0020 SPACE, and methodName. 4. Set handler to the result of invoking the [48040]Get Trusted Type compliant string algorithm with [48041]TrustedScript, global, handler, sink, and "script". 2. [48042]Assert: handler is a string. 3. Perform [48043]EnsureCSPDoesNotBlockStringCompilation(realm, « », handler, handler, timer, « », handler). If this throws an exception, catch it, [48044]report it for global, and abort these steps. 4. Let settings object be global's [48045]relevant settings object. 5. Let fetch options be the [48046]default script fetch options. 6. Let base URL be settings object's [48047]API base URL. 7. If initiating script is not null, then: 1. Set fetch options to a [48048]script fetch options whose [48049]cryptographic nonce is initiating script's [48050]fetch options's [48051]cryptographic nonce, [48052]integrity metadata is the empty string, [48053]parser metadata is "not-parser-inserted", [48054]credentials mode is initiating script's [48055]fetch options's [48056]credentials mode, [48057]referrer policy is initiating script's [48058]fetch options's [48059]referrer policy, and [48060]fetch priority is "auto". 2. Set base URL to initiating script's [48061]base URL. The effect of these steps ensures that the string compilation done by [48062]setTimeout() and [48063]setInterval() behaves equivalently to that done by [48064]eval(). That is, [48065]module script fetches via [48066]import() will behave the same in both contexts. 8. Let script be the result of [48067]creating a classic script given handler, settings object, base URL, and fetch options. 9. [48068]Run the classic script script. 7. If id does not [48069]exist in global's [48070]map of setTimeout and setInterval IDs, then abort these steps. 8. If global's [48071]map of setTimeout and setInterval IDs[id] does not equal uniqueHandle, then abort these steps. The ID might have been removed via the author code in handler calling [48072]clearTimeout() or [48073]clearInterval(). Checking that uniqueHandle isn't different accounts for the possibility of the ID, after having been cleared, being reused by a subsequent [48074]setTimeout() or [48075]setInterval() call. 9. If repeat is true, then perform the [48076]timer initialization steps again, given global, handler, timeout, arguments, true, and id. 10. Otherwise, [48077]remove global's [48078]map of setTimeout and setInterval IDs[id]. 10. Increment nesting level by one. 11. Set task's timer nesting level to nesting level. 12. Let completionStep be an algorithm step which [48079]queues a global task on the timer task source given global to run task. 13. Set uniqueHandle to the result of [48080]running steps after a timeout given global, "setTimeout/setInterval", timeout, and completionStep. 14. [48081]Set global's [48082]map of setTimeout and setInterval IDs[id] to uniqueHandle. 15. Return id. </p> <p> Argument conversion as defined by Web IDL (for example, invoking toString() methods on objects passed as the first argument) happens in the algorithms defined in Web IDL, before this algorithm is invoked. </p> <p> So for example, the following rather silly code will result in the log containing "ONE TWO ": var log = ʼʼ; function logger(s) { log += s + ʼ ʼ; } </p> <p> setTimeout({ toString: function () { setTimeout("logger(ʼONEʼ)", 100); return "logger(ʼTWOʼ)"; } }, 100); </p> <p> To run tasks of several milliseconds back to back without any delay, while still yielding back to the browser to avoid starving the user interface (and to avoid the browser killing the script for hogging the CPU), simply queue the next timer before performing work: function doExpensiveWork() { var done = false; // ... // this part of the function takes up to five milliseconds // set done to true if weʼre done // ... return done; } </p> <p> function rescheduleWork() { var id = setTimeout(rescheduleWork, 0); // preschedule next iteration if (doExpensiveWork()) clearTimeout(id); // clear the timeout if we donʼt need it } </p> <p> function scheduleWork() { setTimeout(rescheduleWork, 0); } </p> <p> scheduleWork(); // queues a task to do lots of work </p> <p> Objects that implement the [48083]WindowOrWorkerGlobalScope mixin have a map of active timers, which is an [48084]ordered map, initially empty. Each [48085]key in this map is a [48086]unique internal value that represents a timer, and each [48087]value is a [48088]DOMHighResTimeStamp, representing the expiry time for that timer. </p> <p> To run steps after a timeout, given a [48089]WindowOrWorkerGlobalScope global, a string orderingIdentifier, a number milliseconds, and a set of steps completionSteps, perform the following steps. They return a [48090]unique internal value. 1. Let timerKey be a new [48091]unique internal value. 2. Let startTime be the [48092]current high resolution time given global. 3. [48093]Set global's [48094]map of active timers[timerKey] to startTime plus milliseconds. 4. Run the following steps [48095]in parallel: 1. If global is a [48096]Window object, wait until global's [48097]associated Document has been [48098]fully active for a further milliseconds milliseconds (not necessarily consecutively). Otherwise, global is a [48099]WorkerGlobalScope object; wait until milliseconds milliseconds have passed with the worker not suspended (not necessarily consecutively). 2. Wait until any invocations of this algorithm that had the same global and orderingIdentifier, that started before this one, and whose milliseconds is less than or equal to this one's, have completed. 3. Optionally, wait a further [48100]implementation-defined length of time. This is intended to allow user agents to pad timeouts as needed to optimize the power usage of the device. For example, some processors have a low-power mode where the granularity of timers is reduced; on such platforms, user agents can slow timers down to fit this schedule instead of requiring the processor to use the more accurate mode with its associated higher power usage. 4. Perform completionSteps. 5. [48101]Remove global's [48102]map of active timers[timerKey]. 5. Return timerKey. </p> <p> [48103]Run steps after a timeout is meant to be used by other specifications that want to execute developer-supplied code after a developer-supplied timeout, in a similar manner to [48104]setTimeout(). (Note, however, it does not have the nesting and clamping behavior of [48105]setTimeout().) Such specifications can choose an orderingIdentifier to ensure ordering within their specification's timeouts, while not constraining ordering with respect to other specification's timeouts. </p> <p> 8.7 Microtask queuing </p> <p> (BUTTON) ✔MDN </p> <p> [48106]queueMicrotask </p> <p> Support in all current engines. Firefox69+Safari12.1+Chrome71+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? </p> <p> self.[48107]queueMicrotask(callback) [48108]Queues a [48109]microtask to run the given callback. </p> <p> The queueMicrotask(callback) method must [48110]queue a microtask to [48111]invoke callback with « » and "report". </p> <p> The [48112]queueMicrotask() method allows authors to schedule a callback on the [48113]microtask queue. This allows their code to run once the [48114]JavaScript execution context stack is next empty, which happens once all currently executing synchronous JavaScript has run to completion. This doesn't yield control back to the [48115]event loop, as would be the case when using, for example, [48116]setTimeout(f, 0). </p> <p> Authors ought to be aware that scheduling a lot of microtasks has the same performance downsides as running a lot of synchronous code. Both will prevent the browser from doing its own work, such as rendering. In many cases, [48117]requestAnimationFrame() or [48118]requestIdleCallback() is a better choice. In particular, if the goal is to run code before the next rendering cycle, that is the purpose of [48119]requestAnimationFrame(). </p> <p> As can be seen from the following examples, the best way of thinking about [48120]queueMicrotask() is as a mechanism for rearranging synchronous code, effectively placing the queued code immediately after the currently executing synchronous JavaScript has run to completion. </p> <p> The most common reason for using [48121]queueMicrotask() is to create consistent ordering, even in the cases where information is available synchronously, without introducing undue delay. </p> <p> For example, consider a custom element firing a load event, that also maintains an internal cache of previously-loaded data. A naïve implementation might look like: MyElement.prototype.loadData = function (url) { if (this._cache[url]) { this._setData(this._cache[url]); this.dispatchEvent(new Event("load")); } else { fetch(url).then(res => res.arrayBuffer()).then(data => { this._cache[url] = data; this._setData(data); this.dispatchEvent(new Event("load")); }); } }; </p> <p> This naïve implementation is problematic, however, in that it causes its users to experience inconsistent behavior. For example, code such as element.addEventListener("load", () => console.log("loaded")); console.log("1"); element.loadData(); console.log("2"); </p> <p> will sometimes log "1, 2, loaded" (if the data needs to be fetched), and sometimes log "1, loaded, 2" (if the data is already cached). Similarly, after the call to loadData(), it will be inconsistent whether or not the data is set on the element. </p> <p> To get a consistent ordering, [48122]queueMicrotask() can be used: MyElement.prototype.loadData = function (url) { if (this._cache[url]) { queueMicrotask(() => { this._setData(this._cache[url]); this.dispatchEvent(new Event("load")); }); } else { fetch(url).then(res => res.arrayBuffer()).then(data => { this._cache[url] = data; this._setData(data); this.dispatchEvent(new Event("load")); }); } }; </p> <p> By essentially rearranging the queued code to be after the [48123]JavaScript execution context stack empties, this ensures a consistent ordering and update of the element's state. </p> <p> Another interesting use of [48124]queueMicrotask() is to allow uncoordinated "batching" of work by multiple callers. For example, consider a library function that wants to send data somewhere as soon as possible, but doesn't want to make multiple network requests if doing so is easily avoidable. One way to balance this would be like so: const queuedToSend = []; </p> <p> function sendData(data) { queuedToSend.push(data); </p> <p> if (queuedToSend.length === 1) { queueMicrotask(() => { const stringToSend = JSON.stringify(queuedToSend); queuedToSend.length = 0; </p> <p> fetch("/endpoint", stringToSend); }); } } </p> <p> With this architecture, multiple subsequent calls to sendData() within the currently executing synchronous JavaScript will be batched together into one [48125]fetch() call, but with no intervening event loop tasks preempting the fetch (as would have happened with similar code that instead used [48126]setTimeout()). </p> <p> 8.8 User prompts </p> <p> 8.8.1 Simple dialogs </p> <p> window.[48127]alert(message) </p> <p> (BUTTON) ✔MDN </p> <p> [48128]Window/alert </p> <p> Support in all current engines. </p> <p> Firefox1+Safari1+Chrome1+ ___________________________________________________________ </p> <p> Opera3+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Displays a modal alert with the given message, and waits for the user to dismiss it. </p> <p> result = window.[48129]confirm(message) </p> <p> (BUTTON) ✔MDN </p> <p> [48130]Window/confirm </p> <p> Support in all current engines. </p> <p> Firefox1+Safari1+Chrome1+ ___________________________________________________________ </p> <p> Opera3+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android1+Samsung Internet?Opera Android10.1+ Displays a modal OK/Cancel prompt with the given message, waits for the user to dismiss it, and returns true if the user clicks OK and false if the user clicks Cancel. </p> <p> result = window.[48131]prompt(message [, default]) </p> <p> (BUTTON) ✔MDN </p> <p> [48132]Window/prompt </p> <p> Support in all current engines. </p> <p> Firefox1+Safari1+Chrome1+ ___________________________________________________________ </p> <p> Opera3+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Displays a modal text control prompt with the given message, waits for the user to dismiss it, and returns the value that the user entered. If the user cancels the prompt, then returns null instead. If the second argument is present, then the given value is used as a default. </p> <p> Logic that depends on [48133]tasks or [48134]microtasks, such as [48135]media elements loading their [48136]media data, are stalled when these methods are invoked. </p> <p> The alert() and alert(message) method steps are: 1. If we [48137]cannot show simple dialogs for [48138]this, then return. 2. If the method was invoked with no arguments, then let message be the empty string; otherwise, let message be the method's first argument. 3. Set message to the result of [48139]normalizing newlines given message. 4. Set message to the result of [48140]optionally truncating message. 5. Let userPromptHandler be [48141]WebDriver BiDi user prompt opened with [48142]this, "alert", and message. 6. If userPromptHandler is "none", then: 1. Show message to the user, treating U+000A LF as a line break. 2. Optionally, [48143]pause while waiting for the user to acknowledge the message. 7. Invoke [48144]WebDriver BiDi user prompt closed with [48145]this, "alert", and true. </p> <p> This method is defined using two overloads, instead of using an optional argument, for historical reasons. The practical impact of this is that alert(undefined) is treated as alert("undefined"), but alert() is treated as alert(""). </p> <p> The confirm(message) method steps are: 1. If we [48146]cannot show simple dialogs for [48147]this, then return false. 2. Set message to the result of [48148]normalizing newlines given message. 3. Set message to the result of [48149]optionally truncating message. 4. Show message to the user, treating U+000A LF as a line break, and ask the user to respond with a positive or negative response. 5. Let userPromptHandler be [48150]WebDriver BiDi user prompt opened with [48151]this, "confirm", and message. 6. Let accepted be false. 7. If userPromptHandler is "none", then: 1. [48152]Pause until the user responds either positively or negatively. 2. If the user responded positively, then set accepted to true. 8. If userPromptHandler is "accept", then set accepted to true. 9. Invoke [48153]WebDriver BiDi user prompt closed with [48154]this, "confirm", and accepted. 10. Return accepted. </p> <p> The prompt(message, default) method steps are: 1. If we [48155]cannot show simple dialogs for [48156]this, then return null. 2. Set message to the result of [48157]normalizing newlines given message. 3. Set message to the result of [48158]optionally truncating message. 4. Set default to the result of [48159]optionally truncating default. 5. Show message to the user, treating U+000A LF as a line break, and ask the user to either respond with a string value or abort. The response must be defaulted to the value given by default. 6. Let userPromptHandler be [48160]WebDriver BiDi user prompt opened with [48161]this, "prompt", and message. 7. Let result be null. 8. If userPromptHandler is "none", then: 1. [48162]Pause while waiting for the user's response. 2. If the user did not abort, then set result to the string that the user responded with. 9. Otherwise, if userPromptHandler is "accept", then set result to the empty string. 10. Invoke [48163]WebDriver BiDi user prompt closed with [48164]this, "prompt", false if result is null or true otherwise, and result. 11. Return result. </p> <p> To optionally truncate a simple dialog string s, return either s itself or some string derived from s that is shorter. User agents should not provide UI for displaying the elided portion of s, as this makes it too easy for abusers to create dialogs of the form "Important security alert! Click 'Show More' for full details!". </p> <p> For example, a user agent might want to only display the first 100 characters of a message. Or, a user agent might replace the middle of the string with "…". These types of modifications can be useful in limiting the abuse potential of unnaturally large, trustworthy-looking system dialogs. </p> <p> We cannot show simple dialogs for a [48165]Window window when the following algorithm returns true: 1. If the [48166]active sandboxing flag set of window's [48167]associated Document has the [48168]sandboxed modals flag set, then return true. 2. If window's [48169]relevant settings object's [48170]origin and window's [48171]relevant settings object's [48172]top-level origin are not [48173]same origin-domain, then return true. 3. If window's [48174]relevant agent's [48175]event loop's [48176]termination nesting level is nonzero, then optionally return true. 4. Optionally, return true. (For example, the user agent might give the user the option to ignore all modal dialogs, and would thus abort at this step whenever the method was invoked.) 5. Return false. </p> <p> 8.8.2 Printing </p> <p> (BUTTON) ✔MDN </p> <p> [48177]Window/print </p> <p> Support in all current engines. Firefox1+Safari1.1+Chrome1+ __________________________________________________________________ </p> <p> Opera6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer5+ __________________________________________________________________ </p> <p> Firefox Android114+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ </p> <p> window.[48178]print() Prompts the user to print the page. </p> <p> The print() method steps are: 1. Let document be [48179]this's [48180]associated Document. 2. If document is not [48181]fully active, then return. 3. If document's [48182]unload counter is greater than 0, then return. 4. If document is [48183]ready for post-load tasks, then run the [48184]printing steps for document. 5. Otherwise, set document's print when loaded flag. </p> <p> User agents should also run the [48185]printing steps whenever the user asks for the opportunity to [48186]obtain a physical form (e.g. printed copy), or the representation of a physical form (e.g. PDF copy), of a document. </p> <p> The printing steps for a [48187]Document document are: 1. The user agent may display a message to the user or return (or both). For instance, a kiosk browser could silently ignore any invocations of the [48188]print() method. For instance, a browser on a mobile device could detect that there are no printers in the vicinity and display a message saying so before continuing to offer a "save to PDF" option. 2. If the [48189]active sandboxing flag set of document has the [48190]sandboxed modals flag set, then return. If the printing dialog is blocked by a [48191]Document's sandbox, then neither the [48192]beforeprint nor [48193]afterprint events will be fired. 3. The user agent must [48194]fire an event named [48195]beforeprint at the [48196]relevant global object of document, as well as any [48197]child navigable in it. Firing in children only doesn't seem right here, and some tasks likely need to be queued. See [48198]issue #5096. The [48199]beforeprint event can be used to annotate the printed copy, for instance adding the time at which the document was printed. 4. The user agent should offer the user the opportunity to [48200]obtain a physical form (or the representation of a physical form) of document. The user agent may wait for the user to either accept or decline before returning; if so, the user agent must [48201]pause while the method is waiting. Even if the user agent doesn't wait at this point, the user agent must use the state of the relevant documents as they are at this point in the algorithm if and when it eventually creates the alternate form. 5. The user agent must [48202]fire an event named [48203]afterprint at the [48204]relevant global object of document, as well as any [48205]child navigables in it. Firing in children only doesn't seem right here, and some tasks likely need to be queued. See [48206]issue #5096. The [48207]afterprint event can be used to revert annotations added in the earlier event, as well as showing post-printing UI. For instance, if a page is walking the user through the steps of applying for a home loan, the script could automatically advance to the next step after having printed a form or other. </p> <p> 8.9 System state and capabilities </p> <p> 8.9.1 The [48208]Navigator object </p> <p> (BUTTON) ✔MDN </p> <p> [48209]Navigator </p> <p> Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________ </p> <p> Opera3+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ </p> <p> Instances of [48210]Navigator represent the identity and state of the user agent (the client). It has also been used as a generic global under which various APIs are located, but this is not precedent to build upon. Instead use the [48211]WindowOrWorkerGlobalScope mixin or equivalent. [Exposed=Window] interface Navigator { // objects implementing this interface also implement the interfaces given bel ow }; [48212]Navigator includes [48213]NavigatorID; [48214]Navigator includes [48215]NavigatorLanguage; [48216]Navigator includes [48217]NavigatorOnLine; [48218]Navigator includes [48219]NavigatorContentUtils; [48220]Navigator includes [48221]NavigatorCookies; [48222]Navigator includes [48223]NavigatorPlugins; [48224]Navigator includes [48225]NavigatorConcurrentHardware; </p> <p> These interface mixins are defined separately so that [48226]WorkerNavigator can reuse parts of the [48227]Navigator interface. </p> <p> Each [48228]Window has an associated Navigator, which is a [48229]Navigator object. Upon creation of the [48230]Window object, its [48231]associated Navigator must be set to a [48232]new [48233]Navigator object created in the [48234]Window object's [48235]relevant realm. </p> <p> (BUTTON) ✔MDN </p> <p> [48236]Window/navigator </p> <p> Support in all current engines. Firefox1+Safari1+Chrome1+ __________________________________________________________________ </p> <p> Opera3+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ </p> <p> The navigator and clientInformation getter steps are to return [48237]this's [48238]associated Navigator. </p> <p> 8.9.1.1 Client identification </p> <p> interface mixin NavigatorID { readonly attribute DOMString [48239]appCodeName; // constant "Mozilla" readonly attribute DOMString [48240]appName; // constant "Netscape" readonly attribute DOMString [48241]appVersion; readonly attribute DOMString [48242]platform; readonly attribute DOMString [48243]product; // constant "Gecko" [Exposed=Window] readonly attribute DOMString [48244]productSub; readonly attribute DOMString [48245]userAgent; [Exposed=Window] readonly attribute DOMString [48246]vendor; [Exposed=Window] readonly attribute DOMString [48247]vendorSub; // constant "" }; </p> <p> In certain cases, despite the best efforts of the entire industry, web browsers have bugs and limitations that web authors are forced to work around. </p> <p> This section defines a collection of attributes that can be used to determine, from script, the kind of user agent in use, in order to work around these issues. </p> <p> The user agent has a navigator compatibility mode, which is either Chrome, Gecko, or WebKit. </p> <p> The [48248]navigator compatibility mode constrains the [48249]NavigatorID mixin to the combinations of attribute values and presence of [48250]taintEnabled() and [48251]oscpu that are known to be compatible with existing web content. </p> <p> Client detection should always be limited to detecting known current versions; future versions and unknown versions should always be assumed to be fully compliant. </p> <p> self.[48252]navigator.[48253]appCodeName Returns the string "Mozilla". </p> <p> self.[48254]navigator.[48255]appName Returns the string "Netscape". </p> <p> self.[48256]navigator.[48257]appVersion Returns the version of the browser. </p> <p> self.[48258]navigator.[48259]platform Returns the name of the platform. </p> <p> self.[48260]navigator.[48261]product Returns the string "Gecko". </p> <p> window.[48262]navigator.[48263]productSub Returns either the string "20030107", or the string "20100101". </p> <p> self.[48264]navigator.[48265]userAgent </p> <p> (BUTTON) ✔MDN </p> <p> [48266]Navigator/userAgent </p> <p> Support in all current engines. </p> <p> Firefox1+Safari1+Chrome1+ ___________________________________________________________ </p> <p> Opera12.1+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ </p> <p> [48267]WorkerNavigator/userAgent </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera12.1+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns the complete `User-Agent` header. </p> <p> window.[48268]navigator.[48269]vendor Returns either the empty string, the string "Apple Computer, Inc.", or the string "Google Inc.". </p> <p> window.[48270]navigator.[48271]vendorSub Returns the empty string. </p> <p> appCodeName Must return the string "Mozilla". </p> <p> appName Must return the string "Netscape". </p> <p> appVersion Must return the appropriate string that starts with "5.0 (", as follows: </p> <p> Let trail be the substring of [48272]default `User-Agent` value that follows the "Mozilla/" prefix. </p> <p> If the [48273]navigator compatibility mode is Chrome or WebKit Return trail. </p> <p> If the [48274]navigator compatibility mode is Gecko If trail starts with "5.0 (Windows", then return "5.0 (Windows)". </p> <p> Otherwise, return the prefix of trail up to but not including the first U+003B (;), concatenated with the character U+0029 RIGHT PARENTHESIS. For example, "5.0 (Macintosh)", "5.0 (Android 10)", or "5.0 (X11)". </p> <p> platform Must return a string representing the platform on which the browser is executing (e.g. "MacIntel", "Win32", "Linux x86_64", "Linux armv81") or, for privacy and compatibility, a string that is commonly returned on another platform. </p> <p> product Must return the string "Gecko". </p> <p> productSub Must return the appropriate string from the following list: </p> <p> If the [48275]navigator compatibility mode is Chrome or WebKit The string "20030107". </p> <p> If the [48276]navigator compatibility mode is Gecko The string "20100101". </p> <p> userAgent Must return the [48277]default `User-Agent` value. </p> <p> vendor Must return the appropriate string from the following list: </p> <p> If the [48278]navigator compatibility mode is Chrome The string "Google Inc.". </p> <p> If the [48279]navigator compatibility mode is Gecko The empty string. </p> <p> If the [48280]navigator compatibility mode is WebKit The string "Apple Computer, Inc.". </p> <p> vendorSub Must return the empty string. </p> <p> If the [48281]navigator compatibility mode is Gecko, then the user agent must also support the following partial interface: partial interface mixin [48282]NavigatorID { [Exposed=Window] boolean [48283]taintEnabled(); // constant false [Exposed=Window] readonly attribute DOMString [48284]oscpu; }; </p> <p> The taintEnabled() method must return false. </p> <p> The oscpu attribute's getter must return either the empty string or a string representing the platform on which the browser is executing, e.g. "Windows NT 10.0; Win64; x64", "Linux x86_64". </p> <p> [48285](This is a tracking vector.) Any information in this API that varies from user to user can be used to profile the user. In fact, if enough such information is available, a user can actually be uniquely identified. For this reason, user agent implementers are strongly urged to include as little information in this API as possible. </p> <p> 8.9.1.2 Language preferences </p> <p> interface mixin NavigatorLanguage { readonly attribute DOMString [48286]language; readonly attribute FrozenArray<DOMString> [48287]languages; }; </p> <p> self.[48288]navigator.[48289]language </p> <p> (BUTTON) ✔MDN </p> <p> [48290]Navigator/language </p> <p> Support in all current engines. </p> <p> Firefox1+Safari1+Chrome1+ ___________________________________________________________ </p> <p> Opera4+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer11 ___________________________________________________________ </p> <p> Firefox Android4+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ </p> <p> [48291]WorkerNavigator/language </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari10+Chrome4+ ___________________________________________________________ </p> <p> Opera4+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer11 ___________________________________________________________ </p> <p> Firefox Android4+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ Returns a language tag representing the user's preferred language. </p> <p> self.[48292]navigator.[48293]languages </p> <p> (BUTTON) ✔MDN </p> <p> [48294]Navigator/languages </p> <p> Support in all current engines. </p> <p> Firefox32+Safari10.1+Chrome37+ ___________________________________________________________ </p> <p> Opera24+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)16+Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet3.0+Opera Android24+ </p> <p> [48295]WorkerNavigator/languages </p> <p> Support in all current engines. </p> <p> Firefox32+Safari10.1+Chrome37+ ___________________________________________________________ </p> <p> Opera24+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)16+Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet3.0+Opera Android24+ Returns an array of language tags representing the user's preferred languages, with the most preferred language first. </p> <p> The most preferred language is the one returned by [48296]navigator.language. </p> <p> A [48297]languagechange event is fired at the [48298]Window or [48299]WorkerGlobalScope object when the user agent's understanding of what the user's preferred languages are changes. </p> <p> language Must return a valid BCP 47 language tag representing either [48300]a plausible language or the user's most preferred language. [48301][BCP47] </p> <p> languages Must return a [48302]frozen array of valid BCP 47 language tags representing either one or more [48303]plausible languages, or the user's preferred languages, ordered by preference with the most preferred language first. The same object must be returned until the user agent needs to return different values, or values in a different order. [48304][BCP47] </p> <p> Whenever the user agent needs to make the [48305]navigator.languages attribute of a [48306]Window or [48307]WorkerGlobalScope object global return a new set of language tags, the user agent must [48308]queue a global task on the [48309]DOM manipulation task source given global to [48310]fire an event named [48311]languagechange at global, and wait until that task begins to be executed before actually returning a new value. </p> <p> To determine a plausible language, the user agent should bear in mind the following: * [48312](This is a tracking vector.) Any information in this API that varies from user to user can be used to profile or identify the user. * If the user is not using a service that obfuscates the user's point of origin (e.g. the Tor anonymity network), then the value that is least likely to distinguish the user from other users with similar origins (e.g. from the same IP address block) is the language used by the majority of such users. [48313][TOR] * If the user is using an anonymizing service, then the value "en-US" is suggested; if all users of the service use that same value, that reduces the possibility of distinguishing the users from each other. </p> <p> [48314](This is a tracking vector.) To avoid introducing any more fingerprinting vectors, user agents should use the same list for the APIs defined in this function as for the HTTP `[48315]Accept-Language` header. </p> <p> 8.9.1.3 Browser state </p> <p> interface mixin NavigatorOnLine { readonly attribute boolean [48316]onLine; }; </p> <p> self.[48317]navigator.[48318]onLine </p> <p> (BUTTON) ✔MDN </p> <p> [48319]Navigator/onLine </p> <p> Support in all current engines. </p> <p> Firefox1.5+Safari4+Chrome2+ ___________________________________________________________ </p> <p> Opera3+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________ </p> <p> Firefox Android4+Safari iOS?Chrome Android18+WebView Android🔰 37+Samsung Internet?Opera Android10.1+ </p> <p> [48320]WorkerNavigator/onLine </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera10.6+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android4+Safari iOS5+Chrome Android?WebView Android🔰 4.4+Samsung Internet?Opera Android11+ Returns false if the user agent is definitely offline (disconnected from the network). Returns true if the user agent might be online. </p> <p> The events [48321]online and [48322]offline are fired when the value of this attribute changes. </p> <p> The onLine attribute must return false if the user agent will not contact the network when the user follows links or when a script requests a remote page (or knows that such an attempt would fail), and must return true otherwise. </p> <p> When the value that would be returned by the [48323]navigator.onLine attribute of a [48324]Window or [48325]WorkerGlobalScope global changes from true to false, the user agent must [48326]queue a global task on the [48327]networking task source given global to [48328]fire an event named [48329]offline at global. </p> <p> On the other hand, when the value that would be returned by the [48330]navigator.onLine attribute of a [48331]Window or [48332]WorkerGlobalScope global changes from false to true, the user agent must [48333]queue a global task on the [48334]networking task source given global to [48335]fire an event named [48336]online at the [48337]Window or [48338]WorkerGlobalScope object. </p> <p> This attribute is inherently unreliable. A computer can be connected to a network without having Internet access. </p> <p> In this example, an indicator is updated as the browser goes online and offline. <!DOCTYPE HTML> <html lang="en"> <head> <title>Online status</title> <script> function updateIndicator() { document.getElementById(ʼindicatorʼ).textContent = navigator.onLine ? ʼonli neʼ : ʼofflineʼ; } </script> </head> <body onload="updateIndicator()" ononline="updateIndicator()" onoffline="update Indicator()"> <p>The network is: <span id="indicator">(state unknown)</span> </body> </html> </p> <p> 8.9.1.4 Custom scheme handlers: the [48339]registerProtocolHandler() method </p> <p> (BUTTON) MDN </p> <p> [48340]Navigator/registerProtocolHandler Firefox2+SafariNoChrome13+ __________________________________________________________________ </p> <p> Opera11.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)NoInternet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome AndroidNoWebView Android?Samsung Internet?Opera Android? </p> <p> interface mixin NavigatorContentUtils { [SecureContext] undefined [48341]registerProtocolHandler(DOMString scheme, USV String url); [SecureContext] undefined [48342]unregisterProtocolHandler(DOMString scheme, U SVString url); }; </p> <p> window.[48343]navigator.[48344]registerProtocolHandler(scheme, url) Registers a handler for scheme at url. For example, an online telephone messaging service could register itself as a handler of the [48345]sms: scheme, so that if the user clicks on such a link, they are given the opportunity to use that web site. [48346][SMS] </p> <p> The string "%s" in url is used as a placeholder for where to put the URL of the content to be handled. </p> <p> Throws a [48347]"SecurityError" [48348]DOMException if the user agent blocks the registration (this might happen if trying to register as a handler for "http", for instance). </p> <p> Throws a [48349]"SyntaxError" [48350]DOMException if the "%s" string is missing in url. </p> <p> window.[48351]navigator.[48352]unregisterProtocolHandler(scheme, url) </p> <p> (BUTTON) ⚠MDN </p> <p> [48353]Navigator/unregisterProtocolHandler </p> <p> Support in one engine only. </p> <p> FirefoxNoSafariNoChrome38+ ___________________________________________________________ </p> <p> Opera25+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome AndroidNoWebView Android?Samsung Internet?Opera Android? Unregisters the handler given by the arguments. </p> <p> Throws a [48354]"SecurityError" [48355]DOMException if the user agent blocks the deregistration (this might happen if with invalid schemes, for instance). </p> <p> Throws a [48356]"SyntaxError" [48357]DOMException if the "%s" string is missing in url. </p> <p> The registerProtocolHandler(scheme, url) method steps are: 1. Let (normalizedScheme, normalizedURLString) be the result of running [48358]normalize protocol handler parameters with scheme, url, and [48359]this's [48360]relevant settings object. 2. [48361]In parallel: register a protocol handler for normalizedScheme and normalizedURLString. User agents may, within the constraints described, do whatever they like. A user agent could, for instance, prompt the user and offer the user the opportunity to add the site to a shortlist of handlers, or make the handlers their default, or cancel the request. User agents could also silently collect the information, providing it only when relevant to the user. User agents should keep track of which sites have registered handlers (even if the user has declined such registrations) so that the user is not repeatedly prompted with the same request. If the [48362]registerProtocolHandler() automation mode of [48363]this's [48364]relevant global object's [48365]associated Document is not "none", the user agent should first verify that it is in an automation context (see [48366]WebDriver's security considerations). The user agent should then bypass the above communication of information and gathering of user consent, and instead do the following based on the value of the [48367]registerProtocolHandler() automation mode: </p> <p> "autoAccept" Act as if the user has seen the registration details and accepted the request. </p> <p> "autoReject" Act as if the user has seen the registration details and rejected the request. </p> <p> When the user agent uses this handler for a [48368]URL inputURL: 1. [48369]Assert: inputURL's [48370]scheme is normalizedScheme. 2. [48371]Set the username given inputURL and the empty string. 3. [48372]Set the password given inputURL and the empty string. 4. Let inputURLString be the [48373]serialization of inputURL. 5. Let encodedURL be the result of running [48374]UTF-8 percent-encode on inputURLString using the [48375]component percent-encode set. 6. Let handlerURLString be normalizedURLString. 7. Replace the first instance of "%s" in handlerURLString with encodedURL. 8. Let resultURL be the result of [48376]parsing handlerURLString. 9. [48377]Navigate an appropriate [48378]navigable to resultURL. If the user had visited a site at https://example.com/ that made the following call: navigator.registerProtocolHandler(ʼweb+soupʼ, ʼsoup?url=%sʼ) ...and then, much later, while visiting https://www.example.net/, clicked on a link such as: <a href="web+soup:chicken-kïwi">Download our Chicken Kïwi soup!</a> ...then the UA might navigate to the following URL: https://example.com/soup?url=web+soup:chicken-k%C3%AFwi This site could then do whatever it is that it does with soup (synthesize it and ship it to the user, or whatever). This does not define when the handler is used. To some extent, the [48379]processing model for navigating across documents defines some cases where it is relevant, but in general user agents may use this information wherever they would otherwise consider handing schemes to native plugins or helper applications. </p> <p> The unregisterProtocolHandler(scheme, url) method steps are: 1. Let (normalizedScheme, normalizedURLString) be the result of running [48380]normalize protocol handler parameters with scheme, url, and [48381]this's [48382]relevant settings object. 2. [48383]In parallel: unregister the handler described by normalizedScheme and normalizedURLString. __________________________________________________________________ </p> <p> To normalize protocol handler parameters, given a string scheme, a string url, and an [48384]environment settings object environment, run these steps: 1. Set scheme to scheme, [48385]converted to ASCII lowercase. 2. If scheme is neither a [48386]safelisted scheme nor a string starting with "web+" followed by one or more [48387]ASCII lower alphas, then throw a [48388]"SecurityError" [48389]DOMException. This means that including a colon in scheme (as in "mailto:") will throw. The following schemes are the safelisted schemes: + bitcoin + ftp + ftps + geo + im + irc + ircs + magnet + mailto + matrix + mms + news + nntp + openpgp4fpr + sftp + sip + sms + smsto + ssh + tel + urn + webcal + wtai + xmpp This list can be changed. If there are schemes that ought to be added, please send feedback. 3. If url does not contain "%s", then throw a [48390]"SyntaxError" [48391]DOMException. 4. Let urlRecord be the result of [48392]encoding-parsing a URL given url, relative to environment. 5. If urlRecord is failure, then throw a [48393]"SyntaxError" [48394]DOMException. This is forcibly the case if the %s placeholder is in the host or port of the URL. 6. If urlRecord's [48395]scheme is not an [48396]HTTP(S) scheme or urlRecord's [48397]origin is not [48398]same origin with environment's [48399]origin, then throw a [48400]"SecurityError" [48401]DOMException. 7. [48402]Assert: the result of [48403]Is url potentially trustworthy? given urlRecord is "Potentially Trustworthy". Because [48404]normalize protocol handler parameters is run within a [48405]secure context, this is implied by the [48406]same origin condition. 8. Return (scheme, urlRecord). The [48407]serialization of urlRecord will by definition not be a [48408]valid URL string as it includes the string "%s" which is not a valid component in a URL. </p> <p> 8.9.1.4.1 Security and privacy </p> <p> Custom scheme handlers can introduce a number of concerns, in particular privacy concerns. </p> <p> Hijacking all web usage. User agents should not allow schemes that are key to its normal operation, such as an [48409]HTTP(S) scheme, to be rerouted through third-party sites. This would allow a user's activities to be trivially tracked, and would allow user information, even in secure connections, to be collected. </p> <p> Hijacking defaults. User agents are strongly urged to not automatically change any defaults, as this could lead the user to send data to remote hosts that the user is not expecting. New handlers registering themselves should never automatically cause those sites to be used. </p> <p> Registration spamming. User agents should consider the possibility that a site will attempt to register a large number of handlers, possibly from multiple domains (e.g., by redirecting through a series of pages each on a different domain, and each registering a handler for web+spam: — analogous practices abusing other web browser features have been used by pornography web sites for many years). User agents should gracefully handle such hostile attempts, protecting the user. </p> <p> Hostile handler metadata. User agents should protect against typical attacks against strings embedded in their interface, for example ensuring that markup or escape characters in such strings are not executed, that null bytes are properly handled, that over-long strings do not cause crashes or buffer overruns, and so forth. </p> <p> Leaking private data. Web page authors may reference a custom scheme handler using URL data considered private. They might do so with the expectation that the user's choice of handler points to a page inside the organization, ensuring that sensitive data will not be exposed to third parties. However, a user may have registered a handler pointing to an external site, resulting in a data leak to that third party. Implementers might wish to consider allowing administrators to disable custom handlers on certain subdomains, content types, or schemes. </p> <p> Interface interference. User agents should be prepared to handle intentionally long arguments to the methods. For example, if the user interface exposed consists of an "accept" button and a "deny" button, with the "accept" binding containing the name of the handler, it's important that a long name not cause the "deny" button to be pushed off the screen. </p> <p> 8.9.1.4.2 User agent automation </p> <p> Each [48410]Document has a registerProtocolHandler() automation mode. It defaults to "[48411]none", but it also can be either "[48412]autoAccept" or "[48413]autoReject". </p> <p> For the purposes of user agent automation and website testing, this standard defines Set RPH Registration Mode WebDriver [48414]extension command. It instructs the user agent to place a [48415]Document into a mode where it will automatically simulate a user either accepting or rejecting and registration confirmation prompt dialog. </p> <p> HTTP Method URI Template `POST` /session/{session id}/custom-handlers/set-mode </p> <p> The [48416]remote end steps are: 1. If parameters is not a JSON Object, return a [48417]WebDriver error with [48418]WebDriver error code [48419]invalid argument. 2. Let mode be the result of [48420]getting a property named "mode" from parameters. 3. If mode is not "[48421]autoAccept", "[48422]autoReject", or "[48423]none", return a [48424]WebDriver error with [48425]WebDriver error code [48426]invalid argument. 4. Let document be the [48427]current browsing context's [48428]active document. 5. Set document's [48429]registerProtocolHandler() automation mode to mode. 6. Return [48430]success with data null. </p> <p> 8.9.1.5 Cookies </p> <p> interface mixin NavigatorCookies { readonly attribute boolean [48431]cookieEnabled; }; </p> <p> window.[48432]navigator.[48433]cookieEnabled </p> <p> (BUTTON) ✔MDN </p> <p> [48434]Navigator/cookieEnabled </p> <p> Support in all current engines. </p> <p> Firefox1+Safari1+Chrome1+ ___________________________________________________________ </p> <p> Opera12.1+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer4+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ Returns false if setting a cookie will be ignored, and true otherwise. </p> <p> The cookieEnabled attribute must return true if the user agent attempts to handle cookies according to HTTP State Management Mechanism, and false if it ignores cookie change requests. [48435][COOKIES] </p> <p> 8.9.1.6 PDF viewing support </p> <p> window.[48436]navigator.[48437]pdfViewerEnabled Returns true if the user agent supports inline viewing of PDF files when [48438]navigating to them, or false otherwise. In the latter case, PDF files will be handled by [48439]external software. </p> <p> interface mixin NavigatorPlugins { [SameObject] readonly attribute [48440]PluginArray [48441]plugins; [SameObject] readonly attribute [48442]MimeTypeArray [48443]mimeTypes; boolean [48444]javaEnabled(); readonly attribute boolean [48445]pdfViewerEnabled; }; </p> <p> [Exposed=Window, [48446]LegacyUnenumerableNamedProperties] interface PluginArray { undefined [48447]refresh(); readonly attribute unsigned long [48448]length; getter [48449]Plugin? [48450]item(unsigned long index); getter [48451]Plugin? [48452]namedItem(DOMString name); }; </p> <p> [Exposed=Window, [48453]LegacyUnenumerableNamedProperties] interface MimeTypeArray { readonly attribute unsigned long [48454]length; getter [48455]MimeType? [48456]item(unsigned long index); getter [48457]MimeType? [48458]namedItem(DOMString name); }; </p> <p> [Exposed=Window, [48459]LegacyUnenumerableNamedProperties] interface Plugin { readonly attribute DOMString [48460]name; readonly attribute DOMString [48461]description; readonly attribute DOMString [48462]filename; readonly attribute unsigned long [48463]length; getter [48464]MimeType? [48465]item(unsigned long index); getter [48466]MimeType? [48467]namedItem(DOMString name); }; </p> <p> [Exposed=Window] interface MimeType { readonly attribute DOMString [48468]type; readonly attribute DOMString [48469]description; readonly attribute DOMString [48470]suffixes; readonly attribute [48471]Plugin [48472]enabledPlugin; }; </p> <p> Although these days detecting PDF viewer support can be done via [48473]navigator.pdfViewerEnabled, for historical reasons, there are a number of complex and intertwined interfaces that provide the same capability, which legacy code relies on. This section specifies both the simple modern variant and the complicated historical one. </p> <p> Each user agent has a PDF viewer supported boolean, whose value is [48474]implementation-defined (and might vary according to user preferences). </p> <p> This value also impacts the [48475]navigation processing model. __________________________________________________________________ </p> <p> Each [48476]Window object has a PDF viewer plugin objects list. If the user agent's [48477]PDF viewer supported is false, then it is the empty list. Otherwise, it is a list containing five [48478]Plugin objects, whose [48479]names are, respectively: 0. "PDF Viewer" 1. "Chrome PDF Viewer" 2. "Chromium PDF Viewer" 3. "Microsoft Edge PDF Viewer" 4. "WebKit built-in PDF" </p> <p> The values of the above list form the PDF viewer plugin names list. </p> <p> These names were chosen based on evidence of what websites historically search for, and thus what is necessary for user agents to expose in order to maintain compatibility with existing content. They are ordered alphabetically. The "PDF Viewer" name was then inserted in the 0th position so that the [48480]enabledPlugin getter could point to a generic plugin name. </p> <p> Each [48481]Window object has a PDF viewer mime type objects list. If the user agent's [48482]PDF viewer supported is false, then it is the empty list. Otherwise, it is a list containing two [48483]MimeType objects, whose [48484]types are, respectively: 0. "application/pdf" 1. "text/pdf" </p> <p> The values of the above list form the PDF viewer mime types list. __________________________________________________________________ </p> <p> Each [48485]NavigatorPlugins object has a plugins array, which is a new [48486]PluginArray, and a mime types array, which is a new [48487]MimeTypeArray. </p> <p> The [48488]NavigatorPlugins mixin's plugins getter steps are to return [48489]this's [48490]plugins array. </p> <p> The [48491]NavigatorPlugins mixin's mimeTypes getter steps are to return [48492]this's [48493]mime types array. </p> <p> The [48494]NavigatorPlugins mixin's javaEnabled() method steps are to return false. </p> <p> (BUTTON) ✔MDN </p> <p> [48495]Navigator/pdfViewerEnabled </p> <p> Support in all current engines. Firefox99+Safari16.4+Chrome94+ __________________________________________________________________ </p> <p> Opera?Edge94+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? </p> <p> The [48496]NavigatorPlugins mixin's pdfViewerEnabled getter steps are to return the user agent's [48497]PDF viewer supported. __________________________________________________________________ </p> <p> The [48498]PluginArray interface [48499]supports named properties. If the user agent's [48500]PDF viewer supported is true, then they are the [48501]PDF viewer plugin names. Otherwise, they are the empty list. </p> <p> The [48502]PluginArray interface's namedItem(name) method steps are: 1. [48503]For each [48504]Plugin plugin of [48505]this's [48506]relevant global object's [48507]PDF viewer plugin objects: if plugin's [48508]name is name, then return plugin. 2. Return null. </p> <p> The [48509]PluginArray interface [48510]supports indexed properties. The [48511]supported property indices are the [48512]indices of [48513]this's [48514]relevant global object's [48515]PDF viewer plugin objects. </p> <p> The [48516]PluginArray interface's item(index) method steps are: 1. Let plugins be [48517]this's [48518]relevant global object's [48519]PDF viewer plugin objects. 2. If index < plugins's [48520]size, then return plugins[index]. 3. Return null. </p> <p> The [48521]PluginArray interface's length getter steps are to return [48522]this's [48523]relevant global object's [48524]PDF viewer plugin objects's [48525]size. </p> <p> The [48526]PluginArray interface's refresh() method steps are to do nothing. __________________________________________________________________ </p> <p> The [48527]MimeTypeArray interface [48528]supports named properties. If the user agent's [48529]PDF viewer supported is true, then they are the [48530]PDF viewer mime types. Otherwise, they are the empty list. </p> <p> The [48531]MimeTypeArray interface's namedItem(name) method steps are: 1. [48532]For each [48533]MimeType mimeType of [48534]this's [48535]relevant global object's [48536]PDF viewer mime type objects: if mimeType's [48537]type is name, then return mimeType. 2. Return null. </p> <p> The [48538]MimeTypeArray interface [48539]supports indexed properties. The [48540]supported property indices are the [48541]indices of [48542]this's [48543]relevant global object's [48544]PDF viewer mime type objects. </p> <p> The [48545]MimeTypeArray interface's item(index) method steps are: 1. Let mimeTypes be [48546]this's [48547]relevant global object's [48548]PDF viewer mime type objects. 2. If index < mimeTypes's [48549]size, then return mimeTypes[index]. 3. Return null. </p> <p> The [48550]MimeTypeArray interface's length getter steps are to return [48551]this's [48552]relevant global object's [48553]PDF viewer mime type objects's [48554]size. __________________________________________________________________ </p> <p> Each [48555]Plugin object has a name, which is set when the object is created. </p> <p> The [48556]Plugin interface's name getter steps are to return [48557]this's [48558]name. </p> <p> The [48559]Plugin interface's description getter steps are to return "Portable Document Format". </p> <p> The [48560]Plugin interface's filename getter steps are to return "internal-pdf-viewer". </p> <p> The [48561]Plugin interface [48562]supports named properties. If the user agent's [48563]PDF viewer supported is true, then they are the [48564]PDF viewer mime types. Otherwise, they are the empty list. </p> <p> The [48565]Plugin interface's namedItem(name) method steps are: 1. [48566]For each [48567]MimeType mimeType of [48568]this's [48569]relevant global object's [48570]PDF viewer mime type objects: if mimeType's [48571]type is name, then return mimeType. 2. Return null. </p> <p> The [48572]Plugin interface [48573]supports indexed properties. The [48574]supported property indices are the [48575]indices of [48576]this's [48577]relevant global object's [48578]PDF viewer mime type objects. </p> <p> The [48579]Plugin interface's item(index) method steps are: 1. Let mimeTypes be [48580]this's [48581]relevant global object's [48582]PDF viewer mime type objects. 2. If index < mimeTypes's [48583]size, then return mimeTypes[index]. 3. Return null. </p> <p> The [48584]Plugin interface's length getter steps are to return [48585]this's [48586]relevant global object's [48587]PDF viewer mime type objects's [48588]size. __________________________________________________________________ </p> <p> Each [48589]MimeType object has a type, which is set when the object is created. </p> <p> The [48590]MimeType interface's type getter steps are to return [48591]this's [48592]type. </p> <p> The [48593]MimeType interface's description getter steps are to return "Portable Document Format". </p> <p> The [48594]MimeType interface's suffixes getter steps are to return "pdf". </p> <p> The [48595]MimeType interface's enabledPlugin getter steps are to return [48596]this's [48597]relevant global object's [48598]PDF viewer plugin objects[0] (i.e., the generic "PDF Viewer" one). </p> <p> 8.10 Images </p> <p> (BUTTON) ✔MDN </p> <p> [48599]ImageBitmap </p> <p> Support in all current engines. Firefox42+Safari15+Chrome50+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? </p> <p> [Exposed=(Window,Worker), [48600]Serializable, [48601]Transferable] interface ImageBitmap { readonly attribute unsigned long [48602]width; readonly attribute unsigned long [48603]height; undefined [48604]close(); }; </p> <p> typedef ([48605]CanvasImageSource or [48606]Blob or [48607]ImageData) ImageBitmapSource; </p> <p> enum ImageOrientation { "[48608]from-image", "[48609]flipY" }; enum PremultiplyAlpha { "[48610]none", "[48611]premultiply", "[48612]default" }; enum ColorSpaceConversion { "[48613]none", "[48614]default" }; enum ResizeQuality { "[48615]pixelated", "[48616]low", "[48617]medium", "[48618] high" }; </p> <p> dictionary ImageBitmapOptions { [48619]ImageOrientation [48620]imageOrientation = "[48621]from-image"; [48622]PremultiplyAlpha [48623]premultiplyAlpha = "[48624]default"; [48625]ColorSpaceConversion [48626]colorSpaceConversion = "[48627]default"; [EnforceRange] unsigned long [48628]resizeWidth; [EnforceRange] unsigned long [48629]resizeHeight; [48630]ResizeQuality [48631]resizeQuality = "[48632]low"; }; </p> <p> An [48633]ImageBitmap object represents a bitmap image that can be painted to a canvas without undue latency. </p> <p> The exact judgement of what is undue latency of this is left up to the implementer, but in general if making use of the bitmap requires network I/O, or even local disk I/O, then the latency is probably undue; whereas if it only requires a blocking read from a GPU or system RAM, the latency is probably acceptable. </p> <p> promise = self.[48634]createImageBitmap(image [, options ]) </p> <p> (BUTTON) ✔MDN </p> <p> [48635]createImageBitmap </p> <p> Support in all current engines. </p> <p> Firefox42+Safari15+Chrome50+ ___________________________________________________________ </p> <p> Opera?Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? </p> <p> promise = self.[48636]createImageBitmap(image, sx, sy, sw, sh [, options ]) Takes image, which can be an [48637]img element, an [48638]SVG image element, a [48639]video element, a [48640]canvas element, a [48641]Blob object, an [48642]ImageData object, or another [48643]ImageBitmap object, and returns a promise that is resolved when a new [48644]ImageBitmap is created. </p> <p> If no [48645]ImageBitmap object can be constructed, for example because the provided image data is not actually an image, then the promise is rejected instead. </p> <p> If sx, sy, sw, and sh arguments are provided, the source image is cropped to the given pixels, with any pixels missing in the original replaced by [48646]transparent black. These coordinates are in the source image's pixel coordinate space, not in [48647]CSS pixels. </p> <p> If options is provided, the [48648]ImageBitmap object's bitmap data is modified according to options. For example, if the [48649]premultiplyAlpha option is set to "[48650]premultiply", the [48651]bitmap data's non-alpha color components are [48652]premultiplied by the alpha component. </p> <p> Rejects the promise with an [48653]"InvalidStateError" [48654]DOMException if the source image is not in a valid state (e.g., an [48655]img element that hasn't loaded successfully, an [48656]ImageBitmap object whose [48657][[Detached]] internal slot value is true, an [48658]ImageData object whose [48659]data attribute value's [[ViewedArrayBuffer]] internal slot is detached, or a [48660]Blob whose data cannot be interpreted as a bitmap image). </p> <p> Rejects the promise with a [48661]"SecurityError" [48662]DOMException if the script is not allowed to access the image data of the source image (e.g. a [48663]video that is [48664]CORS-cross-origin, or a [48665]canvas being drawn on by a script in a worker from another [48666]origin). </p> <p> imageBitmap.[48667]close() </p> <p> (BUTTON) ✔MDN </p> <p> [48668]ImageBitmap/close </p> <p> Support in all current engines. </p> <p> Firefox46+Safari15+Chrome52+ ___________________________________________________________ </p> <p> Opera37+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android37+ Releases imageBitmap's underlying [48669]bitmap data. </p> <p> imageBitmap.[48670]width </p> <p> (BUTTON) ✔MDN </p> <p> [48671]ImageBitmap/width </p> <p> Support in all current engines. </p> <p> Firefox42+Safari15+Chrome50+ ___________________________________________________________ </p> <p> Opera?Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the [48672]natural width of the image, in [48673]CSS pixels. </p> <p> imageBitmap.[48674]height </p> <p> (BUTTON) ✔MDN </p> <p> [48675]ImageBitmap/height </p> <p> Support in all current engines. </p> <p> Firefox42+Safari15+Chrome50+ ___________________________________________________________ </p> <p> Opera?Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the [48676]natural height of the image, in [48677]CSS pixels. </p> <p> An [48678]ImageBitmap object whose [48679][[Detached]] internal slot value is false always has associated bitmap data, with a width and a height. However, it is possible for this data to be corrupted. If an [48680]ImageBitmap object's media data can be decoded without errors, it is said to be fully decodable. </p> <p> An [48681]ImageBitmap object's bitmap has an [48682]origin-clean flag, which indicates whether the bitmap is tainted by content from a different [48683]origin. The flag is initially set to true and may be changed to false by the steps of [48684]createImageBitmap(). __________________________________________________________________ </p> <p> [48685]ImageBitmap objects are [48686]serializable objects and [48687]transferable objects. </p> <p> Their [48688]serialization steps, given value and serialized, are: 1. If value's [48689]origin-clean flag is not set, then throw a [48690]"DataCloneError" [48691]DOMException. 2. Set serialized.[[BitmapData]] to a copy of value's [48692]bitmap data. </p> <p> Their [48693]deserialization steps, given serialized, value, and targetRealm, are: 1. Set value's [48694]bitmap data to serialized.[[BitmapData]]. </p> <p> Their [48695]transfer steps, given value and dataHolder, are: 1. If value's [48696]origin-clean flag is not set, then throw a [48697]"DataCloneError" [48698]DOMException. 2. Set dataHolder.[[BitmapData]] to value's [48699]bitmap data. 3. Unset value's [48700]bitmap data. </p> <p> Their [48701]transfer-receiving steps, given dataHolder and value, are: 1. Set value's [48702]bitmap data to dataHolder.[[BitmapData]]. __________________________________________________________________ </p> <p> The createImageBitmap(image, options) and createImageBitmap(image, sx, sy, sw, sh, options) methods, when invoked, must run these steps: 1. If either sw or sh is given and is 0, then return [48703]a promise rejected with a [48704]RangeError. 2. If either options's resizeWidth or options's resizeHeight is present and is 0, then return [48705]a promise rejected with an [48706]"InvalidStateError" [48707]DOMException. 3. [48708]Check the usability of the image argument. If this throws an exception or returns bad, then return [48709]a promise rejected with an [48710]"InvalidStateError" [48711]DOMException. 4. Let p be a new promise. 5. Let imageBitmap be a new [48712]ImageBitmap object. 6. Switch on image: </p> <p> [48713]img [48714]SVG image </p> <p> 1. If image's media data has no [48715]natural dimensions (e.g., it's a vector graphic with no specified content size) and either options's [48716]resizeWidth or options's [48717]resizeHeight is not present, then return [48718]a promise rejected with an [48719]"InvalidStateError" [48720]DOMException. 2. If image's media data has no [48721]natural dimensions (e.g., it's a vector graphic with no specified content size), it should be rendered to a bitmap of the size specified by the [48722]resizeWidth and the [48723]resizeHeight options. 3. Set imageBitmap's [48724]bitmap data to a copy of image's media data, [48725]cropped to the source rectangle with formatting. If this is an animated image, imageBitmap's [48726]bitmap data must only be taken from the default image of the animation (the one that the format defines is to be used when animation is not supported or is disabled), or, if there is no such image, the first frame of the animation. 4. If image [48727]is not origin-clean, then set the [48728]origin-clean flag of imageBitmap's bitmap to false. 5. Run this step [48729]in parallel: 1. Resolve p with imageBitmap. </p> <p> [48730]video </p> <p> 1. If image's [48731]networkState attribute is [48732]NETWORK_EMPTY, then return [48733]a promise rejected with an [48734]"InvalidStateError" [48735]DOMException. 2. Set imageBitmap's [48736]bitmap data to a copy of the frame at the [48737]current playback position, at the [48738]media resource's [48739]natural width and [48740]natural height (i.e., after any aspect-ratio correction has been applied), [48741]cropped to the source rectangle with formatting. 3. If image [48742]is not origin-clean, then set the [48743]origin-clean flag of imageBitmap's bitmap to false. 4. Run this step [48744]in parallel: 1. Resolve p with imageBitmap. </p> <p> [48745]canvas </p> <p> 1. Set imageBitmap's [48746]bitmap data to a copy of image's [48747]bitmap data, [48748]cropped to the source rectangle with formatting. 2. Set the [48749]origin-clean flag of the imageBitmap's bitmap to the same value as the [48750]origin-clean flag of image's bitmap. 3. Run this step [48751]in parallel: 1. Resolve p with imageBitmap. </p> <p> [48752]Blob Run these steps [48753]in parallel: </p> <p> 1. Let imageData be the result of reading image's data. If an [48754]error occurs during reading of the object, then reject p with an [48755]"InvalidStateError" [48756]DOMException and abort these steps. 2. Apply the [48757]image sniffing rules to determine the file format of imageData, with MIME type of image (as given by image's [48758]type attribute) giving the official type. 3. If imageData is not in a supported image file format (e.g., it's not an image at all), or if imageData is corrupted in some fatal way such that the image dimensions cannot be obtained (e.g., a vector graphic with no natural size), then reject p with an [48759]"InvalidStateError" [48760]DOMException and abort these steps. 4. Set imageBitmap's [48761]bitmap data to imageData, [48762]cropped to the source rectangle with formatting. If this is an animated image, imageBitmap's [48763]bitmap data must only be taken from the default image of the animation (the one that the format defines is to be used when animation is not supported or is disabled), or, if there is no such image, the first frame of the animation. 5. Resolve p with imageBitmap. </p> <p> [48764]ImageData </p> <p> 1. Let buffer be image's [48765]data attribute value's [[ViewedArrayBuffer]] internal slot. 2. If [48766]IsDetachedBuffer(buffer) is true, then return [48767]a promise rejected with an [48768]"InvalidStateError" [48769]DOMException. 3. Set imageBitmap's [48770]bitmap data to image's image data, [48771]cropped to the source rectangle with formatting. 4. Run this step [48772]in parallel: 1. Resolve p with imageBitmap. </p> <p> [48773]ImageBitmap </p> <p> 1. Set imageBitmap's [48774]bitmap data to a copy of image's [48775]bitmap data, [48776]cropped to the source rectangle with formatting. 2. Set the [48777]origin-clean flag of imageBitmap's bitmap to the same value as the [48778]origin-clean flag of image's bitmap. 3. Run this step [48779]in parallel: 1. Resolve p with imageBitmap. </p> <p> [48780]VideoFrame </p> <p> 1. Set imageBitmap's [48781]bitmap data to a copy of image's visible pixel data, [48782]cropped to the source rectangle with formatting. 2. Run this step [48783]in parallel: 1. Resolve p with imageBitmap. </p> <p> 7. Return p. </p> <p> When the steps above require that the user agent crop bitmap data to the source rectangle with formatting, the user agent must run the following steps: 1. Let input be the [48784]bitmap data being transformed. 2. If sx, sy, sw and sh are specified, let sourceRectangle be a rectangle whose corners are the four points (sx, sy), (sx+sw, sy), (sx+sw, sy+sh), (sx, sy+sh). Otherwise, let sourceRectangle be a rectangle whose corners are the four points (0, 0), (width of input, 0), (width of input, height of input), (0, height of input). If either sw or sh are negative, then the top-left corner of this rectangle will be to the left or above the (sx, sy) point. 3. Let outputWidth be determined as follows: </p> <p> If the [48785]resizeWidth member of options is specified the value of the [48786]resizeWidth member of options </p> <p> If the [48787]resizeWidth member of options is not specified, but the [48788]resizeHeight member is specified the width of sourceRectangle, times the value of the [48789]resizeHeight member of options, divided by the height of sourceRectangle, rounded up to the nearest integer </p> <p> If neither [48790]resizeWidth nor [48791]resizeHeight are specified the width of sourceRectangle </p> <p> 4. Let outputHeight be determined as follows: </p> <p> If the [48792]resizeHeight member of options is specified the value of the [48793]resizeHeight member of options </p> <p> If the [48794]resizeHeight member of options is not specified, but the [48795]resizeWidth member is specified the height of sourceRectangle, times the value of the [48796]resizeWidth member of options, divided by the width of sourceRectangle, rounded up to the nearest integer </p> <p> If neither [48797]resizeWidth nor [48798]resizeHeight are specified the height of sourceRectangle </p> <p> 5. Place input on an infinite [48799]transparent black grid plane, positioned so that its top left corner is at the origin of the plane, with the x-coordinate increasing to the right, and the y-coordinate increasing down, and with each pixel in the input image data occupying a cell on the plane's grid. 6. Let output be the rectangle on the plane denoted by sourceRectangle. 7. Scale output to the size specified by outputWidth and outputHeight. The user agent should use the value of the resizeQuality option to guide the choice of scaling algorithm. 8. If the value of the imageOrientation member of options is "flipY", output must be flipped vertically, disregarding any image orientation metadata of the source (such as EXIF metadata), if any. [48800][EXIF] If the value is "from-image", no extra step is needed. There used to be a "none" enum value. It was renamed to "[48801]from-image". In the future, "[48802]none" will be added back with a different meaning. 9. If image is an [48803]img element or a [48804]Blob object, let val be the value of the colorSpaceConversion member of options, and then run these substeps: 1. If val is "default", the color space conversion behavior is implementation-specific, and should be chosen according to the default color space that the implementation uses for drawing images onto the canvas. 2. If val is "none", output must be decoded without performing any color space conversions. This means that the image decoding algorithm must ignore color profile metadata embedded in the source data as well as the display device color profile. 10. Let val be the value of premultiplyAlpha member of options, and then run these substeps: 1. If val is "default", the alpha premultiplication behavior is implementation-specific, and should be chosen according to implementation deems optimal for drawing images onto the canvas. 2. If val is "premultiply", the output that is not premultiplied by alpha must have its color components [48805]multiplied by alpha and that is premultiplied by alpha must be left untouched. 3. If val is "none", the output that is not premultiplied by alpha must be left untouched and that is premultiplied by alpha must have its color components [48806]divided by alpha. 11. Return output. </p> <p> The close() method steps are: 1. Set [48807]this's [48808][[Detached]] internal slot value to true. 2. Unset [48809]this's [48810]bitmap data. </p> <p> The width getter steps are: 1. If [48811]this's [48812][[Detached]] internal slot's value is true, then return 0. 2. Return [48813]this's width, in [48814]CSS pixels. </p> <p> The height getter steps are: 1. If [48815]this's [48816][[Detached]] internal slot's value is true, then return 0. 2. Return [48817]this's height, in [48818]CSS pixels. </p> <p> The [48819]ResizeQuality enumeration is used to express a preference for the interpolation quality to use when scaling images. </p> <p> The "pixelated" value indicates a preference for scaling the image to preserve the pixelation of the original as much as possible, with minor smoothing as necessary to avoid distorting the image when the target size is not a clean multiple of the original. </p> <p> To implement "[48820]pixelated", for each axis independently, first determine the integer multiple of its natural size that puts it closest to the target size and is greater than zero. Scale it to this integer-multiple-size using nearest neighbor, then scale it the rest of the way to the target size using bilinear interpolation. </p> <p> The "low" value indicates a preference for a low level of image interpolation quality. Low-quality image interpolation may be more computationally efficient than higher settings. </p> <p> The "medium" value indicates a preference for a medium level of image interpolation quality. </p> <p> The "high" value indicates a preference for a high level of image interpolation quality. High-quality image interpolation may be more computationally expensive than lower settings. </p> <p> Bilinear scaling is an example of a relatively fast, lower-quality image-smoothing algorithm. Bicubic or Lanczos scaling are examples of image-scaling algorithms that produce higher-quality output. This specification does not mandate that specific interpolation algorithms be used, except for "[48821]pixelated" as described above. </p> <p> Using this API, a sprite sheet can be precut and prepared: var sprites = {}; function loadMySprites() { var image = new Image(); image.src = ʼmysprites.pngʼ; var resolver; var promise = new Promise(function (arg) { resolver = arg }); image.onload = function () { resolver(Promise.all([ createImageBitmap(image, 0, 0, 40, 40).then(function (image) { sprites.p erson = image }), createImageBitmap(image, 40, 0, 40, 40).then(function (image) { sprites.g rass = image }), createImageBitmap(image, 80, 0, 40, 40).then(function (image) { sprites.t ree = image }), createImageBitmap(image, 0, 40, 40, 40).then(function (image) { sprites.h ut = image }), createImageBitmap(image, 40, 40, 40, 40).then(function (image) { sprites.a pple = image }), createImageBitmap(image, 80, 40, 40, 40).then(function (image) { sprites.s nake = image }) ])); }; return promise; } </p> <p> function runDemo() { var canvas = document.querySelector(ʼcanvas#demoʼ); var context = canvas.getContext(ʼ2dʼ); context.drawImage(sprites.tree, 30, 10); context.drawImage(sprites.snake, 70, 10); } </p> <p> loadMySprites().then(runDemo); </p> <p> 8.11 Animation frames </p> <p> Some objects include the [48822]AnimationFrameProvider interface mixin. callback FrameRequestCallback = undefined ([48823]DOMHighResTimeStamp time); </p> <p> interface mixin AnimationFrameProvider { unsigned long [48824]requestAnimationFrame([48825]FrameRequestCallback callbac k); undefined [48826]cancelAnimationFrame(unsigned long handle); }; [48827]Window includes [48828]AnimationFrameProvider; [48829]DedicatedWorkerGlobalScope includes [48830]AnimationFrameProvider; </p> <p> Each [48831]AnimationFrameProvider object also has a target object that stores the provider's internal state. It is defined as follows: </p> <p> If the [48832]AnimationFrameProvider is a [48833]Window The [48834]Window's [48835]associated Document </p> <p> If the [48836]AnimationFrameProvider is a [48837]DedicatedWorkerGlobalScope The [48838]DedicatedWorkerGlobalScope </p> <p> Each [48839]target object has a map of animation frame callbacks, which is an [48840]ordered map that must be initially empty, and an animation frame callback identifier, which is a number that must initially be zero. </p> <p> An [48841]AnimationFrameProvider provider is considered supported if any of the following are true: * provider is a [48842]Window. * provider's [48843]owner set [48844]contains a [48845]Document object. * Any of the [48846]DedicatedWorkerGlobalScope objects in provider's [48847]owner set are [48848]supported. __________________________________________________________________ </p> <p> (BUTTON) ✔MDN </p> <p> [48849]Window/requestAnimationFrame </p> <p> Support in all current engines. Firefox23+Safari7+Chrome24+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android23+Safari iOS?Chrome Android?WebView Android4.4+Samsung Internet?Opera Android? </p> <p> The requestAnimationFrame(callback) method steps are: 1. If [48850]this is not [48851]supported, then throw a [48852]"NotSupportedError" [48853]DOMException. 2. Let target be [48854]this's [48855]target object. 3. Increment target's [48856]animation frame callback identifier by one, and let handle be the result. 4. Let callbacks be target's [48857]map of animation frame callbacks. 5. [48858]Set callbacks[handle] to callback. 6. Return handle. </p> <p> (BUTTON) ✔MDN </p> <p> [48859]Window/cancelAnimationFrame </p> <p> Support in all current engines. Firefox23+Safari7+Chrome24+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? </p> <p> The cancelAnimationFrame(handle) method steps are: 1. If [48860]this is not [48861]supported, then throw a [48862]"NotSupportedError" [48863]DOMException. 2. Let callbacks be [48864]this's [48865]target object's [48866]map of animation frame callbacks. 3. [48867]Remove callbacks[handle]. </p> <p> To run the animation frame callbacks for a [48868]target object target with a timestamp now: 1. Let callbacks be target's [48869]map of animation frame callbacks. 2. Let callbackHandles be the result of [48870]getting the keys of callbacks. 3. [48871]For each handle in callbackHandles, if handle [48872]exists in callbacks: 1. Let callback be callbacks[handle]. 2. [48873]Remove callbacks[handle]. 3. [48874]Invoke callback with « now » and "report". </p> <p> Inside workers, [48875]requestAnimationFrame() can be used together with an [48876]OffscreenCanvas transferred from a [48877]canvas element. First, in the document, transfer control to the worker: const offscreenCanvas = document.getElementById("c").transferControlToOffscreen( ); worker.postMessage(offscreenCanvas, [offscreenCanvas]); </p> <p> Then, in the worker, the following code will draw a rectangle moving from left to right: let ctx, pos = 0; function draw(dt) { ctx.clearRect(0, 0, 100, 100); ctx.fillRect(pos, 0, 10, 10); pos += 10 * dt; requestAnimationFrame(draw); } </p> <p> self.onmessage = function(ev) { const transferredCanvas = ev.data; ctx = transferredCanvas.getContext("2d"); draw(); }; </p> <p> 9 Communication </p> <p> The [48878]WebSocket interface used to be defined here. It is now defined in WebSockets. [48879][WEBSOCKETS] </p> <p> 9.1 The [48880]MessageEvent interface </p> <p> (BUTTON) ✔MDN </p> <p> [48881]MessageEvent </p> <p> Support in all current engines. Firefox3+Safari4+Chrome2+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ </p> <p> Messages in [48882]server-sent events, [48883]cross-document messaging, [48884]channel messaging, [48885]broadcast channels, and WebSockets use the [48886]MessageEvent interface for their [48887]message events: [48888][WEBSOCKETS] [Exposed=(Window,Worker,AudioWorklet)] interface MessageEvent : [48889]Event { [48890]constructor(DOMString type, optional [48891]MessageEventInit eventInitD ict = {}); </p> <p> readonly attribute any [48892]data; readonly attribute USVString [48893]origin; readonly attribute DOMString [48894]lastEventId; readonly attribute [48895]MessageEventSource? [48896]source; readonly attribute FrozenArray<[48897]MessagePort> [48898]ports; </p> <p> undefined [48899]initMessageEvent(DOMString type, optional boolean bubbles = f alse, optional boolean cancelable = false, optional any data = null, optional US VString origin = "", optional DOMString lastEventId = "", optional [48900]Messag eEventSource? source = null, optional sequence<[48901]MessagePort> ports = []); }; </p> <p> dictionary MessageEventInit : [48902]EventInit { any data = null; USVString origin = ""; DOMString lastEventId = ""; [48903]MessageEventSource? source = null; sequence<[48904]MessagePort> ports = []; }; </p> <p> typedef ([48905]WindowProxy or [48906]MessagePort or [48907]ServiceWorker) Messa geEventSource; </p> <p> event.[48908]data </p> <p> (BUTTON) ✔MDN </p> <p> [48909]MessageEvent/data </p> <p> Support in all current engines. </p> <p> Firefox3+Safari4+Chrome2+ ___________________________________________________________ </p> <p> Opera12.1+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the data of the message. </p> <p> event.[48910]origin </p> <p> (BUTTON) ✔MDN </p> <p> [48911]MessageEvent/origin </p> <p> Support in all current engines. </p> <p> Firefox3+Safari4+Chrome2+ ___________________________________________________________ </p> <p> Opera12.1+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the origin of the message, for [48912]server-sent events and [48913]cross-document messaging. </p> <p> event.[48914]lastEventId </p> <p> (BUTTON) ✔MDN </p> <p> [48915]MessageEvent/lastEventId </p> <p> Support in all current engines. </p> <p> Firefox3+Safari4+Chrome2+ ___________________________________________________________ </p> <p> Opera12.1+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)17+Internet Explorer9+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the [48916]last event ID string, for [48917]server-sent events. </p> <p> event.[48918]source </p> <p> (BUTTON) ✔MDN </p> <p> [48919]MessageEvent/source </p> <p> Support in all current engines. </p> <p> Firefox3+Safari4+Chrome2+ ___________________________________________________________ </p> <p> Opera12.1+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the [48920]WindowProxy of the source window, for [48921]cross-document messaging, and the [48922]MessagePort being attached, in the [48923]connect event fired at [48924]SharedWorkerGlobalScope objects. </p> <p> event.[48925]ports </p> <p> (BUTTON) ✔MDN </p> <p> [48926]MessageEvent/ports </p> <p> Support in all current engines. </p> <p> Firefox3+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera12.1+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ Returns the [48927]MessagePort array sent with the message, for [48928]cross-document messaging and [48929]channel messaging. </p> <p> The data attribute must return the value it was initialized to. It represents the message being sent. </p> <p> The origin attribute must return the value it was initialized to. It represents, in [48930]server-sent events and [48931]cross-document messaging, the [48932]origin of the document that sent the message (typically the scheme, hostname, and port of the document, but not its path or [48933]fragment). </p> <p> The lastEventId attribute must return the value it was initialized to. It represents, in [48934]server-sent events, the [48935]last event ID string of the event source. </p> <p> The source attribute must return the value it was initialized to. It represents, in [48936]cross-document messaging, the [48937]WindowProxy of the [48938]browsing context of the [48939]Window object from which the message came; and in the [48940]connect events used by [48941]shared workers, the newly connecting [48942]MessagePort. </p> <p> The ports attribute must return the value it was initialized to. It represents, in [48943]cross-document messaging and [48944]channel messaging, the [48945]MessagePort array being sent. </p> <p> The initMessageEvent(type, bubbles, cancelable, data, origin, lastEventId, source, ports) method must initialize the event in a manner analogous to the similarly-named [48946]initEvent() method. [48947][DOM] </p> <p> Various APIs (e.g., [48948]WebSocket, [48949]EventSource) use the [48950]MessageEvent interface for their [48951]message event without using the [48952]MessagePort API. </p> <p> 9.2 Server-sent events </p> <p> (BUTTON) ✔MDN </p> <p> [48953]Server-sent_events </p> <p> Support in all current engines. Firefox6+Safari5+Chrome6+ __________________________________________________________________ </p> <p> Opera11+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android45+Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11+ </p> <p> 9.2.1 Introduction </p> <p> This section is non-normative. </p> <p> To enable servers to push data to web pages over HTTP or using dedicated server-push protocols, this specification introduces the [48954]EventSource interface. </p> <p> Using this API consists of creating an [48955]EventSource object and registering an event listener. var source = new EventSource(ʼupdates.cgiʼ); source.onmessage = function (event) { alert(event.data); }; </p> <p> On the server-side, the script ("updates.cgi" in this case) sends messages in the following form, with the [48956]text/event-stream MIME type: data: This is the first message. </p> <p> data: This is the second message, it data: has two lines. </p> <p> data: This is the third message. __________________________________________________________________ </p> <p> Authors can separate events by using different event types. Here is a stream that has two event types, "add" and "remove": event: add data: 73857293 </p> <p> event: remove data: 2153 </p> <p> event: add data: 113411 </p> <p> The script to handle such a stream would look like this (where addHandler and removeHandler are functions that take one argument, the event): var source = new EventSource(ʼupdates.cgiʼ); source.addEventListener(ʼaddʼ, addHandler, false); source.addEventListener(ʼremoveʼ, removeHandler, false); </p> <p> The default event type is "message". </p> <p> Event streams are always decoded as UTF-8. There is no way to specify another character encoding. __________________________________________________________________ </p> <p> Event stream requests can be redirected using HTTP 301 and 307 redirects as with normal HTTP requests. Clients will reconnect if the connection is closed; a client can be told to stop reconnecting using the HTTP 204 No Content response code. </p> <p> Using this API rather than emulating it using [48957]XMLHttpRequest or an [48958]iframe allows the user agent to make better use of network resources in cases where the user agent implementer and the network operator are able to coordinate in advance. Amongst other benefits, this can result in significant savings in battery life on portable devices. This is discussed further in the section below on [48959]connectionless push. </p> <p> 9.2.2 The [48960]EventSource interface </p> <p> (BUTTON) ✔MDN </p> <p> [48961]EventSource </p> <p> Support in all current engines. Firefox6+Safari5+Chrome6+ __________________________________________________________________ </p> <p> Opera11+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android45+Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11+ </p> <p> [Exposed=(Window,Worker)] interface EventSource : [48962]EventTarget { [48963]constructor(USVString url, optional [48964]EventSourceInit eventSourceI nitDict = {}); </p> <p> readonly attribute USVString [48965]url; readonly attribute boolean [48966]withCredentials; </p> <p> // ready state const unsigned short [48967]CONNECTING = 0; const unsigned short [48968]OPEN = 1; const unsigned short [48969]CLOSED = 2; readonly attribute unsigned short [48970]readyState; </p> <p> // networking attribute [48971]EventHandler [48972]onopen; attribute [48973]EventHandler [48974]onmessage; attribute [48975]EventHandler [48976]onerror; undefined [48977]close(); }; </p> <p> dictionary EventSourceInit { boolean withCredentials = false; }; </p> <p> Each [48978]EventSource object has the following associated with it: * A url (a [48979]URL record). Set during construction. * A request. This must initially be null. * A reconnection time, in milliseconds. This must initially be an [48980]implementation-defined value, probably in the region of a few seconds. * A last event ID string. This must initially be the empty string. </p> <p> Apart from [48981]url these are not currently exposed on the [48982]EventSource object. </p> <p> source = new [48983]EventSource( url [, { [48984]withCredentials: true } ]) </p> <p> (BUTTON) ✔MDN </p> <p> [48985]EventSource/EventSource </p> <p> Support in all current engines. </p> <p> Firefox6+Safari5+Chrome6+ ___________________________________________________________ </p> <p> Opera11+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android45+Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12+ Creates a new [48986]EventSource object. </p> <p> url is a string giving the [48987]URL that will provide the event stream. </p> <p> Setting [48988]withCredentials to true will set the [48989]credentials mode for connection requests to url to "include". </p> <p> source.[48990]close() </p> <p> (BUTTON) ✔MDN </p> <p> [48991]EventSource/close </p> <p> Support in all current engines. </p> <p> Firefox6+Safari5+Chrome6+ ___________________________________________________________ </p> <p> Opera12+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android45+Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12+ Aborts any instances of the [48992]fetch algorithm started for this [48993]EventSource object, and sets the [48994]readyState attribute to [48995]CLOSED. </p> <p> source.[48996]url </p> <p> (BUTTON) ✔MDN </p> <p> [48997]EventSource/url </p> <p> Support in all current engines. </p> <p> Firefox6+Safari6+Chrome18+ ___________________________________________________________ </p> <p> Opera12+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android45+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+ Returns the [48998]URL providing the event stream. </p> <p> source.[48999]withCredentials </p> <p> (BUTTON) ✔MDN </p> <p> [49000]EventSource/withCredentials </p> <p> Support in all current engines. </p> <p> Firefox6+Safari7+Chrome26+ ___________________________________________________________ </p> <p> Opera12+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android45+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+ Returns true if the [49001]credentials mode for connection requests to the [49002]URL providing the event stream is set to "include", and false otherwise. </p> <p> source.[49003]readyState </p> <p> (BUTTON) ✔MDN </p> <p> [49004]EventSource/readyState </p> <p> Support in all current engines. </p> <p> Firefox6+Safari5+Chrome6+ ___________________________________________________________ </p> <p> Opera12+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android45+Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12+ Returns the state of this [49005]EventSource object's connection. It can have the values described below. </p> <p> The EventSource(url, eventSourceInitDict) constructor, when invoked, must run these steps: 1. Let ev be a new [49006]EventSource object. 2. Let settings be ev's [49007]relevant settings object. 3. Let urlRecord be the result of [49008]encoding-parsing a URL given url, relative to settings. 4. If urlRecord is failure, then throw a [49009]"SyntaxError" [49010]DOMException. 5. Set ev's [49011]url to urlRecord. 6. Let corsAttributeState be [49012]Anonymous. 7. If the value of eventSourceInitDict's [49013]withCredentials member is true, then set corsAttributeState to [49014]Use Credentials and set ev's [49015]withCredentials attribute to true. 8. Let request be the result of [49016]creating a potential-CORS request given urlRecord, the empty string, and corsAttributeState. 9. Set request's [49017]client to settings. 10. User agents may [49018]set (`[49019]Accept`, `[49020]text/event-stream`) in request's [49021]header list. 11. Set request's [49022]cache mode to "no-store". 12. Set request's [49023]initiator type to "other". 13. Set ev's [49024]request to request. 14. Let processEventSourceEndOfBody given [49025]response res be the following step: if res is not a [49026]network error, then [49027]reestablish the connection. 15. [49028]Fetch request, with [49029]processResponseEndOfBody set to processEventSourceEndOfBody and [49030]processResponse set to the following steps given [49031]response res: 1. If res is an [49032]aborted network error, then [49033]fail the connection. 2. Otherwise, if res is a [49034]network error, then [49035]reestablish the connection, unless the user agent knows that to be futile, in which case the user agent may [49036]fail the connection. 3. Otherwise, if res's [49037]status is not 200, or if res's `[49038]Content-Type` is not `[49039]text/event-stream`, then [49040]fail the connection. 4. Otherwise, [49041]announce the connection and [49042]interpret res's [49043]body line by line. 16. Return ev. __________________________________________________________________ </p> <p> The url attribute's getter must return the [49044]serialization of this [49045]EventSource object's [49046]url. </p> <p> The withCredentials attribute must return the value to which it was last initialized. When the object is created, it must be initialized to false. </p> <p> The readyState attribute represents the state of the connection. It can have the following values: </p> <p> CONNECTING (numeric value 0) The connection has not yet been established, or it was closed and the user agent is reconnecting. </p> <p> OPEN (numeric value 1) The user agent has an open connection and is dispatching events as it receives them. </p> <p> CLOSED (numeric value 2) The connection is not open, and the user agent is not trying to reconnect. Either there was a fatal error or the [49047]close() method was invoked. </p> <p> When the object is created its [49048]readyState must be set to [49049]CONNECTING (0). The rules given below for handling the connection define when the value changes. </p> <p> The close() method must abort any instances of the [49050]fetch algorithm started for this [49051]EventSource object, and must set the [49052]readyState attribute to [49053]CLOSED. </p> <p> The following are the [49054]event handlers (and their corresponding [49055]event handler event types) that must be supported, as [49056]event handler IDL attributes, by all objects implementing the [49057]EventSource interface: </p> <p> [49058]Event handler [49059]Event handler event type onopen (BUTTON) ✔MDN </p> <p> [49060]EventSource/open_event </p> <p> Support in all current engines. Firefox6+Safari5+Chrome6+ __________________________________________________________________ </p> <p> Opera12+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android45+Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12+ [49061]open onmessage (BUTTON) ✔MDN </p> <p> [49062]EventSource/message_event </p> <p> Support in all current engines. Firefox6+Safari5+Chrome6+ __________________________________________________________________ </p> <p> Opera12+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android45+Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12+ [49063]message onerror (BUTTON) ✔MDN </p> <p> [49064]EventSource/error_event </p> <p> Support in all current engines. Firefox6+Safari5+Chrome6+ __________________________________________________________________ </p> <p> Opera12+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android45+Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12+ [49065]error __________________________________________________________________ </p> <p> 9.2.3 Processing model </p> <p> When a user agent is to announce the connection, the user agent must [49066]queue a task which, if the [49067]readyState attribute is set to a value other than [49068]CLOSED, sets the [49069]readyState attribute to [49070]OPEN and [49071]fires an event named [49072]open at the [49073]EventSource object. </p> <p> When a user agent is to reestablish the connection, the user agent must run the following steps. These steps are run [49074]in parallel, not as part of a [49075]task. (The tasks that it queues, of course, are run like normal tasks and not themselves [49076]in parallel.) 1. [49077]Queue a task to run the following steps: 1. If the [49078]readyState attribute is set to [49079]CLOSED, abort the task. 2. Set the [49080]readyState attribute to [49081]CONNECTING. 3. [49082]Fire an event named [49083]error at the [49084]EventSource object. 2. Wait a delay equal to the reconnection time of the event source. 3. Optionally, wait some more. In particular, if the previous attempt failed, then user agents might introduce an exponential backoff delay to avoid overloading a potentially already overloaded server. Alternatively, if the operating system has reported that there is no network connectivity, user agents might wait for the operating system to announce that the network connection has returned before retrying. 4. Wait until the aforementioned task has run, if it has not yet run. 5. [49085]Queue a task to run the following steps: 1. If the [49086]EventSource object's [49087]readyState attribute is not set to [49088]CONNECTING, then return. 2. Let request be the [49089]EventSource object's [49090]request. 3. If the [49091]EventSource object's [49092]last event ID string is not the empty string, then: 1. Let lastEventIDValue be the [49093]EventSource object's [49094]last event ID string, [49095]encoded as UTF-8. 2. [49096]Set (`[49097]Last-Event-ID`, lastEventIDValue) in request's [49098]header list. 4. [49099]Fetch request and process the response obtained in this fashion, if any, as described earlier in this section. </p> <p> When a user agent is to fail the connection, the user agent must [49100]queue a task which, if the [49101]readyState attribute is set to a value other than [49102]CLOSED, sets the [49103]readyState attribute to [49104]CLOSED and [49105]fires an event named [49106]error at the [49107]EventSource object. Once the user agent has [49108]failed the connection, it does not attempt to reconnect. __________________________________________________________________ </p> <p> The [49109]task source for any [49110]tasks that are [49111]queued by [49112]EventSource objects is the remote event task source. </p> <p> 9.2.4 The `[49113]Last-Event-ID` header </p> <p> The Last-Event-ID` HTTP request header reports an [49114]EventSource object's [49115]last event ID string to the server when the user agent is to [49116]reestablish the connection. </p> <p> See [49117]whatwg/html issue #7363 to define the value space better. It is essentially any UTF-8 encoded string, that does not contain U+0000 NULL, U+000A LF, or U+000D CR. </p> <p> 9.2.5 Parsing an event stream </p> <p> This event stream format's [49118]MIME type is [49119]text/event-stream. </p> <p> The event stream format is as described by the stream production of the following ABNF, the character set for which is Unicode. [49120][ABNF] stream = [ bom ] *event event = *( comment / field ) end-of-line comment = colon *any-char end-of-line field = 1*name-char [ colon [ space ] *any-char ] end-of-line end-of-line = ( cr lf / cr / lf ) </p> <p> ; characters lf = %x000A ; U+000A LINE FEED (LF) cr = %x000D ; U+000D CARRIAGE RETURN (CR) space = %x0020 ; U+0020 SPACE colon = %x003A ; U+003A COLON (:) bom = %xFEFF ; U+FEFF BYTE ORDER MARK name-char = %x0000-0009 / %x000B-000C / %x000E-0039 / %x003B-10FFFF ; a [49121]scalar value other than U+000A LINE FEED (LF), U+000D CARRIAGE RETURN (CR), or U+003A COLON (:) any-char = %x0000-0009 / %x000B-000C / %x000E-10FFFF ; a [49122]scalar value other than U+000A LINE FEED (LF) or U+00 0D CARRIAGE RETURN (CR) </p> <p> Event streams in this format must always be encoded as UTF-8. [49123][ENCODING] </p> <p> Lines must be separated by either a U+000D CARRIAGE RETURN U+000A LINE FEED (CRLF) character pair, a single U+000A LINE FEED (LF) character, or a single U+000D CARRIAGE RETURN (CR) character. </p> <p> Since connections established to remote servers for such resources are expected to be long-lived, UAs should ensure that appropriate buffering is used. In particular, while line buffering with lines are defined to end with a single U+000A LINE FEED (LF) character is safe, block buffering or line buffering with different expected line endings can cause delays in event dispatch. </p> <p> 9.2.6 Interpreting an event stream </p> <p> Streams must be decoded using the [49124]UTF-8 decode algorithm. </p> <p> The [49125]UTF-8 decode algorithm strips one leading UTF-8 Byte Order Mark (BOM), if any. </p> <p> The stream must then be parsed by reading everything line by line, with a U+000D CARRIAGE RETURN U+000A LINE FEED (CRLF) character pair, a single U+000A LINE FEED (LF) character not preceded by a U+000D CARRIAGE RETURN (CR) character, and a single U+000D CARRIAGE RETURN (CR) character not followed by a U+000A LINE FEED (LF) character being the ways in which a line can end. </p> <p> When a stream is parsed, a data buffer, an event type buffer, and a last event ID buffer must be associated with it. They must be initialized to the empty string. </p> <p> Lines must be processed, in the order they are received, as follows: </p> <p> If the line is empty (a blank line) [49126]Dispatch the event, as defined below. </p> <p> If the line starts with a U+003A COLON character (:) Ignore the line. </p> <p> If the line contains a U+003A COLON character (:) Collect the characters on the line before the first U+003A COLON character (:), and let field be that string. </p> <p> Collect the characters on the line after the first U+003A COLON character (:), and let value be that string. If value starts with a U+0020 SPACE character, remove it from value. </p> <p> [49127]Process the field using the steps described below, using field as the field name and value as the field value. </p> <p> Otherwise, the string is not empty but does not contain a U+003A COLON character (:) [49128]Process the field using the steps described below, using the whole line as the field name, and the empty string as the field value. </p> <p> Once the end of the file is reached, any pending data must be discarded. (If the file ends in the middle of an event, before the final empty line, the incomplete event is not dispatched.) __________________________________________________________________ </p> <p> The steps to process the field given a field name and a field value depend on the field name, as given in the following list. Field names must be compared literally, with no case folding performed. </p> <p> If the field name is "event" Set the event type buffer to the field value. </p> <p> If the field name is "data" Append the field value to the data buffer, then append a single U+000A LINE FEED (LF) character to the data buffer. </p> <p> If the field name is "id" If the field value does not contain U+0000 NULL, then set the last event ID buffer to the field value. Otherwise, ignore the field. </p> <p> If the field name is "retry" If the field value consists of only [49129]ASCII digits, then interpret the field value as an integer in base ten, and set the event stream's [49130]reconnection time to that integer. Otherwise, ignore the field. </p> <p> Otherwise The field is ignored. </p> <p> When the user agent is required to dispatch the event, the user agent must process the data buffer, the event type buffer, and the last event ID buffer using steps appropriate for the user agent. </p> <p> For web browsers, the appropriate steps to [49131]dispatch the event are as follows: 1. Set the [49132]last event ID string of the event source to the value of the last event ID buffer. The buffer does not get reset, so the [49133]last event ID string of the event source remains set to this value until the next time it is set by the server. 2. If the data buffer is an empty string, set the data buffer and the event type buffer to the empty string and return. 3. If the data buffer's last character is a U+000A LINE FEED (LF) character, then remove the last character from the data buffer. 4. Let event be the result of [49134]creating an event using [49135]MessageEvent, in the [49136]relevant realm of the [49137]EventSource object. 5. Initialize event's [49138]type attribute to "[49139]message", its [49140]data attribute to data, its [49141]origin attribute to the [49142]serialization of the [49143]origin of the event stream's final URL (i.e., the URL after redirects), and its [49144]lastEventId attribute to the [49145]last event ID string of the event source. 6. If the event type buffer has a value other than the empty string, change the [49146]type of the newly created event to equal the value of the event type buffer. 7. Set the data buffer and the event type buffer to the empty string. 8. [49147]Queue a task which, if the [49148]readyState attribute is set to a value other than [49149]CLOSED, [49150]dispatches the newly created event at the [49151]EventSource object. </p> <p> If an event doesn't have an "id" field, but an earlier event did set the event source's [49152]last event ID string, then the event's [49153]lastEventId field will be set to the value of whatever the last seen "id" field was. </p> <p> For other user agents, the appropriate steps to [49154]dispatch the event are implementation dependent, but at a minimum they must set the data and event type buffers to the empty string before returning. </p> <p> The following event stream, once followed by a blank line: data: YHOO data: +2 data: 10 </p> <p> ...would cause an event [49155]message with the interface [49156]MessageEvent to be dispatched on the [49157]EventSource object. The event's [49158]data attribute would contain the string "YHOO\n+2\n10" (where "\n" represents a newline). </p> <p> This could be used as follows: var stocks = new EventSource("https://stocks.example.com/ticker.php"); stocks.onmessage = function (event) { var data = event.data.split(ʼ\nʼ); updateStocks(data[0], data[1], data[2]); }; </p> <p> ...where updateStocks() is a function defined as: function updateStocks(symbol, delta, value) { ... } </p> <p> ...or some such. </p> <p> The following stream contains four blocks. The first block has just a comment, and will fire nothing. The second block has two fields with names "data" and "id" respectively; an event will be fired for this block, with the data "first event", and will then set the last event ID to "1" so that if the connection died between this block and the next, the server would be sent a `[49159]Last-Event-ID` header with the value `1`. The third block fires an event with data "second event", and also has an "id" field, this time with no value, which resets the last event ID to the empty string (meaning no `[49160]Last-Event-ID` header will now be sent in the event of a reconnection being attempted). Finally, the last block just fires an event with the data " third event" (with a single leading space character). Note that the last still has to end with a blank line, the end of the stream is not enough to trigger the dispatch of the last event. : test stream </p> <p> data: first event id: 1 </p> <p> data:second event id </p> <p> data: third event </p> <p> The following stream fires two events: data </p> <p> data data </p> <p> data: </p> <p> The first block fires events with the data set to the empty string, as would the last block if it was followed by a blank line. The middle block fires an event with the data set to a single newline character. The last block is discarded because it is not followed by a blank line. </p> <p> The following stream fires two identical events: data:test </p> <p> data: test </p> <p> This is because the space after the colon is ignored if present. </p> <p> 9.2.7 Authoring notes </p> <p> Legacy proxy servers are known to, in certain cases, drop HTTP connections after a short timeout. To protect against such proxy servers, authors can include a comment line (one starting with a ':' character) every 15 seconds or so. </p> <p> Authors wishing to relate event source connections to each other or to specific documents previously served might find that relying on IP addresses doesn't work, as individual clients can have multiple IP addresses (due to having multiple proxy servers) and individual IP addresses can have multiple clients (due to sharing a proxy server). It is better to include a unique identifier in the document when it is served and then pass that identifier as part of the URL when the connection is established. </p> <p> Authors are also cautioned that HTTP chunking can have unexpected negative effects on the reliability of this protocol, in particular if the chunking is done by a different layer unaware of the timing requirements. If this is a problem, chunking can be disabled for serving event streams. </p> <p> Clients that support HTTP's per-server connection limitation might run into trouble when opening multiple pages from a site if each page has an [49161]EventSource to the same domain. Authors can avoid this using the relatively complex mechanism of using unique domain names per connection, or by allowing the user to enable or disable the [49162]EventSource functionality on a per-page basis, or by sharing a single [49163]EventSource object using a [49164]shared worker. </p> <p> 9.2.8 Connectionless push and other features </p> <p> User agents running in controlled environments, e.g. browsers on mobile handsets tied to specific carriers, may offload the management of the connection to a proxy on the network. In such a situation, the user agent for the purposes of conformance is considered to include both the handset software and the network proxy. </p> <p> For example, a browser on a mobile device, after having established a connection, might detect that it is on a supporting network and request that a proxy server on the network take over the management of the connection. The timeline for such a situation might be as follows: 1. Browser connects to a remote HTTP server and requests the resource specified by the author in the [49165]EventSource constructor. 2. The server sends occasional messages. 3. In between two messages, the browser detects that it is idle except for the network activity involved in keeping the TCP connection alive, and decides to switch to sleep mode to save power. 4. The browser disconnects from the server. 5. The browser contacts a service on the network, and requests that the service, a "push proxy", maintain the connection instead. 6. The "push proxy" service contacts the remote HTTP server and requests the resource specified by the author in the [49166]EventSource constructor (possibly including a `[49167]Last-Event-ID` HTTP header, etc.). 7. The browser allows the mobile device to go to sleep. 8. The server sends another message. 9. The "push proxy" service uses a technology such as OMA push to convey the event to the mobile device, which wakes only enough to process the event and then returns to sleep. </p> <p> This can reduce the total data usage, and can therefore result in considerable power savings. </p> <p> As well as implementing the existing API and [49168]text/event-stream wire format as defined by this specification and in more distributed ways as described above, formats of event framing defined by [49169]other applicable specifications may be supported. This specification does not define how they are to be parsed or processed. </p> <p> 9.2.9 Garbage collection </p> <p> While an [49170]EventSource object's [49171]readyState is [49172]CONNECTING, and the object has one or more event listeners registered for [49173]open, [49174]message, or [49175]error events, there must be a strong reference from the [49176]Window or [49177]WorkerGlobalScope object that the [49178]EventSource object's constructor was invoked from to the [49179]EventSource object itself. </p> <p> While an [49180]EventSource object's [49181]readyState is [49182]OPEN, and the object has one or more event listeners registered for [49183]message or [49184]error events, there must be a strong reference from the [49185]Window or [49186]WorkerGlobalScope object that the [49187]EventSource object's constructor was invoked from to the [49188]EventSource object itself. </p> <p> While there is a task queued by an [49189]EventSource object on the [49190]remote event task source, there must be a strong reference from the [49191]Window or [49192]WorkerGlobalScope object that the [49193]EventSource object's constructor was invoked from to that [49194]EventSource object. </p> <p> If a user agent is to forcibly close an [49195]EventSource object (this happens when a [49196]Document object goes away permanently), the user agent must abort any instances of the [49197]fetch algorithm started for this [49198]EventSource object, and must set the [49199]readyState attribute to [49200]CLOSED. </p> <p> If an [49201]EventSource object is garbage collected while its connection is still open, the user agent must abort any instance of the [49202]fetch algorithm opened by this [49203]EventSource. </p> <p> 9.2.10 Implementation advice </p> <p> This section is non-normative. </p> <p> User agents are strongly urged to provide detailed diagnostic information about [49204]EventSource objects and their related network connections in their development consoles, to aid authors in debugging code using this API. </p> <p> For example, a user agent could have a panel displaying all the [49205]EventSource objects a page has created, each listing the constructor's arguments, whether there was a network error, what the CORS status of the connection is and what headers were sent by the client and received from the server to lead to that status, the messages that were received and how they were parsed, and so forth. </p> <p> Implementations are especially encouraged to report detailed information to their development consoles whenever an [49206]error event is fired, since little to no information can be made available in the events themselves. </p> <p> 9.3 Cross-document messaging </p> <p> (BUTTON) ✔MDN </p> <p> [49207]Window/postMessage </p> <p> Support in all current engines. Firefox3+Safari4+Chrome2+ __________________________________________________________________ </p> <p> Opera9.5+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android≤37+Samsung Internet?Opera Android10.1+ </p> <p> Web browsers, for security and privacy reasons, prevent documents in different domains from affecting each other; that is, cross-site scripting is disallowed. </p> <p> While this is an important security feature, it prevents pages from different domains from communicating even when those pages are not hostile. This section introduces a messaging system that allows documents to communicate with each other regardless of their source domain, in a way designed to not enable cross-site scripting attacks. </p> <p> The [49208]postMessage() API can be used as a [49209]tracking vector. </p> <p> 9.3.1 Introduction </p> <p> This section is non-normative. </p> <p> For example, if document A contains an [49210]iframe element that contains document B, and script in document A calls [49211]postMessage() on the [49212]Window object of document B, then a message event will be fired on that object, marked as originating from the [49213]Window of document A. The script in document A might look like: var o = document.getElementsByTagName(ʼiframeʼ)[0]; o.contentWindow.postMessage(ʼHello worldʼ, ʼhttps://b.example.org/ʼ); </p> <p> To register an event handler for incoming events, the script would use addEventListener() (or similar mechanisms). For example, the script in document B might look like: window.addEventListener(ʼmessageʼ, receiver, false); function receiver(e) { if (e.origin == ʼhttps://example.comʼ) { if (e.data == ʼHello worldʼ) { e.source.postMessage(ʼHelloʼ, e.origin); } else { alert(e.data); } } } </p> <p> This script first checks the domain is the expected domain, and then looks at the message, which it either displays to the user, or responds to by sending a message back to the document which sent the message in the first place. </p> <p> 9.3.2 Security </p> <p> 9.3.2.1 Authors </p> <p> Use of this API requires extra care to protect users from hostile entities abusing a site for their own purposes. </p> <p> Authors should check the [49214]origin attribute to ensure that messages are only accepted from domains that they expect to receive messages from. Otherwise, bugs in the author's message handling code could be exploited by hostile sites. </p> <p> Furthermore, even after checking the [49215]origin attribute, authors should also check that the data in question is of the expected format. Otherwise, if the source of the event has been attacked using a cross-site scripting flaw, further unchecked processing of information sent using the [49216]postMessage() method could result in the attack being propagated into the receiver. </p> <p> Authors should not use the wildcard keyword (*) in the targetOrigin argument in messages that contain any confidential information, as otherwise there is no way to guarantee that the message is only delivered to the recipient to which it was intended. __________________________________________________________________ </p> <p> Authors who accept messages from any origin are encouraged to consider the risks of a denial-of-service attack. An attacker could send a high volume of messages; if the receiving page performs expensive computation or causes network traffic to be sent for each such message, the attacker's message could be multiplied into a denial-of-service attack. Authors are encouraged to employ rate limiting (only accepting a certain number of messages per minute) to make such attacks impractical. </p> <p> 9.3.2.2 User agents </p> <p> The integrity of this API is based on the inability for scripts of one [49217]origin to post arbitrary events (using dispatchEvent() or otherwise) to objects in other origins (those that are not the [49218]same). </p> <p> Implementers are urged to take extra care in the implementation of this feature. It allows authors to transmit information from one domain to another domain, which is normally disallowed for security reasons. It also requires that UAs be careful to allow access to certain properties but not others. __________________________________________________________________ </p> <p> User agents are also encouraged to consider rate-limiting message traffic between different [49219]origins, to protect naïve sites from denial-of-service attacks. </p> <p> 9.3.3 Posting messages </p> <p> window.[49220]postMessage(message [, options ]) </p> <p> (BUTTON) ✔MDN </p> <p> [49221]Window/postMessage </p> <p> Support in all current engines. </p> <p> Firefox3+Safari4+Chrome2+ ___________________________________________________________ </p> <p> Opera9.5+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+ Posts a message to the given window. Messages can be structured objects, e.g. nested objects and arrays, can contain JavaScript values (strings, numbers, [49222]Date objects, etc.), and can contain certain data objects such as [49223]File [49224]Blob, [49225]FileList, and [49226]ArrayBuffer objects. </p> <p> Objects listed in the [49227]transfer member of options are transferred, not just cloned, meaning that they are no longer usable on the sending side. </p> <p> A target origin can be specified using the [49228]targetOrigin member of options. If not provided, it defaults to "/". This default restricts the message to same-origin targets only. </p> <p> If the origin of the target window doesn't match the given target origin, the message is discarded, to avoid information leakage. To send the message to the target regardless of origin, set the target origin to "*". </p> <p> Throws a [49229]"DataCloneError" [49230]DOMException if transfer array contains duplicate objects or if message could not be cloned. </p> <p> window.[49231]postMessage(message, targetOrigin [, transfer ]) This is an alternate version of [49232]postMessage() where the target origin is specified as a parameter. Calling window.postMessage(message, target, transfer) is equivalent to window.postMessage(message, {targetOrigin, transfer}). </p> <p> When posting a message to a [49233]Window of a [49234]browsing context that has just been navigated to a new [49235]Document is likely to result in the message not receiving its intended recipient: the scripts in the target [49236]browsing context have to have had time to set up listeners for the messages. Thus, for instance, in situations where a message is to be sent to the [49237]Window of newly created child [49238]iframe, authors are advised to have the child [49239]Document post a message to their parent announcing their readiness to receive messages, and for the parent to wait for this message before beginning posting messages. </p> <p> The window post message steps, given a targetWindow, message, and options, are as follows: 1. Let targetRealm be targetWindow's [49240]realm. 2. Let incumbentSettings be the [49241]incumbent settings object. 3. Let targetOrigin be options["[49242]targetOrigin"]. 4. If targetOrigin is a single U+002F SOLIDUS character (/), then set targetOrigin to incumbentSettings's [49243]origin. 5. Otherwise, if targetOrigin is not a single U+002A ASTERISK character (*), then: 1. Let parsedURL be the result of running the [49244]URL parser on targetOrigin. 2. If parsedURL is failure, then throw a [49245]"SyntaxError" [49246]DOMException. 3. Set targetOrigin to parsedURL's [49247]origin. 6. Let transfer be options["[49248]transfer"]. 7. Let serializeWithTransferResult be [49249]StructuredSerializeWithTransfer(message, transfer). Rethrow any exceptions. 8. [49250]Queue a global task on the posted message task source given targetWindow to run the following steps: 1. If the targetOrigin argument is not a single literal U+002A ASTERISK character (*) and targetWindow's [49251]associated Document's [49252]origin is not [49253]same origin with targetOrigin, then return. 2. Let origin be the [49254]serialization of incumbentSettings's [49255]origin. 3. Let source be the [49256]WindowProxy object corresponding to incumbentSettings's [49257]global object (a [49258]Window object). 4. Let deserializeRecord be [49259]StructuredDeserializeWithTransfer(serializeWithTransfer Result, targetRealm). If this throws an exception, catch it, [49260]fire an event named [49261]messageerror at targetWindow, using [49262]MessageEvent, with the [49263]origin attribute initialized to origin and the [49264]source attribute initialized to source, and then return. 5. Let messageClone be deserializeRecord.[[Deserialized]]. 6. Let newPorts be a new [49265]frozen array consisting of all [49266]MessagePort objects in deserializeRecord.[[TransferredValues]], if any, maintaining their relative order. 7. [49267]Fire an event named [49268]message at targetWindow, using [49269]MessageEvent, with the [49270]origin attribute initialized to origin, the [49271]source attribute initialized to source, the [49272]data attribute initialized to messageClone, and the [49273]ports attribute initialized to newPorts. </p> <p> The [49274]Window interface's postMessage(message, options) method steps are to run the [49275]window post message steps given [49276]this, message, and options. </p> <p> The [49277]Window interface's postMessage(message, targetOrigin, transfer) method steps are to run the [49278]window post message steps given [49279]this, message, and «[ "[49280]targetOrigin" → targetOrigin, "[49281]transfer" → transfer ]». </p> <p> 9.4 Channel messaging </p> <p> (BUTTON) ✔MDN </p> <p> [49282]Channel_Messaging_API </p> <p> Support in all current engines. Firefox41+Safari5+Chrome2+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+ </p> <p> [49283]Channel_Messaging_API/Using_channel_messaging </p> <p> Support in all current engines. Firefox41+Safari5+Chrome2+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+ </p> <p> 9.4.1 Introduction </p> <p> This section is non-normative. </p> <p> To enable independent pieces of code (e.g. running in different [49284]browsing contexts) to communicate directly, authors can use [49285]channel messaging. </p> <p> Communication channels in this mechanism are implemented as two-ways pipes, with a port at each end. Messages sent in one port are delivered at the other port, and vice-versa. Messages are delivered as DOM events, without interrupting or blocking running [49286]tasks. </p> <p> To create a connection (two "entangled" ports), the MessageChannel() constructor is called: var channel = new MessageChannel(); </p> <p> One of the ports is kept as the local port, and the other port is sent to the remote code, e.g. using [49287]postMessage(): otherWindow.postMessage(ʼhelloʼ, ʼhttps://example.comʼ, [channel.port2]); </p> <p> To send messages, the [49288]postMessage() method on the port is used: channel.port1.postMessage(ʼhelloʼ); </p> <p> To receive messages, one listens to [49289]message events: channel.port1.onmessage = handleMessage; function handleMessage(event) { // message is in event.data // ... } </p> <p> Data sent on a port can be structured data; for example here an array of strings is passed on a [49290]MessagePort: port1.postMessage([ʼhelloʼ, ʼworldʼ]); </p> <p> 9.4.1.1 Examples </p> <p> This section is non-normative. </p> <p> In this example, two JavaScript libraries are connected to each other using [49291]MessagePorts. This allows the libraries to later be hosted in different frames, or in [49292]Worker objects, without any change to the APIs. <script src="contacts.js"></script> <!-- exposes a contacts object --> <script src="compose-mail.js"></script> <!-- exposes a composer object --> <script> var channel = new MessageChannel(); composer.addContactsProvider(channel.port1); contacts.registerConsumer(channel.port2); </script> </p> <p> Here's what the "addContactsProvider()" function's implementation could look like: function addContactsProvider(port) { port.onmessage = function (event) { switch (event.data.messageType) { case ʼsearch-resultʼ: handleSearchResult(event.data.results); break; case ʼsearch-doneʼ: handleSearchDone(); break; case ʼsearch-errorʼ: handleSearchError(event.data.message); break; // ... } }; }; </p> <p> Alternatively, it could be implemented as follows: function addContactsProvider(port) { port.addEventListener(ʼmessageʼ, function (event) { if (event.data.messageType == ʼsearch-resultʼ) handleSearchResult(event.data.results); }); port.addEventListener(ʼmessageʼ, function (event) { if (event.data.messageType == ʼsearch-doneʼ) handleSearchDone(); }); port.addEventListener(ʼmessageʼ, function (event) { if (event.data.messageType == ʼsearch-errorʼ) handleSearchError(event.data.message); }); // ... port.start(); }; </p> <p> The key difference is that when using [49293]addEventListener(), the [49294]start() method must also be invoked. When using [49295]onmessage, the call to [49296]start() is implied. </p> <p> The [49297]start() method, whether called explicitly or implicitly (by setting [49298]onmessage), starts the flow of messages: messages posted on message ports are initially paused, so that they don't get dropped on the floor before the script has had a chance to set up its handlers. </p> <p> 9.4.1.2 Ports as the basis of an object-capability model on the web </p> <p> This section is non-normative. </p> <p> Ports can be viewed as a way to expose limited capabilities (in the object-capability model sense) to other actors in the system. This can either be a weak capability system, where the ports are merely used as a convenient model within a particular origin, or as a strong capability model, where they are provided by one origin provider as the only mechanism by which another origin consumer can effect change in or obtain information from provider. </p> <p> For example, consider a situation in which a social web site embeds in one [49299]iframe the user's email contacts provider (an address book site, from a second origin), and in a second [49300]iframe a game (from a third origin). The outer social site and the game in the second [49301]iframe cannot access anything inside the first [49302]iframe; together they can only: * [49303]Navigate the [49304]iframe to a new [49305]URL, such as the same [49306]URL but with a different [49307]fragment, causing the [49308]Window in the [49309]iframe to receive a [49310]hashchange event. * Resize the [49311]iframe, causing the [49312]Window in the [49313]iframe to receive a [49314]resize event. * Send a [49315]message event to the [49316]Window in the [49317]iframe using the [49318]window.postMessage() API. </p> <p> The contacts provider can use these methods, most particularly the third one, to provide an API that can be accessed by other origins to manipulate the user's address book. For example, it could respond to a message "add-contact Guillaume Tell <tell@pomme.example.net>" by adding the given person and email address to the user's address book. </p> <p> To avoid any site on the web being able to manipulate the user's contacts, the contacts provider might only allow certain trusted sites, such as the social site, to do this. </p> <p> Now suppose the game wanted to add a contact to the user's address book, and that the social site was willing to allow it to do so on its behalf, essentially "sharing" the trust that the contacts provider had with the social site. There are several ways it could do this; most simply, it could just proxy messages between the game site and the contacts site. However, this solution has a number of difficulties: it requires the social site to either completely trust the game site not to abuse the privilege, or it requires that the social site verify each request to make sure it's not a request that it doesn't want to allow (such as adding multiple contacts, reading the contacts, or deleting them); it also requires some additional complexity if there's ever the possibility of multiple games simultaneously trying to interact with the contacts provider. </p> <p> Using message channels and [49319]MessagePort objects, however, all of these problems can go away. When the game tells the social site that it wants to add a contact, the social site can ask the contacts provider not for it to add a contact, but for the capability to add a single contact. The contacts provider then creates a pair of [49320]MessagePort objects, and sends one of them back to the social site, who forwards it on to the game. The game and the contacts provider then have a direct connection, and the contacts provider knows to only honor a single "add contact" request, nothing else. In other words, the game has been granted the capability to add a single contact. </p> <p> 9.4.1.3 Ports as the basis of abstracting out service implementations </p> <p> This section is non-normative. </p> <p> Continuing the example from the previous section, consider the contacts provider in particular. While an initial implementation might have simply used [49321]XMLHttpRequest objects in the service's [49322]iframe, an evolution of the service might instead want to use a [49323]shared worker with a single [49324]WebSocket connection. </p> <p> If the initial design used [49325]MessagePort objects to grant capabilities, or even just to allow multiple simultaneous independent sessions, the service implementation can switch from the [49326]XMLHttpRequests-in-each-[49327]iframe model to the shared-[49328]WebSocket model without changing the API at all: the ports on the service provider side can all be forwarded to the shared worker without it affecting the users of the API in the slightest. </p> <p> 9.4.2 Message channels </p> <p> (BUTTON) ✔MDN </p> <p> [49329]MessageChannel </p> <p> Support in all current engines. Firefox41+Safari5+Chrome2+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+ </p> <p> [Exposed=(Window,Worker)] interface MessageChannel { [49330]constructor(); </p> <p> readonly attribute [49331]MessagePort [49332]port1; readonly attribute [49333]MessagePort [49334]port2; }; </p> <p> channel = new [49335]MessageChannel() </p> <p> (BUTTON) ✔MDN </p> <p> [49336]MessageChannel/MessageChannel </p> <p> Support in all current engines. </p> <p> Firefox41+Safari5+Chrome2+ ___________________________________________________________ </p> <p> Opera10.6+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+ Returns a new [49337]MessageChannel object with two new [49338]MessagePort objects. </p> <p> channel.[49339]port1 </p> <p> (BUTTON) ✔MDN </p> <p> [49340]MessageChannel/port1 </p> <p> Support in all current engines. </p> <p> Firefox41+Safari5+Chrome2+ ___________________________________________________________ </p> <p> Opera10.6+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+ Returns the first [49341]MessagePort object. </p> <p> channel.[49342]port2 </p> <p> (BUTTON) ✔MDN </p> <p> [49343]MessageChannel/port2 </p> <p> Support in all current engines. </p> <p> Firefox41+Safari5+Chrome2+ ___________________________________________________________ </p> <p> Opera10.6+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+ Returns the second [49344]MessagePort object. </p> <p> A [49345]MessageChannel object has an associated port 1 and an associated port 2, both [49346]MessagePort objects. </p> <p> The new MessageChannel() constructor steps are: 1. Set [49347]this's [49348]port 1 to a [49349]new [49350]MessagePort in [49351]this's [49352]relevant realm. 2. Set [49353]this's [49354]port 2 to a [49355]new [49356]MessagePort in [49357]this's [49358]relevant realm. 3. [49359]Entangle [49360]this's [49361]port 1 and [49362]this's [49363]port 2. </p> <p> The port1 getter steps are to return [49364]this's [49365]port 1. </p> <p> The port2 getter steps are to return [49366]this's [49367]port 2. </p> <p> 9.4.3 The [49368]MessageEventTarget mixin </p> <p> interface mixin MessageEventTarget { attribute [49369]EventHandler [49370]onmessage; attribute [49371]EventHandler [49372]onmessageerror; }; </p> <p> The following are the [49373]event handlers (and their corresponding [49374]event handler event types) that must be supported, as [49375]event handler IDL attributes, by objects implementing the [49376]MessageEventTarget interface: </p> <p> [49377]Event handler [49378]Event handler event type onmessage (BUTTON) ✔MDN </p> <p> [49379]MessagePort/message_event </p> <p> Support in all current engines. Firefox41+Safari5+Chrome2+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android11.5+ </p> <p> [49380]DedicatedWorkerGlobalScope/message_event </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android11.5+ [49381]message onmessageerror (BUTTON) ✔MDN </p> <p> [49382]MessagePort/messageerror_event </p> <p> Support in all current engines. Firefox57+Safari16.4+Chrome60+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)18Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android47+ </p> <p> [49383]DedicatedWorkerGlobalScope/messageerror_event </p> <p> Support in all current engines. Firefox57+Safari16.4+Chrome60+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)18Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android47+ [49384]messageerror </p> <p> 9.4.4 Message ports </p> <p> (BUTTON) ✔MDN </p> <p> [49385]MessagePort </p> <p> Support in all current engines. Firefox41+Safari5+Chrome2+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+ </p> <p> Each channel has two message ports. Data sent through one port is received by the other port, and vice versa. [Exposed=(Window,Worker,AudioWorklet), [49386]Transferable] interface MessagePort : [49387]EventTarget { undefined [49388]postMessage(any message, sequence<[49389]object> transfer); undefined [49390]postMessage(any message, optional [49391]StructuredSerializeO ptions options = {}); undefined [49392]start(); undefined [49393]close(); </p> <p> // event handlers attribute [49394]EventHandler [49395]onclose; }; </p> <p> [49396]MessagePort includes [49397]MessageEventTarget; </p> <p> dictionary StructuredSerializeOptions { sequence<[49398]object> transfer = []; }; </p> <p> port.[49399]postMessage(message [, transfer]) </p> <p> (BUTTON) ✔MDN </p> <p> [49400]MessagePort/postMessage </p> <p> Support in all current engines. </p> <p> Firefox41+Safari5+Chrome2+ ___________________________________________________________ </p> <p> Opera10.6+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+ </p> <p> port.[49401]postMessage(message [, { transfer }]) Posts a message through the channel. Objects listed in transfer are transferred, not just cloned, meaning that they are no longer usable on the sending side. </p> <p> Throws a [49402]"DataCloneError" [49403]DOMException if transfer contains duplicate objects or port, or if message could not be cloned. </p> <p> port.[49404]start() </p> <p> (BUTTON) ✔MDN </p> <p> [49405]MessagePort/start </p> <p> Support in all current engines. </p> <p> Firefox41+Safari5+Chrome2+ ___________________________________________________________ </p> <p> Opera10.6+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+ Begins dispatching messages received on the port. </p> <p> port.[49406]close() </p> <p> (BUTTON) ✔MDN </p> <p> [49407]MessagePort/close </p> <p> Support in all current engines. </p> <p> Firefox41+Safari5+Chrome2+ ___________________________________________________________ </p> <p> Opera10.6+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+ Disconnects the port, so that it is no longer active. </p> <p> Each [49408]MessagePort object has a message event target (a [49409]MessageEventTarget), to which the [49410]message and [49411]messageerror events are dispatched. Unless otherwise specified, it defaults to the [49412]MessagePort object itself. </p> <p> Each [49413]MessagePort object can be entangled with another (a symmetric relationship). Each [49414]MessagePort object also has a [49415]task source called the port message queue, initially empty. A [49416]port message queue can be enabled or disabled, and is initially disabled. Once enabled, a port can never be disabled again (though messages in the queue can get moved to another queue or removed altogether, which has much the same effect). A [49417]MessagePort also has a has been shipped flag, which must initially be false. </p> <p> When a port's [49418]port message queue is enabled, the [49419]event loop must use it as one of its [49420]task sources. When a port's [49421]relevant global object is a [49422]Window, all [49423]tasks [49424]queued on its [49425]port message queue must be associated with the port's [49426]relevant global object's [49427]associated Document. </p> <p> If the document is [49428]fully active, but the event listeners were all created in the context of documents that are not [49429]fully active, then the messages will not be received unless and until the documents become [49430]fully active again. </p> <p> Each [49431]event loop has a [49432]task source called the unshipped port message queue. This is a virtual [49433]task source: it must act as if it contained the [49434]tasks of each [49435]port message queue of each [49436]MessagePort whose [49437]has been shipped flag is false, whose [49438]port message queue is enabled, and whose [49439]relevant agent's [49440]event loop is that [49441]event loop, in the order in which they were added to their respective [49442]task source. When a [49443]task would be removed from the [49444]unshipped port message queue, it must instead be removed from its [49445]port message queue. </p> <p> When a [49446]MessagePort's [49447]has been shipped flag is false, its [49448]port message queue must be ignored for the purposes of the [49449]event loop. (The [49450]unshipped port message queue is used instead.) </p> <p> The [49451]has been shipped flag is set to true when a port, its twin, or the object it was cloned from, is or has been transferred. When a [49452]MessagePort's [49453]has been shipped flag is true, its [49454]port message queue acts as a first-class [49455]task source, unaffected to any [49456]unshipped port message queue. </p> <p> When the user agent is to entangle two [49457]MessagePort objects, it must run the following steps: 1. If one of the ports is already entangled, then disentangle it and the port that it was entangled with. If those two previously entangled ports were the two ports of a [49458]MessageChannel object, then that [49459]MessageChannel object no longer represents an actual channel: the two ports in that object are no longer entangled. 2. Associate the two ports to be entangled, so that they form the two parts of a new channel. (There is no [49460]MessageChannel object that represents this channel.) Two ports A and B that have gone through this step are now said to be entangled; one is entangled to the other, and vice versa. While this specification describes this process as instantaneous, implementations are more likely to implement it via message passing. As with all algorithms, the key is "merely" that the end result be indistinguishable, in a black-box sense, from the specification. </p> <p> The disentangle steps, given a [49461]MessagePort initiatorPort which initiates disentangling, are as follows: 1. Let otherPort be the [49462]MessagePort which initiatorPort was entangled with. 2. [49463]Assert: otherPort exists. 3. Disentangle initiatorPort and otherPort, so that they are no longer entangled or associated with each other. 4. [49464]Fire an event named [49465]close at otherPort. </p> <p> The [49466]close event will be fired even if the port is not explicitly closed. The cases where this event is dispatched are: * the [49467]close() method was called; * the [49468]Document was [49469]destroyed; or * the [49470]MessagePort was [49471]garbage collected. </p> <p> We only dispatch the event on otherPort because initiatorPort explicitly triggered the close, its [49472]Document no longer exists, or it was already garbage collected, as described above. __________________________________________________________________ </p> <p> [49473]MessagePort objects are [49474]transferable objects. Their [49475]transfer steps, given value and dataHolder, are: 1. Set value's [49476]has been shipped flag to true. 2. Set dataHolder.[[PortMessageQueue]] to value's [49477]port message queue. 3. If value is entangled with another port remotePort, then: 1. Set remotePort's [49478]has been shipped flag to true. 2. Set dataHolder.[[RemotePort]] to remotePort. 4. Otherwise, set dataHolder.[[RemotePort]] to null. </p> <p> Their [49479]transfer-receiving steps, given dataHolder and value, are: 1. Set value's [49480]has been shipped flag to true. 2. Move all the [49481]tasks that are to fire [49482]message events in dataHolder.[[PortMessageQueue]] to the [49483]port message queue of value, if any, leaving value's [49484]port message queue in its initial disabled state, and, if value's [49485]relevant global object is a [49486]Window, associating the moved [49487]tasks with value's [49488]relevant global object's [49489]associated Document. 3. If dataHolder.[[RemotePort]] is not null, then [49490]entangle dataHolder.[[RemotePort]] and value. (This will disentangle dataHolder.[[RemotePort]] from the original port that was transferred.) __________________________________________________________________ </p> <p> The message port post message steps, given sourcePort, targetPort, message, and options are as follows: 1. Let transfer be options["[49491]transfer"]. 2. If transfer [49492]contains sourcePort, then throw a [49493]"DataCloneError" [49494]DOMException. 3. Let doomed be false. 4. If targetPort is not null and transfer [49495]contains targetPort, then set doomed to true and optionally report to a developer console that the target port was posted to itself, causing the communication channel to be lost. 5. Let serializeWithTransferResult be [49496]StructuredSerializeWithTransfer(message, transfer). Rethrow any exceptions. 6. If targetPort is null, or if doomed is true, then return. 7. Add a [49497]task that runs the following steps to the [49498]port message queue of targetPort: 1. Let finalTargetPort be the [49499]MessagePort in whose [49500]port message queue the task now finds itself. This can be different from targetPort, if targetPort itself was transferred and thus all its tasks moved along with it. 2. Let messageEventTarget be finalTargetPort's [49501]message event target. 3. Let targetRealm be finalTargetPort's [49502]relevant realm. 4. Let deserializeRecord be [49503]StructuredDeserializeWithTransfer(serializeWithTransfer Result, targetRealm). If this throws an exception, catch it, [49504]fire an event named [49505]messageerror at messageEventTarget, using [49506]MessageEvent, and then return. 5. Let messageClone be deserializeRecord.[[Deserialized]]. 6. Let newPorts be a new [49507]frozen array consisting of all [49508]MessagePort objects in deserializeRecord.[[TransferredValues]], if any, maintaining their relative order. 7. [49509]Fire an event named [49510]message at messageEventTarget, using [49511]MessageEvent, with the [49512]data attribute initialized to messageClone and the [49513]ports attribute initialized to newPorts. </p> <p> The postMessage(message, options) method steps are: 1. Let targetPort be the port with which [49514]this is entangled, if any; otherwise let it be null. 2. Run the [49515]message port post message steps providing [49516]this, targetPort, message and options. </p> <p> The postMessage(message, transfer) method steps are: 1. Let targetPort be the port with which [49517]this is entangled, if any; otherwise let it be null. 2. Let options be «[ "[49518]transfer" → transfer ]». 3. Run the [49519]message port post message steps providing [49520]this, targetPort, message and options. __________________________________________________________________ </p> <p> The start() method steps are to enable [49521]this's [49522]port message queue, if it is not already enabled. __________________________________________________________________ </p> <p> The close() method steps are: 1. Set [49523]this's [49524][[Detached]] internal slot value to true. 2. If [49525]this is entangled, [49526]disentangle it. __________________________________________________________________ </p> <p> The following are the [49527]event handlers (and their corresponding [49528]event handler event types) that must be supported, as [49529]event handler IDL attributes, by all objects implementing the [49530]MessagePort interface: </p> <p> [49531]Event handler [49532]Event handler event type onclose [49533]close </p> <p> The first time a [49534]MessagePort object's [49535]onmessage IDL attribute is set, the port's [49536]port message queue must be enabled, as if the [49537]start() method had been called. </p> <p> 9.4.5 Ports and garbage collection </p> <p> When a [49538]MessagePort object o is garbage collected, if o is entangled, then the user agent must [49539]disentangle o. </p> <p> When a [49540]MessagePort object o is entangled and [49541]message or [49542]messageerror event listener is registered, user agents must act as if o's entangled [49543]MessagePort object has a strong reference to o. </p> <p> Furthermore, a [49544]MessagePort object must not be garbage collected while there exists an event referenced by a [49545]task in a [49546]task queue that is to be dispatched on that [49547]MessagePort object, or while the [49548]MessagePort object's [49549]port message queue is enabled and not empty. </p> <p> Thus, a message port can be received, given an event listener, and then forgotten, and so long as that event listener could receive a message, the channel will be maintained. </p> <p> Of course, if this was to occur on both sides of the channel, then both ports could be garbage collected, since they would not be reachable from live code, despite having a strong reference to each other. However, if a message port has a pending message, it is not garbage collected. </p> <p> Authors are strongly encouraged to explicitly close [49550]MessagePort objects to disentangle them, so that their resources can be recollected. Creating many [49551]MessagePort objects and discarding them without closing them can lead to high transient memory usage since garbage collection is not necessarily performed promptly, especially for [49552]MessagePorts where garbage collection can involve cross-process coordination. </p> <p> 9.5 Broadcasting to other browsing contexts </p> <p> (BUTTON) ✔MDN </p> <p> [49553]BroadcastChannel </p> <p> Support in all current engines. Firefox38+Safari15.4+Chrome54+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? </p> <p> [49554]Broadcast_Channel_API </p> <p> Support in all current engines. Firefox38+Safari15.4+Chrome54+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? </p> <p> Pages on a single [49555]origin opened by the same user in the same user agent but in different unrelated [49556]browsing contexts sometimes need to send notifications to each other, for example "hey, the user logged in over here, check your credentials again". </p> <p> For elaborate cases, e.g. to manage locking of shared state, to manage synchronization of resources between a server and multiple local clients, to share a [49557]WebSocket connection with a remote host, and so forth, [49558]shared workers are the most appropriate solution. </p> <p> For simple cases, though, where a shared worker would be an unreasonable overhead, authors can use the simple channel-based broadcast mechanism described in this section. [Exposed=(Window,Worker)] interface BroadcastChannel : [49559]EventTarget { [49560]constructor(DOMString name); </p> <p> readonly attribute DOMString [49561]name; undefined [49562]postMessage(any message); undefined [49563]close(); attribute [49564]EventHandler [49565]onmessage; attribute [49566]EventHandler [49567]onmessageerror; }; </p> <p> broadcastChannel = new [49568]BroadcastChannel(name) </p> <p> (BUTTON) ✔MDN </p> <p> [49569]BroadcastChannel/BroadcastChannel </p> <p> Support in all current engines. </p> <p> Firefox38+Safari15.4+Chrome54+ ___________________________________________________________ </p> <p> Opera?Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns a new [49570]BroadcastChannel object via which messages for the given channel name can be sent and received. </p> <p> broadcastChannel.[49571]name </p> <p> (BUTTON) ✔MDN </p> <p> [49572]BroadcastChannel/name </p> <p> Support in all current engines. </p> <p> Firefox38+Safari15.4+Chrome54+ ___________________________________________________________ </p> <p> Opera?Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the channel name (as passed to the constructor). </p> <p> broadcastChannel.[49573]postMessage(message) </p> <p> (BUTTON) ✔MDN </p> <p> [49574]BroadcastChannel/postMessage </p> <p> Support in all current engines. </p> <p> Firefox38+Safari15.4+Chrome54+ ___________________________________________________________ </p> <p> Opera?Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Sends the given message to other [49575]BroadcastChannel objects set up for this channel. Messages can be structured objects, e.g. nested objects and arrays. </p> <p> broadcastChannel.[49576]close() </p> <p> (BUTTON) ✔MDN </p> <p> [49577]BroadcastChannel/close </p> <p> Support in all current engines. </p> <p> Firefox38+Safari15.4+Chrome54+ ___________________________________________________________ </p> <p> Opera?Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Closes the [49578]BroadcastChannel object, opening it up to garbage collection. </p> <p> A [49579]BroadcastChannel object has a channel name and a closed flag. </p> <p> The new BroadcastChannel(name) constructor steps are: 1. Set [49580]this's [49581]channel name to name. 2. Set [49582]this's [49583]closed flag to false. </p> <p> The name getter steps are to return [49584]this's [49585]channel name. </p> <p> A [49586]BroadcastChannel object is said to be eligible for messaging when its [49587]relevant global object is either: * a [49588]Window object whose [49589]associated Document is [49590]fully active, or * a [49591]WorkerGlobalScope object whose [49592]closing flag is false and whose [49593]worker is not a [49594]suspendable worker. </p> <p> The postMessage(message) method steps are: 1. If [49595]this is not [49596]eligible for messaging, then return. 2. If [49597]this's [49598]closed flag is true, then throw an [49599]"InvalidStateError" [49600]DOMException. 3. Let serialized be [49601]StructuredSerialize(message). Rethrow any exceptions. 4. Let sourceOrigin be [49602]this's [49603]relevant settings object's [49604]origin. 5. Let sourceStorageKey be the result of running [49605]obtain a storage key for non-storage purposes with [49606]this's [49607]relevant settings object. 6. Let destinations be a list of [49608]BroadcastChannel objects that match the following criteria: + They are [49609]eligible for messaging. + The result of running [49610]obtain a storage key for non-storage purposes with their [49611]relevant settings object [49612]equals sourceStorageKey. + Their [49613]channel name [49614]is [49615]this's [49616]channel name. 7. Remove source from destinations. 8. Sort destinations such that all [49617]BroadcastChannel objects whose [49618]relevant agents are the same are sorted in creation order, oldest first. (This does not define a complete ordering. Within this constraint, user agents may sort the list in any [49619]implementation-defined manner.) 9. For each destination in destinations, [49620]queue a global task on the [49621]DOM manipulation task source given destination's [49622]relevant global object to perform the following steps: 1. If destination's [49623]closed flag is true, then abort these steps. 2. Let targetRealm be destination's [49624]relevant realm. 3. Let data be [49625]StructuredDeserialize(serialized, targetRealm). If this throws an exception, catch it, [49626]fire an event named [49627]messageerror at destination, using [49628]MessageEvent, with the [49629]origin attribute initialized to the [49630]serialization of sourceOrigin, and then abort these steps. 4. [49631]Fire an event named [49632]message at destination, using [49633]MessageEvent, with the [49634]data attribute initialized to data and the [49635]origin attribute initialized to the [49636]serialization of sourceOrigin. </p> <p> While a [49637]BroadcastChannel object whose [49638]closed flag is false has an event listener registered for [49639]message or [49640]messageerror events, there must be a strong reference from the [49641]BroadcastChannel object's [49642]relevant global object to the [49643]BroadcastChannel object itself. </p> <p> The close() method steps are to set [49644]this's [49645]closed flag to true. </p> <p> Authors are strongly encouraged to explicitly close [49646]BroadcastChannel objects when they are no longer needed, so that they can be garbage collected. Creating many [49647]BroadcastChannel objects and discarding them while leaving them with an event listener and without closing them can lead to an apparent memory leak, since the objects will continue to live for as long as they have an event listener (or until their page or worker is closed). __________________________________________________________________ </p> <p> The following are the [49648]event handlers (and their corresponding [49649]event handler event types) that must be supported, as [49650]event handler IDL attributes, by all objects implementing the [49651]BroadcastChannel interface: </p> <p> [49652]Event handler [49653]Event handler event type onmessage (BUTTON) ✔MDN </p> <p> [49654]BroadcastChannel/message_event </p> <p> Support in all current engines. Firefox38+Safari15.4+Chrome54+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [49655]message onmessageerror (BUTTON) ✔MDN </p> <p> [49656]BroadcastChannel/messageerror_event </p> <p> Support in all current engines. Firefox57+Safari15.4+Chrome60+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android47+ [49657]messageerror </p> <p> Suppose a page wants to know when the user logs out, even when the user does so from another tab at the same site: var authChannel = new BroadcastChannel(ʼauthʼ); authChannel.onmessage = function (event) { if (event.data == ʼlogoutʼ) showLogout(); } </p> <p> function logoutRequested() { // called when the user asks us to log them out doLogout(); showLogout(); authChannel.postMessage(ʼlogoutʼ); } </p> <p> function doLogout() { // actually log the user out (e.g. clearing cookies) // ... } </p> <p> function showLogout() { // update the UI to indicate weʼre logged out // ... } </p> <p> 10 Web workers </p> <p> (BUTTON) ✔MDN </p> <p> [49658]Web_Workers_API </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome2+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11+ </p> <p> [49659]Web_Workers_API/Using_web_workers </p> <p> 10.1 Introduction </p> <p> 10.1.1 Scope </p> <p> This section is non-normative. </p> <p> This specification defines an API for running scripts in the background independently of any user interface scripts. </p> <p> This allows for long-running scripts that are not interrupted by scripts that respond to clicks or other user interactions, and allows long tasks to be executed without yielding to keep the page responsive. </p> <p> Workers (as these background scripts are called herein) are relatively heavy-weight, and are not intended to be used in large numbers. For example, it would be inappropriate to launch one worker for each pixel of a four megapixel image. The examples below show some appropriate uses of workers. </p> <p> Generally, workers are expected to be long-lived, have a high start-up performance cost, and a high per-instance memory cost. </p> <p> 10.1.2 Examples </p> <p> This section is non-normative. </p> <p> There are a variety of uses that workers can be put to. The following subsections show various examples of this use. </p> <p> 10.1.2.1 A background number-crunching worker </p> <p> This section is non-normative. </p> <p> The simplest use of workers is for performing a computationally expensive task without interrupting the user interface. </p> <p> In this example, the main document spawns a worker to (naïvely) compute prime numbers, and progressively displays the most recently found prime number. </p> <p> The main page is as follows: <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"> <title>Worker example: One-core computation</title> </head> <body> <p>The highest prime number discovered so far is: <output id="result"></output ></p> <script> var worker = new Worker(ʼworker.jsʼ); worker.onmessage = function (event) { document.getElementById(ʼresultʼ).textContent = event.data; }; </script> </body> </html> </p> <p> The [49660]Worker() constructor call creates a worker and returns a [49661]Worker object representing that worker, which is used to communicate with the worker. That object's [49662]onmessage event handler allows the code to receive messages from the worker. </p> <p> The worker itself is as follows: var n = 1; search: while (true) { n += 1; for (var i = 2; i <= Math.sqrt(n); i += 1) if (n % i == 0) continue search; // found a prime! postMessage(n); } </p> <p> The bulk of this code is simply an unoptimized search for a prime number. The [49663]postMessage() method is used to send a message back to the page when a prime is found. </p> <p> [49664]View this example online. </p> <p> 10.1.2.2 Using a JavaScript module as a worker </p> <p> This section is non-normative. </p> <p> All of our examples so far show workers that run [49665]classic scripts. Workers can instead be instantiated using [49666]module scripts, which have the usual benefits: the ability to use the JavaScript import statement to import other modules; strict mode by default; and top-level declarations not polluting the worker's global scope. </p> <p> As the import statement is available, the [49667]importScripts() method will automatically fail inside module workers. </p> <p> In this example, the main document uses a worker to do off-main-thread image manipulation. It imports the filters used from another module. </p> <p> The main page is as follows: <!DOCTYPE html> <html lang="en"> <meta charset="utf-8"> <title>Worker example: image decoding</title> </p> <p> <p> <label> Type an image URL to decode <input type="url" id="image-url" list="image-list"> <datalist id="image-list"> <option value="https://html.spec.whatwg.org/images/drawImage.png"> <option value="https://html.spec.whatwg.org/images/robots.jpeg"> <option value="https://html.spec.whatwg.org/images/arcTo2.png"> </datalist> </label> </p> </p> <p> <p> <label> Choose a filter to apply <select id="filter"> <option value="none">none</option> <option value="grayscale">grayscale</option> <option value="brighten">brighten by 20%</option> </select> </label> </p> </p> <p> <div id="output"></div> </p> <p> <script type="module"> const worker = new Worker("worker.js", { type: "module" }); worker.onmessage = receiveFromWorker; </p> <p> const url = document.querySelector("#image-url"); const filter = document.querySelector("#filter"); const output = document.querySelector("#output"); </p> <p> url.oninput = updateImage; filter.oninput = sendToWorker; </p> <p> let imageData, context; </p> <p> function updateImage() { const img = new Image(); img.src = url.value; </p> <p> img.onload = () => { const canvas = document.createElement("canvas"); canvas.width = img.width; canvas.height = img.height; </p> <p> context = canvas.getContext("2d"); context.drawImage(img, 0, 0); imageData = context.getImageData(0, 0, canvas.width, canvas.height); </p> <p> sendToWorker(); output.replaceChildren(canvas); }; } </p> <p> function sendToWorker() { worker.postMessage({ imageData, filter: filter.value }); } </p> <p> function receiveFromWorker(e) { context.putImageData(e.data, 0, 0); } </script> </p> <p> The worker file is then: import * as filters from "./filters.js"; </p> <p> self.onmessage = e => { const { imageData, filter } = e.data; filters[filter](imageData); self.postMessage(imageData, [imageData.data.buffer]); }; </p> <p> Which imports the file filters.js: export function none() {} </p> <p> export function grayscale({ data: d }) { for (let i = 0; i < d.length; i += 4) { const [r, g, b] = [d[i], d[i + 1], d[i + 2]]; </p> <p> // CIE luminance for the RGB // The human eye is bad at seeing red and blue, so we de-emphasize them. d[i] = d[i + 1] = d[i + 2] = 0.2126 * r + 0.7152 * g + 0.0722 * b; } }; </p> <p> export function brighten({ data: d }) { for (let i = 0; i < d.length; ++i) { d[i] *= 1.2; } }; </p> <p> [49668]View this example online. </p> <p> 10.1.2.3 Shared workers introduction </p> <p> (BUTTON) ✔MDN </p> <p> [49669]SharedWorker </p> <p> Support in all current engines. Firefox29+Safari16+Chrome5+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android33+Safari iOS16+Chrome AndroidNoWebView Android?Samsung Internet4.0–5.0Opera Android11–14 </p> <p> This section is non-normative. </p> <p> This section introduces shared workers using a Hello World example. Shared workers use slightly different APIs, since each worker can have multiple connections. </p> <p> This first example shows how you connect to a worker and how a worker can send a message back to the page when it connects to it. Received messages are displayed in a log. </p> <p> Here is the HTML page: <!DOCTYPE HTML> <html lang="en"> <meta charset="utf-8"> <title>Shared workers: demo 1</title> <pre id="log">Log:</pre> <script> var worker = new SharedWorker(ʼtest.jsʼ); var log = document.getElementById(ʼlogʼ); worker.port.onmessage = function(e) { // note: not worker.onmessage! log.textContent += ʼ\nʼ + e.data; } </script> </p> <p> Here is the JavaScript worker: onconnect = function(e) { var port = e.ports[0]; port.postMessage(ʼHello World!ʼ); } </p> <p> [49670]View this example online. __________________________________________________________________ </p> <p> This second example extends the first one by changing two things: first, messages are received using addEventListener() instead of an [49671]event handler IDL attribute, and second, a message is sent to the worker, causing the worker to send another message in return. Received messages are again displayed in a log. </p> <p> Here is the HTML page: <!DOCTYPE HTML> <html lang="en"> <meta charset="utf-8"> <title>Shared workers: demo 2</title> <pre id="log">Log:</pre> <script> var worker = new SharedWorker(ʼtest.jsʼ); var log = document.getElementById(ʼlogʼ); worker.port.addEventListener(ʼmessageʼ, function(e) { log.textContent += ʼ\nʼ + e.data; }, false); worker.port.start(); // note: need this when using addEventListener worker.port.postMessage(ʼpingʼ); </script> </p> <p> Here is the JavaScript worker: onconnect = function(e) { var port = e.ports[0]; port.postMessage(ʼHello World!ʼ); port.onmessage = function(e) { port.postMessage(ʼpongʼ); // not e.ports[0].postMessage! // e.target.postMessage(ʼpongʼ); would work also } } </p> <p> [49672]View this example online. __________________________________________________________________ </p> <p> Finally, the example is extended to show how two pages can connect to the same worker; in this case, the second page is merely in an [49673]iframe on the first page, but the same principle would apply to an entirely separate page in a separate [49674]top-level traversable. </p> <p> Here is the outer HTML page: <!DOCTYPE HTML> <html lang="en"> <meta charset="utf-8"> <title>Shared workers: demo 3</title> <pre id="log">Log:</pre> <script> var worker = new SharedWorker(ʼtest.jsʼ); var log = document.getElementById(ʼlogʼ); worker.port.addEventListener(ʼmessageʼ, function(e) { log.textContent += ʼ\nʼ + e.data; }, false); worker.port.start(); worker.port.postMessage(ʼpingʼ); </script> <iframe src="inner.html"></iframe> </p> <p> Here is the inner HTML page: <!DOCTYPE HTML> <html lang="en"> <meta charset="utf-8"> <title>Shared workers: demo 3 inner frame</title> <pre id=log>Inner log:</pre> <script> var worker = new SharedWorker(ʼtest.jsʼ); var log = document.getElementById(ʼlogʼ); worker.port.onmessage = function(e) { log.textContent += ʼ\nʼ + e.data; } </script> </p> <p> Here is the JavaScript worker: var count = 0; onconnect = function(e) { count += 1; var port = e.ports[0]; port.postMessage(ʼHello World! You are connection #ʼ + count); port.onmessage = function(e) { port.postMessage(ʼpongʼ); } } </p> <p> [49675]View this example online. </p> <p> 10.1.2.4 Shared state using a shared worker </p> <p> This section is non-normative. </p> <p> In this example, multiple windows (viewers) can be opened that are all viewing the same map. All the windows share the same map information, with a single worker coordinating all the viewers. Each viewer can move around independently, but if they set any data on the map, all the viewers are updated. </p> <p> The main page isn't interesting, it merely provides a way to open the viewers: <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"> <title>Workers example: Multiviewer</title> <script> function openViewer() { window.open(ʼviewer.htmlʼ); } </script> </head> <body> <p><button type=button onclick="openViewer()">Open a new viewer</button></p> <p>Each viewer opens in a new window. You can have as many viewers as you like, they all view the same data.</p> </body> </html> </p> <p> The viewer is more involved: <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"> <title>Workers example: Multiviewer viewer</title> <script> var worker = new SharedWorker(ʼworker.jsʼ, ʼcoreʼ); </p> <p> // CONFIGURATION function configure(event) { if (event.data.substr(0, 4) != ʼcfg ʼ) return; var name = event.data.substr(4).split(ʼ ʼ, 1)[0]; // update display to mention our name is name document.getElementsByTagName(ʼh1ʼ)[0].textContent += ʼ ʼ + name; // no longer need this listener worker.port.removeEventListener(ʼmessageʼ, configure, false); } worker.port.addEventListener(ʼmessageʼ, configure, false); </p> <p> // MAP function paintMap(event) { if (event.data.substr(0, 4) != ʼmap ʼ) return; var data = event.data.substr(4).split(ʼ,ʼ); // display tiles data[0] .. data[8] var canvas = document.getElementById(ʼmapʼ); var context = canvas.getContext(ʼ2dʼ); for (var y = 0; y < 3; y += 1) { for (var x = 0; x < 3; x += 1) { var tile = data[y * 3 + x]; if (tile == ʼ0ʼ) context.fillStyle = ʼgreenʼ; else context.fillStyle = ʼmaroonʼ; context.fillRect(x * 50, y * 50, 50, 50); } } } worker.port.addEventListener(ʼmessageʼ, paintMap, false); </p> <p> // PUBLIC CHAT function updatePublicChat(event) { if (event.data.substr(0, 4) != ʼtxt ʼ) return; var name = event.data.substr(4).split(ʼ ʼ, 1)[0]; var message = event.data.substr(4 + name.length + 1); // display "<name> message" in public chat var public = document.getElementById(ʼpublicʼ); var p = document.createElement(ʼpʼ); var n = document.createElement(ʼbuttonʼ); n.textContent = ʼ<ʼ + name + ʼ> ʼ; n.onclick = function () { worker.port.postMessage(ʼmsg ʼ + name); }; p.appendChild(n); var m = document.createElement(ʼspanʼ); m.textContent = message; p.appendChild(m); public.appendChild(p); } worker.port.addEventListener(ʼmessageʼ, updatePublicChat, false); </p> <p> // PRIVATE CHAT function startPrivateChat(event) { if (event.data.substr(0, 4) != ʼmsg ʼ) return; var name = event.data.substr(4).split(ʼ ʼ, 1)[0]; var port = event.ports[0]; // display a private chat UI var ul = document.getElementById(ʼprivateʼ); var li = document.createElement(ʼliʼ); var h3 = document.createElement(ʼh3ʼ); h3.textContent = ʼPrivate chat with ʼ + name; li.appendChild(h3); var div = document.createElement(ʼdivʼ); var addMessage = function(name, message) { var p = document.createElement(ʼpʼ); var n = document.createElement(ʼstrongʼ); n.textContent = ʼ<ʼ + name + ʼ> ʼ; p.appendChild(n); var t = document.createElement(ʼspanʼ); t.textContent = message; p.appendChild(t); div.appendChild(p); }; port.onmessage = function (event) { addMessage(name, event.data); }; li.appendChild(div); var form = document.createElement(ʼformʼ); var p = document.createElement(ʼpʼ); var input = document.createElement(ʼinputʼ); input.size = 50; p.appendChild(input); p.appendChild(document.createTextNode(ʼ ʼ)); var button = document.createElement(ʼbuttonʼ); button.textContent = ʼPostʼ; p.appendChild(button); form.onsubmit = function () { port.postMessage(input.value); addMessage(ʼmeʼ, input.value); input.value = ʼʼ; return false; }; form.appendChild(p); li.appendChild(form); ul.appendChild(li); } worker.port.addEventListener(ʼmessageʼ, startPrivateChat, false); </p> <p> worker.port.start(); </script> </head> <body> <h1>Viewer</h1> <h2>Map</h2> <p><canvas id="map" height=150 width=150></canvas></p> <p> <button type=button onclick="worker.port.postMessage(ʼmov leftʼ)">Left</butto n> <button type=button onclick="worker.port.postMessage(ʼmov upʼ)">Up</button> <button type=button onclick="worker.port.postMessage(ʼmov downʼ)">Down</butto n> <button type=button onclick="worker.port.postMessage(ʼmov rightʼ)">Right</but ton> <button type=button onclick="worker.port.postMessage(ʼset 0ʼ)">Set 0</button> <button type=button onclick="worker.port.postMessage(ʼset 1ʼ)">Set 1</button> </p> <h2>Public Chat</h2> <div id="public"></div> <form onsubmit="worker.port.postMessage(ʼtxt ʼ + message.value); message.value = ʼʼ; return false;"> <p> <input type="text" name="message" size="50"> <button>Post</button> </p> </form> <h2>Private Chat</h2> <ul id="private"></ul> </body> </html> </p> <p> There are several key things worth noting about the way the viewer is written. </p> <p> Multiple listeners. Instead of a single message processing function, the code here attaches multiple event listeners, each one performing a quick check to see if it is relevant for the message. In this example it doesn't make much difference, but if multiple authors wanted to collaborate using a single port to communicate with a worker, it would allow for independent code instead of changes having to all be made to a single event handling function. </p> <p> Registering event listeners in this way also allows you to unregister specific listeners when you are done with them, as is done with the configure() method in this example. </p> <p> Finally, the worker: var nextName = 0; function getNextName() { // this could use more friendly names // but for now just return a number return nextName++; } </p> <p> var map = [ [0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 1, 0, 1, 1], [0, 1, 0, 1, 0, 0, 0], [0, 1, 0, 1, 0, 1, 1], [0, 0, 0, 1, 0, 0, 0], [1, 0, 0, 1, 1, 1, 1], [1, 1, 0, 1, 1, 0, 1], ]; </p> <p> function wrapX(x) { if (x < 0) return wrapX(x + map[0].length); if (x >= map[0].length) return wrapX(x - map[0].length); return x; } </p> <p> function wrapY(y) { if (y < 0) return wrapY(y + map.length); if (y >= map[0].length) return wrapY(y - map.length); return y; } </p> <p> function wrap(val, min, max) { if (val < min) return val + (max-min)+1; if (val > max) return val - (max-min)-1; return val; } </p> <p> function sendMapData(viewer) { var data = ʼʼ; for (var y = viewer.y-1; y <= viewer.y+1; y += 1) { for (var x = viewer.x-1; x <= viewer.x+1; x += 1) { if (data != ʼʼ) data += ʼ,ʼ; data += map[wrap(y, 0, map[0].length-1)][wrap(x, 0, map.length-1)]; } } viewer.port.postMessage(ʼmap ʼ + data); } </p> <p> var viewers = {}; onconnect = function (event) { var name = getNextName(); event.ports[0]._data = { port: event.ports[0], name: name, x: 0, y: 0, }; viewers[name] = event.ports[0]._data; event.ports[0].postMessage(ʼcfg ʼ + name); event.ports[0].onmessage = getMessage; sendMapData(event.ports[0]._data); }; </p> <p> function getMessage(event) { switch (event.data.substr(0, 4)) { case ʼmov ʼ: var direction = event.data.substr(4); var dx = 0; var dy = 0; switch (direction) { case ʼupʼ: dy = -1; break; case ʼdownʼ: dy = 1; break; case ʼleftʼ: dx = -1; break; case ʼrightʼ: dx = 1; break; } event.target._data.x = wrapX(event.target._data.x + dx); event.target._data.y = wrapY(event.target._data.y + dy); sendMapData(event.target._data); break; case ʼset ʼ: var value = event.data.substr(4); map[event.target._data.y][event.target._data.x] = value; for (var viewer in viewers) sendMapData(viewers[viewer]); break; case ʼtxt ʼ: var name = event.target._data.name; var message = event.data.substr(4); for (var viewer in viewers) viewers[viewer].port.postMessage(ʼtxt ʼ + name + ʼ ʼ + message); break; case ʼmsg ʼ: var party1 = event.target._data; var party2 = viewers[event.data.substr(4).split(ʼ ʼ, 1)[0]]; if (party2) { var channel = new MessageChannel(); party1.port.postMessage(ʼmsg ʼ + party2.name, [channel.port1]); party2.port.postMessage(ʼmsg ʼ + party1.name, [channel.port2]); } break; } } </p> <p> Connecting to multiple pages. The script uses the [49676]onconnect event listener to listen for multiple connections. </p> <p> Direct channels. When the worker receives a "msg" message from one viewer naming another viewer, it sets up a direct connection between the two, so that the two viewers can communicate directly without the worker having to proxy all the messages. </p> <p> [49677]View this example online. </p> <p> 10.1.2.5 Delegation </p> <p> This section is non-normative. </p> <p> With multicore CPUs becoming prevalent, one way to obtain better performance is to split computationally expensive tasks amongst multiple workers. In this example, a computationally expensive task that is to be performed for every number from 1 to 10,000,000 is farmed out to ten subworkers. </p> <p> The main page is as follows, it just reports the result: <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"> <title>Worker example: Multicore computation</title> </head> <body> <p>Result: <output id="result"></output></p> <script> var worker = new Worker(ʼworker.jsʼ); worker.onmessage = function (event) { document.getElementById(ʼresultʼ).textContent = event.data; }; </script> </body> </html> </p> <p> The worker itself is as follows: // settings var num_workers = 10; var items_per_worker = 1000000; </p> <p> // start the workers var result = 0; var pending_workers = num_workers; for (var i = 0; i < num_workers; i += 1) { var worker = new Worker(ʼcore.jsʼ); worker.postMessage(i * items_per_worker); worker.postMessage((i+1) * items_per_worker); worker.onmessage = storeResult; } </p> <p> // handle the results function storeResult(event) { result += 1*event.data; pending_workers -= 1; if (pending_workers <= 0) postMessage(result); // finished! } </p> <p> It consists of a loop to start the subworkers, and then a handler that waits for all the subworkers to respond. </p> <p> The subworkers are implemented as follows: var start; onmessage = getStart; function getStart(event) { start = 1*event.data; onmessage = getEnd; } </p> <p> var end; function getEnd(event) { end = 1*event.data; onmessage = null; work(); } </p> <p> function work() { var result = 0; for (var i = start; i < end; i += 1) { // perform some complex calculation here result += 1; } postMessage(result); close(); } </p> <p> They receive two numbers in two events, perform the computation for the range of numbers thus specified, and then report the result back to the parent. </p> <p> [49678]View this example online. </p> <p> 10.1.2.6 Providing libraries </p> <p> This section is non-normative. </p> <p> Suppose that a cryptography library is made available that provides three tasks: </p> <p> Generate a public/private key pair Takes a port, on which it will send two messages, first the public key and then the private key. </p> <p> Given a plaintext and a public key, return the corresponding ciphertext Takes a port, to which any number of messages can be sent, the first giving the public key, and the remainder giving the plaintext, each of which is encrypted and then sent on that same channel as the ciphertext. The user can close the port when it is done encrypting content. </p> <p> Given a ciphertext and a private key, return the corresponding plaintext Takes a port, to which any number of messages can be sent, the first giving the private key, and the remainder giving the ciphertext, each of which is decrypted and then sent on that same channel as the plaintext. The user can close the port when it is done decrypting content. </p> <p> The library itself is as follows: function handleMessage(e) { if (e.data == "genkeys") genkeys(e.ports[0]); else if (e.data == "encrypt") encrypt(e.ports[0]); else if (e.data == "decrypt") decrypt(e.ports[0]); } </p> <p> function genkeys(p) { var keys = _generateKeyPair(); p.postMessage(keys[0]); p.postMessage(keys[1]); } </p> <p> function encrypt(p) { var key, state = 0; p.onmessage = function (e) { if (state == 0) { key = e.data; state = 1; } else { p.postMessage(_encrypt(key, e.data)); } }; } </p> <p> function decrypt(p) { var key, state = 0; p.onmessage = function (e) { if (state == 0) { key = e.data; state = 1; } else { p.postMessage(_decrypt(key, e.data)); } }; } </p> <p> // support being used as a shared worker as well as a dedicated worker if (ʼonmessageʼ in this) // dedicated worker onmessage = handleMessage; else // shared worker onconnect = function (e) { e.port.onmessage = handleMessage; } </p> <p> </p> <p> // the "crypto" functions: </p> <p> function _generateKeyPair() { return [Math.random(), Math.random()]; } </p> <p> function _encrypt(k, s) { return ʼencrypted-ʼ + k + ʼ ʼ + s; } </p> <p> function _decrypt(k, s) { return s.substr(s.indexOf(ʼ ʼ)+1); } </p> <p> Note that the crypto functions here are just stubs and don't do real cryptography. </p> <p> This library could be used as follows: <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"> <title>Worker example: Crypto library</title> <script> const cryptoLib = new Worker(ʼlibcrypto-v1.jsʼ); // or could use ʼlibcrypto-v 2.jsʼ function startConversation(source, message) { const messageChannel = new MessageChannel(); source.postMessage(message, [messageChannel.port2]); return messageChannel.port1; } function getKeys() { let state = 0; startConversation(cryptoLib, "genkeys").onmessage = function (e) { if (state === 0) document.getElementById(ʼpublicʼ).value = e.data; else if (state === 1) document.getElementById(ʼprivateʼ).value = e.data; state += 1; }; } function enc() { const port = startConversation(cryptoLib, "encrypt"); port.postMessage(document.getElementById(ʼpublicʼ).value); port.postMessage(document.getElementById(ʼinputʼ).value); port.onmessage = function (e) { document.getElementById(ʼinputʼ).value = e.data; port.close(); }; } function dec() { const port = startConversation(cryptoLib, "decrypt"); port.postMessage(document.getElementById(ʼprivateʼ).value); port.postMessage(document.getElementById(ʼinputʼ).value); port.onmessage = function (e) { document.getElementById(ʼinputʼ).value = e.data; port.close(); }; } </script> <style> textarea { display: block; } </style> </head> <body onload="getKeys()"> <fieldset> <legend>Keys</legend> <p><label>Public Key: <textarea id="public"></textarea></label></p> <p><label>Private Key: <textarea id="private"></textarea></label></p> </fieldset> <p><label>Input: <textarea id="input"></textarea></label></p> <p><button onclick="enc()">Encrypt</button> <button onclick="dec()">Decrypt</b utton></p> </body> </html> </p> <p> A later version of the API, though, might want to offload all the crypto work onto subworkers. This could be done as follows: function handleMessage(e) { if (e.data == "genkeys") genkeys(e.ports[0]); else if (e.data == "encrypt") encrypt(e.ports[0]); else if (e.data == "decrypt") decrypt(e.ports[0]); } </p> <p> function genkeys(p) { var generator = new Worker(ʼlibcrypto-v2-generator.jsʼ); generator.postMessage(ʼʼ, [p]); } </p> <p> function encrypt(p) { p.onmessage = function (e) { var key = e.data; var encryptor = new Worker(ʼlibcrypto-v2-encryptor.jsʼ); encryptor.postMessage(key, [p]); }; } </p> <p> function encrypt(p) { p.onmessage = function (e) { var key = e.data; var decryptor = new Worker(ʼlibcrypto-v2-decryptor.jsʼ); decryptor.postMessage(key, [p]); }; } </p> <p> // support being used as a shared worker as well as a dedicated worker if (ʼonmessageʼ in this) // dedicated worker onmessage = handleMessage; else // shared worker onconnect = function (e) { e.ports[0].onmessage = handleMessage }; </p> <p> The little subworkers would then be as follows. </p> <p> For generating key pairs: onmessage = function (e) { var k = _generateKeyPair(); e.ports[0].postMessage(k[0]); e.ports[0].postMessage(k[1]); close(); } </p> <p> function _generateKeyPair() { return [Math.random(), Math.random()]; } </p> <p> For encrypting: onmessage = function (e) { var key = e.data; e.ports[0].onmessage = function (e) { var s = e.data; postMessage(_encrypt(key, s)); } } </p> <p> function _encrypt(k, s) { return ʼencrypted-ʼ + k + ʼ ʼ + s; } </p> <p> For decrypting: onmessage = function (e) { var key = e.data; e.ports[0].onmessage = function (e) { var s = e.data; postMessage(_decrypt(key, s)); } } </p> <p> function _decrypt(k, s) { return s.substr(s.indexOf(ʼ ʼ)+1); } </p> <p> Notice how the users of the API don't have to even know that this is happening — the API hasn't changed; the library can delegate to subworkers without changing its API, even though it is accepting data using message channels. </p> <p> [49679]View this example online. </p> <p> 10.1.3 Tutorials </p> <p> 10.1.3.1 Creating a dedicated worker </p> <p> This section is non-normative. </p> <p> Creating a worker requires a URL to a JavaScript file. The [49680]Worker() constructor is invoked with the URL to that file as its only argument; a worker is then created and returned: var worker = new Worker(ʼhelper.jsʼ); </p> <p> If you want your worker script to be interpreted as a [49681]module script instead of the default [49682]classic script, you need to use a slightly different signature: var worker = new Worker(ʼhelper.mjsʼ, { type: "module" }); </p> <p> 10.1.3.2 Communicating with a dedicated worker </p> <p> This section is non-normative. </p> <p> Dedicated workers use [49683]MessagePort objects behind the scenes, and thus support all the same features, such as sending structured data, transferring binary data, and transferring other ports. </p> <p> To receive messages from a dedicated worker, use the [49684]onmessage [49685]event handler IDL attribute on the [49686]Worker object: worker.onmessage = function (event) { ... }; </p> <p> You can also use the [49687]addEventListener() method. </p> <p> The implicit [49688]MessagePort used by dedicated workers has its [49689]port message queue implicitly enabled when it is created, so there is no equivalent to the [49690]MessagePort interface's [49691]start() method on the [49692]Worker interface. </p> <p> To send data to a worker, use the [49693]postMessage() method. Structured data can be sent over this communication channel. To send [49694]ArrayBuffer objects efficiently (by transferring them rather than cloning them), list them in an array in the second argument. worker.postMessage({ operation: ʼfind-edgesʼ, input: buffer, // an ArrayBuffer object threshold: 0.6, }, [buffer]); </p> <p> To receive a message inside the worker, the [49695]onmessage [49696]event handler IDL attribute is used. onmessage = function (event) { ... }; </p> <p> You can again also use the [49697]addEventListener() method. </p> <p> In either case, the data is provided in the event object's [49698]data attribute. </p> <p> To send messages back, you again use [49699]postMessage(). It supports the structured data in the same manner. postMessage(event.data.input, [event.data.input]); // transfer the buffer back </p> <p> 10.1.3.3 Shared workers </p> <p> (BUTTON) ✔MDN </p> <p> [49700]SharedWorker </p> <p> Support in all current engines. Firefox29+Safari16+Chrome5+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android33+Safari iOS16+Chrome AndroidNoWebView Android?Samsung Internet4.0–5.0Opera Android11–14 </p> <p> This section is non-normative. </p> <p> Shared workers are identified by the URL of the script used to create it, optionally with an explicit name. The name allows multiple instances of a particular shared worker to be started. </p> <p> Shared workers are scoped by [49701]origin. Two different sites using the same names will not collide. However, if a page tries to use the same shared worker name as another page on the same site, but with a different script URL, it will fail. </p> <p> Creating shared workers is done using the [49702]SharedWorker() constructor. This constructor takes the URL to the script to use for its first argument, and the name of the worker, if any, as the second argument. var worker = new SharedWorker(ʼservice.jsʼ); </p> <p> Communicating with shared workers is done with explicit [49703]MessagePort objects. The object returned by the [49704]SharedWorker() constructor holds a reference to the port on its [49705]port attribute. worker.port.onmessage = function (event) { ... }; worker.port.postMessage(ʼsome messageʼ); worker.port.postMessage({ foo: ʼstructuredʼ, bar: [ʼdataʼ, ʼalsoʼ, ʼpossibleʼ]}) ; </p> <p> Inside the shared worker, new clients of the worker are announced using the [49706]connect event. The port for the new client is given by the event object's [49707]source attribute. onconnect = function (event) { var newPort = event.source; // set up a listener newPort.onmessage = function (event) { ... }; // send a message back to the port newPort.postMessage(ʼready!ʼ); // can also send structured data, of course }; </p> <p> 10.2 Infrastructure </p> <p> This standard defines two kinds of workers: dedicated workers, and shared workers. Dedicated workers, once created, are linked to their creator, but message ports can be used to communicate from a dedicated worker to multiple other browsing contexts or workers. Shared workers, on the other hand, are named, and once created any script running in the same [49708]origin can obtain a reference to that worker and communicate with it. Service Workers defines a third kind. [49709][SW] </p> <p> 10.2.1 The global scope </p> <p> The global scope is the "inside" of a worker. </p> <p> 10.2.1.1 The [49710]WorkerGlobalScope common interface </p> <p> (BUTTON) ✔MDN </p> <p> [49711]WorkerGlobalScope </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11+ </p> <p> [Exposed=Worker] interface WorkerGlobalScope : [49712]EventTarget { readonly attribute [49713]WorkerGlobalScope [49714]self; readonly attribute [49715]WorkerLocation [49716]location; readonly attribute [49717]WorkerNavigator [49718]navigator; undefined [49719]importScripts(([49720]TrustedScriptURL or USVString)... urls) ; </p> <p> attribute [49721]OnErrorEventHandler [49722]onerror; attribute [49723]EventHandler [49724]onlanguagechange; attribute [49725]EventHandler [49726]onoffline; attribute [49727]EventHandler [49728]ononline; attribute [49729]EventHandler [49730]onrejectionhandled; attribute [49731]EventHandler [49732]onunhandledrejection; }; </p> <p> [49733]WorkerGlobalScope serves as the base class for specific types of worker global scope objects, including [49734]DedicatedWorkerGlobalScope, [49735]SharedWorkerGlobalScope, and [49736]ServiceWorkerGlobalScope. </p> <p> A [49737]WorkerGlobalScope object has an associated owner set (a [49738]set of [49739]Document and [49740]WorkerGlobalScope objects). It is initially empty and populated when the worker is created or obtained. </p> <p> It is a [49741]set, instead of a single owner, to accommodate [49742]SharedWorkerGlobalScope objects. </p> <p> A [49743]WorkerGlobalScope object has an associated type ("classic" or "module"). It is set during creation. </p> <p> A [49744]WorkerGlobalScope object has an associated url (null or a [49745]URL). It is initially null. </p> <p> A [49746]WorkerGlobalScope object has an associated name (a string). It is set during creation. </p> <p> The [49747]name can have different semantics for each subclass of [49748]WorkerGlobalScope. For [49749]DedicatedWorkerGlobalScope instances, it is simply a developer-supplied name, useful mostly for debugging purposes. For [49750]SharedWorkerGlobalScope instances, it allows obtaining a reference to a common shared worker via the [49751]SharedWorker() constructor. For [49752]ServiceWorkerGlobalScope objects, it doesn't make sense (and as such isn't exposed through the JavaScript API at all). </p> <p> A [49753]WorkerGlobalScope object has an associated policy container (a [49754]policy container). It is initially a new [49755]policy container. </p> <p> A [49756]WorkerGlobalScope object has an associated embedder policy (an [49757]embedder policy). </p> <p> A [49758]WorkerGlobalScope object has an associated module map. It is a [49759]module map, initially empty. </p> <p> A [49760]WorkerGlobalScope object has an associated cross-origin isolated capability boolean. It is initially false. </p> <p> workerGlobal.[49761]self </p> <p> (BUTTON) ✔MDN </p> <p> [49762]WorkerGlobalScope/self </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera11.5+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android34+Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns workerGlobal. </p> <p> workerGlobal.[49763]location </p> <p> (BUTTON) ✔MDN </p> <p> [49764]WorkerGlobalScope/location </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera11.5+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns workerGlobal's [49765]WorkerLocation object. </p> <p> workerGlobal.[49766]navigator </p> <p> (BUTTON) ✔MDN </p> <p> [49767]WorkerGlobalScope/navigator </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera11.5+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)17+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns workerGlobal's [49768]WorkerNavigator object. </p> <p> workerGlobal.[49769]importScripts(...urls) </p> <p> (BUTTON) ✔MDN </p> <p> [49770]WorkerGlobalScope/importScripts </p> <p> Support in all current engines. </p> <p> Firefox4+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera10.6+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11+ Fetches each [49771]URL in urls, executes them one-by-one in the order they are passed, and then returns (or throws if something went amiss). </p> <p> The self attribute must return the [49772]WorkerGlobalScope object itself. </p> <p> The location attribute must return the [49773]WorkerLocation object whose associated [49774]WorkerGlobalScope object is the [49775]WorkerGlobalScope object. </p> <p> While the [49776]WorkerLocation object is created after the [49777]WorkerGlobalScope object, this is not problematic as it cannot be observed from script. __________________________________________________________________ </p> <p> The following are the [49778]event handlers (and their corresponding [49779]event handler event types) that must be supported, as [49780]event handler IDL attributes, by objects implementing the [49781]WorkerGlobalScope interface: </p> <p> [49782]Event handler [49783]Event handler event type onerror (BUTTON) ✔MDN </p> <p> [49784]WorkerGlobalScope/error_event </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera11.5+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android? [49785]error onlanguagechange (BUTTON) ✔MDN </p> <p> [49786]WorkerGlobalScope/languagechange_event </p> <p> Support in all current engines. Firefox74+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera11.5+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android? [49787]languagechange onoffline (BUTTON) MDN </p> <p> [49788]WorkerGlobalScope/offline_event Firefox29+Safari8+ChromeNo __________________________________________________________________ </p> <p> Opera?EdgeNo __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [49789]offline ononline (BUTTON) MDN </p> <p> [49790]WorkerGlobalScope/online_event Firefox29+Safari8+ChromeNo __________________________________________________________________ </p> <p> Opera?EdgeNo __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [49791]online onrejectionhandled [49792]rejectionhandled onunhandledrejection [49793]unhandledrejection </p> <p> 10.2.1.2 Dedicated workers and the [49794]DedicatedWorkerGlobalScope interface </p> <p> (BUTTON) ✔MDN </p> <p> [49795]DedicatedWorkerGlobalScope </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11+ </p> <p> [Global=(Worker,DedicatedWorker),Exposed=DedicatedWorker] interface DedicatedWorkerGlobalScope : [49796]WorkerGlobalScope { [Replaceable] readonly attribute DOMString [49797]name; </p> <p> undefined [49798]postMessage(any message, sequence<[49799]object> transfer); undefined [49800]postMessage(any message, optional [49801]StructuredSerializeO ptions options = {}); </p> <p> undefined [49802]close(); }; </p> <p> [49803]DedicatedWorkerGlobalScope includes [49804]MessageEventTarget; </p> <p> [49805]DedicatedWorkerGlobalScope objects have an associated inside port (a [49806]MessagePort). This port is part of a channel that is set up when the worker is created, but it is not exposed. This object must never be garbage collected before the [49807]DedicatedWorkerGlobalScope object. </p> <p> dedicatedWorkerGlobal.[49808]name </p> <p> (BUTTON) ✔MDN </p> <p> [49809]DedicatedWorkerGlobalScope/name </p> <p> Support in all current engines. </p> <p> Firefox55+Safari12.1+Chrome70+ ___________________________________________________________ </p> <p> Opera?Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)18Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns dedicatedWorkerGlobal's [49810]name, i.e. the value given to the [49811]Worker constructor. Primarily useful for debugging. </p> <p> dedicatedWorkerGlobal.[49812]postMessage(message [, transfer ]) </p> <p> (BUTTON) ✔MDN </p> <p> [49813]DedicatedWorkerGlobalScope/postMessage </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera10.6+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11+ </p> <p> dedicatedWorkerGlobal.[49814]postMessage(message [, { [49815]transfer } ]) Clones message and transmits it to the [49816]Worker object associated with dedicatedWorkerGlobal. transfer can be passed as a list of objects that are to be transferred rather than cloned. </p> <p> dedicatedWorkerGlobal.[49817]close() </p> <p> (BUTTON) ✔MDN </p> <p> [49818]DedicatedWorkerGlobalScope/close </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera10.6+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11+ Aborts dedicatedWorkerGlobal. </p> <p> The name getter steps are to return [49819]this's [49820]name. Its value represents the name given to the worker using the [49821]Worker constructor, used primarily for debugging purposes. </p> <p> The postMessage(message, transfer) and postMessage(message, options) methods on [49822]DedicatedWorkerGlobalScope objects act as if, when invoked, it immediately invoked the respective [49823]postMessage(message, transfer) and [49824]postMessage(message, options) on the port, with the same arguments, and returned the same return value. </p> <p> To close a worker, given a workerGlobal, run these steps: 1. Discard any [49825]tasks that have been added to workerGlobal's [49826]relevant agent's [49827]event loop's [49828]task queues. 2. Set workerGlobal's [49829]closing flag to true. (This prevents any further tasks from being queued.) </p> <p> The close() method steps are to [49830]close a worker given [49831]this. __________________________________________________________________ </p> <p> 10.2.1.3 Shared workers and the [49832]SharedWorkerGlobalScope interface </p> <p> (BUTTON) ✔MDN </p> <p> [49833]SharedWorkerGlobalScope </p> <p> Support in all current engines. Firefox29+Safari16+Chrome4+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS16+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ </p> <p> [Global=(Worker,SharedWorker),Exposed=SharedWorker] interface SharedWorkerGlobalScope : [49834]WorkerGlobalScope { [Replaceable] readonly attribute DOMString [49835]name; </p> <p> undefined [49836]close(); </p> <p> attribute [49837]EventHandler [49838]onconnect; }; </p> <p> A [49839]SharedWorkerGlobalScope object has an associated constructor origin, constructor url, and credentials. They are initialized when the [49840]SharedWorkerGlobalScope object is created, in the [49841]run a worker algorithm. </p> <p> Shared workers receive message ports through [49842]connect events on their [49843]SharedWorkerGlobalScope object for each connection. </p> <p> sharedWorkerGlobal.[49844]name </p> <p> (BUTTON) ✔MDN </p> <p> [49845]SharedWorkerGlobalScope/name </p> <p> Support in all current engines. </p> <p> Firefox29+Safari16+Chrome4+ ___________________________________________________________ </p> <p> Opera10.6+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS16+Chrome Android?WebView Android?Samsung Internet?Opera Android11+ Returns sharedWorkerGlobal's [49846]name, i.e. the value given to the [49847]SharedWorker constructor. Multiple [49848]SharedWorker objects can correspond to the same shared worker (and [49849]SharedWorkerGlobalScope), by reusing the same name. </p> <p> sharedWorkerGlobal.[49850]close() </p> <p> (BUTTON) ✔MDN </p> <p> [49851]SharedWorkerGlobalScope/close </p> <p> Support in all current engines. </p> <p> Firefox29+Safari16+Chrome4+ ___________________________________________________________ </p> <p> Opera10.6+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS16+Chrome Android?WebView Android?Samsung Internet?Opera Android11+ Aborts sharedWorkerGlobal. </p> <p> The name getter steps are to return [49852]this's [49853]name. Its value represents the name that can be used to obtain a reference to the worker using the [49854]SharedWorker constructor. </p> <p> The close() method steps are to [49855]close a worker given [49856]this. __________________________________________________________________ </p> <p> The following are the [49857]event handlers (and their corresponding [49858]event handler event types) that must be supported, as [49859]event handler IDL attributes, by objects implementing the [49860]SharedWorkerGlobalScope interface: </p> <p> [49861]Event handler [49862]Event handler event type onconnect (BUTTON) ✔MDN </p> <p> [49863]SharedWorkerGlobalScope/connect_event </p> <p> Support in all current engines. Firefox29+Safari16+Chrome4+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS16+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [49864]connect </p> <p> 10.2.2 The event loop </p> <p> A [49865]worker event loop's [49866]task queues only have events, callbacks, and networking activity as [49867]tasks. These [49868]worker event loops are created by the [49869]run a worker algorithm. </p> <p> Each [49870]WorkerGlobalScope object has a closing flag, which must be initially false, but which can get set to true by the algorithms in the processing model section below. </p> <p> Once the [49871]WorkerGlobalScope's [49872]closing flag is set to true, the [49873]event loop's [49874]task queues must discard any further [49875]tasks that would be added to them (tasks already on the queue are unaffected except where otherwise specified). Effectively, once the [49876]closing flag is true, timers stop firing, notifications for all pending background operations are dropped, etc. </p> <p> 10.2.3 The worker's lifetime </p> <p> Workers communicate with other workers and with [49877]Windows through [49878]message channels and their [49879]MessagePort objects. </p> <p> Each [49880]WorkerGlobalScope object worker global scope has a list of the worker's ports, which consists of all the [49881]MessagePort objects that are entangled with another port and that have one (but only one) port owned by worker global scope. This list includes the implicit [49882]MessagePort in the case of [49883]dedicated workers. </p> <p> Given an [49884]environment settings object o when creating or obtaining a worker, the relevant owner to add depends on the type of [49885]global object specified by o. If o's [49886]global object is a [49887]WorkerGlobalScope object (i.e., if we are creating a nested dedicated worker), then the relevant owner is that global object. Otherwise, o's [49888]global object is a [49889]Window object, and the relevant owner is that [49890]Window's [49891]associated Document. __________________________________________________________________ </p> <p> A worker is said to be a permissible worker if its [49892]WorkerGlobalScope's [49893]owner set is not [49894]empty or: * its [49895]owner set has been [49896]empty for no more than a short [49897]implementation-defined timeout value, * its [49898]WorkerGlobalScope object is a [49899]SharedWorkerGlobalScope object (i.e., the worker is a shared worker), and * the user agent has a [49900]navigable whose [49901]active document is not [49902]completely loaded. </p> <p> The second part of this definition allows a shared worker to survive for a short time while a page is loading, in case that page is going to contact the shared worker again. This can be used by user agents as a way to avoid the cost of restarting a shared worker used by a site when the user is navigating from page to page within that site. </p> <p> A worker is said to be an active needed worker if any of its [49903]owners are either [49904]Document objects that are [49905]fully active or [49906]active needed workers. </p> <p> A worker is said to be a protected worker if it is an [49907]active needed worker and either it has outstanding timers, database transactions, or network connections, or its list of [49908]the worker's ports is not empty, or its [49909]WorkerGlobalScope is actually a [49910]SharedWorkerGlobalScope object (i.e., the worker is a shared worker). </p> <p> A worker is said to be a suspendable worker if it is not an [49911]active needed worker but it is a [49912]permissible worker. </p> <p> 10.2.4 Processing model </p> <p> When a user agent is to run a worker for a script with [49913]Worker or [49914]SharedWorker object worker, [49915]URL url, [49916]environment settings object outside settings, [49917]MessagePort outside port, and a [49918]WorkerOptions dictionary options, it must run the following steps. 1. Let is shared be true if worker is a [49919]SharedWorker object, and false otherwise. 2. Let owner be the [49920]relevant owner to add given outside settings. 3. Let unsafeWorkerCreationTime be the [49921]unsafe shared current time. 4. Let agent be the result of [49922]obtaining a dedicated/shared worker agent given outside settings and is shared. Run the rest of these steps in that agent. 5. Let realm execution context be the result of [49923]creating a new realm given agent and the following customizations: + For the global object, if is shared is true, create a new [49924]SharedWorkerGlobalScope object. Otherwise, create a new [49925]DedicatedWorkerGlobalScope object. 6. Let worker global scope be the [49926]global object of realm execution context's Realm component. This is the [49927]DedicatedWorkerGlobalScope or [49928]SharedWorkerGlobalScope object created in the previous step. 7. [49929]Set up a worker environment settings object with realm execution context, outside settings, and unsafeWorkerCreationTime, and let inside settings be the result. 8. Set worker global scope's [49930]name to the value of options's name member. 9. [49931]Append owner to worker global scope's [49932]owner set. 10. If is shared is true, then: 1. Set worker global scope's [49933]constructor origin to outside settings's [49934]origin. 2. Set worker global scope's [49935]constructor url to url. 3. Set worker global scope's [49936]type to the value of options's type member. 4. Set worker global scope's [49937]credentials to the value of options's credentials member. 11. Let destination be "sharedworker" if is shared is true, and "worker" otherwise. 12. Obtain script by switching on the value of options's type member: </p> <p> "classic" [49938]Fetch a classic worker script given url, outside settings, destination, inside settings, and with onComplete and performFetch as defined below. </p> <p> "module" [49939]Fetch a module worker script graph given url, outside settings, destination, the value of the credentials member of options, inside settings, and with onComplete and performFetch as defined below. </p> <p> In both cases, let performFetch be the following [49940]perform the fetch hook given request, [49941]isTopLevel and [49942]processCustomFetchResponse: 1. If isTopLevel is false, [49943]fetch request with [49944]processResponseConsumeBody set to processCustomFetchResponse, and abort these steps. 2. Set request's [49945]reserved client to inside settings. 3. [49946]Fetch request with [49947]processResponseConsumeBody set to the following steps given [49948]response response and null, failure, or a [49949]byte sequence bodyBytes: 1. Set worker global scope's [49950]url to response's [49951]url. 2. [49952]Initialize worker global scope's policy container given worker global scope, response, and inside settings. 3. If the [49953]Run CSP initialization for a global object algorithm returns "Blocked" when executed upon worker global scope, set response to a [49954]network error. [49955][CSP] 4. If worker global scope's [49956]embedder policy's [49957]value is [49958]compatible with cross-origin isolation and is shared is true, then set agent's [49959]agent cluster's [49960]cross-origin isolation mode to "[49961]logical" or "[49962]concrete". The one chosen is [49963]implementation-defined. This really ought to be set when the agent cluster is created, which requires a redesign of this section. 5. If the result of [49964]checking a global object's embedder policy with worker global scope, outside settings, and response is false, then set response to a [49965]network error. 6. Set worker global scope's [49966]cross-origin isolated capability to true if agent's [49967]agent cluster's [49968]cross-origin isolation mode is "[49969]concrete". 7. If is shared is false and owner's [49970]cross-origin isolated capability is false, then set worker global scope's [49971]cross-origin isolated capability to false. 8. If is shared is false and response's [49972]url's [49973]scheme is "data", then set worker global scope's [49974]cross-origin isolated capability to false. This is a conservative default for now, while we figure out how workers in general, and [49975]data: URL workers in particular (which are cross-origin from their owner), will be treated in the context of permissions policies. See [49976]w3c/webappsec-permissions-policy issue #207 for more details. 9. Run processCustomFetchResponse with response and bodyBytes. In both cases, let onComplete given script be the following steps: 1. If script is null or if script's [49977]error to rethrow is non-null, then: 1. [49978]Queue a global task on the [49979]DOM manipulation task source given worker's [49980]relevant global object to [49981]fire an event named [49982]error at worker. 2. Run the [49983]environment discarding steps for inside settings. 3. Abort these steps. 2. Associate worker with worker global scope. 3. Let inside port be a [49984]new [49985]MessagePort object in inside settings's [49986]realm. 4. If is shared is false, then: 1. Set inside port's [49987]message event target to worker global scope. 2. Set worker global scope's [49988]inside port to inside port. 5. [49989]Entangle outside port and inside port. 6. Create a new [49990]WorkerLocation object and associate it with worker global scope. 7. Closing orphan workers: Start monitoring the worker such that no sooner than it stops being a [49991]protected worker, and no later than it stops being a [49992]permissible worker, worker global scope's [49993]closing flag is set to true. 8. Suspending workers: Start monitoring the worker, such that whenever worker global scope's [49994]closing flag is false and the worker is a [49995]suspendable worker, the user agent suspends execution of script in that worker until such time as either the [49996]closing flag switches to true or the worker stops being a [49997]suspendable worker. 9. Set inside settings's [49998]execution ready flag. 10. If script is a [49999]classic script, then [50000]run the classic script script. Otherwise, it is a [50001]module script; [50002]run the module script script. In addition to the usual possibilities of returning a value or failing due to an exception, this could be [50003]prematurely aborted by the [50004]terminate a worker algorithm defined below. 11. Enable outside port's [50005]port message queue. 12. If is shared is false, enable the [50006]port message queue of the worker's implicit port. 13. If is shared is true, then [50007]queue a global task on [50008]DOM manipulation task source given worker global scope to [50009]fire an event named [50010]connect at worker global scope, using [50011]MessageEvent, with the [50012]data attribute initialized to the empty string, the [50013]ports attribute initialized to a new [50014]frozen array containing inside port, and the [50015]source attribute initialized to inside port. 14. Enable the [50016]client message queue of the [50017]ServiceWorkerContainer object whose associated [50018]service worker client is worker global scope's [50019]relevant settings object. 15. Event loop: Run the [50020]responsible event loop specified by inside settings until it is destroyed. The handling of events or the execution of callbacks by [50021]tasks run by the [50022]event loop might get [50023]prematurely aborted by the [50024]terminate a worker algorithm defined below. The worker processing model remains on this step until the event loop is destroyed, which happens after the [50025]closing flag is set to true, as described in the [50026]event loop processing model. 16. [50027]Clear the worker global scope's [50028]map of active timers. 17. Disentangle all the ports in the list of [50029]the worker's ports. 18. [50030]Empty worker global scope's [50031]owner set. __________________________________________________________________ </p> <p> When a user agent is to terminate a worker, it must run the following steps [50032]in parallel with the worker's main loop (the "[50033]run a worker" processing model defined above): 1. Set the worker's [50034]WorkerGlobalScope object's [50035]closing flag to true. 2. If there are any [50036]tasks queued in the [50037]WorkerGlobalScope object's [50038]relevant agent's [50039]event loop's [50040]task queues, discard them without processing them. 3. [50041]Abort the script currently running in the worker. 4. If the worker's [50042]WorkerGlobalScope object is actually a [50043]DedicatedWorkerGlobalScope object (i.e. the worker is a dedicated worker), then empty the [50044]port message queue of the port that the worker's implicit port is entangled with. </p> <p> User agents may invoke the [50045]terminate a worker algorithm when a worker stops being an [50046]active needed worker and the worker continues executing even after its [50047]closing flag was set to true. </p> <p> 10.2.5 Runtime script errors </p> <p> Whenever an uncaught runtime script error occurs in one of the worker's scripts, if the error did not occur while handling a previous script error, the user agent will [50048]report it for the worker's [50049]WorkerGlobalScope object. </p> <p> 10.2.6 Creating workers </p> <p> 10.2.6.1 The [50050]AbstractWorker mixin </p> <p> interface mixin AbstractWorker { attribute [50051]EventHandler [50052]onerror; }; </p> <p> The following are the [50053]event handlers (and their corresponding [50054]event handler event types) that must be supported, as [50055]event handler IDL attributes, by objects implementing the [50056]AbstractWorker interface: </p> <p> [50057]Event handler [50058]Event handler event type onerror (BUTTON) ✔MDN </p> <p> [50059]ServiceWorker/error_event </p> <p> Support in all current engines. Firefox44+Safari11.1+Chrome40+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)17+Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? </p> <p> [50060]SharedWorker/error_event </p> <p> Support in all current engines. Firefox29+Safari16+Chrome5+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android33+Safari iOS16+Chrome AndroidNoWebView Android?Samsung Internet4.0–5.0Opera Android11–14 </p> <p> [50061]Worker/error_event </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11+ [50062]error </p> <p> 10.2.6.2 Script settings for workers </p> <p> To set up a worker environment settings object, given a [50063]JavaScript execution context execution context, an [50064]environment settings object outside settings, and a number unsafeWorkerCreationTime: 1. Let inherited origin be outside settings's [50065]origin. 2. Let realm be the value of execution context's Realm component. 3. Let worker global scope be realm's [50066]global object. 4. Let settings object be a new [50067]environment settings object whose algorithms are defined as follows: </p> <p> The [50068]realm execution context Return execution context. </p> <p> The [50069]module map Return worker global scope's [50070]module map. </p> <p> The [50071]API base URL Return worker global scope's [50072]url. </p> <p> The [50073]origin Return a unique [50074]opaque origin if worker global scope's [50075]url's [50076]scheme is "data", and inherited origin otherwise. </p> <p> The [50077]policy container Return worker global scope's [50078]policy container. </p> <p> The [50079]cross-origin isolated capability Return worker global scope's [50080]cross-origin isolated capability. </p> <p> The [50081]time origin Return the result of [50082]coarsening unsafeWorkerCreationTime with worker global scope's [50083]cross-origin isolated capability. </p> <p> 5. Set settings object's [50084]id to a new unique opaque string, [50085]creation URL to worker global scope's [50086]url, [50087]top-level creation URL to null, [50088]target browsing context to null, and [50089]active service worker to null. 6. If worker global scope is a [50090]DedicatedWorkerGlobalScope object, then set settings object's [50091]top-level origin to outside settings's [50092]top-level origin. 7. Otherwise, set settings object's [50093]top-level origin to an [50094]implementation-defined value. See [50095]Client-Side Storage Partitioning for the latest on properly defining this. 8. Set realm's [[HostDefined]] field to settings object. 9. Return settings object. </p> <p> 10.2.6.3 Dedicated workers and the [50096]Worker interface </p> <p> (BUTTON) ✔MDN </p> <p> [50097]Worker </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome2+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11+ </p> <p> [Exposed=(Window,DedicatedWorker,SharedWorker)] interface Worker : [50098]EventTarget { [50099]constructor(([50100]TrustedScriptURL or USVString) scriptURL, optional [50101]WorkerOptions options = {}); </p> <p> undefined [50102]terminate(); </p> <p> undefined [50103]postMessage(any message, sequence<[50104]object> transfer); undefined [50105]postMessage(any message, optional [50106]StructuredSerializeO ptions options = {}); }; </p> <p> dictionary WorkerOptions { [50107]WorkerType type = "classic"; [50108]RequestCredentials credentials = "same-origin"; // credentials is only used if type is "module" DOMString name = ""; }; </p> <p> enum WorkerType { "classic", "module" }; </p> <p> [50109]Worker includes [50110]AbstractWorker; [50111]Worker includes [50112]MessageEventTarget; </p> <p> worker = new [50113]Worker(scriptURL [, options ]) </p> <p> (BUTTON) ✔MDN </p> <p> [50114]Worker/Worker </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera10.6+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11+ Returns a new [50115]Worker object. scriptURL will be fetched and executed in the background, creating a new global environment for which worker represents the communication channel. options can be used to define the [50116]name of that global environment via the name option, primarily for debugging purposes. It can also ensure this new global environment supports JavaScript modules (specify type: "module"), and if that is specified, can also be used to specify how scriptURL is fetched through the credentials option. </p> <p> worker.[50117]terminate() </p> <p> (BUTTON) ✔MDN </p> <p> [50118]Worker/terminate </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari4+Chrome2+ ___________________________________________________________ </p> <p> Opera10.6+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11+ Aborts worker's associated global environment. </p> <p> worker.[50119]postMessage(message [, transfer ]) </p> <p> (BUTTON) ✔MDN </p> <p> [50120]Worker/postMessage </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari4+Chrome2+ ___________________________________________________________ </p> <p> Opera10.6+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11+ </p> <p> worker.[50121]postMessage(message [, { [50122]transfer } ]) Clones message and transmits it to worker's global environment. transfer can be passed as a list of objects that are to be transferred rather than cloned. </p> <p> Each [50123]Worker object has an associated outside port (a [50124]MessagePort). This port is part of a channel that is set up when the worker is created, but it is not exposed. This object must never be garbage collected before the [50125]Worker object. </p> <p> The terminate() method, when invoked, must cause the [50126]terminate a worker algorithm to be run on the worker with which the object is associated. </p> <p> The postMessage(message, transfer) and postMessage(message, options) methods on [50127]Worker objects act as if, when invoked, they immediately invoked the respective [50128]postMessage(message, transfer) and [50129]postMessage(message, options) on [50130]this's [50131]outside port, with the same arguments, and returned the same return value. </p> <p> The [50132]postMessage() method's first argument can be structured data: worker.postMessage({opcode: ʼactivateʼ, device: 1938, parameters: [23, 102]}); __________________________________________________________________ </p> <p> When the Worker(scriptURL, options) constructor is invoked, the user agent must run the following steps: 1. Let compliantScriptURL be the result of invoking the [50133]Get Trusted Type compliant string algorithm with [50134]TrustedScriptURL, [50135]this's [50136]relevant global object, scriptURL, "Worker constructor", and "script". 2. Let outside settings be the [50137]current settings object. 3. Let worker URL be the result of [50138]encoding-parsing a URL given compliantScriptURL, relative to outside settings. Any [50139]same-origin URL (including [50140]blob: URLs) can be used. [50141]data: URLs can also be used, but they create a worker with an [50142]opaque origin. 4. If worker URL is failure, then throw a [50143]"SyntaxError" [50144]DOMException. 5. Let worker be a new [50145]Worker object. 6. Let outside port be a [50146]new [50147]MessagePort in outside settings's [50148]realm. 7. Set outside port's [50149]message event target to worker. 8. Set worker's [50150]outside port to outside port. 9. Run this step [50151]in parallel: 1. [50152]Run a worker given worker, worker URL, outside settings, outside port, and options. 10. Return worker. </p> <p> 10.2.6.4 Shared workers and the [50153]SharedWorker interface </p> <p> (BUTTON) ✔MDN </p> <p> [50154]SharedWorker </p> <p> Support in all current engines. Firefox29+Safari16+Chrome5+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android33+Safari iOS16+Chrome AndroidNoWebView Android?Samsung Internet4.0–5.0Opera Android11–14 </p> <p> [Exposed=Window] interface SharedWorker : [50155]EventTarget { [50156]constructor(([50157]TrustedScriptURL or USVString) scriptURL, optional (DOMString or [50158]WorkerOptions) options = {}); </p> <p> readonly attribute [50159]MessagePort [50160]port; }; [50161]SharedWorker includes [50162]AbstractWorker; </p> <p> sharedWorker = new [50163]SharedWorker(scriptURL [, name ]) </p> <p> (BUTTON) ✔MDN </p> <p> [50164]SharedWorker/SharedWorker </p> <p> Support in all current engines. </p> <p> Firefox29+Safari16+Chrome5+ ___________________________________________________________ </p> <p> Opera10.6+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android33+Safari iOS16+Chrome AndroidNoWebView Android?Samsung Internet4.0–5.0Opera Android11–14 Returns a new [50165]SharedWorker object. scriptURL will be fetched and executed in the background, creating a new global environment for which sharedWorker represents the communication channel. name can be used to define the [50166]name of that global environment. </p> <p> sharedWorker = new [50167]SharedWorker(scriptURL [, options ]) Returns a new [50168]SharedWorker object. scriptURL will be fetched and executed in the background, creating a new global environment for which sharedWorker represents the communication channel. options can be used to define the [50169]name of that global environment via the name option. It can also ensure this new global environment supports JavaScript modules (specify type: "module"), and if that is specified, can also be used to specify how scriptURL is fetched through the credentials option. Note that attempting to construct a shared worker with options whose type or credentials values mismatch an existing shared worker will cause the returned sharedWorker to fire an error event and not connect to the existing shared worker. </p> <p> sharedWorker.[50170]port </p> <p> (BUTTON) ✔MDN </p> <p> [50171]SharedWorker/port </p> <p> Support in all current engines. </p> <p> Firefox29+Safari16+Chrome5+ ___________________________________________________________ </p> <p> Opera10.6+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android33+Safari iOS16+Chrome AndroidNoWebView Android?Samsung Internet4.0–5.0Opera Android11–14 Returns sharedWorker's [50172]MessagePort object which can be used to communicate with the global environment. </p> <p> The port attribute must return the value it was assigned by the object's constructor. It represents the [50173]MessagePort for communicating with the shared worker. </p> <p> A user agent has an associated shared worker manager which is the result of [50174]starting a new parallel queue. </p> <p> Each user agent has a single [50175]shared worker manager for simplicity. Implementations could use one per [50176]origin; that would not be observably different and enables more concurrency. </p> <p> When the SharedWorker(scriptURL, options) constructor is invoked: 1. Let compliantScriptURL be the result of invoking the [50177]Get Trusted Type compliant string algorithm with [50178]TrustedScriptURL, [50179]this's [50180]relevant global object, scriptURL, "SharedWorker constructor", and "script". 2. If options is a [50181]DOMString, set options to a new [50182]WorkerOptions dictionary whose name member is set to the value of options and whose other members are set to their default values. 3. Let outside settings be the [50183]current settings object. 4. Let urlRecord be the result of [50184]encoding-parsing a URL given compliantScriptURL, relative to outside settings. Any [50185]same-origin URL (including [50186]blob: URLs) can be used. [50187]data: URLs can also be used, but they create a worker with an [50188]opaque origin. 5. If urlRecord is failure, then throw a [50189]"SyntaxError" [50190]DOMException. 6. Let worker be a new [50191]SharedWorker object. 7. Let outside port be a [50192]new [50193]MessagePort in outside settings's [50194]realm. 8. Assign outside port to the [50195]port attribute of worker. 9. Let callerIsSecureContext be true if outside settings is a [50196]secure context; otherwise, false. 10. Let outside storage key be the result of running [50197]obtain a storage key for non-storage purposes given outside settings. 11. [50198]Enqueue the following steps to the [50199]shared worker manager: 1. Let worker global scope be null. 2. [50200]For each scope in the list of all [50201]SharedWorkerGlobalScope objects: 1. Let worker storage key be the result of running [50202]obtain a storage key for non-storage purposes given scope's [50203]relevant settings object. 2. If all of the following are true: # worker storage key [50204]equals outside storage key; # scope's [50205]closing flag is false; # scope's [50206]constructor url [50207]equals urlRecord; and # scope's [50208]name equals the value of options's name member, then: 1. Set worker global scope to scope. 2. [50209]Break. [50210]data: URLs create a worker with an [50211]opaque origin. Both the [50212]constructor origin and [50213]constructor url are compared so the same [50214]data: URL can be used within an [50215]origin to get to the same [50216]SharedWorkerGlobalScope object, but cannot be used to bypass the [50217]same origin restriction. 3. If worker global scope is not null, but the user agent has been configured to disallow communication between the worker represented by the worker global scope and the [50218]scripts whose [50219]settings object is outside settings, then set worker global scope to null. For example, a user agent could have a development mode that isolates a particular [50220]top-level traversable from all other pages, and scripts in that development mode could be blocked from connecting to shared workers running in the normal browser mode. 4. If worker global scope is not null, then check if worker global scope's [50221]type and [50222]credentials match the options values. If not, [50223]queue a task to [50224]fire an event named [50225]error and abort these steps. 5. If worker global scope is not null, then run these subsubsteps: 1. Let settings object be the [50226]relevant settings object for worker global scope. 2. Let workerIsSecureContext be true if settings object is a [50227]secure context; otherwise, false. 3. If workerIsSecureContext is not callerIsSecureContext, then [50228]queue a task to [50229]fire an event named [50230]error at worker and abort these steps. [50231][SECURE-CONTEXTS] 4. Associate worker with worker global scope. 5. Let inside port be a [50232]new [50233]MessagePort in settings object's [50234]realm. 6. [50235]Entangle outside port and inside port. 7. [50236]Queue a task, using the [50237]DOM manipulation task source, to [50238]fire an event named [50239]connect at worker global scope, using [50240]MessageEvent, with the [50241]data attribute initialized to the empty string, the [50242]ports attribute initialized to a new [50243]frozen array containing only inside port, and the [50244]source attribute initialized to inside port. 8. [50245]Append the [50246]relevant owner to add given outside settings to worker global scope's [50247]owner set. 6. Otherwise, [50248]in parallel, [50249]run a worker given worker, urlRecord, outside settings, outside port, and options. 12. Return worker. </p> <p> 10.2.7 Concurrent hardware capabilities </p> <p> interface mixin NavigatorConcurrentHardware { readonly attribute unsigned long long [50250]hardwareConcurrency; }; </p> <p> self.[50251]navigator.[50252]hardwareConcurrency </p> <p> (BUTTON) MDN </p> <p> [50253]Navigator/hardwareConcurrency </p> <p> Firefox48+Safari10.1–11Chrome37+ ___________________________________________________________ </p> <p> Opera?Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)15+Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? </p> <p> [50254]Navigator/hardwareConcurrency </p> <p> Firefox48+Safari10.1–11Chrome37+ ___________________________________________________________ </p> <p> Opera?Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)15+Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Returns the number of logical processors potentially available to the user agent. </p> <p> [50255](This is a tracking vector.) The navigator.hardwareConcurrency attribute's getter must return a number between 1 and the number of logical processors potentially available to the user agent. If this cannot be determined, the getter must return 1. </p> <p> User agents should err toward exposing the number of logical processors available, using lower values only in cases where there are user-agent specific limits in place (such as a limitation on the number of [50256]workers that can be created) or when the user agent desires to limit fingerprinting possibilities. </p> <p> 10.3 APIs available to workers </p> <p> 10.3.1 Importing scripts and libraries </p> <p> The importScripts(...urls) method steps are: 1. Let urlStrings be « ». 2. [50257]For each url of urls: 1. [50258]Append the result of invoking the [50259]Get Trusted Type compliant string algorithm with [50260]TrustedScriptURL, [50261]this's [50262]relevant global object, url, "WorkerGlobalScope importScripts", and "script" to urlStrings. 3. [50263]Import scripts into worker global scope given [50264]this and urlStrings. </p> <p> To import scripts into worker global scope, given a [50265]WorkerGlobalScope object worker global scope, a [50266]list of [50267]scalar value strings urls, and an optional [50268]perform the fetch hook performFetch: 1. If worker global scope's [50269]type is "module", throw a [50270]TypeError exception. 2. Let settings object be the [50271]current settings object. 3. If urls is empty, return. 4. Let urlRecords be « ». 5. For each url of urls: 1. Let urlRecord be the result of [50272]encoding-parsing a URL given url, relative to settings object. 2. If urlRecord is failure, then throw a [50273]"SyntaxError" [50274]DOMException. 3. [50275]Append urlRecord to urlRecords. 6. For each urlRecord of urlRecords: 1. [50276]Fetch a classic worker-imported script given urlRecord and settings object, passing along performFetch if provided. If this succeeds, let script be the result. Otherwise, rethrow the exception. 2. [50277]Run the classic script script, with the rethrow errors argument set to true. script will run until it either returns, fails to parse, fails to catch an exception, or gets [50278]prematurely aborted by the [50279]terminate a worker algorithm defined above. If an exception was thrown or if the script was [50280]prematurely aborted, then abort all these steps, letting the exception or aborting continue to be processed by the calling [50281]script. </p> <p> Service Workers is an example of a specification that runs this algorithm with its own [50282]perform the fetch hook. [50283][SW] </p> <p> 10.3.2 The [50284]WorkerNavigator interface </p> <p> (BUTTON) ✔MDN </p> <p> [50285]WorkerNavigator </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera12.1+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ </p> <p> The navigator attribute of the [50286]WorkerGlobalScope interface must return an instance of the [50287]WorkerNavigator interface, which represents the identity and state of the user agent (the client): [Exposed=Worker] interface WorkerNavigator {}; [50288]WorkerNavigator includes [50289]NavigatorID; [50290]WorkerNavigator includes [50291]NavigatorLanguage; [50292]WorkerNavigator includes [50293]NavigatorOnLine; [50294]WorkerNavigator includes [50295]NavigatorConcurrentHardware; </p> <p> 10.3.3 The [50296]WorkerLocation interface </p> <p> (BUTTON) ✔MDN </p> <p> [50297]WorkerLocation </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera12.1+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ </p> <p> (BUTTON) ✔MDN </p> <p> [50298]WorkerLocation/toString </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera15+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android14+ </p> <p> [Exposed=Worker] interface WorkerLocation { stringifier readonly attribute USVString [50299]href; readonly attribute USVString [50300]origin; readonly attribute USVString [50301]protocol; readonly attribute USVString [50302]host; readonly attribute USVString [50303]hostname; readonly attribute USVString [50304]port; readonly attribute USVString [50305]pathname; readonly attribute USVString [50306]search; readonly attribute USVString [50307]hash; }; </p> <p> A [50308]WorkerLocation object has an associated WorkerGlobalScope object (a [50309]WorkerGlobalScope object). </p> <p> (BUTTON) ✔MDN </p> <p> [50310]WorkerLocation/href </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera12.1+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ </p> <p> The href getter steps are to return [50311]this's [50312]WorkerGlobalScope object's [50313]url, [50314]serialized. </p> <p> (BUTTON) ✔MDN </p> <p> [50315]WorkerLocation/origin </p> <p> Support in all current engines. Firefox29+Safari10+Chrome38+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)14+Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? </p> <p> The origin getter steps are to return the [50316]serialization of [50317]this's [50318]WorkerGlobalScope object's [50319]url's [50320]origin. </p> <p> (BUTTON) ✔MDN </p> <p> [50321]WorkerLocation/protocol </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera12.1+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ </p> <p> The protocol getter steps are to return [50322]this's [50323]WorkerGlobalScope object's [50324]url's [50325]scheme, followed by ":". </p> <p> (BUTTON) ✔MDN </p> <p> [50326]WorkerLocation/host </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera12.1+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ </p> <p> The host getter steps are: 1. Let url be [50327]this's [50328]WorkerGlobalScope object's [50329]url. 2. If url's [50330]host is null, return the empty string. 3. If url's [50331]port is null, return url's [50332]host, [50333]serialized. 4. Return url's [50334]host, [50335]serialized, followed by ":" and url's [50336]port, [50337]serialized. </p> <p> (BUTTON) ✔MDN </p> <p> [50338]WorkerLocation/hostname </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera12.1+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ </p> <p> The hostname getter steps are: 1. Let host be [50339]this's [50340]WorkerGlobalScope object's [50341]url's [50342]host. 2. If host is null, return the empty string. 3. Return host, [50343]serialized. </p> <p> (BUTTON) ✔MDN </p> <p> [50344]WorkerLocation/port </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera12.1+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ </p> <p> The port getter steps are: 1. Let port be [50345]this's [50346]WorkerGlobalScope object's [50347]url's [50348]port. 2. If port is null, return the empty string. 3. Return port, [50349]serialized. </p> <p> (BUTTON) ✔MDN </p> <p> [50350]WorkerLocation/pathname </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera12.1+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ </p> <p> The pathname getter steps are to return the result of [50351]URL path serializing [50352]this's [50353]WorkerGlobalScope object's [50354]url. </p> <p> (BUTTON) ✔MDN </p> <p> [50355]WorkerLocation/search </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera12.1+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ </p> <p> The search getter steps are: 1. Let query be [50356]this's [50357]WorkerGlobalScope object's [50358]url's [50359]query. 2. If query is either null or the empty string, return the empty string. 3. Return "?", followed by query. </p> <p> (BUTTON) ✔MDN </p> <p> [50360]WorkerLocation/hash </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera12.1+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ </p> <p> The hash getter steps are: 1. Let fragment be [50361]this's [50362]WorkerGlobalScope object's [50363]url's [50364]fragment. 2. If fragment is either null or the empty string, return the empty string. 3. Return "#", followed by fragment. </p> <p> 11 Worklets </p> <p> 11.1 Introduction </p> <p> This section is non-normative. </p> <p> Worklets are a piece of specification infrastructure which can be used for running scripts independent of the main JavaScript execution environment, while not requiring any particular implementation model. </p> <p> The worklet infrastructure specified here cannot be used directly by web developers. Instead, other specifications build upon it to create directly-usable worklet types, specialized for running in particular parts of the browser implementation pipeline. </p> <p> 11.1.1 Motivations </p> <p> This section is non-normative. </p> <p> Allowing extension points to rendering, or other sensitive parts of the implementation pipeline such as audio output, is difficult. If extension points were done with full access to the APIs available on [50365]Window, engines would need to abandon previously-held assumptions for what could happen in the middle of those phases. For example, during the layout phase, rendering engines assume that no DOM will be modified. </p> <p> Additionally, defining extension points in the [50366]Window environment would restrict user agents to performing work in the same thread as the [50367]Window object. (Unless implementations added complex, high-overhead infrastructure to allow thread-safe APIs, as well as thread-joining guarantees.) </p> <p> Worklets are designed to allow extension points, while keeping guarantees that user agents currently rely on. This is done through new global environments, based on subclasses of [50368]WorkletGlobalScope. </p> <p> Worklets are similar to web workers. However, they: * Are thread-agnostic. That is, they are not designed to run on a dedicated separate thread, like each worker is. Implementations can run worklets wherever they choose (including on the main thread). * Are able to have multiple duplicate instances of the global scope created, for the purpose of parallelism. * Do not use an event-based API. Instead, classes are registered on the global scope, whose methods are invoked by the user agent. * Have a reduced API surface on the global scope. * Have a lifetime for their [50369]global object which is defined by other specifications, often in an [50370]implementation-defined manner. </p> <p> As worklets have relatively high overhead, they are best used sparingly. Due to this, a given [50371]WorkletGlobalScope is expected to be shared between multiple separate scripts. (This is similar to how a single [50372]Window is shared between multiple separate scripts.) </p> <p> Worklets are a general technology that serve different use cases. Some worklets, such as those defined in CSS Painting API, provide extension points intended for stateless, idempotent, and short-running computations, which have special considerations as described in the next couple of sections. Others, such as those defined in Web Audio API, are used for stateful, long-running operations. [50373][CSSPAINT] [50374][WEBAUDIO] </p> <p> 11.1.2 Code idempotence </p> <p> Some specifications which use worklets are intended to allow user agents to parallelize work over multiple threads, or to move work between threads as required. In these specifications, user agents might invoke methods on a web-developer-provided class in an [50375]implementation-defined order. </p> <p> As a result of this, to prevent interoperability issues, authors who register classes on such [50376]WorkletGlobalScopes should make their code idempotent. That is, a method or set of methods on the class should produce the same output given a particular input. </p> <p> This specification uses the following techniques in order to encourage authors to write code in an idempotent way: * No reference to the global object is available (i.e., there is no counterpart to [50377]self on [50378]WorkletGlobalScope). Although this was the intention when worklets were first specified, the introduction of globalThis has made it no longer true. See [50379]issue #6059 for more discussion. * Code is loaded as a [50380]module script, which results in the code being executed in strict mode and with no shared this referencing the global proxy. </p> <p> Together, these restrictions help prevent two different scripts from sharing state using properties of the [50381]global object. </p> <p> Additionally, specifications which use worklets and intend to allow [50382]implementation-defined behavior must obey the following: * They must require user agents to always have at least two [50383]WorkletGlobalScope instances per [50384]Worklet, and randomly assign a method or set of methods on a class to a particular [50385]WorkletGlobalScope instance. These specifications may provide an opt-out under memory constraints. * These specifications must allow user agents to create and destroy instances of their [50386]WorkletGlobalScope subclasses at any time. </p> <p> 11.1.3 Speculative evaluation </p> <p> Some specifications which use worklets can invoke methods on a web-developer-provided class based on the state of the user agent. To increase concurrency between threads, a user agent may invoke a method speculatively, based on potential future states. </p> <p> In these specifications, user agents might invoke such methods at any time, and with any arguments, not just ones corresponding to the current state of the user agent. The results of such speculative evaluations are not displayed immediately, but can be cached for use if the user agent state matches the speculated state. This can increase the concurrency between the user agent and worklet threads. </p> <p> As a result of this, to prevent interoperability risks between user agents, authors who register classes on such [50387]WorkletGlobalScopes should make their code stateless. That is, the only effect of invoking a method should be its result, and not any side effects such as updating mutable state. </p> <p> The same techniques which encourage [50388]code idempotence also encourage authors to write stateless code. </p> <p> 11.2 Examples </p> <p> This section is non-normative. </p> <p> For these examples, we'll use a fake worklet. The [50389]Window object provides two [50390]Worklet instances, which each run code in their own collection of [50391]FakeWorkletGlobalScopes: partial interface [50392]Window { [SameObject, SecureContext] readonly attribute [50393]Worklet [50394]fakeWorkl et1; [SameObject, SecureContext] readonly attribute [50395]Worklet [50396]fakeWorkl et2; }; </p> <p> Each [50397]Window has two [50398]Worklet instances, fake worklet 1 and fake worklet 2. Both of these have their [50399]worklet global scope type set to [50400]FakeWorkletGlobalScope, and their [50401]worklet destination type set to "fakeworklet". User agents should create at least two [50402]FakeWorkletGlobalScope instances per worklet. </p> <p> "fakeworklet" is not actually a valid [50403]destination per Fetch. But this illustrates how real worklets would generally have their own worklet-type-specific destination. [50404][FETCH] </p> <p> The fakeWorklet1 getter steps are to return [50405]this's [50406]fake worklet 1. </p> <p> The fakeWorklet2 getter steps are to return [50407]this's [50408]fake worklet 2. __________________________________________________________________ </p> <p> [Global=(Worklet,FakeWorklet), Exposed=FakeWorklet, SecureContext] interface FakeWorkletGlobalScope : [50409]WorkletGlobalScope { undefined [50410]registerFake(DOMString type, [50411]Function classConstructor ); }; </p> <p> Each [50412]FakeWorkletGlobalScope has a registered class constructors map, which is an [50413]ordered map, initially empty. </p> <p> The registerFake(type, classConstructor) method steps are to set [50414]this's [50415]registered class constructors map[type] to classConstructor. </p> <p> 11.2.1 Loading scripts </p> <p> This section is non-normative. </p> <p> To load scripts into [50416]fake worklet 1, a web developer would write: window.fakeWorklet1.addModule(ʼscript1.mjsʼ); window.fakeWorklet1.addModule(ʼscript2.mjsʼ); </p> <p> Note that which script finishes fetching and runs first is dependent on network timing: it could be either script1.mjs or script2.mjs. This generally won't matter for well-written scripts intended to be loaded in worklets, if they follow the suggestions about preparing for [50417]speculative evaluation. </p> <p> If a web developer wants to perform a task only after the scripts have successfully run and loaded into some worklets, they could write: Promise.all([ window.fakeWorklet1.addModule(ʼscript1.mjsʼ), window.fakeWorklet2.addModule(ʼscript2.mjsʼ) ]).then(() => { // Do something which relies on those scripts being loaded. }); __________________________________________________________________ </p> <p> Another important point about script-loading is that loaded scripts can be run in multiple [50418]WorkletGlobalScopes per [50419]Worklet, as discussed in the section on [50420]code idempotence. In particular, the specification above for [50421]fake worklet 1 and [50422]fake worklet 2 require this. So, consider a scenario such as the following: // script.mjs console.log("Hello from a FakeWorkletGlobalScope!"); // app.mjs window.fakeWorklet1.addModule("script.mjs"); </p> <p> This could result in output such as the following from a user agent's console: [fakeWorklet1#1] Hello from a FakeWorkletGlobalScope! [fakeWorklet1#4] Hello from a FakeWorkletGlobalScope! [fakeWorklet1#2] Hello from a FakeWorkletGlobalScope! [fakeWorklet1#3] Hello from a FakeWorkletGlobalScope! </p> <p> If the user agent at some point decided to kill and restart the third instance of [50423]FakeWorkletGlobalScope, the console would again print [fakeWorklet1#3] Hello from a FakeWorkletGlobalScope! when this occurs. </p> <p> 11.2.2 Registering a class and invoking its methods </p> <p> This section is non-normative. </p> <p> Let's say that one of the intended usages of our fake worklet by web developers is to allow them to customize the highly-complex process of boolean negation. They might register their customization as follows: // script.mjs registerFake(ʼnegation-processorʼ, class { process(arg) { return !arg; } }); // app.mjs window.fakeWorklet1.addModule("script.mjs"); </p> <p> To make use of such registered classes, the specification for fake worklets could define a find the opposite of true algorithm, given a [50424]Worklet worklet: 1. Optionally, [50425]create a worklet global scope for worklet. 2. Let workletGlobalScope be one of worklet's [50426]global scopes, chosen in an [50427]implementation-defined manner. 3. Let classConstructor be workletGlobalScope's [50428]registered class constructors map["negation-processor"]. 4. Let classInstance be the result of [50429]constructing classConstructor, with no arguments. 5. Let function be [50430]Get(classInstance, "process"). Rethrow any exceptions. 6. Let callback be the result of [50431]converting function to a Web IDL [50432]Function instance. 7. Return the result of [50433]invoking callback with « true » and "rethrow", and with [50434]callback this value set to classInstance. </p> <p> Another, perhaps better, specification architecture would be to extract the "process" property and convert it into a [50435]Function at registration time, as part of the [50436]registerFake() method steps. </p> <p> 11.3 Infrastructure </p> <p> 11.3.1 The global scope </p> <p> Subclasses of [50437]WorkletGlobalScope are used to create [50438]global objects wherein code loaded into a particular [50439]Worklet can execute. [Exposed=Worklet, SecureContext] interface WorkletGlobalScope {}; </p> <p> Other specifications are intended to subclass [50440]WorkletGlobalScope, adding APIs to register a class, as well as other APIs specific for their worklet type. </p> <p> Each [50441]WorkletGlobalScope has an associated module map. It is a [50442]module map, initially empty. </p> <p> 11.3.1.1 Agents and event loops </p> <p> This section is non-normative. </p> <p> Each [50443]WorkletGlobalScope is contained in its own [50444]worklet agent, which has its corresponding [50445]event loop. However, in practice, implementation of these agents and event loops is expected to be different from most others. </p> <p> A [50446]worklet agent exists for each [50447]WorkletGlobalScope since, in theory, an implementation could use a separate thread for each [50448]WorkletGlobalScope instance, and allowing this level of parallelism is best done using agents. However, because their [[CanBlock]] value is false, there is no requirement that agents and threads are one-to-one. This allows implementations the freedom to execute scripts loaded into a worklet on any thread, including one running code from other agents with [[CanBlock]] of false, such as the thread of a [50449]similar-origin window agent ("the main thread"). Contrast this with [50450]dedicated worker agents, whose true value for [[CanBlock]] effectively requires them to get a dedicated operating system thread. </p> <p> Worklet [50451]event loops are also somewhat special. They are only used for [50452]tasks associated with [50453]addModule(), tasks wherein the user agent invokes author-defined methods, and [50454]microtasks. Thus, even though the [50455]event loop processing model specifies that all event loops run continuously, implementations can achieve observably-equivalent results using a simpler strategy, which just [50456]invokes author-provided methods and then relies on that process to [50457]perform a microtask checkpoint. </p> <p> 11.3.1.2 Creation and termination </p> <p> To create a worklet global scope for a [50458]Worklet worklet: 1. Let outsideSettings be worklet's [50459]relevant settings object. 2. Let agent be the result of [50460]obtaining a worklet agent given outsideSettings. Run the rest of these steps in that agent. 3. Let realmExecutionContext be the result of [50461]creating a new realm given agent and the following customizations: + For the global object, create a new object of the type given by worklet's [50462]worklet global scope type. 4. Let workletGlobalScope be the [50463]global object of realmExecutionContext's Realm component. 5. Let insideSettings be the result of [50464]setting up a worklet environment settings object given realmExecutionContext and outsideSettings. 6. Let pendingAddedModules be a [50465]clone of worklet's [50466]added modules list. 7. Let runNextAddedModule be the following steps: 1. If pendingAddedModules [50467]is not empty, then: 1. Let moduleURL be the result of [50468]dequeueing from pendingAddedModules. 2. [50469]Fetch a worklet script graph given moduleURL, insideSettings, worklet's [50470]worklet destination type, what credentials mode?, insideSettings, worklet's [50471]module responses map, and with the following steps given script: This will not actually perform a network request, as it will just reuse [50472]responses from worklet's [50473]module responses map. The main purpose of this step is to create a new workletGlobalScope-specific [50474]module script from the [50475]response. 1. [50476]Assert: script is not null, since the fetch succeeded and the source text was successfully parsed when worklet's [50477]module responses map was initially populated with moduleURL. 2. [50478]Run a module script given script. 3. Run runNextAddedModule. 3. Abort these steps. 2. [50479]Append workletGlobalScope to outsideSettings's [50480]global object's [50481]associated Document's [50482]worklet global scopes. 3. [50483]Append workletGlobalScope to worklet's [50484]global scopes. 4. Run the [50485]responsible event loop specified by insideSettings. 8. Run runNextAddedModule. </p> <p> To terminate a worklet global scope given a [50486]WorkletGlobalScope workletGlobalScope: 1. Let eventLoop be workletGlobalScope's [50487]relevant agent's [50488]event loop. 2. If there are any [50489]tasks queued in eventLoop's [50490]task queues, discard them without processing them. 3. Wait for eventLoop to complete the [50491]currently running task. 4. If the previous step doesn't complete within an [50492]implementation-defined period of time, then [50493]abort the script currently running in the worklet. 5. Destroy eventLoop. 6. [50494]Remove workletGlobalScope from the [50495]global scopes of the [50496]Worklet whose [50497]global scopes contains workletGlobalScope. 7. [50498]Remove workletGlobalScope from the [50499]worklet global scopes of the [50500]Document whose [50501]worklet global scopes contains workletGlobalScope. </p> <p> 11.3.1.3 Script settings for worklets </p> <p> To set up a worklet environment settings object, given a [50502]JavaScript execution context executionContext and an [50503]environment settings object outsideSettings: 1. Let origin be a unique [50504]opaque origin. 2. Let inheritedAPIBaseURL be outsideSettings's [50505]API base URL. 3. Let inheritedPolicyContainer be a [50506]clone of outsideSettings's [50507]policy container. 4. Let realm be the value of executionContext's Realm component. 5. Let workletGlobalScope be realm's [50508]global object. 6. Let settingsObject be a new [50509]environment settings object whose algorithms are defined as follows: </p> <p> The [50510]realm execution context Return executionContext. </p> <p> The [50511]module map Return workletGlobalScope's [50512]module map. </p> <p> The [50513]API base URL Return inheritedAPIBaseURL. </p> <p> Unlike workers or other globals derived from a single resource, worklets have no primary resource; instead, multiple scripts, each with their own URL, are loaded into the global scope via [50514]worklet.addModule(). So this [50515]API base URL is rather unlike that of other globals. However, so far this doesn't matter, as no APIs available to worklet code make use of the [50516]API base URL. </p> <p> The [50517]origin Return origin. </p> <p> The [50518]policy container Return inheritedPolicyContainer. </p> <p> The [50519]cross-origin isolated capability Return TODO. </p> <p> The [50520]time origin [50521]Assert: this algorithm is never called, because the [50522]time origin is not available in a worklet context. </p> <p> 7. Set settingsObject's [50523]id to a new unique opaque string, [50524]creation URL to inheritedAPIBaseURL, [50525]top-level creation URL to null, [50526]top-level origin to outsideSettings's [50527]top-level origin, [50528]target browsing context to null, and [50529]active service worker to null. 8. Set realm's [[HostDefined]] field to settingsObject. 9. Return settingsObject. </p> <p> 11.3.2 The [50530]Worklet class </p> <p> (BUTTON) ✔MDN </p> <p> [50531]Worklet </p> <p> Support in all current engines. Firefox76+Safari14.1+Chrome65+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? </p> <p> The [50532]Worklet class provides the capability to add module scripts into its associated [50533]WorkletGlobalScopes. The user agent can then create classes registered on the [50534]WorkletGlobalScopes and invoke their methods. [Exposed=Window, SecureContext] interface Worklet { [NewObject] [50535]Promise<undefined> [50536]addModule(USVString moduleURL, op tional [50537]WorkletOptions options = {}); }; </p> <p> dictionary WorkletOptions { [50538]RequestCredentials credentials = "same-origin"; }; </p> <p> Specifications that create [50539]Worklet instances must specify the following for a given instance: * its worklet global scope type, which must be a Web IDL type that [50540]inherits from [50541]WorkletGlobalScope; and * its worklet destination type, which must be a [50542]destination, and is used when fetching scripts. </p> <p> await worklet.[50543]addModule(moduleURL[, { [50544]credentials }]) </p> <p> (BUTTON) ✔MDN </p> <p> [50545]Worklet/addModule </p> <p> Support in all current engines. </p> <p> Firefox76+Safari14.1+Chrome65+ ___________________________________________________________ </p> <p> Opera?Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? Loads and executes the [50546]module script given by moduleURL into all of worklet's [50547]global scopes. It can also create additional global scopes as part of this process, depending on the worklet type. The returned promise will fulfill once the script has been successfully loaded and run in all global scopes. </p> <p> The [50548]credentials option can be set to a [50549]credentials mode to modify the script-fetching process. It defaults to "same-origin". </p> <p> Any failures in [50550]fetching the script or its dependencies will cause the returned promise to be rejected with an [50551]"AbortError" [50552]DOMException. Any errors in parsing the script or its dependencies will cause the returned promise to be rejected with the exception generated during parsing. </p> <p> A [50553]Worklet has a [50554]list of global scopes, which contains instances of the [50555]Worklet's [50556]worklet global scope type. It is initially empty. </p> <p> A [50557]Worklet has an added modules list, which is a [50558]list of [50559]URLs, initially empty. Access to this list should be thread-safe. </p> <p> A [50560]Worklet has a module responses map, which is an [50561]ordered map from [50562]URLs to either "fetching" or [50563]tuples consisting of a [50564]response and either null, failure, or a [50565]byte sequence representing the response body. This map is initially empty, and access to it should be thread-safe. </p> <p> The [50566]added modules list and [50567]module responses map exist to ensure that [50568]WorkletGlobalScopes created at different times get equivalent [50569]module scripts run in them, based on the same source text. This allows the creation of additional [50570]WorkletGlobalScopes to be transparent to the author. </p> <p> In practice, user agents are not expected to implement these data structures, and the algorithms that consult them, using thread-safe programming techniques. Instead, when [50571]addModule() is called, user agents can fetch the module graph on the main thread, and send the fetched source text (i.e., the important data contained in the [50572]module responses map) to each thread which has a [50573]WorkletGlobalScope. </p> <p> Then, when a user agent [50574]creates a new [50575]WorkletGlobalScope for a given [50576]Worklet, it can simply send the map of fetched source text and the list of entry points from the main thread to the thread containing the new [50577]WorkletGlobalScope. </p> <p> The addModule(moduleURL, options) method steps are: 1. Let outsideSettings be the [50578]relevant settings object of [50579]this. 2. Let moduleURLRecord be the result of [50580]encoding-parsing a URL given moduleURL, relative to outsideSettings. 3. If moduleURLRecord is failure, then return [50581]a promise rejected with a [50582]"SyntaxError" [50583]DOMException. 4. Let promise be a new promise. 5. Let workletInstance be [50584]this. 6. Run the following steps [50585]in parallel: 1. If workletInstance's [50586]global scopes [50587]is empty, then: 1. [50588]Create a worklet global scope given workletInstance. 2. Optionally, [50589]create additional global scope instances given workletInstance, depending on the specific worklet in question and its specification. 3. Wait for all steps of the [50590]creation process(es) — including those taking place within the [50591]worklet agents — to complete, before moving on. 2. Let pendingTasks be workletInstance's [50592]global scopes's [50593]size. 3. Let addedSuccessfully be false. 4. [50594]For each workletGlobalScope of workletInstance's [50595]global scopes, [50596]queue a global task on the [50597]networking task source given workletGlobalScope to [50598]fetch a worklet script graph given moduleURLRecord, outsideSettings, workletInstance's [50599]worklet destination type, options["[50600]credentials"], workletGlobalScope's [50601]relevant settings object, workletInstance's [50602]module responses map, and the following steps given script: Only the first of these fetches will actually perform a network request; the ones for other [50603]WorkletGlobalScopes will reuse [50604]responses from workletInstance's [50605]module responses map. 1. If script is null, then: 1. [50606]Queue a global task on the [50607]networking task source given workletInstance's [50608]relevant global object to perform the following steps: 1. If pendingTasks is not −1, then: 1. Set pendingTasks to −1. 2. Reject promise with an [50609]"AbortError" [50610]DOMException. 2. Abort these steps. 2. If script's [50611]error to rethrow is not null, then: 1. [50612]Queue a global task on the [50613]networking task source given workletInstance's [50614]relevant global object to perform the following steps: 1. If pendingTasks is not −1, then: 1. Set pendingTasks to −1. 2. Reject promise with script's [50615]error to rethrow. 2. Abort these steps. 3. If addedSuccessfully is false, then: 1. [50616]Append moduleURLRecord to workletInstance's [50617]added modules list. 2. Set addedSuccessfully to true. 4. [50618]Run a module script given script. 5. [50619]Queue a global task on the [50620]networking task source given workletInstance's [50621]relevant global object to perform the following steps: 1. If pendingTasks is not −1, then: 1. Set pendingTasks to pendingTasks − 1. 2. If pendingTasks is 0, then resolve promise. 7. Return promise. </p> <p> 11.3.3 The worklet's lifetime </p> <p> The lifetime of a [50622]Worklet has no special considerations; it is tied to the object it belongs to, such as the [50623]Window. </p> <p> Each [50624]Document has a worklet global scopes, which is a [50625]set of [50626]WorkletGlobalScopes, initially empty. </p> <p> The lifetime of a [50627]WorkletGlobalScope is, at a minimum, tied to the [50628]Document whose [50629]worklet global scopes contain it. In particular, [50630]destroying the [50631]Document will [50632]terminate the corresponding [50633]WorkletGlobalScope and allow it to be garbage-collected. </p> <p> Additionally, user agents may, at any time, [50634]terminate a given [50635]WorkletGlobalScope, unless the specification defining the corresponding worklet type says otherwise. For example, they might terminate them if the [50636]worklet agent's [50637]event loop has no [50638]tasks queued, or if the user agent has no pending operations planning to make use of the worklet, or if the user agent detects abnormal operations such as infinite loops or callbacks exceeding imposed time limits. </p> <p> Finally, specifications for specific worklet types can give more specific details on when to [50639]create [50640]WorkletGlobalScopes for a given worklet type. For example, they might create them during specific processes that call upon worklet code, as in the [50641]example. </p> <p> 12 Web storage </p> <p> (BUTTON) ✔MDN </p> <p> [50642]Web_Storage_API </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera10.5+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer8+ __________________________________________________________________ </p> <p> Firefox Android6+Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ </p> <p> [50643]Web_Storage_API/Using_the_Web_Storage_API </p> <p> 12.1 Introduction </p> <p> This section is non-normative. </p> <p> This specification introduces two related mechanisms, similar to HTTP session cookies, for storing name-value pairs on the client side. [50644][COOKIES] </p> <p> The first is designed for scenarios where the user is carrying out a single transaction, but could be carrying out multiple transactions in different windows at the same time. </p> <p> Cookies don't really handle this case well. For example, a user could be buying plane tickets in two different windows, using the same site. If the site used cookies to keep track of which ticket the user was buying, then as the user clicked from page to page in both windows, the ticket currently being purchased would "leak" from one window to the other, potentially causing the user to buy two tickets for the same flight without noticing. </p> <p> To address this, this specification introduces the [50645]sessionStorage getter. Sites can add data to the session storage, and it will be accessible to any page from the same site opened in that window. </p> <p> For example, a page could have a checkbox that the user ticks to indicate that they want insurance: <label> <input type="checkbox" onchange="sessionStorage.insurance = checked ? ʼtrueʼ : ʼʼ"> I want insurance on this trip. </label> </p> <p> A later page could then check, from script, whether the user had checked the checkbox or not: if (sessionStorage.insurance) { ... } </p> <p> If the user had multiple windows opened on the site, each one would have its own individual copy of the session storage object. </p> <p> The second storage mechanism is designed for storage that spans multiple windows, and lasts beyond the current session. In particular, web applications might wish to store megabytes of user data, such as entire user-authored documents or a user's mailbox, on the client side for performance reasons. </p> <p> Again, cookies do not handle this case well, because they are transmitted with every request. </p> <p> The [50646]localStorage getter is used to access a page's local storage area. </p> <p> The site at example.com can display a count of how many times the user has loaded its page by putting the following at the bottom of its page: <p> You have viewed this page <span id="count">an untold number of</span> time(s). </p> <script> if (!localStorage.pageLoadCount) localStorage.pageLoadCount = 0; localStorage.pageLoadCount = parseInt(localStorage.pageLoadCount) + 1; document.getElementById(ʼcountʼ).textContent = localStorage.pageLoadCount; </script> </p> <p> Each site has its own separate storage area. </p> <p> The [50647]localStorage getter provides access to shared state. This specification does not define the interaction with other agent clusters in a multiprocess user agent, and authors are encouraged to assume that there is no locking mechanism. A site could, for instance, try to read the value of a key, increment its value, then write it back out, using the new value as a unique identifier for the session; if the site does this twice in two different browser windows at the same time, it might end up using the same "unique" identifier for both sessions, with potentially disastrous effects. </p> <p> 12.2 The API </p> <p> (BUTTON) ✔MDN </p> <p> [50648]Storage </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera10.5+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer8+ __________________________________________________________________ </p> <p> Firefox Android6+Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ </p> <p> 12.2.1 The [50649]Storage interface </p> <p> [Exposed=Window] interface Storage { readonly attribute unsigned long [50650]length; DOMString? [50651]key(unsigned long index); getter DOMString? [50652]getItem(DOMString key); setter undefined [50653]setItem(DOMString key, DOMString value); deleter undefined [50654]removeItem(DOMString key); undefined [50655]clear(); }; </p> <p> storage.[50656]length </p> <p> (BUTTON) ✔MDN </p> <p> [50657]Storage/length </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera10.5+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer8+ ___________________________________________________________ </p> <p> Firefox Android6+Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ Returns the number of key/value pairs. </p> <p> storage.[50658]key (n) </p> <p> (BUTTON) ✔MDN </p> <p> [50659]Storage/key </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera10.5+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer8+ ___________________________________________________________ </p> <p> Firefox Android6+Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ Returns the name of the nth key, or null if n is greater than or equal to the number of key/value pairs. </p> <p> value = storage.[50660]getItem (key) </p> <p> (BUTTON) ✔MDN </p> <p> [50661]Storage/getItem </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera10.5+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer8+ ___________________________________________________________ </p> <p> Firefox Android6+Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ </p> <p> value = storage[key] Returns the current value associated with the given key, or null if the given key does not exist. </p> <p> storage.[50662]setItem (key, value) </p> <p> (BUTTON) ✔MDN </p> <p> [50663]Storage/setItem </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera10.5+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer8+ ___________________________________________________________ </p> <p> Firefox Android6+Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ </p> <p> storage[key] = value Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously. </p> <p> Throws a [50664]"QuotaExceededError" [50665]DOMException exception if the new value couldn't be set. (Setting could fail if, e.g., the user has disabled storage for the site, or if the quota has been exceeded.) </p> <p> Dispatches a [50666]storage event on [50667]Window objects holding an equivalent [50668]Storage object. </p> <p> storage.[50669]removeItem (key) </p> <p> (BUTTON) ✔MDN </p> <p> [50670]Storage/removeItem </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera10.5+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer8+ ___________________________________________________________ </p> <p> Firefox Android6+Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ </p> <p> [50671]delete storage[key] Removes the key/value pair with the given key, if a key/value pair with the given key exists. </p> <p> Dispatches a [50672]storage event on [50673]Window objects holding an equivalent [50674]Storage object. </p> <p> storage.[50675]clear() </p> <p> (BUTTON) ✔MDN </p> <p> [50676]Storage/clear </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera10.5+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer8+ ___________________________________________________________ </p> <p> Firefox Android6+Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ Removes all key/value pairs, if there are any. </p> <p> Dispatches a [50677]storage event on [50678]Window objects holding an equivalent [50679]Storage object. </p> <p> A [50680]Storage object has an associated: </p> <p> map A [50681]storage proxy map. </p> <p> type "local" or "session". </p> <p> To reorder a [50682]Storage object storage, reorder storage's [50683]map's [50684]entries in an [50685]implementation-defined manner. </p> <p> Unfortunate as it is, iteration order is not defined and can change upon most mutations. </p> <p> To broadcast a [50686]Storage object storage, given a key, oldValue, and newValue, run these steps: 1. Let thisDocument be storage's [50687]relevant global object's [50688]associated Document. 2. Let url be the [50689]serialization of thisDocument's [50690]URL. 3. Let remoteStorages be all [50691]Storage objects excluding storage whose: + [50692]type is storage's [50693]type + [50694]relevant settings object's [50695]origin is [50696]same origin with storage's [50697]relevant settings object's [50698]origin. and, if [50699]type is "session", whose [50700]relevant settings object's [50701]associated Document's [50702]node navigable's [50703]traversable navigable is thisDocument's [50704]node navigable's [50705]traversable navigable. 4. [50706]For each remoteStorage of remoteStorages: [50707]queue a global task on the [50708]DOM manipulation task source given remoteStorage's [50709]relevant global object to [50710]fire an event named [50711]storage at remoteStorage's [50712]relevant global object, using [50713]StorageEvent, with [50714]key initialized to key, [50715]oldValue initialized to oldValue, [50716]newValue initialized to newValue, [50717]url initialized to url, and [50718]storageArea initialized to remoteStorage. The [50719]Document object associated with the resulting [50720]task is not necessarily [50721]fully active, but events fired on such objects are ignored by the [50722]event loop until the [50723]Document becomes [50724]fully active again. __________________________________________________________________ </p> <p> The length getter steps are to return [50725]this's [50726]map's [50727]size. </p> <p> The key(index) method steps are: 1. If index is greater than or equal to [50728]this's [50729]map's [50730]size, then return null. 2. Let keys be the result of running [50731]get the keys on [50732]this's [50733]map. 3. Return keys[index]. </p> <p> The [50734]supported property names on a [50735]Storage object storage are the result of running [50736]get the keys on storage's [50737]map. </p> <p> The getItem(key) method steps are: 1. If [50738]this's [50739]map[key] does not [50740]exist, then return null. 2. Return [50741]this's [50742]map[key]. </p> <p> The setItem(key, value) method steps are: 1. Let oldValue be null. 2. Let reorder be true. 3. If [50743]this's [50744]map[key] [50745]exists: 1. Set oldValue to [50746]this's [50747]map[key]. 2. If oldValue [50748]is value, then return. 3. Set reorder to false. 4. If value cannot be stored, then throw a [50749]"QuotaExceededError" [50750]DOMException exception. 5. [50751]Set [50752]this's [50753]map[key] to value. 6. If reorder is true, then [50754]reorder [50755]this. 7. [50756]Broadcast [50757]this with key, oldValue, and value. </p> <p> The removeItem(key) method steps are: 1. If [50758]this's [50759]map[key] does not [50760]exist, then return. 2. Set oldValue to [50761]this's [50762]map[key]. 3. [50763]Remove [50764]this's [50765]map[key]. 4. [50766]Reorder [50767]this. 5. [50768]Broadcast [50769]this with key, oldValue, and null. </p> <p> The clear() method steps are: 1. [50770]Clear [50771]this's [50772]map. 2. [50773]Broadcast [50774]this with null, null, and null. </p> <p> 12.2.2 The [50775]sessionStorage getter </p> <p> interface mixin WindowSessionStorage { readonly attribute [50776]Storage [50777]sessionStorage; }; [50778]Window includes [50779]WindowSessionStorage; </p> <p> window.[50780]sessionStorage </p> <p> (BUTTON) ✔MDN </p> <p> [50781]Window/sessionStorage </p> <p> Support in all current engines. </p> <p> Firefox2+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera10.5+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer8+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ Returns the [50782]Storage object associated with that window's origin's session storage area. </p> <p> Throws a [50783]"SecurityError" [50784]DOMException if the [50785]Document's [50786]origin is an [50787]opaque origin or if the request violates a policy decision (e.g., if the user agent is configured to not allow the page to persist data). </p> <p> A [50788]Document object has an associated session storage holder, which is null or a [50789]Storage object. It is initially null. </p> <p> [50790](This is a tracking vector.) The sessionStorage getter steps are: 1. If [50791]this's [50792]associated Document's [50793]session storage holder is non-null, then return [50794]this's [50795]associated Document's [50796]session storage holder. 2. Let map be the result of running [50797]obtain a session storage bottle map with [50798]this's [50799]relevant settings object and "sessionStorage". 3. If map is failure, then throw a [50800]"SecurityError" [50801]DOMException. 4. Let storage be a new [50802]Storage object whose [50803]map is map. 5. Set [50804]this's [50805]associated Document's [50806]session storage holder to storage. 6. Return storage. </p> <p> After [50807]creating a new auxiliary browsing context and document, the session storage [50808]is copied over. </p> <p> 12.2.3 The [50809]localStorage getter </p> <p> interface mixin WindowLocalStorage { readonly attribute [50810]Storage [50811]localStorage; }; [50812]Window includes [50813]WindowLocalStorage; </p> <p> window.[50814]localStorage </p> <p> (BUTTON) ✔MDN </p> <p> [50815]Window/localStorage </p> <p> Support in all current engines. </p> <p> Firefox3.5+Safari4+Chrome4+ ___________________________________________________________ </p> <p> Opera10.5+Edge79+ ___________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer8+ ___________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ Returns the [50816]Storage object associated with window's origin's local storage area. </p> <p> Throws a [50817]"SecurityError" [50818]DOMException if the [50819]Document's [50820]origin is an [50821]opaque origin or if the request violates a policy decision (e.g., if the user agent is configured to not allow the page to persist data). </p> <p> A [50822]Document object has an associated local storage holder, which is null or a [50823]Storage object. It is initially null. </p> <p> [50824](This is a tracking vector.) The localStorage getter steps are: 1. If [50825]this's [50826]associated Document's [50827]local storage holder is non-null, then return [50828]this's [50829]associated Document's [50830]local storage holder. 2. Let map be the result of running [50831]obtain a local storage bottle map with [50832]this's [50833]relevant settings object and "localStorage". 3. If map is failure, then throw a [50834]"SecurityError" [50835]DOMException. 4. Let storage be a new [50836]Storage object whose [50837]map is map. 5. Set [50838]this's [50839]associated Document's [50840]local storage holder to storage. 6. Return storage. </p> <p> 12.2.4 The [50841]StorageEvent interface </p> <p> (BUTTON) ✔MDN </p> <p> [50842]StorageEvent </p> <p> Support in all current engines. Firefox13+Safari4+Chrome1+ __________________________________________________________________ </p> <p> Opera12.1+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ </p> <p> [Exposed=Window] interface StorageEvent : [50843]Event { constructor(DOMString type, optional [50844]StorageEventInit eventInitDict = { }); </p> <p> readonly attribute DOMString? [50845]key; readonly attribute DOMString? [50846]oldValue; readonly attribute DOMString? [50847]newValue; readonly attribute USVString [50848]url; readonly attribute [50849]Storage? [50850]storageArea; </p> <p> undefined [50851]initStorageEvent(DOMString type, optional boolean bubbles = f alse, optional boolean cancelable = false, optional DOMString? key = null, optio nal DOMString? oldValue = null, optional DOMString? newValue = null, optional US VString url = "", optional Storage? storageArea = null); }; </p> <p> dictionary StorageEventInit : [50852]EventInit { DOMString? key = null; DOMString? oldValue = null; DOMString? newValue = null; USVString url = ""; [50853]Storage? storageArea = null; }; </p> <p> event.[50854]key Returns the key of the storage item being changed. </p> <p> event.[50855]oldValue Returns the old value of the key of the storage item whose value is being changed. </p> <p> event.[50856]newValue Returns the new value of the key of the storage item whose value is being changed. </p> <p> event.[50857]url Returns the [50858]URL of the document whose storage item changed. </p> <p> event.[50859]storageArea Returns the [50860]Storage object that was affected. </p> <p> The key, oldValue, newValue, url, and storageArea attributes must return the values they were initialized to. </p> <p> The initStorageEvent(type, bubbles, cancelable, key, oldValue, newValue, url, storageArea) method must initialize the event in a manner analogous to the similarly-named [50861]initEvent() method. [50862][DOM] </p> <p> 12.3 Privacy </p> <p> 12.3.1 User tracking </p> <p> A third-party advertiser (or any entity capable of getting content distributed to multiple sites) could use a unique identifier stored in its local storage area to track a user across multiple sessions, building a profile of the user's interests to allow for highly targeted advertising. In conjunction with a site that is aware of the user's real identity (for example an e-commerce site that requires authenticated credentials), this could allow oppressive groups to target individuals with greater accuracy than in a world with purely anonymous web usage. </p> <p> There are a number of techniques that can be used to mitigate the risk of user tracking: </p> <p> Blocking third-party storage User agents may restrict access to the [50863]localStorage objects to scripts originating at the domain of the [50864]active document of the [50865]top-level traversable, for instance denying access to the API for pages from other domains running in [50866]iframes. </p> <p> Expiring stored data User agents may, possibly in a manner configured by the user, automatically delete stored data after a period of time. </p> <p> For example, a user agent could be configured to treat third-party local storage areas as session-only storage, deleting the data once the user had closed all the [50867]navigables that could access it. </p> <p> This can restrict the ability of a site to track a user, as the site would then only be able to track the user across multiple sessions when they authenticate with the site itself (e.g. by making a purchase or logging in to a service). </p> <p> However, this also reduces the usefulness of the API as a long-term storage mechanism. It can also put the user's data at risk, if the user does not fully understand the implications of data expiration. </p> <p> Treating persistent storage as cookies If users attempt to protect their privacy by clearing cookies without also clearing data stored in the local storage area, sites can defeat those attempts by using the two features as redundant backup for each other. User agents should present the interfaces for clearing these in a way that helps users to understand this possibility and enables them to delete data in all persistent storage features simultaneously. [50868][COOKIES] </p> <p> Site-specific safelisting of access to local storage areas User agents may allow sites to access session storage areas in an unrestricted manner, but require the user to authorize access to local storage areas. </p> <p> Origin-tracking of stored data User agents may record the [50869]origins of sites that contained content from third-party origins that caused data to be stored. </p> <p> If this information is then used to present the view of data currently in persistent storage, it would allow the user to make informed decisions about which parts of the persistent storage to prune. Combined with a blocklist ("delete this data and prevent this domain from ever storing data again"), the user can restrict the use of persistent storage to sites that they trust. </p> <p> Shared blocklists User agents may allow users to share their persistent storage domain blocklists. </p> <p> This would allow communities to act together to protect their privacy. </p> <p> While these suggestions prevent trivial use of this API for user tracking, they do not block it altogether. Within a single domain, a site can continue to track the user during a session, and can then pass all this information to the third party along with any identifying information (names, credit card numbers, addresses) obtained by the site. If a third party cooperates with multiple sites to obtain such information, a profile can still be created. </p> <p> However, user tracking is to some extent possible even with no cooperation from the user agent whatsoever, for instance by using session identifiers in URLs, a technique already commonly used for innocuous purposes but easily repurposed for user tracking (even retroactively). This information can then be shared with other sites, using visitors' IP addresses and other user-specific data (e.g. user-agent headers and configuration settings) to combine separate sessions into coherent user profiles. </p> <p> 12.3.2 Sensitivity of data </p> <p> User agents should treat persistently stored data as potentially sensitive; it's quite possible for emails, calendar appointments, health records, or other confidential documents to be stored in this mechanism. </p> <p> To this end, user agents should ensure that when deleting data, it is promptly deleted from the underlying storage. </p> <p> 12.4 Security </p> <p> 12.4.1 DNS spoofing attacks </p> <p> Because of the potential for DNS spoofing attacks, one cannot guarantee that a host claiming to be in a certain domain really is from that domain. To mitigate this, pages can use TLS. Pages using TLS can be sure that only the user, software working on behalf of the user, and other pages using TLS that have certificates identifying them as being from the same domain, can access their storage areas. </p> <p> 12.4.2 Cross-directory attacks </p> <p> Different authors sharing one host name, for example users hosting content on the now defunct geocities.com, all share one local storage object. There is no feature to restrict the access by pathname. Authors on shared hosts are therefore urged to avoid using these features, as it would be trivial for other authors to read the data and overwrite it. </p> <p> Even if a path-restriction feature was made available, the usual DOM scripting security model would make it trivial to bypass this protection and access the data from any path. </p> <p> 12.4.3 Implementation risks </p> <p> The two primary risks when implementing these persistent storage features are letting hostile sites read information from other domains, and letting hostile sites write information that is then read from other domains. </p> <p> Letting third-party sites read data that is not supposed to be read from their domain causes information leakage. For example, a user's shopping wishlist on one domain could be used by another domain for targeted advertising; or a user's work-in-progress confidential documents stored by a word-processing site could be examined by the site of a competing company. </p> <p> Letting third-party sites write data to the persistent storage of other domains can result in information spoofing, which is equally dangerous. For example, a hostile site could add items to a user's wishlist; or a hostile site could set a user's session identifier to a known ID that the hostile site can then use to track the user's actions on the victim site. </p> <p> Thus, strictly following the [50870]origin model described in this specification is important for user security. </p> <p> 13 The HTML syntax </p> <p> This section only describes the rules for resources labeled with an [50871]HTML MIME type. Rules for XML resources are discussed in the section below entitled "[50872]The XML syntax". </p> <p> 13.1 Writing HTML documents </p> <p> This section only applies to documents, authoring tools, and markup generators. In particular, it does not apply to conformance checkers; conformance checkers must use the requirements given in the next section ("parsing HTML documents"). </p> <p> Documents must consist of the following parts, in the given order: 1. Optionally, a single U+FEFF BYTE ORDER MARK (BOM) character. 2. Any number of [50873]comments and [50874]ASCII whitespace. 3. A [50875]DOCTYPE. 4. Any number of [50876]comments and [50877]ASCII whitespace. 5. The [50878]document element, in the form of an [50879]html [50880]element. 6. Any number of [50881]comments and [50882]ASCII whitespace. </p> <p> The various types of content mentioned above are described in the next few sections. </p> <p> In addition, there are some restrictions on how [50883]character encoding declarations are to be serialized, as discussed in the section on that topic. </p> <p> [50884]ASCII whitespace before the [50885]html element, at the start of the [50886]html element and before the [50887]head element, will be dropped when the document is parsed; [50888]ASCII whitespace after the [50889]html element will be parsed as if it were at the end of the [50890]body element. Thus, [50891]ASCII whitespace around the [50892]document element does not round-trip. </p> <p> It is suggested that newlines be inserted after the DOCTYPE, after any comments that are before the document element, after the [50893]html element's start tag (if it is not [50894]omitted), and after any comments that are inside the [50895]html element but before the [50896]head element. </p> <p> Many strings in the HTML syntax (e.g. the names of elements and their attributes) are case-insensitive, but only for [50897]ASCII upper alphas and [50898]ASCII lower alphas. For convenience, in this section this is just referred to as "case-insensitive". </p> <p> 13.1.1 The DOCTYPE </p> <p> A DOCTYPE is a required preamble. </p> <p> DOCTYPEs are required for legacy reasons. When omitted, browsers tend to use a different rendering mode that is incompatible with some specifications. Including the DOCTYPE in a document ensures that the browser makes a best-effort attempt at following the relevant specifications. </p> <p> A DOCTYPE must consist of the following components, in this order: 1. A string that is an [50899]ASCII case-insensitive match for the string "<!DOCTYPE". 2. One or more [50900]ASCII whitespace. 3. A string that is an [50901]ASCII case-insensitive match for the string "html". 4. Optionally, a [50902]DOCTYPE legacy string. 5. Zero or more [50903]ASCII whitespace. 6. A U+003E GREATER-THAN SIGN character (>). </p> <p> In other words, <!DOCTYPE html>, case-insensitively. __________________________________________________________________ </p> <p> For the purposes of HTML generators that cannot output HTML markup with the short DOCTYPE "<!DOCTYPE html>", a DOCTYPE legacy string may be inserted into the DOCTYPE (in the position defined above). This string must consist of: 1. One or more [50904]ASCII whitespace. 2. A string that is an [50905]ASCII case-insensitive match for the string "SYSTEM". 3. One or more [50906]ASCII whitespace. 4. A U+0022 QUOTATION MARK or U+0027 APOSTROPHE character (the quote mark). 5. The literal string "[50907]about:legacy-compat". 6. A matching U+0022 QUOTATION MARK or U+0027 APOSTROPHE character (i.e. the same character as in the earlier step labeled quote mark). </p> <p> In other words, <!DOCTYPE html SYSTEM "about:legacy-compat"> or <!DOCTYPE html SYSTEM 'about:legacy-compat'>, case-insensitively except for the part in single or double quotes. </p> <p> The [50908]DOCTYPE legacy string should not be used unless the document is generated from a system that cannot output the shorter string. </p> <p> 13.1.2 Elements </p> <p> There are six different kinds of elements: [50909]void elements, [50910]the template element, [50911]raw text elements, [50912]escapable raw text elements, [50913]foreign elements, and [50914]normal elements. </p> <p> Void elements [50915]area, [50916]base, [50917]br, [50918]col, [50919]embed, [50920]hr, [50921]img, [50922]input, [50923]link, [50924]meta, [50925]source, [50926]track, [50927]wbr </p> <p> The template element [50928]template </p> <p> Raw text elements [50929]script, [50930]style </p> <p> Escapable raw text elements [50931]textarea, [50932]title </p> <p> Foreign elements Elements from the [50933]MathML namespace and the [50934]SVG namespace. </p> <p> Normal elements All other allowed [50935]HTML elements are normal elements. </p> <p> Tags are used to delimit the start and end of elements in the markup. [50936]Raw text, [50937]escapable raw text, and [50938]normal elements have a [50939]start tag to indicate where they begin, and an [50940]end tag to indicate where they end. The start and end tags of certain [50941]normal elements can be [50942]omitted, as described below in the section on [50943]optional tags. Those that cannot be omitted must not be omitted. [50944]Void elements only have a start tag; end tags must not be specified for [50945]void elements. [50946]Foreign elements must either have a start tag and an end tag, or a start tag that is marked as self-closing, in which case they must not have an end tag. </p> <p> The [50947]contents of the element must be placed between just after the start tag (which [50948]might be implied, in certain cases) and just before the end tag (which again, [50949]might be implied in certain cases). The exact allowed contents of each individual element depend on the [50950]content model of that element, as described earlier in this specification. Elements must not contain content that their content model disallows. In addition to the restrictions placed on the contents by those content models, however, the five types of elements have additional syntactic requirements. </p> <p> [50951]Void elements can't have any contents (since there's no end tag, no content can be put between the start tag and the end tag). </p> <p> [50952]The template element can have [50953]template contents, but such [50954]template contents are not children of the [50955]template element itself. Instead, they are stored in a [50956]DocumentFragment associated with a different [50957]Document — without a [50958]browsing context — so as to avoid the [50959]template contents interfering with the main [50960]Document. The markup for the [50961]template contents of a [50962]template element is placed just after the [50963]template element's start tag and just before [50964]template element's end tag (as with other elements), and may consist of any [50965]text, [50966]character references, [50967]elements, and [50968]comments, but the text must not contain the character U+003C LESS-THAN SIGN (<) or an [50969]ambiguous ampersand. </p> <p> [50970]Raw text elements can have [50971]text, though it has [50972]restrictions described below. </p> <p> [50973]Escapable raw text elements can have [50974]text and [50975]character references, but the text must not contain an [50976]ambiguous ampersand. There are also [50977]further restrictions described below. </p> <p> [50978]Foreign elements whose start tag is marked as self-closing can't have any contents (since, again, as there's no end tag, no content can be put between the start tag and the end tag). [50979]Foreign elements whose start tag is not marked as self-closing can have [50980]text, [50981]character references, [50982]CDATA sections, other [50983]elements, and [50984]comments, but the text must not contain the character U+003C LESS-THAN SIGN (<) or an [50985]ambiguous ampersand. </p> <p> The HTML syntax does not support namespace declarations, even in [50986]foreign elements. </p> <p> For instance, consider the following HTML fragment: <p> <svg> <metadata> <!-- this is invalid --> <cdr:license xmlns:cdr="https://www.example.com/cdr/metadata" name="MIT"/> </metadata> </svg> </p> </p> <p> The innermost element, cdr:license, is actually in the SVG namespace, as the "xmlns:cdr" attribute has no effect (unlike in XML). In fact, as the comment in the fragment above says, the fragment is actually non-conforming. This is because SVG 2 does not define any elements called "cdr:license" in the SVG namespace. </p> <p> [50987]Normal elements can have [50988]text, [50989]character references, other [50990]elements, and [50991]comments, but the text must not contain the character U+003C LESS-THAN SIGN (<) or an [50992]ambiguous ampersand. Some [50993]normal elements also have [50994]yet more restrictions on what content they are allowed to hold, beyond the restrictions imposed by the content model and those described in this paragraph. Those restrictions are described below. </p> <p> Tags contain a tag name, giving the element's name. HTML elements all have names that only use [50995]ASCII alphanumerics. In the HTML syntax, tag names, even those for [50996]foreign elements, may be written with any mix of lower- and uppercase letters that, when converted to all-lowercase, matches the element's tag name; tag names are case-insensitive. </p> <p> 13.1.2.1 Start tags </p> <p> Start tags must have the following format: 1. The first character of a start tag must be a U+003C LESS-THAN SIGN character (<). 2. The next few characters of a start tag must be the element's [50997]tag name. 3. If there are to be any attributes in the next step, there must first be one or more [50998]ASCII whitespace. 4. Then, the start tag may have a number of attributes, the [50999]syntax for which is described below. Attributes must be separated from each other by one or more [51000]ASCII whitespace. 5. After the attributes, or after the [51001]tag name if there are no attributes, there may be one or more [51002]ASCII whitespace. (Some attributes are required to be followed by a space. See the [51003]attributes section below.) 6. Then, if the element is one of the [51004]void elements, or if the element is a [51005]foreign element, then there may be a single U+002F SOLIDUS character (/), which on [51006]foreign elements marks the start tag as self-closing. On [51007]void elements, it does not mark the start tag as self-closing but instead is unnecessary and has no effect of any kind. For such void elements, it should be used only with caution — especially since, if directly preceded by an [51008]unquoted attribute value, it becomes part of the attribute value rather than being discarded by the parser. 7. Finally, start tags must be closed by a U+003E GREATER-THAN SIGN character (>). </p> <p> 13.1.2.2 End tags </p> <p> End tags must have the following format: 1. The first character of an end tag must be a U+003C LESS-THAN SIGN character (<). 2. The second character of an end tag must be a U+002F SOLIDUS character (/). 3. The next few characters of an end tag must be the element's [51009]tag name. 4. After the tag name, there may be one or more [51010]ASCII whitespace. 5. Finally, end tags must be closed by a U+003E GREATER-THAN SIGN character (>). </p> <p> 13.1.2.3 Attributes </p> <p> Attributes for an element are expressed inside the element's start tag. </p> <p> Attributes have a name and a value. Attribute names must consist of one or more characters other than [51011]controls, U+0020 SPACE, U+0022 ("), U+0027 ('), U+003E (>), U+002F (/), U+003D (=), and [51012]noncharacters. In the HTML syntax, attribute names, even those for [51013]foreign elements, may be written with any mix of [51014]ASCII lower and [51015]ASCII upper alphas. </p> <p> Attribute values are a mixture of [51016]text and [51017]character references, except with the additional restriction that the text cannot contain an [51018]ambiguous ampersand. </p> <p> Attributes can be specified in four different ways: </p> <p> Empty attribute syntax Just the [51019]attribute name. The value is implicitly the empty string. </p> <p> In the following example, the [51020]disabled attribute is given with the empty attribute syntax: </p> <p> <input disabled> </p> <p> If an attribute using the empty attribute syntax is to be followed by another attribute, then there must be [51021]ASCII whitespace separating the two. </p> <p> Unquoted attribute value syntax The [51022]attribute name, followed by zero or more [51023]ASCII whitespace, followed by a single U+003D EQUALS SIGN character, followed by zero or more [51024]ASCII whitespace, followed by the [51025]attribute value, which, in addition to the requirements given above for attribute values, must not contain any literal [51026]ASCII whitespace, any U+0022 QUOTATION MARK characters ("), U+0027 APOSTROPHE characters ('), U+003D EQUALS SIGN characters (=), U+003C LESS-THAN SIGN characters (<), U+003E GREATER-THAN SIGN characters (>), or U+0060 GRAVE ACCENT characters (`), and must not be the empty string. </p> <p> In the following example, the [51027]value attribute is given with the unquoted attribute value syntax: </p> <p> <input value=yes> </p> <p> If an attribute using the unquoted attribute syntax is to be followed by another attribute or by the optional U+002F SOLIDUS character (/) allowed in step 6 of the [51028]start tag syntax above, then there must be [51029]ASCII whitespace separating the two. </p> <p> Single-quoted attribute value syntax The [51030]attribute name, followed by zero or more [51031]ASCII whitespace, followed by a single U+003D EQUALS SIGN character, followed by zero or more [51032]ASCII whitespace, followed by a single U+0027 APOSTROPHE character ('), followed by the [51033]attribute value, which, in addition to the requirements given above for attribute values, must not contain any literal U+0027 APOSTROPHE characters ('), and finally followed by a second single U+0027 APOSTROPHE character ('). </p> <p> In the following example, the [51034]type attribute is given with the single-quoted attribute value syntax: </p> <p> <input type=ʼcheckboxʼ> </p> <p> If an attribute using the single-quoted attribute syntax is to be followed by another attribute, then there must be [51035]ASCII whitespace separating the two. </p> <p> Double-quoted attribute value syntax The [51036]attribute name, followed by zero or more [51037]ASCII whitespace, followed by a single U+003D EQUALS SIGN character, followed by zero or more [51038]ASCII whitespace, followed by a single U+0022 QUOTATION MARK character ("), followed by the [51039]attribute value, which, in addition to the requirements given above for attribute values, must not contain any literal U+0022 QUOTATION MARK characters ("), and finally followed by a second single U+0022 QUOTATION MARK character ("). </p> <p> In the following example, the [51040]name attribute is given with the double-quoted attribute value syntax: </p> <p> <input name="be evil"> </p> <p> If an attribute using the double-quoted attribute syntax is to be followed by another attribute, then there must be [51041]ASCII whitespace separating the two. </p> <p> There must never be two or more attributes on the same start tag whose names are an [51042]ASCII case-insensitive match for each other. __________________________________________________________________ </p> <p> When a [51043]foreign element has one of the namespaced attributes given by the local name and namespace of the first and second cells of a row from the following table, it must be written using the name given by the third cell from the same row. </p> <p> Local name Namespace Attribute name actuate [51044]XLink namespace xlink:actuate arcrole [51045]XLink namespace xlink:arcrole href [51046]XLink namespace xlink:href role [51047]XLink namespace xlink:role show [51048]XLink namespace xlink:show title [51049]XLink namespace xlink:title type [51050]XLink namespace xlink:type lang [51051]XML namespace xml:lang space [51052]XML namespace xml:space xmlns [51053]XMLNS namespace xmlns xlink [51054]XMLNS namespace xmlns:xlink </p> <p> No other namespaced attribute can be expressed in [51055]the HTML syntax. </p> <p> Whether the attributes in the table above are conforming or not is defined by other specifications (e.g. SVG 2 and MathML); this section only describes the syntax rules if the attributes are serialized using the HTML syntax. </p> <p> 13.1.2.4 Optional tags </p> <p> Certain tags can be omitted. </p> <p> Omitting an element's [51056]start tag in the situations described below does not mean the element is not present; it is implied, but it is still there. For example, an HTML document always has a root [51057]html element, even if the string <html> doesn't appear anywhere in the markup. </p> <p> An [51058]html element's [51059]start tag may be omitted if the first thing inside the [51060]html element is not a [51061]comment. </p> <p> For example, in the following case it's ok to remove the "<html>" tag: <!DOCTYPE HTML> <html> <head> <title>Hello</title> </head> <body> <p>Welcome to this example.</p> </body> </html> </p> <p> Doing so would make the document look like this: <!DOCTYPE HTML> </p> <p> <head> <title>Hello</title> </head> <body> <p>Welcome to this example.</p> </body> </html> </p> <p> This has the exact same DOM. In particular, note that whitespace around the [51062]document element is ignored by the parser. The following example would also have the exact same DOM: <!DOCTYPE HTML><head> <title>Hello</title> </head> <body> <p>Welcome to this example.</p> </body> </html> </p> <p> However, in the following example, removing the start tag moves the comment to before the [51063]html element: <!DOCTYPE HTML> <html> <!-- where is this comment in the DOM? --> <head> <title>Hello</title> </head> <body> <p>Welcome to this example.</p> </body> </html> </p> <p> With the tag removed, the document actually turns into the same as this: <!DOCTYPE HTML> <!-- where is this comment in the DOM? --> <html> <head> <title>Hello</title> </head> <body> <p>Welcome to this example.</p> </body> </html> </p> <p> This is why the tag can only be removed if it is not followed by a comment: removing the tag when there is a comment there changes the document's resulting parse tree. Of course, if the position of the comment does not matter, then the tag can be omitted, as if the comment had been moved to before the start tag in the first place. </p> <p> An [51064]html element's [51065]end tag may be omitted if the [51066]html element is not immediately followed by a [51067]comment. </p> <p> A [51068]head element's [51069]start tag may be omitted if the element is empty, or if the first thing inside the [51070]head element is an element. </p> <p> A [51071]head element's [51072]end tag may be omitted if the [51073]head element is not immediately followed by [51074]ASCII whitespace or a [51075]comment. </p> <p> A [51076]body element's [51077]start tag may be omitted if the element is empty, or if the first thing inside the [51078]body element is not [51079]ASCII whitespace or a [51080]comment, except if the first thing inside the [51081]body element is a [51082]meta, [51083]noscript, [51084]link, [51085]script, [51086]style, or [51087]template element. </p> <p> A [51088]body element's [51089]end tag may be omitted if the [51090]body element is not immediately followed by a [51091]comment. </p> <p> Note that in the example above, the [51092]head element start and end tags, and the [51093]body element start tag, can't be omitted, because they are surrounded by whitespace: <!DOCTYPE HTML> <html> <head> <title>Hello</title> </head> <body> <p>Welcome to this example.</p> </body> </html> </p> <p> (The [51094]body and [51095]html element end tags could be omitted without trouble; any spaces after those get parsed into the [51096]body element anyway.) </p> <p> Usually, however, whitespace isn't an issue. If we first remove the whitespace we don't care about: <!DOCTYPE HTML><html><head><title>Hello</title></head><body><p>Welcome to this e xample.</p></body></html> </p> <p> Then we can omit a number of tags without affecting the DOM: <!DOCTYPE HTML><title>Hello</title><p>Welcome to this example.</p> </p> <p> At that point, we can also add some whitespace back: <!DOCTYPE HTML> <title>Hello</title> <p>Welcome to this example.</p> </p> <p> This would be equivalent to this document, with the omitted tags shown in their parser-implied positions; the only whitespace text node that results from this is the newline at the end of the [51097]head element: <!DOCTYPE HTML> <html><head><title>Hello</title> </head><body><p>Welcome to this example.</p></body></html> </p> <p> An [51098]li element's [51099]end tag may be omitted if the [51100]li element is immediately followed by another [51101]li element or if there is no more content in the parent element. </p> <p> A [51102]dt element's [51103]end tag may be omitted if the [51104]dt element is immediately followed by another [51105]dt element or a [51106]dd element. </p> <p> A [51107]dd element's [51108]end tag may be omitted if the [51109]dd element is immediately followed by another [51110]dd element or a [51111]dt element, or if there is no more content in the parent element. </p> <p> A [51112]p element's [51113]end tag may be omitted if the [51114]p element is immediately followed by an [51115]address, [51116]article, [51117]aside, [51118]blockquote, [51119]details, [51120]dialog, [51121]div, [51122]dl, [51123]fieldset, [51124]figcaption, [51125]figure, [51126]footer, [51127]form, [51128]h1, [51129]h2, [51130]h3, [51131]h4, [51132]h5, [51133]h6, [51134]header, [51135]hgroup, [51136]hr, [51137]main, [51138]menu, [51139]nav, [51140]ol, [51141]p, [51142]pre, [51143]search, [51144]section, [51145]table, or [51146]ul element, or if there is no more content in the parent element and the parent element is an [51147]HTML element that is not an [51148]a, [51149]audio, [51150]del, [51151]ins, [51152]map, [51153]noscript, or [51154]video element, or an [51155]autonomous custom element. </p> <p> We can thus simplify the earlier example further: <!DOCTYPE HTML><title>Hello</title><p>Welcome to this example. </p> <p> An [51156]rt element's [51157]end tag may be omitted if the [51158]rt element is immediately followed by an [51159]rt or [51160]rp element, or if there is no more content in the parent element. </p> <p> An [51161]rp element's [51162]end tag may be omitted if the [51163]rp element is immediately followed by an [51164]rt or [51165]rp element, or if there is no more content in the parent element. </p> <p> An [51166]optgroup element's [51167]end tag may be omitted if the [51168]optgroup element is immediately followed by another [51169]optgroup element, if it is immediately followed by an [51170]hr element, or if there is no more content in the parent element. </p> <p> An [51171]option element's [51172]end tag may be omitted if the [51173]option element is immediately followed by another [51174]option element, if it is immediately followed by an [51175]optgroup element, if it is immediately followed by an [51176]hr element, or if there is no more content in the parent element. </p> <p> A [51177]colgroup element's [51178]start tag may be omitted if the first thing inside the [51179]colgroup element is a [51180]col element, and if the element is not immediately preceded by another [51181]colgroup element whose [51182]end tag has been omitted. (It can't be omitted if the element is empty.) </p> <p> A [51183]colgroup element's [51184]end tag may be omitted if the [51185]colgroup element is not immediately followed by [51186]ASCII whitespace or a [51187]comment. </p> <p> A [51188]caption element's [51189]end tag may be omitted if the [51190]caption element is not immediately followed by [51191]ASCII whitespace or a [51192]comment. </p> <p> A [51193]thead element's [51194]end tag may be omitted if the [51195]thead element is immediately followed by a [51196]tbody or [51197]tfoot element. </p> <p> A [51198]tbody element's [51199]start tag may be omitted if the first thing inside the [51200]tbody element is a [51201]tr element, and if the element is not immediately preceded by a [51202]tbody, [51203]thead, or [51204]tfoot element whose [51205]end tag has been omitted. (It can't be omitted if the element is empty.) </p> <p> A [51206]tbody element's [51207]end tag may be omitted if the [51208]tbody element is immediately followed by a [51209]tbody or [51210]tfoot element, or if there is no more content in the parent element. </p> <p> A [51211]tfoot element's [51212]end tag may be omitted if there is no more content in the parent element. </p> <p> A [51213]tr element's [51214]end tag may be omitted if the [51215]tr element is immediately followed by another [51216]tr element, or if there is no more content in the parent element. </p> <p> A [51217]td element's [51218]end tag may be omitted if the [51219]td element is immediately followed by a [51220]td or [51221]th element, or if there is no more content in the parent element. </p> <p> A [51222]th element's [51223]end tag may be omitted if the [51224]th element is immediately followed by a [51225]td or [51226]th element, or if there is no more content in the parent element. </p> <p> The ability to omit all these table-related tags makes table markup much terser. </p> <p> Take this example: <table> <caption>37547 TEE Electric Powered Rail Car Train Functions (Abbreviated)</cap tion> <colgroup><col><col><col></colgroup> <thead> <tr> <th>Function</th> <th>Control Unit</th> <th>Central Station</th> </tr> </thead> <tbody> <tr> <td>Headlights</td> <td>✔</td> <td>✔</td> </tr> <tr> <td>Interior Lights</td> <td>✔</td> <td>✔</td> </tr> <tr> <td>Electric locomotive operating sounds</td> <td>✔</td> <td>✔</td> </tr> <tr> <td>Engineerʼs cab lighting</td> <td></td> <td>✔</td> </tr> <tr> <td>Station Announcements - Swiss</td> <td></td> <td>✔</td> </tr> </tbody> </table> </p> <p> The exact same table, modulo some whitespace differences, could be marked up as follows: <table> <caption>37547 TEE Electric Powered Rail Car Train Functions (Abbreviated) <colgroup><col><col><col> <thead> <tr> <th>Function <th>Control Unit <th>Central Station <tbody> <tr> <td>Headlights <td>✔ <td>✔ <tr> <td>Interior Lights <td>✔ <td>✔ <tr> <td>Electric locomotive operating sounds <td>✔ <td>✔ <tr> <td>Engineerʼs cab lighting <td> <td>✔ <tr> <td>Station Announcements - Swiss <td> <td>✔ </table> </p> <p> Since the cells take up much less room this way, this can be made even terser by having each row on one line: <table> <caption>37547 TEE Electric Powered Rail Car Train Functions (Abbreviated) <colgroup><col><col><col> <thead> <tr> <th>Function <th>Control Unit <th>Centra l Station <tbody> <tr> <td>Headlights <td>✔ <td>✔ <tr> <td>Interior Lights <td>✔ <td>✔ <tr> <td>Electric locomotive operating sounds <td>✔ <td>✔ <tr> <td>Engineerʼs cab lighting <td> <td>✔ <tr> <td>Station Announcements - Swiss <td> <td>✔ </table> </p> <p> The only differences between these tables, at the DOM level, is with the precise position of the (in any case semantically-neutral) whitespace. </p> <p> However, a [51227]start tag must never be omitted if it has any attributes. </p> <p> Returning to the earlier example with all the whitespace removed and then all the optional tags removed: <!DOCTYPE HTML><title>Hello</title><p>Welcome to this example. </p> <p> If the [51228]body element in this example had to have a [51229]class attribute and the [51230]html element had to have a [51231]lang attribute, the markup would have to become: <!DOCTYPE HTML><html lang="en"><title>Hello</title><body class="demo"><p>Welcome to this example. </p> <p> This section assumes that the document is conforming, in particular, that there are no [51232]content model violations. Omitting tags in the fashion described in this section in a document that does not conform to the [51233]content models described in this specification is likely to result in unexpected DOM differences (this is, in part, what the content models are designed to avoid). </p> <p> 13.1.2.5 Restrictions on content models </p> <p> For historical reasons, certain elements have extra restrictions beyond even the restrictions given by their content model. </p> <p> A [51234]table element must not contain [51235]tr elements, even though these elements are technically allowed inside [51236]table elements according to the content models described in this specification. (If a [51237]tr element is put inside a [51238]table in the markup, it will in fact imply a [51239]tbody start tag before it.) </p> <p> A single [51240]newline may be placed immediately after the [51241]start tag of [51242]pre and [51243]textarea elements. This does not affect the processing of the element. The otherwise optional [51244]newline must be included if the element's contents themselves start with a [51245]newline (because otherwise the leading newline in the contents would be treated like the optional newline, and ignored). </p> <p> The following two [51246]pre blocks are equivalent: <pre>Hello</pre> <pre> Hello</pre> </p> <p> 13.1.2.6 Restrictions on the contents of raw text and escapable raw text elements </p> <p> The text in [51247]raw text and [51248]escapable raw text elements must not contain any occurrences of the string "</" (U+003C LESS-THAN SIGN, U+002F SOLIDUS) followed by characters that case-insensitively match the tag name of the element followed by one of U+0009 CHARACTER TABULATION (tab), U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), U+0020 SPACE, U+003E GREATER-THAN SIGN (>), or U+002F SOLIDUS (/). </p> <p> 13.1.3 Text </p> <p> Text is allowed inside elements, attribute values, and comments. Extra constraints are placed on what is and what is not allowed in text based on where the text is to be put, as described in the other sections. </p> <p> 13.1.3.1 Newlines </p> <p> Newlines in HTML may be represented either as U+000D CARRIAGE RETURN (CR) characters, U+000A LINE FEED (LF) characters, or pairs of U+000D CARRIAGE RETURN (CR), U+000A LINE FEED (LF) characters in that order. </p> <p> Where [51249]character references are allowed, a character reference of a U+000A LINE FEED (LF) character (but not a U+000D CARRIAGE RETURN (CR) character) also represents a [51250]newline. </p> <p> 13.1.4 Character references </p> <p> In certain cases described in other sections, [51251]text may be mixed with character references. These can be used to escape characters that couldn't otherwise legally be included in [51252]text. </p> <p> Character references must start with a U+0026 AMPERSAND character (&). Following this, there are three possible kinds of character references: </p> <p> Named character references The ampersand must be followed by one of the names given in the [51253]named character references section, using the same case. The name must be one that is terminated by a U+003B SEMICOLON character (;). </p> <p> Decimal numeric character reference The ampersand must be followed by a U+0023 NUMBER SIGN character (#), followed by one or more [51254]ASCII digits, representing a base-ten integer that corresponds to a code point that is allowed according to the definition below. The digits must then be followed by a U+003B SEMICOLON character (;). </p> <p> Hexadecimal numeric character reference The ampersand must be followed by a U+0023 NUMBER SIGN character (#), which must be followed by either a U+0078 LATIN SMALL LETTER X character (x) or a U+0058 LATIN CAPITAL LETTER X character (X), which must then be followed by one or more [51255]ASCII hex digits, representing a hexadecimal integer that corresponds to a code point that is allowed according to the definition below. The digits must then be followed by a U+003B SEMICOLON character (;). </p> <p> The numeric character reference forms described above are allowed to reference any code point excluding U+000D CR, [51256]noncharacters, and [51257]controls other than [51258]ASCII whitespace. </p> <p> An ambiguous ampersand is a U+0026 AMPERSAND character (&) that is followed by one or more [51259]ASCII alphanumerics, followed by a U+003B SEMICOLON character (;), where these characters do not match any of the names given in the [51260]named character references section. </p> <p> 13.1.5 CDATA sections </p> <p> CDATA sections must consist of the following components, in this order: 1. The string "<![CDATA[". 2. Optionally, [51261]text, with the additional restriction that the text must not contain the string "]]>". 3. The string "]]>". </p> <p> CDATA sections can only be used in foreign content (MathML or SVG). In this example, a CDATA section is used to escape the contents of a [51262]MathML ms element: <p>You can add a string to a number, but this stringifies the number:</p> <math> <ms><![CDATA[x<y]]></ms> <mo>+</mo> <mn>3</mn> <mo>=</mo> <ms><![CDATA[x<y3]]></ms> </math> </p> <p> 13.1.6 Comments </p> <p> Comments must have the following format: 1. The string "<!--". 2. Optionally, [51263]text, with the additional restriction that the text must not start with the string ">", nor start with the string "->", nor contain the strings "<!--", "-->", or "--!>", nor end with the string "<!-". 3. The string "-->". </p> <p> The [51264]text is allowed to end with the string "<!", as in <!--My favorite operators are > and <!-->. </p> <p> 13.2 Parsing HTML documents </p> <p> This section only applies to user agents, data mining tools, and conformance checkers. </p> <p> The rules for parsing XML documents into DOM trees are covered by the next section, entitled "[51265]The XML syntax". </p> <p> User agents must use the parsing rules described in this section to generate the DOM trees from [51266]text/html resources. Together, these rules define what is referred to as the HTML parser. </p> <p> While the HTML syntax described in this specification bears a close resemblance to SGML and XML, it is a separate language with its own parsing rules. </p> <p> Some earlier versions of HTML (in particular from HTML2 to HTML4) were based on SGML and used SGML parsing rules. However, few (if any) web browsers ever implemented true SGML parsing for HTML documents; the only user agents to strictly handle HTML as an SGML application have historically been validators. The resulting confusion — with validators claiming documents to have one representation while widely deployed web browsers interoperably implemented a different representation — has wasted decades of productivity. This version of HTML thus returns to a non-SGML basis. </p> <p> Authors interested in using SGML tools in their authoring pipeline are encouraged to use XML tools and the XML serialization of HTML. </p> <p> For the purposes of conformance checkers, if a resource is determined to be in [51267]the HTML syntax, then it is an [51268]HTML document. </p> <p> As stated [51269]in the terminology section, references to [51270]element types that do not explicitly specify a namespace always refer to elements in the [51271]HTML namespace. For example, if the spec talks about "a [51272]menu element", then that is an element with the local name "menu", the namespace "http://www.w3.org/1999/xhtml", and the interface [51273]HTMLMenuElement. Where possible, references to such elements are hyperlinked to their definition. </p> <p> 13.2.1 Overview of the parsing model </p> <p> The input to the HTML parsing process consists of a stream of [51274]code points, which is passed through a [51275]tokenization stage followed by a [51276]tree construction stage. The output is a [51277]Document object. </p> <p> Implementations that [51278]do not support scripting do not have to actually create a DOM [51279]Document object, but the DOM tree in such cases is still used as the model for the rest of the specification. </p> <p> In the common case, the data handled by the tokenization stage comes from the network, but [51280]it can also come from script running in the user agent, e.g. using the [51281]document.write() API. </p> <p> There is only one set of states for the tokenizer stage and the tree construction stage, but the tree construction stage is reentrant, meaning that while the tree construction stage is handling one token, the tokenizer might be resumed, causing further tokens to be emitted and processed before the first token's processing is complete. </p> <p> In the following example, the tree construction stage will be called upon to handle a "p" start tag token while handling the "script" end tag token: ... <script> document.write(ʼ<p>ʼ); </script> ... </p> <p> To handle these cases, parsers have a script nesting level, which must be initially set to zero, and a parser pause flag, which must be initially set to false. </p> <p> 13.2.2 Parse errors </p> <p> This specification defines the parsing rules for HTML documents, whether they are syntactically correct or not. Certain points in the parsing algorithm are said to be [51282]parse errors. The error handling for parse errors is well-defined (that's the processing rules described throughout this specification), but user agents, while parsing an HTML document, may [51283]abort the parser at the first [51284]parse error that they encounter for which they do not wish to apply the rules described in this specification. </p> <p> Conformance checkers must report at least one parse error condition to the user if one or more parse error conditions exist in the document and must not report parse error conditions if none exist in the document. Conformance checkers may report more than one parse error condition if more than one parse error condition exists in the document. </p> <p> Parse errors are only errors with the syntax of HTML. In addition to checking for parse errors, conformance checkers will also verify that the document obeys all the other conformance requirements described in this specification. </p> <p> Some parse errors have dedicated codes outlined in the table below that should be used by conformance checkers in reports. </p> <p> Error descriptions in the table below are non-normative. </p> <p> Code Description abrupt-closing-of-empty-comment </p> <p> This error occurs if the parser encounters an empty [51285]comment that is abruptly closed by a U+003E (>) [51286]code point (i.e., <!--> or <!--->). The parser behaves as if the comment is closed correctly. abrupt-doctype-public-identifier </p> <p> This error occurs if the parser encounters a U+003E (>) [51287]code point in the [51288]DOCTYPE public identifier (e.g., <!DOCTYPE html PUBLIC "foo>). In such a case, if the DOCTYPE is correctly placed as a document preamble, the parser sets the [51289]Document to [51290]quirks mode. abrupt-doctype-system-identifier </p> <p> This error occurs if the parser encounters a U+003E (>) [51291]code point in the [51292]DOCTYPE system identifier (e.g., <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "foo>). In such a case, if the DOCTYPE is correctly placed as a document preamble, the parser sets the [51293]Document to [51294]quirks mode. absence-of-digits-in-numeric-character-reference </p> <p> This error occurs if the parser encounters a numeric [51295]character reference that doesn't contain any digits (e.g., &#qux;). In this case the parser doesn't resolve the character reference. cdata-in-html-content </p> <p> This error occurs if the parser encounters a [51296]CDATA section outside of foreign content (SVG or MathML). The parser treats such CDATA sections (including leading "[CDATA[" and trailing "]]" strings) as comments. character-reference-outside-unicode-range </p> <p> This error occurs if the parser encounters a numeric [51297]character reference that references a [51298]code point that is greater than the valid Unicode range. The parser resolves such a character reference to a U+FFFD REPLACEMENT CHARACTER. control-character-in-input-stream </p> <p> This error occurs if the [51299]input stream contains a [51300]control [51301]code point that is not [51302]ASCII whitespace or U+0000 NULL. Such code points are parsed as-is and usually, where parsing rules don't apply any additional restrictions, make their way into the DOM. control-character-reference </p> <p> This error occurs if the parser encounters a numeric [51303]character reference that references a [51304]control [51305]code point that is not [51306]ASCII whitespace or is a U+000D CARRIAGE RETURN. The parser resolves such character references as-is except C1 control references that are replaced according to the [51307]numeric character reference end state. duplicate-attribute </p> <p> This error occurs if the parser encounters an [51308]attribute in a tag that already has an attribute with the same name. The parser ignores all such duplicate occurrences of the attribute. end-tag-with-attributes </p> <p> This error occurs if the parser encounters an [51309]end tag with [51310]attributes. Attributes in end tags are ignored and do not make their way into the DOM. end-tag-with-trailing-solidus </p> <p> This error occurs if the parser encounters an [51311]end tag that has a U+002F (/) [51312]code point right before the closing U+003E (>) code point (e.g., </div/>). Such a tag is treated as a regular end tag. eof-before-tag-name </p> <p> This error occurs if the parser encounters the end of the [51313]input stream where a tag name is expected. In this case the parser treats the beginning of a [51314]start tag (i.e., <) or an [51315]end tag (i.e., </) as text content. eof-in-cdata </p> <p> This error occurs if the parser encounters the end of the [51316]input stream in a [51317]CDATA section. The parser treats such CDATA sections as if they are closed immediately before the end of the input stream. eof-in-comment </p> <p> This error occurs if the parser encounters the end of the [51318]input stream in a [51319]comment. The parser treats such comments as if they are closed immediately before the end of the input stream. eof-in-doctype </p> <p> This error occurs if the parser encounters the end of the input stream in a [51320]DOCTYPE. In such a case, if the DOCTYPE is correctly placed as a document preamble, the parser sets the [51321]Document to [51322]quirks mode. eof-in-script-html-comment-like-text </p> <p> This error occurs if the parser encounters the end of the [51323]input stream in text that resembles an [51324]HTML comment inside [51325]script element content (e.g., <script><!-- foo). </p> <p> Syntactic structures that resemble HTML comments in [51326]script elements are parsed as text content. They can be a part of a scripting language-specific syntactic structure or be treated as an HTML-like comment, if the scripting language supports them (e.g., parsing rules for HTML-like comments can be found in Annex B of the JavaScript specification). The common reason for this error is a violation of the [51327]restrictions for contents of script elements. [51328][JAVASCRIPT] eof-in-tag </p> <p> This error occurs if the parser encounters the end of the [51329]input stream in a [51330]start tag or an [51331]end tag (e.g., <div id=). Such a tag is ignored. incorrectly-closed-comment </p> <p> This error occurs if the parser encounters a [51332]comment that is closed by the "--!>" [51333]code point sequence. The parser treats such comments as if they are correctly closed by the "-->" code point sequence. incorrectly-opened-comment </p> <p> This error occurs if the parser encounters the "<!" [51334]code point sequence that is not immediately followed by two U+002D (-) code points and that is not the start of a [51335]DOCTYPE or a [51336]CDATA section. All content that follows the "<!" code point sequence up to a U+003E (>) code point (if present) or to the end of the [51337]input stream is treated as a comment. </p> <p> One possible cause of this error is using an XML markup declaration (e.g., <!ELEMENT br EMPTY>) in HTML. invalid-character-sequence-after-doctype-name </p> <p> This error occurs if the parser encounters any [51338]code point sequence other than "PUBLIC" and "SYSTEM" keywords after a [51339]DOCTYPE name. In such a case, the parser ignores any following public or system identifiers, and if the DOCTYPE is correctly placed as a document preamble, and if the [51340]parser cannot change the mode flag is false, sets the [51341]Document to [51342]quirks mode. invalid-first-character-of-tag-name </p> <p> This error occurs if the parser encounters a [51343]code point that is not an [51344]ASCII alpha where first code point of a [51345]start tag name or an [51346]end tag name is expected. If a start tag was expected such code point and a preceding U+003C (<) is treated as text content, and all content that follows is treated as markup. Whereas, if an end tag was expected, such code point and all content that follows up to a U+003E (>) code point (if present) or to the end of the [51347]input stream is treated as a comment. </p> <p> For example, consider the following markup: <42></42> </p> <p> This will be parsed into: * [51348]html + [51349]head + [51350]body o [51351]#text: <42> o [51352]#comment: 42 </p> <p> While the first code point of a tag name is limited to an [51353]ASCII alpha, a wide range of code points (including [51354]ASCII digits) is allowed in subsequent positions. missing-attribute-value </p> <p> This error occurs if the parser encounters a U+003E (>) [51355]code point where an [51356]attribute value is expected (e.g., <div id=>). The parser treats the attribute as having an empty value. missing-doctype-name </p> <p> This error occurs if the parser encounters a [51357]DOCTYPE that is missing a name (e.g., <!DOCTYPE>). In such a case, if the DOCTYPE is correctly placed as a document preamble, the parser sets the [51358]Document to [51359]quirks mode. missing-doctype-public-identifier </p> <p> This error occurs if the parser encounters a U+003E (>) [51360]code point where start of the [51361]DOCTYPE public identifier is expected (e.g., <!DOCTYPE html PUBLIC >). In such a case, if the DOCTYPE is correctly placed as a document preamble, the parser sets the [51362]Document to [51363]quirks mode. missing-doctype-system-identifier </p> <p> This error occurs if the parser encounters a U+003E (>) [51364]code point where start of the [51365]DOCTYPE system identifier is expected (e.g., <!DOCTYPE html SYSTEM >). In such a case, if the DOCTYPE is correctly placed as a document preamble, the parser sets the [51366]Document to [51367]quirks mode. missing-end-tag-name </p> <p> This error occurs if the parser encounters a U+003E (>) [51368]code point where an [51369]end tag name is expected, i.e., </>. The parser ignores the whole "</>" code point sequence. missing-quote-before-doctype-public-identifier </p> <p> This error occurs if the parser encounters the [51370]DOCTYPE public identifier that is not preceded by a quote (e.g., <!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01//EN">). In such a case, the parser ignores the public identifier, and if the DOCTYPE is correctly placed as a document preamble, sets the [51371]Document to [51372]quirks mode. missing-quote-before-doctype-system-identifier </p> <p> This error occurs if the parser encounters the [51373]DOCTYPE system identifier that is not preceded by a quote (e.g., <!DOCTYPE html SYSTEM http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">). In such a case, the parser ignores the system identifier, and if the DOCTYPE is correctly placed as a document preamble, sets the [51374]Document to [51375]quirks mode. missing-semicolon-after-character-reference </p> <p> This error occurs if the parser encounters a [51376]character reference that is not terminated by a U+003B (;) [51377]code point. Usually the parser behaves as if character reference is terminated by the U+003B (;) code point; however, there are some ambiguous cases in which the parser includes subsequent code points in the character reference. </p> <p> For example, &not;in will be parsed as "¬in" whereas &notin will be parsed as "∉". missing-whitespace-after-doctype-public-keyword </p> <p> This error occurs if the parser encounters a [51378]DOCTYPE whose "PUBLIC" keyword and public identifier are not separated by [51379]ASCII whitespace. In this case the parser behaves as if ASCII whitespace is present. missing-whitespace-after-doctype-system-keyword </p> <p> This error occurs if the parser encounters a [51380]DOCTYPE whose "SYSTEM" keyword and system identifier are not separated by [51381]ASCII whitespace. In this case the parser behaves as if ASCII whitespace is present. missing-whitespace-before-doctype-name </p> <p> This error occurs if the parser encounters a [51382]DOCTYPE whose "DOCTYPE" keyword and name are not separated by [51383]ASCII whitespace. In this case the parser behaves as if ASCII whitespace is present. missing-whitespace-between-attributes </p> <p> This error occurs if the parser encounters [51384]attributes that are not separated by [51385]ASCII whitespace (e.g., <div id="foo"class="bar">). In this case the parser behaves as if ASCII whitespace is present. missing-whitespace-between-doctype-public-and-system-identifiers </p> <p> This error occurs if the parser encounters a [51386]DOCTYPE whose public and system identifiers are not separated by [51387]ASCII whitespace. In this case the parser behaves as if ASCII whitespace is present. nested-comment </p> <p> This error occurs if the parser encounters a nested [51388]comment (e.g., <!-- <!-- nested --> -->). Such a comment will be closed by the first occurring "-->" [51389]code point sequence and everything that follows will be treated as markup. noncharacter-character-reference </p> <p> This error occurs if the parser encounters a numeric [51390]character reference that references a [51391]noncharacter. The parser resolves such character references as-is. noncharacter-in-input-stream </p> <p> This error occurs if the [51392]input stream contains a [51393]noncharacter. Such [51394]code points are parsed as-is and usually, where parsing rules don't apply any additional restrictions, make their way into the DOM. non-void-html-element-start-tag-with-trailing-solidus </p> <p> This error occurs if the parser encounters a [51395]start tag for an element that is not in the list of [51396]void elements or is not a part of foreign content (i.e., not an SVG or MathML element) that has a U+002F (/) [51397]code point right before the closing U+003E (>) code point. The parser behaves as if the U+002F (/) is not present. </p> <p> For example, consider the following markup: <div/><span></span><span></span> </p> <p> This will be parsed into: * [51398]html + [51399]head + [51400]body o [51401]div # [51402]span # [51403]span </p> <p> The trailing U+002F (/) in a start tag name can be used only in foreign content to specify self-closing tags. (Self-closing tags don't exist in HTML.) It is also allowed for void elements, but doesn't have any effect in this case. null-character-reference </p> <p> This error occurs if the parser encounters a numeric [51404]character reference that references a U+0000 NULL [51405]code point. The parser resolves such character references to a U+FFFD REPLACEMENT CHARACTER. surrogate-character-reference </p> <p> This error occurs if the parser encounters a numeric [51406]character reference that references a [51407]surrogate. The parser resolves such character references to a U+FFFD REPLACEMENT CHARACTER. surrogate-in-input-stream </p> <p> This error occurs if the [51408]input stream contains a [51409]surrogate. Such [51410]code points are parsed as-is and usually, where parsing rules don't apply any additional restrictions, make their way into the DOM. </p> <p> Surrogates can only find their way into the input stream via script APIs such as [51411]document.write(). unexpected-character-after-doctype-system-identifier </p> <p> This error occurs if the parser encounters any [51412]code points other than [51413]ASCII whitespace or closing U+003E (>) after the [51414]DOCTYPE system identifier. The parser ignores these code points. unexpected-character-in-attribute-name </p> <p> This error occurs if the parser encounters a U+0022 ("), U+0027 ('), or U+003C (<) [51415]code point in an [51416]attribute name. The parser includes such code points in the attribute name. </p> <p> Code points that trigger this error are usually a part of another syntactic construct and can be a sign of a typo around the attribute name. </p> <p> For example, consider the following markup: <div foo<div> </p> <p> Due to a forgotten U+003E (>) code point after foo the parser treats this markup as a single [51417]div element with a "foo<div" attribute. </p> <p> As another example of this error, consider the following markup: <div idʼbarʼ> </p> <p> Due to a forgotten U+003D (=) code point between an attribute name and value the parser treats this markup as a [51418]div element with the attribute "id'bar'" that has an empty value. unexpected-character-in-unquoted-attribute-value </p> <p> This error occurs if the parser encounters a U+0022 ("), U+0027 ('), U+003C (<), U+003D (=), or U+0060 (`) [51419]code point in an unquoted [51420]attribute value. The parser includes such code points in the attribute value. </p> <p> Code points that trigger this error are usually a part of another syntactic construct and can be a sign of a typo around the attribute value. </p> <p> U+0060 (`) is in the list of code points that trigger this error because certain legacy user agents treat it as a quote. </p> <p> For example, consider the following markup: <div foo=bʼarʼ> </p> <p> Due to a misplaced U+0027 (') code point the parser sets the value of the "foo" attribute to "b'ar'". unexpected-equals-sign-before-attribute-name </p> <p> This error occurs if the parser encounters a U+003D (=) [51421]code point before an attribute name. In this case the parser treats U+003D (=) as the first code point of the attribute name. </p> <p> The common reason for this error is a forgotten attribute name. </p> <p> For example, consider the following markup: <div foo="bar" ="baz"> </p> <p> Due to a forgotten attribute name the parser treats this markup as a [51422]div element with two attributes: a "foo" attribute with a "bar" value and a "="baz"" attribute with an empty value. unexpected-null-character </p> <p> This error occurs if the parser encounters a U+0000 NULL [51423]code point in the [51424]input stream in certain positions. In general, such code points are either ignored or, for security reasons, replaced with a U+FFFD REPLACEMENT CHARACTER. unexpected-question-mark-instead-of-tag-name </p> <p> This error occurs if the parser encounters a U+003F (?) [51425]code point where first code point of a [51426]start tag name is expected. The U+003F (?) and all content that follows up to a U+003E (>) code point (if present) or to the end of the [51427]input stream is treated as a comment. </p> <p> For example, consider the following markup: <?xml-stylesheet type="text/css" href="style.css"?> </p> <p> This will be parsed into: * [51428]#comment: ?xml-stylesheet type="text/css" href="style.css"? * [51429]html + [51430]head + [51431]body </p> <p> The common reason for this error is an XML processing instruction (e.g., <?xml-stylesheet type="text/css" href="style.css"?>) or an XML declaration (e.g., <?xml version="1.0" encoding="UTF-8"?>) being used in HTML. unexpected-solidus-in-tag </p> <p> This error occurs if the parser encounters a U+002F (/) [51432]code point that is not a part of a quoted [51433]attribute value and not immediately followed by a U+003E (>) code point in a tag (e.g., <div / id="foo">). In this case the parser behaves as if it encountered [51434]ASCII whitespace. unknown-named-character-reference </p> <p> This error occurs if the parser encounters an [51435]ambiguous ampersand. In this case the parser doesn't resolve the [51436]character reference. </p> <p> 13.2.3 The input byte stream </p> <p> The stream of code points that comprises the input to the tokenization stage will be initially seen by the user agent as a stream of bytes (typically coming over the network or from the local file system). The bytes encode the actual characters according to a particular character encoding, which the user agent uses to decode the bytes into characters. </p> <p> For XML documents, the algorithm user agents are required to use to determine the character encoding is given by XML. This section does not apply to XML documents. [51437][XML] </p> <p> Usually, the [51438]encoding sniffing algorithm defined below is used to determine the character encoding. </p> <p> Given a character encoding, the bytes in the [51439]input byte stream must be converted to characters for the tokenizer's [51440]input stream, by passing the [51441]input byte stream and character encoding to [51442]decode. </p> <p> A leading Byte Order Mark (BOM) causes the character encoding argument to be ignored and will itself be skipped. </p> <p> Bytes or sequences of bytes in the original byte stream that did not conform to the Encoding standard (e.g. invalid UTF-8 byte sequences in a UTF-8 input byte stream) are errors that conformance checkers are expected to report. [51443][ENCODING] </p> <p> The decoder algorithms describe how to handle invalid input; for security reasons, it is imperative that those rules be followed precisely. Differences in how invalid byte sequences are handled can result in, amongst other problems, script injection vulnerabilities ("XSS"). </p> <p> When the HTML parser is decoding an input byte stream, it uses a character encoding and a confidence. The confidence is either tentative, certain, or irrelevant. The encoding used, and whether the confidence in that encoding is tentative or certain, is [51444]used during the parsing to determine whether to [51445]change the encoding. If no encoding is necessary, e.g. because the parser is operating on a Unicode stream and doesn't have to use a character encoding at all, then the [51446]confidence is irrelevant. </p> <p> Some algorithms feed the parser by directly adding characters to the [51447]input stream rather than adding bytes to the [51448]input byte stream. </p> <p> 13.2.3.1 Parsing with a known character encoding </p> <p> When the HTML parser is to operate on an input byte stream that has a known definite encoding, then the character encoding is that encoding and the [51449]confidence is certain. </p> <p> 13.2.3.2 Determining the character encoding </p> <p> In some cases, it might be impractical to unambiguously determine the encoding before parsing the document. Because of this, this specification provides for a two-pass mechanism with an optional pre-scan. Implementations are allowed, as described below, to apply a simplified parsing algorithm to whatever bytes they have available before beginning to parse the document. Then, the real parser is started, using a tentative encoding derived from this pre-parse and other out-of-band metadata. If, while the document is being loaded, the user agent discovers a character encoding declaration that conflicts with this information, then the parser can get reinvoked to perform a parse of the document with the real encoding. </p> <p> User agents must use the following algorithm, called the encoding sniffing algorithm, to determine the character encoding to use when decoding a document in the first pass. This algorithm takes as input any out-of-band metadata available to the user agent (e.g. the [51450]Content-Type metadata of the document) and all the bytes available so far, and returns a character encoding and a [51451]confidence that is either tentative or certain. 1. If the result of [51452]BOM sniffing is an encoding, return that encoding with [51453]confidence certain. Although the [51454]decode algorithm will itself change the encoding to use based on the presence of a byte order mark, this algorithm sniffs the BOM as well in order to set the correct [51455]document's character encoding and [51456]confidence. 2. If the user has explicitly instructed the user agent to override the document's character encoding with a specific encoding, optionally return that encoding with the [51457]confidence certain. Typically, user agents remember such user requests across sessions, and in some cases apply them to documents in [51458]iframes as well. 3. The user agent may wait for more bytes of the resource to be available, either in this step or at any later step in this algorithm. For instance, a user agent might wait 500ms or 1024 bytes, whichever came first. In general preparsing the source to find the encoding improves performance, as it reduces the need to throw away the data structures used when parsing upon finding the encoding information. However, if the user agent delays too long to obtain data to determine the encoding, then the cost of the delay could outweigh any performance improvements from the preparse. The authoring conformance requirements for character encoding declarations limit them to only appearing [51459]in the first 1024 bytes. User agents are therefore encouraged to use the prescan algorithm below (as invoked by these steps) on the first 1024 bytes, but not to stall beyond that. 4. If the transport layer specifies a character encoding, and it is supported, return that encoding with the [51460]confidence certain. 5. Optionally, [51461]prescan the byte stream to determine its encoding, with the [51462]end condition being when the user agent decides that scanning further bytes would not be efficient. User agents are encouraged to only prescan the first 1024 bytes. User agents may decide that scanning any bytes is not efficient, in which case these substeps are entirely skipped. The aforementioned algorithm returns either a character encoding or failure. If it returns a character encoding, then return the same encoding, with [51463]confidence tentative. 6. If the [51464]HTML parser for which this algorithm is being run is associated with a [51465]Document d whose [51466]container document is non-null, then: 1. Let parentDocument be d's [51467]container document. 2. If parentDocument's [51468]origin is [51469]same origin with d's [51470]origin and parentDocument's [51471]character encoding is not [51472]UTF-16BE/LE, then return parentDocument's [51473]character encoding, with the [51474]confidence tentative. 7. Otherwise, if the user agent has information on the likely encoding for this page, e.g. based on the encoding of the page when it was last visited, then return that encoding, with the [51475]confidence tentative. 8. The user agent may attempt to autodetect the character encoding from applying frequency analysis or other algorithms to the data stream. Such algorithms may use information about the resource other than the resource's contents, including the address of the resource. If autodetection succeeds in determining a character encoding, and that encoding is a supported encoding, then return that encoding, with the [51476]confidence tentative. [51477][UNIVCHARDET] User agents are generally discouraged from attempting to autodetect encodings for resources obtained over the network, since doing so involves inherently non-interoperable heuristics. Attempting to detect encodings based on an HTML document's preamble is especially tricky since HTML markup typically uses only ASCII characters, and HTML documents tend to begin with a lot of markup rather than with text content. The UTF-8 encoding has a highly detectable bit pattern. Files from the local file system that contain bytes with values greater than 0x7F which match the UTF-8 pattern are very likely to be UTF-8, while documents with byte sequences that do not match it are very likely not. When a user agent can examine the whole file, rather than just the preamble, detecting for UTF-8 specifically can be especially effective. [51478][PPUTF8] [51479][UTF8DET] 9. Otherwise, return an [51480]implementation-defined or user-specified default character encoding, with the [51481]confidence tentative. In controlled environments or in environments where the encoding of documents can be prescribed (for example, for user agents intended for dedicated use in new networks), the comprehensive UTF-8 encoding is suggested. In other environments, the default encoding is typically dependent on the user's locale (an approximation of the languages, and thus often encodings, of the pages that the user is likely to frequent). The following table gives suggested defaults based on the user's locale, for compatibility with legacy content. Locales are identified by BCP 47 language tags. [51482][BCP47] [51483][ENCODING] </p> <p> Locale language Suggested default encoding ar Arabic [51484]windows-1256 az Azeri [51485]windows-1254 ba Bashkir [51486]windows-1251 be Belarusian [51487]windows-1251 bg Bulgarian [51488]windows-1251 cs Czech [51489]windows-1250 el Greek [51490]ISO-8859-7 et Estonian [51491]windows-1257 fa Persian [51492]windows-1256 he Hebrew [51493]windows-1255 hr Croatian [51494]windows-1250 hu Hungarian [51495]ISO-8859-2 ja Japanese [51496]Shift_JIS kk Kazakh [51497]windows-1251 ko Korean [51498]EUC-KR ku Kurdish [51499]windows-1254 ky Kyrgyz [51500]windows-1251 lt Lithuanian [51501]windows-1257 lv Latvian [51502]windows-1257 mk Macedonian [51503]windows-1251 pl Polish [51504]ISO-8859-2 ru Russian [51505]windows-1251 sah Yakut [51506]windows-1251 sk Slovak [51507]windows-1250 sl Slovenian [51508]ISO-8859-2 sr Serbian [51509]windows-1251 tg Tajik [51510]windows-1251 th Thai [51511]windows-874 tr Turkish [51512]windows-1254 tt Tatar [51513]windows-1251 uk Ukrainian [51514]windows-1251 vi Vietnamese [51515]windows-1258 zh-Hans, zh-CN, zh-SG Chinese, Simplified [51516]GBK zh-Hant, zh-HK, zh-MO, zh-TW Chinese, Traditional [51517]Big5 All other locales [51518]windows-1252 The contents of this table are derived from the intersection of Windows, Chrome, and Firefox defaults. </p> <p> The [51519]document's character encoding must immediately be set to the value returned from this algorithm, at the same time as the user agent uses the returned value to select the decoder to use for the input byte stream. __________________________________________________________________ </p> <p> When an algorithm requires a user agent to prescan a byte stream to determine its encoding, given some defined end condition, then it must run the following steps. If at any point during these steps (including during instances of the [51520]get an attribute algorithm invoked by this one) the user agent either runs out of bytes (meaning the position pointer created in the first step below goes beyond the end of the byte stream obtained so far) or reaches its end condition, then abort the [51521]prescan a byte stream to determine its encoding algorithm and return the result [51522]get an XML encoding applied to the same bytes that the [51523]prescan a byte stream to determine its encoding algorithm was applied to. Otherwise, these steps will return a character encoding. 1. Let position be a pointer to a byte in the input byte stream, initially pointing at the first byte. 2. Prescan for UTF-16 XML declarations: If position points to: </p> <p> A sequence of bytes starting with: 0x3C, 0x0, 0x3F, 0x0, 0x78, 0x0 (case-sensitive UTF-16 little-endian '<?x') Return [51524]UTF-16LE. </p> <p> A sequence of bytes starting with: 0x0, 0x3C, 0x0, 0x3F, 0x0, 0x78 (case-sensitive UTF-16 big-endian '<?x') Return [51525]UTF-16BE. </p> <p> For historical reasons, the prefix is two bytes longer than in [51526]Appendix F of XML and the encoding name is not checked. 3. Loop: If position points to: </p> <p> A sequence of bytes starting with: 0x3C 0x21 0x2D 0x2D (`<!--`) Advance the position pointer so that it points at the first 0x3E byte which is preceded by two 0x2D bytes (i.e. at the end of an ASCII '-->' sequence) and comes after the 0x3C byte that was found. (The two 0x2D bytes can be the same as those in the '<!--' sequence.) </p> <p> A sequence of bytes starting with: 0x3C, 0x4D or 0x6D, 0x45 or 0x65, 0x54 or 0x74, 0x41 or 0x61, and one of 0x09, 0x0A, 0x0C, 0x0D, 0x20, 0x2F (case-insensitive ASCII '<meta' followed by a space or slash) </p> <p> 1. Advance the position pointer so that it points at the next 0x09, 0x0A, 0x0C, 0x0D, 0x20, or 0x2F byte (the one in sequence of characters matched above). 2. Let attribute list be an empty list of strings. 3. Let got pragma be false. 4. Let need pragma be null. 5. Let charset be the null value (which, for the purposes of this algorithm, is distinct from an unrecognized encoding or the empty string). 6. Attributes: [51527]Get an attribute and its value. If no attribute was sniffed, then jump to the processing step below. 7. If the attribute's name is already in attribute list, then return to the step labeled attributes. 8. Add the attribute's name to attribute list. 9. Run the appropriate step from the following list, if one applies: </p> <p> If the attribute's name is "http-equiv" If the attribute's value is "content-type", then set got pragma to true. </p> <p> If the attribute's name is "content" Apply the [51528]algorithm for extracting a character encoding from a meta element, giving the attribute's value as the string to parse. If a character encoding is returned, and if charset is still set to null, let charset be the encoding returned, and set need pragma to true. </p> <p> If the attribute's name is "charset" Let charset be the result of [51529]getting an encoding from the attribute's value, and set need pragma to false. </p> <p> 10. Return to the step labeled attributes. 11. Processing: If need pragma is null, then jump to the step below labeled next byte. 12. If need pragma is true but got pragma is false, then jump to the step below labeled next byte. 13. If charset is failure, then jump to the step below labeled next byte. 14. If charset is [51530]UTF-16BE/LE, then set charset to [51531]UTF-8. 15. If charset is [51532]x-user-defined, then set charset to [51533]windows-1252. 16. Return charset. </p> <p> A sequence of bytes starting with a 0x3C byte (<), optionally a 0x2F byte (/), and finally a byte in the range 0x41-0x5A or 0x61-0x7A (A-Z or a-z) </p> <p> 1. Advance the position pointer so that it points at the next 0x09 (HT), 0x0A (LF), 0x0C (FF), 0x0D (CR), 0x20 (SP), or 0x3E (>) byte. 2. Repeatedly [51534]get an attribute until no further attributes can be found, then jump to the step below labeled next byte. </p> <p> A sequence of bytes starting with: 0x3C 0x21 (`<!`) A sequence of bytes starting with: 0x3C 0x2F (`</`) A sequence of bytes starting with: 0x3C 0x3F (`<?`) Advance the position pointer so that it points at the first 0x3E byte (>) that comes after the 0x3C byte that was found. </p> <p> Any other byte Do nothing with that byte. </p> <p> 4. Next byte: Move position so it points at the next byte in the input byte stream, and return to the step above labeled loop. </p> <p> When the [51535]prescan a byte stream to determine its encoding algorithm says to get an attribute, it means doing this: 1. If the byte at position is one of 0x09 (HT), 0x0A (LF), 0x0C (FF), 0x0D (CR), 0x20 (SP), or 0x2F (/) then advance position to the next byte and redo this step. 2. If the byte at position is 0x3E (>), then abort the [51536]get an attribute algorithm. There isn't one. 3. Otherwise, the byte at position is the start of the attribute name. Let attribute name and attribute value be the empty string. 4. Process the byte at position as follows: </p> <p> If it is 0x3D (=), and the attribute name is longer than the empty string Advance position to the next byte and jump to the step below labeled value. </p> <p> If it is 0x09 (HT), 0x0A (LF), 0x0C (FF), 0x0D (CR), or 0x20 (SP) Jump to the step below labeled spaces. </p> <p> If it is 0x2F (/) or 0x3E (>) Abort the [51537]get an attribute algorithm. The attribute's name is the value of attribute name, its value is the empty string. </p> <p> If it is in the range 0x41 (A) to 0x5A (Z) Append the code point b+0x20 to attribute name (where b is the value of the byte at position). (This converts the input to lowercase.) </p> <p> Anything else Append the code point with the same value as the byte at position to attribute name. (It doesn't actually matter how bytes outside the ASCII range are handled here, since only ASCII bytes can contribute to the detection of a character encoding.) </p> <p> 5. Advance position to the next byte and return to the previous step. 6. Spaces: If the byte at position is one of 0x09 (HT), 0x0A (LF), 0x0C (FF), 0x0D (CR), or 0x20 (SP) then advance position to the next byte, then, repeat this step. 7. If the byte at position is not 0x3D (=), abort the [51538]get an attribute algorithm. The attribute's name is the value of attribute name, its value is the empty string. 8. Advance position past the 0x3D (=) byte. 9. Value: If the byte at position is one of 0x09 (HT), 0x0A (LF), 0x0C (FF), 0x0D (CR), or 0x20 (SP) then advance position to the next byte, then, repeat this step. 10. Process the byte at position as follows: </p> <p> If it is 0x22 (") or 0x27 (') </p> <p> 1. Let b be the value of the byte at position. 2. Quote loop: Advance position to the next byte. 3. If the value of the byte at position is the value of b, then advance position to the next byte and abort the "get an attribute" algorithm. The attribute's name is the value of attribute name, and its value is the value of attribute value. 4. Otherwise, if the value of the byte at position is in the range 0x41 (A) to 0x5A (Z), then append a code point to attribute value whose value is 0x20 more than the value of the byte at position. 5. Otherwise, append a code point to attribute value whose value is the same as the value of the byte at position. 6. Return to the step above labeled quote loop. </p> <p> If it is 0x3E (>) Abort the [51539]get an attribute algorithm. The attribute's name is the value of attribute name, its value is the empty string. </p> <p> If it is in the range 0x41 (A) to 0x5A (Z) Append a code point b+0x20 to attribute value (where b is the value of the byte at position). Advance position to the next byte. </p> <p> Anything else Append a code point with the same value as the byte at position to attribute value. Advance position to the next byte. </p> <p> 11. Process the byte at position as follows: </p> <p> If it is 0x09 (HT), 0x0A (LF), 0x0C (FF), 0x0D (CR), 0x20 (SP), or 0x3E (>) Abort the [51540]get an attribute algorithm. The attribute's name is the value of attribute name and its value is the value of attribute value. </p> <p> If it is in the range 0x41 (A) to 0x5A (Z) Append a code point b+0x20 to attribute value (where b is the value of the byte at position). </p> <p> Anything else Append a code point with the same value as the byte at position to attribute value. </p> <p> 12. Advance position to the next byte and return to the previous step. </p> <p> When the [51541]prescan a byte stream to determine its encoding algorithm is aborted without returning an encoding, get an XML encoding means doing this. </p> <p> Looking for syntax resembling an XML declaration, even in [51542]text/html, is necessary for compatibility with existing content. 1. Let encodingPosition be a pointer to the start of the stream. 2. If encodingPosition does not point to the start of a byte sequence 0x3C, 0x3F, 0x78, 0x6D, 0x6C (`<?xml`), then return failure. 3. Let xmlDeclarationEnd be a pointer to the next byte in the input byte stream which is 0x3E (>). If there is no such byte, then return failure. 4. Set encodingPosition to the position of the first occurrence of the subsequence of bytes 0x65, 0x6E, 0x63, 0x6F, 0x64, 0x69, 0x6E, 0x67 (`encoding`) at or after the current encodingPosition. If there is no such sequence, then return failure. 5. Advance encodingPosition past the 0x67 (g) byte. 6. While the byte at encodingPosition is less than or equal to 0x20 (i.e., it is either an ASCII space or control character), advance encodingPosition to the next byte. 7. If the byte at encodingPosition is not 0x3D (=), then return failure. 8. Advance encodingPosition to the next byte. 9. While the byte at encodingPosition is less than or equal to 0x20 (i.e., it is either an ASCII space or control character), advance encodingPosition to the next byte. 10. Let quoteMark be the byte at encodingPosition. 11. If quoteMark is not either 0x22 (") or 0x27 ('), then return failure. 12. Advance encodingPosition to the next byte. 13. Let encodingEndPosition be the position of the next occurrence of quoteMark at or after encodingPosition. If quoteMark does not occur again, then return failure. 14. Let potentialEncoding be the sequence of the bytes between encodingPosition (inclusive) and encodingEndPosition (exclusive). 15. If potentialEncoding contains one or more bytes whose byte value is 0x20 or below, then return failure. 16. Let encoding be the result of [51543]getting an encoding given potentialEncoding [51544]isomorphic decoded. 17. If the encoding is [51545]UTF-16BE/LE, then change it to [51546]UTF-8. 18. Return encoding. </p> <p> For the sake of interoperability, user agents should not use a pre-scan algorithm that returns different results than the one described above. (But, if you do, please at least let us know, so that we can improve this algorithm and benefit everyone...) </p> <p> 13.2.3.3 Character encodings </p> <p> User agents must support the encodings defined in Encoding, including, but not limited to, [51547]UTF-8, [51548]ISO-8859-2, [51549]ISO-8859-7, [51550]ISO-8859-8, [51551]windows-874, [51552]windows-1250, [51553]windows-1251, [51554]windows-1252, [51555]windows-1254, [51556]windows-1255, [51557]windows-1256, [51558]windows-1257, [51559]windows-1258, [51560]GBK, [51561]Big5, [51562]ISO-2022-JP, [51563]Shift_JIS, [51564]EUC-KR, [51565]UTF-16BE, [51566]UTF-16LE, [51567]UTF-16BE/LE, and [51568]x-user-defined. User agents must not support other encodings. </p> <p> The above prohibits supporting, for example, CESU-8, UTF-7, BOCU-1, SCSU, EBCDIC, and UTF-32. This specification does not make any attempt to support prohibited encodings in its algorithms; support and use of prohibited encodings would thus lead to unexpected behavior. [51569][CESU8] [51570][UTF7] [51571][BOCU1] [51572][SCSU] </p> <p> 13.2.3.4 Changing the encoding while parsing </p> <p> When the parser requires the user agent to change the encoding, it must run the following steps. This might happen if the [51573]encoding sniffing algorithm described above failed to find a character encoding, or if it found a character encoding that was not the actual encoding of the file. 1. If the encoding that is already being used to interpret the input stream is [51574]UTF-16BE/LE, then set the [51575]confidence to certain and return. The new encoding is ignored; if it was anything but the same encoding, then it would be clearly incorrect. 2. If the new encoding is [51576]UTF-16BE/LE, then change it to [51577]UTF-8. 3. If the new encoding is [51578]x-user-defined, then change it to [51579]windows-1252. 4. If the new encoding is identical or equivalent to the encoding that is already being used to interpret the input stream, then set the [51580]confidence to certain and return. This happens when the encoding information found in the file matches what the [51581]encoding sniffing algorithm determined to be the encoding, and in the second pass through the parser if the first pass found that the encoding sniffing algorithm described in the earlier section failed to find the right encoding. 5. If all the bytes up to the last byte converted by the current decoder have the same Unicode interpretations in both the current encoding and the new encoding, and if the user agent supports changing the converter on the fly, then the user agent may change to the new converter for the encoding on the fly. Set the [51582]document's character encoding and the encoding used to convert the input stream to the new encoding, set the [51583]confidence to certain, and return. 6. Otherwise, restart the [51584]navigate algorithm, with [51585]historyHandling set to "[51586]replace" and other inputs kept the same, but this time skip the [51587]encoding sniffing algorithm and instead just set the encoding to the new encoding and the [51588]confidence to certain. Whenever possible, this should be done without actually contacting the network layer (the bytes should be re-parsed from memory), even if, e.g., the document is marked as not being cacheable. If this is not possible and contacting the network layer would involve repeating a request that uses a method other than `GET`, then instead set the [51589]confidence to certain and ignore the new encoding. The resource will be misinterpreted. User agents may notify the user of the situation, to aid in application development. </p> <p> This algorithm is only invoked when a new encoding is found declared on a [51590]meta element. </p> <p> 13.2.3.5 Preprocessing the input stream </p> <p> The input stream consists of the characters pushed into it as the [51591]input byte stream is decoded or from the various APIs that directly manipulate the input stream. </p> <p> Any occurrences of [51592]surrogates are [51593]surrogate-in-input-stream [51594]parse errors. Any occurrences of [51595]noncharacters are [51596]noncharacter-in-input-stream [51597]parse errors and any occurrences of [51598]controls other than [51599]ASCII whitespace and U+0000 NULL characters are [51600]control-character-in-input-stream [51601]parse errors. </p> <p> The handling of U+0000 NULL characters varies based on where the characters are found and happens at the later stages of the parsing. They are either ignored or, for security reasons, replaced with a U+FFFD REPLACEMENT CHARACTER. This handling is, by necessity, spread across both the tokenization stage and the tree construction stage. </p> <p> Before the [51602]tokenization stage, the input stream must be preprocessed by [51603]normalizing newlines. Thus, newlines in HTML DOMs are represented by U+000A LF characters, and there are never any U+000D CR characters in the input to the [51604]tokenization stage. </p> <p> The next input character is the first character in the [51605]input stream that has not yet been consumed or explicitly ignored by the requirements in this section. Initially, the [51606]next input character is the first character in the input. The current input character is the last character to have been consumed. </p> <p> The insertion point is the position (just before a character or just before the end of the input stream) where content inserted using [51607]document.write() is actually inserted. The insertion point is relative to the position of the character immediately after it, it is not an absolute offset into the input stream. Initially, the insertion point is undefined. </p> <p> The "EOF" character in the tables below is a conceptual character representing the end of the [51608]input stream. If the parser is a [51609]script-created parser, then the end of the [51610]input stream is reached when an explicit "EOF" character (inserted by the [51611]document.close() method) is consumed. Otherwise, the "EOF" character is not a real character in the stream, but rather the lack of any further characters. </p> <p> 13.2.4 Parse state </p> <p> 13.2.4.1 The insertion mode </p> <p> The insertion mode is a state variable that controls the primary operation of the tree construction stage. </p> <p> Initially, the [51612]insertion mode is "[51613]initial". It can change to "[51614]before html", "[51615]before head", "[51616]in head", "[51617]in head noscript", "[51618]after head", "[51619]in body", "[51620]text", "[51621]in table", "[51622]in table text", "[51623]in caption", "[51624]in column group", "[51625]in table body", "[51626]in row", "[51627]in cell", "[51628]in select", "[51629]in select in table", "[51630]in template", "[51631]after body", "[51632]in frameset", "[51633]after frameset", "[51634]after after body", and "[51635]after after frameset" during the course of the parsing, as described in the [51636]tree construction stage. The insertion mode affects how tokens are processed and whether CDATA sections are supported. </p> <p> Several of these modes, namely "[51637]in head", "[51638]in body", "[51639]in table", and "[51640]in select", are special, in that the other modes defer to them at various times. When the algorithm below says that the user agent is to do something "using the rules for the m insertion mode", where m is one of these modes, the user agent must use the rules described under the m [51641]insertion mode's section, but must leave the [51642]insertion mode unchanged unless the rules in m themselves switch the [51643]insertion mode to a new value. </p> <p> When the insertion mode is switched to "[51644]text" or "[51645]in table text", the original insertion mode is also set. This is the insertion mode to which the tree construction stage will return. </p> <p> Similarly, to parse nested [51646]template elements, a stack of template insertion modes is used. It is initially empty. The current template insertion mode is the insertion mode that was most recently added to the [51647]stack of template insertion modes. The algorithms in the sections below will push insertion modes onto this stack, meaning that the specified insertion mode is to be added to the stack, and pop insertion modes from the stack, which means that the most recently added insertion mode must be removed from the stack. __________________________________________________________________ </p> <p> When the steps below require the UA to reset the insertion mode appropriately, it means the UA must follow these steps: 1. Let last be false. 2. Let node be the last node in the [51648]stack of open elements. 3. Loop: If node is the first node in the stack of open elements, then set last to true, and, if the parser was created as part of the [51649]HTML fragment parsing algorithm ([51650]fragment case), set node to the [51651]context element passed to that algorithm. 4. If node is a [51652]select element, run these substeps: 1. If last is true, jump to the step below labeled done. 2. Let ancestor be node. 3. Loop: If ancestor is the first node in the [51653]stack of open elements, jump to the step below labeled done. 4. Let ancestor be the node before ancestor in the [51654]stack of open elements. 5. If ancestor is a [51655]template node, jump to the step below labeled done. 6. If ancestor is a [51656]table node, switch the [51657]insertion mode to "[51658]in select in table" and return. 7. Jump back to the step labeled loop. 8. Done: Switch the [51659]insertion mode to "[51660]in select" and return. 5. If node is a [51661]td or [51662]th element and last is false, then switch the [51663]insertion mode to "[51664]in cell" and return. 6. If node is a [51665]tr element, then switch the [51666]insertion mode to "[51667]in row" and return. 7. If node is a [51668]tbody, [51669]thead, or [51670]tfoot element, then switch the [51671]insertion mode to "[51672]in table body" and return. 8. If node is a [51673]caption element, then switch the [51674]insertion mode to "[51675]in caption" and return. 9. If node is a [51676]colgroup element, then switch the [51677]insertion mode to "[51678]in column group" and return. 10. If node is a [51679]table element, then switch the [51680]insertion mode to "[51681]in table" and return. 11. If node is a [51682]template element, then switch the [51683]insertion mode to the [51684]current template insertion mode and return. 12. If node is a [51685]head element and last is false, then switch the [51686]insertion mode to "[51687]in head" and return. 13. If node is a [51688]body element, then switch the [51689]insertion mode to "[51690]in body" and return. 14. If node is a [51691]frameset element, then switch the [51692]insertion mode to "[51693]in frameset" and return. ([51694]fragment case) 15. If node is an [51695]html element, run these substeps: 1. If the [51696]head element pointer is null, switch the [51697]insertion mode to "[51698]before head" and return. ([51699]fragment case) 2. Otherwise, the [51700]head element pointer is not null, switch the [51701]insertion mode to "[51702]after head" and return. 16. If last is true, then switch the [51703]insertion mode to "[51704]in body" and return. ([51705]fragment case) 17. Let node now be the node before node in the [51706]stack of open elements. 18. Return to the step labeled loop. </p> <p> 13.2.4.2 The stack of open elements </p> <p> Initially, the stack of open elements is empty. The stack grows downwards; the topmost node on the stack is the first one added to the stack, and the bottommost node of the stack is the most recently added node in the stack (notwithstanding when the stack is manipulated in a random access fashion as part of [51707]the handling for misnested tags). </p> <p> The "[51708]before html" [51709]insertion mode creates the [51710]html [51711]document element, which is then added to the stack. </p> <p> In the [51712]fragment case, the [51713]stack of open elements is initialized to contain an [51714]html element that is created as part of [51715]that algorithm. (The [51716]fragment case skips the "[51717]before html" [51718]insertion mode.) </p> <p> The [51719]html node, however it is created, is the topmost node of the stack. It only gets popped off the stack when the parser [51720]finishes. </p> <p> The current node is the bottommost node in this [51721]stack of open elements. </p> <p> The adjusted current node is the [51722]context element if the parser was created as part of the [51723]HTML fragment parsing algorithm and the [51724]stack of open elements has only one element in it ([51725]fragment case); otherwise, the [51726]adjusted current node is the [51727]current node. </p> <p> When the [51728]current node is removed from the [51729]stack of open elements, [51730]process internal resource links given the [51731]current node's [51732]node document. </p> <p> Elements in the [51733]stack of open elements fall into the following categories: </p> <p> Special The following elements have varying levels of special parsing rules: HTML's [51734]address, [51735]applet, [51736]area, [51737]article, [51738]aside, [51739]base, [51740]basefont, [51741]bgsound, [51742]blockquote, [51743]body, [51744]br, [51745]button, [51746]caption, [51747]center, [51748]col, [51749]colgroup, [51750]dd, [51751]details, [51752]dir, [51753]div, [51754]dl, [51755]dt, [51756]embed, [51757]fieldset, [51758]figcaption, [51759]figure, [51760]footer, [51761]form, [51762]frame, [51763]frameset, [51764]h1, [51765]h2, [51766]h3, [51767]h4, [51768]h5, [51769]h6, [51770]head, [51771]header, [51772]hgroup, [51773]hr, [51774]html, [51775]iframe, [51776]img, [51777]input, [51778]keygen, [51779]li, [51780]link, [51781]listing, [51782]main, [51783]marquee, [51784]menu, [51785]meta, [51786]nav, [51787]noembed, [51788]noframes, [51789]noscript, [51790]object, [51791]ol, [51792]p, [51793]param, [51794]plaintext, [51795]pre, [51796]script, [51797]search, [51798]section, [51799]select, [51800]source, [51801]style, [51802]summary, [51803]table, [51804]tbody, [51805]td, [51806]template, [51807]textarea, [51808]tfoot, [51809]th, [51810]thead, [51811]title, [51812]tr, [51813]track, [51814]ul, [51815]wbr, [51816]xmp; [51817]MathML mi, [51818]MathML mo, [51819]MathML mn, [51820]MathML ms, [51821]MathML mtext, and [51822]MathML annotation-xml; and [51823]SVG foreignObject, [51824]SVG desc, and [51825]SVG title. </p> <p> An image start tag token is handled by the tree builder, but it is not in this list because it is not an element; it gets turned into an [51826]img element. </p> <p> Formatting The following HTML elements are those that end up in the [51827]list of active formatting elements: [51828]a, [51829]b, [51830]big, [51831]code, [51832]em, [51833]font, [51834]i, [51835]nobr, [51836]s, [51837]small, [51838]strike, [51839]strong, [51840]tt, and [51841]u. </p> <p> Ordinary All other elements found while parsing an HTML document. </p> <p> Typically, the [51842]special elements have the start and end tag tokens handled specifically, while [51843]ordinary elements' tokens fall into "any other start tag" and "any other end tag" clauses, and some parts of the tree builder check if a particular element in the [51844]stack of open elements is in the [51845]special category. However, some elements (e.g., the [51846]option element) have their start or end tag tokens handled specifically, but are still not in the [51847]special category, so that they get the [51848]ordinary handling elsewhere. </p> <p> The [51849]stack of open elements is said to have an element target node in a specific scope consisting of a list of element types list when the following algorithm terminates in a match state: 1. Initialize node to be the [51850]current node (the bottommost node of the stack). 2. If node is target node, terminate in a match state. 3. Otherwise, if node is one of the element types in list, terminate in a failure state. 4. Otherwise, set node to the previous entry in the [51851]stack of open elements and return to step 2. (This will never fail, since the loop will always terminate in the previous step if the top of the stack — an [51852]html element — is reached.) </p> <p> The [51853]stack of open elements is said to have a particular element in scope when it [51854]has that element in the specific scope consisting of the following element types: * [51855]applet * [51856]caption * [51857]html * [51858]table * [51859]td * [51860]th * [51861]marquee * [51862]object * [51863]template * [51864]MathML mi * [51865]MathML mo * [51866]MathML mn * [51867]MathML ms * [51868]MathML mtext * [51869]MathML annotation-xml * [51870]SVG foreignObject * [51871]SVG desc * [51872]SVG title </p> <p> The [51873]stack of open elements is said to have a particular element in list item scope when it [51874]has that element in the specific scope consisting of the following element types: * All the element types listed above for the [51875]has an element in scope algorithm. * [51876]ol in the [51877]HTML namespace * [51878]ul in the [51879]HTML namespace </p> <p> The [51880]stack of open elements is said to have a particular element in button scope when it [51881]has that element in the specific scope consisting of the following element types: * All the element types listed above for the [51882]has an element in scope algorithm. * [51883]button in the [51884]HTML namespace </p> <p> The [51885]stack of open elements is said to have a particular element in table scope when it [51886]has that element in the specific scope consisting of the following element types: * [51887]html in the [51888]HTML namespace * [51889]table in the [51890]HTML namespace * [51891]template in the [51892]HTML namespace </p> <p> The [51893]stack of open elements is said to have a particular element in select scope when it [51894]has that element in the specific scope consisting of all element types except the following: * [51895]optgroup in the [51896]HTML namespace * [51897]option in the [51898]HTML namespace </p> <p> Nothing happens if at any time any of the elements in the [51899]stack of open elements are moved to a new location in, or removed from, the [51900]Document tree. In particular, the stack is not changed in this situation. This can cause, amongst other strange effects, content to be appended to nodes that are no longer in the DOM. </p> <p> In some cases (namely, when [51901]closing misnested formatting elements), the stack is manipulated in a random-access fashion. </p> <p> 13.2.4.3 The list of active formatting elements </p> <p> Initially, the list of active formatting elements is empty. It is used to handle mis-nested [51902]formatting element tags. </p> <p> The list contains elements in the [51903]formatting category, and [51904]markers. The markers are inserted when entering [51905]applet, [51906]object, [51907]marquee, [51908]template, [51909]td, [51910]th, and [51911]caption elements, and are used to prevent formatting from "leaking" into [51912]applet, [51913]object, [51914]marquee, [51915]template, [51916]td, [51917]th, and [51918]caption elements. </p> <p> In addition, each element in the [51919]list of active formatting elements is associated with the token for which it was created, so that further elements can be created for that token if necessary. </p> <p> When the steps below require the UA to push onto the list of active formatting elements an element element, the UA must perform the following steps: 1. If there are already three elements in the [51920]list of active formatting elements after the last [51921]marker, if any, or anywhere in the list if there are no [51922]markers, that have the same tag name, namespace, and attributes as element, then remove the earliest such element from the [51923]list of active formatting elements. For these purposes, the attributes must be compared as they were when the elements were created by the parser; two elements have the same attributes if all their parsed attributes can be paired such that the two attributes in each pair have identical names, namespaces, and values (the order of the attributes does not matter). This is the Noah's Ark clause. But with three per family instead of two. 2. Add element to the [51924]list of active formatting elements. </p> <p> When the steps below require the UA to reconstruct the active formatting elements, the UA must perform the following steps: 1. If there are no entries in the [51925]list of active formatting elements, then there is nothing to reconstruct; stop this algorithm. 2. If the last (most recently added) entry in the [51926]list of active formatting elements is a [51927]marker, or if it is an element that is in the [51928]stack of open elements, then there is nothing to reconstruct; stop this algorithm. 3. Let entry be the last (most recently added) element in the [51929]list of active formatting elements. 4. Rewind: If there are no entries before entry in the [51930]list of active formatting elements, then jump to the step labeled create. 5. Let entry be the entry one earlier than entry in the [51931]list of active formatting elements. 6. If entry is neither a [51932]marker nor an element that is also in the [51933]stack of open elements, go to the step labeled rewind. 7. Advance: Let entry be the element one later than entry in the [51934]list of active formatting elements. 8. Create: [51935]Insert an HTML element for the token for which the element entry was created, to obtain new element. 9. Replace the entry for entry in the list with an entry for new element. 10. If the entry for new element in the [51936]list of active formatting elements is not the last entry in the list, return to the step labeled advance. </p> <p> This has the effect of reopening all the formatting elements that were opened in the current body, cell, or caption (whichever is youngest) that haven't been explicitly closed. </p> <p> The way this specification is written, the [51937]list of active formatting elements always consists of elements in chronological order with the least recently added element first and the most recently added element last (except for while steps 7 to 10 of the above algorithm are being executed, of course). </p> <p> When the steps below require the UA to clear the list of active formatting elements up to the last marker, the UA must perform the following steps: 1. Let entry be the last (most recently added) entry in the [51938]list of active formatting elements. 2. Remove entry from the [51939]list of active formatting elements. 3. If entry was a [51940]marker, then stop the algorithm at this point. The list has been cleared up to the last [51941]marker. 4. Go to step 1. </p> <p> 13.2.4.4 The element pointers </p> <p> Initially, the head element pointer and the form element pointer are both null. </p> <p> Once a [51942]head element has been parsed (whether implicitly or explicitly) the [51943]head element pointer gets set to point to this node. </p> <p> The [51944]form element pointer points to the last [51945]form element that was opened and whose end tag has not yet been seen. It is used to make form controls associate with forms in the face of dramatically bad markup, for historical reasons. It is ignored inside [51946]template elements. </p> <p> 13.2.4.5 Other parsing state flags </p> <p> The scripting flag is set to "enabled" if [51947]scripting was enabled for the [51948]Document with which the parser is associated when the parser was created, and "disabled" otherwise. </p> <p> The [51949]scripting flag can be enabled even when the parser was created as part of the [51950]HTML fragment parsing algorithm, even though [51951]script elements don't execute in that case. </p> <p> The frameset-ok flag is set to "ok" when the parser is created. It is set to "not ok" after certain tokens are seen. </p> <p> 13.2.5 Tokenization </p> <p> Implementations must act as if they used the following state machine to tokenize HTML. The state machine must start in the [51952]data state. Most states consume a single character, which may have various side-effects, and either switches the state machine to a new state to [51953]reconsume the [51954]current input character, or switches it to a new state to consume the [51955]next character, or stays in the same state to consume the next character. Some states have more complicated behavior and can consume several characters before switching to another state. In some cases, the tokenizer state is also changed by the tree construction stage. </p> <p> When a state says to reconsume a matched character in a specified state, that means to switch to that state, but when it attempts to consume the [51956]next input character, provide it with the [51957]current input character instead. </p> <p> The exact behavior of certain states depends on the [51958]insertion mode and the [51959]stack of open elements. Certain states also use a temporary buffer to track progress, and the [51960]character reference state uses a return state to return to the state it was invoked from. </p> <p> The output of the tokenization step is a series of zero or more of the following tokens: DOCTYPE, start tag, end tag, comment, character, end-of-file. DOCTYPE tokens have a name, a public identifier, a system identifier, and a force-quirks flag. When a DOCTYPE token is created, its name, public identifier, and system identifier must be marked as missing (which is a distinct state from the empty string), and the [51961]force-quirks flag must be set to off (its other state is on). Start and end tag tokens have a tag name, a self-closing flag, and a list of attributes, each of which has a name and a value. When a start or end tag token is created, its [51962]self-closing flag must be unset (its other state is that it be set), and its attributes list must be empty. Comment and character tokens have data. </p> <p> When a token is emitted, it must immediately be handled by the [51963]tree construction stage. The tree construction stage can affect the state of the tokenization stage, and can insert additional characters into the stream. (For example, the [51964]script element can result in scripts executing and using the [51965]dynamic markup insertion APIs to insert characters into the stream being tokenized.) </p> <p> Creating a token and emitting it are distinct actions. It is possible for a token to be created but implicitly abandoned (never emitted), e.g. if the file ends unexpectedly while processing the characters that are being parsed into a start tag token. </p> <p> When a start tag token is emitted with its [51966]self-closing flag set, if the flag is not acknowledged when it is processed by the tree construction stage, that is a [51967]non-void-html-element-start-tag-with-trailing-solidus [51968]parse error. </p> <p> When an end tag token is emitted with attributes, that is an [51969]end-tag-with-attributes [51970]parse error. </p> <p> When an end tag token is emitted with its [51971]self-closing flag set, that is an [51972]end-tag-with-trailing-solidus [51973]parse error. </p> <p> An appropriate end tag token is an end tag token whose tag name matches the tag name of the last start tag to have been emitted from this tokenizer, if any. If no start tag has been emitted from this tokenizer, then no end tag token is appropriate. </p> <p> A [51974]character reference is said to be consumed as part of an attribute if the [51975]return state is either [51976]attribute value (double-quoted) state, [51977]attribute value (single-quoted) state, or [51978]attribute value (unquoted) state. </p> <p> When a state says to flush code points consumed as a character reference, it means that for each [51979]code point in the [51980]temporary buffer (in the order they were added to the buffer) user agent must append the code point from the buffer to the current attribute's value if the character reference was [51981]consumed as part of an attribute, or emit the code point as a character token otherwise. </p> <p> Before each step of the tokenizer, the user agent must first check the [51982]parser pause flag. If it is true, then the tokenizer must abort the processing of any nested invocations of the tokenizer, yielding control back to the caller. </p> <p> The tokenizer state machine consists of the states defined in the following subsections. </p> <p> 13.2.5.1 Data state </p> <p> Consume the [51983]next input character: </p> <p> U+0026 AMPERSAND (&) Set the [51984]return state to the [51985]data state. Switch to the [51986]character reference state. </p> <p> U+003C LESS-THAN SIGN (<) Switch to the [51987]tag open state. </p> <p> U+0000 NULL This is an [51988]unexpected-null-character [51989]parse error. Emit the [51990]current input character as a character token. </p> <p> EOF Emit an end-of-file token. </p> <p> Anything else Emit the [51991]current input character as a character token. </p> <p> 13.2.5.2 RCDATA state </p> <p> Consume the [51992]next input character: </p> <p> U+0026 AMPERSAND (&) Set the [51993]return state to the [51994]RCDATA state. Switch to the [51995]character reference state. </p> <p> U+003C LESS-THAN SIGN (<) Switch to the [51996]RCDATA less-than sign state. </p> <p> U+0000 NULL This is an [51997]unexpected-null-character [51998]parse error. Emit a U+FFFD REPLACEMENT CHARACTER character token. </p> <p> EOF Emit an end-of-file token. </p> <p> Anything else Emit the [51999]current input character as a character token. </p> <p> 13.2.5.3 RAWTEXT state </p> <p> Consume the [52000]next input character: </p> <p> U+003C LESS-THAN SIGN (<) Switch to the [52001]RAWTEXT less-than sign state. </p> <p> U+0000 NULL This is an [52002]unexpected-null-character [52003]parse error. Emit a U+FFFD REPLACEMENT CHARACTER character token. </p> <p> EOF Emit an end-of-file token. </p> <p> Anything else Emit the [52004]current input character as a character token. </p> <p> 13.2.5.4 Script data state </p> <p> Consume the [52005]next input character: </p> <p> U+003C LESS-THAN SIGN (<) Switch to the [52006]script data less-than sign state. </p> <p> U+0000 NULL This is an [52007]unexpected-null-character [52008]parse error. Emit a U+FFFD REPLACEMENT CHARACTER character token. </p> <p> EOF Emit an end-of-file token. </p> <p> Anything else Emit the [52009]current input character as a character token. </p> <p> 13.2.5.5 PLAINTEXT state </p> <p> Consume the [52010]next input character: </p> <p> U+0000 NULL This is an [52011]unexpected-null-character [52012]parse error. Emit a U+FFFD REPLACEMENT CHARACTER character token. </p> <p> EOF Emit an end-of-file token. </p> <p> Anything else Emit the [52013]current input character as a character token. </p> <p> 13.2.5.6 Tag open state </p> <p> Consume the [52014]next input character: </p> <p> U+0021 EXCLAMATION MARK (!) Switch to the [52015]markup declaration open state. </p> <p> U+002F SOLIDUS (/) Switch to the [52016]end tag open state. </p> <p> [52017]ASCII alpha Create a new start tag token, set its tag name to the empty string. [52018]Reconsume in the [52019]tag name state. </p> <p> U+003F QUESTION MARK (?) This is an [52020]unexpected-question-mark-instead-of-tag-name [52021]parse error. Create a comment token whose data is the empty string. [52022]Reconsume in the [52023]bogus comment state. </p> <p> EOF This is an [52024]eof-before-tag-name [52025]parse error. Emit a U+003C LESS-THAN SIGN character token and an end-of-file token. </p> <p> Anything else This is an [52026]invalid-first-character-of-tag-name [52027]parse error. Emit a U+003C LESS-THAN SIGN character token. [52028]Reconsume in the [52029]data state. </p> <p> 13.2.5.7 End tag open state </p> <p> Consume the [52030]next input character: </p> <p> [52031]ASCII alpha Create a new end tag token, set its tag name to the empty string. [52032]Reconsume in the [52033]tag name state. </p> <p> U+003E GREATER-THAN SIGN (>) This is a [52034]missing-end-tag-name [52035]parse error. Switch to the [52036]data state. </p> <p> EOF This is an [52037]eof-before-tag-name [52038]parse error. Emit a U+003C LESS-THAN SIGN character token, a U+002F SOLIDUS character token and an end-of-file token. </p> <p> Anything else This is an [52039]invalid-first-character-of-tag-name [52040]parse error. Create a comment token whose data is the empty string. [52041]Reconsume in the [52042]bogus comment state. </p> <p> 13.2.5.8 Tag name state </p> <p> Consume the [52043]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE Switch to the [52044]before attribute name state. </p> <p> U+002F SOLIDUS (/) Switch to the [52045]self-closing start tag state. </p> <p> U+003E GREATER-THAN SIGN (>) Switch to the [52046]data state. Emit the current tag token. </p> <p> [52047]ASCII upper alpha Append the lowercase version of the [52048]current input character (add 0x0020 to the character's code point) to the current tag token's tag name. </p> <p> U+0000 NULL This is an [52049]unexpected-null-character [52050]parse error. Append a U+FFFD REPLACEMENT CHARACTER character to the current tag token's tag name. </p> <p> EOF This is an [52051]eof-in-tag [52052]parse error. Emit an end-of-file token. </p> <p> Anything else Append the [52053]current input character to the current tag token's tag name. </p> <p> 13.2.5.9 RCDATA less-than sign state </p> <p> Consume the [52054]next input character: </p> <p> U+002F SOLIDUS (/) Set the [52055]temporary buffer to the empty string. Switch to the [52056]RCDATA end tag open state. </p> <p> Anything else Emit a U+003C LESS-THAN SIGN character token. [52057]Reconsume in the [52058]RCDATA state. </p> <p> 13.2.5.10 RCDATA end tag open state </p> <p> Consume the [52059]next input character: </p> <p> [52060]ASCII alpha Create a new end tag token, set its tag name to the empty string. [52061]Reconsume in the [52062]RCDATA end tag name state. </p> <p> Anything else Emit a U+003C LESS-THAN SIGN character token and a U+002F SOLIDUS character token. [52063]Reconsume in the [52064]RCDATA state. </p> <p> 13.2.5.11 RCDATA end tag name state </p> <p> Consume the [52065]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE If the current end tag token is an [52066]appropriate end tag token, then switch to the [52067]before attribute name state. Otherwise, treat it as per the "anything else" entry below. </p> <p> U+002F SOLIDUS (/) If the current end tag token is an [52068]appropriate end tag token, then switch to the [52069]self-closing start tag state. Otherwise, treat it as per the "anything else" entry below. </p> <p> U+003E GREATER-THAN SIGN (>) If the current end tag token is an [52070]appropriate end tag token, then switch to the [52071]data state and emit the current tag token. Otherwise, treat it as per the "anything else" entry below. </p> <p> [52072]ASCII upper alpha Append the lowercase version of the [52073]current input character (add 0x0020 to the character's code point) to the current tag token's tag name. Append the [52074]current input character to the [52075]temporary buffer. </p> <p> [52076]ASCII lower alpha Append the [52077]current input character to the current tag token's tag name. Append the [52078]current input character to the [52079]temporary buffer. </p> <p> Anything else Emit a U+003C LESS-THAN SIGN character token, a U+002F SOLIDUS character token, and a character token for each of the characters in the [52080]temporary buffer (in the order they were added to the buffer). [52081]Reconsume in the [52082]RCDATA state. </p> <p> 13.2.5.12 RAWTEXT less-than sign state </p> <p> Consume the [52083]next input character: </p> <p> U+002F SOLIDUS (/) Set the [52084]temporary buffer to the empty string. Switch to the [52085]RAWTEXT end tag open state. </p> <p> Anything else Emit a U+003C LESS-THAN SIGN character token. [52086]Reconsume in the [52087]RAWTEXT state. </p> <p> 13.2.5.13 RAWTEXT end tag open state </p> <p> Consume the [52088]next input character: </p> <p> [52089]ASCII alpha Create a new end tag token, set its tag name to the empty string. [52090]Reconsume in the [52091]RAWTEXT end tag name state. </p> <p> Anything else Emit a U+003C LESS-THAN SIGN character token and a U+002F SOLIDUS character token. [52092]Reconsume in the [52093]RAWTEXT state. </p> <p> 13.2.5.14 RAWTEXT end tag name state </p> <p> Consume the [52094]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE If the current end tag token is an [52095]appropriate end tag token, then switch to the [52096]before attribute name state. Otherwise, treat it as per the "anything else" entry below. </p> <p> U+002F SOLIDUS (/) If the current end tag token is an [52097]appropriate end tag token, then switch to the [52098]self-closing start tag state. Otherwise, treat it as per the "anything else" entry below. </p> <p> U+003E GREATER-THAN SIGN (>) If the current end tag token is an [52099]appropriate end tag token, then switch to the [52100]data state and emit the current tag token. Otherwise, treat it as per the "anything else" entry below. </p> <p> [52101]ASCII upper alpha Append the lowercase version of the [52102]current input character (add 0x0020 to the character's code point) to the current tag token's tag name. Append the [52103]current input character to the [52104]temporary buffer. </p> <p> [52105]ASCII lower alpha Append the [52106]current input character to the current tag token's tag name. Append the [52107]current input character to the [52108]temporary buffer. </p> <p> Anything else Emit a U+003C LESS-THAN SIGN character token, a U+002F SOLIDUS character token, and a character token for each of the characters in the [52109]temporary buffer (in the order they were added to the buffer). [52110]Reconsume in the [52111]RAWTEXT state. </p> <p> 13.2.5.15 Script data less-than sign state </p> <p> Consume the [52112]next input character: </p> <p> U+002F SOLIDUS (/) Set the [52113]temporary buffer to the empty string. Switch to the [52114]script data end tag open state. </p> <p> U+0021 EXCLAMATION MARK (!) Switch to the [52115]script data escape start state. Emit a U+003C LESS-THAN SIGN character token and a U+0021 EXCLAMATION MARK character token. </p> <p> Anything else Emit a U+003C LESS-THAN SIGN character token. [52116]Reconsume in the [52117]script data state. </p> <p> 13.2.5.16 Script data end tag open state </p> <p> Consume the [52118]next input character: </p> <p> [52119]ASCII alpha Create a new end tag token, set its tag name to the empty string. [52120]Reconsume in the [52121]script data end tag name state. </p> <p> Anything else Emit a U+003C LESS-THAN SIGN character token and a U+002F SOLIDUS character token. [52122]Reconsume in the [52123]script data state. </p> <p> 13.2.5.17 Script data end tag name state </p> <p> Consume the [52124]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE If the current end tag token is an [52125]appropriate end tag token, then switch to the [52126]before attribute name state. Otherwise, treat it as per the "anything else" entry below. </p> <p> U+002F SOLIDUS (/) If the current end tag token is an [52127]appropriate end tag token, then switch to the [52128]self-closing start tag state. Otherwise, treat it as per the "anything else" entry below. </p> <p> U+003E GREATER-THAN SIGN (>) If the current end tag token is an [52129]appropriate end tag token, then switch to the [52130]data state and emit the current tag token. Otherwise, treat it as per the "anything else" entry below. </p> <p> [52131]ASCII upper alpha Append the lowercase version of the [52132]current input character (add 0x0020 to the character's code point) to the current tag token's tag name. Append the [52133]current input character to the [52134]temporary buffer. </p> <p> [52135]ASCII lower alpha Append the [52136]current input character to the current tag token's tag name. Append the [52137]current input character to the [52138]temporary buffer. </p> <p> Anything else Emit a U+003C LESS-THAN SIGN character token, a U+002F SOLIDUS character token, and a character token for each of the characters in the [52139]temporary buffer (in the order they were added to the buffer). [52140]Reconsume in the [52141]script data state. </p> <p> 13.2.5.18 Script data escape start state </p> <p> Consume the [52142]next input character: </p> <p> U+002D HYPHEN-MINUS (-) Switch to the [52143]script data escape start dash state. Emit a U+002D HYPHEN-MINUS character token. </p> <p> Anything else [52144]Reconsume in the [52145]script data state. </p> <p> 13.2.5.19 Script data escape start dash state </p> <p> Consume the [52146]next input character: </p> <p> U+002D HYPHEN-MINUS (-) Switch to the [52147]script data escaped dash dash state. Emit a U+002D HYPHEN-MINUS character token. </p> <p> Anything else [52148]Reconsume in the [52149]script data state. </p> <p> 13.2.5.20 Script data escaped state </p> <p> Consume the [52150]next input character: </p> <p> U+002D HYPHEN-MINUS (-) Switch to the [52151]script data escaped dash state. Emit a U+002D HYPHEN-MINUS character token. </p> <p> U+003C LESS-THAN SIGN (<) Switch to the [52152]script data escaped less-than sign state. </p> <p> U+0000 NULL This is an [52153]unexpected-null-character [52154]parse error. Emit a U+FFFD REPLACEMENT CHARACTER character token. </p> <p> EOF This is an [52155]eof-in-script-html-comment-like-text [52156]parse error. Emit an end-of-file token. </p> <p> Anything else Emit the [52157]current input character as a character token. </p> <p> 13.2.5.21 Script data escaped dash state </p> <p> Consume the [52158]next input character: </p> <p> U+002D HYPHEN-MINUS (-) Switch to the [52159]script data escaped dash dash state. Emit a U+002D HYPHEN-MINUS character token. </p> <p> U+003C LESS-THAN SIGN (<) Switch to the [52160]script data escaped less-than sign state. </p> <p> U+0000 NULL This is an [52161]unexpected-null-character [52162]parse error. Switch to the [52163]script data escaped state. Emit a U+FFFD REPLACEMENT CHARACTER character token. </p> <p> EOF This is an [52164]eof-in-script-html-comment-like-text [52165]parse error. Emit an end-of-file token. </p> <p> Anything else Switch to the [52166]script data escaped state. Emit the [52167]current input character as a character token. </p> <p> 13.2.5.22 Script data escaped dash dash state </p> <p> Consume the [52168]next input character: </p> <p> U+002D HYPHEN-MINUS (-) Emit a U+002D HYPHEN-MINUS character token. </p> <p> U+003C LESS-THAN SIGN (<) Switch to the [52169]script data escaped less-than sign state. </p> <p> U+003E GREATER-THAN SIGN (>) Switch to the [52170]script data state. Emit a U+003E GREATER-THAN SIGN character token. </p> <p> U+0000 NULL This is an [52171]unexpected-null-character [52172]parse error. Switch to the [52173]script data escaped state. Emit a U+FFFD REPLACEMENT CHARACTER character token. </p> <p> EOF This is an [52174]eof-in-script-html-comment-like-text [52175]parse error. Emit an end-of-file token. </p> <p> Anything else Switch to the [52176]script data escaped state. Emit the [52177]current input character as a character token. </p> <p> 13.2.5.23 Script data escaped less-than sign state </p> <p> Consume the [52178]next input character: </p> <p> U+002F SOLIDUS (/) Set the [52179]temporary buffer to the empty string. Switch to the [52180]script data escaped end tag open state. </p> <p> [52181]ASCII alpha Set the [52182]temporary buffer to the empty string. Emit a U+003C LESS-THAN SIGN character token. [52183]Reconsume in the [52184]script data double escape start state. </p> <p> Anything else Emit a U+003C LESS-THAN SIGN character token. [52185]Reconsume in the [52186]script data escaped state. </p> <p> 13.2.5.24 Script data escaped end tag open state </p> <p> Consume the [52187]next input character: </p> <p> [52188]ASCII alpha Create a new end tag token, set its tag name to the empty string. [52189]Reconsume in the [52190]script data escaped end tag name state. </p> <p> Anything else Emit a U+003C LESS-THAN SIGN character token and a U+002F SOLIDUS character token. [52191]Reconsume in the [52192]script data escaped state. </p> <p> 13.2.5.25 Script data escaped end tag name state </p> <p> Consume the [52193]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE If the current end tag token is an [52194]appropriate end tag token, then switch to the [52195]before attribute name state. Otherwise, treat it as per the "anything else" entry below. </p> <p> U+002F SOLIDUS (/) If the current end tag token is an [52196]appropriate end tag token, then switch to the [52197]self-closing start tag state. Otherwise, treat it as per the "anything else" entry below. </p> <p> U+003E GREATER-THAN SIGN (>) If the current end tag token is an [52198]appropriate end tag token, then switch to the [52199]data state and emit the current tag token. Otherwise, treat it as per the "anything else" entry below. </p> <p> [52200]ASCII upper alpha Append the lowercase version of the [52201]current input character (add 0x0020 to the character's code point) to the current tag token's tag name. Append the [52202]current input character to the [52203]temporary buffer. </p> <p> [52204]ASCII lower alpha Append the [52205]current input character to the current tag token's tag name. Append the [52206]current input character to the [52207]temporary buffer. </p> <p> Anything else Emit a U+003C LESS-THAN SIGN character token, a U+002F SOLIDUS character token, and a character token for each of the characters in the [52208]temporary buffer (in the order they were added to the buffer). [52209]Reconsume in the [52210]script data escaped state. </p> <p> 13.2.5.26 Script data double escape start state </p> <p> Consume the [52211]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE U+002F SOLIDUS (/) U+003E GREATER-THAN SIGN (>) If the [52212]temporary buffer is the string "script", then switch to the [52213]script data double escaped state. Otherwise, switch to the [52214]script data escaped state. Emit the [52215]current input character as a character token. </p> <p> [52216]ASCII upper alpha Append the lowercase version of the [52217]current input character (add 0x0020 to the character's code point) to the [52218]temporary buffer. Emit the [52219]current input character as a character token. </p> <p> [52220]ASCII lower alpha Append the [52221]current input character to the [52222]temporary buffer. Emit the [52223]current input character as a character token. </p> <p> Anything else [52224]Reconsume in the [52225]script data escaped state. </p> <p> 13.2.5.27 Script data double escaped state </p> <p> Consume the [52226]next input character: </p> <p> U+002D HYPHEN-MINUS (-) Switch to the [52227]script data double escaped dash state. Emit a U+002D HYPHEN-MINUS character token. </p> <p> U+003C LESS-THAN SIGN (<) Switch to the [52228]script data double escaped less-than sign state. Emit a U+003C LESS-THAN SIGN character token. </p> <p> U+0000 NULL This is an [52229]unexpected-null-character [52230]parse error. Emit a U+FFFD REPLACEMENT CHARACTER character token. </p> <p> EOF This is an [52231]eof-in-script-html-comment-like-text [52232]parse error. Emit an end-of-file token. </p> <p> Anything else Emit the [52233]current input character as a character token. </p> <p> 13.2.5.28 Script data double escaped dash state </p> <p> Consume the [52234]next input character: </p> <p> U+002D HYPHEN-MINUS (-) Switch to the [52235]script data double escaped dash dash state. Emit a U+002D HYPHEN-MINUS character token. </p> <p> U+003C LESS-THAN SIGN (<) Switch to the [52236]script data double escaped less-than sign state. Emit a U+003C LESS-THAN SIGN character token. </p> <p> U+0000 NULL This is an [52237]unexpected-null-character [52238]parse error. Switch to the [52239]script data double escaped state. Emit a U+FFFD REPLACEMENT CHARACTER character token. </p> <p> EOF This is an [52240]eof-in-script-html-comment-like-text [52241]parse error. Emit an end-of-file token. </p> <p> Anything else Switch to the [52242]script data double escaped state. Emit the [52243]current input character as a character token. </p> <p> 13.2.5.29 Script data double escaped dash dash state </p> <p> Consume the [52244]next input character: </p> <p> U+002D HYPHEN-MINUS (-) Emit a U+002D HYPHEN-MINUS character token. </p> <p> U+003C LESS-THAN SIGN (<) Switch to the [52245]script data double escaped less-than sign state. Emit a U+003C LESS-THAN SIGN character token. </p> <p> U+003E GREATER-THAN SIGN (>) Switch to the [52246]script data state. Emit a U+003E GREATER-THAN SIGN character token. </p> <p> U+0000 NULL This is an [52247]unexpected-null-character [52248]parse error. Switch to the [52249]script data double escaped state. Emit a U+FFFD REPLACEMENT CHARACTER character token. </p> <p> EOF This is an [52250]eof-in-script-html-comment-like-text [52251]parse error. Emit an end-of-file token. </p> <p> Anything else Switch to the [52252]script data double escaped state. Emit the [52253]current input character as a character token. </p> <p> 13.2.5.30 Script data double escaped less-than sign state </p> <p> Consume the [52254]next input character: </p> <p> U+002F SOLIDUS (/) Set the [52255]temporary buffer to the empty string. Switch to the [52256]script data double escape end state. Emit a U+002F SOLIDUS character token. </p> <p> Anything else [52257]Reconsume in the [52258]script data double escaped state. </p> <p> 13.2.5.31 Script data double escape end state </p> <p> Consume the [52259]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE U+002F SOLIDUS (/) U+003E GREATER-THAN SIGN (>) If the [52260]temporary buffer is the string "script", then switch to the [52261]script data escaped state. Otherwise, switch to the [52262]script data double escaped state. Emit the [52263]current input character as a character token. </p> <p> [52264]ASCII upper alpha Append the lowercase version of the [52265]current input character (add 0x0020 to the character's code point) to the [52266]temporary buffer. Emit the [52267]current input character as a character token. </p> <p> [52268]ASCII lower alpha Append the [52269]current input character to the [52270]temporary buffer. Emit the [52271]current input character as a character token. </p> <p> Anything else [52272]Reconsume in the [52273]script data double escaped state. </p> <p> 13.2.5.32 Before attribute name state </p> <p> Consume the [52274]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE Ignore the character. </p> <p> U+002F SOLIDUS (/) U+003E GREATER-THAN SIGN (>) EOF [52275]Reconsume in the [52276]after attribute name state. </p> <p> U+003D EQUALS SIGN (=) This is an [52277]unexpected-equals-sign-before-attribute-name [52278]parse error. Start a new attribute in the current tag token. Set that attribute's name to the [52279]current input character, and its value to the empty string. Switch to the [52280]attribute name state. </p> <p> Anything else Start a new attribute in the current tag token. Set that attribute name and value to the empty string. [52281]Reconsume in the [52282]attribute name state. </p> <p> 13.2.5.33 Attribute name state </p> <p> Consume the [52283]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE U+002F SOLIDUS (/) U+003E GREATER-THAN SIGN (>) EOF [52284]Reconsume in the [52285]after attribute name state. </p> <p> U+003D EQUALS SIGN (=) Switch to the [52286]before attribute value state. </p> <p> [52287]ASCII upper alpha Append the lowercase version of the [52288]current input character (add 0x0020 to the character's code point) to the current attribute's name. </p> <p> U+0000 NULL This is an [52289]unexpected-null-character [52290]parse error. Append a U+FFFD REPLACEMENT CHARACTER character to the current attribute's name. </p> <p> U+0022 QUOTATION MARK (") U+0027 APOSTROPHE (') U+003C LESS-THAN SIGN (<) This is an [52291]unexpected-character-in-attribute-name [52292]parse error. Treat it as per the "anything else" entry below. </p> <p> Anything else Append the [52293]current input character to the current attribute's name. </p> <p> When the user agent leaves the attribute name state (and before emitting the tag token, if appropriate), the complete attribute's name must be compared to the other attributes on the same token; if there is already an attribute on the token with the exact same name, then this is a [52294]duplicate-attribute [52295]parse error and the new attribute must be removed from the token. </p> <p> If an attribute is so removed from a token, it, and the value that gets associated with it, if any, are never subsequently used by the parser, and are therefore effectively discarded. Removing the attribute in this way does not change its status as the "current attribute" for the purposes of the tokenizer, however. </p> <p> 13.2.5.34 After attribute name state </p> <p> Consume the [52296]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE Ignore the character. </p> <p> U+002F SOLIDUS (/) Switch to the [52297]self-closing start tag state. </p> <p> U+003D EQUALS SIGN (=) Switch to the [52298]before attribute value state. </p> <p> U+003E GREATER-THAN SIGN (>) Switch to the [52299]data state. Emit the current tag token. </p> <p> EOF This is an [52300]eof-in-tag [52301]parse error. Emit an end-of-file token. </p> <p> Anything else Start a new attribute in the current tag token. Set that attribute name and value to the empty string. [52302]Reconsume in the [52303]attribute name state. </p> <p> 13.2.5.35 Before attribute value state </p> <p> Consume the [52304]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE Ignore the character. </p> <p> U+0022 QUOTATION MARK (") Switch to the [52305]attribute value (double-quoted) state. </p> <p> U+0027 APOSTROPHE (') Switch to the [52306]attribute value (single-quoted) state. </p> <p> U+003E GREATER-THAN SIGN (>) This is a [52307]missing-attribute-value [52308]parse error. Switch to the [52309]data state. Emit the current tag token. </p> <p> Anything else [52310]Reconsume in the [52311]attribute value (unquoted) state. </p> <p> 13.2.5.36 Attribute value (double-quoted) state </p> <p> Consume the [52312]next input character: </p> <p> U+0022 QUOTATION MARK (") Switch to the [52313]after attribute value (quoted) state. </p> <p> U+0026 AMPERSAND (&) Set the [52314]return state to the [52315]attribute value (double-quoted) state. Switch to the [52316]character reference state. </p> <p> U+0000 NULL This is an [52317]unexpected-null-character [52318]parse error. Append a U+FFFD REPLACEMENT CHARACTER character to the current attribute's value. </p> <p> EOF This is an [52319]eof-in-tag [52320]parse error. Emit an end-of-file token. </p> <p> Anything else Append the [52321]current input character to the current attribute's value. </p> <p> 13.2.5.37 Attribute value (single-quoted) state </p> <p> Consume the [52322]next input character: </p> <p> U+0027 APOSTROPHE (') Switch to the [52323]after attribute value (quoted) state. </p> <p> U+0026 AMPERSAND (&) Set the [52324]return state to the [52325]attribute value (single-quoted) state. Switch to the [52326]character reference state. </p> <p> U+0000 NULL This is an [52327]unexpected-null-character [52328]parse error. Append a U+FFFD REPLACEMENT CHARACTER character to the current attribute's value. </p> <p> EOF This is an [52329]eof-in-tag [52330]parse error. Emit an end-of-file token. </p> <p> Anything else Append the [52331]current input character to the current attribute's value. </p> <p> 13.2.5.38 Attribute value (unquoted) state </p> <p> Consume the [52332]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE Switch to the [52333]before attribute name state. </p> <p> U+0026 AMPERSAND (&) Set the [52334]return state to the [52335]attribute value (unquoted) state. Switch to the [52336]character reference state. </p> <p> U+003E GREATER-THAN SIGN (>) Switch to the [52337]data state. Emit the current tag token. </p> <p> U+0000 NULL This is an [52338]unexpected-null-character [52339]parse error. Append a U+FFFD REPLACEMENT CHARACTER character to the current attribute's value. </p> <p> U+0022 QUOTATION MARK (") U+0027 APOSTROPHE (') U+003C LESS-THAN SIGN (<) U+003D EQUALS SIGN (=) U+0060 GRAVE ACCENT (`) This is an [52340]unexpected-character-in-unquoted-attribute-value [52341]parse error. Treat it as per the "anything else" entry below. </p> <p> EOF This is an [52342]eof-in-tag [52343]parse error. Emit an end-of-file token. </p> <p> Anything else Append the [52344]current input character to the current attribute's value. </p> <p> 13.2.5.39 After attribute value (quoted) state </p> <p> Consume the [52345]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE Switch to the [52346]before attribute name state. </p> <p> U+002F SOLIDUS (/) Switch to the [52347]self-closing start tag state. </p> <p> U+003E GREATER-THAN SIGN (>) Switch to the [52348]data state. Emit the current tag token. </p> <p> EOF This is an [52349]eof-in-tag [52350]parse error. Emit an end-of-file token. </p> <p> Anything else This is a [52351]missing-whitespace-between-attributes [52352]parse error. [52353]Reconsume in the [52354]before attribute name state. </p> <p> 13.2.5.40 Self-closing start tag state </p> <p> Consume the [52355]next input character: </p> <p> U+003E GREATER-THAN SIGN (>) Set the [52356]self-closing flag of the current tag token. Switch to the [52357]data state. Emit the current tag token. </p> <p> EOF This is an [52358]eof-in-tag [52359]parse error. Emit an end-of-file token. </p> <p> Anything else This is an [52360]unexpected-solidus-in-tag [52361]parse error. [52362]Reconsume in the [52363]before attribute name state. </p> <p> 13.2.5.41 Bogus comment state </p> <p> Consume the [52364]next input character: </p> <p> U+003E GREATER-THAN SIGN (>) Switch to the [52365]data state. Emit the current comment token. </p> <p> EOF Emit the comment. Emit an end-of-file token. </p> <p> U+0000 NULL This is an [52366]unexpected-null-character [52367]parse error. Append a U+FFFD REPLACEMENT CHARACTER character to the comment token's data. </p> <p> Anything else Append the [52368]current input character to the comment token's data. </p> <p> 13.2.5.42 Markup declaration open state </p> <p> If the next few characters are: </p> <p> Two U+002D HYPHEN-MINUS characters (-) Consume those two characters, create a comment token whose data is the empty string, and switch to the [52369]comment start state. </p> <p> [52370]ASCII case-insensitive match for the word "DOCTYPE" Consume those characters and switch to the [52371]DOCTYPE state. </p> <p> The string "[CDATA[" (the five uppercase letters "CDATA" with a U+005B LEFT SQUARE BRACKET character before and after) Consume those characters. If there is an [52372]adjusted current node and it is not an element in the [52373]HTML namespace, then switch to the [52374]CDATA section state. Otherwise, this is a [52375]cdata-in-html-content [52376]parse error. Create a comment token whose data is the "[CDATA[" string. Switch to the [52377]bogus comment state. </p> <p> Anything else This is an [52378]incorrectly-opened-comment [52379]parse error. Create a comment token whose data is the empty string. Switch to the [52380]bogus comment state (don't consume anything in the current state). </p> <p> 13.2.5.43 Comment start state </p> <p> Consume the [52381]next input character: </p> <p> U+002D HYPHEN-MINUS (-) Switch to the [52382]comment start dash state. </p> <p> U+003E GREATER-THAN SIGN (>) This is an [52383]abrupt-closing-of-empty-comment [52384]parse error. Switch to the [52385]data state. Emit the current comment token. </p> <p> Anything else [52386]Reconsume in the [52387]comment state. </p> <p> 13.2.5.44 Comment start dash state </p> <p> Consume the [52388]next input character: </p> <p> U+002D HYPHEN-MINUS (-) Switch to the [52389]comment end state. </p> <p> U+003E GREATER-THAN SIGN (>) This is an [52390]abrupt-closing-of-empty-comment [52391]parse error. Switch to the [52392]data state. Emit the current comment token. </p> <p> EOF This is an [52393]eof-in-comment [52394]parse error. Emit the current comment token. Emit an end-of-file token. </p> <p> Anything else Append a U+002D HYPHEN-MINUS character (-) to the comment token's data. [52395]Reconsume in the [52396]comment state. </p> <p> 13.2.5.45 Comment state </p> <p> Consume the [52397]next input character: </p> <p> U+003C LESS-THAN SIGN (<) Append the [52398]current input character to the comment token's data. Switch to the [52399]comment less-than sign state. </p> <p> U+002D HYPHEN-MINUS (-) Switch to the [52400]comment end dash state. </p> <p> U+0000 NULL This is an [52401]unexpected-null-character [52402]parse error. Append a U+FFFD REPLACEMENT CHARACTER character to the comment token's data. </p> <p> EOF This is an [52403]eof-in-comment [52404]parse error. Emit the current comment token. Emit an end-of-file token. </p> <p> Anything else Append the [52405]current input character to the comment token's data. </p> <p> 13.2.5.46 Comment less-than sign state </p> <p> Consume the [52406]next input character: </p> <p> U+0021 EXCLAMATION MARK (!) Append the [52407]current input character to the comment token's data. Switch to the [52408]comment less-than sign bang state. </p> <p> U+003C LESS-THAN SIGN (<) Append the [52409]current input character to the comment token's data. </p> <p> Anything else [52410]Reconsume in the [52411]comment state. </p> <p> 13.2.5.47 Comment less-than sign bang state </p> <p> Consume the [52412]next input character: </p> <p> U+002D HYPHEN-MINUS (-) Switch to the [52413]comment less-than sign bang dash state. </p> <p> Anything else [52414]Reconsume in the [52415]comment state. </p> <p> 13.2.5.48 Comment less-than sign bang dash state </p> <p> Consume the [52416]next input character: </p> <p> U+002D HYPHEN-MINUS (-) Switch to the [52417]comment less-than sign bang dash dash state. </p> <p> Anything else [52418]Reconsume in the [52419]comment end dash state. </p> <p> 13.2.5.49 Comment less-than sign bang dash dash state </p> <p> Consume the [52420]next input character: </p> <p> U+003E GREATER-THAN SIGN (>) EOF [52421]Reconsume in the [52422]comment end state. </p> <p> Anything else This is a [52423]nested-comment [52424]parse error. [52425]Reconsume in the [52426]comment end state. </p> <p> 13.2.5.50 Comment end dash state </p> <p> Consume the [52427]next input character: </p> <p> U+002D HYPHEN-MINUS (-) Switch to the [52428]comment end state. </p> <p> EOF This is an [52429]eof-in-comment [52430]parse error. Emit the current comment token. Emit an end-of-file token. </p> <p> Anything else Append a U+002D HYPHEN-MINUS character (-) to the comment token's data. [52431]Reconsume in the [52432]comment state. </p> <p> 13.2.5.51 Comment end state </p> <p> Consume the [52433]next input character: </p> <p> U+003E GREATER-THAN SIGN (>) Switch to the [52434]data state. Emit the current comment token. </p> <p> U+0021 EXCLAMATION MARK (!) Switch to the [52435]comment end bang state. </p> <p> U+002D HYPHEN-MINUS (-) Append a U+002D HYPHEN-MINUS character (-) to the comment token's data. </p> <p> EOF This is an [52436]eof-in-comment [52437]parse error. Emit the current comment token. Emit an end-of-file token. </p> <p> Anything else Append two U+002D HYPHEN-MINUS characters (-) to the comment token's data. [52438]Reconsume in the [52439]comment state. </p> <p> 13.2.5.52 Comment end bang state </p> <p> Consume the [52440]next input character: </p> <p> U+002D HYPHEN-MINUS (-) Append two U+002D HYPHEN-MINUS characters (-) and a U+0021 EXCLAMATION MARK character (!) to the comment token's data. Switch to the [52441]comment end dash state. </p> <p> U+003E GREATER-THAN SIGN (>) This is an [52442]incorrectly-closed-comment [52443]parse error. Switch to the [52444]data state. Emit the current comment token. </p> <p> EOF This is an [52445]eof-in-comment [52446]parse error. Emit the current comment token. Emit an end-of-file token. </p> <p> Anything else Append two U+002D HYPHEN-MINUS characters (-) and a U+0021 EXCLAMATION MARK character (!) to the comment token's data. [52447]Reconsume in the [52448]comment state. </p> <p> 13.2.5.53 DOCTYPE state </p> <p> Consume the [52449]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE Switch to the [52450]before DOCTYPE name state. </p> <p> U+003E GREATER-THAN SIGN (>) [52451]Reconsume in the [52452]before DOCTYPE name state. </p> <p> EOF This is an [52453]eof-in-doctype [52454]parse error. Create a new DOCTYPE token. Set its [52455]force-quirks flag to on. Emit the current token. Emit an end-of-file token. </p> <p> Anything else This is a [52456]missing-whitespace-before-doctype-name [52457]parse error. [52458]Reconsume in the [52459]before DOCTYPE name state. </p> <p> 13.2.5.54 Before DOCTYPE name state </p> <p> Consume the [52460]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE Ignore the character. </p> <p> [52461]ASCII upper alpha Create a new DOCTYPE token. Set the token's name to the lowercase version of the [52462]current input character (add 0x0020 to the character's code point). Switch to the [52463]DOCTYPE name state. </p> <p> U+0000 NULL This is an [52464]unexpected-null-character [52465]parse error. Create a new DOCTYPE token. Set the token's name to a U+FFFD REPLACEMENT CHARACTER character. Switch to the [52466]DOCTYPE name state. </p> <p> U+003E GREATER-THAN SIGN (>) This is a [52467]missing-doctype-name [52468]parse error. Create a new DOCTYPE token. Set its [52469]force-quirks flag to on. Switch to the [52470]data state. Emit the current token. </p> <p> EOF This is an [52471]eof-in-doctype [52472]parse error. Create a new DOCTYPE token. Set its [52473]force-quirks flag to on. Emit the current token. Emit an end-of-file token. </p> <p> Anything else Create a new DOCTYPE token. Set the token's name to the [52474]current input character. Switch to the [52475]DOCTYPE name state. </p> <p> 13.2.5.55 DOCTYPE name state </p> <p> Consume the [52476]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE Switch to the [52477]after DOCTYPE name state. </p> <p> U+003E GREATER-THAN SIGN (>) Switch to the [52478]data state. Emit the current DOCTYPE token. </p> <p> [52479]ASCII upper alpha Append the lowercase version of the [52480]current input character (add 0x0020 to the character's code point) to the current DOCTYPE token's name. </p> <p> U+0000 NULL This is an [52481]unexpected-null-character [52482]parse error. Append a U+FFFD REPLACEMENT CHARACTER character to the current DOCTYPE token's name. </p> <p> EOF This is an [52483]eof-in-doctype [52484]parse error. Set the current DOCTYPE token's [52485]force-quirks flag to on. Emit the current DOCTYPE token. Emit an end-of-file token. </p> <p> Anything else Append the [52486]current input character to the current DOCTYPE token's name. </p> <p> 13.2.5.56 After DOCTYPE name state </p> <p> Consume the [52487]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE Ignore the character. </p> <p> U+003E GREATER-THAN SIGN (>) Switch to the [52488]data state. Emit the current DOCTYPE token. </p> <p> EOF This is an [52489]eof-in-doctype [52490]parse error. Set the current DOCTYPE token's [52491]force-quirks flag to on. Emit the current DOCTYPE token. Emit an end-of-file token. </p> <p> Anything else If the six characters starting from the [52492]current input character are an [52493]ASCII case-insensitive match for the word "PUBLIC", then consume those characters and switch to the [52494]after DOCTYPE public keyword state. </p> <p> Otherwise, if the six characters starting from the [52495]current input character are an [52496]ASCII case-insensitive match for the word "SYSTEM", then consume those characters and switch to the [52497]after DOCTYPE system keyword state. </p> <p> Otherwise, this is an [52498]invalid-character-sequence-after-doctype-name [52499]parse error. Set the current DOCTYPE token's [52500]force-quirks flag to on. [52501]Reconsume in the [52502]bogus DOCTYPE state. </p> <p> 13.2.5.57 After DOCTYPE public keyword state </p> <p> Consume the [52503]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE Switch to the [52504]before DOCTYPE public identifier state. </p> <p> U+0022 QUOTATION MARK (") This is a [52505]missing-whitespace-after-doctype-public-keyword [52506]parse error. Set the current DOCTYPE token's public identifier to the empty string (not missing), then switch to the [52507]DOCTYPE public identifier (double-quoted) state. </p> <p> U+0027 APOSTROPHE (') This is a [52508]missing-whitespace-after-doctype-public-keyword [52509]parse error. Set the current DOCTYPE token's public identifier to the empty string (not missing), then switch to the [52510]DOCTYPE public identifier (single-quoted) state. </p> <p> U+003E GREATER-THAN SIGN (>) This is a [52511]missing-doctype-public-identifier [52512]parse error. Set the current DOCTYPE token's [52513]force-quirks flag to on. Switch to the [52514]data state. Emit the current DOCTYPE token. </p> <p> EOF This is an [52515]eof-in-doctype [52516]parse error. Set the current DOCTYPE token's [52517]force-quirks flag to on. Emit the current DOCTYPE token. Emit an end-of-file token. </p> <p> Anything else This is a [52518]missing-quote-before-doctype-public-identifier [52519]parse error. Set the current DOCTYPE token's [52520]force-quirks flag to on. [52521]Reconsume in the [52522]bogus DOCTYPE state. </p> <p> 13.2.5.58 Before DOCTYPE public identifier state </p> <p> Consume the [52523]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE Ignore the character. </p> <p> U+0022 QUOTATION MARK (") Set the current DOCTYPE token's public identifier to the empty string (not missing), then switch to the [52524]DOCTYPE public identifier (double-quoted) state. </p> <p> U+0027 APOSTROPHE (') Set the current DOCTYPE token's public identifier to the empty string (not missing), then switch to the [52525]DOCTYPE public identifier (single-quoted) state. </p> <p> U+003E GREATER-THAN SIGN (>) This is a [52526]missing-doctype-public-identifier [52527]parse error. Set the current DOCTYPE token's [52528]force-quirks flag to on. Switch to the [52529]data state. Emit the current DOCTYPE token. </p> <p> EOF This is an [52530]eof-in-doctype [52531]parse error. Set the current DOCTYPE token's [52532]force-quirks flag to on. Emit the current DOCTYPE token. Emit an end-of-file token. </p> <p> Anything else This is a [52533]missing-quote-before-doctype-public-identifier [52534]parse error. Set the current DOCTYPE token's [52535]force-quirks flag to on. [52536]Reconsume in the [52537]bogus DOCTYPE state. </p> <p> 13.2.5.59 DOCTYPE public identifier (double-quoted) state </p> <p> Consume the [52538]next input character: </p> <p> U+0022 QUOTATION MARK (") Switch to the [52539]after DOCTYPE public identifier state. </p> <p> U+0000 NULL This is an [52540]unexpected-null-character [52541]parse error. Append a U+FFFD REPLACEMENT CHARACTER character to the current DOCTYPE token's public identifier. </p> <p> U+003E GREATER-THAN SIGN (>) This is an [52542]abrupt-doctype-public-identifier [52543]parse error. Set the current DOCTYPE token's [52544]force-quirks flag to on. Switch to the [52545]data state. Emit the current DOCTYPE token. </p> <p> EOF This is an [52546]eof-in-doctype [52547]parse error. Set the current DOCTYPE token's [52548]force-quirks flag to on. Emit the current DOCTYPE token. Emit an end-of-file token. </p> <p> Anything else Append the [52549]current input character to the current DOCTYPE token's public identifier. </p> <p> 13.2.5.60 DOCTYPE public identifier (single-quoted) state </p> <p> Consume the [52550]next input character: </p> <p> U+0027 APOSTROPHE (') Switch to the [52551]after DOCTYPE public identifier state. </p> <p> U+0000 NULL This is an [52552]unexpected-null-character [52553]parse error. Append a U+FFFD REPLACEMENT CHARACTER character to the current DOCTYPE token's public identifier. </p> <p> U+003E GREATER-THAN SIGN (>) This is an [52554]abrupt-doctype-public-identifier [52555]parse error. Set the current DOCTYPE token's [52556]force-quirks flag to on. Switch to the [52557]data state. Emit the current DOCTYPE token. </p> <p> EOF This is an [52558]eof-in-doctype [52559]parse error. Set the current DOCTYPE token's [52560]force-quirks flag to on. Emit the current DOCTYPE token. Emit an end-of-file token. </p> <p> Anything else Append the [52561]current input character to the current DOCTYPE token's public identifier. </p> <p> 13.2.5.61 After DOCTYPE public identifier state </p> <p> Consume the [52562]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE Switch to the [52563]between DOCTYPE public and system identifiers state. </p> <p> U+003E GREATER-THAN SIGN (>) Switch to the [52564]data state. Emit the current DOCTYPE token. </p> <p> U+0022 QUOTATION MARK (") This is a [52565]missing-whitespace-between-doctype-public-and-system-iden tifiers [52566]parse error. Set the current DOCTYPE token's system identifier to the empty string (not missing), then switch to the [52567]DOCTYPE system identifier (double-quoted) state. </p> <p> U+0027 APOSTROPHE (') This is a [52568]missing-whitespace-between-doctype-public-and-system-iden tifiers [52569]parse error. Set the current DOCTYPE token's system identifier to the empty string (not missing), then switch to the [52570]DOCTYPE system identifier (single-quoted) state. </p> <p> EOF This is an [52571]eof-in-doctype [52572]parse error. Set the current DOCTYPE token's [52573]force-quirks flag to on. Emit the current DOCTYPE token. Emit an end-of-file token. </p> <p> Anything else This is a [52574]missing-quote-before-doctype-system-identifier [52575]parse error. Set the current DOCTYPE token's [52576]force-quirks flag to on. [52577]Reconsume in the [52578]bogus DOCTYPE state. </p> <p> 13.2.5.62 Between DOCTYPE public and system identifiers state </p> <p> Consume the [52579]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE Ignore the character. </p> <p> U+003E GREATER-THAN SIGN (>) Switch to the [52580]data state. Emit the current DOCTYPE token. </p> <p> U+0022 QUOTATION MARK (") Set the current DOCTYPE token's system identifier to the empty string (not missing), then switch to the [52581]DOCTYPE system identifier (double-quoted) state. </p> <p> U+0027 APOSTROPHE (') Set the current DOCTYPE token's system identifier to the empty string (not missing), then switch to the [52582]DOCTYPE system identifier (single-quoted) state. </p> <p> EOF This is an [52583]eof-in-doctype [52584]parse error. Set the current DOCTYPE token's [52585]force-quirks flag to on. Emit the current DOCTYPE token. Emit an end-of-file token. </p> <p> Anything else This is a [52586]missing-quote-before-doctype-system-identifier [52587]parse error. Set the current DOCTYPE token's [52588]force-quirks flag to on. [52589]Reconsume in the [52590]bogus DOCTYPE state. </p> <p> 13.2.5.63 After DOCTYPE system keyword state </p> <p> Consume the [52591]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE Switch to the [52592]before DOCTYPE system identifier state. </p> <p> U+0022 QUOTATION MARK (") This is a [52593]missing-whitespace-after-doctype-system-keyword [52594]parse error. Set the current DOCTYPE token's system identifier to the empty string (not missing), then switch to the [52595]DOCTYPE system identifier (double-quoted) state. </p> <p> U+0027 APOSTROPHE (') This is a [52596]missing-whitespace-after-doctype-system-keyword [52597]parse error. Set the current DOCTYPE token's system identifier to the empty string (not missing), then switch to the [52598]DOCTYPE system identifier (single-quoted) state. </p> <p> U+003E GREATER-THAN SIGN (>) This is a [52599]missing-doctype-system-identifier [52600]parse error. Set the current DOCTYPE token's [52601]force-quirks flag to on. Switch to the [52602]data state. Emit the current DOCTYPE token. </p> <p> EOF This is an [52603]eof-in-doctype [52604]parse error. Set the current DOCTYPE token's [52605]force-quirks flag to on. Emit the current DOCTYPE token. Emit an end-of-file token. </p> <p> Anything else This is a [52606]missing-quote-before-doctype-system-identifier [52607]parse error. Set the current DOCTYPE token's [52608]force-quirks flag to on. [52609]Reconsume in the [52610]bogus DOCTYPE state. </p> <p> 13.2.5.64 Before DOCTYPE system identifier state </p> <p> Consume the [52611]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE Ignore the character. </p> <p> U+0022 QUOTATION MARK (") Set the current DOCTYPE token's system identifier to the empty string (not missing), then switch to the [52612]DOCTYPE system identifier (double-quoted) state. </p> <p> U+0027 APOSTROPHE (') Set the current DOCTYPE token's system identifier to the empty string (not missing), then switch to the [52613]DOCTYPE system identifier (single-quoted) state. </p> <p> U+003E GREATER-THAN SIGN (>) This is a [52614]missing-doctype-system-identifier [52615]parse error. Set the current DOCTYPE token's [52616]force-quirks flag to on. Switch to the [52617]data state. Emit the current DOCTYPE token. </p> <p> EOF This is an [52618]eof-in-doctype [52619]parse error. Set the current DOCTYPE token's [52620]force-quirks flag to on. Emit the current DOCTYPE token. Emit an end-of-file token. </p> <p> Anything else This is a [52621]missing-quote-before-doctype-system-identifier [52622]parse error. Set the current DOCTYPE token's [52623]force-quirks flag to on. [52624]Reconsume in the [52625]bogus DOCTYPE state. </p> <p> 13.2.5.65 DOCTYPE system identifier (double-quoted) state </p> <p> Consume the [52626]next input character: </p> <p> U+0022 QUOTATION MARK (") Switch to the [52627]after DOCTYPE system identifier state. </p> <p> U+0000 NULL This is an [52628]unexpected-null-character [52629]parse error. Append a U+FFFD REPLACEMENT CHARACTER character to the current DOCTYPE token's system identifier. </p> <p> U+003E GREATER-THAN SIGN (>) This is an [52630]abrupt-doctype-system-identifier [52631]parse error. Set the current DOCTYPE token's [52632]force-quirks flag to on. Switch to the [52633]data state. Emit the current DOCTYPE token. </p> <p> EOF This is an [52634]eof-in-doctype [52635]parse error. Set the current DOCTYPE token's [52636]force-quirks flag to on. Emit the current DOCTYPE token. Emit an end-of-file token. </p> <p> Anything else Append the [52637]current input character to the current DOCTYPE token's system identifier. </p> <p> 13.2.5.66 DOCTYPE system identifier (single-quoted) state </p> <p> Consume the [52638]next input character: </p> <p> U+0027 APOSTROPHE (') Switch to the [52639]after DOCTYPE system identifier state. </p> <p> U+0000 NULL This is an [52640]unexpected-null-character [52641]parse error. Append a U+FFFD REPLACEMENT CHARACTER character to the current DOCTYPE token's system identifier. </p> <p> U+003E GREATER-THAN SIGN (>) This is an [52642]abrupt-doctype-system-identifier [52643]parse error. Set the current DOCTYPE token's [52644]force-quirks flag to on. Switch to the [52645]data state. Emit the current DOCTYPE token. </p> <p> EOF This is an [52646]eof-in-doctype [52647]parse error. Set the current DOCTYPE token's [52648]force-quirks flag to on. Emit the current DOCTYPE token. Emit an end-of-file token. </p> <p> Anything else Append the [52649]current input character to the current DOCTYPE token's system identifier. </p> <p> 13.2.5.67 After DOCTYPE system identifier state </p> <p> Consume the [52650]next input character: </p> <p> U+0009 CHARACTER TABULATION (tab) U+000A LINE FEED (LF) U+000C FORM FEED (FF) U+0020 SPACE Ignore the character. </p> <p> U+003E GREATER-THAN SIGN (>) Switch to the [52651]data state. Emit the current DOCTYPE token. </p> <p> EOF This is an [52652]eof-in-doctype [52653]parse error. Set the current DOCTYPE token's [52654]force-quirks flag to on. Emit the current DOCTYPE token. Emit an end-of-file token. </p> <p> Anything else This is an [52655]unexpected-character-after-doctype-system-identifier [52656]parse error. [52657]Reconsume in the [52658]bogus DOCTYPE state. (This does not set the current DOCTYPE token's [52659]force-quirks flag to on.) </p> <p> 13.2.5.68 Bogus DOCTYPE state </p> <p> Consume the [52660]next input character: </p> <p> U+003E GREATER-THAN SIGN (>) Switch to the [52661]data state. Emit the DOCTYPE token. </p> <p> U+0000 NULL This is an [52662]unexpected-null-character [52663]parse error. Ignore the character. </p> <p> EOF Emit the DOCTYPE token. Emit an end-of-file token. </p> <p> Anything else Ignore the character. </p> <p> 13.2.5.69 CDATA section state </p> <p> Consume the [52664]next input character: </p> <p> U+005D RIGHT SQUARE BRACKET (]) Switch to the [52665]CDATA section bracket state. </p> <p> EOF This is an [52666]eof-in-cdata [52667]parse error. Emit an end-of-file token. </p> <p> Anything else Emit the [52668]current input character as a character token. </p> <p> U+0000 NULL characters are handled in the tree construction stage, as part of the [52669]in foreign content insertion mode, which is the only place where CDATA sections can appear. </p> <p> 13.2.5.70 CDATA section bracket state </p> <p> Consume the [52670]next input character: </p> <p> U+005D RIGHT SQUARE BRACKET (]) Switch to the [52671]CDATA section end state. </p> <p> Anything else Emit a U+005D RIGHT SQUARE BRACKET character token. [52672]Reconsume in the [52673]CDATA section state. </p> <p> 13.2.5.71 CDATA section end state </p> <p> Consume the [52674]next input character: </p> <p> U+005D RIGHT SQUARE BRACKET (]) Emit a U+005D RIGHT SQUARE BRACKET character token. </p> <p> U+003E GREATER-THAN SIGN (>) Switch to the [52675]data state. </p> <p> Anything else Emit two U+005D RIGHT SQUARE BRACKET character tokens. [52676]Reconsume in the [52677]CDATA section state. </p> <p> 13.2.5.72 Character reference state </p> <p> Set the [52678]temporary buffer to the empty string. Append a U+0026 AMPERSAND (&) character to the [52679]temporary buffer. Consume the [52680]next input character: </p> <p> [52681]ASCII alphanumeric [52682]Reconsume in the [52683]named character reference state. </p> <p> U+0023 NUMBER SIGN (#) Append the [52684]current input character to the [52685]temporary buffer. Switch to the [52686]numeric character reference state. </p> <p> Anything else [52687]Flush code points consumed as a character reference. [52688]Reconsume in the [52689]return state. </p> <p> 13.2.5.73 Named character reference state </p> <p> Consume the maximum number of characters possible, where the consumed characters are one of the identifiers in the first column of the [52690]named character references table. Append each character to the [52691]temporary buffer when it's consumed. </p> <p> If there is a match If the character reference was [52692]consumed as part of an attribute, and the last character matched is not a U+003B SEMICOLON character (;), and the [52693]next input character is either a U+003D EQUALS SIGN character (=) or an [52694]ASCII alphanumeric, then, for historical reasons, [52695]flush code points consumed as a character reference and switch to the [52696]return state. </p> <p> Otherwise: </p> <p> 1. If the last character matched is not a U+003B SEMICOLON character (;), then this is a [52697]missing-semicolon-after-character-reference [52698]parse error. 2. Set the [52699]temporary buffer to the empty string. Append one or two characters corresponding to the character reference name (as given by the second column of the [52700]named character references table) to the [52701]temporary buffer. 3. [52702]Flush code points consumed as a character reference. Switch to the [52703]return state. </p> <p> Otherwise [52704]Flush code points consumed as a character reference. Switch to the [52705]ambiguous ampersand state. </p> <p> If the markup contains (not in an attribute) the string I'm &notit; I tell you, the character reference is parsed as "not", as in, I'm ¬it; I tell you (and this is a parse error). But if the markup was I'm &notin; I tell you, the character reference would be parsed as "notin;", resulting in I'm ∉ I tell you (and no parse error). </p> <p> However, if the markup contains the string I'm &notit; I tell you in an attribute, no character reference is parsed and string remains intact (and there is no parse error). </p> <p> 13.2.5.74 Ambiguous ampersand state </p> <p> Consume the [52706]next input character: </p> <p> [52707]ASCII alphanumeric If the character reference was [52708]consumed as part of an attribute, then append the [52709]current input character to the current attribute's value. Otherwise, emit the [52710]current input character as a character token. </p> <p> U+003B SEMICOLON (;) This is an [52711]unknown-named-character-reference [52712]parse error. [52713]Reconsume in the [52714]return state. </p> <p> Anything else [52715]Reconsume in the [52716]return state. </p> <p> 13.2.5.75 Numeric character reference state </p> <p> Set the character reference code to zero (0). </p> <p> Consume the [52717]next input character: </p> <p> U+0078 LATIN SMALL LETTER X U+0058 LATIN CAPITAL LETTER X Append the [52718]current input character to the [52719]temporary buffer. Switch to the [52720]hexadecimal character reference start state. </p> <p> Anything else [52721]Reconsume in the [52722]decimal character reference start state. </p> <p> 13.2.5.76 Hexadecimal character reference start state </p> <p> Consume the [52723]next input character: </p> <p> [52724]ASCII hex digit [52725]Reconsume in the [52726]hexadecimal character reference state. </p> <p> Anything else This is an [52727]absence-of-digits-in-numeric-character-reference [52728]parse error. [52729]Flush code points consumed as a character reference. [52730]Reconsume in the [52731]return state. </p> <p> 13.2.5.77 Decimal character reference start state </p> <p> Consume the [52732]next input character: </p> <p> [52733]ASCII digit [52734]Reconsume in the [52735]decimal character reference state. </p> <p> Anything else This is an [52736]absence-of-digits-in-numeric-character-reference [52737]parse error. [52738]Flush code points consumed as a character reference. [52739]Reconsume in the [52740]return state. </p> <p> 13.2.5.78 Hexadecimal character reference state </p> <p> Consume the [52741]next input character: </p> <p> [52742]ASCII digit Multiply the [52743]character reference code by 16. Add a numeric version of the [52744]current input character (subtract 0x0030 from the character's code point) to the [52745]character reference code. </p> <p> [52746]ASCII upper hex digit Multiply the [52747]character reference code by 16. Add a numeric version of the [52748]current input character as a hexadecimal digit (subtract 0x0037 from the character's code point) to the [52749]character reference code. </p> <p> [52750]ASCII lower hex digit Multiply the [52751]character reference code by 16. Add a numeric version of the [52752]current input character as a hexadecimal digit (subtract 0x0057 from the character's code point) to the [52753]character reference code. </p> <p> U+003B SEMICOLON (;) Switch to the [52754]numeric character reference end state. </p> <p> Anything else This is a [52755]missing-semicolon-after-character-reference [52756]parse error. [52757]Reconsume in the [52758]numeric character reference end state. </p> <p> 13.2.5.79 Decimal character reference state </p> <p> Consume the [52759]next input character: </p> <p> [52760]ASCII digit Multiply the [52761]character reference code by 10. Add a numeric version of the [52762]current input character (subtract 0x0030 from the character's code point) to the [52763]character reference code. </p> <p> U+003B SEMICOLON (;) Switch to the [52764]numeric character reference end state. </p> <p> Anything else This is a [52765]missing-semicolon-after-character-reference [52766]parse error. [52767]Reconsume in the [52768]numeric character reference end state. </p> <p> 13.2.5.80 Numeric character reference end state </p> <p> Check the [52769]character reference code: * If the number is 0x00, then this is a [52770]null-character-reference [52771]parse error. Set the [52772]character reference code to 0xFFFD. * If the number is greater than 0x10FFFF, then this is a [52773]character-reference-outside-unicode-range [52774]parse error. Set the [52775]character reference code to 0xFFFD. * If the number is a [52776]surrogate, then this is a [52777]surrogate-character-reference [52778]parse error. Set the [52779]character reference code to 0xFFFD. * If the number is a [52780]noncharacter, then this is a [52781]noncharacter-character-reference [52782]parse error. * If the number is 0x0D, or a [52783]control that's not [52784]ASCII whitespace, then this is a [52785]control-character-reference [52786]parse error. If the number is one of the numbers in the first column of the following table, then find the row with that number in the first column, and set the [52787]character reference code to the number in the second column of that row. </p> <p> Number Code point 0x80 0x20AC EURO SIGN (€) 0x82 0x201A SINGLE LOW-9 QUOTATION MARK (‚) 0x83 0x0192 LATIN SMALL LETTER F WITH HOOK (ƒ) 0x84 0x201E DOUBLE LOW-9 QUOTATION MARK („) 0x85 0x2026 HORIZONTAL ELLIPSIS (…) 0x86 0x2020 DAGGER (†) 0x87 0x2021 DOUBLE DAGGER (‡) 0x88 0x02C6 MODIFIER LETTER CIRCUMFLEX ACCENT (ˆ) 0x89 0x2030 PER MILLE SIGN (‰) 0x8A 0x0160 LATIN CAPITAL LETTER S WITH CARON (Š) 0x8B 0x2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK (‹) 0x8C 0x0152 LATIN CAPITAL LIGATURE OE (Œ) 0x8E 0x017D LATIN CAPITAL LETTER Z WITH CARON (Ž) 0x91 0x2018 LEFT SINGLE QUOTATION MARK (‘) 0x92 0x2019 RIGHT SINGLE QUOTATION MARK (’) 0x93 0x201C LEFT DOUBLE QUOTATION MARK (“) 0x94 0x201D RIGHT DOUBLE QUOTATION MARK (”) 0x95 0x2022 BULLET (•) 0x96 0x2013 EN DASH (–) 0x97 0x2014 EM DASH (—) 0x98 0x02DC SMALL TILDE (˜) 0x99 0x2122 TRADE MARK SIGN (™) 0x9A 0x0161 LATIN SMALL LETTER S WITH CARON (š) 0x9B 0x203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (›) 0x9C 0x0153 LATIN SMALL LIGATURE OE (œ) 0x9E 0x017E LATIN SMALL LETTER Z WITH CARON (ž) 0x9F 0x0178 LATIN CAPITAL LETTER Y WITH DIAERESIS (Ÿ) </p> <p> Set the [52788]temporary buffer to the empty string. Append a code point equal to the [52789]character reference code to the [52790]temporary buffer. [52791]Flush code points consumed as a character reference. Switch to the [52792]return state. </p> <p> 13.2.6 Tree construction </p> <p> The input to the tree construction stage is a sequence of tokens from the [52793]tokenization stage. The tree construction stage is associated with a DOM [52794]Document object when a parser is created. The "output" of this stage consists of dynamically modifying or extending that document's DOM tree. </p> <p> This specification does not define when an interactive user agent has to render the [52795]Document so that it is available to the user, or when it has to begin accepting user input. __________________________________________________________________ </p> <p> As each token is emitted from the tokenizer, the user agent must follow the appropriate steps from the following list, known as the tree construction dispatcher: </p> <p> If the [52796]stack of open elements is empty If the [52797]adjusted current node is an element in the [52798]HTML namespace </p> <p> If the [52799]adjusted current node is a [52800]MathML text integration point and the token is a start tag whose tag name is neither "mglyph" nor "malignmark" </p> <p> If the [52801]adjusted current node is a [52802]MathML text integration point and the token is a character token </p> <p> If the [52803]adjusted current node is a [52804]MathML annotation-xml element and the token is a start tag whose tag name is "svg" </p> <p> If the [52805]adjusted current node is an [52806]HTML integration point and the token is a start tag </p> <p> If the [52807]adjusted current node is an [52808]HTML integration point and the token is a character token </p> <p> If the token is an end-of-file token Process the token according to the rules given in the section corresponding to the current [52809]insertion mode in HTML content. </p> <p> Otherwise Process the token according to the rules given in the section for parsing tokens [52810]in foreign content. </p> <p> The next token is the token that is about to be processed by the [52811]tree construction dispatcher (even if the token is subsequently just ignored). </p> <p> A node is a MathML text integration point if it is one of the following elements: * A [52812]MathML mi element * A [52813]MathML mo element * A [52814]MathML mn element * A [52815]MathML ms element * A [52816]MathML mtext element </p> <p> A node is an HTML integration point if it is one of the following elements: * A [52817]MathML annotation-xml element whose start tag token had an attribute with the name "encoding" whose value was an [52818]ASCII case-insensitive match for the string "text/html" * A [52819]MathML annotation-xml element whose start tag token had an attribute with the name "encoding" whose value was an [52820]ASCII case-insensitive match for the string "application/xhtml+xml" * An [52821]SVG foreignObject element * An [52822]SVG desc element * An [52823]SVG title element </p> <p> If the node in question is the [52824]context element passed to the [52825]HTML fragment parsing algorithm, then the start tag token for that element is the "fake" token created during by that [52826]HTML fragment parsing algorithm. __________________________________________________________________ </p> <p> Not all of the tag names mentioned below are conformant tag names in this specification; many are included to handle legacy content. They still form part of the algorithm that implementations are required to implement to claim conformance. </p> <p> The algorithm described below places no limit on the depth of the DOM tree generated, or on the length of tag names, attribute names, attribute values, [52827]Text nodes, etc. While implementers are encouraged to [52828]avoid arbitrary limits, it is recognized that practical concerns will likely force user agents to impose nesting depth constraints. </p> <p> 13.2.6.1 Creating and inserting nodes </p> <p> While the parser is processing a token, it can enable or disable foster parenting. This affects the following algorithm. </p> <p> The appropriate place for inserting a node, optionally using a particular override target, is the position in an element returned by running the following steps: 1. If there was an override target specified, then let target be the override target. Otherwise, let target be the [52829]current node. 2. Determine the adjusted insertion location using the first matching steps from the following list: </p> <p> If [52830]foster parenting is enabled and target is a [52831]table, [52832]tbody, [52833]tfoot, [52834]thead, or [52835]tr element Foster parenting happens when content is misnested in tables. </p> <p> Run these substeps: </p> <p> 1. Let last template be the last [52836]template element in the [52837]stack of open elements, if any. 2. Let last table be the last [52838]table element in the [52839]stack of open elements, if any. 3. If there is a last template and either there is no last table, or there is one, but last template is lower (more recently added) than last table in the [52840]stack of open elements, then: let adjusted insertion location be inside last template's [52841]template contents, after its last child (if any), and abort these steps. 4. If there is no last table, then let adjusted insertion location be inside the first element in the [52842]stack of open elements (the [52843]html element), after its last child (if any), and abort these steps. ([52844]fragment case) 5. If last table has a parent node, then let adjusted insertion location be inside last table's parent node, immediately before last table, and abort these steps. 6. Let previous element be the element immediately above last table in the [52845]stack of open elements. 7. Let adjusted insertion location be inside previous element, after its last child (if any). </p> <p> These steps are involved in part because it's possible for elements, the [52846]table element in this case in particular, to have been moved by a script around in the DOM, or indeed removed from the DOM entirely, after the element was inserted by the parser. </p> <p> Otherwise Let adjusted insertion location be inside target, after its last child (if any). </p> <p> 3. If the adjusted insertion location is inside a [52847]template element, let it instead be inside the [52848]template element's [52849]template contents, after its last child (if any). 4. Return the adjusted insertion location. __________________________________________________________________ </p> <p> To create an element for a token, given a token token, a string namespace and a [52850]Node object intendedParent: 1. If the [52851]active speculative HTML parser is not null, then return the result of [52852]creating a speculative mock element given namespace, token's tag name, and token's attributes. 2. Otherwise, optionally [52853]create a speculative mock element given namespace, token's tag name, and token's attributes. The result is not used. This step allows for a [52854]speculative fetch to be initiated from non-speculative parsing. The fetch is still speculative at this point, because, for example, by the time the element is inserted, intended parent might have been removed from the document. 3. Let document be intendedParent's [52855]node document. 4. Let localName be token's tag name. 5. Let is be the value of the "[52856]is" attribute in token, if such an attribute exists; otherwise null. 6. Let registry be the result of [52857]looking up a custom element registry given intendedParent. 7. Let definition be the result of [52858]looking up a custom element definition given registry, namespace, localName, and is. 8. Let willExecuteScript be true if definition is non-null and the parser was not created as part of the [52859]HTML fragment parsing algorithm; otherwise false. 9. If willExecuteScript is true: 1. Increment document's [52860]throw-on-dynamic-markup-insertion counter. 2. If the [52861]JavaScript execution context stack is empty, then [52862]perform a microtask checkpoint. 3. Push a new [52863]element queue onto document's [52864]relevant agent's [52865]custom element reactions stack. 10. Let element be the result of [52866]creating an element given document, localName, namespace, null, is, willExecuteScript, and registry. This will cause [52867]custom element constructors to run, if willExecuteScript is true. However, since we incremented the [52868]throw-on-dynamic-markup-insertion counter, this cannot cause [52869]new characters to be inserted into the tokenizer, or [52870]the document to be blown away. 11. [52871]Append each attribute in the given token to element. This can [52872]enqueue a custom element callback reaction for the attributeChangedCallback, which might run immediately (in the next step). Even though the [52873]is attribute governs the [52874]creation of a [52875]customized built-in element, it is not present during the execution of the relevant [52876]custom element constructor; it is appended in this step, along with all other attributes. 12. If willExecuteScript is true: 1. Let queue be the result of popping from document's [52877]relevant agent's [52878]custom element reactions stack. (This will be the same [52879]element queue as was pushed above.) 2. [52880]Invoke custom element reactions in queue. 3. Decrement document's [52881]throw-on-dynamic-markup-insertion counter. 13. If element has an xmlns attribute in the [52882]XMLNS namespace whose value is not exactly the same as the element's namespace, that is a [52883]parse error. Similarly, if element has an xmlns:xlink attribute in the [52884]XMLNS namespace whose value is not the [52885]XLink Namespace, that is a [52886]parse error. 14. If element is a [52887]resettable element and not a [52888]form-associated custom element, then invoke its [52889]reset algorithm. (This initializes the element's [52890]value and [52891]checkedness based on the element's attributes.) 15. If element is a [52892]form-associated element and not a [52893]form-associated custom element, the [52894]form element pointer is not null, there is no [52895]template element on the [52896]stack of open elements, element is either not [52897]listed or doesn't have a [52898]form attribute, and the intendedParent is in the same [52899]tree as the element pointed to by the [52900]form element pointer, then [52901]associate element with the [52902]form element pointed to by the [52903]form element pointer and set element's [52904]parser inserted flag. 16. Return element. __________________________________________________________________ </p> <p> To insert an element at the adjusted insertion location with an element element: 1. Let the adjusted insertion location be the [52905]appropriate place for inserting a node. 2. If it is not possible to insert element at the adjusted insertion location, abort these steps. 3. If the parser was not created as part of the [52906]HTML fragment parsing algorithm, then push a new [52907]element queue onto element's [52908]relevant agent's [52909]custom element reactions stack. 4. Insert element at the adjusted insertion location. 5. If the parser was not created as part of the [52910]HTML fragment parsing algorithm, then pop the [52911]element queue from element's [52912]relevant agent's [52913]custom element reactions stack, and [52914]invoke custom element reactions in that queue. </p> <p> If the adjusted insertion location cannot accept more elements, e.g., because it's a [52915]Document that already has an element child, then element is dropped on the floor. </p> <p> To insert a foreign element, given a token token, a string namespace, and a boolean onlyAddToElementStack: 1. Let the adjustedInsertionLocation be the [52916]appropriate place for inserting a node. 2. Let element be the result of [52917]creating an element for the token given token, namespace, and the element in which the adjustedInsertionLocation finds itself. 3. If onlyAddToElementStack is false, then run [52918]insert an element at the adjusted insertion location with element. 4. Push element onto the [52919]stack of open elements so that it is the new [52920]current node. 5. Return element. </p> <p> To insert an HTML element given a token token: [52921]insert a foreign element given token, the [52922]HTML namespace, and false. __________________________________________________________________ </p> <p> When the steps below require the user agent to adjust MathML attributes for a token, then, if the token has an attribute named definitionurl, change its name to definitionURL (note the case difference). </p> <p> When the steps below require the user agent to adjust SVG attributes for a token, then, for each attribute on the token whose attribute name is one of the ones in the first column of the following table, change the attribute's name to the name given in the corresponding cell in the second column. (This fixes the case of SVG attributes that are not all lowercase.) </p> <p> Attribute name on token Attribute name on element attributename attributeName attributetype attributeType basefrequency baseFrequency baseprofile baseProfile calcmode calcMode clippathunits clipPathUnits diffuseconstant diffuseConstant edgemode edgeMode filterunits filterUnits glyphref glyphRef gradienttransform gradientTransform gradientunits gradientUnits kernelmatrix kernelMatrix kernelunitlength kernelUnitLength keypoints keyPoints keysplines keySplines keytimes keyTimes lengthadjust lengthAdjust limitingconeangle limitingConeAngle markerheight markerHeight markerunits markerUnits markerwidth markerWidth maskcontentunits maskContentUnits maskunits maskUnits numoctaves numOctaves pathlength pathLength patterncontentunits patternContentUnits patterntransform patternTransform patternunits patternUnits pointsatx pointsAtX pointsaty pointsAtY pointsatz pointsAtZ preservealpha preserveAlpha preserveaspectratio preserveAspectRatio primitiveunits primitiveUnits refx refX refy refY repeatcount repeatCount repeatdur repeatDur requiredextensions requiredExtensions requiredfeatures requiredFeatures specularconstant specularConstant specularexponent specularExponent spreadmethod spreadMethod startoffset startOffset stddeviation stdDeviation stitchtiles stitchTiles surfacescale surfaceScale systemlanguage systemLanguage tablevalues tableValues targetx targetX targety targetY textlength textLength viewbox viewBox viewtarget viewTarget xchannelselector xChannelSelector ychannelselector yChannelSelector zoomandpan zoomAndPan </p> <p> When the steps below require the user agent to adjust foreign attributes for a token, then, if any of the attributes on the token match the strings given in the first column of the following table, let the attribute be a namespaced attribute, with the prefix being the string given in the corresponding cell in the second column, the local name being the string given in the corresponding cell in the third column, and the namespace being the namespace given in the corresponding cell in the fourth column. (This fixes the use of namespaced attributes, in particular [52923]lang attributes in the XML namespace.) </p> <p> Attribute name Prefix Local name Namespace xlink:actuate xlink actuate [52924]XLink namespace xlink:arcrole xlink arcrole [52925]XLink namespace xlink:href xlink href [52926]XLink namespace xlink:role xlink role [52927]XLink namespace xlink:show xlink show [52928]XLink namespace xlink:title xlink title [52929]XLink namespace xlink:type xlink type [52930]XLink namespace xml:lang xml lang [52931]XML namespace xml:space xml space [52932]XML namespace xmlns (none) xmlns [52933]XMLNS namespace xmlns:xlink xmlns xlink [52934]XMLNS namespace __________________________________________________________________ </p> <p> When the steps below require the user agent to insert a character while processing a token, the user agent must run the following steps: 1. Let data be the characters passed to the algorithm, or, if no characters were explicitly specified, the character of the character token being processed. 2. Let the adjusted insertion location be the [52935]appropriate place for inserting a node. 3. If the adjusted insertion location is in a [52936]Document node, then return. The DOM will not let [52937]Document nodes have [52938]Text node children, so they are dropped on the floor. 4. If there is a [52939]Text node immediately before the adjusted insertion location, then append data to that [52940]Text node's [52941]data. Otherwise, create a new [52942]Text node whose [52943]data is data and whose [52944]node document is the same as that of the element in which the adjusted insertion location finds itself, and insert the newly created node at the adjusted insertion location. </p> <p> Here are some sample inputs to the parser and the corresponding number of [52945]Text nodes that they result in, assuming a user agent that executes scripts. Input Number of [52946]Text nodes A<script> var script = document.getElementsByTagName(ʼscriptʼ)[0]; document.body.removeChild(script); </script>B </p> <p> One [52947]Text node in the document, containing "AB". A<script> var text = document.createTextNode(ʼBʼ); document.body.appendChild(text); </script>C </p> <p> Three [52948]Text nodes; "A" before the script, the script's contents, and "BC" after the script (the parser appends to the [52949]Text node created by the script). A<script> var text = document.getElementsByTagName(ʼscriptʼ)[0].firstChild; text.data = ʼBʼ; document.body.appendChild(text); </script>C </p> <p> Two adjacent [52950]Text nodes in the document, containing "A" and "BC". A<table>B<tr>C</tr>D</table> </p> <p> One [52951]Text node before the table, containing "ABCD". (This is caused by [52952]foster parenting.) A<table><tr> B</tr> C</table> </p> <p> One [52953]Text node before the table, containing "A B C" (A-space-B-space-C). (This is caused by [52954]foster parenting.) A<table><tr> B</tr> </em>C</table> </p> <p> One [52955]Text node before the table, containing "A BC" (A-space-B-C), and one [52956]Text node inside the table (as a child of a [52957]tbody) with a single space character. (Space characters separated from non-space characters by non-character tokens are not affected by [52958]foster parenting, even if those other tokens then get ignored.) __________________________________________________________________ </p> <p> When the steps below require the user agent to insert a comment while processing a comment token, optionally with an explicit insertion position position, the user agent must run the following steps: 1. Let data be the data given in the comment token being processed. 2. If position was specified, then let the adjusted insertion location be position. Otherwise, let adjusted insertion location be the [52959]appropriate place for inserting a node. 3. Create a [52960]Comment node whose data attribute is set to data and whose [52961]node document is the same as that of the node in which the adjusted insertion location finds itself. 4. Insert the newly created node at the adjusted insertion location. </p> <p> 13.2.6.2 Parsing elements that contain only text </p> <p> The generic raw text element parsing algorithm and the generic RCDATA element parsing algorithm consist of the following steps. These algorithms are always invoked in response to a start tag token. 1. [52962]Insert an HTML element for the token. 2. If the algorithm that was invoked is the [52963]generic raw text element parsing algorithm, switch the tokenizer to the [52964]RAWTEXT state; otherwise the algorithm invoked was the [52965]generic RCDATA element parsing algorithm, switch the tokenizer to the [52966]RCDATA state. 3. Let the [52967]original insertion mode be the current [52968]insertion mode. 4. Then, switch the [52969]insertion mode to "[52970]text". </p> <p> 13.2.6.3 Closing elements that have implied end tags </p> <p> When the steps below require the UA to generate implied end tags, then, while the [52971]current node is a [52972]dd element, a [52973]dt element, an [52974]li element, an [52975]optgroup element, an [52976]option element, a [52977]p element, an [52978]rb element, an [52979]rp element, an [52980]rt element, or an [52981]rtc element, the UA must pop the [52982]current node off the [52983]stack of open elements. </p> <p> If a step requires the UA to generate implied end tags but lists an element to exclude from the process, then the UA must perform the above steps as if that element was not in the above list. </p> <p> When the steps below require the UA to generate all implied end tags thoroughly, then, while the [52984]current node is a [52985]caption element, a [52986]colgroup element, a [52987]dd element, a [52988]dt element, an [52989]li element, an [52990]optgroup element, an [52991]option element, a [52992]p element, an [52993]rb element, an [52994]rp element, an [52995]rt element, an [52996]rtc element, a [52997]tbody element, a [52998]td element, a [52999]tfoot element, a [53000]th element, a [53001]thead element, or a [53002]tr element, the UA must pop the [53003]current node off the [53004]stack of open elements. </p> <p> 13.2.6.4 The rules for parsing tokens in HTML content </p> <p> 13.2.6.4.1 The "initial" insertion mode </p> <p> A [53005]Document object has an associated parser cannot change the mode flag (a boolean). It is initially false. </p> <p> When the user agent is to apply the rules for the "[53006]initial" [53007]insertion mode, the user agent must handle the token as follows: </p> <p> A character token that is one of U+0009 CHARACTER TABULATION, U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), or U+0020 SPACE Ignore the token. </p> <p> A comment token [53008]Insert a comment as the last child of the [53009]Document object. </p> <p> A DOCTYPE token If the DOCTYPE token's name is not "html", or the token's public identifier is not missing, or the token's system identifier is neither missing nor "[53010]about:legacy-compat", then there is a [53011]parse error. </p> <p> Append a [53012]DocumentType node to the [53013]Document node, with its [53014]name set to the name given in the DOCTYPE token, or the empty string if the name was missing; its [53015]public ID set to the public identifier given in the DOCTYPE token, or the empty string if the public identifier was missing; and its [53016]system ID set to the system identifier given in the DOCTYPE token, or the empty string if the system identifier was missing. </p> <p> This also ensures that the [53017]DocumentType node is returned as the value of the [53018]doctype attribute of the [53019]Document object. </p> <p> Then, if the document is not [53020]an iframe srcdoc document, and the [53021]parser cannot change the mode flag is false, and the DOCTYPE token matches one of the conditions in the following list, then set the [53022]Document to [53023]quirks mode: </p> <p> + The [53024]force-quirks flag is set to on. + The name is not "html". + The public identifier is set to: "-//W3O//DTD W3 HTML Strict 3.0//EN//" + The public identifier is set to: "-/W3C/DTD HTML 4.0 Transitional/EN" + The public identifier is set to: "HTML" + The system identifier is set to: "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd" + The public identifier starts with: "+//Silmaril//dtd html Pro v0r11 19970101//" + The public identifier starts with: "-//AS//DTD HTML 3.0 asWedit + extensions//" + The public identifier starts with: "-//AdvaSoft Ltd//DTD HTML 3.0 asWedit + extensions//" + The public identifier starts with: "-//IETF//DTD HTML 2.0 Level 1//" + The public identifier starts with: "-//IETF//DTD HTML 2.0 Level 2//" + The public identifier starts with: "-//IETF//DTD HTML 2.0 Strict Level 1//" + The public identifier starts with: "-//IETF//DTD HTML 2.0 Strict Level 2//" + The public identifier starts with: "-//IETF//DTD HTML 2.0 Strict//" + The public identifier starts with: "-//IETF//DTD HTML 2.0//" + The public identifier starts with: "-//IETF//DTD HTML 2.1E//" + The public identifier starts with: "-//IETF//DTD HTML 3.0//" + The public identifier starts with: "-//IETF//DTD HTML 3.2 Final//" + The public identifier starts with: "-//IETF//DTD HTML 3.2//" + The public identifier starts with: "-//IETF//DTD HTML 3//" + The public identifier starts with: "-//IETF//DTD HTML Level 0//" + The public identifier starts with: "-//IETF//DTD HTML Level 1//" + The public identifier starts with: "-//IETF//DTD HTML Level 2//" + The public identifier starts with: "-//IETF//DTD HTML Level 3//" + The public identifier starts with: "-//IETF//DTD HTML Strict Level 0//" + The public identifier starts with: "-//IETF//DTD HTML Strict Level 1//" + The public identifier starts with: "-//IETF//DTD HTML Strict Level 2//" + The public identifier starts with: "-//IETF//DTD HTML Strict Level 3//" + The public identifier starts with: "-//IETF//DTD HTML Strict//" + The public identifier starts with: "-//IETF//DTD HTML//" + The public identifier starts with: "-//Metrius//DTD Metrius Presentational//" + The public identifier starts with: "-//Microsoft//DTD Internet Explorer 2.0 HTML Strict//" + The public identifier starts with: "-//Microsoft//DTD Internet Explorer 2.0 HTML//" + The public identifier starts with: "-//Microsoft//DTD Internet Explorer 2.0 Tables//" + The public identifier starts with: "-//Microsoft//DTD Internet Explorer 3.0 HTML Strict//" + The public identifier starts with: "-//Microsoft//DTD Internet Explorer 3.0 HTML//" + The public identifier starts with: "-//Microsoft//DTD Internet Explorer 3.0 Tables//" + The public identifier starts with: "-//Netscape Comm. Corp.//DTD HTML//" + The public identifier starts with: "-//Netscape Comm. Corp.//DTD Strict HTML//" + The public identifier starts with: "-//O'Reilly and Associates//DTD HTML 2.0//" + The public identifier starts with: "-//O'Reilly and Associates//DTD HTML Extended 1.0//" + The public identifier starts with: "-//O'Reilly and Associates//DTD HTML Extended Relaxed 1.0//" + The public identifier starts with: "-//SQ//DTD HTML 2.0 HoTMetaL + extensions//" + The public identifier starts with: "-//SoftQuad Software//DTD HoTMetaL PRO 6.0::19990601::extensions to HTML 4.0//" + The public identifier starts with: "-//SoftQuad//DTD HoTMetaL PRO 4.0::19971010::extensions to HTML 4.0//" + The public identifier starts with: "-//Spyglass//DTD HTML 2.0 Extended//" + The public identifier starts with: "-//Sun Microsystems Corp.//DTD HotJava HTML//" + The public identifier starts with: "-//Sun Microsystems Corp.//DTD HotJava Strict HTML//" + The public identifier starts with: "-//W3C//DTD HTML 3 1995-03-24//" + The public identifier starts with: "-//W3C//DTD HTML 3.2 Draft//" + The public identifier starts with: "-//W3C//DTD HTML 3.2 Final//" + The public identifier starts with: "-//W3C//DTD HTML 3.2//" + The public identifier starts with: "-//W3C//DTD HTML 3.2S Draft//" + The public identifier starts with: "-//W3C//DTD HTML 4.0 Frameset//" + The public identifier starts with: "-//W3C//DTD HTML 4.0 Transitional//" + The public identifier starts with: "-//W3C//DTD HTML Experimental 19960712//" + The public identifier starts with: "-//W3C//DTD HTML Experimental 970421//" + The public identifier starts with: "-//W3C//DTD W3 HTML//" + The public identifier starts with: "-//W3O//DTD W3 HTML 3.0//" + The public identifier starts with: "-//WebTechs//DTD Mozilla HTML 2.0//" + The public identifier starts with: "-//WebTechs//DTD Mozilla HTML//" + The system identifier is missing and the public identifier starts with: "-//W3C//DTD HTML 4.01 Frameset//" + The system identifier is missing and the public identifier starts with: "-//W3C//DTD HTML 4.01 Transitional//" </p> <p> Otherwise, if the document is not [53025]an iframe srcdoc document, and the [53026]parser cannot change the mode flag is false, and the DOCTYPE token matches one of the conditions in the following list, then set the [53027]Document to [53028]limited-quirks mode: </p> <p> + The public identifier starts with: "-//W3C//DTD XHTML 1.0 Frameset//" + The public identifier starts with: "-//W3C//DTD XHTML 1.0 Transitional//" + The system identifier is not missing and the public identifier starts with: "-//W3C//DTD HTML 4.01 Frameset//" + The system identifier is not missing and the public identifier starts with: "-//W3C//DTD HTML 4.01 Transitional//" </p> <p> The system identifier and public identifier strings must be compared to the values given in the lists above in an [53029]ASCII case-insensitive manner. A system identifier whose value is the empty string is not considered missing for the purposes of the conditions above. </p> <p> Then, switch the [53030]insertion mode to "[53031]before html". </p> <p> Anything else If the document is not [53032]an iframe srcdoc document, then this is a [53033]parse error; if the [53034]parser cannot change the mode flag is false, set the [53035]Document to [53036]quirks mode. </p> <p> In any case, switch the [53037]insertion mode to "[53038]before html", then reprocess the token. </p> <p> 13.2.6.4.2 The "before html" insertion mode </p> <p> When the user agent is to apply the rules for the "[53039]before html" [53040]insertion mode, the user agent must handle the token as follows: </p> <p> A DOCTYPE token [53041]Parse error. Ignore the token. </p> <p> A comment token [53042]Insert a comment as the last child of the [53043]Document object. </p> <p> A character token that is one of U+0009 CHARACTER TABULATION, U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), or U+0020 SPACE Ignore the token. </p> <p> A start tag whose tag name is "html" [53044]Create an element for the token in the [53045]HTML namespace, with the [53046]Document as the intended parent. Append it to the [53047]Document object. Put this element in the [53048]stack of open elements. </p> <p> Switch the [53049]insertion mode to "[53050]before head". </p> <p> An end tag whose tag name is one of: "head", "body", "html", "br" Act as described in the "anything else" entry below. </p> <p> Any other end tag [53051]Parse error. Ignore the token. </p> <p> Anything else Create an [53052]html element whose [53053]node document is the [53054]Document object. Append it to the [53055]Document object. Put this element in the [53056]stack of open elements. </p> <p> Switch the [53057]insertion mode to "[53058]before head", then reprocess the token. </p> <p> The [53059]document element can end up being removed from the [53060]Document object, e.g. by scripts; nothing in particular happens in such cases, content continues being appended to the nodes as described in the next section. </p> <p> 13.2.6.4.3 The "before head" insertion mode </p> <p> When the user agent is to apply the rules for the "[53061]before head" [53062]insertion mode, the user agent must handle the token as follows: </p> <p> A character token that is one of U+0009 CHARACTER TABULATION, U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), or U+0020 SPACE Ignore the token. </p> <p> A comment token [53063]Insert a comment. </p> <p> A DOCTYPE token [53064]Parse error. Ignore the token. </p> <p> A start tag whose tag name is "html" Process the token [53065]using the rules for the "[53066]in body" [53067]insertion mode. </p> <p> A start tag whose tag name is "head" [53068]Insert an HTML element for the token. </p> <p> Set the [53069]head element pointer to the newly created [53070]head element. </p> <p> Switch the [53071]insertion mode to "[53072]in head". </p> <p> An end tag whose tag name is one of: "head", "body", "html", "br" Act as described in the "anything else" entry below. </p> <p> Any other end tag [53073]Parse error. Ignore the token. </p> <p> Anything else [53074]Insert an HTML element for a "head" start tag token with no attributes. </p> <p> Set the [53075]head element pointer to the newly created [53076]head element. </p> <p> Switch the [53077]insertion mode to "[53078]in head". </p> <p> Reprocess the current token. </p> <p> 13.2.6.4.4 The "in head" insertion mode </p> <p> When the user agent is to apply the rules for the "[53079]in head" [53080]insertion mode, the user agent must handle the token as follows: </p> <p> A character token that is one of U+0009 CHARACTER TABULATION, U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), or U+0020 SPACE [53081]Insert the character. </p> <p> A comment token [53082]Insert a comment. </p> <p> A DOCTYPE token [53083]Parse error. Ignore the token. </p> <p> A start tag whose tag name is "html" Process the token [53084]using the rules for the "[53085]in body" [53086]insertion mode. </p> <p> A start tag whose tag name is one of: "base", "basefont", "bgsound", "link" [53087]Insert an HTML element for the token. Immediately pop the [53088]current node off the [53089]stack of open elements. </p> <p> [53090]Acknowledge the token's self-closing flag, if it is set. </p> <p> A start tag whose tag name is "meta" [53091]Insert an HTML element for the token. Immediately pop the [53092]current node off the [53093]stack of open elements. </p> <p> [53094]Acknowledge the token's self-closing flag, if it is set. </p> <p> If the [53095]active speculative HTML parser is null, then: </p> <p> 1. If the element has a [53096]charset attribute, and [53097]getting an encoding from its value results in an [53098]encoding, and the [53099]confidence is currently tentative, then [53100]change the encoding to the resulting encoding. 2. Otherwise, if the element has an [53101]http-equiv attribute whose value is an [53102]ASCII case-insensitive match for the string "Content-Type", and the element has a [53103]content attribute, and applying the [53104]algorithm for extracting a character encoding from a meta element to that attribute's value returns an [53105]encoding, and the [53106]confidence is currently tentative, then [53107]change the encoding to the extracted encoding. </p> <p> The [53108]speculative HTML parser doesn't speculatively apply character encoding declarations in order to reduce implementation complexity. </p> <p> A start tag whose tag name is "title" Follow the [53109]generic RCDATA element parsing algorithm. </p> <p> A start tag whose tag name is "noscript", if the [53110]scripting flag is enabled </p> <p> A start tag whose tag name is one of: "noframes", "style" Follow the [53111]generic raw text element parsing algorithm. </p> <p> A start tag whose tag name is "noscript", if the [53112]scripting flag is disabled [53113]Insert an HTML element for the token. </p> <p> Switch the [53114]insertion mode to "[53115]in head noscript". </p> <p> A start tag whose tag name is "script" Run these steps: </p> <p> 1. Let the adjusted insertion location be the [53116]appropriate place for inserting a node. 2. [53117]Create an element for the token in the [53118]HTML namespace, with the intended parent being the element in which the adjusted insertion location finds itself. 3. Set the element's [53119]parser document to the [53120]Document, and set the element's [53121]force async to false. This ensures that, if the script is external, any [53122]document.write() calls in the script will execute in-line, instead of blowing the document away, as would happen in most other cases. It also prevents the script from executing until the end tag is seen. 4. If the parser was created as part of the [53123]HTML fragment parsing algorithm, then set the [53124]script element's [53125]already started to true. ([53126]fragment case) 5. If the parser was invoked via the [53127]document.write() or [53128]document.writeln() methods, then optionally set the [53129]script element's [53130]already started to true. (For example, the user agent might use this clause to prevent execution of [53131]cross-origin scripts inserted via [53132]document.write() under slow network conditions, or when the page has already taken a long time to load.) 6. Insert the newly created element at the adjusted insertion location. 7. Push the element onto the [53133]stack of open elements so that it is the new [53134]current node. 8. Switch the tokenizer to the [53135]script data state. 9. Let the [53136]original insertion mode be the current [53137]insertion mode. 10. Switch the [53138]insertion mode to "[53139]text". </p> <p> An end tag whose tag name is "head" Pop the [53140]current node (which will be the [53141]head element) off the [53142]stack of open elements. </p> <p> Switch the [53143]insertion mode to "[53144]after head". </p> <p> An end tag whose tag name is one of: "body", "html", "br" Act as described in the "anything else" entry below. </p> <p> A start tag whose tag name is "template" Run these steps: </p> <p> 1. Let templateStartTag be the start tag. 2. Insert a [53145]marker at the end of the [53146]list of active formatting elements. 3. Set the [53147]frameset-ok flag to "not ok". 4. Switch the [53148]insertion mode to "[53149]in template". 5. Push "[53150]in template" onto the [53151]stack of template insertion modes so that it is the new [53152]current template insertion mode. 6. Let the adjustedInsertionLocation be the [53153]appropriate place for inserting a node. 7. Let intendedParent be the element in which the adjustedInsertionLocation finds itself. 8. Let document be intendedParent's [53154]node document. 9. If any of the following are false: o templateStartTag's [53155]shadowrootmode is not in the [53156]none state; o document's [53157]allow declarative shadow roots is true; or o the [53158]adjusted current node is not the topmost element in the [53159]stack of open elements, then [53160]insert an HTML element for the token. 10. Otherwise: 1. Let declarativeShadowHostElement be [53161]adjusted current node. 2. Let template be the result of [53162]insert a foreign element for templateStartTag, with [53163]HTML namespace and true. 3. Let mode be templateStartTag's [53164]shadowrootmode attribute's value. 4. Let clonable be true if templateStartTag has a [53165]shadowrootclonable attribute; otherwise false. 5. Let serializable be true if templateStartTag has a [53166]shadowrootserializable attribute; otherwise false. 6. Let delegatesFocus be true if templateStartTag has a [53167]shadowrootdelegatesfocus attribute; otherwise false. 7. If declarativeShadowHostElement is a [53168]shadow host, then [53169]insert an element at the adjusted insertion location with template. 8. Otherwise: 1. Let registry be declarativeShadowHostElement's [53170]custom element registry. 2. If templateStartTag has a [53171]shadowrootcustomelementregistry attribute, then set registry to null. 3. [53172]Attach a shadow root with declarativeShadowHostElement, mode, clonable, serializable, delegatesFocus, "named", and registry. If an exception is thrown, then catch it and: 1. [53173]Insert an element at the adjusted insertion location with template. 2. The user agent may report an error to the developer console. 3. Return. 4. Let shadow be declarativeShadowHostElement's [53174]shadow root. 5. Set shadow's [53175]declarative to true. 6. Set [53176]template's [53177]template contents property to shadow. 7. Set shadow's [53178]available to element internals to true. 8. If templateStartTag has a [53179]shadowrootcustomelementregistry attribute, then set shadow's [53180]keep custom element registry null to true. </p> <p> An end tag whose tag name is "template" If there is no [53181]template element on the [53182]stack of open elements, then this is a [53183]parse error; ignore the token. </p> <p> Otherwise, run these steps: </p> <p> 1. [53184]Generate all implied end tags thoroughly. 2. If the [53185]current node is not a [53186]template element, then this is a [53187]parse error. 3. Pop elements from the [53188]stack of open elements until a [53189]template element has been popped from the stack. 4. [53190]Clear the list of active formatting elements up to the last marker. 5. Pop the [53191]current template insertion mode off the [53192]stack of template insertion modes. 6. [53193]Reset the insertion mode appropriately. </p> <p> A start tag whose tag name is "head" Any other end tag [53194]Parse error. Ignore the token. </p> <p> Anything else Pop the [53195]current node (which will be the [53196]head element) off the [53197]stack of open elements. </p> <p> Switch the [53198]insertion mode to "[53199]after head". </p> <p> Reprocess the token. </p> <p> 13.2.6.4.5 The "in head noscript" insertion mode </p> <p> When the user agent is to apply the rules for the "[53200]in head noscript" [53201]insertion mode, the user agent must handle the token as follows: </p> <p> A DOCTYPE token [53202]Parse error. Ignore the token. </p> <p> A start tag whose tag name is "html" Process the token [53203]using the rules for the "[53204]in body" [53205]insertion mode. </p> <p> An end tag whose tag name is "noscript" Pop the [53206]current node (which will be a [53207]noscript element) from the [53208]stack of open elements; the new [53209]current node will be a [53210]head element. </p> <p> Switch the [53211]insertion mode to "[53212]in head". </p> <p> A character token that is one of U+0009 CHARACTER TABULATION, U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), or U+0020 SPACE </p> <p> A comment token A start tag whose tag name is one of: "basefont", "bgsound", "link", "meta", "noframes", "style" Process the token [53213]using the rules for the "[53214]in head" [53215]insertion mode. </p> <p> An end tag whose tag name is "br" Act as described in the "anything else" entry below. </p> <p> A start tag whose tag name is one of: "head", "noscript" Any other end tag [53216]Parse error. Ignore the token. </p> <p> Anything else [53217]Parse error. </p> <p> Pop the [53218]current node (which will be a [53219]noscript element) from the [53220]stack of open elements; the new [53221]current node will be a [53222]head element. </p> <p> Switch the [53223]insertion mode to "[53224]in head". </p> <p> Reprocess the token. </p> <p> 13.2.6.4.6 The "after head" insertion mode </p> <p> When the user agent is to apply the rules for the "[53225]after head" [53226]insertion mode, the user agent must handle the token as follows: </p> <p> A character token that is one of U+0009 CHARACTER TABULATION, U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), or U+0020 SPACE [53227]Insert the character. </p> <p> A comment token [53228]Insert a comment. </p> <p> A DOCTYPE token [53229]Parse error. Ignore the token. </p> <p> A start tag whose tag name is "html" Process the token [53230]using the rules for the "[53231]in body" [53232]insertion mode. </p> <p> A start tag whose tag name is "body" [53233]Insert an HTML element for the token. </p> <p> Set the [53234]frameset-ok flag to "not ok". </p> <p> Switch the [53235]insertion mode to "[53236]in body". </p> <p> A start tag whose tag name is "frameset" [53237]Insert an HTML element for the token. </p> <p> Switch the [53238]insertion mode to "[53239]in frameset". </p> <p> A start tag whose tag name is one of: "base", "basefont", "bgsound", "link", "meta", "noframes", "script", "style", "template", "title" [53240]Parse error. </p> <p> Push the node pointed to by the [53241]head element pointer onto the [53242]stack of open elements. </p> <p> Process the token [53243]using the rules for the "[53244]in head" [53245]insertion mode. </p> <p> Remove the node pointed to by the [53246]head element pointer from the [53247]stack of open elements. (It might not be the [53248]current node at this point.) </p> <p> The [53249]head element pointer cannot be null at this point. </p> <p> An end tag whose tag name is "template" Process the token [53250]using the rules for the "[53251]in head" [53252]insertion mode. </p> <p> An end tag whose tag name is one of: "body", "html", "br" Act as described in the "anything else" entry below. </p> <p> A start tag whose tag name is "head" Any other end tag [53253]Parse error. Ignore the token. </p> <p> Anything else [53254]Insert an HTML element for a "body" start tag token with no attributes. </p> <p> Switch the [53255]insertion mode to "[53256]in body". </p> <p> Reprocess the current token. </p> <p> 13.2.6.4.7 The "in body" insertion mode </p> <p> When the user agent is to apply the rules for the "[53257]in body" [53258]insertion mode, the user agent must handle the token as follows: </p> <p> A character token that is U+0000 NULL [53259]Parse error. Ignore the token. </p> <p> A character token that is one of U+0009 CHARACTER TABULATION, U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), or U+0020 SPACE [53260]Reconstruct the active formatting elements, if any. </p> <p> [53261]Insert the token's character. </p> <p> Any other character token [53262]Reconstruct the active formatting elements, if any. </p> <p> [53263]Insert the token's character. </p> <p> Set the [53264]frameset-ok flag to "not ok". </p> <p> A comment token [53265]Insert a comment. </p> <p> A DOCTYPE token [53266]Parse error. Ignore the token. </p> <p> A start tag whose tag name is "html" [53267]Parse error. </p> <p> If there is a [53268]template element on the [53269]stack of open elements, then ignore the token. </p> <p> Otherwise, for each attribute on the token, check to see if the attribute is already present on the top element of the [53270]stack of open elements. If it is not, add the attribute and its corresponding value to that element. </p> <p> A start tag whose tag name is one of: "base", "basefont", "bgsound", "link", "meta", "noframes", "script", "style", "template", "title" </p> <p> An end tag whose tag name is "template" Process the token [53271]using the rules for the "[53272]in head" [53273]insertion mode. </p> <p> A start tag whose tag name is "body" [53274]Parse error. </p> <p> If the [53275]stack of open elements has only one node on it, if the second element on the [53276]stack of open elements is not a [53277]body element, or if there is a [53278]template element on the [53279]stack of open elements, then ignore the token. ([53280]fragment case or there is a [53281]template element on the stack) </p> <p> Otherwise, set the [53282]frameset-ok flag to "not ok"; then, for each attribute on the token, check to see if the attribute is already present on the [53283]body element (the second element) on the [53284]stack of open elements, and if it is not, add the attribute and its corresponding value to that element. </p> <p> A start tag whose tag name is "frameset" [53285]Parse error. </p> <p> If the [53286]stack of open elements has only one node on it, or if the second element on the [53287]stack of open elements is not a [53288]body element, then ignore the token. ([53289]fragment case or there is a [53290]template element on the stack) </p> <p> If the [53291]frameset-ok flag is set to "not ok", ignore the token. </p> <p> Otherwise, run the following steps: </p> <p> 1. Remove the second element on the [53292]stack of open elements from its parent node, if it has one. 2. Pop all the nodes from the bottom of the [53293]stack of open elements, from the [53294]current node up to, but not including, the root [53295]html element. 3. [53296]Insert an HTML element for the token. 4. Switch the [53297]insertion mode to "[53298]in frameset". </p> <p> An end-of-file token If the [53299]stack of template insertion modes is not empty, then process the token [53300]using the rules for the "[53301]in template" [53302]insertion mode. </p> <p> Otherwise, follow these steps: </p> <p> 1. If there is a node in the [53303]stack of open elements that is not either a [53304]dd element, a [53305]dt element, an [53306]li element, an [53307]optgroup element, an [53308]option element, a [53309]p element, an [53310]rb element, an [53311]rp element, an [53312]rt element, an [53313]rtc element, a [53314]tbody element, a [53315]td element, a [53316]tfoot element, a [53317]th element, a [53318]thead element, a [53319]tr element, the [53320]body element, or the [53321]html element, then this is a [53322]parse error. 2. [53323]Stop parsing. </p> <p> An end tag whose tag name is "body" If the [53324]stack of open elements does not [53325]have a body element in scope, this is a [53326]parse error; ignore the token. </p> <p> Otherwise, if there is a node in the [53327]stack of open elements that is not either a [53328]dd element, a [53329]dt element, an [53330]li element, an [53331]optgroup element, an [53332]option element, a [53333]p element, an [53334]rb element, an [53335]rp element, an [53336]rt element, an [53337]rtc element, a [53338]tbody element, a [53339]td element, a [53340]tfoot element, a [53341]th element, a [53342]thead element, a [53343]tr element, the [53344]body element, or the [53345]html element, then this is a [53346]parse error. </p> <p> Switch the [53347]insertion mode to "[53348]after body". </p> <p> An end tag whose tag name is "html" If the [53349]stack of open elements does not [53350]have a body element in scope, this is a [53351]parse error; ignore the token. </p> <p> Otherwise, if there is a node in the [53352]stack of open elements that is not either a [53353]dd element, a [53354]dt element, an [53355]li element, an [53356]optgroup element, an [53357]option element, a [53358]p element, an [53359]rb element, an [53360]rp element, an [53361]rt element, an [53362]rtc element, a [53363]tbody element, a [53364]td element, a [53365]tfoot element, a [53366]th element, a [53367]thead element, a [53368]tr element, the [53369]body element, or the [53370]html element, then this is a [53371]parse error. </p> <p> Switch the [53372]insertion mode to "[53373]after body". </p> <p> Reprocess the token. </p> <p> A start tag whose tag name is one of: "address", "article", "aside", "blockquote", "center", "details", "dialog", "dir", "div", "dl", "fieldset", "figcaption", "figure", "footer", "header", "hgroup", "main", "menu", "nav", "ol", "p", "search", "section", "summary", "ul" If the [53374]stack of open elements [53375]has a p element in button scope, then [53376]close a p element. </p> <p> [53377]Insert an HTML element for the token. </p> <p> A start tag whose tag name is one of: "h1", "h2", "h3", "h4", "h5", "h6" If the [53378]stack of open elements [53379]has a p element in button scope, then [53380]close a p element. </p> <p> If the [53381]current node is an [53382]HTML element whose tag name is one of "h1", "h2", "h3", "h4", "h5", or "h6", then this is a [53383]parse error; pop the [53384]current node off the [53385]stack of open elements. </p> <p> [53386]Insert an HTML element for the token. </p> <p> A start tag whose tag name is one of: "pre", "listing" If the [53387]stack of open elements [53388]has a p element in button scope, then [53389]close a p element. </p> <p> [53390]Insert an HTML element for the token. </p> <p> If the [53391]next token is a U+000A LINE FEED (LF) character token, then ignore that token and move on to the next one. (Newlines at the start of [53392]pre blocks are ignored as an authoring convenience.) </p> <p> Set the [53393]frameset-ok flag to "not ok". </p> <p> A start tag whose tag name is "form" If the [53394]form element pointer is not null, and there is no [53395]template element on the [53396]stack of open elements, then this is a [53397]parse error; ignore the token. </p> <p> Otherwise: </p> <p> If the [53398]stack of open elements [53399]has a p element in button scope, then [53400]close a p element. </p> <p> [53401]Insert an HTML element for the token, and, if there is no [53402]template element on the [53403]stack of open elements, set the [53404]form element pointer to point to the element created. </p> <p> A start tag whose tag name is "li" Run these steps: </p> <p> 1. Set the [53405]frameset-ok flag to "not ok". 2. Initialize node to be the [53406]current node (the bottommost node of the stack). 3. Loop: If node is an [53407]li element, then run these substeps: 1. [53408]Generate implied end tags, except for [53409]li elements. 2. If the [53410]current node is not an [53411]li element, then this is a [53412]parse error. 3. Pop elements from the [53413]stack of open elements until an [53414]li element has been popped from the stack. 4. Jump to the step labeled done below. 4. If node is in the [53415]special category, but is not an [53416]address, [53417]div, or [53418]p element, then jump to the step labeled done below. 5. Otherwise, set node to the previous entry in the [53419]stack of open elements and return to the step labeled loop. 6. Done: If the [53420]stack of open elements [53421]has a p element in button scope, then [53422]close a p element. 7. Finally, [53423]insert an HTML element for the token. </p> <p> A start tag whose tag name is one of: "dd", "dt" Run these steps: </p> <p> 1. Set the [53424]frameset-ok flag to "not ok". 2. Initialize node to be the [53425]current node (the bottommost node of the stack). 3. Loop: If node is a [53426]dd element, then run these substeps: 1. [53427]Generate implied end tags, except for [53428]dd elements. 2. If the [53429]current node is not a [53430]dd element, then this is a [53431]parse error. 3. Pop elements from the [53432]stack of open elements until a [53433]dd element has been popped from the stack. 4. Jump to the step labeled done below. 4. If node is a [53434]dt element, then run these substeps: 1. [53435]Generate implied end tags, except for [53436]dt elements. 2. If the [53437]current node is not a [53438]dt element, then this is a [53439]parse error. 3. Pop elements from the [53440]stack of open elements until a [53441]dt element has been popped from the stack. 4. Jump to the step labeled done below. 5. If node is in the [53442]special category, but is not an [53443]address, [53444]div, or [53445]p element, then jump to the step labeled done below. 6. Otherwise, set node to the previous entry in the [53446]stack of open elements and return to the step labeled loop. 7. Done: If the [53447]stack of open elements [53448]has a p element in button scope, then [53449]close a p element. 8. Finally, [53450]insert an HTML element for the token. </p> <p> A start tag whose tag name is "plaintext" If the [53451]stack of open elements [53452]has a p element in button scope, then [53453]close a p element. </p> <p> [53454]Insert an HTML element for the token. </p> <p> Switch the tokenizer to the [53455]PLAINTEXT state. </p> <p> Once a start tag with the tag name "plaintext" has been seen, all remaining tokens will be character tokens (and a final end-of-file token) because there is no way to switch the tokenizer out of the [53456]PLAINTEXT state. However, as the tree builder remains in its existing insertion mode, it might [53457]reconstruct the active formatting elements while processing those character tokens. This means that the parser can insert other elements into the [53458]plaintext element. </p> <p> A start tag whose tag name is "button" </p> <p> 1. If the [53459]stack of open elements [53460]has a button element in scope, then run these substeps: 1. [53461]Parse error. 2. [53462]Generate implied end tags. 3. Pop elements from the [53463]stack of open elements until a [53464]button element has been popped from the stack. 2. [53465]Reconstruct the active formatting elements, if any. 3. [53466]Insert an HTML element for the token. 4. Set the [53467]frameset-ok flag to "not ok". </p> <p> An end tag whose tag name is one of: "address", "article", "aside", "blockquote", "button", "center", "details", "dialog", "dir", "div", "dl", "fieldset", "figcaption", "figure", "footer", "header", "hgroup", "listing", "main", "menu", "nav", "ol", "pre", "search", "section", "summary", "ul" If the [53468]stack of open elements does not [53469]have an element in scope that is an [53470]HTML element with the same tag name as that of the token, then this is a [53471]parse error; ignore the token. </p> <p> Otherwise, run these steps: </p> <p> 1. [53472]Generate implied end tags. 2. If the [53473]current node is not an [53474]HTML element with the same tag name as that of the token, then this is a [53475]parse error. 3. Pop elements from the [53476]stack of open elements until an [53477]HTML element with the same tag name as the token has been popped from the stack. </p> <p> An end tag whose tag name is "form" If there is no [53478]template element on the [53479]stack of open elements, then run these substeps: </p> <p> 1. Let node be the element that the [53480]form element pointer is set to, or null if it is not set to an element. 2. Set the [53481]form element pointer to null. 3. If node is null or if the [53482]stack of open elements does not [53483]have node in scope, then this is a [53484]parse error; return and ignore the token. 4. [53485]Generate implied end tags. 5. If the [53486]current node is not node, then this is a [53487]parse error. 6. Remove node from the [53488]stack of open elements. </p> <p> If there is a [53489]template element on the [53490]stack of open elements, then run these substeps instead: </p> <p> 1. If the [53491]stack of open elements does not [53492]have a form element in scope, then this is a [53493]parse error; return and ignore the token. 2. [53494]Generate implied end tags. 3. If the [53495]current node is not a [53496]form element, then this is a [53497]parse error. 4. Pop elements from the [53498]stack of open elements until a [53499]form element has been popped from the stack. </p> <p> An end tag whose tag name is "p" If the [53500]stack of open elements does not [53501]have a p element in button scope, then this is a [53502]parse error; [53503]insert an HTML element for a "p" start tag token with no attributes. </p> <p> [53504]Close a p element. </p> <p> An end tag whose tag name is "li" If the [53505]stack of open elements does not [53506]have an li element in list item scope, then this is a [53507]parse error; ignore the token. </p> <p> Otherwise, run these steps: </p> <p> 1. [53508]Generate implied end tags, except for [53509]li elements. 2. If the [53510]current node is not an [53511]li element, then this is a [53512]parse error. 3. Pop elements from the [53513]stack of open elements until an [53514]li element has been popped from the stack. </p> <p> An end tag whose tag name is one of: "dd", "dt" If the [53515]stack of open elements does not [53516]have an element in scope that is an [53517]HTML element with the same tag name as that of the token, then this is a [53518]parse error; ignore the token. </p> <p> Otherwise, run these steps: </p> <p> 1. [53519]Generate implied end tags, except for [53520]HTML elements with the same tag name as the token. 2. If the [53521]current node is not an [53522]HTML element with the same tag name as that of the token, then this is a [53523]parse error. 3. Pop elements from the [53524]stack of open elements until an [53525]HTML element with the same tag name as the token has been popped from the stack. </p> <p> An end tag whose tag name is one of: "h1", "h2", "h3", "h4", "h5", "h6" If the [53526]stack of open elements does not [53527]have an element in scope that is an [53528]HTML element and whose tag name is one of "h1", "h2", "h3", "h4", "h5", or "h6", then this is a [53529]parse error; ignore the token. </p> <p> Otherwise, run these steps: </p> <p> 1. [53530]Generate implied end tags. 2. If the [53531]current node is not an [53532]HTML element with the same tag name as that of the token, then this is a [53533]parse error. 3. Pop elements from the [53534]stack of open elements until an [53535]HTML element whose tag name is one of "h1", "h2", "h3", "h4", "h5", or "h6" has been popped from the stack. </p> <p> An end tag whose tag name is "sarcasm" Take a deep breath, then act as described in the "any other end tag" entry below. </p> <p> A start tag whose tag name is "a" If the [53536]list of active formatting elements contains an [53537]a element between the end of the list and the last [53538]marker on the list (or the start of the list if there is no [53539]marker on the list), then this is a [53540]parse error; run the [53541]adoption agency algorithm for the token, then remove that element from the [53542]list of active formatting elements and the [53543]stack of open elements if the [53544]adoption agency algorithm didn't already remove it (it might not have if the element is not [53545]in table scope). </p> <p> In the non-conforming stream <a href="a">a<table><a href="b">b</table>x, the first [53546]a element would be closed upon seeing the second one, and the "x" character would be inside a link to "b", not to "a". This is despite the fact that the outer [53547]a element is not in table scope (meaning that a regular </a> end tag at the start of the table wouldn't close the outer [53548]a element). The result is that the two [53549]a elements are indirectly nested inside each other — non-conforming markup will often result in non-conforming DOMs when parsed. </p> <p> [53550]Reconstruct the active formatting elements, if any. </p> <p> [53551]Insert an HTML element for the token. [53552]Push onto the list of active formatting elements that element. </p> <p> A start tag whose tag name is one of: "b", "big", "code", "em", "font", "i", "s", "small", "strike", "strong", "tt", "u" [53553]Reconstruct the active formatting elements, if any. </p> <p> [53554]Insert an HTML element for the token. [53555]Push onto the list of active formatting elements that element. </p> <p> A start tag whose tag name is "nobr" [53556]Reconstruct the active formatting elements, if any. </p> <p> If the [53557]stack of open elements [53558]has a nobr element in scope, then this is a [53559]parse error; run the [53560]adoption agency algorithm for the token, then once again [53561]reconstruct the active formatting elements, if any. </p> <p> [53562]Insert an HTML element for the token. [53563]Push onto the list of active formatting elements that element. </p> <p> An end tag whose tag name is one of: "a", "b", "big", "code", "em", "font", "i", "nobr", "s", "small", "strike", "strong", "tt", "u" Run the [53564]adoption agency algorithm for the token. </p> <p> A start tag whose tag name is one of: "applet", "marquee", "object" [53565]Reconstruct the active formatting elements, if any. </p> <p> [53566]Insert an HTML element for the token. </p> <p> Insert a [53567]marker at the end of the [53568]list of active formatting elements. </p> <p> Set the [53569]frameset-ok flag to "not ok". </p> <p> An end tag token whose tag name is one of: "applet", "marquee", "object" If the [53570]stack of open elements does not [53571]have an element in scope that is an [53572]HTML element with the same tag name as that of the token, then this is a [53573]parse error; ignore the token. </p> <p> Otherwise, run these steps: </p> <p> 1. [53574]Generate implied end tags. 2. If the [53575]current node is not an [53576]HTML element with the same tag name as that of the token, then this is a [53577]parse error. 3. Pop elements from the [53578]stack of open elements until an [53579]HTML element with the same tag name as the token has been popped from the stack. 4. [53580]Clear the list of active formatting elements up to the last marker. </p> <p> A start tag whose tag name is "table" If the [53581]Document is not set to [53582]quirks mode, and the [53583]stack of open elements [53584]has a p element in button scope, then [53585]close a p element. </p> <p> [53586]Insert an HTML element for the token. </p> <p> Set the [53587]frameset-ok flag to "not ok". </p> <p> Switch the [53588]insertion mode to "[53589]in table". </p> <p> An end tag whose tag name is "br" [53590]Parse error. Drop the attributes from the token, and act as described in the next entry; i.e. act as if this was a "br" start tag token with no attributes, rather than the end tag token that it actually is. </p> <p> A start tag whose tag name is one of: "area", "br", "embed", "img", "keygen", "wbr" [53591]Reconstruct the active formatting elements, if any. </p> <p> [53592]Insert an HTML element for the token. Immediately pop the [53593]current node off the [53594]stack of open elements. </p> <p> [53595]Acknowledge the token's self-closing flag, if it is set. </p> <p> Set the [53596]frameset-ok flag to "not ok". </p> <p> A start tag whose tag name is "input" [53597]Reconstruct the active formatting elements, if any. </p> <p> [53598]Insert an HTML element for the token. Immediately pop the [53599]current node off the [53600]stack of open elements. </p> <p> [53601]Acknowledge the token's self-closing flag, if it is set. </p> <p> If the token does not have an attribute with the name "type", or if it does, but that attribute's value is not an [53602]ASCII case-insensitive match for the string "hidden", then: set the [53603]frameset-ok flag to "not ok". </p> <p> A start tag whose tag name is one of: "param", "source", "track" [53604]Insert an HTML element for the token. Immediately pop the [53605]current node off the [53606]stack of open elements. </p> <p> [53607]Acknowledge the token's self-closing flag, if it is set. </p> <p> A start tag whose tag name is "hr" If the [53608]stack of open elements [53609]has a p element in button scope, then [53610]close a p element. </p> <p> [53611]Insert an HTML element for the token. Immediately pop the [53612]current node off the [53613]stack of open elements. </p> <p> [53614]Acknowledge the token's self-closing flag, if it is set. </p> <p> Set the [53615]frameset-ok flag to "not ok". </p> <p> A start tag whose tag name is "image" [53616]Parse error. Change the token's tag name to "img" and reprocess it. (Don't ask.) </p> <p> A start tag whose tag name is "textarea" Run these steps: </p> <p> 1. [53617]Insert an HTML element for the token. 2. If the [53618]next token is a U+000A LINE FEED (LF) character token, then ignore that token and move on to the next one. (Newlines at the start of [53619]textarea elements are ignored as an authoring convenience.) 3. Switch the tokenizer to the [53620]RCDATA state. 4. Let the [53621]original insertion mode be the current [53622]insertion mode. 5. Set the [53623]frameset-ok flag to "not ok". 6. Switch the [53624]insertion mode to "[53625]text". </p> <p> A start tag whose tag name is "xmp" If the [53626]stack of open elements [53627]has a p element in button scope, then [53628]close a p element. </p> <p> [53629]Reconstruct the active formatting elements, if any. </p> <p> Set the [53630]frameset-ok flag to "not ok". </p> <p> Follow the [53631]generic raw text element parsing algorithm. </p> <p> A start tag whose tag name is "iframe" Set the [53632]frameset-ok flag to "not ok". </p> <p> Follow the [53633]generic raw text element parsing algorithm. </p> <p> A start tag whose tag name is "noembed" A start tag whose tag name is "noscript", if the [53634]scripting flag is enabled Follow the [53635]generic raw text element parsing algorithm. </p> <p> A start tag whose tag name is "select" [53636]Reconstruct the active formatting elements, if any. </p> <p> [53637]Insert an HTML element for the token. </p> <p> Set the [53638]frameset-ok flag to "not ok". </p> <p> If the [53639]insertion mode is one of "[53640]in table", "[53641]in caption", "[53642]in table body", "[53643]in row", or "[53644]in cell", then switch the [53645]insertion mode to "[53646]in select in table". Otherwise, switch the [53647]insertion mode to "[53648]in select". </p> <p> A start tag whose tag name is one of: "optgroup", "option" If the [53649]current node is an [53650]option element, then pop the [53651]current node off the [53652]stack of open elements. </p> <p> [53653]Reconstruct the active formatting elements, if any. </p> <p> [53654]Insert an HTML element for the token. </p> <p> A start tag whose tag name is one of: "rb", "rtc" If the [53655]stack of open elements [53656]has a ruby element in scope, then [53657]generate implied end tags. If the [53658]current node is not now a [53659]ruby element, this is a [53660]parse error. </p> <p> [53661]Insert an HTML element for the token. </p> <p> A start tag whose tag name is one of: "rp", "rt" If the [53662]stack of open elements [53663]has a ruby element in scope, then [53664]generate implied end tags, except for [53665]rtc elements. If the [53666]current node is not now a [53667]rtc element or a [53668]ruby element, this is a [53669]parse error. </p> <p> [53670]Insert an HTML element for the token. </p> <p> A start tag whose tag name is "math" [53671]Reconstruct the active formatting elements, if any. </p> <p> [53672]Adjust MathML attributes for the token. (This fixes the case of MathML attributes that are not all lowercase.) </p> <p> [53673]Adjust foreign attributes for the token. (This fixes the use of namespaced attributes, in particular XLink.) </p> <p> [53674]Insert a foreign element for the token, with [53675]MathML namespace and false. </p> <p> If the token has its [53676]self-closing flag set, pop the [53677]current node off the [53678]stack of open elements and [53679]acknowledge the token's self-closing flag. </p> <p> A start tag whose tag name is "svg" [53680]Reconstruct the active formatting elements, if any. </p> <p> [53681]Adjust SVG attributes for the token. (This fixes the case of SVG attributes that are not all lowercase.) </p> <p> [53682]Adjust foreign attributes for the token. (This fixes the use of namespaced attributes, in particular XLink in SVG.) </p> <p> [53683]Insert a foreign element for the token, with [53684]SVG namespace and false. </p> <p> If the token has its [53685]self-closing flag set, pop the [53686]current node off the [53687]stack of open elements and [53688]acknowledge the token's self-closing flag. </p> <p> A start tag whose tag name is one of: "caption", "col", "colgroup", "frame", "head", "tbody", "td", "tfoot", "th", "thead", "tr" [53689]Parse error. Ignore the token. </p> <p> Any other start tag [53690]Reconstruct the active formatting elements, if any. </p> <p> [53691]Insert an HTML element for the token. </p> <p> This element will be an [53692]ordinary element. With one exception: if the [53693]scripting flag is disabled, it can also be a [53694]noscript element. </p> <p> Any other end tag Run these steps: </p> <p> 1. Initialize node to be the [53695]current node (the bottommost node of the stack). 2. Loop: If node is an [53696]HTML element with the same tag name as the token, then: 1. [53697]Generate implied end tags, except for [53698]HTML elements with the same tag name as the token. 2. If node is not the [53699]current node, then this is a [53700]parse error. 3. Pop all the nodes from the [53701]current node up to node, including node, then stop these steps. 3. Otherwise, if node is in the [53702]special category, then this is a [53703]parse error; ignore the token, and return. 4. Set node to the previous entry in the [53704]stack of open elements. 5. Return to the step labeled loop. </p> <p> When the steps above say the user agent is to close a p element, it means that the user agent must run the following steps: 1. [53705]Generate implied end tags, except for [53706]p elements. 2. If the [53707]current node is not a [53708]p element, then this is a [53709]parse error. 3. Pop elements from the [53710]stack of open elements until a [53711]p element has been popped from the stack. </p> <p> The adoption agency algorithm, which takes as its only argument a token token for which the algorithm is being run, consists of the following steps: 1. Let subject be token's tag name. 2. If the [53712]current node is an [53713]HTML element whose tag name is subject, and the [53714]current node is not in the [53715]list of active formatting elements, then pop the [53716]current node off the [53717]stack of open elements and return. 3. Let outerLoopCounter be 0. 4. While true: 1. If outerLoopCounter is greater than or equal to 8, then return. 2. Increment outerLoopCounter by 1. 3. Let formattingElement be the last element in the [53718]list of active formatting elements that: o is between the end of the list and the last [53719]marker in the list, if any, or the start of the list otherwise, and o has the tag name subject. If there is no such element, then return and instead act as described in the "any other end tag" entry above. 4. If formattingElement is not in the [53720]stack of open elements, then this is a [53721]parse error; remove the element from the list, and return. 5. If formattingElement is in the [53722]stack of open elements, but the element is not [53723]in scope, then this is a [53724]parse error; return. 6. If formattingElement is not the [53725]current node, this is a [53726]parse error. (But do not return.) 7. Let furthestBlock be the topmost node in the [53727]stack of open elements that is lower in the stack than formattingElement, and is an element in the [53728]special category. There might not be one. 8. If there is no furthestBlock, then the UA must first pop all the nodes from the bottom of the [53729]stack of open elements, from the [53730]current node up to and including formattingElement, then remove formattingElement from the [53731]list of active formatting elements, and finally return. 9. Let commonAncestor be the element immediately above formattingElement in the [53732]stack of open elements. 10. Let a bookmark note the position of formattingElement in the [53733]list of active formatting elements relative to the elements on either side of it in the list. 11. Let node and lastNode be furthestBlock. 12. Let innerLoopCounter be 0. 13. While true: 1. Increment innerLoopCounter by 1. 2. Let node be the element immediately above node in the [53734]stack of open elements, or if node is no longer in the [53735]stack of open elements (e.g. because it got removed by this algorithm), the element that was immediately above node in the [53736]stack of open elements before node was removed. 3. If node is formattingElement, then [53737]break. 4. If innerLoopCounter is greater than 3 and node is in the [53738]list of active formatting elements, then remove node from the [53739]list of active formatting elements. 5. If node is not in the [53740]list of active formatting elements, then remove node from the [53741]stack of open elements and [53742]continue. 6. [53743]Create an element for the token for which the element node was created, in the [53744]HTML namespace, with commonAncestor as the intended parent; replace the entry for node in the [53745]list of active formatting elements with an entry for the new element, replace the entry for node in the [53746]stack of open elements with an entry for the new element, and let node be the new element. 7. If lastNode is furthestBlock, then move the aforementioned bookmark to be immediately after the new node in the [53747]list of active formatting elements. 8. [53748]Append lastNode to node. 9. Set lastNode to node. 14. Insert whatever lastNode ended up being in the previous step at the [53749]appropriate place for inserting a node, but using commonAncestor as the override target. 15. [53750]Create an element for the token for which formattingElement was created, in the [53751]HTML namespace, with furthestBlock as the intended parent. 16. Take all of the child nodes of furthestBlock and append them to the element created in the last step. 17. Append that new element to furthestBlock. 18. Remove formattingElement from the [53752]list of active formatting elements, and insert the new element into the [53753]list of active formatting elements at the position of the aforementioned bookmark. 19. Remove formattingElement from the [53754]stack of open elements, and insert the new element into the [53755]stack of open elements immediately below the position of furthestBlock in that stack. </p> <p> This algorithm's name, the "adoption agency algorithm", comes from the way it causes elements to change parents, and is in contrast with [53756]other possible algorithms for dealing with misnested content. </p> <p> 13.2.6.4.8 The "text" insertion mode </p> <p> When the user agent is to apply the rules for the "[53757]text" [53758]insertion mode, the user agent must handle the token as follows: </p> <p> A character token [53759]Insert the token's character. </p> <p> This can never be a U+0000 NULL character; the tokenizer converts those to U+FFFD REPLACEMENT CHARACTER characters. </p> <p> An end-of-file token [53760]Parse error. </p> <p> If the [53761]current node is a [53762]script element, then set its [53763]already started to true. </p> <p> Pop the [53764]current node off the [53765]stack of open elements. </p> <p> Switch the [53766]insertion mode to the [53767]original insertion mode and reprocess the token. </p> <p> An end tag whose tag name is "script" If the [53768]active speculative HTML parser is null and the [53769]JavaScript execution context stack is empty, then [53770]perform a microtask checkpoint. </p> <p> Let script be the [53771]current node (which will be a [53772]script element). </p> <p> Pop the [53773]current node off the [53774]stack of open elements. </p> <p> Switch the [53775]insertion mode to the [53776]original insertion mode. </p> <p> Let the old insertion point have the same value as the current [53777]insertion point. Let the [53778]insertion point be just before the [53779]next input character. </p> <p> Increment the parser's [53780]script nesting level by one. </p> <p> If the [53781]active speculative HTML parser is null, then [53782]prepare the script element script. This might cause some script to execute, which might cause [53783]new characters to be inserted into the tokenizer, and might cause the tokenizer to output more tokens, resulting in a [53784]reentrant invocation of the parser. </p> <p> Decrement the parser's [53785]script nesting level by one. If the parser's [53786]script nesting level is zero, then set the [53787]parser pause flag to false. </p> <p> Let the [53788]insertion point have the value of the old insertion point. (In other words, restore the [53789]insertion point to its previous value. This value might be the "undefined" value.) </p> <p> At this stage, if the [53790]pending parsing-blocking script is not null, then: </p> <p> If the [53791]script nesting level is not zero: Set the [53792]parser pause flag to true, and abort the processing of any nested invocations of the tokenizer, yielding control back to the caller. (Tokenization will resume when the caller returns to the "outer" tree construction stage.) </p> <p> The tree construction stage of this particular parser is [53793]being called reentrantly, say from a call to [53794]document.write(). </p> <p> Otherwise: While the [53795]pending parsing-blocking script is not null: </p> <p> 1. Let the script be the [53796]pending parsing-blocking script. 2. Set the [53797]pending parsing-blocking script to null. 3. [53798]Start the speculative HTML parser for this instance of the HTML parser. 4. Block the [53799]tokenizer for this instance of the [53800]HTML parser, such that the [53801]event loop will not run [53802]tasks that invoke the [53803]tokenizer. 5. If the parser's [53804]Document [53805]has a style sheet that is blocking scripts or the script's [53806]ready to be parser-executed is false: [53807]spin the event loop until the parser's [53808]Document [53809]has no style sheet that is blocking scripts and the script's [53810]ready to be parser-executed becomes true. 6. If this [53811]parser has been aborted in the meantime, return. This could happen if, e.g., while the [53812]spin the event loop algorithm is running, the [53813]Document gets [53814]destroyed, or the [53815]document.open() method gets invoked on the [53816]Document. 7. [53817]Stop the speculative HTML parser for this instance of the HTML parser. 8. Unblock the [53818]tokenizer for this instance of the [53819]HTML parser, such that [53820]tasks that invoke the [53821]tokenizer can again be run. 9. Let the [53822]insertion point be just before the [53823]next input character. 10. Increment the parser's [53824]script nesting level by one (it should be zero before this step, so this sets it to one). 11. [53825]Execute the script element the script. 12. Decrement the parser's [53826]script nesting level by one. If the parser's [53827]script nesting level is zero (which it always should be at this point), then set the [53828]parser pause flag to false. 13. Let the [53829]insertion point be undefined again. </p> <p> Any other end tag Pop the [53830]current node off the [53831]stack of open elements. </p> <p> Switch the [53832]insertion mode to the [53833]original insertion mode. </p> <p> 13.2.6.4.9 The "in table" insertion mode </p> <p> When the user agent is to apply the rules for the "[53834]in table" [53835]insertion mode, the user agent must handle the token as follows: </p> <p> A character token, if the [53836]current node is [53837]table, [53838]tbody, [53839]template, [53840]tfoot, [53841]thead, or [53842]tr element Let the pending table character tokens be an empty list of tokens. </p> <p> Let the [53843]original insertion mode be the current [53844]insertion mode. </p> <p> Switch the [53845]insertion mode to "[53846]in table text" and reprocess the token. </p> <p> A comment token [53847]Insert a comment. </p> <p> A DOCTYPE token [53848]Parse error. Ignore the token. </p> <p> A start tag whose tag name is "caption" [53849]Clear the stack back to a table context. (See below.) </p> <p> Insert a [53850]marker at the end of the [53851]list of active formatting elements. </p> <p> [53852]Insert an HTML element for the token, then switch the [53853]insertion mode to "[53854]in caption". </p> <p> A start tag whose tag name is "colgroup" [53855]Clear the stack back to a table context. (See below.) </p> <p> [53856]Insert an HTML element for the token, then switch the [53857]insertion mode to "[53858]in column group". </p> <p> A start tag whose tag name is "col" [53859]Clear the stack back to a table context. (See below.) </p> <p> [53860]Insert an HTML element for a "colgroup" start tag token with no attributes, then switch the [53861]insertion mode to "[53862]in column group". </p> <p> Reprocess the current token. </p> <p> A start tag whose tag name is one of: "tbody", "tfoot", "thead" [53863]Clear the stack back to a table context. (See below.) </p> <p> [53864]Insert an HTML element for the token, then switch the [53865]insertion mode to "[53866]in table body". </p> <p> A start tag whose tag name is one of: "td", "th", "tr" [53867]Clear the stack back to a table context. (See below.) </p> <p> [53868]Insert an HTML element for a "tbody" start tag token with no attributes, then switch the [53869]insertion mode to "[53870]in table body". </p> <p> Reprocess the current token. </p> <p> A start tag whose tag name is "table" [53871]Parse error. </p> <p> If the [53872]stack of open elements does not [53873]have a table element in table scope, ignore the token. </p> <p> Otherwise: </p> <p> Pop elements from this stack until a [53874]table element has been popped from the stack. </p> <p> [53875]Reset the insertion mode appropriately. </p> <p> Reprocess the token. </p> <p> An end tag whose tag name is "table" If the [53876]stack of open elements does not [53877]have a table element in table scope, this is a [53878]parse error; ignore the token. </p> <p> Otherwise: </p> <p> Pop elements from this stack until a [53879]table element has been popped from the stack. </p> <p> [53880]Reset the insertion mode appropriately. </p> <p> An end tag whose tag name is one of: "body", "caption", "col", "colgroup", "html", "tbody", "td", "tfoot", "th", "thead", "tr" [53881]Parse error. Ignore the token. </p> <p> A start tag whose tag name is one of: "style", "script", "template" An end tag whose tag name is "template" Process the token [53882]using the rules for the "[53883]in head" [53884]insertion mode. </p> <p> A start tag whose tag name is "input" If the token does not have an attribute with the name "type", or if it does, but that attribute's value is not an [53885]ASCII case-insensitive match for the string "hidden", then: act as described in the "anything else" entry below. </p> <p> Otherwise: </p> <p> [53886]Parse error. </p> <p> [53887]Insert an HTML element for the token. </p> <p> Pop that [53888]input element off the [53889]stack of open elements. </p> <p> [53890]Acknowledge the token's self-closing flag, if it is set. </p> <p> A start tag whose tag name is "form" [53891]Parse error. </p> <p> If there is a [53892]template element on the [53893]stack of open elements, or if the [53894]form element pointer is not null, ignore the token. </p> <p> Otherwise: </p> <p> [53895]Insert an HTML element for the token, and set the [53896]form element pointer to point to the element created. </p> <p> Pop that [53897]form element off the [53898]stack of open elements. </p> <p> An end-of-file token Process the token [53899]using the rules for the "[53900]in body" [53901]insertion mode. </p> <p> Anything else [53902]Parse error. Enable [53903]foster parenting, process the token [53904]using the rules for the "[53905]in body" [53906]insertion mode, and then disable [53907]foster parenting. </p> <p> When the steps above require the UA to clear the stack back to a table context, it means that the UA must, while the [53908]current node is not a [53909]table, [53910]template, or [53911]html element, pop elements from the [53912]stack of open elements. </p> <p> This is the same list of elements as used in the [53913]has an element in table scope steps. </p> <p> The [53914]current node being an [53915]html element after this process is a [53916]fragment case. </p> <p> 13.2.6.4.10 The "in table text" insertion mode </p> <p> When the user agent is to apply the rules for the "[53917]in table text" [53918]insertion mode, the user agent must handle the token as follows: </p> <p> A character token that is U+0000 NULL [53919]Parse error. Ignore the token. </p> <p> Any other character token Append the character token to the [53920]pending table character tokens list. </p> <p> Anything else If any of the tokens in the [53921]pending table character tokens list are character tokens that are not [53922]ASCII whitespace, then this is a [53923]parse error: reprocess the character tokens in the [53924]pending table character tokens list using the rules given in the "anything else" entry in the "[53925]in table" insertion mode. </p> <p> Otherwise, [53926]insert the characters given by the [53927]pending table character tokens list. </p> <p> Switch the [53928]insertion mode to the [53929]original insertion mode and reprocess the token. </p> <p> 13.2.6.4.11 The "in caption" insertion mode </p> <p> When the user agent is to apply the rules for the "[53930]in caption" [53931]insertion mode, the user agent must handle the token as follows: </p> <p> An end tag whose tag name is "caption" If the [53932]stack of open elements does not [53933]have a caption element in table scope, this is a [53934]parse error; ignore the token. ([53935]fragment case) </p> <p> Otherwise: </p> <p> [53936]Generate implied end tags. </p> <p> Now, if the [53937]current node is not a [53938]caption element, then this is a [53939]parse error. </p> <p> Pop elements from this stack until a [53940]caption element has been popped from the stack. </p> <p> [53941]Clear the list of active formatting elements up to the last marker. </p> <p> Switch the [53942]insertion mode to "[53943]in table". </p> <p> A start tag whose tag name is one of: "caption", "col", "colgroup", "tbody", "td", "tfoot", "th", "thead", "tr" </p> <p> An end tag whose tag name is "table" If the [53944]stack of open elements does not [53945]have a caption element in table scope, this is a [53946]parse error; ignore the token. ([53947]fragment case) </p> <p> Otherwise: </p> <p> [53948]Generate implied end tags. </p> <p> Now, if the [53949]current node is not a [53950]caption element, then this is a [53951]parse error. </p> <p> Pop elements from this stack until a [53952]caption element has been popped from the stack. </p> <p> [53953]Clear the list of active formatting elements up to the last marker. </p> <p> Switch the [53954]insertion mode to "[53955]in table". </p> <p> Reprocess the token. </p> <p> An end tag whose tag name is one of: "body", "col", "colgroup", "html", "tbody", "td", "tfoot", "th", "thead", "tr" [53956]Parse error. Ignore the token. </p> <p> Anything else Process the token [53957]using the rules for the "[53958]in body" [53959]insertion mode. </p> <p> 13.2.6.4.12 The "in column group" insertion mode </p> <p> When the user agent is to apply the rules for the "[53960]in column group" [53961]insertion mode, the user agent must handle the token as follows: </p> <p> A character token that is one of U+0009 CHARACTER TABULATION, U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), or U+0020 SPACE [53962]Insert the character. </p> <p> A comment token [53963]Insert a comment. </p> <p> A DOCTYPE token [53964]Parse error. Ignore the token. </p> <p> A start tag whose tag name is "html" Process the token [53965]using the rules for the "[53966]in body" [53967]insertion mode. </p> <p> A start tag whose tag name is "col" [53968]Insert an HTML element for the token. Immediately pop the [53969]current node off the [53970]stack of open elements. </p> <p> [53971]Acknowledge the token's self-closing flag, if it is set. </p> <p> An end tag whose tag name is "colgroup" If the [53972]current node is not a [53973]colgroup element, then this is a [53974]parse error; ignore the token. </p> <p> Otherwise, pop the [53975]current node from the [53976]stack of open elements. Switch the [53977]insertion mode to "[53978]in table". </p> <p> An end tag whose tag name is "col" [53979]Parse error. Ignore the token. </p> <p> A start tag whose tag name is "template" An end tag whose tag name is "template" Process the token [53980]using the rules for the "[53981]in head" [53982]insertion mode. </p> <p> An end-of-file token Process the token [53983]using the rules for the "[53984]in body" [53985]insertion mode. </p> <p> Anything else If the [53986]current node is not a [53987]colgroup element, then this is a [53988]parse error; ignore the token. </p> <p> Otherwise, pop the [53989]current node from the [53990]stack of open elements. </p> <p> Switch the [53991]insertion mode to "[53992]in table". </p> <p> Reprocess the token. </p> <p> 13.2.6.4.13 The "in table body" insertion mode </p> <p> When the user agent is to apply the rules for the "[53993]in table body" [53994]insertion mode, the user agent must handle the token as follows: </p> <p> A start tag whose tag name is "tr" [53995]Clear the stack back to a table body context. (See below.) </p> <p> [53996]Insert an HTML element for the token, then switch the [53997]insertion mode to "[53998]in row". </p> <p> A start tag whose tag name is one of: "th", "td" [53999]Parse error. </p> <p> [54000]Clear the stack back to a table body context. (See below.) </p> <p> [54001]Insert an HTML element for a "tr" start tag token with no attributes, then switch the [54002]insertion mode to "[54003]in row". </p> <p> Reprocess the current token. </p> <p> An end tag whose tag name is one of: "tbody", "tfoot", "thead" If the [54004]stack of open elements does not [54005]have an element in table scope that is an [54006]HTML element with the same tag name as the token, this is a [54007]parse error; ignore the token. </p> <p> Otherwise: </p> <p> [54008]Clear the stack back to a table body context. (See below.) </p> <p> Pop the [54009]current node from the [54010]stack of open elements. Switch the [54011]insertion mode to "[54012]in table". </p> <p> A start tag whose tag name is one of: "caption", "col", "colgroup", "tbody", "tfoot", "thead" </p> <p> An end tag whose tag name is "table" If the [54013]stack of open elements does not [54014]have a tbody, thead, or tfoot element in table scope, this is a [54015]parse error; ignore the token. </p> <p> Otherwise: </p> <p> [54016]Clear the stack back to a table body context. (See below.) </p> <p> Pop the [54017]current node from the [54018]stack of open elements. Switch the [54019]insertion mode to "[54020]in table". </p> <p> Reprocess the token. </p> <p> An end tag whose tag name is one of: "body", "caption", "col", "colgroup", "html", "td", "th", "tr" [54021]Parse error. Ignore the token. </p> <p> Anything else Process the token [54022]using the rules for the "[54023]in table" [54024]insertion mode. </p> <p> When the steps above require the UA to clear the stack back to a table body context, it means that the UA must, while the [54025]current node is not a [54026]tbody, [54027]tfoot, [54028]thead, [54029]template, or [54030]html element, pop elements from the [54031]stack of open elements. </p> <p> The [54032]current node being an [54033]html element after this process is a [54034]fragment case. </p> <p> 13.2.6.4.14 The "in row" insertion mode </p> <p> When the user agent is to apply the rules for the "[54035]in row" [54036]insertion mode, the user agent must handle the token as follows: </p> <p> A start tag whose tag name is one of: "th", "td" [54037]Clear the stack back to a table row context. (See below.) </p> <p> [54038]Insert an HTML element for the token, then switch the [54039]insertion mode to "[54040]in cell". </p> <p> Insert a [54041]marker at the end of the [54042]list of active formatting elements. </p> <p> An end tag whose tag name is "tr" If the [54043]stack of open elements does not [54044]have a tr element in table scope, this is a [54045]parse error; ignore the token. </p> <p> Otherwise: </p> <p> [54046]Clear the stack back to a table row context. (See below.) </p> <p> Pop the [54047]current node (which will be a [54048]tr element) from the [54049]stack of open elements. Switch the [54050]insertion mode to "[54051]in table body". </p> <p> A start tag whose tag name is one of: "caption", "col", "colgroup", "tbody", "tfoot", "thead", "tr" </p> <p> An end tag whose tag name is "table" If the [54052]stack of open elements does not [54053]have a tr element in table scope, this is a [54054]parse error; ignore the token. </p> <p> Otherwise: </p> <p> [54055]Clear the stack back to a table row context. (See below.) </p> <p> Pop the [54056]current node (which will be a [54057]tr element) from the [54058]stack of open elements. Switch the [54059]insertion mode to "[54060]in table body". </p> <p> Reprocess the token. </p> <p> An end tag whose tag name is one of: "tbody", "tfoot", "thead" If the [54061]stack of open elements does not [54062]have an element in table scope that is an [54063]HTML element with the same tag name as the token, this is a [54064]parse error; ignore the token. </p> <p> If the [54065]stack of open elements does not [54066]have a tr element in table scope, ignore the token. </p> <p> Otherwise: </p> <p> [54067]Clear the stack back to a table row context. (See below.) </p> <p> Pop the [54068]current node (which will be a [54069]tr element) from the [54070]stack of open elements. Switch the [54071]insertion mode to "[54072]in table body". </p> <p> Reprocess the token. </p> <p> An end tag whose tag name is one of: "body", "caption", "col", "colgroup", "html", "td", "th" [54073]Parse error. Ignore the token. </p> <p> Anything else Process the token [54074]using the rules for the "[54075]in table" [54076]insertion mode. </p> <p> When the steps above require the UA to clear the stack back to a table row context, it means that the UA must, while the [54077]current node is not a [54078]tr, [54079]template, or [54080]html element, pop elements from the [54081]stack of open elements. </p> <p> The [54082]current node being an [54083]html element after this process is a [54084]fragment case. </p> <p> 13.2.6.4.15 The "in cell" insertion mode </p> <p> When the user agent is to apply the rules for the "[54085]in cell" [54086]insertion mode, the user agent must handle the token as follows: </p> <p> An end tag whose tag name is one of: "td", "th" If the [54087]stack of open elements does not [54088]have an element in table scope that is an [54089]HTML element with the same tag name as that of the token, then this is a [54090]parse error; ignore the token. </p> <p> Otherwise: </p> <p> [54091]Generate implied end tags. </p> <p> Now, if the [54092]current node is not an [54093]HTML element with the same tag name as the token, then this is a [54094]parse error. </p> <p> Pop elements from the [54095]stack of open elements until an [54096]HTML element with the same tag name as the token has been popped from the stack. </p> <p> [54097]Clear the list of active formatting elements up to the last marker. </p> <p> Switch the [54098]insertion mode to "[54099]in row". </p> <p> A start tag whose tag name is one of: "caption", "col", "colgroup", "tbody", "td", "tfoot", "th", "thead", "tr" [54100]Assert: The [54101]stack of open elements [54102]has a td or th element in table scope. </p> <p> [54103]Close the cell (see below) and reprocess the token. </p> <p> An end tag whose tag name is one of: "body", "caption", "col", "colgroup", "html" [54104]Parse error. Ignore the token. </p> <p> An end tag whose tag name is one of: "table", "tbody", "tfoot", "thead", "tr" If the [54105]stack of open elements does not [54106]have an element in table scope that is an [54107]HTML element with the same tag name as that of the token, then this is a [54108]parse error; ignore the token. </p> <p> Otherwise, [54109]close the cell (see below) and reprocess the token. </p> <p> Anything else Process the token [54110]using the rules for the "[54111]in body" [54112]insertion mode. </p> <p> Where the steps above say to close the cell, they mean to run the following algorithm: 1. [54113]Generate implied end tags. 2. If the [54114]current node is not now a [54115]td element or a [54116]th element, then this is a [54117]parse error. 3. Pop elements from the [54118]stack of open elements until a [54119]td element or a [54120]th element has been popped from the stack. 4. [54121]Clear the list of active formatting elements up to the last marker. 5. Switch the [54122]insertion mode to "[54123]in row". </p> <p> The [54124]stack of open elements cannot have both a [54125]td and a [54126]th element [54127]in table scope at the same time, nor can it have neither when the [54128]close the cell algorithm is invoked. </p> <p> 13.2.6.4.16 The "in select" insertion mode </p> <p> When the user agent is to apply the rules for the "[54129]in select" [54130]insertion mode, the user agent must handle the token as follows: </p> <p> A character token that is U+0000 NULL [54131]Parse error. Ignore the token. </p> <p> Any other character token [54132]Insert the token's character. </p> <p> A comment token [54133]Insert a comment. </p> <p> A DOCTYPE token [54134]Parse error. Ignore the token. </p> <p> A start tag whose tag name is "html" Process the token [54135]using the rules for the "[54136]in body" [54137]insertion mode. </p> <p> A start tag whose tag name is "option" If the [54138]current node is an [54139]option element, pop that node from the [54140]stack of open elements. </p> <p> [54141]Insert an HTML element for the token. </p> <p> A start tag whose tag name is "optgroup" If the [54142]current node is an [54143]option element, pop that node from the [54144]stack of open elements. </p> <p> If the [54145]current node is an [54146]optgroup element, pop that node from the [54147]stack of open elements. </p> <p> [54148]Insert an HTML element for the token. </p> <p> A start tag whose tag name is "hr" If the [54149]current node is an [54150]option element, pop that node from the [54151]stack of open elements. </p> <p> If the [54152]current node is an [54153]optgroup element, pop that node from the [54154]stack of open elements. </p> <p> [54155]Insert an HTML element for the token. Immediately pop the [54156]current node off the [54157]stack of open elements. </p> <p> [54158]Acknowledge the token's self-closing flag, if it is set. </p> <p> An end tag whose tag name is "optgroup" First, if the [54159]current node is an [54160]option element, and the node immediately before it in the [54161]stack of open elements is an [54162]optgroup element, then pop the [54163]current node from the [54164]stack of open elements. </p> <p> If the [54165]current node is an [54166]optgroup element, then pop that node from the [54167]stack of open elements. Otherwise, this is a [54168]parse error; ignore the token. </p> <p> An end tag whose tag name is "option" If the [54169]current node is an [54170]option element, then pop that node from the [54171]stack of open elements. Otherwise, this is a [54172]parse error; ignore the token. </p> <p> An end tag whose tag name is "select" If the [54173]stack of open elements does not [54174]have a select element in select scope, this is a [54175]parse error; ignore the token. ([54176]fragment case) </p> <p> Otherwise: </p> <p> Pop elements from the [54177]stack of open elements until a [54178]select element has been popped from the stack. </p> <p> [54179]Reset the insertion mode appropriately. </p> <p> A start tag whose tag name is "select" [54180]Parse error. </p> <p> If the [54181]stack of open elements does not [54182]have a select element in select scope, ignore the token. ([54183]fragment case) </p> <p> Otherwise: </p> <p> Pop elements from the [54184]stack of open elements until a [54185]select element has been popped from the stack. </p> <p> [54186]Reset the insertion mode appropriately. </p> <p> It just gets treated like an end tag. </p> <p> A start tag whose tag name is one of: "input", "keygen", "textarea" [54187]Parse error. </p> <p> If the [54188]stack of open elements does not [54189]have a select element in select scope, ignore the token. ([54190]fragment case) </p> <p> Otherwise: </p> <p> Pop elements from the [54191]stack of open elements until a [54192]select element has been popped from the stack. </p> <p> [54193]Reset the insertion mode appropriately. </p> <p> Reprocess the token. </p> <p> A start tag whose tag name is one of: "script", "template" An end tag whose tag name is "template" Process the token [54194]using the rules for the "[54195]in head" [54196]insertion mode. </p> <p> An end-of-file token Process the token [54197]using the rules for the "[54198]in body" [54199]insertion mode. </p> <p> Anything else [54200]Parse error. Ignore the token. </p> <p> 13.2.6.4.17 The "in select in table" insertion mode </p> <p> When the user agent is to apply the rules for the "[54201]in select in table" [54202]insertion mode, the user agent must handle the token as follows: </p> <p> A start tag whose tag name is one of: "caption", "table", "tbody", "tfoot", "thead", "tr", "td", "th" [54203]Parse error. </p> <p> Pop elements from the [54204]stack of open elements until a [54205]select element has been popped from the stack. </p> <p> [54206]Reset the insertion mode appropriately. </p> <p> Reprocess the token. </p> <p> An end tag whose tag name is one of: "caption", "table", "tbody", "tfoot", "thead", "tr", "td", "th" [54207]Parse error. </p> <p> If the [54208]stack of open elements does not [54209]have an element in table scope that is an [54210]HTML element with the same tag name as that of the token, then ignore the token. </p> <p> Otherwise: </p> <p> Pop elements from the [54211]stack of open elements until a [54212]select element has been popped from the stack. </p> <p> [54213]Reset the insertion mode appropriately. </p> <p> Reprocess the token. </p> <p> Anything else Process the token [54214]using the rules for the "[54215]in select" [54216]insertion mode. </p> <p> 13.2.6.4.18 The "in template" insertion mode </p> <p> When the user agent is to apply the rules for the "[54217]in template" [54218]insertion mode, the user agent must handle the token as follows: </p> <p> A character token A comment token A DOCTYPE token Process the token [54219]using the rules for the "[54220]in body" [54221]insertion mode. </p> <p> A start tag whose tag name is one of: "base", "basefont", "bgsound", "link", "meta", "noframes", "script", "style", "template", "title" </p> <p> An end tag whose tag name is "template" Process the token [54222]using the rules for the "[54223]in head" [54224]insertion mode. </p> <p> A start tag whose tag name is one of: "caption", "colgroup", "tbody", "tfoot", "thead" Pop the [54225]current template insertion mode off the [54226]stack of template insertion modes. </p> <p> Push "[54227]in table" onto the [54228]stack of template insertion modes so that it is the new [54229]current template insertion mode. </p> <p> Switch the [54230]insertion mode to "[54231]in table", and reprocess the token. </p> <p> A start tag whose tag name is "col" Pop the [54232]current template insertion mode off the [54233]stack of template insertion modes. </p> <p> Push "[54234]in column group" onto the [54235]stack of template insertion modes so that it is the new [54236]current template insertion mode. </p> <p> Switch the [54237]insertion mode to "[54238]in column group", and reprocess the token. </p> <p> A start tag whose tag name is "tr" Pop the [54239]current template insertion mode off the [54240]stack of template insertion modes. </p> <p> Push "[54241]in table body" onto the [54242]stack of template insertion modes so that it is the new [54243]current template insertion mode. </p> <p> Switch the [54244]insertion mode to "[54245]in table body", and reprocess the token. </p> <p> A start tag whose tag name is one of: "td", "th" Pop the [54246]current template insertion mode off the [54247]stack of template insertion modes. </p> <p> Push "[54248]in row" onto the [54249]stack of template insertion modes so that it is the new [54250]current template insertion mode. </p> <p> Switch the [54251]insertion mode to "[54252]in row", and reprocess the token. </p> <p> Any other start tag Pop the [54253]current template insertion mode off the [54254]stack of template insertion modes. </p> <p> Push "[54255]in body" onto the [54256]stack of template insertion modes so that it is the new [54257]current template insertion mode. </p> <p> Switch the [54258]insertion mode to "[54259]in body", and reprocess the token. </p> <p> Any other end tag [54260]Parse error. Ignore the token. </p> <p> An end-of-file token If there is no [54261]template element on the [54262]stack of open elements, then [54263]stop parsing. ([54264]fragment case) </p> <p> Otherwise, this is a [54265]parse error. </p> <p> Pop elements from the [54266]stack of open elements until a [54267]template element has been popped from the stack. </p> <p> [54268]Clear the list of active formatting elements up to the last marker. </p> <p> Pop the [54269]current template insertion mode off the [54270]stack of template insertion modes. </p> <p> [54271]Reset the insertion mode appropriately. </p> <p> Reprocess the token. </p> <p> 13.2.6.4.19 The "after body" insertion mode </p> <p> When the user agent is to apply the rules for the "[54272]after body" [54273]insertion mode, the user agent must handle the token as follows: </p> <p> A character token that is one of U+0009 CHARACTER TABULATION, U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), or U+0020 SPACE Process the token [54274]using the rules for the "[54275]in body" [54276]insertion mode. </p> <p> A comment token [54277]Insert a comment as the last child of the first element in the [54278]stack of open elements (the [54279]html element). </p> <p> A DOCTYPE token [54280]Parse error. Ignore the token. </p> <p> A start tag whose tag name is "html" Process the token [54281]using the rules for the "[54282]in body" [54283]insertion mode. </p> <p> An end tag whose tag name is "html" If the parser was created as part of the [54284]HTML fragment parsing algorithm, this is a [54285]parse error; ignore the token. ([54286]fragment case) </p> <p> Otherwise, switch the [54287]insertion mode to "[54288]after after body". </p> <p> An end-of-file token [54289]Stop parsing. </p> <p> Anything else [54290]Parse error. Switch the [54291]insertion mode to "[54292]in body" and reprocess the token. </p> <p> 13.2.6.4.20 The "in frameset" insertion mode </p> <p> When the user agent is to apply the rules for the "[54293]in frameset" [54294]insertion mode, the user agent must handle the token as follows: </p> <p> A character token that is one of U+0009 CHARACTER TABULATION, U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), or U+0020 SPACE [54295]Insert the character. </p> <p> A comment token [54296]Insert a comment. </p> <p> A DOCTYPE token [54297]Parse error. Ignore the token. </p> <p> A start tag whose tag name is "html" Process the token [54298]using the rules for the "[54299]in body" [54300]insertion mode. </p> <p> A start tag whose tag name is "frameset" [54301]Insert an HTML element for the token. </p> <p> An end tag whose tag name is "frameset" If the [54302]current node is the root [54303]html element, then this is a [54304]parse error; ignore the token. ([54305]fragment case) </p> <p> Otherwise, pop the [54306]current node from the [54307]stack of open elements. </p> <p> If the parser was not created as part of the [54308]HTML fragment parsing algorithm ([54309]fragment case), and the [54310]current node is no longer a [54311]frameset element, then switch the [54312]insertion mode to "[54313]after frameset". </p> <p> A start tag whose tag name is "frame" [54314]Insert an HTML element for the token. Immediately pop the [54315]current node off the [54316]stack of open elements. </p> <p> [54317]Acknowledge the token's self-closing flag, if it is set. </p> <p> A start tag whose tag name is "noframes" Process the token [54318]using the rules for the "[54319]in head" [54320]insertion mode. </p> <p> An end-of-file token If the [54321]current node is not the root [54322]html element, then this is a [54323]parse error. </p> <p> The [54324]current node can only be the root [54325]html element in the [54326]fragment case. </p> <p> [54327]Stop parsing. </p> <p> Anything else [54328]Parse error. Ignore the token. </p> <p> 13.2.6.4.21 The "after frameset" insertion mode </p> <p> When the user agent is to apply the rules for the "[54329]after frameset" [54330]insertion mode, the user agent must handle the token as follows: </p> <p> A character token that is one of U+0009 CHARACTER TABULATION, U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), or U+0020 SPACE [54331]Insert the character. </p> <p> A comment token [54332]Insert a comment. </p> <p> A DOCTYPE token [54333]Parse error. Ignore the token. </p> <p> A start tag whose tag name is "html" Process the token [54334]using the rules for the "[54335]in body" [54336]insertion mode. </p> <p> An end tag whose tag name is "html" Switch the [54337]insertion mode to "[54338]after after frameset". </p> <p> A start tag whose tag name is "noframes" Process the token [54339]using the rules for the "[54340]in head" [54341]insertion mode. </p> <p> An end-of-file token [54342]Stop parsing. </p> <p> Anything else [54343]Parse error. Ignore the token. </p> <p> 13.2.6.4.22 The "after after body" insertion mode </p> <p> When the user agent is to apply the rules for the "[54344]after after body" [54345]insertion mode, the user agent must handle the token as follows: </p> <p> A comment token [54346]Insert a comment as the last child of the [54347]Document object. </p> <p> A DOCTYPE token A character token that is one of U+0009 CHARACTER TABULATION, U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), or U+0020 SPACE </p> <p> A start tag whose tag name is "html" Process the token [54348]using the rules for the "[54349]in body" [54350]insertion mode. </p> <p> An end-of-file token [54351]Stop parsing. </p> <p> Anything else [54352]Parse error. Switch the [54353]insertion mode to "[54354]in body" and reprocess the token. </p> <p> 13.2.6.4.23 The "after after frameset" insertion mode </p> <p> When the user agent is to apply the rules for the "[54355]after after frameset" [54356]insertion mode, the user agent must handle the token as follows: </p> <p> A comment token [54357]Insert a comment as the last child of the [54358]Document object. </p> <p> A DOCTYPE token A character token that is one of U+0009 CHARACTER TABULATION, U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), or U+0020 SPACE </p> <p> A start tag whose tag name is "html" Process the token [54359]using the rules for the "[54360]in body" [54361]insertion mode. </p> <p> An end-of-file token [54362]Stop parsing. </p> <p> A start tag whose tag name is "noframes" Process the token [54363]using the rules for the "[54364]in head" [54365]insertion mode. </p> <p> Anything else [54366]Parse error. Ignore the token. </p> <p> 13.2.6.5 The rules for parsing tokens in foreign content </p> <p> When the user agent is to apply the rules for parsing tokens in foreign content, the user agent must handle the token as follows: </p> <p> A character token that is U+0000 NULL [54367]Parse error. [54368]Insert a U+FFFD REPLACEMENT CHARACTER character. </p> <p> A character token that is one of U+0009 CHARACTER TABULATION, U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), or U+0020 SPACE [54369]Insert the token's character. </p> <p> Any other character token [54370]Insert the token's character. </p> <p> Set the [54371]frameset-ok flag to "not ok". </p> <p> A comment token [54372]Insert a comment. </p> <p> A DOCTYPE token [54373]Parse error. Ignore the token. </p> <p> A start tag whose tag name is one of: "b", "big", "blockquote", "body", "br", "center", "code", "dd", "div", "dl", "dt", "em", "embed", "h1", "h2", "h3", "h4", "h5", "h6", "head", "hr", "i", "img", "li", "listing", "menu", "meta", "nobr", "ol", "p", "pre", "ruby", "s", "small", "span", "strong", "strike", "sub", "sup", "table", "tt", "u", "ul", "var" </p> <p> A start tag whose tag name is "font", if the token has any attributes named "color", "face", or "size" </p> <p> An end tag whose tag name is "br", "p" [54374]Parse error. </p> <p> While the [54375]current node is not a [54376]MathML text integration point, an [54377]HTML integration point, or an element in the [54378]HTML namespace, pop elements from the [54379]stack of open elements. </p> <p> Reprocess the token according to the rules given in the section corresponding to the current [54380]insertion mode in HTML content. </p> <p> Any other start tag If the [54381]adjusted current node is an element in the [54382]MathML namespace, [54383]adjust MathML attributes for the token. (This fixes the case of MathML attributes that are not all lowercase.) </p> <p> If the [54384]adjusted current node is an element in the [54385]SVG namespace, and the token's tag name is one of the ones in the first column of the following table, change the tag name to the name given in the corresponding cell in the second column. (This fixes the case of SVG elements that are not all lowercase.) </p> <p> Tag name Element name altglyph altGlyph altglyphdef altGlyphDef altglyphitem altGlyphItem animatecolor animateColor animatemotion animateMotion animatetransform animateTransform clippath clipPath feblend feBlend fecolormatrix feColorMatrix fecomponenttransfer feComponentTransfer fecomposite feComposite feconvolvematrix feConvolveMatrix fediffuselighting feDiffuseLighting fedisplacementmap feDisplacementMap fedistantlight feDistantLight fedropshadow feDropShadow feflood feFlood fefunca feFuncA fefuncb feFuncB fefuncg feFuncG fefuncr feFuncR fegaussianblur feGaussianBlur feimage feImage femerge feMerge femergenode feMergeNode femorphology feMorphology feoffset feOffset fepointlight fePointLight fespecularlighting feSpecularLighting fespotlight feSpotLight fetile feTile feturbulence feTurbulence foreignobject foreignObject glyphref glyphRef lineargradient linearGradient radialgradient radialGradient textpath textPath </p> <p> If the [54386]adjusted current node is an element in the [54387]SVG namespace, [54388]adjust SVG attributes for the token. (This fixes the case of SVG attributes that are not all lowercase.) </p> <p> [54389]Adjust foreign attributes for the token. (This fixes the use of namespaced attributes, in particular XLink in SVG.) </p> <p> [54390]Insert a foreign element for the token, with [54391]adjusted current node's namespace and false. </p> <p> If the token has its [54392]self-closing flag set, then run the appropriate steps from the following list: </p> <p> If the token's tag name is "script", and the new [54393]current node is in the [54394]SVG namespace [54395]Acknowledge the token's self-closing flag, and then act as described in the steps for a "script" end tag below. </p> <p> Otherwise Pop the [54396]current node off the [54397]stack of open elements and [54398]acknowledge the token's self-closing flag. </p> <p> An end tag whose tag name is "script", if the [54399]current node is an [54400]SVG script element Pop the [54401]current node off the [54402]stack of open elements. </p> <p> Let the old insertion point have the same value as the current [54403]insertion point. Let the [54404]insertion point be just before the [54405]next input character. </p> <p> Increment the parser's [54406]script nesting level by one. Set the [54407]parser pause flag to true. </p> <p> If the [54408]active speculative HTML parser is null and the user agent supports SVG, then [54409]Process the SVG script element according to the SVG rules. [54410][SVG] </p> <p> Even if this causes [54411]new characters to be inserted into the tokenizer, the parser will not be executed reentrantly, since the [54412]parser pause flag is true. </p> <p> Decrement the parser's [54413]script nesting level by one. If the parser's [54414]script nesting level is zero, then set the [54415]parser pause flag to false. </p> <p> Let the [54416]insertion point have the value of the old insertion point. (In other words, restore the [54417]insertion point to its previous value. This value might be the "undefined" value.) </p> <p> Any other end tag Run these steps: </p> <p> 1. Initialize node to be the [54418]current node (the bottommost node of the stack). 2. If node's tag name, [54419]converted to ASCII lowercase, is not the same as the tag name of the token, then this is a [54420]parse error. 3. Loop: If node is the topmost element in the [54421]stack of open elements, then return. ([54422]fragment case) 4. If node's tag name, [54423]converted to ASCII lowercase, is the same as the tag name of the token, pop elements from the [54424]stack of open elements until node has been popped from the stack, and then return. 5. Set node to the previous entry in the [54425]stack of open elements. 6. If node is not an element in the [54426]HTML namespace, return to the step labeled loop. 7. Otherwise, process the token according to the rules given in the section corresponding to the current [54427]insertion mode in HTML content. </p> <p> 13.2.7 The end </p> <p> (BUTTON) ✔MDN </p> <p> [54428]Document/DOMContentLoaded_event </p> <p> Support in all current engines. Firefox1+Safari3.1+Chrome1+ __________________________________________________________________ </p> <p> Opera9+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ </p> <p> Once the user agent stops parsing the document, the user agent must run the following steps: </p> <p> (BUTTON) ✔MDN </p> <p> [54429]Window/load_event </p> <p> Support in all current engines. Firefox1+Safari1.3+Chrome1+ __________________________________________________________________ </p> <p> Opera4+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ </p> <p> 1. If the [54430]active speculative HTML parser is not null, then [54431]stop the speculative HTML parser and return. 2. Set the [54432]insertion point to undefined. 3. [54433]Update the current document readiness to "interactive". 4. Pop all the nodes off the [54434]stack of open elements. 5. While the [54435]list of scripts that will execute when the document has finished parsing is not empty: 1. [54436]Spin the event loop until the first [54437]script in the [54438]list of scripts that will execute when the document has finished parsing has its [54439]ready to be parser-executed set to true and the parser's [54440]Document [54441]has no style sheet that is blocking scripts. 2. [54442]Execute the script element given by the first [54443]script in the [54444]list of scripts that will execute when the document has finished parsing. 3. Remove the first [54445]script element from the [54446]list of scripts that will execute when the document has finished parsing (i.e. shift out the first entry in the list). 6. [54447]Queue a global task on the [54448]DOM manipulation task source given the [54449]Document's [54450]relevant global object to run the following substeps: 1. Set the [54451]Document's [54452]load timing info's [54453]DOM content loaded event start time to the [54454]current high resolution time given the [54455]Document's [54456]relevant global object. 2. [54457]Fire an event named [54458]DOMContentLoaded at the [54459]Document object, with its [54460]bubbles attribute initialized to true. 3. Set the [54461]Document's [54462]load timing info's [54463]DOM content loaded event end time to the [54464]current high resolution time given the [54465]Document's [54466]relevant global object. 4. Enable the [54467]client message queue of the [54468]ServiceWorkerContainer object whose associated [54469]service worker client is the [54470]Document object's [54471]relevant settings object. 5. Invoke [54472]WebDriver BiDi DOM content loaded with the [54473]Document's [54474]browsing context, and a new [54475]WebDriver BiDi navigation status whose [54476]id is the [54477]Document object's [54478]during-loading navigation ID for WebDriver BiDi, [54479]status is "[54480]pending", and [54481]url is the [54482]Document object's [54483]URL. 7. [54484]Spin the event loop until the [54485]set of scripts that will execute as soon as possible and the [54486]list of scripts that will execute in order as soon as possible are empty. 8. [54487]Spin the event loop until there is nothing that delays the load event in the [54488]Document. 9. [54489]Queue a global task on the [54490]DOM manipulation task source given the [54491]Document's [54492]relevant global object to run the following steps: 1. [54493]Update the current document readiness to "complete". 2. If the [54494]Document object's [54495]browsing context is null, then abort these steps. 3. Let window be the [54496]Document's [54497]relevant global object. 4. Set the [54498]Document's [54499]load timing info's [54500]load event start time to the [54501]current high resolution time given window. 5. [54502]Fire an event named [54503]load at window, with legacy target override flag set. 6. Invoke [54504]WebDriver BiDi load complete with the [54505]Document's [54506]browsing context, and a new [54507]WebDriver BiDi navigation status whose [54508]id is the [54509]Document object's [54510]during-loading navigation ID for WebDriver BiDi, [54511]status is "[54512]complete", and [54513]url is the [54514]Document object's [54515]URL. 7. Set the [54516]Document object's [54517]during-loading navigation ID for WebDriver BiDi to null. 8. Set the [54518]Document's [54519]load timing info's [54520]load event end time to the [54521]current high resolution time given window. 9. [54522]Assert: [54523]Document's [54524]page showing is false. 10. Set the [54525]Document's [54526]page showing to true. 11. [54527]Fire a page transition event named [54528]pageshow at window with false. 12. [54529]Completely finish loading the [54530]Document. 13. [54531]Queue the navigation timing entry for the [54532]Document. 10. If the [54533]Document's [54534]print when loaded flag is set, then run the [54535]printing steps. 11. The [54536]Document is now ready for post-load tasks. </p> <p> When the user agent is to abort a parser, it must run the following steps: 1. Throw away any pending content in the [54537]input stream, and discard any future content that would have been added to it. 2. [54538]Stop the speculative HTML parser for this HTML parser. 3. [54539]Update the current document readiness to "interactive". 4. Pop all the nodes off the [54540]stack of open elements. 5. [54541]Update the current document readiness to "complete". </p> <p> 13.2.8 Speculative HTML parsing </p> <p> User agents may implement an optimization, as described in this section, to speculatively fetch resources that are declared in the HTML markup while the HTML parser is waiting for a [54542]pending parsing-blocking script to be fetched and executed, or during normal parsing, at the time [54543]an element is created for a token. While this optimization is not defined in precise detail, there are some rules to consider for interoperability. </p> <p> Each [54544]HTML parser can have an active speculative HTML parser. It is initially null. </p> <p> The speculative HTML parser must act like the normal HTML parser (e.g., the tree builder rules apply), with some exceptions: * The state of the normal HTML parser and the document itself must not be affected. For example, the [54545]next input character or the [54546]stack of open elements for the normal HTML parser is not affected by the [54547]speculative HTML parser. * Bytes pushed into the HTML parser's [54548]input byte stream must also be pushed into the speculative HTML parser's [54549]input byte stream. Bytes read from the streams must be independent. * The result of the speculative parsing is primarily a series of [54550]speculative fetches. Which kinds of resources to speculatively fetch is [54551]implementation-defined, but user agents must not speculatively fetch resources that would not be fetched with the normal HTML parser, under the assumption that the script that is blocking the HTML parser does nothing. It is possible that the same markup is seen multiple times from the [54552]speculative HTML parser and then the normal HTML parser. It is expected that duplicated fetches will be prevented by caching rules, which are not yet fully specified. </p> <p> A speculative fetch for a [54553]speculative mock element element must follow these rules: </p> <p> Should some of these things be applied to the document "for real", even though they are found speculatively? * If the [54554]speculative HTML parser encounters one of the following elements, then act as if that element is processed for the purpose of its effect of subsequent speculative fetches. + A [54555]base element. + A [54556]meta element whose [54557]http-equiv attribute is in the [54558]Content security policy state. + A [54559]meta element whose [54560]name attribute is an [54561]ASCII case-insensitive match for "[54562]referrer". + A [54563]meta element whose [54564]name attribute is an [54565]ASCII case-insensitive match for "viewport". (This can affect whether a media query list [54566]matches the environment.) [54567][CSSDEVICEADAPT] * Let url be the [54568]URL that element would fetch if it was processed normally. If there is no such [54569]URL or if it is the empty string, then do nothing. Otherwise, if [54570]url is already in the [54571]list of speculative fetch URLs, then do nothing. Otherwise, fetch [54572]url as if the element was processed normally, and add url to the [54573]list of speculative fetch URLs. </p> <p> Each [54574]Document has a list of speculative fetch URLs, which is a [54575]list of [54576]URLs, initially empty. </p> <p> To start the speculative HTML parser for an instance of an HTML parser parser: 1. Optionally, return. This step allows user agents to opt out of speculative HTML parsing. 2. If parser's [54577]active speculative HTML parser is not null, then [54578]stop the speculative HTML parser for parser. This can happen when [54579]document.write() writes another parser-blocking script. For simplicity, this specification always restarts speculative parsing, but user agents can implement a more efficient strategy, so long as the end result is equivalent. 3. Let speculativeParser be a new [54580]speculative HTML parser, with the same state as parser. 4. Let speculativeDoc be a new isomorphic representation of parser's [54581]Document, where all elements are instead [54582]speculative mock elements. Let speculativeParser parse into speculativeDoc. 5. Set parser's [54583]active speculative HTML parser to speculativeParser. 6. [54584]In parallel, run speculativeParser until it is stopped or until it reaches the end of its [54585]input stream. </p> <p> To stop the speculative HTML parser for an instance of an HTML parser parser: 1. Let speculativeParser be parser's [54586]active speculative HTML parser. 2. If speculativeParser is null, then return. 3. Throw away any pending content in speculativeParser's [54587]input stream, and discard any future content that would have been added to it. 4. Set parser's [54588]active speculative HTML parser to null. </p> <p> The [54589]speculative HTML parser will create [54590]speculative mock elements instead of normal elements. DOM operations that the tree builder normally does on elements are expected to work appropriately on speculative mock elements. </p> <p> A speculative mock element is a [54591]struct with the following [54592]items: * A [54593]string namespace, corresponding to an element's [54594]namespace. * A [54595]string local name, corresponding to an element's [54596]local name. * A [54597]list attribute list, corresponding to an element's [54598]attribute list. * A [54599]list children, corresponding to an element's [54600]children. </p> <p> To create a speculative mock element given a namespace, tagName, and attributes: 1. Let element be a new [54601]speculative mock element. 2. Set element's [54602]namespace to namespace. 3. Set element's [54603]local name to tagName. 4. Set element's [54604]attribute list to attributes. 5. Set element's [54605]children to a new empty [54606]list. 6. Optionally, perform a [54607]speculative fetch for element. 7. Return element. </p> <p> When the tree builder says to insert an element into a [54608]template element's [54609]template contents, if that is a [54610]speculative mock element, and the [54611]template element's [54612]template contents is not a [54613]ShadowRoot node, instead do nothing. URLs found speculatively inside non-declarative-shadow-root [54614]template elements might themselves be templates, and must not be speculatively fetched. </p> <p> 13.2.9 Coercing an HTML DOM into an infoset </p> <p> When an application uses an [54615]HTML parser in conjunction with an XML pipeline, it is possible that the constructed DOM is not compatible with the XML tool chain in certain subtle ways. For example, an XML toolchain might not be able to represent attributes with the name xmlns, since they conflict with the Namespaces in XML syntax. There is also some data that the [54616]HTML parser generates that isn't included in the DOM itself. This section specifies some rules for handling these issues. </p> <p> If the XML API being used doesn't support DOCTYPEs, the tool may drop DOCTYPEs altogether. </p> <p> If the XML API doesn't support attributes in no namespace that are named "xmlns", attributes whose names start with "xmlns:", or attributes in the [54617]XMLNS namespace, then the tool may drop such attributes. </p> <p> The tool may annotate the output with any namespace declarations required for proper operation. </p> <p> If the XML API being used restricts the allowable characters in the local names of elements and attributes, then the tool may map all element and attribute local names that the API wouldn't support to a set of names that are allowed, by replacing any character that isn't supported with the uppercase letter U and the six digits of the character's code point when expressed in hexadecimal, using digits 0-9 and capital letters A-F as the symbols, in increasing numeric order. </p> <p> For example, the element name foo<bar, which can be output by the [54618]HTML parser, though it is neither a legal HTML element name nor a well-formed XML element name, would be converted into fooU00003Cbar, which is a well-formed XML element name (though it's still not legal in HTML by any means). </p> <p> As another example, consider the attribute xlink:href. Used on a MathML element, it becomes, after being [54619]adjusted, an attribute with a prefix "xlink" and a local name "href". However, used on an HTML element, it becomes an attribute with no prefix and the local name "xlink:href", which is not a valid NCName, and thus might not be accepted by an XML API. It could thus get converted, becoming "xlinkU00003Ahref". </p> <p> The resulting names from this conversion conveniently can't clash with any attribute generated by the [54620]HTML parser, since those are all either lowercase or those listed in the [54621]adjust foreign attributes algorithm's table. </p> <p> If the XML API restricts comments from having two consecutive U+002D HYPHEN-MINUS characters (--), the tool may insert a single U+0020 SPACE character between any such offending characters. </p> <p> If the XML API restricts comments from ending in a U+002D HYPHEN-MINUS character (-), the tool may insert a single U+0020 SPACE character at the end of such comments. </p> <p> If the XML API restricts allowed characters in character data, attribute values, or comments, the tool may replace any U+000C FORM FEED (FF) character with a U+0020 SPACE character, and any other literal non-XML character with a U+FFFD REPLACEMENT CHARACTER. </p> <p> If the tool has no way to convey out-of-band information, then the tool may drop the following information: * Whether the document is set to [54622]no-quirks mode, [54623]limited-quirks mode, or [54624]quirks mode * The association between form controls and forms that aren't their nearest [54625]form element ancestor (use of the [54626]form element pointer in the parser) * The [54627]template contents of any [54628]template elements. </p> <p> The mutations allowed by this section apply after the [54629]HTML parser's rules have been applied. For example, a <a::> start tag will be closed by a </a::> end tag, and never by a </aU00003AU00003A> end tag, even if the user agent is using the rules above to then generate an actual element in the DOM with the name aU00003AU00003A for that start tag. </p> <p> 13.2.10 An introduction to error handling and strange cases in the parser </p> <p> This section is non-normative. </p> <p> This section examines some erroneous markup and discusses how the [54630]HTML parser handles these cases. </p> <p> 13.2.10.1 Misnested tags: <b><i></b></i> </p> <p> This section is non-normative. </p> <p> The most-often discussed example of erroneous markup is as follows: <p>1<b>2<i>3</b>4</i>5</p> </p> <p> The parsing of this markup is straightforward up to the "3". At this point, the DOM looks like this: * [54631]html + [54632]head + [54633]body o [54634]p # [54635]#text: 1 # [54636]b @ [54637]#text: 2 @ [54638]i - [54639]#text: 3 </p> <p> Here, the [54640]stack of open elements has five elements on it: [54641]html, [54642]body, [54643]p, [54644]b, and [54645]i. The [54646]list of active formatting elements just has two: [54647]b and [54648]i. The [54649]insertion mode is "[54650]in body". </p> <p> Upon receiving the end tag token with the tag name "b", the "[54651]adoption agency algorithm" is invoked. This is a simple case, in that the formattingElement is the [54652]b element, and there is no furthest block. Thus, the [54653]stack of open elements ends up with just three elements: [54654]html, [54655]body, and [54656]p, while the [54657]list of active formatting elements has just one: [54658]i. The DOM tree is unmodified at this point. </p> <p> The next token is a character ("4"), triggers the [54659]reconstruction of the active formatting elements, in this case just the [54660]i element. A new [54661]i element is thus created for the "4" [54662]Text node. After the end tag token for the "i" is also received, and the "5" [54663]Text node is inserted, the DOM looks as follows: * [54664]html + [54665]head + [54666]body o [54667]p # [54668]#text: 1 # [54669]b @ [54670]#text: 2 @ [54671]i - [54672]#text: 3 # [54673]i @ [54674]#text: 4 # [54675]#text: 5 </p> <p> 13.2.10.2 Misnested tags: <b><p></b></p> </p> <p> This section is non-normative. </p> <p> A case similar to the previous one is the following: <b>1<p>2</b>3</p> </p> <p> Up to the "2" the parsing here is straightforward: * [54676]html + [54677]head + [54678]body o [54679]b # [54680]#text: 1 # [54681]p @ [54682]#text: 2 </p> <p> The interesting part is when the end tag token with the tag name "b" is parsed. </p> <p> Before that token is seen, the [54683]stack of open elements has four elements on it: [54684]html, [54685]body, [54686]b, and [54687]p. The [54688]list of active formatting elements just has the one: [54689]b. The [54690]insertion mode is "[54691]in body". </p> <p> Upon receiving the end tag token with the tag name "b", the "[54692]adoption agency algorithm" is invoked, as in the previous example. However, in this case, there is a furthest block, namely the [54693]p element. Thus, this time the adoption agency algorithm isn't skipped over. </p> <p> The common ancestor is the [54694]body element. A conceptual "bookmark" marks the position of the [54695]b in the [54696]list of active formatting elements, but since that list has only one element in it, the bookmark won't have much effect. </p> <p> As the algorithm progresses, node ends up set to the formatting element ([54697]b), and last node ends up set to the furthest block ([54698]p). </p> <p> The last node gets appended (moved) to the common ancestor, so that the DOM looks like: * [54699]html + [54700]head + [54701]body o [54702]b # [54703]#text: 1 o [54704]p # [54705]#text: 2 </p> <p> A new [54706]b element is created, and the children of the [54707]p element are moved to it: * [54708]html + [54709]head + [54710]body o [54711]b # [54712]#text: 1 o [54713]p </p> <p> * [54714]b + [54715]#text: 2 </p> <p> Finally, the new [54716]b element is appended to the [54717]p element, so that the DOM looks like: * [54718]html + [54719]head + [54720]body o [54721]b # [54722]#text: 1 o [54723]p # [54724]b @ [54725]#text: 2 </p> <p> The [54726]b element is removed from the [54727]list of active formatting elements and the [54728]stack of open elements, so that when the "3" is parsed, it is appended to the [54729]p element: * [54730]html + [54731]head + [54732]body o [54733]b # [54734]#text: 1 o [54735]p # [54736]b @ [54737]#text: 2 # [54738]#text: 3 </p> <p> 13.2.10.3 Unexpected markup in tables </p> <p> This section is non-normative. </p> <p> Error handling in tables is, for historical reasons, especially strange. For example, consider the following markup: <table><b><tr><td>aaa</td></tr>bbb</table>ccc </p> <p> The highlighted [54739]b element start tag is not allowed directly inside a table like that, and the parser handles this case by placing the element before the table. (This is called [54740]foster parenting.) This can be seen by examining the DOM tree as it stands just after the [54741]table element's start tag has been seen: * [54742]html + [54743]head + [54744]body o [54745]table </p> <p> ...and then immediately after the [54746]b element start tag has been seen: * [54747]html + [54748]head + [54749]body o [54750]b o [54751]table </p> <p> At this point, the [54752]stack of open elements has on it the elements [54753]html, [54754]body, [54755]table, and [54756]b (in that order, despite the resulting DOM tree); the [54757]list of active formatting elements just has the [54758]b element in it; and the [54759]insertion mode is "[54760]in table". </p> <p> The [54761]tr start tag causes the [54762]b element to be popped off the stack and a [54763]tbody start tag to be implied; the [54764]tbody and [54765]tr elements are then handled in a rather straight-forward manner, taking the parser through the "[54766]in table body" and "[54767]in row" insertion modes, after which the DOM looks as follows: * [54768]html + [54769]head + [54770]body o [54771]b o [54772]table # [54773]tbody @ [54774]tr </p> <p> Here, the [54775]stack of open elements has on it the elements [54776]html, [54777]body, [54778]table, [54779]tbody, and [54780]tr; the [54781]list of active formatting elements still has the [54782]b element in it; and the [54783]insertion mode is "[54784]in row". </p> <p> The [54785]td element start tag token, after putting a [54786]td element on the tree, puts a [54787]marker on the [54788]list of active formatting elements (it also switches to the "[54789]in cell" [54790]insertion mode). * [54791]html + [54792]head + [54793]body o [54794]b o [54795]table # [54796]tbody @ [54797]tr - [54798]td </p> <p> The [54799]marker means that when the "aaa" character tokens are seen, no [54800]b element is created to hold the resulting [54801]Text node: * [54802]html + [54803]head + [54804]body o [54805]b o [54806]table # [54807]tbody @ [54808]tr - [54809]td = [54810]#text: aaa </p> <p> The end tags are handled in a straight-forward manner; after handling them, the [54811]stack of open elements has on it the elements [54812]html, [54813]body, [54814]table, and [54815]tbody; the [54816]list of active formatting elements still has the [54817]b element in it (the [54818]marker having been removed by the "td" end tag token); and the [54819]insertion mode is "[54820]in table body". </p> <p> Thus it is that the "bbb" character tokens are found. These trigger the "[54821]in table text" insertion mode to be used (with the [54822]original insertion mode set to "[54823]in table body"). The character tokens are collected, and when the next token (the [54824]table element end tag) is seen, they are processed as a group. Since they are not all spaces, they are handled as per the "anything else" rules in the "[54825]in table" insertion mode, which defer to the "[54826]in body" insertion mode but with [54827]foster parenting. </p> <p> When [54828]the active formatting elements are reconstructed, a [54829]b element is created and [54830]foster parented, and then the "bbb" [54831]Text node is appended to it: * [54832]html + [54833]head + [54834]body o [54835]b o [54836]b # [54837]#text: bbb o [54838]table # [54839]tbody @ [54840]tr - [54841]td = [54842]#text: aaa </p> <p> The [54843]stack of open elements has on it the elements [54844]html, [54845]body, [54846]table, [54847]tbody, and the new [54848]b (again, note that this doesn't match the resulting tree!); the [54849]list of active formatting elements has the new [54850]b element in it; and the [54851]insertion mode is still "[54852]in table body". </p> <p> Had the character tokens been only [54853]ASCII whitespace instead of "bbb", then that [54854]ASCII whitespace would just be appended to the [54855]tbody element. </p> <p> Finally, the [54856]table is closed by a "table" end tag. This pops all the nodes from the [54857]stack of open elements up to and including the [54858]table element, but it doesn't affect the [54859]list of active formatting elements, so the "ccc" character tokens after the table result in yet another [54860]b element being created, this time after the table: * [54861]html + [54862]head + [54863]body o [54864]b o [54865]b # [54866]#text: bbb o [54867]table # [54868]tbody @ [54869]tr - [54870]td = [54871]#text: aaa o [54872]b # [54873]#text: ccc </p> <p> 13.2.10.4 Scripts that modify the page as it is being parsed </p> <p> This section is non-normative. </p> <p> Consider the following markup, which for this example we will assume is the document with [54874]URL https://example.com/inner, being rendered as the content of an [54875]iframe in another document with the [54876]URL https://example.com/outer: <div id=a> <script> var div = document.getElementById(ʼaʼ); parent.document.body.appendChild(div); </script> <script> alert(document.URL); </script> </div> <script> alert(document.URL); </script> </p> <p> Up to the first "script" end tag, before the script is parsed, the result is relatively straightforward: * [54877]html + [54878]head + [54879]body o [54880]div [54881]id="a" # [54882]#text: # [54883]script @ [54884]#text: var div = document.getElementById('a'); ⏎ parent.document.body.appendChild(div); </p> <p> After the script is parsed, though, the [54885]div element and its child [54886]script element are gone: * [54887]html + [54888]head + [54889]body </p> <p> They are, at this point, in the [54890]Document of the aforementioned outer [54891]browsing context. However, the [54892]stack of open elements still contains the [54893]div element. </p> <p> Thus, when the second [54894]script element is parsed, it is inserted into the outer [54895]Document object. </p> <p> Those parsed into different [54896]Documents than the one the parser was created for do not execute, so the first alert does not show. </p> <p> Once the [54897]div element's end tag is parsed, the [54898]div element is popped off the stack, and so the next [54899]script element is in the inner [54900]Document: * [54901]html + [54902]head + [54903]body o [54904]script # [54905]#text: alert(document.URL); </p> <p> This script does execute, resulting in an alert that says "https://example.com/inner". </p> <p> 13.2.10.5 The execution of scripts that are moving across multiple documents </p> <p> This section is non-normative. </p> <p> Elaborating on the example in the previous section, consider the case where the second [54906]script element is an external script (i.e. one with a [54907]src attribute). Since the element was not in the parser's [54908]Document when it was created, that external script is not even downloaded. </p> <p> In a case where a [54909]script element with a [54910]src attribute is parsed normally into its parser's [54911]Document, but while the external script is being downloaded, the element is moved to another document, the script continues to download, but does not execute. </p> <p> In general, moving [54912]script elements between [54913]Documents is considered a bad practice. </p> <p> 13.2.10.6 Unclosed formatting elements </p> <p> This section is non-normative. </p> <p> The following markup shows how nested formatting elements (such as [54914]b) get collected and continue to be applied even as the elements they are contained in are closed, but that excessive duplicates are thrown away. <!DOCTYPE html> <p><b class=x><b class=x><b><b class=x><b class=x><b>X <p>X <p><b><b class=x><b>X <p></b></b></b></b></b></b>X </p> <p> The resulting DOM tree is as follows: * DOCTYPE: html * [54915]html + [54916]head + [54917]body o [54918]p # [54919]b [54920]class="x" @ [54921]b [54922]class="x" - [54923]b = [54924]b [54925]class="x" * [54926]b [54927]class="x" + [54928]b o [54929]#text: X⏎ o [54930]p # [54931]b [54932]class="x" @ [54933]b - [54934]b [54935]class="x" = [54936]b [54937]class="x" * [54938]b + [54939]#text: X⏎ o [54940]p # [54941]b [54942]class="x" @ [54943]b - [54944]b [54945]class="x" = [54946]b [54947]class="x" * [54948]b + [54949]b o [54950]b [54951]class="x" # [54952]b @ [54953]#text: X⏎ o [54954]p # [54955]#text: X⏎ </p> <p> Note how the second [54956]p element in the markup has no explicit [54957]b elements, but in the resulting DOM, up to three of each kind of formatting element (in this case three [54958]b elements with the class attribute, and two unadorned [54959]b elements) get reconstructed before the element's "X". </p> <p> Also note how this means that in the final paragraph only six [54960]b end tags are needed to completely clear the [54961]list of active formatting elements, even though nine [54962]b start tags have been seen up to this point. </p> <p> 13.3 Serializing HTML fragments </p> <p> For the purposes of the following algorithm, an element serializes as void if its element type is one of the [54963]void elements, or is [54964]basefont, [54965]bgsound, [54966]frame, [54967]keygen, or [54968]param. </p> <p> The following steps form the HTML fragment serialization algorithm. The algorithm takes as input a DOM [54969]Element, [54970]Document, or [54971]DocumentFragment referred to as the node, a boolean serializableShadowRoots, and a sequence<ShadowRoot> shadowRoots, and returns a string. </p> <p> This algorithm serializes the children of the node being serialized, not the node itself. 1. If the node [54972]serializes as void, then return the empty string. 2. Let s be a string, and initialize it to the empty string. 3. If the node is a [54973]template element, then let the node instead be the [54974]template element's [54975]template contents (a [54976]DocumentFragment node). 4. If current node is a [54977]shadow host, then: 1. Let shadow be current node's [54978]shadow root. 2. If one of the following is true: o serializableShadowRoots is true and shadow's [54979]serializable is true; or o shadowRoots contains shadow, then: 1. Append "<template shadowrootmode="". 2. If shadow's [54980]mode is "open", then append "open". Otherwise, append "closed". 3. Append """. 4. If shadow's [54981]delegates focus is set, then append " shadowrootdelegatesfocus=""". 5. If shadow's [54982]serializable is set, then append " shadowrootserializable=""". 6. If shadow's [54983]clonable is set, then append " shadowrootclonable=""". 7. If current node's [54984]custom element registry is not shadow's [54985]custom element registry, then append " shadowrootcustomelementregistry=""". 8. Append ">". 9. Append the value of running the [54986]HTML fragment serialization algorithm with shadow, serializableShadowRoots, and shadowRoots (thus recursing into this algorithm for that element). 10. Append "</template>". 5. For each child node of the node, in [54987]tree order, run the following steps: 1. Let current node be the child node being processed. 2. Append the appropriate string from the following list to s: </p> <p> If current node is an [54988]Element If current node is an element in the [54989]HTML namespace, the [54990]MathML namespace, or the [54991]SVG namespace, then let tagname be current node's local name. Otherwise, let tagname be current node's qualified name. </p> <p> Append a U+003C LESS-THAN SIGN character (<), followed by tagname. </p> <p> For [54992]HTML elements created by the [54993]HTML parser or [54994]createElement(), tagname will be lowercase. </p> <p> If current node's [54995]is value is not null, and the element does not have an [54996]is attribute in its attribute list, then append the string " is="", followed by current node's [54997]is value [54998]escaped as described below in attribute mode, followed by a U+0022 QUOTATION MARK character ("). </p> <p> For each attribute that the element has, append a U+0020 SPACE character, the [54999]attribute's serialized name as described below, a U+003D EQUALS SIGN character (=), a U+0022 QUOTATION MARK character ("), the attribute's value, [55000]escaped as described below in attribute mode, and a second U+0022 QUOTATION MARK character ("). </p> <p> An attribute's serialized name for the purposes of the previous paragraph must be determined as follows: </p> <p> If the attribute has no namespace The attribute's serialized name is the attribute's local name. </p> <p> For attributes on [55001]HTML elements set by the [55002]HTML parser or by [55003]setAttribute(), the local name will be lowercase. </p> <p> If the attribute is in the [55004]XML namespace The attribute's serialized name is the string "xml:" followed by the attribute's local name. </p> <p> If the attribute is in the [55005]XMLNS namespace and the attribute's local name is xmlns The attribute's serialized name is the string "xmlns". </p> <p> If the attribute is in the [55006]XMLNS namespace and the attribute's local name is not xmlns The attribute's serialized name is the string "xmlns:" followed by the attribute's local name. </p> <p> If the attribute is in the [55007]XLink namespace The attribute's serialized name is the string "xlink:" followed by the attribute's local name. </p> <p> If the attribute is in some other namespace The attribute's serialized name is the attribute's qualified name. </p> <p> While the exact order of attributes is [55008]implementation-defined, and may depend on factors such as the order that the attributes were given in the original markup, the sort order must be stable, such that consecutive invocations of this algorithm serialize an element's attributes in the same order. </p> <p> Append a U+003E GREATER-THAN SIGN character (>). </p> <p> If current node [55009]serializes as void, then [55010]continue on to the next child node at this point. </p> <p> Append the value of running the [55011]HTML fragment serialization algorithm with current node, serializableShadowRoots, and shadowRoots (thus recursing into this algorithm for that node), followed by a U+003C LESS-THAN SIGN character (<), a U+002F SOLIDUS character (/), tagname again, and finally a U+003E GREATER-THAN SIGN character (>). </p> <p> If current node is a [55012]Text node If the parent of current node is a [55013]style, [55014]script, [55015]xmp, [55016]iframe, [55017]noembed, [55018]noframes, or [55019]plaintext element, or if the parent of current node is a [55020]noscript element and [55021]scripting is enabled for the node, then append the value of current node's [55022]data literally. </p> <p> Otherwise, append the value of current node's [55023]data, [55024]escaped as described below. </p> <p> If current node is a [55025]Comment Append "<!--" (U+003C LESS-THAN SIGN, U+0021 EXCLAMATION MARK, U+002D HYPHEN-MINUS, U+002D HYPHEN-MINUS), followed by the value of current node's [55026]data, followed by the literal string "-->" (U+002D HYPHEN-MINUS, U+002D HYPHEN-MINUS, U+003E GREATER-THAN SIGN). </p> <p> If current node is a [55027]ProcessingInstruction Append "<?" (U+003C LESS-THAN SIGN, U+003F QUESTION MARK), followed by the value of current node's target IDL attribute, followed by a single U+0020 SPACE character, followed by the value of current node's [55028]data, followed by a single U+003E GREATER-THAN SIGN character (>). </p> <p> If current node is a [55029]DocumentType Append "<!DOCTYPE" (U+003C LESS-THAN SIGN, U+0021 EXCLAMATION MARK, U+0044 LATIN CAPITAL LETTER D, U+004F LATIN CAPITAL LETTER O, U+0043 LATIN CAPITAL LETTER C, U+0054 LATIN CAPITAL LETTER T, U+0059 LATIN CAPITAL LETTER Y, U+0050 LATIN CAPITAL LETTER P, U+0045 LATIN CAPITAL LETTER E), followed by a space (U+0020 SPACE), followed by the value of current node's [55030]name, followed by ">" (U+003E GREATER-THAN SIGN). </p> <p> 6. Return s. </p> <p> It is possible that the output of this algorithm, if parsed with an [55031]HTML parser, will not return the original tree structure. Tree structures that do not roundtrip a serialize and reparse step can also be produced by the [55032]HTML parser itself, although such cases are typically non-conforming. </p> <p> For instance, if a [55033]textarea element to which a Comment node has been appended is serialized and the output is then reparsed, the comment will end up being displayed in the text control. Similarly, if, as a result of DOM manipulation, an element contains a comment that contains "-->", then when the result of serializing the element is parsed, the comment will be truncated at that point and the rest of the comment will be interpreted as markup. More examples would be making a [55034]script element contain a [55035]Text node with the text string "</script>", or having a [55036]p element that contains a [55037]ul element (as the [55038]ul element's [55039]start tag would imply the end tag for the [55040]p). </p> <p> This can enable cross-site scripting attacks. An example of this would be a page that lets the user enter some font family names that are then inserted into a CSS [55041]style block via the DOM and which then uses the [55042]innerHTML IDL attribute to get the HTML serialization of that [55043]style element: if the user enters "</style><script>attack</script>" as a font family name, [55044]innerHTML will return markup that, if parsed in a different context, would contain a [55045]script node, even though no [55046]script node existed in the original DOM. </p> <p> For example, consider the following markup: <form id="outer"><div></form><form id="inner"><input> </p> <p> This will be parsed into: * [55047]html + [55048]head + [55049]body o [55050]form [55051]id="outer" # [55052]div @ [55053]form [55054]id="inner" - [55055]input </p> <p> The [55056]input element will be associated with the inner [55057]form element. Now, if this tree structure is serialized and reparsed, the <form id="inner"> start tag will be ignored, and so the [55058]input element will be associated with the outer [55059]form element instead. <html><head></head><body><form id="outer"><div><form id="inner"><input></form></ div></form></body></html> * [55060]html + [55061]head + [55062]body o [55063]form [55064]id="outer" # [55065]div @ [55066]input </p> <p> As another example, consider the following markup: <a><table><a> </p> <p> This will be parsed into: * [55067]html + [55068]head + [55069]body o [55070]a # [55071]a # [55072]table </p> <p> That is, the [55073]a elements are nested, because the second [55074]a element is [55075]foster parented. After a serialize-reparse roundtrip, the [55076]a elements and the [55077]table element would all be siblings, because the second <a> start tag implicitly closes the first [55078]a element. <html><head></head><body><a><a></a><table></table></a></body></html> * [55079]html + [55080]head + [55081]body o [55082]a o [55083]a o [55084]table </p> <p> For historical reasons, this algorithm does not round-trip an initial U+000A LINE FEED (LF) character in [55085]pre, [55086]textarea, or [55087]listing elements, even though (in the first two cases) the markup being round-tripped can be conforming. The [55088]HTML parser will drop such a character during parsing, but this algorithm does not serialize an extra U+000A LINE FEED (LF) character. </p> <p> For example, consider the following markup: <pre> </p> <p> Hello.</pre> </p> <p> When this document is first parsed, the [55089]pre element's [55090]child text content starts with a single newline character. After a serialize-reparse roundtrip, the [55091]pre element's [55092]child text content is simply "Hello.". </p> <p> Because of the special role of the [55093]is attribute in signaling the creation of [55094]customized built-in elements, in that it provides a mechanism for parsed HTML to set the element's [55095]is value, we special-case its handling during serialization. This ensures that an element's [55096]is value is preserved through serialize-parse roundtrips. </p> <p> When creating a [55097]customized built-in element via the parser, a developer uses the [55098]is attribute directly; in such cases serialize-parse roundtrips work fine. <script> window.SuperP = class extends HTMLParagraphElement {}; customElements.define("super-p", SuperP, { extends: "p" }); </script> </p> <p> <div id="container"><p is="super-p">Superb!</p></div> </p> <p> <script> console.log(container.innerHTML); // <p is="super-p"> container.innerHTML = container.innerHTML; console.log(container.innerHTML); // <p is="super-p"> console.assert(container.firstChild instanceof SuperP); </script> </p> <p> But when creating a customized built-in element via its [55099]constructor or via [55100]createElement(), the [55101]is attribute is not added. Instead, the [55102]is value (which is what the custom elements machinery uses) is set without intermediating through an attribute. <script> container.innerHTML = ""; const p = document.createElement("p", { is: "super-p" }); container.appendChild(p); </p> <p> // The is attribute is not present in the DOM: console.assert(!p.hasAttribute("is")); </p> <p> // But the element is still a super-p: console.assert(p instanceof SuperP); </script> </p> <p> To ensure that serialize-parse roundtrips still work, the serialization process explicitly writes out the element's [55103]is value as an [55104]is attribute: <script> console.log(container.innerHTML); // <p is="super-p"> container.innerHTML = container.innerHTML; console.log(container.innerHTML); // <p is="super-p"> console.assert(container.firstChild instanceof SuperP); </script> </p> <p> Escaping a string (for the purposes of the algorithm above) consists of running the following steps: 1. Replace any occurrence of the "&" character by the string "&amp;". 2. Replace any occurrences of the U+00A0 NO-BREAK SPACE character by the string "&nbsp;". 3. If the algorithm was invoked in the attribute mode, replace any occurrences of the """ character by the string "&quot;". 4. If the algorithm was not invoked in the attribute mode, replace any occurrences of the "<" character by the string "&lt;", and any occurrences of the ">" character by the string "&gt;". </p> <p> 13.4 Parsing HTML fragments </p> <p> The HTML fragment parsing algorithm, given an [55105]Element node context, string input, and an optional boolean allowDeclarativeShadowRoots (default false) is the following steps. They return a list of zero or more nodes. </p> <p> Parts marked fragment case in algorithms in the [55106]HTML parser section are parts that only occur if the parser was created for the purposes of this algorithm. The algorithms have been annotated with such markings for informational purposes only; such markings have no normative weight. If it is possible for a condition described as a [55107]fragment case to occur even when the parser wasn't created for the purposes of handling this algorithm, then that is an error in the specification. 1. Let document be a [55108]Document node whose [55109]type is "html". 2. If [55110]context's [55111]node document is in [55112]quirks mode, then set document's [55113]mode to "quirks". 3. Otherwise, if [55114]context's [55115]node document is in [55116]limited-quirks mode, then set document's [55117]mode to "limited-quirks". 4. If allowDeclarativeShadowRoots is true, then set document's [55118]allow declarative shadow roots to true. 5. Create a new [55119]HTML parser, and associate it with document. 6. Set the state of the [55120]HTML parser's [55121]tokenization stage as follows, switching on the [55122]context element: </p> <p> [55123]title [55124]textarea Switch the tokenizer to the [55125]RCDATA state. </p> <p> [55126]style [55127]xmp [55128]iframe [55129]noembed [55130]noframes Switch the tokenizer to the [55131]RAWTEXT state. </p> <p> [55132]script Switch the tokenizer to the [55133]script data state. </p> <p> [55134]noscript If the [55135]scripting flag is enabled, switch the tokenizer to the [55136]RAWTEXT state. Otherwise, leave the tokenizer in the [55137]data state. </p> <p> [55138]plaintext Switch the tokenizer to the [55139]PLAINTEXT state. </p> <p> Any other element Leave the tokenizer in the [55140]data state. </p> <p> For performance reasons, an implementation that does not report errors and that uses the actual state machine described in this specification directly could use the PLAINTEXT state instead of the RAWTEXT and script data states where those are mentioned in the list above. Except for rules regarding parse errors, they are equivalent, since there is no [55141]appropriate end tag token in the fragment case, yet they involve far fewer state transitions. 7. Let root be the result of [55142]creating an element given document, "html", the [55143]HTML namespace, null, null, false, and context's [55144]custom element registry. 8. [55145]Append root to document. 9. Set up the [55146]HTML parser's [55147]stack of open elements so that it contains just the single element root. 10. If [55148]context is a [55149]template element, then push "[55150]in template" onto the [55151]stack of template insertion modes so that it is the new [55152]current template insertion mode. 11. Create a start tag token whose name is the local name of [55153]context and whose attributes are the attributes of [55154]context. Let this start tag token be the start tag token of [55155]context; e.g. for the purposes of determining if it is an [55156]HTML integration point. 12. [55157]Reset the parser's insertion mode appropriately. The parser will reference the [55158]context element as part of that algorithm. 13. Set the [55159]HTML parser's [55160]form element pointer to the nearest node to [55161]context that is a [55162]form element (going straight up the ancestor chain, and including the element itself, if it is a [55163]form element), if any. (If there is no such [55164]form element, the [55165]form element pointer keeps its initial value, null.) 14. Place the input into the [55166]input stream for the [55167]HTML parser just created. The encoding [55168]confidence is irrelevant. 15. Start the [55169]HTML parser and let it run until it has consumed all the characters just inserted into the input stream. 16. Return root's [55170]children, in [55171]tree order. </p> <p> 13.5 Named character references </p> <p> This table lists the [55172]character reference names that are supported by HTML, and the code points to which they refer. It is referenced by the previous sections. </p> <p> It is intentional, for legacy compatibility, that many code points have multiple character reference names. For example, some appear both with and without the trailing semicolon, or with different capitalizations. </p> <p> Name Character(s) Glyph Aacute; U+000C1 Á Aacute U+000C1 Á aacute; U+000E1 á aacute U+000E1 á Abreve; U+00102 Ă abreve; U+00103 ă ac; U+0223E ∾ acd; U+0223F ∿ acE; U+0223E U+00333 ∾̳ Acirc; U+000C2  Acirc U+000C2  acirc; U+000E2 â acirc U+000E2 â acute; U+000B4 ´ acute U+000B4 ´ Acy; U+00410 А acy; U+00430 а AElig; U+000C6 Æ AElig U+000C6 Æ aelig; U+000E6 æ aelig U+000E6 æ af; U+02061 ⁡ Afr; U+1D504 𝔄 afr; U+1D51E 𝔞 Agrave; U+000C0 À Agrave U+000C0 À agrave; U+000E0 agrave U+000E0 alefsym; U+02135 ℵ aleph; U+02135 ℵ Alpha; U+00391 Α alpha; U+003B1 α Amacr; U+00100 Ā amacr; U+00101 ā amalg; U+02A3F ⨿ AMP; U+00026 & AMP U+00026 & amp; U+00026 & amp U+00026 & And; U+02A53 ⩓ and; U+02227 ∧ andand; U+02A55 ⩕ andd; U+02A5C ⩜ andslope; U+02A58 ⩘ andv; U+02A5A ⩚ ang; U+02220 ange; U+029A4 ⦤ angle; U+02220 angmsd; U+02221 ∡ angmsdaa; U+029A8 ⦨ angmsdab; U+029A9 ⦩ angmsdac; U+029AA ⦪ angmsdad; U+029AB ⦫ angmsdae; U+029AC ⦬ angmsdaf; U+029AD ⦭ angmsdag; U+029AE ⦮ angmsdah; U+029AF ⦯ angrt; U+0221F ∟ angrtvb; U+022BE ⊾ angrtvbd; U+0299D ⦝ angsph; U+02222 ∢ angst; U+000C5 angzarr; U+0237C ⍼ Aogon; U+00104 Ą aogon; U+00105 Aopf; U+1D538 𝔸 aopf; U+1D552 𝕒 ap; U+02248 ≈ apacir; U+02A6F ⩯ apE; U+02A70 ⩰ ape; U+0224A ≊ apid; U+0224B ≋ apos; U+00027 ' ApplyFunction; U+02061 ⁡ approx; U+02248 ≈ approxeq; U+0224A ≊ Aring; U+000C5 Aring U+000C5 aring; U+000E5 å aring U+000E5 å Ascr; U+1D49C 𝒜 ascr; U+1D4B6 𝒶 Assign; U+02254 ≔ ast; U+0002A * asymp; U+02248 ≈ asympeq; U+0224D ≍ Atilde; U+000C3 à Atilde U+000C3 à atilde; U+000E3 ã atilde U+000E3 ã Auml; U+000C4 Ä Auml U+000C4 Ä auml; U+000E4 ä auml U+000E4 ä awconint; U+02233 ∳ awint; U+02A11 ⨑ backcong; U+0224C ≌ backepsilon; U+003F6 ϶ backprime; U+02035 ‵ backsim; U+0223D ∽ backsimeq; U+022CD ⋍ Backslash; U+02216 ∖ Barv; U+02AE7 ⫧ barvee; U+022BD ⊽ Barwed; U+02306 ⌆ barwed; U+02305 barwedge; U+02305 bbrk; U+023B5 ⎵ bbrktbrk; U+023B6 ⎶ bcong; U+0224C ≌ Bcy; U+00411 Б bcy; U+00431 б bdquo; U+0201E „ becaus; U+02235 ∵ Because; U+02235 ∵ because; U+02235 ∵ bemptyv; U+029B0 ⦰ bepsi; U+003F6 ϶ bernou; U+0212C ℬ Bernoullis; U+0212C ℬ Beta; U+00392 Β beta; U+003B2 β beth; U+02136 ℶ between; U+0226C ≬ Bfr; U+1D505 bfr; U+1D51F 𝔟 bigcap; U+022C2 ⋂ bigcirc; U+025EF ◯ bigcup; U+022C3 ⋃ bigodot; U+02A00 ⨀ bigoplus; U+02A01 ⨁ bigotimes; U+02A02 ⨂ bigsqcup; U+02A06 ⨆ bigstar; U+02605 bigtriangledown; U+025BD ▽ bigtriangleup; U+025B3 △ biguplus; U+02A04 ⨄ bigvee; U+022C1 ⋁ bigwedge; U+022C0 ⋀ bkarow; U+0290D ⤍ blacklozenge; U+029EB ⧫ blacksquare; U+025AA ▪ blacktriangle; U+025B4 ▴ blacktriangledown; U+025BE ▾ blacktriangleleft; U+025C2 ◂ blacktriangleright; U+025B8 ▸ blank; U+02423 ␣ blk12; U+02592 ▒ blk14; U+02591 ░ blk34; U+02593 ▓ block; U+02588 █ bne; U+0003D U+020E5 =⃥ bnequiv; U+02261 U+020E5 ≡⃥ bNot; U+02AED ⫭ bnot; U+02310 ⌐ Bopf; U+1D539 𝔹 bopf; U+1D553 𝕓 bot; U+022A5 ⊥ bottom; U+022A5 ⊥ bowtie; U+022C8 ⋈ boxbox; U+029C9 ⧉ boxDL; U+02557 ╗ boxDl; U+02556 ╖ boxdL; U+02555 ╕ boxdl; U+02510 ┐ boxDR; U+02554 ╔ boxDr; U+02553 ╓ boxdR; U+02552 ╒ boxdr; U+0250C ┌ boxH; U+02550 ═ boxh; U+02500 ─ boxHD; U+02566 ╦ boxHd; U+02564 ╤ boxhD; U+02565 ╥ boxhd; U+0252C ┬ boxHU; U+02569 ╩ boxHu; U+02567 ╧ boxhU; U+02568 ╨ boxhu; U+02534 ┴ boxminus; U+0229F ⊟ boxplus; U+0229E ⊞ boxtimes; U+022A0 boxUL; U+0255D ╝ boxUl; U+0255C ╜ boxuL; U+0255B ╛ boxul; U+02518 ┘ boxUR; U+0255A ╚ boxUr; U+02559 ╙ boxuR; U+02558 ╘ boxur; U+02514 └ boxV; U+02551 ║ boxv; U+02502 │ boxVH; U+0256C ╬ boxVh; U+0256B ╫ boxvH; U+0256A ╪ boxvh; U+0253C ┼ boxVL; U+02563 ╣ boxVl; U+02562 ╢ boxvL; U+02561 ╡ boxvl; U+02524 ┤ boxVR; U+02560 boxVr; U+0255F ╟ boxvR; U+0255E ╞ boxvr; U+0251C ├ bprime; U+02035 ‵ Breve; U+002D8 ˘ breve; U+002D8 ˘ brvbar; U+000A6 ¦ brvbar U+000A6 ¦ Bscr; U+0212C ℬ bscr; U+1D4B7 𝒷 bsemi; U+0204F ⁏ bsim; U+0223D ∽ bsime; U+022CD ⋍ bsol; U+0005C \ bsolb; U+029C5 bsolhsub; U+027C8 ⟈ bull; U+02022 • bullet; U+02022 • bump; U+0224E ≎ bumpE; U+02AAE ⪮ bumpe; U+0224F ≏ Bumpeq; U+0224E ≎ bumpeq; U+0224F ≏ Cacute; U+00106 Ć cacute; U+00107 ć Cap; U+022D2 ⋒ cap; U+02229 ∩ capand; U+02A44 ⩄ capbrcup; U+02A49 ⩉ capcap; U+02A4B ⩋ capcup; U+02A47 ⩇ capdot; U+02A40 ⩀ CapitalDifferentialD; U+02145 caps; U+02229 U+0FE00 ∩︀ caret; U+02041 ⁁ caron; U+002C7 ˇ Cayleys; U+0212D ℭ ccaps; U+02A4D ⩍ Ccaron; U+0010C Č ccaron; U+0010D č Ccedil; U+000C7 Ç Ccedil U+000C7 Ç ccedil; U+000E7 ç ccedil U+000E7 ç Ccirc; U+00108 Ĉ ccirc; U+00109 ĉ Cconint; U+02230 ∰ ccups; U+02A4C ⩌ ccupssm; U+02A50 ⩐ Cdot; U+0010A Ċ cdot; U+0010B ċ cedil; U+000B8 ¸ cedil U+000B8 ¸ Cedilla; U+000B8 ¸ cemptyv; U+029B2 ⦲ cent; U+000A2 ¢ cent U+000A2 ¢ CenterDot; U+000B7 · centerdot; U+000B7 · Cfr; U+0212D ℭ cfr; U+1D520 CHcy; U+00427 Ч chcy; U+00447 ч check; U+02713 ✓ checkmark; U+02713 ✓ Chi; U+003A7 Χ chi; U+003C7 χ cir; U+025CB ○ circ; U+002C6 ˆ circeq; U+02257 ≗ circlearrowleft; U+021BA ↺ circlearrowright; U+021BB ↻ circledast; U+0229B ⊛ circledcirc; U+0229A ⊚ circleddash; U+0229D ⊝ CircleDot; U+02299 ⊙ circledR; U+000AE ® circledS; U+024C8 Ⓢ CircleMinus; U+02296 ⊖ CirclePlus; U+02295 ⊕ CircleTimes; U+02297 ⊗ cirE; U+029C3 ⧃ cire; U+02257 ≗ cirfnint; U+02A10 ⨐ cirmid; U+02AEF ⫯ cirscir; U+029C2 ⧂ ClockwiseContourIntegral; U+02232 ∲ CloseCurlyDoubleQuote; U+0201D ” CloseCurlyQuote; U+02019 ’ clubs; U+02663 ♣ clubsuit; U+02663 ♣ Colon; U+02237 ∷ colon; U+0003A : Colone; U+02A74 ⩴ colone; U+02254 ≔ coloneq; U+02254 ≔ comma; U+0002C , commat; U+00040 @ comp; U+02201 ∁ compfn; U+02218 ∘ complement; U+02201 ∁ complexes; U+02102 ℂ cong; U+02245 congdot; U+02A6D ⩭ Congruent; U+02261 ≡ Conint; U+0222F ∯ conint; U+0222E ∮ ContourIntegral; U+0222E ∮ Copf; U+02102 ℂ copf; U+1D554 𝕔 coprod; U+02210 ∐ Coproduct; U+02210 ∐ COPY; U+000A9 © COPY U+000A9 © copy; U+000A9 © copy U+000A9 © copysr; U+02117 ℗ CounterClockwiseContourIntegral; U+02233 ∳ crarr; U+021B5 ↵ Cross; U+02A2F ⨯ cross; U+02717 ✗ Cscr; U+1D49E 𝒞 cscr; U+1D4B8 𝒸 csub; U+02ACF ⫏ csube; U+02AD1 ⫑ csup; U+02AD0 ⫐ csupe; U+02AD2 ⫒ ctdot; U+022EF ⋯ cudarrl; U+02938 ⤸ cudarrr; U+02935 ⤵ cuepr; U+022DE ⋞ cuesc; U+022DF ⋟ cularr; U+021B6 ↶ cularrp; U+0293D ⤽ Cup; U+022D3 ⋓ cup; U+0222A ∪ cupbrcap; U+02A48 ⩈ CupCap; U+0224D ≍ cupcap; U+02A46 ⩆ cupcup; U+02A4A ⩊ cupdot; U+0228D ⊍ cupor; U+02A45 cups; U+0222A U+0FE00 ∪︀ curarr; U+021B7 ↷ curarrm; U+0293C ⤼ curlyeqprec; U+022DE ⋞ curlyeqsucc; U+022DF ⋟ curlyvee; U+022CE ⋎ curlywedge; U+022CF ⋏ curren; U+000A4 ¤ curren U+000A4 ¤ curvearrowleft; U+021B6 ↶ curvearrowright; U+021B7 ↷ cuvee; U+022CE ⋎ cuwed; U+022CF ⋏ cwconint; U+02232 ∲ cwint; U+02231 ∱ cylcty; U+0232D ⌭ Dagger; U+02021 ‡ dagger; U+02020 daleth; U+02138 ℸ Darr; U+021A1 ↡ dArr; U+021D3 ⇓ darr; U+02193 ↓ dash; U+02010 ‐ Dashv; U+02AE4 ⫤ dashv; U+022A3 ⊣ dbkarow; U+0290F ⤏ dblac; U+002DD ˝ Dcaron; U+0010E Ď dcaron; U+0010F ď Dcy; U+00414 Д dcy; U+00434 д DD; U+02145 dd; U+02146 ⅆ ddagger; U+02021 ‡ ddarr; U+021CA ⇊ DDotrahd; U+02911 ⤑ ddotseq; U+02A77 ⩷ deg; U+000B0 ° deg U+000B0 ° Del; U+02207 ∇ Delta; U+00394 Δ delta; U+003B4 δ demptyv; U+029B1 ⦱ dfisht; U+0297F ⥿ Dfr; U+1D507 𝔇 dfr; U+1D521 𝔡 dHar; U+02965 ⥥ dharl; U+021C3 ⇃ dharr; U+021C2 ⇂ DiacriticalAcute; U+000B4 ´ DiacriticalDot; U+002D9 ˙ DiacriticalDoubleAcute; U+002DD ˝ DiacriticalGrave; U+00060 ` DiacriticalTilde; U+002DC ˜ diam; U+022C4 ⋄ Diamond; U+022C4 ⋄ diamond; U+022C4 ⋄ diamondsuit; U+02666 ♦ diams; U+02666 ♦ die; U+000A8 ¨ DifferentialD; U+02146 ⅆ digamma; U+003DD ϝ disin; U+022F2 ⋲ div; U+000F7 ÷ divide; U+000F7 ÷ divide U+000F7 ÷ divideontimes; U+022C7 ⋇ divonx; U+022C7 ⋇ DJcy; U+00402 Ђ djcy; U+00452 ђ dlcorn; U+0231E ⌞ dlcrop; U+0230D ⌍ dollar; U+00024 $ Dopf; U+1D53B 𝔻 dopf; U+1D555 𝕕 Dot; U+000A8 ¨ dot; U+002D9 ˙ DotDot; U+020DC ◌⃜ doteq; U+02250 ≐ doteqdot; U+02251 ≑ DotEqual; U+02250 ≐ dotminus; U+02238 ∸ dotplus; U+02214 ∔ dotsquare; U+022A1 ⊡ doublebarwedge; U+02306 ⌆ DoubleContourIntegral; U+0222F ∯ DoubleDot; U+000A8 ¨ DoubleDownArrow; U+021D3 ⇓ DoubleLeftArrow; U+021D0 ⇐ DoubleLeftRightArrow; U+021D4 ⇔ DoubleLeftTee; U+02AE4 ⫤ DoubleLongLeftArrow; U+027F8 ⟸ DoubleLongLeftRightArrow; U+027FA ⟺ DoubleLongRightArrow; U+027F9 ⟹ DoubleRightArrow; U+021D2 ⇒ DoubleRightTee; U+022A8 ⊨ DoubleUpArrow; U+021D1 ⇑ DoubleUpDownArrow; U+021D5 ⇕ DoubleVerticalBar; U+02225 ∥ DownArrow; U+02193 ↓ Downarrow; U+021D3 ⇓ downarrow; U+02193 ↓ DownArrowBar; U+02913 ⤓ DownArrowUpArrow; U+021F5 ⇵ DownBreve; U+00311 ◌̑ downdownarrows; U+021CA ⇊ downharpoonleft; U+021C3 ⇃ downharpoonright; U+021C2 ⇂ DownLeftRightVector; U+02950 ⥐ DownLeftTeeVector; U+0295E ⥞ DownLeftVector; U+021BD ↽ DownLeftVectorBar; U+02956 ⥖ DownRightTeeVector; U+0295F ⥟ DownRightVector; U+021C1 ⇁ DownRightVectorBar; U+02957 ⥗ DownTee; U+022A4 ⊤ DownTeeArrow; U+021A7 ↧ drbkarow; U+02910 ⤐ drcorn; U+0231F ⌟ drcrop; U+0230C ⌌ Dscr; U+1D49F 𝒟 dscr; U+1D4B9 𝒹 DScy; U+00405 dscy; U+00455 ѕ dsol; U+029F6 ⧶ Dstrok; U+00110 Đ dstrok; U+00111 đ dtdot; U+022F1 ⋱ dtri; U+025BF ▿ dtrif; U+025BE ▾ duarr; U+021F5 ⇵ duhar; U+0296F ⥯ dwangle; U+029A6 ⦦ DZcy; U+0040F Џ dzcy; U+0045F џ dzigrarr; U+027FF ⟿ Eacute; U+000C9 É Eacute U+000C9 É eacute; U+000E9 é eacute U+000E9 é easter; U+02A6E ⩮ Ecaron; U+0011A Ě ecaron; U+0011B ě ecir; U+02256 ≖ Ecirc; U+000CA Ê Ecirc U+000CA Ê ecirc; U+000EA ê ecirc U+000EA ê ecolon; U+02255 ≕ Ecy; U+0042D Э ecy; U+0044D э eDDot; U+02A77 ⩷ Edot; U+00116 Ė eDot; U+02251 ≑ edot; U+00117 ė ee; U+02147 ⅇ efDot; U+02252 ≒ Efr; U+1D508 𝔈 efr; U+1D522 𝔢 eg; U+02A9A ⪚ Egrave; U+000C8 È Egrave U+000C8 È egrave; U+000E8 è egrave U+000E8 è egs; U+02A96 ⪖ egsdot; U+02A98 ⪘ el; U+02A99 ⪙ Element; U+02208 ∈ elinters; U+023E7 ⏧ ell; U+02113 ℓ els; U+02A95 ⪕ elsdot; U+02A97 ⪗ Emacr; U+00112 Ē emacr; U+00113 ē empty; U+02205 emptyset; U+02205 EmptySmallSquare; U+025FB ◻ emptyv; U+02205 EmptyVerySmallSquare; U+025AB ▫ emsp; U+02003   emsp13; U+02004   emsp14; U+02005 ENG; U+0014A Ŋ eng; U+0014B ŋ ensp; U+02002   Eogon; U+00118 Ę eogon; U+00119 ę Eopf; U+1D53C 𝔼 eopf; U+1D556 𝕖 epar; U+022D5 ⋕ eparsl; U+029E3 ⧣ eplus; U+02A71 ⩱ epsi; U+003B5 ε Epsilon; U+00395 Ε epsilon; U+003B5 ε epsiv; U+003F5 ϵ eqcirc; U+02256 ≖ eqcolon; U+02255 ≕ eqsim; U+02242 ≂ eqslantgtr; U+02A96 ⪖ eqslantless; U+02A95 ⪕ Equal; U+02A75 ⩵ equals; U+0003D = EqualTilde; U+02242 ≂ equest; U+0225F ≟ Equilibrium; U+021CC ⇌ equiv; U+02261 ≡ equivDD; U+02A78 ⩸ eqvparsl; U+029E5 ⧥ erarr; U+02971 ⥱ erDot; U+02253 ≓ Escr; U+02130 ℰ escr; U+0212F ℯ esdot; U+02250 ≐ Esim; U+02A73 ⩳ esim; U+02242 ≂ Eta; U+00397 Η eta; U+003B7 η ETH; U+000D0 Ð ETH U+000D0 Ð eth; U+000F0 ð eth U+000F0 ð Euml; U+000CB Ë Euml U+000CB Ë euml; U+000EB ë euml U+000EB ë euro; U+020AC € excl; U+00021 ! exist; U+02203 ∃ Exists; U+02203 ∃ expectation; U+02130 ℰ ExponentialE; U+02147 ⅇ exponentiale; U+02147 ⅇ fallingdotseq; U+02252 ≒ Fcy; U+00424 Ф fcy; U+00444 ф female; U+02640 ♀ ffilig; U+0FB03 ffi fflig; U+0FB00 ff ffllig; U+0FB04 ffl Ffr; U+1D509 𝔉 ffr; U+1D523 𝔣 filig; U+0FB01 fi FilledSmallSquare; U+025FC ◼ FilledVerySmallSquare; U+025AA ▪ fjlig; U+00066 U+0006A fj flat; U+0266D ♭ fllig; U+0FB02 fl fltns; U+025B1 ▱ fnof; U+00192 ƒ Fopf; U+1D53D 𝔽 fopf; U+1D557 𝕗 ForAll; U+02200 ∀ forall; U+02200 ∀ fork; U+022D4 ⋔ forkv; U+02AD9 ⫙ Fouriertrf; U+02131 ℱ fpartint; U+02A0D ⨍ frac12; U+000BD ½ frac12 U+000BD ½ frac13; U+02153 ⅓ frac14; U+000BC ¼ frac14 U+000BC ¼ frac15; U+02155 ⅕ frac16; U+02159 ⅙ frac18; U+0215B ⅛ frac23; U+02154 ⅔ frac25; U+02156 ⅖ frac34; U+000BE ¾ frac34 U+000BE ¾ frac35; U+02157 ⅗ frac38; U+0215C ⅜ frac45; U+02158 ⅘ frac56; U+0215A ⅚ frac58; U+0215D ⅝ frac78; U+0215E ⅞ frasl; U+02044 ⁄ frown; U+02322 ⌢ Fscr; U+02131 ℱ fscr; U+1D4BB 𝒻 gacute; U+001F5 ǵ Gamma; U+00393 Γ gamma; U+003B3 γ Gammad; U+003DC Ϝ gammad; U+003DD ϝ gap; U+02A86 ⪆ Gbreve; U+0011E Ğ gbreve; U+0011F ğ Gcedil; U+00122 Ģ Gcirc; U+0011C Ĝ gcirc; U+0011D ĝ Gcy; U+00413 Г gcy; U+00433 г Gdot; U+00120 gdot; U+00121 ġ gE; U+02267 ≧ ge; U+02265 ≥ gEl; U+02A8C ⪌ gel; U+022DB ⋛ geq; U+02265 ≥ geqq; U+02267 ≧ geqslant; U+02A7E ⩾ ges; U+02A7E ⩾ gescc; U+02AA9 ⪩ gesdot; U+02A80 ⪀ gesdoto; U+02A82 ⪂ gesdotol; U+02A84 ⪄ gesl; U+022DB U+0FE00 ⋛︀ gesles; U+02A94 ⪔ Gfr; U+1D50A 𝔊 gfr; U+1D524 𝔤 Gg; U+022D9 ⋙ gg; U+0226B ≫ ggg; U+022D9 ⋙ gimel; U+02137 ℷ GJcy; U+00403 Ѓ gjcy; U+00453 ѓ gl; U+02277 ≷ gla; U+02AA5 ⪥ glE; U+02A92 ⪒ glj; U+02AA4 ⪤ gnap; U+02A8A ⪊ gnapprox; U+02A8A ⪊ gnE; U+02269 ≩ gne; U+02A88 ⪈ gneq; U+02A88 ⪈ gneqq; U+02269 ≩ gnsim; U+022E7 ⋧ Gopf; U+1D53E 𝔾 gopf; U+1D558 𝕘 grave; U+00060 ` GreaterEqual; U+02265 ≥ GreaterEqualLess; U+022DB ⋛ GreaterFullEqual; U+02267 ≧ GreaterGreater; U+02AA2 ⪢ GreaterLess; U+02277 ≷ GreaterSlantEqual; U+02A7E ⩾ GreaterTilde; U+02273 ≳ Gscr; U+1D4A2 𝒢 gscr; U+0210A ℊ gsim; U+02273 ≳ gsime; U+02A8E ⪎ gsiml; U+02A90 ⪐ GT; U+0003E > GT U+0003E > Gt; U+0226B ≫ gt; U+0003E > gt U+0003E > gtcc; U+02AA7 ⪧ gtcir; U+02A7A ⩺ gtdot; U+022D7 ⋗ gtlPar; U+02995 ⦕ gtquest; U+02A7C ⩼ gtrapprox; U+02A86 ⪆ gtrarr; U+02978 ⥸ gtrdot; U+022D7 ⋗ gtreqless; U+022DB ⋛ gtreqqless; U+02A8C ⪌ gtrless; U+02277 ≷ gtrsim; U+02273 ≳ gvertneqq; U+02269 U+0FE00 ≩︀ gvnE; U+02269 U+0FE00 ≩︀ Hacek; U+002C7 ˇ hairsp; U+0200A   half; U+000BD ½ hamilt; U+0210B ℋ HARDcy; U+0042A Ъ hardcy; U+0044A ъ hArr; U+021D4 ⇔ harr; U+02194 ↔ harrcir; U+02948 ⥈ harrw; U+021AD ↭ Hat; U+0005E ^ hbar; U+0210F ℏ Hcirc; U+00124 Ĥ hcirc; U+00125 ĥ hearts; U+02665 ♥ heartsuit; U+02665 ♥ hellip; U+02026 … hercon; U+022B9 ⊹ Hfr; U+0210C ℌ hfr; U+1D525 𝔥 HilbertSpace; U+0210B ℋ hksearow; U+02925 ⤥ hkswarow; U+02926 ⤦ hoarr; U+021FF ⇿ homtht; U+0223B ∻ hookleftarrow; U+021A9 ↩ hookrightarrow; U+021AA ↪ Hopf; U+0210D ℍ hopf; U+1D559 𝕙 horbar; U+02015 ― HorizontalLine; U+02500 ─ Hscr; U+0210B ℋ hscr; U+1D4BD 𝒽 hslash; U+0210F ℏ Hstrok; U+00126 Ħ hstrok; U+00127 ħ HumpDownHump; U+0224E ≎ HumpEqual; U+0224F ≏ hybull; U+02043 ⁃ hyphen; U+02010 ‐ Iacute; U+000CD Í Iacute U+000CD Í iacute; U+000ED í iacute U+000ED í ic; U+02063 ⁣ Icirc; U+000CE Î Icirc U+000CE Î icirc; U+000EE î icirc U+000EE î Icy; U+00418 И icy; U+00438 и Idot; U+00130 İ IEcy; U+00415 Е iecy; U+00435 е iexcl; U+000A1 ¡ iexcl U+000A1 ¡ iff; U+021D4 ⇔ Ifr; U+02111 ℑ ifr; U+1D526 𝔦 Igrave; U+000CC Ì Igrave U+000CC Ì igrave; U+000EC ì igrave U+000EC ì ii; U+02148 ⅈ iiiint; U+02A0C ⨌ iiint; U+0222D ∭ iinfin; U+029DC ⧜ iiota; U+02129 ℩ IJlig; U+00132 IJ ijlig; U+00133 ij Im; U+02111 ℑ Imacr; U+0012A Ī imacr; U+0012B ī image; U+02111 ℑ ImaginaryI; U+02148 ⅈ imagline; U+02110 ℐ imagpart; U+02111 ℑ imath; U+00131 ı imof; U+022B7 ⊷ imped; U+001B5 Ƶ Implies; U+021D2 ⇒ in; U+02208 ∈ incare; U+02105 infin; U+0221E ∞ infintie; U+029DD ⧝ inodot; U+00131 ı Int; U+0222C ∬ int; U+0222B ∫ intcal; U+022BA ⊺ integers; U+02124 ℤ Integral; U+0222B ∫ intercal; U+022BA ⊺ Intersection; U+022C2 ⋂ intlarhk; U+02A17 ⨗ intprod; U+02A3C ⨼ InvisibleComma; U+02063 ⁣ InvisibleTimes; U+02062 ⁢ IOcy; U+00401 Ё iocy; U+00451 ё Iogon; U+0012E Į iogon; U+0012F į Iopf; U+1D540 𝕀 iopf; U+1D55A 𝕚 Iota; U+00399 Ι iota; U+003B9 ι iprod; U+02A3C ⨼ iquest; U+000BF ¿ iquest U+000BF ¿ Iscr; U+02110 ℐ iscr; U+1D4BE 𝒾 isin; U+02208 ∈ isindot; U+022F5 ⋵ isinE; U+022F9 ⋹ isins; U+022F4 ⋴ isinsv; U+022F3 ⋳ isinv; U+02208 ∈ it; U+02062 ⁢ Itilde; U+00128 Ĩ itilde; U+00129 ĩ Iukcy; U+00406 І iukcy; U+00456 і Iuml; U+000CF Ï Iuml U+000CF Ï iuml; U+000EF ï iuml U+000EF ï Jcirc; U+00134 Ĵ jcirc; U+00135 ĵ Jcy; U+00419 Й jcy; U+00439 й Jfr; U+1D50D 𝔍 jfr; U+1D527 𝔧 jmath; U+00237 ȷ Jopf; U+1D541 𝕁 jopf; U+1D55B 𝕛 Jscr; U+1D4A5 𝒥 jscr; U+1D4BF 𝒿 Jsercy; U+00408 Ј jsercy; U+00458 ј Jukcy; U+00404 Є jukcy; U+00454 є Kappa; U+0039A Κ kappa; U+003BA κ kappav; U+003F0 ϰ Kcedil; U+00136 Ķ kcedil; U+00137 ķ Kcy; U+0041A К kcy; U+0043A к Kfr; U+1D50E 𝔎 kfr; U+1D528 𝔨 kgreen; U+00138 ĸ KHcy; U+00425 Х khcy; U+00445 KJcy; U+0040C Ќ kjcy; U+0045C ќ Kopf; U+1D542 𝕂 kopf; U+1D55C 𝕜 Kscr; U+1D4A6 𝒦 kscr; U+1D4C0 𝓀 lAarr; U+021DA ⇚ Lacute; U+00139 Ĺ lacute; U+0013A ĺ laemptyv; U+029B4 ⦴ lagran; U+02112 ℒ Lambda; U+0039B Λ lambda; U+003BB λ Lang; U+027EA ⟪ lang; U+027E8 ⟨ langd; U+02991 ⦑ langle; U+027E8 ⟨ lap; U+02A85 Laplacetrf; U+02112 ℒ laquo; U+000AB « laquo U+000AB « Larr; U+0219E ↞ lArr; U+021D0 ⇐ larr; U+02190 ← larrb; U+021E4 ⇤ larrbfs; U+0291F ⤟ larrfs; U+0291D ⤝ larrhk; U+021A9 ↩ larrlp; U+021AB ↫ larrpl; U+02939 ⤹ larrsim; U+02973 ⥳ larrtl; U+021A2 ↢ lat; U+02AAB ⪫ lAtail; U+0291B ⤛ latail; U+02919 ⤙ late; U+02AAD ⪭ lates; U+02AAD U+0FE00 ⪭︀ lBarr; U+0290E ⤎ lbarr; U+0290C ⤌ lbbrk; U+02772 ❲ lbrace; U+0007B { lbrack; U+0005B [ lbrke; U+0298B ⦋ lbrksld; U+0298F ⦏ lbrkslu; U+0298D ⦍ Lcaron; U+0013D Ľ lcaron; U+0013E ľ Lcedil; U+0013B Ļ lcedil; U+0013C ļ lceil; U+02308 ⌈ lcub; U+0007B { Lcy; U+0041B Л lcy; U+0043B л ldca; U+02936 ⤶ ldquo; U+0201C “ ldquor; U+0201E „ ldrdhar; U+02967 ⥧ ldrushar; U+0294B ⥋ ldsh; U+021B2 ↲ lE; U+02266 ≦ le; U+02264 ≤ LeftAngleBracket; U+027E8 ⟨ LeftArrow; U+02190 ← Leftarrow; U+021D0 ⇐ leftarrow; U+02190 ← LeftArrowBar; U+021E4 ⇤ LeftArrowRightArrow; U+021C6 ⇆ leftarrowtail; U+021A2 ↢ LeftCeiling; U+02308 ⌈ LeftDoubleBracket; U+027E6 ⟦ LeftDownTeeVector; U+02961 ⥡ LeftDownVector; U+021C3 ⇃ LeftDownVectorBar; U+02959 ⥙ LeftFloor; U+0230A ⌊ leftharpoondown; U+021BD ↽ leftharpoonup; U+021BC ↼ leftleftarrows; U+021C7 ⇇ LeftRightArrow; U+02194 ↔ Leftrightarrow; U+021D4 ⇔ leftrightarrow; U+02194 ↔ leftrightarrows; U+021C6 ⇆ leftrightharpoons; U+021CB ⇋ leftrightsquigarrow; U+021AD ↭ LeftRightVector; U+0294E ⥎ LeftTee; U+022A3 ⊣ LeftTeeArrow; U+021A4 ↤ LeftTeeVector; U+0295A ⥚ leftthreetimes; U+022CB ⋋ LeftTriangle; U+022B2 ⊲ LeftTriangleBar; U+029CF ⧏ LeftTriangleEqual; U+022B4 ⊴ LeftUpDownVector; U+02951 ⥑ LeftUpTeeVector; U+02960 LeftUpVector; U+021BF ↿ LeftUpVectorBar; U+02958 ⥘ LeftVector; U+021BC ↼ LeftVectorBar; U+02952 ⥒ lEg; U+02A8B ⪋ leg; U+022DA ⋚ leq; U+02264 ≤ leqq; U+02266 ≦ leqslant; U+02A7D ⩽ les; U+02A7D ⩽ lescc; U+02AA8 ⪨ lesdot; U+02A7F ⩿ lesdoto; U+02A81 ⪁ lesdotor; U+02A83 ⪃ lesg; U+022DA U+0FE00 ⋚︀ lesges; U+02A93 ⪓ lessapprox; U+02A85 lessdot; U+022D6 ⋖ lesseqgtr; U+022DA ⋚ lesseqqgtr; U+02A8B ⪋ LessEqualGreater; U+022DA ⋚ LessFullEqual; U+02266 ≦ LessGreater; U+02276 ≶ lessgtr; U+02276 ≶ LessLess; U+02AA1 ⪡ lesssim; U+02272 ≲ LessSlantEqual; U+02A7D ⩽ LessTilde; U+02272 ≲ lfisht; U+0297C ⥼ lfloor; U+0230A ⌊ Lfr; U+1D50F 𝔏 lfr; U+1D529 𝔩 lg; U+02276 ≶ lgE; U+02A91 ⪑ lHar; U+02962 ⥢ lhard; U+021BD ↽ lharu; U+021BC ↼ lharul; U+0296A ⥪ lhblk; U+02584 ▄ LJcy; U+00409 Љ ljcy; U+00459 љ Ll; U+022D8 ⋘ ll; U+0226A ≪ llarr; U+021C7 ⇇ llcorner; U+0231E ⌞ Lleftarrow; U+021DA ⇚ llhard; U+0296B ⥫ lltri; U+025FA ◺ Lmidot; U+0013F Ŀ lmidot; U+00140 ŀ lmoust; U+023B0 ⎰ lmoustache; U+023B0 ⎰ lnap; U+02A89 ⪉ lnapprox; U+02A89 ⪉ lnE; U+02268 ≨ lne; U+02A87 ⪇ lneq; U+02A87 ⪇ lneqq; U+02268 ≨ lnsim; U+022E6 ⋦ loang; U+027EC ⟬ loarr; U+021FD ⇽ lobrk; U+027E6 ⟦ LongLeftArrow; U+027F5 ⟵ Longleftarrow; U+027F8 ⟸ longleftarrow; U+027F5 ⟵ LongLeftRightArrow; U+027F7 ⟷ Longleftrightarrow; U+027FA ⟺ longleftrightarrow; U+027F7 ⟷ longmapsto; U+027FC ⟼ LongRightArrow; U+027F6 ⟶ Longrightarrow; U+027F9 ⟹ longrightarrow; U+027F6 ⟶ looparrowleft; U+021AB ↫ looparrowright; U+021AC ↬ lopar; U+02985 Lopf; U+1D543 𝕃 lopf; U+1D55D 𝕝 loplus; U+02A2D ⨭ lotimes; U+02A34 ⨴ lowast; U+02217 ∗ lowbar; U+0005F _ LowerLeftArrow; U+02199 ↙ LowerRightArrow; U+02198 ↘ loz; U+025CA ◊ lozenge; U+025CA ◊ lozf; U+029EB ⧫ lpar; U+00028 ( lparlt; U+02993 ⦓ lrarr; U+021C6 ⇆ lrcorner; U+0231F ⌟ lrhar; U+021CB ⇋ lrhard; U+0296D ⥭ lrm; U+0200E lrtri; U+022BF ⊿ lsaquo; U+02039 ‹ Lscr; U+02112 ℒ lscr; U+1D4C1 𝓁 Lsh; U+021B0 ↰ lsh; U+021B0 ↰ lsim; U+02272 ≲ lsime; U+02A8D ⪍ lsimg; U+02A8F ⪏ lsqb; U+0005B [ lsquo; U+02018 ‘ lsquor; U+0201A ‚ Lstrok; U+00141 Ł lstrok; U+00142 ł LT; U+0003C < LT U+0003C < Lt; U+0226A ≪ lt; U+0003C < lt U+0003C < ltcc; U+02AA6 ⪦ ltcir; U+02A79 ⩹ ltdot; U+022D6 ⋖ lthree; U+022CB ⋋ ltimes; U+022C9 ⋉ ltlarr; U+02976 ⥶ ltquest; U+02A7B ⩻ ltri; U+025C3 ◃ ltrie; U+022B4 ⊴ ltrif; U+025C2 ◂ ltrPar; U+02996 ⦖ lurdshar; U+0294A ⥊ luruhar; U+02966 ⥦ lvertneqq; U+02268 U+0FE00 ≨︀ lvnE; U+02268 U+0FE00 ≨︀ macr; U+000AF ¯ macr U+000AF ¯ male; U+02642 ♂ malt; U+02720 maltese; U+02720 Map; U+02905 map; U+021A6 ↦ mapsto; U+021A6 ↦ mapstodown; U+021A7 ↧ mapstoleft; U+021A4 ↤ mapstoup; U+021A5 ↥ marker; U+025AE ▮ mcomma; U+02A29 ⨩ Mcy; U+0041C М mcy; U+0043C м mdash; U+02014 — mDDot; U+0223A ∺ measuredangle; U+02221 ∡ MediumSpace; U+0205F   Mellintrf; U+02133 ℳ Mfr; U+1D510 𝔐 mfr; U+1D52A 𝔪 mho; U+02127 ℧ micro; U+000B5 µ micro U+000B5 µ mid; U+02223 ∣ midast; U+0002A * midcir; U+02AF0 ⫰ middot; U+000B7 · middot U+000B7 · minus; U+02212 − minusb; U+0229F ⊟ minusd; U+02238 ∸ minusdu; U+02A2A ⨪ MinusPlus; U+02213 ∓ mlcp; U+02ADB ⫛ mldr; U+02026 … mnplus; U+02213 ∓ models; U+022A7 ⊧ Mopf; U+1D544 𝕄 mopf; U+1D55E 𝕞 mp; U+02213 ∓ Mscr; U+02133 ℳ mscr; U+1D4C2 𝓂 mstpos; U+0223E ∾ Mu; U+0039C Μ mu; U+003BC μ multimap; U+022B8 ⊸ mumap; U+022B8 ⊸ nabla; U+02207 ∇ Nacute; U+00143 Ń nacute; U+00144 ń nang; U+02220 U+020D2 ∠⃒ nap; U+02249 ≉ napE; U+02A70 U+00338 ⩰̸ napid; U+0224B U+00338 ≋̸ napos; U+00149 ʼn napprox; U+02249 ≉ natur; U+0266E ♮ natural; U+0266E ♮ naturals; U+02115 ℕ nbsp; U+000A0 nbsp U+000A0 nbump; U+0224E U+00338 ≎̸ nbumpe; U+0224F U+00338 ≏̸ ncap; U+02A43 ⩃ Ncaron; U+00147 Ň ncaron; U+00148 ň Ncedil; U+00145 ncedil; U+00146 ņ ncong; U+02247 ≇ ncongdot; U+02A6D U+00338 ⩭̸ ncup; U+02A42 ⩂ Ncy; U+0041D Н ncy; U+0043D н ndash; U+02013 – ne; U+02260 nearhk; U+02924 ⤤ neArr; U+021D7 ⇗ nearr; U+02197 ↗ nearrow; U+02197 ↗ nedot; U+02250 U+00338 ≐̸ NegativeMediumSpace; U+0200B ​ NegativeThickSpace; U+0200B ​ NegativeThinSpace; U+0200B ​ NegativeVeryThinSpace; U+0200B ​ nequiv; U+02262 ≢ nesear; U+02928 ⤨ nesim; U+02242 U+00338 ≂̸ NestedGreaterGreater; U+0226B ≫ NestedLessLess; U+0226A ≪ NewLine; U+0000A ␊ nexist; U+02204 ∄ nexists; U+02204 ∄ Nfr; U+1D511 𝔑 nfr; U+1D52B 𝔫 ngE; U+02267 U+00338 ≧̸ nge; U+02271 ≱ ngeq; U+02271 ≱ ngeqq; U+02267 U+00338 ≧̸ ngeqslant; U+02A7E U+00338 ⩾̸ nges; U+02A7E U+00338 ⩾̸ nGg; U+022D9 U+00338 ⋙̸ ngsim; U+02275 ≵ nGt; U+0226B U+020D2 ≫⃒ ngt; U+0226F ≯ ngtr; U+0226F ≯ nGtv; U+0226B U+00338 ≫̸ nhArr; U+021CE ⇎ nharr; U+021AE ↮ nhpar; U+02AF2 ⫲ ni; U+0220B ∋ nis; U+022FC ⋼ nisd; U+022FA ⋺ niv; U+0220B ∋ NJcy; U+0040A Њ njcy; U+0045A њ nlArr; U+021CD ⇍ nlarr; U+0219A ↚ nldr; U+02025 ‥ nlE; U+02266 U+00338 ≦̸ nle; U+02270 ≰ nLeftarrow; U+021CD ⇍ nleftarrow; U+0219A ↚ nLeftrightarrow; U+021CE ⇎ nleftrightarrow; U+021AE ↮ nleq; U+02270 ≰ nleqq; U+02266 U+00338 ≦̸ nleqslant; U+02A7D U+00338 ⩽̸ nles; U+02A7D U+00338 ⩽̸ nless; U+0226E ≮ nLl; U+022D8 U+00338 ⋘̸ nlsim; U+02274 ≴ nLt; U+0226A U+020D2 ≪⃒ nlt; U+0226E ≮ nltri; U+022EA ⋪ nltrie; U+022EC ⋬ nLtv; U+0226A U+00338 ≪̸ nmid; U+02224 ∤ NoBreak; U+02060 NonBreakingSpace; U+000A0 Nopf; U+02115 ℕ nopf; U+1D55F 𝕟 Not; U+02AEC ⫬ not; U+000AC ¬ not U+000AC ¬ NotCongruent; U+02262 ≢ NotCupCap; U+0226D ≭ NotDoubleVerticalBar; U+02226 ∦ NotElement; U+02209 ∉ NotEqual; U+02260 NotEqualTilde; U+02242 U+00338 ≂̸ NotExists; U+02204 ∄ NotGreater; U+0226F ≯ NotGreaterEqual; U+02271 ≱ NotGreaterFullEqual; U+02267 U+00338 ≧̸ NotGreaterGreater; U+0226B U+00338 ≫̸ NotGreaterLess; U+02279 ≹ NotGreaterSlantEqual; U+02A7E U+00338 ⩾̸ NotGreaterTilde; U+02275 ≵ NotHumpDownHump; U+0224E U+00338 ≎̸ NotHumpEqual; U+0224F U+00338 ≏̸ notin; U+02209 ∉ notindot; U+022F5 U+00338 ⋵̸ notinE; U+022F9 U+00338 ⋹̸ notinva; U+02209 ∉ notinvb; U+022F7 ⋷ notinvc; U+022F6 ⋶ NotLeftTriangle; U+022EA ⋪ NotLeftTriangleBar; U+029CF U+00338 ⧏̸ NotLeftTriangleEqual; U+022EC ⋬ NotLess; U+0226E ≮ NotLessEqual; U+02270 ≰ NotLessGreater; U+02278 ≸ NotLessLess; U+0226A U+00338 ≪̸ NotLessSlantEqual; U+02A7D U+00338 ⩽̸ NotLessTilde; U+02274 ≴ NotNestedGreaterGreater; U+02AA2 U+00338 ⪢̸ NotNestedLessLess; U+02AA1 U+00338 ⪡̸ notni; U+0220C ∌ notniva; U+0220C ∌ notnivb; U+022FE ⋾ notnivc; U+022FD ⋽ NotPrecedes; U+02280 ⊀ NotPrecedesEqual; U+02AAF U+00338 ⪯̸ NotPrecedesSlantEqual; U+022E0 NotReverseElement; U+0220C ∌ NotRightTriangle; U+022EB ⋫ NotRightTriangleBar; U+029D0 U+00338 ⧐̸ NotRightTriangleEqual; U+022ED ⋭ NotSquareSubset; U+0228F U+00338 ⊏̸ NotSquareSubsetEqual; U+022E2 ⋢ NotSquareSuperset; U+02290 U+00338 ⊐̸ NotSquareSupersetEqual; U+022E3 ⋣ NotSubset; U+02282 U+020D2 ⊂⃒ NotSubsetEqual; U+02288 ⊈ NotSucceeds; U+02281 ⊁ NotSucceedsEqual; U+02AB0 U+00338 ⪰̸ NotSucceedsSlantEqual; U+022E1 ⋡ NotSucceedsTilde; U+0227F U+00338 ≿̸ NotSuperset; U+02283 U+020D2 ⊃⃒ NotSupersetEqual; U+02289 ⊉ NotTilde; U+02241 ≁ NotTildeEqual; U+02244 ≄ NotTildeFullEqual; U+02247 ≇ NotTildeTilde; U+02249 ≉ NotVerticalBar; U+02224 ∤ npar; U+02226 ∦ nparallel; U+02226 ∦ nparsl; U+02AFD U+020E5 ⫽⃥ npart; U+02202 U+00338 ∂̸ npolint; U+02A14 ⨔ npr; U+02280 ⊀ nprcue; U+022E0 npre; U+02AAF U+00338 ⪯̸ nprec; U+02280 ⊀ npreceq; U+02AAF U+00338 ⪯̸ nrArr; U+021CF ⇏ nrarr; U+0219B ↛ nrarrc; U+02933 U+00338 ⤳̸ nrarrw; U+0219D U+00338 ↝̸ nRightarrow; U+021CF ⇏ nrightarrow; U+0219B ↛ nrtri; U+022EB ⋫ nrtrie; U+022ED ⋭ nsc; U+02281 ⊁ nsccue; U+022E1 ⋡ nsce; U+02AB0 U+00338 ⪰̸ Nscr; U+1D4A9 𝒩 nscr; U+1D4C3 𝓃 nshortmid; U+02224 ∤ nshortparallel; U+02226 ∦ nsim; U+02241 ≁ nsime; U+02244 ≄ nsimeq; U+02244 ≄ nsmid; U+02224 ∤ nspar; U+02226 ∦ nsqsube; U+022E2 ⋢ nsqsupe; U+022E3 ⋣ nsub; U+02284 ⊄ nsubE; U+02AC5 U+00338 ⫅̸ nsube; U+02288 ⊈ nsubset; U+02282 U+020D2 ⊂⃒ nsubseteq; U+02288 ⊈ nsubseteqq; U+02AC5 U+00338 ⫅̸ nsucc; U+02281 ⊁ nsucceq; U+02AB0 U+00338 ⪰̸ nsup; U+02285 nsupE; U+02AC6 U+00338 ⫆̸ nsupe; U+02289 ⊉ nsupset; U+02283 U+020D2 ⊃⃒ nsupseteq; U+02289 ⊉ nsupseteqq; U+02AC6 U+00338 ⫆̸ ntgl; U+02279 ≹ Ntilde; U+000D1 Ñ Ntilde U+000D1 Ñ ntilde; U+000F1 ñ ntilde U+000F1 ñ ntlg; U+02278 ≸ ntriangleleft; U+022EA ⋪ ntrianglelefteq; U+022EC ⋬ ntriangleright; U+022EB ⋫ ntrianglerighteq; U+022ED ⋭ Nu; U+0039D Ν nu; U+003BD ν num; U+00023 # numero; U+02116 № numsp; U+02007   nvap; U+0224D U+020D2 ≍⃒ nVDash; U+022AF ⊯ nVdash; U+022AE ⊮ nvDash; U+022AD ⊭ nvdash; U+022AC ⊬ nvge; U+02265 U+020D2 ≥⃒ nvgt; U+0003E U+020D2 >⃒ nvHarr; U+02904 ⤄ nvinfin; U+029DE ⧞ nvlArr; U+02902 ⤂ nvle; U+02264 U+020D2 ≤⃒ nvlt; U+0003C U+020D2 <⃒ nvltrie; U+022B4 U+020D2 ⊴⃒ nvrArr; U+02903 ⤃ nvrtrie; U+022B5 U+020D2 ⊵⃒ nvsim; U+0223C U+020D2 ∼⃒ nwarhk; U+02923 ⤣ nwArr; U+021D6 ⇖ nwarr; U+02196 ↖ nwarrow; U+02196 ↖ nwnear; U+02927 ⤧ Oacute; U+000D3 Ó Oacute U+000D3 Ó oacute; U+000F3 ó oacute U+000F3 ó oast; U+0229B ⊛ ocir; U+0229A ⊚ Ocirc; U+000D4 Ô Ocirc U+000D4 Ô ocirc; U+000F4 ô ocirc U+000F4 ô Ocy; U+0041E О ocy; U+0043E о odash; U+0229D ⊝ Odblac; U+00150 Ő odblac; U+00151 ő odiv; U+02A38 ⨸ odot; U+02299 ⊙ odsold; U+029BC ⦼ OElig; U+00152 Œ oelig; U+00153 œ ofcir; U+029BF ⦿ Ofr; U+1D512 𝔒 ofr; U+1D52C 𝔬 ogon; U+002DB ˛ Ograve; U+000D2 Ò Ograve U+000D2 Ò ograve; U+000F2 ò ograve U+000F2 ò ogt; U+029C1 ⧁ ohbar; U+029B5 ⦵ ohm; U+003A9 Ω oint; U+0222E ∮ olarr; U+021BA ↺ olcir; U+029BE ⦾ olcross; U+029BB ⦻ oline; U+0203E ‾ olt; U+029C0 ⧀ Omacr; U+0014C Ō omacr; U+0014D ō Omega; U+003A9 Ω omega; U+003C9 ω Omicron; U+0039F Ο omicron; U+003BF ο omid; U+029B6 ⦶ ominus; U+02296 ⊖ Oopf; U+1D546 𝕆 oopf; U+1D560 opar; U+029B7 ⦷ OpenCurlyDoubleQuote; U+0201C “ OpenCurlyQuote; U+02018 ‘ operp; U+029B9 ⦹ oplus; U+02295 ⊕ Or; U+02A54 ⩔ or; U+02228 ∨ orarr; U+021BB ↻ ord; U+02A5D ⩝ order; U+02134 ℴ orderof; U+02134 ℴ ordf; U+000AA ª ordf U+000AA ª ordm; U+000BA º ordm U+000BA º origof; U+022B6 ⊶ oror; U+02A56 ⩖ orslope; U+02A57 ⩗ orv; U+02A5B ⩛ oS; U+024C8 Ⓢ Oscr; U+1D4AA 𝒪 oscr; U+02134 ℴ Oslash; U+000D8 Ø Oslash U+000D8 Ø oslash; U+000F8 ø oslash U+000F8 ø osol; U+02298 ⊘ Otilde; U+000D5 Õ Otilde U+000D5 Õ otilde; U+000F5 õ otilde U+000F5 õ Otimes; U+02A37 ⨷ otimes; U+02297 ⊗ otimesas; U+02A36 ⨶ Ouml; U+000D6 Ö Ouml U+000D6 Ö ouml; U+000F6 ö ouml U+000F6 ö ovbar; U+0233D ⌽ OverBar; U+0203E ‾ OverBrace; U+023DE ⏞ OverBracket; U+023B4 ⎴ OverParenthesis; U+023DC ⏜ par; U+02225 ∥ para; U+000B6 ¶ para U+000B6 ¶ parallel; U+02225 ∥ parsim; U+02AF3 ⫳ parsl; U+02AFD ⫽ part; U+02202 ∂ PartialD; U+02202 ∂ Pcy; U+0041F П pcy; U+0043F п percnt; U+00025 % period; U+0002E . permil; U+02030 ‰ perp; U+022A5 ⊥ pertenk; U+02031 ‱ Pfr; U+1D513 𝔓 pfr; U+1D52D 𝔭 Phi; U+003A6 Φ phi; U+003C6 φ phiv; U+003D5 ϕ phmmat; U+02133 ℳ phone; U+0260E ☎ Pi; U+003A0 pi; U+003C0 π pitchfork; U+022D4 ⋔ piv; U+003D6 ϖ planck; U+0210F ℏ planckh; U+0210E ℎ plankv; U+0210F ℏ plus; U+0002B + plusacir; U+02A23 ⨣ plusb; U+0229E ⊞ pluscir; U+02A22 ⨢ plusdo; U+02214 ∔ plusdu; U+02A25 ⨥ pluse; U+02A72 ⩲ PlusMinus; U+000B1 ± plusmn; U+000B1 ± plusmn U+000B1 ± plussim; U+02A26 ⨦ plustwo; U+02A27 ⨧ pm; U+000B1 ± Poincareplane; U+0210C ℌ pointint; U+02A15 ⨕ Popf; U+02119 ℙ popf; U+1D561 𝕡 pound; U+000A3 £ pound U+000A3 £ Pr; U+02ABB ⪻ pr; U+0227A ≺ prap; U+02AB7 ⪷ prcue; U+0227C ≼ prE; U+02AB3 ⪳ pre; U+02AAF ⪯ prec; U+0227A ≺ precapprox; U+02AB7 ⪷ preccurlyeq; U+0227C ≼ Precedes; U+0227A ≺ PrecedesEqual; U+02AAF ⪯ PrecedesSlantEqual; U+0227C ≼ PrecedesTilde; U+0227E ≾ preceq; U+02AAF ⪯ precnapprox; U+02AB9 ⪹ precneqq; U+02AB5 ⪵ precnsim; U+022E8 ⋨ precsim; U+0227E ≾ Prime; U+02033 ″ prime; U+02032 ′ primes; U+02119 ℙ prnap; U+02AB9 ⪹ prnE; U+02AB5 ⪵ prnsim; U+022E8 ⋨ prod; U+0220F ∏ Product; U+0220F ∏ profalar; U+0232E ⌮ profline; U+02312 ⌒ profsurf; U+02313 ⌓ prop; U+0221D ∝ Proportion; U+02237 ∷ Proportional; U+0221D ∝ propto; U+0221D ∝ prsim; U+0227E ≾ prurel; U+022B0 ⊰ Pscr; U+1D4AB 𝒫 pscr; U+1D4C5 Psi; U+003A8 Ψ psi; U+003C8 ψ puncsp; U+02008   Qfr; U+1D514 𝔔 qfr; U+1D52E 𝔮 qint; U+02A0C ⨌ Qopf; U+0211A ℚ qopf; U+1D562 𝕢 qprime; U+02057 ⁗ Qscr; U+1D4AC 𝒬 qscr; U+1D4C6 𝓆 quaternions; U+0210D ℍ quatint; U+02A16 ⨖ quest; U+0003F ? questeq; U+0225F ≟ QUOT; U+00022 " QUOT U+00022 " quot; U+00022 " quot U+00022 " rAarr; U+021DB ⇛ race; U+0223D U+00331 ∽̱ Racute; U+00154 Ŕ racute; U+00155 ŕ radic; U+0221A √ raemptyv; U+029B3 ⦳ Rang; U+027EB ⟫ rang; U+027E9 ⟩ rangd; U+02992 ⦒ range; U+029A5 ⦥ rangle; U+027E9 ⟩ raquo; U+000BB » raquo U+000BB » Rarr; U+021A0 rArr; U+021D2 ⇒ rarr; U+02192 → rarrap; U+02975 ⥵ rarrb; U+021E5 ⇥ rarrbfs; U+02920 rarrc; U+02933 ⤳ rarrfs; U+0291E ⤞ rarrhk; U+021AA ↪ rarrlp; U+021AC ↬ rarrpl; U+02945 rarrsim; U+02974 ⥴ Rarrtl; U+02916 ⤖ rarrtl; U+021A3 ↣ rarrw; U+0219D ↝ rAtail; U+0291C ⤜ ratail; U+0291A ⤚ ratio; U+02236 ∶ rationals; U+0211A ℚ RBarr; U+02910 ⤐ rBarr; U+0290F ⤏ rbarr; U+0290D ⤍ rbbrk; U+02773 ❳ rbrace; U+0007D } rbrack; U+0005D ] rbrke; U+0298C ⦌ rbrksld; U+0298E ⦎ rbrkslu; U+02990 ⦐ Rcaron; U+00158 Ř rcaron; U+00159 ř Rcedil; U+00156 Ŗ rcedil; U+00157 ŗ rceil; U+02309 ⌉ rcub; U+0007D } Rcy; U+00420 rcy; U+00440 р rdca; U+02937 ⤷ rdldhar; U+02969 ⥩ rdquo; U+0201D ” rdquor; U+0201D ” rdsh; U+021B3 ↳ Re; U+0211C ℜ real; U+0211C ℜ realine; U+0211B ℛ realpart; U+0211C ℜ reals; U+0211D ℝ rect; U+025AD ▭ REG; U+000AE ® REG U+000AE ® reg; U+000AE ® reg U+000AE ® ReverseElement; U+0220B ∋ ReverseEquilibrium; U+021CB ⇋ ReverseUpEquilibrium; U+0296F ⥯ rfisht; U+0297D ⥽ rfloor; U+0230B ⌋ Rfr; U+0211C ℜ rfr; U+1D52F 𝔯 rHar; U+02964 ⥤ rhard; U+021C1 ⇁ rharu; U+021C0 ⇀ rharul; U+0296C ⥬ Rho; U+003A1 Ρ rho; U+003C1 ρ rhov; U+003F1 ϱ RightAngleBracket; U+027E9 ⟩ RightArrow; U+02192 → Rightarrow; U+021D2 ⇒ rightarrow; U+02192 → RightArrowBar; U+021E5 ⇥ RightArrowLeftArrow; U+021C4 ⇄ rightarrowtail; U+021A3 ↣ RightCeiling; U+02309 ⌉ RightDoubleBracket; U+027E7 ⟧ RightDownTeeVector; U+0295D ⥝ RightDownVector; U+021C2 ⇂ RightDownVectorBar; U+02955 ⥕ RightFloor; U+0230B ⌋ rightharpoondown; U+021C1 ⇁ rightharpoonup; U+021C0 ⇀ rightleftarrows; U+021C4 ⇄ rightleftharpoons; U+021CC ⇌ rightrightarrows; U+021C9 ⇉ rightsquigarrow; U+0219D ↝ RightTee; U+022A2 ⊢ RightTeeArrow; U+021A6 ↦ RightTeeVector; U+0295B ⥛ rightthreetimes; U+022CC ⋌ RightTriangle; U+022B3 ⊳ RightTriangleBar; U+029D0 ⧐ RightTriangleEqual; U+022B5 ⊵ RightUpDownVector; U+0294F ⥏ RightUpTeeVector; U+0295C ⥜ RightUpVector; U+021BE ↾ RightUpVectorBar; U+02954 ⥔ RightVector; U+021C0 ⇀ RightVectorBar; U+02953 ⥓ ring; U+002DA ˚ risingdotseq; U+02253 ≓ rlarr; U+021C4 ⇄ rlhar; U+021CC ⇌ rlm; U+0200F rmoust; U+023B1 ⎱ rmoustache; U+023B1 ⎱ rnmid; U+02AEE ⫮ roang; U+027ED ⟭ roarr; U+021FE ⇾ robrk; U+027E7 ⟧ ropar; U+02986 ⦆ Ropf; U+0211D ℝ ropf; U+1D563 𝕣 roplus; U+02A2E ⨮ rotimes; U+02A35 ⨵ RoundImplies; U+02970 ⥰ rpar; U+00029 ) rpargt; U+02994 ⦔ rppolint; U+02A12 ⨒ rrarr; U+021C9 ⇉ Rrightarrow; U+021DB ⇛ rsaquo; U+0203A › Rscr; U+0211B ℛ rscr; U+1D4C7 𝓇 Rsh; U+021B1 ↱ rsh; U+021B1 ↱ rsqb; U+0005D ] rsquo; U+02019 ’ rsquor; U+02019 ’ rthree; U+022CC ⋌ rtimes; U+022CA ⋊ rtri; U+025B9 ▹ rtrie; U+022B5 ⊵ rtrif; U+025B8 ▸ rtriltri; U+029CE ⧎ RuleDelayed; U+029F4 ⧴ ruluhar; U+02968 ⥨ rx; U+0211E ℞ Sacute; U+0015A Ś sacute; U+0015B ś sbquo; U+0201A ‚ Sc; U+02ABC ⪼ sc; U+0227B ≻ scap; U+02AB8 ⪸ Scaron; U+00160 scaron; U+00161 š sccue; U+0227D ≽ scE; U+02AB4 ⪴ sce; U+02AB0 ⪰ Scedil; U+0015E Ş scedil; U+0015F ş Scirc; U+0015C Ŝ scirc; U+0015D ŝ scnap; U+02ABA ⪺ scnE; U+02AB6 ⪶ scnsim; U+022E9 ⋩ scpolint; U+02A13 ⨓ scsim; U+0227F ≿ Scy; U+00421 С scy; U+00441 с sdot; U+022C5 sdotb; U+022A1 ⊡ sdote; U+02A66 ⩦ searhk; U+02925 ⤥ seArr; U+021D8 ⇘ searr; U+02198 ↘ searrow; U+02198 ↘ sect; U+000A7 § sect U+000A7 § semi; U+0003B ; seswar; U+02929 ⤩ setminus; U+02216 ∖ setmn; U+02216 ∖ sext; U+02736 ✶ Sfr; U+1D516 𝔖 sfr; U+1D530 𝔰 sfrown; U+02322 ⌢ sharp; U+0266F ♯ SHCHcy; U+00429 Щ shchcy; U+00449 щ SHcy; U+00428 Ш shcy; U+00448 ш ShortDownArrow; U+02193 ↓ ShortLeftArrow; U+02190 ← shortmid; U+02223 ∣ shortparallel; U+02225 ∥ ShortRightArrow; U+02192 → ShortUpArrow; U+02191 ↑ shy; U+000AD shy U+000AD Sigma; U+003A3 Σ sigma; U+003C3 σ sigmaf; U+003C2 ς sigmav; U+003C2 ς sim; U+0223C ∼ simdot; U+02A6A ⩪ sime; U+02243 ≃ simeq; U+02243 ≃ simg; U+02A9E ⪞ simgE; U+02AA0 siml; U+02A9D ⪝ simlE; U+02A9F ⪟ simne; U+02246 ≆ simplus; U+02A24 ⨤ simrarr; U+02972 ⥲ slarr; U+02190 ← SmallCircle; U+02218 ∘ smallsetminus; U+02216 ∖ smashp; U+02A33 ⨳ smeparsl; U+029E4 ⧤ smid; U+02223 ∣ smile; U+02323 ⌣ smt; U+02AAA ⪪ smte; U+02AAC ⪬ smtes; U+02AAC U+0FE00 ⪬︀ SOFTcy; U+0042C Ь softcy; U+0044C ь sol; U+0002F / solb; U+029C4 ⧄ solbar; U+0233F ⌿ Sopf; U+1D54A 𝕊 sopf; U+1D564 𝕤 spades; U+02660 spadesuit; U+02660 spar; U+02225 ∥ sqcap; U+02293 ⊓ sqcaps; U+02293 U+0FE00 ⊓︀ sqcup; U+02294 ⊔ sqcups; U+02294 U+0FE00 ⊔︀ Sqrt; U+0221A √ sqsub; U+0228F ⊏ sqsube; U+02291 ⊑ sqsubset; U+0228F ⊏ sqsubseteq; U+02291 ⊑ sqsup; U+02290 ⊐ sqsupe; U+02292 ⊒ sqsupset; U+02290 ⊐ sqsupseteq; U+02292 ⊒ squ; U+025A1 □ Square; U+025A1 □ square; U+025A1 □ SquareIntersection; U+02293 ⊓ SquareSubset; U+0228F ⊏ SquareSubsetEqual; U+02291 ⊑ SquareSuperset; U+02290 ⊐ SquareSupersetEqual; U+02292 ⊒ SquareUnion; U+02294 ⊔ squarf; U+025AA ▪ squf; U+025AA ▪ srarr; U+02192 → Sscr; U+1D4AE 𝒮 sscr; U+1D4C8 𝓈 ssetmn; U+02216 ∖ ssmile; U+02323 ⌣ sstarf; U+022C6 ⋆ Star; U+022C6 ⋆ star; U+02606 ☆ starf; U+02605 straightepsilon; U+003F5 ϵ straightphi; U+003D5 ϕ strns; U+000AF ¯ Sub; U+022D0 ⋐ sub; U+02282 ⊂ subdot; U+02ABD ⪽ subE; U+02AC5 sube; U+02286 ⊆ subedot; U+02AC3 ⫃ submult; U+02AC1 ⫁ subnE; U+02ACB ⫋ subne; U+0228A ⊊ subplus; U+02ABF ⪿ subrarr; U+02979 ⥹ Subset; U+022D0 ⋐ subset; U+02282 ⊂ subseteq; U+02286 ⊆ subseteqq; U+02AC5 SubsetEqual; U+02286 ⊆ subsetneq; U+0228A ⊊ subsetneqq; U+02ACB ⫋ subsim; U+02AC7 ⫇ subsub; U+02AD5 ⫕ subsup; U+02AD3 ⫓ succ; U+0227B ≻ succapprox; U+02AB8 ⪸ succcurlyeq; U+0227D ≽ Succeeds; U+0227B ≻ SucceedsEqual; U+02AB0 ⪰ SucceedsSlantEqual; U+0227D ≽ SucceedsTilde; U+0227F ≿ succeq; U+02AB0 ⪰ succnapprox; U+02ABA ⪺ succneqq; U+02AB6 ⪶ succnsim; U+022E9 ⋩ succsim; U+0227F ≿ SuchThat; U+0220B ∋ Sum; U+02211 ∑ sum; U+02211 ∑ sung; U+0266A ♪ Sup; U+022D1 ⋑ sup; U+02283 ⊃ sup1; U+000B9 ¹ sup1 U+000B9 ¹ sup2; U+000B2 ² sup2 U+000B2 ² sup3; U+000B3 ³ sup3 U+000B3 ³ supdot; U+02ABE ⪾ supdsub; U+02AD8 ⫘ supE; U+02AC6 ⫆ supe; U+02287 ⊇ supedot; U+02AC4 ⫄ Superset; U+02283 ⊃ SupersetEqual; U+02287 ⊇ suphsol; U+027C9 ⟉ suphsub; U+02AD7 ⫗ suplarr; U+0297B ⥻ supmult; U+02AC2 ⫂ supnE; U+02ACC ⫌ supne; U+0228B ⊋ supplus; U+02AC0 ⫀ Supset; U+022D1 ⋑ supset; U+02283 ⊃ supseteq; U+02287 ⊇ supseteqq; U+02AC6 ⫆ supsetneq; U+0228B ⊋ supsetneqq; U+02ACC ⫌ supsim; U+02AC8 ⫈ supsub; U+02AD4 ⫔ supsup; U+02AD6 ⫖ swarhk; U+02926 ⤦ swArr; U+021D9 ⇙ swarr; U+02199 ↙ swarrow; U+02199 ↙ swnwar; U+0292A ⤪ szlig; U+000DF ß szlig U+000DF ß Tab; U+00009 ␉ target; U+02316 ⌖ Tau; U+003A4 Τ tau; U+003C4 τ tbrk; U+023B4 ⎴ Tcaron; U+00164 Ť tcaron; U+00165 ť Tcedil; U+00162 Ţ tcedil; U+00163 ţ Tcy; U+00422 Т tcy; U+00442 т tdot; U+020DB ◌⃛ telrec; U+02315 ⌕ Tfr; U+1D517 𝔗 tfr; U+1D531 𝔱 there4; U+02234 ∴ Therefore; U+02234 ∴ therefore; U+02234 ∴ Theta; U+00398 Θ theta; U+003B8 θ thetasym; U+003D1 ϑ thetav; U+003D1 ϑ thickapprox; U+02248 ≈ thicksim; U+0223C ∼ ThickSpace; U+0205F U+0200A    thinsp; U+02009   ThinSpace; U+02009   thkap; U+02248 ≈ thksim; U+0223C ∼ THORN; U+000DE Þ THORN U+000DE Þ thorn; U+000FE þ thorn U+000FE þ Tilde; U+0223C ∼ tilde; U+002DC ˜ TildeEqual; U+02243 ≃ TildeFullEqual; U+02245 TildeTilde; U+02248 ≈ times; U+000D7 × times U+000D7 × timesb; U+022A0 timesbar; U+02A31 ⨱ timesd; U+02A30 ⨰ tint; U+0222D ∭ toea; U+02928 ⤨ top; U+022A4 ⊤ topbot; U+02336 ⌶ topcir; U+02AF1 ⫱ Topf; U+1D54B 𝕋 topf; U+1D565 𝕥 topfork; U+02ADA ⫚ tosa; U+02929 ⤩ tprime; U+02034 ‴ TRADE; U+02122 ™ trade; U+02122 ™ triangle; U+025B5 ▵ triangledown; U+025BF ▿ triangleleft; U+025C3 ◃ trianglelefteq; U+022B4 ⊴ triangleq; U+0225C ≜ triangleright; U+025B9 ▹ trianglerighteq; U+022B5 ⊵ tridot; U+025EC ◬ trie; U+0225C ≜ triminus; U+02A3A ⨺ TripleDot; U+020DB ◌⃛ triplus; U+02A39 ⨹ trisb; U+029CD ⧍ tritime; U+02A3B ⨻ trpezium; U+023E2 ⏢ Tscr; U+1D4AF 𝒯 tscr; U+1D4C9 𝓉 TScy; U+00426 Ц tscy; U+00446 ц TSHcy; U+0040B Ћ tshcy; U+0045B ћ Tstrok; U+00166 Ŧ tstrok; U+00167 ŧ twixt; U+0226C ≬ twoheadleftarrow; U+0219E ↞ twoheadrightarrow; U+021A0 Uacute; U+000DA Ú Uacute U+000DA Ú uacute; U+000FA ú uacute U+000FA ú Uarr; U+0219F ↟ uArr; U+021D1 ⇑ uarr; U+02191 ↑ Uarrocir; U+02949 ⥉ Ubrcy; U+0040E Ў ubrcy; U+0045E ў Ubreve; U+0016C Ŭ ubreve; U+0016D ŭ Ucirc; U+000DB Û Ucirc U+000DB Û ucirc; U+000FB û ucirc U+000FB û Ucy; U+00423 У ucy; U+00443 у udarr; U+021C5 Udblac; U+00170 Ű udblac; U+00171 ű udhar; U+0296E ⥮ ufisht; U+0297E ⥾ Ufr; U+1D518 𝔘 ufr; U+1D532 𝔲 Ugrave; U+000D9 Ù Ugrave U+000D9 Ù ugrave; U+000F9 ù ugrave U+000F9 ù uHar; U+02963 ⥣ uharl; U+021BF ↿ uharr; U+021BE ↾ uhblk; U+02580 ▀ ulcorn; U+0231C ⌜ ulcorner; U+0231C ⌜ ulcrop; U+0230F ⌏ ultri; U+025F8 ◸ Umacr; U+0016A Ū umacr; U+0016B ū uml; U+000A8 ¨ uml U+000A8 ¨ UnderBar; U+0005F _ UnderBrace; U+023DF ⏟ UnderBracket; U+023B5 ⎵ UnderParenthesis; U+023DD ⏝ Union; U+022C3 ⋃ UnionPlus; U+0228E ⊎ Uogon; U+00172 Ų uogon; U+00173 ų Uopf; U+1D54C 𝕌 uopf; U+1D566 𝕦 UpArrow; U+02191 ↑ Uparrow; U+021D1 ⇑ uparrow; U+02191 ↑ UpArrowBar; U+02912 ⤒ UpArrowDownArrow; U+021C5 UpDownArrow; U+02195 ↕ Updownarrow; U+021D5 ⇕ updownarrow; U+02195 ↕ UpEquilibrium; U+0296E ⥮ upharpoonleft; U+021BF ↿ upharpoonright; U+021BE ↾ uplus; U+0228E ⊎ UpperLeftArrow; U+02196 ↖ UpperRightArrow; U+02197 ↗ Upsi; U+003D2 ϒ upsi; U+003C5 upsih; U+003D2 ϒ Upsilon; U+003A5 Υ upsilon; U+003C5 UpTee; U+022A5 ⊥ UpTeeArrow; U+021A5 ↥ upuparrows; U+021C8 ⇈ urcorn; U+0231D ⌝ urcorner; U+0231D ⌝ urcrop; U+0230E ⌎ Uring; U+0016E Ů uring; U+0016F ů urtri; U+025F9 ◹ Uscr; U+1D4B0 𝒰 uscr; U+1D4CA 𝓊 utdot; U+022F0 ⋰ Utilde; U+00168 Ũ utilde; U+00169 ũ utri; U+025B5 ▵ utrif; U+025B4 ▴ uuarr; U+021C8 ⇈ Uuml; U+000DC Ü Uuml U+000DC Ü uuml; U+000FC ü uuml U+000FC ü uwangle; U+029A7 ⦧ vangrt; U+0299C ⦜ varepsilon; U+003F5 ϵ varkappa; U+003F0 ϰ varnothing; U+02205 varphi; U+003D5 ϕ varpi; U+003D6 ϖ varpropto; U+0221D ∝ vArr; U+021D5 ⇕ varr; U+02195 ↕ varrho; U+003F1 ϱ varsigma; U+003C2 ς varsubsetneq; U+0228A U+0FE00 ⊊︀ varsubsetneqq; U+02ACB U+0FE00 ⫋︀ varsupsetneq; U+0228B U+0FE00 ⊋︀ varsupsetneqq; U+02ACC U+0FE00 ⫌︀ vartheta; U+003D1 ϑ vartriangleleft; U+022B2 ⊲ vartriangleright; U+022B3 ⊳ Vbar; U+02AEB ⫫ vBar; U+02AE8 ⫨ vBarv; U+02AE9 ⫩ Vcy; U+00412 В vcy; U+00432 в VDash; U+022AB ⊫ Vdash; U+022A9 ⊩ vDash; U+022A8 ⊨ vdash; U+022A2 ⊢ Vdashl; U+02AE6 ⫦ Vee; U+022C1 ⋁ vee; U+02228 ∨ veebar; U+022BB ⊻ veeeq; U+0225A ≚ vellip; U+022EE ⋮ Verbar; U+02016 ‖ verbar; U+0007C | Vert; U+02016 ‖ vert; U+0007C | VerticalBar; U+02223 ∣ VerticalLine; U+0007C | VerticalSeparator; U+02758 ❘ VerticalTilde; U+02240 ≀ VeryThinSpace; U+0200A   Vfr; U+1D519 𝔙 vfr; U+1D533 𝔳 vltri; U+022B2 ⊲ vnsub; U+02282 U+020D2 ⊂⃒ vnsup; U+02283 U+020D2 ⊃⃒ Vopf; U+1D54D 𝕍 vopf; U+1D567 𝕧 vprop; U+0221D ∝ vrtri; U+022B3 ⊳ Vscr; U+1D4B1 𝒱 vscr; U+1D4CB 𝓋 vsubnE; U+02ACB U+0FE00 ⫋︀ vsubne; U+0228A U+0FE00 ⊊︀ vsupnE; U+02ACC U+0FE00 ⫌︀ vsupne; U+0228B U+0FE00 ⊋︀ Vvdash; U+022AA ⊪ vzigzag; U+0299A ⦚ Wcirc; U+00174 Ŵ wcirc; U+00175 ŵ wedbar; U+02A5F ⩟ Wedge; U+022C0 ⋀ wedge; U+02227 ∧ wedgeq; U+02259 ≙ weierp; U+02118 ℘ Wfr; U+1D51A 𝔚 wfr; U+1D534 𝔴 Wopf; U+1D54E 𝕎 wopf; U+1D568 𝕨 wp; U+02118 ℘ wr; U+02240 ≀ wreath; U+02240 ≀ Wscr; U+1D4B2 𝒲 wscr; U+1D4CC 𝓌 xcap; U+022C2 ⋂ xcirc; U+025EF ◯ xcup; U+022C3 ⋃ xdtri; U+025BD ▽ Xfr; U+1D51B 𝔛 xfr; U+1D535 𝔵 xhArr; U+027FA ⟺ xharr; U+027F7 ⟷ Xi; U+0039E Ξ xi; U+003BE ξ xlArr; U+027F8 ⟸ xlarr; U+027F5 ⟵ xmap; U+027FC ⟼ xnis; U+022FB ⋻ xodot; U+02A00 ⨀ Xopf; U+1D54F 𝕏 xopf; U+1D569 𝕩 xoplus; U+02A01 ⨁ xotime; U+02A02 ⨂ xrArr; U+027F9 ⟹ xrarr; U+027F6 ⟶ Xscr; U+1D4B3 𝒳 xscr; U+1D4CD 𝓍 xsqcup; U+02A06 ⨆ xuplus; U+02A04 ⨄ xutri; U+025B3 △ xvee; U+022C1 ⋁ xwedge; U+022C0 ⋀ Yacute; U+000DD Ý Yacute U+000DD Ý yacute; U+000FD ý yacute U+000FD ý YAcy; U+0042F Я yacy; U+0044F я Ycirc; U+00176 Ŷ ycirc; U+00177 ŷ Ycy; U+0042B Ы ycy; U+0044B ы yen; U+000A5 ¥ yen U+000A5 ¥ Yfr; U+1D51C 𝔜 yfr; U+1D536 𝔶 YIcy; U+00407 Ї yicy; U+00457 ї Yopf; U+1D550 𝕐 yopf; U+1D56A 𝕪 Yscr; U+1D4B4 𝒴 yscr; U+1D4CE 𝓎 YUcy; U+0042E Ю yucy; U+0044E ю Yuml; U+00178 Ÿ yuml; U+000FF ÿ yuml U+000FF ÿ Zacute; U+00179 Ź zacute; U+0017A ź Zcaron; U+0017D Ž zcaron; U+0017E ž Zcy; U+00417 З zcy; U+00437 з Zdot; U+0017B Ż zdot; U+0017C ż zeetrf; U+02128 ℨ ZeroWidthSpace; U+0200B ​ Zeta; U+00396 Ζ zeta; U+003B6 ζ Zfr; U+02128 ℨ zfr; U+1D537 𝔷 ZHcy; U+00416 Ж zhcy; U+00436 ж zigrarr; U+021DD ⇝ Zopf; U+02124 ℤ zopf; U+1D56B 𝕫 Zscr; U+1D4B5 𝒵 zscr; U+1D4CF 𝓏 zwj; U+0200D ‍ zwnj; U+0200C ‌ </p> <p> This data is also available [55173]as a JSON file. </p> <p> The glyphs displayed above are non-normative. Refer to Unicode for formal definitions of the characters listed above. </p> <p> The character reference names originate from XML Entity Definitions for Characters, though only the above is considered normative. [55174][XMLENTITY] </p> <p> This list is static and [55175]will not be expanded or changed in the future. </p> <p> 14 The XML syntax </p> <p> (BUTTON) ✔MDN </p> <p> [55176]HTML/XHTML </p> <p> Support in all current engines. Firefox2+Safari3.1+Chrome4+ __________________________________________________________________ </p> <p> Opera9+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android4+Safari iOS2+Chrome Android18+WebView Android2+Samsung Internet1.0+Opera Android10.1+ </p> <p> This section only describes the rules for XML resources. Rules for [55177]text/html resources are discussed in the section above entitled "[55178]The HTML syntax". </p> <p> Using the XML syntax is not recommended, for reasons which include the fact that there is no specification which defines the rules for how an XML parser must map a string of bytes or characters into a [55179]Document object, as well as the fact that the XML syntax is essentially unmaintained — in that, it’s not expected that any further features will ever be added to the XML syntax (even when such features have been added to the [55180]HTML syntax). </p> <p> 14.1 Writing documents in the XML syntax </p> <p> The XML syntax for HTML was formerly referred to as "XHTML", but this specification does not use that term (among other reasons, because no such term is used for the HTML syntaxes of MathML and SVG). </p> <p> The syntax for XML is defined in XML and Namespaces in XML. [55181][XML] [55182][XMLNS] </p> <p> This specification does not define any syntax-level requirements beyond those defined for XML proper. </p> <p> XML documents may contain a DOCTYPE if desired, but this is not required to conform to this specification. This specification does not define a public or system identifier, nor provide a formal DTD. </p> <p> According to XML, XML processors are not guaranteed to process the external DTD subset referenced in the DOCTYPE. This means, for example, that using [55183]entity references for characters in XML documents is unsafe if they are defined in an external file (except for &lt;, &gt;, &amp;, &quot;, and &apos;). </p> <p> 14.2 Parsing XML documents </p> <p> This section describes the relationship between XML and the DOM, with a particular emphasis on how this interacts with HTML. </p> <p> An XML parser, for the purposes of this specification, is a construct that follows the rules given in XML to map a string of bytes or characters into a [55184]Document object. </p> <p> At the time of writing, no such rules actually exist. </p> <p> An [55185]XML parser is either associated with a [55186]Document object when it is created, or creates one implicitly. </p> <p> This [55187]Document must then be populated with DOM nodes that represent the tree structure of the input passed to the parser, as defined by XML, Namespaces in XML, and DOM. When creating DOM nodes representing elements, the [55188]create an element for a token algorithm or some equivalent that operates on appropriate XML data structures must be used, to ensure the proper [55189]element interfaces are created and that [55190]custom elements are set up correctly. </p> <p> For the operations that the [55191]XML parser performs on the [55192]Document's tree, the user agent must act as if elements and attributes were individually appended and set respectively so as to trigger rules in this specification regarding what happens when an element is inserted into a document or has its attributes set, and DOM's requirements regarding [55193]mutation observers mean that mutation observers are fired. [55194][XML] [55195][XMLNS] [55196][DOM] [55197][UIEVENTS] </p> <p> Between the time an element's start tag is parsed and the time either the element's end tag is parsed or the parser detects a well-formedness error, the user agent must act as if the element was in a [55198]stack of open elements. </p> <p> This is used by various elements to only start certain processes once they are popped off of the [55199]stack of open elements. </p> <p> This specification provides the following additional information that user agents should use when retrieving an external entity: the public identifiers given in the following list all correspond to [55200]the URL given by this link. (This URL is a DTD containing the [55201]entity declarations for the names listed in the [55202]named character references section.) [55203][XML] * -//W3C//DTD XHTML 1.0 Transitional//EN * -//W3C//DTD XHTML 1.1//EN * -//W3C//DTD XHTML 1.0 Strict//EN * -//W3C//DTD XHTML 1.0 Frameset//EN * -//W3C//DTD XHTML Basic 1.0//EN * -//W3C//DTD XHTML 1.1 plus MathML 2.0//EN * -//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN * -//W3C//DTD MathML 2.0//EN * -//WAPFORUM//DTD XHTML Mobile 1.0//EN </p> <p> Furthermore, user agents should attempt to retrieve the above external entity's content when one of the above public identifiers is used, and should not attempt to retrieve any other external entity's content. </p> <p> This is not strictly a [55204]violation of XML, but it does contradict the spirit of XML's requirements. This is motivated by a desire for user agents to all handle entities in an interoperable fashion without requiring any network access for handling external subsets. [55205][XML] </p> <p> XML parsers can be invoked with XML scripting support enabled or XML scripting support disabled. Except where otherwise specified, XML parsers are invoked with [55206]XML scripting support enabled. </p> <p> When an [55207]XML parser with [55208]XML scripting support enabled creates a [55209]script element, it must have its [55210]parser document set and its [55211]force async set to false. If the parser was created as part of the [55212]XML fragment parsing algorithm, then the element's [55213]already started must be set to true. When the element's end tag is subsequently parsed, the user agent must [55214]perform a microtask checkpoint, and then [55215]prepare the [55216]script element. If this causes there to be a [55217]pending parsing-blocking script, then the user agent must run the following steps: 1. Block this instance of the [55218]XML parser, such that the [55219]event loop will not run [55220]tasks that invoke it. 2. [55221]Spin the event loop until the parser's [55222]Document [55223]has no style sheet that is blocking scripts and the [55224]pending parsing-blocking script's [55225]ready to be parser-executed is true. 3. Unblock this instance of the [55226]XML parser, such that [55227]tasks that invoke it can again be run. 4. [55228]Execute the script element given by the [55229]pending parsing-blocking script. 5. Set the [55230]pending parsing-blocking script to null. </p> <p> Since the [55231]document.write() API is not available for [55232]XML documents, much of the complexity in the [55233]HTML parser is not needed in the [55234]XML parser. </p> <p> When the [55235]XML parser has [55236]XML scripting support disabled, none of this happens. </p> <p> When an [55237]XML parser would append a node to a [55238]template element, it must instead append it to the [55239]template element's [55240]template contents (a [55241]DocumentFragment node). </p> <p> This is a [55242]willful violation of XML; unfortunately, XML is not formally extensible in the manner that is needed for [55243]template processing. [55244][XML] </p> <p> When an [55245]XML parser creates a [55246]Node object, its [55247]node document must be set to the [55248]node document of the node into which the newly created node is to be inserted. </p> <p> Certain algorithms in this specification spoon-feed the parser characters one string at a time. In such cases, the [55249]XML parser must act as it would have if faced with a single string consisting of the concatenation of all those characters. </p> <p> When an [55250]XML parser reaches the end of its input, it must [55251]stop parsing, following the same rules as the [55252]HTML parser. An [55253]XML parser can also be [55254]aborted, which must again be done in the same way as for an [55255]HTML parser. </p> <p> For the purposes of conformance checkers, if a resource is determined to be in [55256]the XML syntax, then it is an [55257]XML document. </p> <p> 14.3 Serializing XML fragments </p> <p> The XML fragment serialization algorithm for a [55258]Document or [55259]Element node either returns a fragment of XML that represents that node or throws an exception. </p> <p> For [55260]Documents, the algorithm must return a string in the form of a [55261]document entity, if none of the error cases below apply. </p> <p> For [55262]Elements, the algorithm must return a string in the form of an [55263]internal general parsed entity, if none of the error cases below apply. </p> <p> In both cases, the string returned must be XML namespace-well-formed and must be an isomorphic serialization of all of that node's [55264]relevant child nodes, in [55265]tree order. User agents may adjust prefixes and namespace declarations in the serialization (and indeed might be forced to do so in some cases to obtain namespace-well-formed XML). User agents may use a combination of regular text and character references to represent [55266]Text nodes in the DOM. </p> <p> A node's relevant child nodes are those that apply given the following rules: </p> <p> For [55267]template elements The [55268]relevant child nodes are the child nodes of the [55269]template element's [55270]template contents, if any. </p> <p> For all other nodes The [55271]relevant child nodes are the child nodes of node itself, if any. </p> <p> For [55272]Elements, if any of the elements in the serialization are in no namespace, the default namespace in scope for those elements must be explicitly declared as the empty string. (This doesn't apply in the [55273]Document case.) [55274][XML] [55275][XMLNS] </p> <p> For the purposes of this section, an internal general parsed entity is considered XML namespace-well-formed if a document consisting of an element with no namespace declarations whose contents are the internal general parsed entity would itself be XML namespace-well-formed. </p> <p> If any of the following error cases are found in the DOM subtree being serialized, then the algorithm must throw an [55276]"InvalidStateError" [55277]DOMException instead of returning a string: * A [55278]Document node with no child element nodes. * A [55279]DocumentType node that has an external subset public identifier that contains characters that are not matched by the XML PubidChar production. [55280][XML] * A [55281]DocumentType node that has an external subset system identifier that contains both a U+0022 QUOTATION MARK (") and a U+0027 APOSTROPHE (') or that contains characters that are not matched by the XML Char production. [55282][XML] * A node with a local name containing a U+003A COLON (:). * A node with a local name that does not match the XML [55283]Name production. [55284][XML] * An [55285]Attr node with no namespace whose local name is the lowercase string "xmlns". [55286][XMLNS] * An [55287]Element node with two or more attributes with the same local name and namespace. * An [55288]Attr node, [55289]Text node, [55290]Comment node, or [55291]ProcessingInstruction node whose data contains characters that are not matched by the XML Char production. [55292][XML] * A [55293]Comment node whose data contains two adjacent U+002D HYPHEN-MINUS characters (-) or ends with such a character. * A [55294]ProcessingInstruction node whose target name is an [55295]ASCII case-insensitive match for the string "xml". * A [55296]ProcessingInstruction node whose target name contains a U+003A COLON (:). * A [55297]ProcessingInstruction node whose data contains the string "?>". </p> <p> These are the only ways to make a DOM unserialisable. The DOM enforces all the other XML constraints; for example, trying to append two elements to a [55298]Document node will throw a [55299]"HierarchyRequestError" [55300]DOMException. </p> <p> 14.4 Parsing XML fragments </p> <p> The XML fragment parsing algorithm given an [55301]Element node [55302]context and a string input, runs the following steps. They return a list of nodes. 1. Create a new [55303]XML parser. 2. [55304]Feed the parser just created the string corresponding to the start tag of [55305]context, declaring all the namespace prefixes that are in scope on that element in the DOM, as well as declaring the default namespace (if any) that is in scope on that element in the DOM. A namespace prefix is in scope if the DOM lookupNamespaceURI() method on the element would return a non-null value for that prefix. The default namespace is the namespace for which the DOM isDefaultNamespace() method on the element would return true. No DOCTYPE is passed to the parser, and therefore no external subset is referenced, and therefore no entities will be recognized. 3. [55306]Feed the parser just created the string input. 4. [55307]Feed the parser just created the string corresponding to the end tag of [55308]context. 5. If there is an XML well-formedness or XML namespace well-formedness error, then throw a [55309]"SyntaxError" [55310]DOMException. 6. If the [55311]document element of the resulting [55312]Document has any sibling nodes, then throw a [55313]"SyntaxError" [55314]DOMException. 7. Return the resulting [55315]Document node's [55316]document element's [55317]children, in [55318]tree order. </p> <p> 15 Rendering </p> <p> User agents are not required to present HTML documents in any particular way. However, this section provides a set of suggestions for rendering HTML documents that, if followed, are likely to lead to a user experience that closely resembles the experience intended by the documents' authors. So as to avoid confusion regarding the normativity of this section, "must" has not been used. Instead, the term "expected" is used to indicate behavior that will lead to this experience. For the purposes of conformance for user agents designated as [55319]supporting the suggested default rendering, the term "expected" in this section has the same conformance implications as "must". </p> <p> 15.1 Introduction </p> <p> The suggestions in this section are generally expressed in CSS terms. User agents are expected to either support CSS, or translate from the CSS rules given in this section to approximations for other presentation mechanisms. </p> <p> In the absence of style-layer rules to the contrary (e.g. author style sheets), user agents are expected to render an element so that it conveys to the user the meaning that the element [55320]represents, as described by this specification. </p> <p> The suggestions in this section generally assume a visual output medium with a resolution of 96dpi or greater, but HTML is intended to apply to multiple media (it is a media-independent language). User agent implementers are encouraged to adapt the suggestions in this section to their target media. __________________________________________________________________ </p> <p> An element is being rendered if it has any associated CSS layout boxes, SVG layout boxes, or some equivalent in other styling languages. </p> <p> Just being off-screen does not mean the element is not [55321]being rendered. The presence of the [55322]hidden attribute normally means the element is not [55323]being rendered, though this might be overridden by the style sheets. </p> <p> The [55324]fully active state does not affect whether an element is [55325]being rendered or not. Even if a document is not [55326]fully active and not shown at all to the user, elements within it can still qualify as "being rendered". </p> <p> An element is said to intersect the viewport when it is [55327]being rendered and its associated CSS layout box intersects the [55328]viewport. </p> <p> Similar to the [55329]being rendered state, elements in non-[55330]fully active documents can still [55331]intersect the viewport. The [55332]viewport is not shared between documents and might not always be shown to the user, so an element in a non-[55333]fully active document can still intersect the [55334]viewport associated with its document. </p> <p> This specification does not define the precise timing for when the intersection is tested, but it is suggested that the timing match that of the Intersection Observer API. [55335][INTERSECTIONOBSERVER] </p> <p> An element is delegating its rendering to its children if it is not [55336]being rendered but its children (if any) could [55337]be rendered, as a result of CSS 'display: contents', or some equivalent in other styling languages. [55338][CSSDISPLAY] __________________________________________________________________ </p> <p> User agents that do not honor author-level CSS style sheets are nonetheless expected to act as if they applied the CSS rules given in these sections in a manner consistent with this specification and the relevant CSS and Unicode specifications. [55339][CSS] [55340][UNICODE] [55341][BIDI] </p> <p> This is especially important for issues relating to the [55342]'display', [55343]'unicode-bidi', and [55344]'direction' properties. </p> <p> 15.2 The CSS user agent style sheet and presentational hints </p> <p> The CSS rules given in these subsections are, except where otherwise specified, expected to be used as part of the user-agent level style sheet defaults for all documents that contain [55345]HTML elements. </p> <p> Some rules are intended for the author-level zero-specificity presentational hints part of the CSS cascade; these are explicitly called out as presentational hints. __________________________________________________________________ </p> <p> When the text below says that an attribute attribute on an element element maps to the pixel length property (or properties) properties, it means that if element has an attribute attribute set, and parsing that attribute's value using the [55346]rules for parsing non-negative integers doesn't generate an error, then the user agent is expected to use the parsed value as a pixel length for a [55347]presentational hint for properties. </p> <p> When the text below says that an attribute attribute on an element element maps to the dimension property (or properties) properties, it means that if element has an attribute attribute set, and parsing that attribute's value using the [55348]rules for parsing dimension values doesn't generate an error, then the user agent is expected to use the parsed dimension as the value for a [55349]presentational hint for properties, with the value given as a pixel length if the dimension was a length, and with the value given as a percentage if the dimension was a percentage. </p> <p> When the text below says that an attribute attribute on an element element maps to the dimension property (ignoring zero) (or properties) properties, it means that if element has an attribute attribute set, and parsing that attribute's value using the [55350]rules for parsing nonzero dimension values doesn't generate an error, then the user agent is expected to use the parsed dimension as the value for a [55351]presentational hint for properties, with the value given as a pixel length if the dimension was a length, and with the value given as a percentage if the dimension was a percentage. </p> <p> When the text below says that a pair of attributes w and h on an element element map to the aspect-ratio property, it means that if element has both attributes w and h, and parsing those attributes' values using the [55352]rules for parsing non-negative integers doesn't generate an error for either, then the user agent is expected to use the parsed integers as a [55353]presentational hint for the [55354]'aspect-ratio' property of the form auto w / h. </p> <p> When the text below says that a pair of attributes w and h on an element element map to the aspect-ratio property (using dimension rules), it means that if element has both attributes w and h, and parsing those attributes' values using the [55355]rules for parsing dimension values doesn't generate an error or return a percentage for either, then the user agent is expected to use the parsed dimensions as a [55356]presentational hint for the [55357]'aspect-ratio' property of the form auto w / h. </p> <p> When a user agent is to align descendants of a node, the user agent is expected to align only those descendants that have both their [55358]'margin-inline-start' and [55359]'margin-inline-end' properties computing to a value other than 'auto', that are over-constrained and that have one of those two margins with a [55360]used value forced to a greater value, and that do not themselves have an applicable align attribute. When multiple elements are to [55361]align a particular descendant, the most deeply nested such element is expected to override the others. Aligned elements are expected to be aligned by having the [55362]used values of their margins on the [55363]line-left and [55364]line-right sides be set accordingly. [55365][CSSLOGICAL] [55366][CSSWM] </p> <p> 15.3 Non-replaced elements </p> <p> 15.3.1 Hidden elements </p> <p> @namespace "http://www.w3.org/1999/xhtml"; </p> <p> area, base, basefont, datalist, head, link, meta, noembed, noframes, param, rp, script, style, template, title { display: none; } </p> <p> [hidden]:not([hidden=until-found i]):not(embed) { display: none; } </p> <p> [hidden=until-found i]:not(embed) { content-visibility: hidden; } </p> <p> embed[hidden] { display: inline; height: 0; width: 0; } </p> <p> input[type=hidden i] { display: none !important; } </p> <p> @media (scripting) { noscript { display: none !important; } } </p> <p> 15.3.2 The page </p> <p> @namespace "http://www.w3.org/1999/xhtml"; </p> <p> html, body { display: block; } </p> <p> For each property in the table below, given a [55367]body element, the first attribute that exists [55368]maps to the pixel length property on the [55369]body element. If none of the attributes for a property are found, or if the value of the attribute that was found cannot be parsed successfully, then a default value of 8px is expected to be used for that property instead. </p> <p> Property Source [55370]'margin-top' The [55371]body element's [55372]marginheight attribute The [55373]body element's [55374]topmargin attribute The [55375]body element's [55376]container frame element's [55377]marginheight attribute [55378]'margin-right' The [55379]body element's [55380]marginwidth attribute The [55381]body element's [55382]rightmargin attribute The [55383]body element's [55384]container frame element's [55385]marginwidth attribute [55386]'margin-bottom' The [55387]body element's [55388]marginheight attribute The [55389]body element's [55390]bottommargin attribute The [55391]body element's [55392]container frame element's [55393]marginheight attribute [55394]'margin-left' The [55395]body element's [55396]marginwidth attribute The [55397]body element's [55398]leftmargin attribute The [55399]body element's [55400]container frame element's [55401]marginwidth attribute </p> <p> If the [55402]body element's [55403]node document's [55404]node navigable is a [55405]child navigable, and the [55406]container of that [55407]navigable is a [55408]frame or [55409]iframe element, then the container frame element of the [55410]body element is that [55411]frame or [55412]iframe element. Otherwise, there is no [55413]container frame element. </p> <p> The above requirements imply that a page can change the margins of another page (including one from another [55414]origin) using, for example, an [55415]iframe. This is potentially a security risk, as it might in some cases allow an attack to contrive a situation in which a page is rendered not as the author intended, possibly for the purposes of phishing or otherwise misleading the user. __________________________________________________________________ </p> <p> If a [55416]Document's [55417]node navigable is a [55418]child navigable, then it is expected to be positioned and sized to fit inside the [55419]content box of the [55420]container of that [55421]navigable. If the [55422]container is not [55423]being rendered, the [55424]navigable is expected to have a [55425]viewport with zero width and zero height. </p> <p> If a [55426]Document's [55427]node navigable is a [55428]child navigable, the [55429]container of that [55430]navigable is a [55431]frame or [55432]iframe element, that element has a scrolling attribute, and that attribute's value is an [55433]ASCII case-insensitive match for the string "off", "noscroll", or "no", then the user agent is expected to prevent any scrollbars from being shown for the [55434]viewport of the [55435]Document's [55436]node navigable, regardless of the [55437]'overflow' property that applies to that [55438]viewport. __________________________________________________________________ </p> <p> When a [55439]body element has a [55440]background attribute set to a non-empty value, the new value is expected to be [55441]encoding-parsed-and-serialized relative to the element's [55442]node document, and if that does not return failure, the user agent is expected to treat the attribute as a [55443]presentational hint setting the element's [55444]'background-image' property to the return value. </p> <p> When a [55445]body element has a [55446]bgcolor attribute set, the new value is expected to be parsed using the [55447]rules for parsing a legacy color value, and if that does not return failure, the user agent is expected to treat the attribute as a [55448]presentational hint setting the element's [55449]'background-color' property to the resulting color. </p> <p> When a [55450]body element has a [55451]text attribute, its value is expected to be parsed using the [55452]rules for parsing a legacy color value, and if that does not return failure, the user agent is expected to treat the attribute as a [55453]presentational hint setting the element's [55454]'color' property to the resulting color. </p> <p> When a [55455]body element has a [55456]link attribute, its value is expected to be parsed using the [55457]rules for parsing a legacy color value, and if that does not return failure, the user agent is expected to treat the attribute as a [55458]presentational hint setting the [55459]'color' property of any element in the [55460]Document matching the [55461]:link [55462]pseudo-class to the resulting color. </p> <p> When a [55463]body element has a [55464]vlink attribute, its value is expected to be parsed using the [55465]rules for parsing a legacy color value, and if that does not return failure, the user agent is expected to treat the attribute as a [55466]presentational hint setting the [55467]'color' property of any element in the [55468]Document matching the [55469]:visited [55470]pseudo-class to the resulting color. </p> <p> When a [55471]body element has an [55472]alink attribute, its value is expected to be parsed using the [55473]rules for parsing a legacy color value, and if that does not return failure, the user agent is expected to treat the attribute as a [55474]presentational hint setting the [55475]'color' property of any element in the [55476]Document matching the [55477]:active [55478]pseudo-class and either the [55479]:link [55480]pseudo-class or the [55481]:visited [55482]pseudo-class to the resulting color. </p> <p> 15.3.3 Flow content </p> <p> @namespace "http://www.w3.org/1999/xhtml"; </p> <p> address, blockquote, center, dialog, div, figure, figcaption, footer, form, header, hr, legend, listing, main, p, plaintext, pre, search, xmp { display: block; } </p> <p> blockquote, figure, listing, p, plaintext, pre, xmp { margin-block: 1em; } </p> <p> blockquote, figure { margin-inline: 40px; } </p> <p> address { font-style: italic; } listing, plaintext, pre, xmp { font-family: monospace; white-space: pre; } </p> <p> dialog:not([open]) { display: none; } dialog { position: absolute; inset-inline-start: 0; inset-inline-end: 0; width: fit-content; height: fit-content; margin: auto; border: solid; padding: 1em; background-color: Canvas; color: CanvasText; } dialog:modal { position: fixed; overflow: auto; inset-block: 0; max-width: calc(100% - 6px - 2em); max-height: calc(100% - 6px - 2em); } dialog::backdrop { background: rgba(0,0,0,0.1); } </p> <p> [popover]:not(:popover-open):not(dialog[open]) { display:none; } </p> <p> dialog:popover-open { display:block; } </p> <p> [popover] { position: fixed; inset: 0; width: fit-content; height: fit-content; margin: auto; border: solid; padding: 0.25em; overflow: auto; color: CanvasText; background-color: Canvas; } </p> <p> :popover-open::backdrop { position: fixed; inset: 0; pointer-events: none !important; background-color: transparent; } </p> <p> slot { display: contents; } </p> <p> The following rules are also expected to apply, as [55483]presentational hints: @namespace "http://www.w3.org/1999/xhtml"; </p> <p> pre[wrap] { white-space: pre-wrap; } </p> <p> In [55484]quirks mode, the following rules are also expected to apply: @namespace "http://www.w3.org/1999/xhtml"; </p> <p> form { margin-block-end: 1em; } __________________________________________________________________ </p> <p> The [55485]center element, and the [55486]div element when it has an [55487]align attribute whose value is an [55488]ASCII case-insensitive match for either the string "center" or the string "middle", are expected to center text within themselves, as if they had their [55489]'text-align' property set to 'center' in a [55490]presentational hint, and to [55491]align descendants to the center. </p> <p> The [55492]div element, when it has an [55493]align attribute whose value is an [55494]ASCII case-insensitive match for the string "left", is expected to left-align text within itself, as if it had its [55495]'text-align' property set to 'left' in a [55496]presentational hint, and to [55497]align descendants to the left. </p> <p> The [55498]div element, when it has an [55499]align attribute whose value is an [55500]ASCII case-insensitive match for the string "right", is expected to right-align text within itself, as if it had its [55501]'text-align' property set to 'right' in a [55502]presentational hint, and to [55503]align descendants to the right. </p> <p> The [55504]div element, when it has an [55505]align attribute whose value is an [55506]ASCII case-insensitive match for the string "justify", is expected to full-justify text within itself, as if it had its [55507]'text-align' property set to 'justify' in a [55508]presentational hint, and to [55509]align descendants to the left. </p> <p> 15.3.4 Phrasing content </p> <p> @namespace "http://www.w3.org/1999/xhtml"; </p> <p> cite, dfn, em, i, var { font-style: italic; } b, strong { font-weight: bolder; } code, kbd, samp, tt { font-family: monospace; } big { font-size: larger; } small { font-size: smaller; } </p> <p> sub { vertical-align: sub; } sup { vertical-align: super; } sub, sup { line-height: normal; font-size: smaller; } </p> <p> ruby { display: ruby; } rt { display: ruby-text; } </p> <p> :link { color: #0000EE; } :visited { color: #551A8B; } :link:active, :visited:active { color: #FF0000; } :link, :visited { text-decoration: underline; cursor: pointer; } </p> <p> :focus-visible { outline: auto; } </p> <p> mark { background: yellow; color: black; } /* this color is just a suggestion an d can be changed based on implementation feedback */ </p> <p> abbr[title], acronym[title] { text-decoration: dotted underline; } ins, u { text-decoration: underline; } del, s, strike { text-decoration: line-through; } </p> <p> q::before { content: open-quote; } q::after { content: close-quote; } </p> <p> br { display-outside: newline; } /* [55510]this also has bidi implications */ nobr { white-space: nowrap; } wbr { display-outside: break-opportunity; } /* [55511]this also has bidi implica tions */ nobr wbr { white-space: normal; } </p> <p> The following rules are also expected to apply, as [55512]presentational hints: @namespace "http://www.w3.org/1999/xhtml"; </p> <p> br[clear=left i] { clear: left; } br[clear=right i] { clear: right; } br[clear=all i], br[clear=both i] { clear: both; } </p> <p> For the purposes of the CSS ruby model, runs of children of [55513]ruby elements that are not [55514]rt or [55515]rp elements are expected to be wrapped in anonymous boxes whose [55516]'display' property has the value [55517]'ruby-base'. [55518][CSSRUBY] </p> <p> When a particular part of a ruby has more than one annotation, the annotations should be distributed on both sides of the base text so as to minimize the stacking of ruby annotations on one side. </p> <p> When it becomes possible to do so, the preceding requirement will be updated to be expressed in terms of CSS ruby. (Currently, CSS ruby does not handle nested [55519]ruby elements or multiple sequential [55520]rt elements, which is how this semantic is expressed.) </p> <p> User agents that do not support correct ruby rendering are expected to render parentheses around the text of [55521]rt elements in the absence of [55522]rp elements. __________________________________________________________________ </p> <p> User agents are expected to support the [55523]'clear' property on inline elements (in order to render [55524]br elements with [55525]clear attributes) in the manner described in the non-normative note to this effect in CSS. </p> <p> The initial value for the [55526]'color' property is expected to be black. The initial value for the [55527]'background-color' property is expected to be 'transparent'. The canvas's background is expected to be white. __________________________________________________________________ </p> <p> When a [55528]font element has a color attribute, its value is expected to be parsed using the [55529]rules for parsing a legacy color value, and if that does not return failure, the user agent is expected to treat the attribute as a [55530]presentational hint setting the element's [55531]'color' property to the resulting color. </p> <p> When a [55532]font element has a face attribute, the user agent is expected to treat the attribute as a [55533]presentational hint setting the element's [55534]'font-family' property to the attribute's value. </p> <p> When a [55535]font element has a size attribute, the user agent is expected to use the following steps, known as the rules for parsing a legacy font size, to treat the attribute as a [55536]presentational hint setting the element's [55537]'font-size' property: 1. Let input be the attribute's value. 2. Let position be a pointer into input, initially pointing at the start of the string. 3. [55538]Skip ASCII whitespace within input given position. 4. If position is past the end of input, there is no [55539]presentational hint. Return. 5. If the character at position is a U+002B PLUS SIGN character (+), then let mode be relative-plus, and advance position to the next character. Otherwise, if the character at position is a U+002D HYPHEN-MINUS character (-), then let mode be relative-minus, and advance position to the next character. Otherwise, let mode be absolute. 6. [55540]Collect a sequence of code points that are [55541]ASCII digits from input given position, and let the resulting sequence be digits. 7. If digits is the empty string, there is no [55542]presentational hint. Return. 8. Interpret digits as a base-ten integer. Let value be the resulting number. 9. If mode is relative-plus, then increment value by 3. If mode is relative-minus, then let value be the result of subtracting value from 3. 10. If value is greater than 7, let it be 7. 11. If value is less than 1, let it be 1. 12. Set [55543]'font-size' to the keyword corresponding to the value of value according to the following table: </p> <p> value [55544]'font-size' keyword 1 'x-small' 2 'small' 3 'medium' 4 'large' 5 'x-large' 6 'xx-large' 7 'xxx-large' </p> <p> 15.3.5 Bidirectional text </p> <p> @namespace "http://www.w3.org/1999/xhtml"; </p> <p> [dir]:dir(ltr), bdi:dir(ltr), input[type=tel i]:dir(ltr) { direction: ltr; } [dir]:dir(rtl), bdi:dir(rtl) { direction: rtl; } </p> <p> address, blockquote, center, div, figure, figcaption, footer, form, header, hr, legend, listing, main, p, plaintext, pre, summary, xmp, article, aside, h1, h2, h3, h4, h5, h6, hgroup, nav, section, search, table, caption, colgroup, col, thead, tbody, tfoot, tr, td, th, dir, dd, dl, dt, menu, ol, ul, li, bdi, output, [dir=ltr i], [dir=rtl i], [dir=auto i] { unicode-bidi: isolate; } </p> <p> bdo, bdo[dir] { unicode-bidi: isolate-override; } </p> <p> input[dir=auto i]:is([type=search i], [type=tel i], [type=url i], [type=email i]), textarea[dir=auto i], pre[dir=auto i] { unicode-bidi: plaintext; } /* see prose for input elements whose type attribute is in the Text state */ </p> <p> /* the [55545]rules setting the ʼcontentʼ property on [55546]br and [55547]wbr e lements also has bidi implications */ </p> <p> When an [55548]input element's [55549]dir attribute is in the [55550]auto state and its [55551]type attribute is in the [55552]Text state, then the user agent is expected to act as if it had a user-agent-level style sheet rule setting the [55553]'unicode-bidi' property to 'plaintext'. </p> <p> Input fields (i.e. [55554]textarea elements, and [55555]input elements when their [55556]type attribute is in the [55557]Text, [55558]Search, [55559]Telephone, [55560]URL, or [55561]Email state) are expected to present an editing user interface with a directionality that matches the element's [55562]'direction' property. </p> <p> When the document's character encoding is [55563]ISO-8859-8, the following rules are additionally expected to apply, following those above: [55564][ENCODING] @namespace "http://www.w3.org/1999/xhtml"; </p> <p> address, blockquote, center, div, figure, figcaption, footer, form, header, hr, legend, listing, main, p, plaintext, pre, summary, xmp, article, aside, h1, h2, h3, h4, h5, h6, hgroup, nav, section, search, table, caption, colgroup, col, thead, tbody, tfoot, tr, td, th, dir, dd, dl, dt, menu, ol, ul, li, [dir=ltr i], [dir=rtl i], [dir=auto i], *|* { unicode-bidi: bidi-override; } input:not([type=submit i]):not([type=reset i]):not([type=button i]), textarea { unicode-bidi: normal; } </p> <p> 15.3.6 Sections and headings </p> <p> @namespace "http://www.w3.org/1999/xhtml"; </p> <p> article, aside, h1, h2, h3, h4, h5, h6, hgroup, nav, section { display: block; } </p> <p> h1 { margin-block: 0.67em; font-size: 2.00em; font-weight: bold; } h2 { margin-block: 0.83em; font-size: 1.50em; font-weight: bold; } h3 { margin-block: 1.00em; font-size: 1.17em; font-weight: bold; } h4 { margin-block: 1.33em; font-size: 1.00em; font-weight: bold; } h5 { margin-block: 1.67em; font-size: 0.83em; font-weight: bold; } h6 { margin-block: 2.33em; font-size: 0.67em; font-weight: bold; } </p> <p> In the following CSS block, x is shorthand for the following selector: :is(article, aside, nav, section) @namespace "http://www.w3.org/1999/xhtml"; </p> <p> x h1 { margin-block: 0.83em; font-size: 1.50em; } x x h1 { margin-block: 1.00em; font-size: 1.17em; } x x x h1 { margin-block: 1.33em; font-size: 1.00em; } x x x x h1 { margin-block: 1.67em; font-size: 0.83em; } x x x x x h1 { margin-block: 2.33em; font-size: 0.67em; } </p> <p> The shorthand is used to keep this block at least mildly readable. </p> <p> 15.3.7 Lists </p> <p> @namespace "http://www.w3.org/1999/xhtml"; </p> <p> dir, dd, dl, dt, menu, ol, ul { display: block; } li { display: list-item; text-align: match-parent; } </p> <p> dir, dl, menu, ol, ul { margin-block: 1em; } </p> <p> :is(dir, dl, menu, ol, ul) :is(dir, dl, menu, ol, ul) { margin-block: 0; } </p> <p> dd { margin-inline-start: 40px; } dir, menu, ol, ul { padding-inline-start: 40px; } </p> <p> ol, ul, menu { counter-reset: list-item; } ol { list-style-type: decimal; } </p> <p> dir, menu, ul { list-style-type: disc; } :is(dir, menu, ol, ul) :is(dir, menu, ul) { list-style-type: circle; } :is(dir, menu, ol, ul) :is(dir, menu, ol, ul) :is(dir, menu, ul) { list-style-type: square; } </p> <p> The following rules are also expected to apply, as [55565]presentational hints: @namespace "http://www.w3.org/1999/xhtml"; </p> <p> ol[type="1"], li[type="1"] { list-style-type: decimal; } ol[type=a s], li[type=a s] { list-style-type: lower-alpha; } ol[type=A s], li[type=A s] { list-style-type: upper-alpha; } ol[type=i s], li[type=i s] { list-style-type: lower-roman; } ol[type=I s], li[type=I s] { list-style-type: upper-roman; } ul[type=none i], li[type=none i] { list-style-type: none; } ul[type=disc i], li[type=disc i] { list-style-type: disc; } ul[type=circle i], li[type=circle i] { list-style-type: circle; } ul[type=square i], li[type=square i] { list-style-type: square; } </p> <p> In [55566]quirks mode, the following rules are also expected to apply: @namespace "http://www.w3.org/1999/xhtml"; </p> <p> li { list-style-position: inside; } li :is(dir, menu, ol, ul) { list-style-position: outside; } :is(dir, menu, ol, ul) :is(dir, menu, ol, ul, li) { list-style-position: unset; } </p> <p> When rendering [55567]li elements, non-CSS user agents are expected to use the [55568]ordinal value of the [55569]li element to render the counter in the list item marker. </p> <p> For CSS user agents, some aspects of rendering [55570]list items are defined by the CSS Lists specification. Additionally, the following attribute mappings are expected to apply: [55571][CSSLISTS] </p> <p> When an [55572]li element has a [55573]value attribute, and parsing that attribute's value using the [55574]rules for parsing integers doesn't generate an error, the user agent is expected to use the parsed value value as a [55575]presentational hint for the [55576]'counter-set' property of the form list-item value. </p> <p> When an [55577]ol element has a [55578]start attribute or a [55579]reversed attribute, or both, the user agent is expected to use the following steps to treat the attributes as a [55580]presentational hint for the [55581]'counter-reset' property: 1. Let value be null. 2. If the element has a [55582]start attribute, then set value to the result of parsing the attribute's value using the [55583]rules for parsing integers. 3. If the element has a [55584]reversed attribute, then: 1. If value is an integer, then increment value by 1 and return reversed(list-item) value. 2. Otherwise, return reversed(list-item). Either the [55585]start attribute was absent, or parsing its value resulted in an error. 4. Otherwise: 1. If value is an integer, then decrement value by 1 and return list-item value. 2. Otherwise, there is no [55586]presentational hint. </p> <p> 15.3.8 Tables </p> <p> @namespace "http://www.w3.org/1999/xhtml"; </p> <p> table { display: table; } caption { display: table-caption; } colgroup, colgroup[hidden] { display: table-column-group; } col, col[hidden] { display: table-column; } thead, thead[hidden] { display: table-header-group; } tbody, tbody[hidden] { display: table-row-group; } tfoot, tfoot[hidden] { display: table-footer-group; } tr, tr[hidden] { display: table-row; } td, th { display: table-cell; } </p> <p> colgroup[hidden], col[hidden], thead[hidden], tbody[hidden], tfoot[hidden], tr[hidden] { visibility: collapse; } </p> <p> table { box-sizing: border-box; border-spacing: 2px; border-collapse: separate; text-indent: initial; } td, th { padding: 1px; } th { font-weight: bold; } </p> <p> caption { text-align: center; } thead, tbody, tfoot, table > tr { vertical-align: middle; } tr, td, th { vertical-align: inherit; } </p> <p> thead, tbody, tfoot, tr { border-color: inherit; } table[rules=none i], table[rules=groups i], table[rules=rows i], table[rules=cols i], table[rules=all i], table[frame=void i], table[frame=above i], table[frame=below i], table[frame=hsides i], table[frame=lhs i], table[frame=rhs i], table[frame=vsides i], table[frame=box i], table[frame=border i], table[rules=none i] > tr > td, table[rules=none i] > tr > th, table[rules=groups i] > tr > td, table[rules=groups i] > tr > th, table[rules=rows i] > tr > td, table[rules=rows i] > tr > th, table[rules=cols i] > tr > td, table[rules=cols i] > tr > th, table[rules=all i] > tr > td, table[rules=all i] > tr > th, table[rules=none i] > thead > tr > td, table[rules=none i] > thead > tr > th, table[rules=groups i] > thead > tr > td, table[rules=groups i] > thead > tr > th , table[rules=rows i] > thead > tr > td, table[rules=rows i] > thead > tr > th, table[rules=cols i] > thead > tr > td, table[rules=cols i] > thead > tr > th, table[rules=all i] > thead > tr > td, table[rules=all i] > thead > tr > th, table[rules=none i] > tbody > tr > td, table[rules=none i] > tbody > tr > th, table[rules=groups i] > tbody > tr > td, table[rules=groups i] > tbody > tr > th , table[rules=rows i] > tbody > tr > td, table[rules=rows i] > tbody > tr > th, table[rules=cols i] > tbody > tr > td, table[rules=cols i] > tbody > tr > th, table[rules=all i] > tbody > tr > td, table[rules=all i] > tbody > tr > th, table[rules=none i] > tfoot > tr > td, table[rules=none i] > tfoot > tr > th, table[rules=groups i] > tfoot > tr > td, table[rules=groups i] > tfoot > tr > th , table[rules=rows i] > tfoot > tr > td, table[rules=rows i] > tfoot > tr > th, table[rules=cols i] > tfoot > tr > td, table[rules=cols i] > tfoot > tr > th, table[rules=all i] > tfoot > tr > td, table[rules=all i] > tfoot > tr > th { border-color: black; } </p> <p> The following rules are also expected to apply, as [55587]presentational hints: @namespace "http://www.w3.org/1999/xhtml"; </p> <p> table[align=left i] { float: left; } table[align=right i] { float: right; } table[align=center i] { margin-inline: auto; } thead[align=absmiddle i], tbody[align=absmiddle i], tfoot[align=absmiddle i], tr[align=absmiddle i], td[align=absmiddle i], th[align=absmiddle i] { text-align: center; } </p> <p> caption[align=bottom i] { caption-side: bottom; } p[align=left i], h1[align=left i], h2[align=left i], h3[align=left i], h4[align=left i], h5[align=left i], h6[align=left i] { text-align: left; } p[align=right i], h1[align=right i], h2[align=right i], h3[align=right i], h4[align=right i], h5[align=right i], h6[align=right i] { text-align: right; } p[align=center i], h1[align=center i], h2[align=center i], h3[align=center i], h4[align=center i], h5[align=center i], h6[align=center i] { text-align: center; } p[align=justify i], h1[align=justify i], h2[align=justify i], h3[align=justify i ], h4[align=justify i], h5[align=justify i], h6[align=justify i] { text-align: justify; } thead[valign=top i], tbody[valign=top i], tfoot[valign=top i], tr[valign=top i], td[valign=top i], th[valign=top i] { vertical-align: top; } thead[valign=middle i], tbody[valign=middle i], tfoot[valign=middle i], tr[valign=middle i], td[valign=middle i], th[valign=middle i] { vertical-align: middle; } thead[valign=bottom i], tbody[valign=bottom i], tfoot[valign=bottom i], tr[valign=bottom i], td[valign=bottom i], th[valign=bottom i] { vertical-align: bottom; } thead[valign=baseline i], tbody[valign=baseline i], tfoot[valign=baseline i], tr[valign=baseline i], td[valign=baseline i], th[valign=baseline i] { vertical-align: baseline; } </p> <p> td[nowrap], th[nowrap] { white-space: nowrap; } </p> <p> table[rules=none i], table[rules=groups i], table[rules=rows i], table[rules=cols i], table[rules=all i] { border-style: hidden; border-collapse: collapse; } table[border] { border-style: outset; } /* [55588]only if border is not equivale nt to zero */ table[frame=void i] { border-style: hidden; } table[frame=above i] { border-style: outset hidden hidden hidden; } table[frame=below i] { border-style: hidden hidden outset hidden; } table[frame=hsides i] { border-style: outset hidden outset hidden; } table[frame=lhs i] { border-style: hidden hidden hidden outset; } table[frame=rhs i] { border-style: hidden outset hidden hidden; } table[frame=vsides i] { border-style: hidden outset; } table[frame=box i], table[frame=border i] { border-style: outset; } </p> <p> table[border] > tr > td, table[border] > tr > th, table[border] > thead > tr > td, table[border] > thead > tr > th, table[border] > tbody > tr > td, table[border] > tbody > tr > th, table[border] > tfoot > tr > td, table[border] > tfoot > tr > th { /* [55589]only if border is not equivalent to zero */ border-width: 1px; border-style: inset; } table[rules=none i] > tr > td, table[rules=none i] > tr > th, table[rules=none i] > thead > tr > td, table[rules=none i] > thead > tr > th, table[rules=none i] > tbody > tr > td, table[rules=none i] > tbody > tr > th, table[rules=none i] > tfoot > tr > td, table[rules=none i] > tfoot > tr > th, table[rules=groups i] > tr > td, table[rules=groups i] > tr > th, table[rules=groups i] > thead > tr > td, table[rules=groups i] > thead > tr > th , table[rules=groups i] > tbody > tr > td, table[rules=groups i] > tbody > tr > th , table[rules=groups i] > tfoot > tr > td, table[rules=groups i] > tfoot > tr > th , table[rules=rows i] > tr > td, table[rules=rows i] > tr > th, table[rules=rows i] > thead > tr > td, table[rules=rows i] > thead > tr > th, table[rules=rows i] > tbody > tr > td, table[rules=rows i] > tbody > tr > th, table[rules=rows i] > tfoot > tr > td, table[rules=rows i] > tfoot > tr > th { border-width: 1px; border-style: none; } table[rules=cols i] > tr > td, table[rules=cols i] > tr > th, table[rules=cols i] > thead > tr > td, table[rules=cols i] > thead > tr > th, table[rules=cols i] > tbody > tr > td, table[rules=cols i] > tbody > tr > th, table[rules=cols i] > tfoot > tr > td, table[rules=cols i] > tfoot > tr > th { border-width: 1px; border-block-style: none; border-inline-style: solid; } table[rules=all i] > tr > td, table[rules=all i] > tr > th, table[rules=all i] > thead > tr > td, table[rules=all i] > thead > tr > th, table[rules=all i] > tbody > tr > td, table[rules=all i] > tbody > tr > th, table[rules=all i] > tfoot > tr > td, table[rules=all i] > tfoot > tr > th { border-width: 1px; border-style: solid; } </p> <p> table[rules=groups i] > colgroup { border-inline-width: 1px; border-inline-style: solid; } table[rules=groups i] > thead, table[rules=groups i] > tbody, table[rules=groups i] > tfoot { border-block-width: 1px; border-block-style: solid; } </p> <p> table[rules=rows i] > tr, table[rules=rows i] > thead > tr, table[rules=rows i] > tbody > tr, table[rules=rows i] > tfoot > tr { border-block-width: 1px; border-block-style: solid; } </p> <p> In [55590]quirks mode, the following rules are also expected to apply: @namespace "http://www.w3.org/1999/xhtml"; </p> <p> table { font-weight: initial; font-style: initial; font-variant: initial; font-size: initial; line-height: initial; white-space: initial; text-align: initial; } __________________________________________________________________ </p> <p> For the purposes of the CSS table model, the [55591]col element is expected to be treated as if it was present as many times as its [55592]span attribute [55593]specifies. </p> <p> For the purposes of the CSS table model, the [55594]colgroup element, if it contains no [55595]col element, is expected to be treated as if it had as many such children as its [55596]span attribute [55597]specifies. </p> <p> For the purposes of the CSS table model, the [55598]colspan and [55599]rowspan attributes on [55600]td and [55601]th elements are expected to [55602]provide the special knowledge regarding cells spanning rows and columns. </p> <p> In [55603]HTML documents, the following rules are also expected to apply: @namespace "http://www.w3.org/1999/xhtml"; </p> <p> :is(table, thead, tbody, tfoot, tr) > form { display: none !important; } __________________________________________________________________ </p> <p> The [55604]table element's [55605]cellspacing attribute [55606]maps to the pixel length property [55607]'border-spacing' on the element. </p> <p> The [55608]table element's [55609]cellpadding attribute [55610]maps to the pixel length properties [55611]'padding-top', [55612]'padding-right', [55613]'padding-bottom', and [55614]'padding-left' of any [55615]td and [55616]th elements that have corresponding [55617]cells in the [55618]table corresponding to the [55619]table element. </p> <p> The [55620]table element's [55621]height attribute [55622]maps to the dimension property [55623]'height' on the [55624]table element. </p> <p> The [55625]table element's [55626]width attribute [55627]maps to the dimension property (ignoring zero) [55628]'width' on the [55629]table element. </p> <p> The [55630]col element's [55631]width attribute [55632]maps to the dimension property [55633]'width' on the [55634]col element. </p> <p> The [55635]thead, [55636]tbody, and [55637]tfoot elements' [55638]height attribute [55639]maps to the dimension property [55640]'height' on the element. </p> <p> The [55641]tr element's [55642]height attribute [55643]maps to the dimension property [55644]'height' on the [55645]tr element. </p> <p> The [55646]td and [55647]th elements' [55648]height attributes [55649]map to the dimension property (ignoring zero) [55650]'height' on the element. </p> <p> The [55651]td and [55652]th elements' [55653]width attributes [55654]map to the dimension property (ignoring zero) [55655]'width' on the element. __________________________________________________________________ </p> <p> The [55656]thead, [55657]tbody, [55658]tfoot, [55659]tr, [55660]td, and [55661]th elements, when they have an align attribute whose value is an [55662]ASCII case-insensitive match for either the string "center" or the string "middle", are expected to center text within themselves, as if they had their [55663]'text-align' property set to 'center' in a [55664]presentational hint, and to [55665]align descendants to the center. </p> <p> The [55666]thead, [55667]tbody, [55668]tfoot, [55669]tr, [55670]td, and [55671]th elements, when they have an align attribute whose value is an [55672]ASCII case-insensitive match for the string "left", are expected to left-align text within themselves, as if they had their [55673]'text-align' property set to 'left' in a [55674]presentational hint, and to [55675]align descendants to the left. </p> <p> The [55676]thead, [55677]tbody, [55678]tfoot, [55679]tr, [55680]td, and [55681]th elements, when they have an align attribute whose value is an [55682]ASCII case-insensitive match for the string "right", are expected to right-align text within themselves, as if they had their [55683]'text-align' property set to 'right' in a [55684]presentational hint, and to [55685]align descendants to the right. </p> <p> The [55686]thead, [55687]tbody, [55688]tfoot, [55689]tr, [55690]td, and [55691]th elements, when they have an align attribute whose value is an [55692]ASCII case-insensitive match for the string "justify", are expected to full-justify text within themselves, as if they had their [55693]'text-align' property set to 'justify' in a [55694]presentational hint, and to [55695]align descendants to the left. </p> <p> User agents are expected to have a rule in their user agent style sheet that matches [55696]th elements that have a parent node whose [55697]computed value for the [55698]'text-align' property is its initial value, whose declaration block consists of just a single declaration that sets the [55699]'text-align' property to the value 'center'. __________________________________________________________________ </p> <p> When a [55700]table, [55701]thead, [55702]tbody, [55703]tfoot, [55704]tr, [55705]td, or [55706]th element has a [55707]background attribute set to a non-empty value, the new value is expected to be [55708]encoding-parsed-and-serialized relative to the element's [55709]node document, and if that does not return failure, the user agent is expected to treat the attribute as a [55710]presentational hint setting the element's [55711]'background-image' property to the return value. </p> <p> When a [55712]table, [55713]thead, [55714]tbody, [55715]tfoot, [55716]tr, [55717]td, or [55718]th element has a bgcolor attribute set, the new value is expected to be parsed using the [55719]rules for parsing a legacy color value, and if that does not return failure, the user agent is expected to treat the attribute as a [55720]presentational hint setting the element's [55721]'background-color' property to the resulting color. </p> <p> When a [55722]table element has a [55723]bordercolor attribute, its value is expected to be parsed using the [55724]rules for parsing a legacy color value, and if that does not return failure, the user agent is expected to treat the attribute as a [55725]presentational hint setting the element's [55726]'border-top-color', [55727]'border-right-color', [55728]'border-bottom-color', and [55729]'border-left-color' properties to the resulting color. __________________________________________________________________ </p> <p> The [55730]table element's [55731]border attribute [55732]maps to the pixel length properties [55733]'border-top-width', [55734]'border-right-width', [55735]'border-bottom-width', [55736]'border-left-width' on the element. If the attribute is present but parsing the attribute's value using the [55737]rules for parsing non-negative integers generates an error, a default value of 1px is expected to be used for that property instead. </p> <p> Rules marked "only if border is not equivalent to zero" in the CSS block above is expected to only be applied if the [55738]border attribute mentioned in the selectors for the rule is not only present but, when parsed using the [55739]rules for parsing non-negative integers, is also found to have a value other than zero or to generate an error. __________________________________________________________________ </p> <p> In [55740]quirks mode, a [55741]td element or a [55742]th element that has a [55743]nowrap attribute but also has a [55744]width attribute whose value, when parsed using the [55745]rules for parsing nonzero dimension values, is found to be a length (not an error or a number classified as a percentage), is expected to have a [55746]presentational hint setting the element's [55747]'white-space' property to 'normal', overriding the rule in the CSS block above that sets it to 'nowrap'. </p> <p> 15.3.9 Margin collapsing quirks </p> <p> A node is substantial if it is a text node that is not [55748]inter-element whitespace, or if it is an element node. </p> <p> A node is blank if it is an element that contains no [55749]substantial nodes. </p> <p> The elements with default margins are the following elements: [55750]blockquote, [55751]dir, [55752]dl, [55753]h1, [55754]h2, [55755]h3, [55756]h4, [55757]h5, [55758]h6, [55759]listing, [55760]menu, [55761]ol, [55762]p, [55763]plaintext, [55764]pre, [55765]ul, [55766]xmp </p> <p> In [55767]quirks mode, any [55768]element with default margins that is the [55769]child of a [55770]body, [55771]td, or [55772]th element and has no [55773]substantial previous siblings is expected to have a user-agent level style sheet rule that sets its [55774]'margin-block-start' property to zero. </p> <p> In [55775]quirks mode, any [55776]element with default margins that is the [55777]child of a [55778]body, [55779]td, or [55780]th element, has no [55781]substantial previous siblings, and is [55782]blank, is expected to have a user-agent level style sheet rule that sets its [55783]'margin-block-end' property to zero also. </p> <p> In [55784]quirks mode, any [55785]element with default margins that is the [55786]child of a [55787]td or [55788]th element, has no [55789]substantial following siblings, and is [55790]blank, is expected to have a user-agent level style sheet rule that sets its [55791]'margin-block-start' property to zero. </p> <p> In [55792]quirks mode, any [55793]p element that is the [55794]child of a [55795]td or [55796]th element and has no [55797]substantial following siblings, is expected to have a user-agent level style sheet rule that sets its [55798]'margin-block-end' property to zero. </p> <p> 15.3.10 Form controls </p> <p> @namespace "http://www.w3.org/1999/xhtml"; </p> <p> input, select, button, textarea { letter-spacing: initial; word-spacing: initial; line-height: initial; text-transform: initial; text-indent: initial; text-shadow: initial; appearance: auto; } </p> <p> input:not([type=image i], [type=range i], [type=checkbox i], [type=radio i]) { overflow: clip !important; overflow-clip-margin: 0 !important; } </p> <p> input, select, textarea { text-align: initial; } </p> <p> :autofill { field-sizing: fixed !important; } </p> <p> input:is([type=reset i], [type=button i], [type=submit i]), button { text-align: center; } </p> <p> input, button { display: inline-block; } </p> <p> input[type=hidden i], input[type=file i], input[type=image i] { appearance: none; } </p> <p> input:is([type=radio i], [type=checkbox i], [type=reset i], [type=button i], [type=submit i], [type=color i], [type=search i]), select, button { box-sizing: border-box; } </p> <p> textarea { white-space: pre-wrap; } </p> <p> In [55799]quirks mode, the following rules are also expected to apply: @namespace "http://www.w3.org/1999/xhtml"; </p> <p> input:not([type=image i]), textarea { box-sizing: border-box; } </p> <p> Each kind of form control is also described in the [55800]Widgets section, which describes the look and feel of the control. </p> <p> For [55801]input elements where the [55802]type attribute is not in the [55803]Hidden state or the [55804]Image Button state, and that are [55805]being rendered, are expected to act as follows: * The [55806]inner display type is always 'flow-root'. </p> <p> 15.3.11 The [55807]hr element </p> <p> @namespace "http://www.w3.org/1999/xhtml"; </p> <p> hr { color: gray; border-style: inset; border-width: 1px; margin-block: 0.5em; margin-inline: auto; overflow: hidden; } </p> <p> The following rules are also expected to apply, as [55808]presentational hints: @namespace "http://www.w3.org/1999/xhtml"; </p> <p> hr[align=left i] { margin-left: 0; margin-right: auto; } hr[align=right i] { margin-left: auto; margin-right: 0; } hr[align=center i] { margin-left: auto; margin-right: auto; } hr[color], hr[noshade] { border-style: solid; } </p> <p> If an [55809]hr element has either a [55810]color attribute or a [55811]noshade attribute, and furthermore also has a [55812]size attribute, and parsing that attribute's value using the [55813]rules for parsing non-negative integers doesn't generate an error, then the user agent is expected to use the parsed value divided by two as a pixel length for [55814]presentational hints for the properties [55815]'border-top-width', [55816]'border-right-width', [55817]'border-bottom-width', and [55818]'border-left-width' on the element. </p> <p> Otherwise, if an [55819]hr element has neither a [55820]color attribute nor a [55821]noshade attribute, but does have a [55822]size attribute, and parsing that attribute's value using the [55823]rules for parsing non-negative integers doesn't generate an error, then: if the parsed value is one, then the user agent is expected to use the attribute as a [55824]presentational hint setting the element's [55825]'border-bottom-width' to 0; otherwise, if the parsed value is greater than one, then the user agent is expected to use the parsed value minus two as a pixel length for [55826]presentational hints for the [55827]'height' property on the element. </p> <p> The [55828]width attribute on an [55829]hr element [55830]maps to the dimension property [55831]'width' on the element. </p> <p> When an [55832]hr element has a [55833]color attribute, its value is expected to be parsed using the [55834]rules for parsing a legacy color value, and if that does not return failure, the user agent is expected to treat the attribute as a [55835]presentational hint setting the element's [55836]'color' property to the resulting color. </p> <p> 15.3.12 The [55837]fieldset and [55838]legend elements </p> <p> @namespace "http://www.w3.org/1999/xhtml"; </p> <p> fieldset { display: block; margin-inline: 2px; border: groove 2px ThreeDFace; padding-block: 0.35em 0.625em; padding-inline: 0.75em; min-inline-size: min-content; } </p> <p> legend { padding-inline: 2px; } </p> <p> legend[align=left i] { justify-self: left; } </p> <p> legend[align=center i] { justify-self: center; } </p> <p> legend[align=right i] { justify-self: right; } </p> <p> The [55839]fieldset element, when it generates a [55840]CSS box, is expected to act as follows: * The element is expected to establish a new [55841]block formatting context. * The [55842]'display' property is expected to act as follows: + If the computed value of [55843]'display' is a value such that the [55844]outer display type is 'inline', then behave as 'inline-block'. + Otherwise, behave as 'flow-root'. This does not change the computed value. * If the element's box has a child box that matches the conditions in the list below, then the first such child box is the 'fieldset' element's rendered legend: + The child is a [55845]legend element. + The child's used value of [55846]'float' is 'none'. + The child's used value of [55847]'position' is not 'absolute' or 'fixed'. * If the element has a [55848]rendered legend, then the border is expected to not be painted behind the rectangle defined as follows, using the writing mode of the fieldset: 1. The block-start edge of the rectangle is the smaller of the block-start edge of the [55849]rendered legend's margin rectangle at its static position (ignoring transforms), and the block-start outer edge of the [55850]fieldset's border. 2. The block-end edge of the rectangle is the larger of the block-end edge of the [55851]rendered legend's margin rectangle at its static position (ignoring transforms), and the block-end outer edge of the [55852]fieldset's border. 3. The inline-start edge of the rectangle is the smaller of the inline-start edge of the [55853]rendered legend's border rectangle at its static position (ignoring transforms), and the inline-start outer edge of the [55854]fieldset's border. 4. The inline-end edge of the rectangle is the larger of the inline-end edge of the [55855]rendered legend's border rectangle at its static position (ignoring transforms), and the inline-end outer edge of the [55856]fieldset's border. * The space allocated for the element's border on the block-start side is expected to be the element's [55857]'border-block-start-width' or the [55858]rendered legend's margin box size in the [55859]fieldset's block-flow direction, whichever is greater. * For the purpose of calculating the used [55860]'block-size', if the computed [55861]'block-size' is not 'auto', the space allocated for the [55862]rendered legend's margin box that spills out past the border, if any, is expected to be subtracted from the [55863]'block-size'. If the content box's block-size would be negative, then let the content box's block-size be zero instead. * If the element has a [55864]rendered legend, then that element is expected to be the first child box. * The [55865]anonymous fieldset content box is expected to appear after the [55866]rendered legend and is expected to contain the content (including the '::before' and '::after' pseudo-elements) of the [55867]fieldset element except for the [55868]rendered legend, if there is one. * The used value of the [55869]'padding-top', [55870]'padding-right', [55871]'padding-bottom', and [55872]'padding-left' properties are expected to be zero. * For the purpose of calculating the min-content inline size, use the greater of the min-content inline size of the [55873]rendered legend and the min-content inline size of the [55874]anonymous fieldset content box. * For the purpose of calculating the max-content inline size, use the greater of the max-content inline size of the [55875]rendered legend and the max-content inline size of the [55876]anonymous fieldset content box. </p> <p> A [55877]fieldset element's [55878]rendered legend, if any, is expected to act as follows: * The element is expected to establish a new [55879]formatting context for its contents. The type of this [55880]formatting context is determined by its [55881]'display' value, as usual. * The [55882]'display' property is expected to behave as if its computed value was blockified. This does not change the computed value. * If the [55883]computed value of [55884]'inline-size' is 'auto', then the [55885]used value is the [55886]fit-content inline size. * The element is expected to be positioned in the inline direction as is normal for blocks (e.g., taking into account margins and the [55887]'justify-self' property). * The element's box is expected to be constrained in the inline direction by the inline content size of the [55888]fieldset as if it had used its computed inline padding. For example, if the [55889]fieldset has a specified padding of 50px, then the [55890]rendered legend will be positioned 50px in from the [55891]fieldset's border. The padding will further apply to the [55892]anonymous fieldset content box instead of the [55893]fieldset element itself. * The element is expected to be positioned in the block-flow direction such that its border box is centered over the border on the block-start side of the [55894]fieldset element. </p> <p> A [55895]fieldset element's anonymous fieldset content box is expected to act as follows: * The [55896]'display' property is expected to act as follows: + If the computed value of [55897]'display' on the [55898]fieldset element is 'grid' or 'inline-grid', then set the used value to 'grid'. + If the computed value of [55899]'display' on the [55900]fieldset element is 'flex' or 'inline-flex', then set the used value to 'flex'. + Otherwise, set the used value to 'flow-root'. * The following properties are expected to inherit from the [55901]fieldset element: + [55902]'align-content' + [55903]'align-items' + [55904]'border-radius' + [55905]'column-count' + [55906]'column-fill' + [55907]'column-gap' + [55908]'column-rule' + [55909]'column-width' + [55910]'flex-direction' + [55911]'flex-wrap' + [55912]'grid-auto-columns' + [55913]'grid-auto-flow' + [55914]'grid-auto-rows' + [55915]'grid-column-gap' + [55916]'grid-row-gap' + [55917]'grid-template-areas' + [55918]'grid-template-columns' + [55919]'grid-template-rows' + [55920]'justify-content' + [55921]'justify-items' + [55922]'overflow' + [55923]'padding-bottom' + [55924]'padding-left' + [55925]'padding-right' + [55926]'padding-top' + [55927]'text-overflow' + [55928]'unicode-bidi' * The [55929]'block-size' property is expected to be set to '100%'. * For the purpose of calculating percentage padding, act as if the padding was calculated for the [55930]fieldset element. </p> <p> fieldset's margin legend padding legend's margin padding anonymous fieldset content box content The legend is rendered over the top border, and the top border area reserves vertical space for the legend. The fieldset's top margin starts at the top margin edge of the legend. The legend's horizontal margins, or the [55931]'justify-self' property, gives its horizontal position. The [55932]anonymous fieldset content box appears below the legend. </p> <p> 15.4 Replaced elements </p> <p> The following elements can be [55933]replaced elements: [55934]audio, [55935]canvas, [55936]embed, [55937]iframe, [55938]img, [55939]input, [55940]object, and [55941]video. </p> <p> 15.4.1 Embedded content </p> <p> The [55942]embed, [55943]iframe, and [55944]video elements are expected to be treated as [55945]replaced elements. </p> <p> A [55946]canvas element that [55947]represents [55948]embedded content is expected to be treated as a [55949]replaced element; the contents of such elements are the element's bitmap, if any, or else a [55950]transparent black bitmap with the same [55951]natural dimensions as the element. Other [55952]canvas elements are expected to be treated as ordinary elements in the rendering model. </p> <p> An [55953]object element that [55954]represents an image, plugin, or its [55955]content navigable is expected to be treated as a [55956]replaced element. Other [55957]object elements are expected to be treated as ordinary elements in the rendering model. </p> <p> The [55958]audio element, when it is [55959]exposing a user interface, is expected to be treated as a [55960]replaced element about one line high, as wide as is necessary to expose the user agent's user interface features. When an [55961]audio element is not [55962]exposing a user interface, the user agent is expected to force its [55963]'display' property to compute to 'none', irrespective of CSS rules. </p> <p> Whether a [55964]video element is [55965]exposing a user interface is not expected to affect the size of the rendering; controls are expected to be overlaid above the page content without causing any layout changes, and are expected to disappear when the user does not need them. </p> <p> When a [55966]video element represents a poster frame or frame of video, the poster frame or frame of video is expected to be rendered at the largest size that maintains the aspect ratio of that poster frame or frame of video without being taller or wider than the [55967]video element itself, and is expected to be centered in the [55968]video element. </p> <p> Any subtitles or captions are expected to be overlaid directly on top of their [55969]video element, as defined by the relevant rendering rules; for WebVTT, those are the [55970]rules for updating the display of WebVTT text tracks. [55971][WEBVTT] </p> <p> When the user agent starts [55972]exposing a user interface for a [55973]video element, the user agent should run the [55974]rules for updating the text track rendering of each of the [55975]text tracks in the [55976]video element's [55977]list of text tracks that are [55978]showing and whose [55979]text track kind is one of [55980]subtitles or [55981]captions (e.g., for [55982]text tracks based on WebVTT, the [55983]rules for updating the display of WebVTT text tracks). [55984][WEBVTT] </p> <p> Resizing [55985]video and [55986]canvas elements does not interrupt video playback or clear the canvas. __________________________________________________________________ </p> <p> The following CSS rules are expected to apply: @namespace "http://www.w3.org/1999/xhtml"; </p> <p> iframe { border: 2px inset; } video { object-fit: contain; } </p> <p> 15.4.2 Images </p> <p> User agents are expected to render [55987]img elements and [55988]input elements whose [55989]type attributes are in the [55990]Image Button state, according to the first applicable rules from the following list: </p> <p> If the element [55991]represents an image The user agent is expected to treat the element as a [55992]replaced element and render the image according to the rules for doing so defined in CSS. </p> <p> If the element does not [55993]represent an image and either: </p> <p> + the user agent has reason to believe that the image will become [55994]available and be rendered in due course, or + the element has no alt attribute, or + the [55995]Document is in [55996]quirks mode, and the element already has [55997]natural dimensions (e.g., from the [55998]dimension attributes or CSS rules) </p> <p> The user agent is expected to treat the element as a [55999]replaced element whose content is the text that the element represents, if any, optionally alongside an icon indicating that the image is being obtained (if applicable). For [56000]input elements, the element is expected to appear button-like to indicate that the element is a [56001]button. </p> <p> If the element is an [56002]img element that [56003]represents some text and the user agent does not expect this to change The user agent is expected to treat the element as a non-replaced phrasing element whose content is the text, optionally with an icon indicating that an image is missing, so that the user can request the image be displayed or investigate why it is not rendering. In non-graphical contexts, such an icon should be omitted. </p> <p> If the element is an [56004]img element that [56005]represents nothing and the user agent does not expect this to change The user agent is expected to treat the element as a [56006]replaced element whose [56007]natural dimensions are 0. (In the absence of further styles, this will cause the element to essentially not be rendered.) </p> <p> If the element is an [56008]input element that does not [56009]represent an image and the user agent does not expect this to change The user agent is expected to treat the element as a [56010]replaced element consisting of a button whose content is the element's alternative text. The [56011]natural dimensions of the button are expected to be about one line in height and whatever width is necessary to render the text on one line. </p> <p> The icons mentioned above are expected to be relatively small so as not to disrupt most text but be easily clickable. In a visual environment, for instance, icons could be 16 pixels by 16 pixels square, or 1em by 1em if the images are scalable. In an audio environment, the icon could be a short bleep. The icons are intended to indicate to the user that they can be used to get to whatever options the UA provides for images, and, where appropriate, are expected to provide access to the context menu that would have come up if the user interacted with the actual image. __________________________________________________________________ </p> <p> All animated images with the same [56012]absolute URL and the same image data are expected to be rendered synchronized to the same timeline as a group, with the timeline starting at the time of the least recent addition to the group. </p> <p> In other words, when a second image with the same [56013]absolute URL and animated image data is inserted into a document, it jumps to the point in the animation cycle that is currently being displayed by the first image. </p> <p> When a user agent is to restart the animation for an [56014]img element showing an animated image, all animated images with the same [56015]absolute URL and the same image data in that [56016]img element's [56017]node document are expected to restart their animation from the beginning. __________________________________________________________________ </p> <p> The following CSS rules are expected to apply: @namespace "http://www.w3.org/1999/xhtml"; </p> <p> img:is([sizes="auto" i], [sizes^="auto," i]) { contain: size !important; contain-intrinsic-size: 300px 150px; } </p> <p> The following CSS rules are expected to apply when the [56018]Document is in [56019]quirks mode: @namespace "http://www.w3.org/1999/xhtml"; </p> <p> img[align=left i] { margin-right: 3px; } img[align=right i] { margin-left: 3px; } </p> <p> 15.4.3 Attributes for embedded content and images </p> <p> The following CSS rules are expected to apply as [56020]presentational hints: @namespace "http://www.w3.org/1999/xhtml"; </p> <p> embed[align=left i], iframe[align=left i], img[align=left i], input[type=image i][align=left i], object[align=left i] { float: left; } </p> <p> embed[align=right i], iframe[align=right i], img[align=right i], input[type=image i][align=right i], object[align=right i] { float: right; } </p> <p> embed[align=top i], iframe[align=top i], img[align=top i], input[type=image i][align=top i], object[align=top i] { vertical-align: top; } </p> <p> embed[align=baseline i], iframe[align=baseline i], img[align=baseline i], input[type=image i][align=baseline i], object[align=baseline i] { vertical-align: baseline; } </p> <p> embed[align=texttop i], iframe[align=texttop i], img[align=texttop i], input[type=image i][align=texttop i], object[align=texttop i] { vertical-align: text-top; } </p> <p> embed[align=absmiddle i], iframe[align=absmiddle i], img[align=absmiddle i], input[type=image i][align=absmiddle i], object[align=absmiddle i], embed[align=abscenter i], iframe[align=abscenter i], img[align=abscenter i], input[type=image i][align=abscenter i], object[align=abscenter i] { vertical-align: middle; } </p> <p> embed[align=bottom i], iframe[align=bottom i], img[align=bottom i], input[type=image i][align=bottom i], object[align=bottom i] { vertical-align: bottom; } </p> <p> When an [56021]embed, [56022]iframe, [56023]img, or [56024]object element, or an [56025]input element whose [56026]type attribute is in the [56027]Image Button state, has an align attribute whose value is an [56028]ASCII case-insensitive match for the string "center" or the string "middle", the user agent is expected to act as if the element's [56029]'vertical-align' property was set to a value that aligns the vertical middle of the element with the parent element's baseline. </p> <p> The hspace attribute of [56030]embed, [56031]img, or [56032]object elements, and [56033]input elements with a [56034]type attribute in the [56035]Image Button state, [56036]maps to the dimension properties [56037]'margin-left' and [56038]'margin-right' on the element. </p> <p> The vspace attribute of [56039]embed, [56040]img, or [56041]object elements, and [56042]input elements with a [56043]type attribute in the [56044]Image Button state, [56045]maps to the dimension properties [56046]'margin-top' and [56047]'margin-bottom' on the element. </p> <p> When an [56048]iframe element has a [56049]frameborder attribute whose value, when parsed using the [56050]rules for parsing integers, is zero or an error, the user agent is expected to have [56051]presentational hints setting the element's [56052]'border-top-width', [56053]'border-right-width', [56054]'border-bottom-width', and [56055]'border-left-width' properties to zero. </p> <p> When an [56056]img element, [56057]object element, or [56058]input element with a [56059]type attribute in the [56060]Image Button state has a border attribute whose value, when parsed using the [56061]rules for parsing non-negative integers, is found to be a number greater than zero, the user agent is expected to use the parsed value for eight [56062]presentational hints: four setting the parsed value as a pixel length for the element's [56063]'border-top-width', [56064]'border-right-width', [56065]'border-bottom-width', and [56066]'border-left-width' properties, and four setting the element's [56067]'border-top-style', [56068]'border-right-style', [56069]'border-bottom-style', and [56070]'border-left-style' properties to the value 'solid'. </p> <p> The [56071]width and [56072]height attributes on an [56073]img element's [56074]dimension attribute source [56075]map to the dimension properties [56076]'width' and [56077]'height' on the [56078]img element respectively. They similarly [56079]map to the aspect-ratio property (using dimension rules) of the [56080]img element. </p> <p> The [56081]width and [56082]height attributes on [56083]embed, [56084]iframe, [56085]object, and [56086]video elements, and [56087]input elements with a [56088]type attribute in the [56089]Image Button state and that either represents an image or that the user expects will eventually represent an image, [56090]map to the dimension properties [56091]'width' and [56092]'height' on the element respectively. </p> <p> The [56093]width and [56094]height attributes [56095]map to the aspect-ratio property (using dimension rules) on [56096]img and [56097]video elements, and [56098]input elements with a [56099]type attribute in the [56100]Image Button state. </p> <p> The [56101]width and [56102]height attributes [56103]map to the aspect-ratio property on [56104]canvas elements. </p> <p> 15.4.4 Image maps </p> <p> Shapes on an [56105]image map are expected to act, for the purpose of the CSS cascade, as elements independent of the original [56106]area element that happen to match the same style rules but inherit from the [56107]img or [56108]object element. </p> <p> For the purposes of the rendering, only the [56109]'cursor' property is expected to have any effect on the shape. </p> <p> Thus, for example, if an [56110]area element has a [56111]style attribute that sets the [56112]'cursor' property to 'help', then when the user designates that shape, the cursor would change to a Help cursor. </p> <p> Similarly, if an [56113]area element had a CSS rule that set its [56114]'cursor' property to 'inherit' (or if no rule setting the [56115]'cursor' property matched the element at all), the shape's cursor would be inherited from the [56116]img or [56117]object element of the [56118]image map, not from the parent of the [56119]area element. </p> <p> 15.5 Widgets </p> <p> 15.5.1 Native appearance </p> <p> The CSS Basic User Interface specification calls elements that can have a [56120]native appearance [56121]widgets, and defines whether to use that [56122]native appearance depending on the [56123]'appearance' property. That logic, in turn, depends on whether each the element is classified as a [56124]devolvable widget or [56125]non-devolvable widget. This section defines which elements match these concepts for HTML, what their [56126]native appearance is, and any particularity of their [56127]devolved state or [56128]primitive appearance. [56129][CSSUI] </p> <p> The following elements can have a [56130]native appearance for the purpose of the CSS [56131]'appearance' property. * [56132]button * [56133]input * [56134]meter * [56135]progress * [56136]select * [56137]textarea </p> <p> 15.5.2 Writing mode </p> <p> Several widgets have their rendering controlled by the [56138]'writing-mode' CSS property. For the purposes of those widgets, we have the following definitions. </p> <p> A horizontal writing mode is when resolving the [56139]'writing-mode' property of the control results in a computed value of 'horizontal-tb'. </p> <p> A vertical writing mode is when resolving the [56140]'writing-mode' property of the control results in a computed value of either 'vertical-rl', 'vertical-lr', 'sideways-rl' or 'sideways-lr'. </p> <p> 15.5.3 Button layout </p> <p> When an element uses [56141]button layout, it is a [56142]devolvable widget, and it's [56143]native appearance is that of a button. </p> <p> Button layout is as follows: * If the element is a [56144]button element, then the [56145]'display' property is expected to act as follows: + If the computed value of [56146]'display' is 'inline-grid', 'grid', 'inline-flex', 'flex', 'none', or 'contents', then behave as the computed value. + Otherwise, if the computed value of [56147]'display' is a value such that the [56148]outer display type is 'inline', then behave as 'inline-block'. + Otherwise, behave as 'flow-root'. * The element is expected to establish a new [56149]formatting context for its contents. The type of this formatting context is determined by its [56150]'display' value, as usual. * If the element is [56151]absolutely-positioned, then for the purpose of the [56152]CSS visual formatting model, act as if the element is a [56153]replaced element. [56154][CSS] * If the [56155]computed value of [56156]'inline-size' is 'auto', then the [56157]used value is the [56158]fit-content inline size. * For the purpose of the 'normal' keyword of the [56159]'align-self' property, act as if the element is a replaced element. * If the element is an [56160]input element, or if it is a [56161]button element and its computed value for [56162]'display' is not 'inline-grid', 'grid', 'inline-flex', or 'flex', then the element's box has a child anonymous button content box with the following behaviors: + The box is a [56163]block-level [56164]block container that establishes a new [56165]block formatting context (i.e., [56166]'display' is 'flow-root'). + If the box does not overflow in the horizontal axis, then it is centered horizontally. + If the box does not overflow in the vertical axis, then it is centered vertically. Otherwise, there is no [56167]anonymous button content box. </p> <p> Need to define the expected [56168]primitive appearance. </p> <p> 15.5.4 The [56169]button element </p> <p> The [56170]button element, when it generates a [56171]CSS box, is expected to depict a button and to use [56172]button layout whose [56173]anonymous button content box's contents (if there is an [56174]anonymous button content box) are the child boxes the element's box would otherwise have. </p> <p> 15.5.5 The [56175]details and [56176]summary elements </p> <p> @namespace "http://www.w3.org/1999/xhtml"; </p> <p> details, summary { display: block; } details > summary:first-of-type { display: list-item; counter-increment: list-item 0; list-style: disclosure-closed inside; } details[open] > summary:first-of-type { list-style-type: disclosure-open; } </p> <p> The [56177]details element is expected to have an internal [56178]shadow tree with three child elements: 1. The first child element is a [56179]slot that is expected to take the [56180]details element's first [56181]summary element child, if any. This element has a single child [56182]summary element called the default summary which has text content that is [56183]implementation-defined (and probably locale-specific). The [56184]summary element that this slot [56185]represents is expected to allow the user to request the details be shown or hidden. 2. The second child element is a [56186]slot that is expected to take the [56187]details element's remaining descendants, if any. This element has no contents. This element is expected to match the [56188]'::details-content' pseudo-element. This element is expected to have its [56189]style attribute set to "display: block; content-visibility: hidden;" when the [56190]details element does not have an [56191]open attribute. When it does have the [56192]open attribute, the [56193]style attribute is expected to be set to "display: block;". Because the slots are hidden inside a shadow tree, this [56194]style attribute is not directly visible to author code. Its impacts, however, are visible. Notably, the choice of content-visibility: hidden instead of, e.g., display: none, impacts the results of various APIs that query layout information. 3. The third child element is either a [56195]link or [56196]style element with the following styles for the [56197]default summary: :host summary { display: list-item; counter-increment: list-item 0; list-style: disclosure-closed inside; } :host([open]) summary { list-style-type: disclosure-open; } The position of this child element relative to the other two is not observable. This means that implementations might have it in a different order relative to its siblings. Implementations might even associate the style with the shadow tree using a mechanism that is not an element. </p> <p> The structure of this shadow tree is observable through the ways that the children of the [56198]details element and the '::details-content' pseudo-element respond to CSS styles. </p> <p> 15.5.6 The [56199]input element as a text entry widget </p> <p> An [56200]input element whose [56201]type attribute is in the [56202]Text, [56203]Telephone, [56204]URL, or [56205]Email state, is a [56206]devolvable widget. Its expected [56207]native appearance is to render as an [56208]'inline-block' box depicting a one-line text control. </p> <p> An [56209]input element whose [56210]type attribute is in the [56211]Search state is a [56212]devolvable widget. Its expected [56213]native appearance is to render as an [56214]'inline-block' box depicting a one-line text control. If the [56215]computed value of the element's [56216]'appearance' property is not [56217]'textfield', it may have a distinct style indicating that it is a search field. </p> <p> An [56218]input element whose [56219]type attribute is in the [56220]Password state is a [56221]devolvable widget. Its expected [56222]native appearance is to render as an [56223]'inline-block' box depicting a one-line text control that obscures data entry. </p> <p> For [56224]input elements whose [56225]type attribute is in one of the above states, the [56226]used value of the [56227]'line-height' property must be a length value that is no smaller than what the [56228]used value would be for 'line-height: normal'. </p> <p> The [56229]used value will not be the actual keyword 'normal'. Also, this rule does not affect the [56230]computed value. </p> <p> If these text controls provide a text selection, then, when the user changes the current selection, the user agent is expected to [56231]queue an element task on the [56232]user interaction task source given the [56233]input element to [56234]fire an event named [56235]select at the element, with the [56236]bubbles attribute initialized to true. </p> <p> An [56237]input element whose [56238]type attribute is in one of the above states is an [56239]element with default preferred size, and user agents are expected to apply the [56240]'field-sizing' CSS property to the element. User agents are expected to determine the [56241]inline size of its [56242]intrinsic size by the following steps: 1. If the [56243]'field-sizing' property on the element has a [56244]computed value of [56245]'content', the [56246]inline size is determined by the text which the element shows. The text is either a [56247]value or a short hint specified by the [56248]placeholder attribute. User agents may take the text caret size into account in the [56249]inline size. 2. If the element has a [56250]size attribute, and parsing that attribute's value using the [56251]rules for parsing non-negative integers doesn't generate an error, return the value obtained from applying the [56252]converting a character width to pixels algorithm to the value of the attribute. 3. Otherwise, return the value obtained from applying the [56253]converting a character width to pixels algorithm to the number 20. </p> <p> The converting a character width to pixels algorithm returns (size-1)×avg + max, where size is the character width to convert, avg is the average character width of the primary font for the element for which the algorithm is being run, in pixels, and max is the maximum character width of that same font, also in pixels. (The element's [56254]'letter-spacing' property does not affect the result.) </p> <p> These text controls are expected to be [56255]scroll containers and support scrolling in the [56256]inline axis, but not the [56257]block axis. </p> <p> Need to detail the expected [56258]native appearance and [56259]primitive appearance. </p> <p> 15.5.7 The [56260]input element as domain-specific widgets </p> <p> An [56261]input element whose [56262]type attribute is in the [56263]Date state is a [56264]devolvable widget expected to render as an [56265]'inline-block' box depicting a date control. </p> <p> An [56266]input element whose [56267]type attribute is in the [56268]Month state is a [56269]devolvable widget expected to render as an [56270]'inline-block' box depicting a month control. </p> <p> An [56271]input element whose [56272]type attribute is in the [56273]Week state is a [56274]devolvable widget expected to render as an [56275]'inline-block' box depicting a week control. </p> <p> An [56276]input element whose [56277]type attribute is in the [56278]Time state is a [56279]devolvable widget expected to render as an [56280]'inline-block' box depicting a time control. </p> <p> An [56281]input element whose [56282]type attribute is in the [56283]Local Date and Time state is a [56284]devolvable widget expected to render as an [56285]'inline-block' box depicting a local date and time control. </p> <p> An [56286]input element whose [56287]type attribute is in the [56288]Number state is a [56289]devolvable widget expected to render as an [56290]'inline-block' box depicting a number control. </p> <p> An [56291]input element whose [56292]type attribute is in the [56293]Number state is an [56294]element with default preferred size, and user agents are expected to apply the [56295]'field-sizing' CSS property to the element. The [56296]block size of the [56297]intrinsic size is about one line high. If the [56298]'field-sizing' property on the element has a [56299]computed value of [56300]'content', the [56301]inline size of the [56302]intrinsic size is expected to be about as wide as necessary to show the current [56303]value. Otherwise, the [56304]inline size of the [56305]intrinsic size is expected to be about as wide as necessary to show the widest possible value. </p> <p> An [56306]input element whose [56307]type attribute is in the [56308]Date, [56309]Month, [56310]Week, [56311]Time, or [56312]Local Date and Time state, is expected to be about one line high, and about as wide as necessary to show the widest possible value. </p> <p> Need to detail the expected [56313]native appearance and [56314]primitive appearance. </p> <p> 15.5.8 The [56315]input element as a range control </p> <p> An [56316]input element whose [56317]type attribute is in the [56318]Range state is a [56319]non-devolvable widget. Its expected [56320]native appearance is to render as an [56321]'inline-block' box depicting a slider control. </p> <p> When this control has a [56322]horizontal writing mode, the control is expected to be a horizontal slider. Its lowest value is on the right if the [56323]'direction' property has a [56324]computed value of 'rtl', and on the left otherwise. When this control has a [56325]vertical writing mode, it is expected to be a vertical slider. Its lowest value is on the bottom if the [56326]'direction' property has a [56327]computed value of 'rtl', and on the top otherwise. </p> <p> Predefined suggested values (provided by the [56328]list attribute) are expected to be shown as tick marks on the slider, which the slider can snap to. </p> <p> Need to detail the expected [56329]primitive appearance. </p> <p> 15.5.9 The [56330]input element as a color well </p> <p> An [56331]input element whose [56332]type attribute is in the [56333]Color state is expected to depict a color well, which, when activated, provides the user with a color picker (e.g. a color wheel or color palette) from which the color can be changed. The element, when it generates a [56334]CSS box, is expected to use [56335]button layout, that has no child boxes of the [56336]anonymous button content box. The [56337]anonymous button content box is expected to have a [56338]presentational hint setting the [56339]'background-color' property to the element's [56340]value. </p> <p> Predefined suggested values (provided by the [56341]list attribute) are expected to be shown in the color picker interface, not on the color well itself. </p> <p> Need to detail the expected [56342]native appearance and [56343]primitive appearance. </p> <p> 15.5.10 The [56344]input element as a checkbox and radio button widgets </p> <p> An [56345]input element whose [56346]type attribute is in the [56347]Checkbox state is a [56348]non-devolvable widget expected to render as an [56349]'inline-block' box containing a single checkbox control, with no label. </p> <p> Need to detail the expected [56350]native appearance and [56351]primitive appearance. </p> <p> An [56352]input element whose [56353]type attribute is in the [56354]Radio Button state is a [56355]non-devolvable widget expected to render as an [56356]'inline-block' box containing a single radio button control, with no label. </p> <p> Need to detail the expected [56357]native appearance and [56358]primitive appearance. </p> <p> 15.5.11 The [56359]input element as a file upload control </p> <p> An [56360]input element whose [56361]type attribute is in the [56362]File Upload state, when it generates a [56363]CSS box, is expected to render as an [56364]'inline-block' box containing a span of text giving the filename(s) of the [56365]selected files, if any, followed by a button that, when activated, provides the user with a file picker from which the selection can be changed. The button is expected to use [56366]button layout and match the [56367]'::file-selector-button' pseudo-element. The contents of its [56368]anonymous button content box are expected to be [56369]implementation-defined (and possibly locale-specific) text, for example "Choose file". </p> <p> User agents may handle an [56370]input element whose [56371]type attribute is in the [56372]File Upload state as an [56373]element with default preferred size, and user agents may apply the [56374]'field-sizing' CSS property to the element. If the [56375]'field-sizing' property on the element has a [56376]computed value of [56377]'content', the [56378]intrinsic size of the element is expected to depend on its content such as the [56379]'::file-selector-button' pseudo-element and chosen file names. </p> <p> 15.5.12 The [56380]input element as a button </p> <p> An [56381]input element whose [56382]type attribute is in the [56383]Submit Button, [56384]Reset Button, or [56385]Button state, when it generates a [56386]CSS box, is expected to depict a button and use [56387]button layout and the contents of the [56388]anonymous button content box are expected to be the text of the element's [56389]value attribute, if any, or text derived from the element's [56390]type attribute in an [56391]implementation-defined (and probably locale-specific) fashion, if not. </p> <p> 15.5.13 The [56392]marquee element </p> <p> @namespace "http://www.w3.org/1999/xhtml"; </p> <p> marquee { display: inline-block; text-align: initial; overflow: hidden !important; } </p> <p> The [56393]marquee element, while [56394]turned on, is expected to render in an animated fashion according to its attributes as follows: </p> <p> If the element's [56395]behavior attribute is in the [56396]scroll state Slide the contents of the element in the direction described by the [56397]direction attribute as defined below, such that it begins off the start side of the [56398]marquee, and ends flush with the inner end side. </p> <p> For example, if the [56399]direction attribute is [56400]left (the default), then the contents would start such that their left edge are off the side of the right edge of the [56401]marquee's [56402]content area, and the contents would then slide up to the point where the left edge of the contents are flush with the left inner edge of the [56403]marquee's [56404]content area. </p> <p> Once the animation has ended, the user agent is expected to [56405]increment the marquee current loop index. If the element is still [56406]turned on after this, then the user agent is expected to restart the animation. </p> <p> If the element's [56407]behavior attribute is in the [56408]slide state Slide the contents of the element in the direction described by the [56409]direction attribute as defined below, such that it begins off the start side of the [56410]marquee, and ends off the end side of the [56411]marquee. </p> <p> For example, if the [56412]direction attribute is [56413]left (the default), then the contents would start such that their left edge are off the side of the right edge of the [56414]marquee's [56415]content area, and the contents would then slide up to the point where the right edge of the contents are flush with the left inner edge of the [56416]marquee's [56417]content area. </p> <p> Once the animation has ended, the user agent is expected to [56418]increment the marquee current loop index. If the element is still [56419]turned on after this, then the user agent is expected to restart the animation. </p> <p> If the element's [56420]behavior attribute is in the [56421]alternate state When the [56422]marquee current loop index is even (or zero), slide the contents of the element in the direction described by the [56423]direction attribute as defined below, such that it begins flush with the start side of the [56424]marquee, and ends flush with the end side of the [56425]marquee. </p> <p> When the [56426]marquee current loop index is odd, slide the contents of the element in the opposite direction than that described by the [56427]direction attribute as defined below, such that it begins flush with the end side of the [56428]marquee, and ends flush with the start side of the [56429]marquee. </p> <p> For example, if the [56430]direction attribute is [56431]left (the default), then the contents would with their right edge flush with the right inner edge of the [56432]marquee's [56433]content area, and the contents would then slide up to the point where the left edge of the contents are flush with the left inner edge of the [56434]marquee's [56435]content area. </p> <p> Once the animation has ended, the user agent is expected to [56436]increment the marquee current loop index. If the element is still [56437]turned on after this, then the user agent is expected to continue the animation. </p> <p> The [56438]direction attribute has the meanings described in the following table: </p> <p> [56439]direction attribute state Direction of animation Start edge End edge Opposite direction [56440]left ← Right to left Right Left → Left to Right [56441]right → Left to Right Left Right ← Right to left [56442]up ↑ Up (Bottom to Top) Bottom Top ↓ Down (Top to Bottom) [56443]down ↓ Down (Top to Bottom) Top Bottom ↑ Up (Bottom to Top) </p> <p> In any case, the animation should proceed such that there is a delay given by the [56444]marquee scroll interval between each frame, and such that the content moves at most the distance given by the [56445]marquee scroll distance with each frame. </p> <p> When a [56446]marquee element has a bgcolor attribute set, the value is expected to be parsed using the [56447]rules for parsing a legacy color value, and if that does not return failure, the user agent is expected to treat the attribute as a [56448]presentational hint setting the element's [56449]'background-color' property to the resulting color. </p> <p> The width and height attributes on a [56450]marquee element [56451]map to the dimension properties [56452]'width' and [56453]'height' on the element respectively. </p> <p> The [56454]natural height of a [56455]marquee element with its [56456]direction attribute in the [56457]up or [56458]down states is 200 [56459]CSS pixels. </p> <p> The vspace attribute of a [56460]marquee element [56461]maps to the dimension properties [56462]'margin-top' and [56463]'margin-bottom' on the element. The hspace attribute of a [56464]marquee element [56465]maps to the dimension properties [56466]'margin-left' and [56467]'margin-right' on the element. </p> <p> 15.5.14 The [56468]meter element </p> <p> @namespace "http://www.w3.org/1999/xhtml"; </p> <p> meter { appearance: auto; } </p> <p> The [56469]meter element is a [56470]devolvable widget. Its expected [56471]native appearance is to render as an [56472]'inline-block' box with a [56473]'block-size' of '1em' and a [56474]'inline-size' of '5em', a [56475]'vertical-align' of '-0.2em', and with its contents depicting a gauge. </p> <p> When this element has a [56476]horizontal writing mode, the depiction is expected to be of a horizontal gauge. Its minimum value is on the right if the [56477]'direction' property has a [56478]computed value of 'rtl', and on the left otherwise. When this element has a [56479]vertical writing mode, it is expected to depict a vertical gauge. Its minimum value is on the bottom if the [56480]'direction' property has a [56481]computed value of 'rtl', and on the top otherwise. </p> <p> User agents are expected to use a presentation consistent with platform conventions for gauges, if any. </p> <p> Requirements for what must be depicted in the gauge are included in the definition of the [56482]meter element. </p> <p> Need to detail the expected [56483]primitive appearance. </p> <p> 15.5.15 The [56484]progress element </p> <p> @namespace "http://www.w3.org/1999/xhtml"; </p> <p> progress { appearance: auto; } </p> <p> The [56485]progress element is a [56486]devolvable widget. Its expected [56487]native appearance is to render as an [56488]'inline-block' box with a [56489]'block-size' of '1em' and a [56490]'inline-size' of '10em', and a [56491]'vertical-align' of '-0.2em'. </p> <p> When the this element has a [56492]horizontal writing mode, the element is expected to be depicted as a horizontal progress bar. The start is on the right and the end is on the left if the [56493]'direction' property on this element has a [56494]computed value of 'rtl', and with the start on the left and the end on the right otherwise. When this element has a [56495]vertical writing mode, it is expected to be depicted as a vertical progress bar. The start is on the bottom and the end is on the top if the [56496]'direction' property on this element has a [56497]computed value of 'rtl', and with the start on the top and the end on the bottom otherwise. </p> <p> User agents are expected to use a presentation consistent with platform conventions for progress bars. In particular, user agents are expected to use different presentations for determinate and indeterminate progress bars. User agents are also expected to vary the presentation based on the dimensions of the element. </p> <p> Requirements for how to determine if the progress bar is determinate or indeterminate, and what progress a determinate progress bar is to show, are included in the definition of the [56498]progress element. </p> <p> Need to detail the expected [56499]primitive appearance. </p> <p> 15.5.16 The [56500]select element </p> <p> The [56501]select element is an [56502]element with default preferred size, and user agents are expected to apply the [56503]'field-sizing' CSS property to [56504]select elements. </p> <p> A [56505]select element is either a list box or a drop-down box, depending on its attributes. </p> <p> A [56506]select element whose [56507]multiple attribute is present is expected to render as a multi-select [56508]list box. </p> <p> A [56509]select element whose [56510]multiple attribute is absent, and whose [56511]display size is greater than 1, is expected to render as a single-select [56512]list box. </p> <p> When the element renders as a [56513]list box, it is a [56514]devolvable widget expected to render as an [56515]'inline-block' box. The [56516]inline size of its [56517]intrinsic size is the [56518]width of the select's labels plus the width of a scrollbar. The [56519]block size of its [56520]intrinsic size is determined by the following steps: 1. If the [56521]'field-sizing' property on the element has a [56522]computed value of [56523]'content', return the height necessary to contain all rows for items. 2. If the [56524]size attribute is absent or it has no valid value, return the height necessary to contain four rows. 3. Otherwise, return the height necessary to contain as many rows for items as given by the element's [56525]display size. </p> <p> A [56526]select element whose [56527]multiple attribute is absent, and whose [56528]display size is 1, is expected to render as an [56529]'inline-block' one-line [56530]drop-down box. The [56531]inline size of its [56532]intrinsic size is the [56533]width of the select's labels. If the [56534]'field-sizing' property on the element has a [56535]computed value of [56536]'content', the [56537]inline size of the [56538]intrinsic size depends on the shown text. The shown text is typically the label of an [56539]option of which [56540]selectedness is set to true. </p> <p> When the element renders as a [56541]drop-down box, it is a [56542]devolvable widget. Its appearance in the devolved state, as well as its appearance when the [56543]computed value of the element's [56544]'appearance' property is [56545]'menulist-button', is that of a drop-down box, including a "drop-down button", but not necessarily rendered using a native control of the host operating system. In such a state, CSS properties such as [56546]'color', [56547]'background-color', and 'border' should not be disregarded (as is generally permissible when rendering an element according to its [56548]native appearance). </p> <p> In either case ([56549]list box or [56550]drop-down box), the element's items are expected to be the element's [56551]list of options, with the element's [56552]optgroup element [56553]children providing headers for groups of options where applicable. </p> <p> An [56554]optgroup element is expected to be rendered by displaying the element's [56555]label attribute. </p> <p> An [56556]option element is expected to be rendered by displaying the element's [56557]label, indented under its [56558]optgroup element if it has one. </p> <p> Each sequence of one or more child [56559]hr element siblings may be rendered as a single separator. </p> <p> The width of the select's labels is the wider of the width necessary to render the widest [56560]optgroup, and the width necessary to render the widest [56561]option element in the element's [56562]list of options (including its indent, if any). </p> <p> If a [56563]select element contains a [56564]placeholder label option, the user agent is expected to render that [56565]option in a manner that conveys that it is a label, rather than a valid option of the control. This can include preventing the [56566]placeholder label option from being explicitly selected by the user. When the [56567]placeholder label option's [56568]selectedness is true, the control is expected to be displayed in a fashion that indicates that no valid option is currently selected. </p> <p> User agents are expected to render the labels in a [56569]select in such a manner that any alignment remains consistent whether the label is being displayed as part of the page or in a menu control. </p> <p> Need to detail the expected [56570]native appearance and [56571]primitive appearance. </p> <p> 15.5.17 The [56572]textarea element </p> <p> The [56573]textarea element is a [56574]devolvable widget expected to render as an [56575]'inline-block' box depicting a multiline text control. If this multiline text control provides a selection, then, when the user changes the current selection, the user agent is expected to [56576]queue an element task on the [56577]user interaction task source given the [56578]textarea element to [56579]fire an event named [56580]select at the element, with the [56581]bubbles attribute initialized to true. </p> <p> The [56582]textarea element is an [56583]element with default preferred size, and user agents are expected to apply the [56584]'field-sizing' CSS property to [56585]textarea elements. </p> <p> If the [56586]'field-sizing' property on the element has a [56587]computed value of [56588]'content', the [56589]intrinsic size is determined from the text which the element shows. The text is either a [56590]raw value or a short hint specified by the [56591]placeholder attribute. User agents may take the text caret size into account in the [56592]intrinsic size. Otherwise, its [56593]intrinsic size is computed from [56594]textarea effective width and [56595]textarea effective height (as defined below). </p> <p> The textarea effective width of a [56596]textarea element is size×avg + sbw, where size is the element's [56597]character width, avg is the average character width of the primary font of the element, in [56598]CSS pixels, and sbw is the width of a scrollbar, in [56599]CSS pixels. (The element's [56600]'letter-spacing' property does not affect the result.) </p> <p> The textarea effective height of a [56601]textarea element is the height in [56602]CSS pixels of the number of lines specified the element's [56603]character height, plus the height of a scrollbar in [56604]CSS pixels. </p> <p> User agents are expected to apply the [56605]'white-space' CSS property to [56606]textarea elements. For historical reasons, if the element has a [56607]wrap attribute whose value is an [56608]ASCII case-insensitive match for the string "off", then the user agent is expected to treat the attribute as a [56609]presentational hint setting the element's [56610]'white-space' property to 'pre'. </p> <p> Need to detail the expected [56611]native appearance and [56612]primitive appearance. </p> <p> 15.6 Frames and framesets </p> <p> User agents are expected to render [56613]frameset elements as a box with the height and width of the [56614]viewport, with a surface rendered according to the following layout algorithm: 1. The cols and rows variables are lists of zero or more pairs consisting of a number and a unit, the unit being one of percentage, relative, and absolute. Use the [56615]rules for parsing a list of dimensions to parse the value of the element's cols attribute, if there is one. Let cols be the result, or an empty list if there is no such attribute. Use the [56616]rules for parsing a list of dimensions to parse the value of the element's rows attribute, if there is one. Let rows be the result, or an empty list if there is no such attribute. 2. For any of the entries in cols or rows that have the number zero and the unit relative, change the entry's number to one. 3. If cols has no entries, then add a single entry consisting of the value 1 and the unit relative to cols. If rows has no entries, then add a single entry consisting of the value 1 and the unit relative to rows. 4. Invoke the algorithm defined below to [56617]convert a list of dimensions to a list of pixel values using cols as the input list, and the width of the surface that the [56618]frameset is being rendered into, in [56619]CSS pixels, as the input dimension. Let sized cols be the resulting list. Invoke the algorithm defined below to [56620]convert a list of dimensions to a list of pixel values using rows as the input list, and the height of the surface that the [56621]frameset is being rendered into, in [56622]CSS pixels, as the input dimension. Let sized rows be the resulting list. 5. Split the surface into a grid of w×h rectangles, where w is the number of entries in sized cols and h is the number of entries in sized rows. Size the columns so that each column in the grid is as many [56623]CSS pixels wide as the corresponding entry in the sized cols list. Size the rows so that each row in the grid is as many [56624]CSS pixels high as the corresponding entry in the sized rows list. 6. Let children be the list of [56625]frame and [56626]frameset elements that are [56627]children of the [56628]frameset element for which the algorithm was invoked. 7. For each row of the grid of rectangles created in the previous step, from top to bottom, run these substeps: 1. For each rectangle in the row, from left to right, run these substeps: 1. If there are any elements left in children, take the first element in the list, and assign it to the rectangle. If this is a [56629]frameset element, then recurse the entire [56630]frameset layout algorithm for that [56631]frameset element, with the rectangle as the surface. Otherwise, it is a [56632]frame element; render its [56633]content navigable, positioned and sized to fit the rectangle. 2. If there are any elements left in children, remove the first element from children. 8. If the [56634]frameset element [56635]has a border, draw an outer set of borders around the rectangles, using the element's [56636]frame border color. For each rectangle, if there is an element assigned to that rectangle, and that element [56637]has a border, draw an inner set of borders around that rectangle, using the element's [56638]frame border color. For each (visible) border that does not abut a rectangle that is assigned a [56639]frame element with a noresize attribute (including rectangles in further nested [56640]frameset elements), the user agent is expected to allow the user to move the border, resizing the rectangles within, keeping the proportions of any nested [56641]frameset grids. A [56642]frameset or [56643]frame element has a border if the following algorithm returns true: 1. If the element has a frameborder attribute whose value is not the empty string and whose first character is either a U+0031 DIGIT ONE (1) character, a U+0079 LATIN SMALL LETTER Y character (y), or a U+0059 LATIN CAPITAL LETTER Y character (Y), then return true. 2. Otherwise, if the element has a frameborder attribute, return false. 3. Otherwise, if the element has a parent element that is a [56644]frameset element, then return true if that element [56645]has a border, and false if it does not. 4. Otherwise, return true. The frame border color of a [56646]frameset or [56647]frame element is the color obtained from the following algorithm: 1. If the element has a bordercolor attribute, and applying the [56648]rules for parsing a legacy color value to that attribute's value does not return failure, then return the color so obtained. 2. Otherwise, if the element has a parent element that is a [56649]frameset element, then return the [56650]frame border color of that element. 3. Otherwise, return gray. </p> <p> The algorithm to convert a list of dimensions to a list of pixel values consists of the following steps: 1. Let input list be the list of numbers and units passed to the algorithm. Let output list be a list of numbers the same length as input list, all zero. Entries in output list correspond to the entries in input list that have the same position. 2. Let input dimension be the size passed to the algorithm. 3. Let total percentage be the sum of all the numbers in input list whose unit is percentage. Let total relative be the sum of all the numbers in input list whose unit is relative. Let total absolute be the sum of all the numbers in input list whose unit is absolute. Let remaining space be the value of input dimension. 4. If total absolute is greater than remaining space, then for each entry in input list whose unit is absolute, set the corresponding value in output list to the number of the entry in input list multiplied by remaining space and divided by total absolute. Then, set remaining space to zero. Otherwise, for each entry in input list whose unit is absolute, set the corresponding value in output list to the number of the entry in input list. Then, decrement remaining space by total absolute. 5. If total percentage multiplied by the input dimension and divided by 100 is greater than remaining space, then for each entry in input list whose unit is percentage, set the corresponding value in output list to the number of the entry in input list multiplied by remaining space and divided by total percentage. Then, set remaining space to zero. Otherwise, for each entry in input list whose unit is percentage, set the corresponding value in output list to the number of the entry in input list multiplied by the input dimension and divided by 100. Then, decrement remaining space by total percentage multiplied by the input dimension and divided by 100. 6. For each entry in input list whose unit is relative, set the corresponding value in output list to the number of the entry in input list multiplied by remaining space and divided by total relative. 7. Return output list. </p> <p> User agents working with integer values for frame widths (as opposed to user agents that can lay frames out with subpixel accuracy) are expected to distribute the remainder first to the last entry whose unit is relative, then equally (not proportionally) to each entry whose unit is percentage, then equally (not proportionally) to each entry whose unit is absolute, and finally, failing all else, to the last entry. __________________________________________________________________ </p> <p> The contents of a [56651]frame element that does not have a [56652]frameset parent are expected to be rendered as [56653]transparent black; the user agent is expected to not render its [56654]content navigable in this case, and its [56655]content navigable is expected to have a [56656]viewport with zero width and zero height. </p> <p> 15.7 Interactive media </p> <p> 15.7.1 Links, forms, and navigation </p> <p> User agents are expected to allow the user to control aspects of [56657]hyperlink activation and [56658]form submission, such as which [56659]navigable is to be used for the subsequent [56660]navigation. </p> <p> User agents are expected to allow users to discover the destination of [56661]hyperlinks and of [56662]forms before triggering their [56663]navigation. </p> <p> User agents are expected to inform the user of whether a [56664]hyperlink includes [56665]hyperlink auditing, and to let them know at a minimum which domains will be contacted as part of such auditing. </p> <p> User agents may allow users to [56666]navigate [56667]navigables to the URLs [56668]indicated by the cite attributes on [56669]q, [56670]blockquote, [56671]ins, and [56672]del elements. </p> <p> User agents may surface [56673]hyperlinks created by [56674]link elements in their user interface, as discussed [56675]previously. </p> <p> 15.7.2 The [56676]title attribute </p> <p> User agents are expected to expose the [56677]advisory information of elements upon user request, and to make the user aware of the presence of such information. </p> <p> On interactive graphical systems where the user can use a pointing device, this could take the form of a tooltip. When the user is unable to use a pointing device, then the user agent is expected to make the content available in some other fashion, e.g. by making the element a [56678]focusable area and always displaying the [56679]advisory information of the currently [56680]focused element, or by showing the [56681]advisory information of the elements under the user's finger on a touch device as the user pans around the screen. </p> <p> U+000A LINE FEED (LF) characters are expected to cause line breaks in the tooltip; U+0009 CHARACTER TABULATION (tab) characters are expected to render as a nonzero horizontal shift that lines up the next glyph with the next tab stop, with tab stops occurring at points that are multiples of 8 times the width of a U+0020 SPACE character. </p> <p> For example, a visual user agent could make elements with a [56682]title attribute [56683]focusable, and could make any [56684]focused element with a [56685]title attribute show its tooltip under the element while the element has focus. This would allow a user to tab around the document to find all the advisory text. </p> <p> As another example, a screen reader could provide an audio cue when reading an element with a tooltip, with an associated key to read the last tooltip for which a cue was played. </p> <p> 15.7.3 Editing hosts </p> <p> The current text editing caret (i.e. the [56686]active range, if it is empty and in an [56687]editing host), if any, is expected to act like an inline [56688]replaced element with the vertical dimensions of the caret and with zero width for the purposes of the CSS rendering model. </p> <p> This means that even an empty block can have the caret inside it, and that when the caret is in such an element, it prevents [56689]margins from collapsing through the element. </p> <p> 15.7.4 Text rendered in native user interfaces </p> <p> User agents are expected to honor the Unicode semantics of text that is exposed in user interfaces, for example supporting the bidirectional algorithm in text shown in dialogs, title bars, popup menus, and tooltips. Text from the contents of elements is expected to be rendered in a manner that honors [56690]the directionality of the element from which the text was obtained. Text from attributes is expected to be rendered in a manner that honours the [56691]directionality of the attribute. </p> <p> Consider the following markup, which has Hebrew text asking for a programming language, the languages being text for which a left-to-right direction is important given the punctuation in some of their names: <p dir="rtl" lang="he"> <label> בחר שפת תכנות: <select> <option dir="ltr">C++</option> <option dir="ltr">C#</option> <option dir="ltr">FreePascal</option> <option dir="ltr">F#</option> </select> </label> </p> </p> <p> If the [56692]select element was rendered as a drop down box, a correct rendering would ensure that the punctuation was the same both in the drop down, and in the box showing the current selection. </p> <p> The directionality of attributes depends on the attribute and on the element's [56693]dir attribute, as the following example demonstrates. Consider this markup: <table> <tr> <th abbr="(א" dir=ltr>A <th abbr="(א" dir=rtl>A <th abbr="(א" dir=auto>A </table> </p> <p> If the [56694]abbr attributes are rendered, e.g. in a tooltip or other user interface, the first will have a left parenthesis (because the direction is 'ltr'), the second will have a right parenthesis (because the direction is 'rtl'), and the third will have a right parenthesis (because the direction is determined from the attribute value to be 'rtl'). </p> <p> However, if instead the attribute was not a [56695]directionality-capable attribute, the results would be different: <table> <tr> <th data-abbr="(א" dir=ltr>A <th data-abbr="(א" dir=rtl>A <th data-abbr="(א" dir=auto>A </table> </p> <p> In this case, if the user agent were to expose the data-abbr attribute in the user interface (e.g. in a debugging environment), the last case would be rendered with a left parenthesis, because the direction would be determined from the element's contents. </p> <p> A string provided by a script (e.g. the argument to [56696]window.alert()) is expected to be treated as an independent set of one or more bidirectional algorithm paragraphs when displayed, as defined by the bidirectional algorithm, including, for instance, supporting the paragraph-breaking behavior of U+000A LINE FEED (LF) characters. For the purposes of determining the paragraph level of such text in the bidirectional algorithm, this specification does not provide a higher-level override of rules P2 and P3. [56697][BIDI] </p> <p> When necessary, authors can enforce a particular direction for a given paragraph by starting it with the Unicode U+200E LEFT-TO-RIGHT MARK or U+200F RIGHT-TO-LEFT MARK characters. </p> <p> Thus, the following script: alert(ʼ\u05DC\u05DE\u05D3 HTML \u05D4\u05D9\u05D5\u05DD!ʼ) </p> <p> ...would always result in a message reading " למד LMTH היום!" (not "דמל HTML םויה!"), regardless of the language of the user agent interface or the direction of the page or any of its elements. </p> <p> For a more complex example, consider the following script: /* Warning: this script does not handle right-to-left scripts correctly */ var s; if (s = prompt(ʼWhat is your name?ʼ)) { alert(s + ʼ! Ok, Fred, ʼ + s + ʼ, and Wilma will get the car.ʼ); } </p> <p> When the user enters "Kitty", the user agent would alert "Kitty! Ok, Fred, Kitty, and Wilma will get the car.". However, if the user enters "لا أفهم", then the bidirectional algorithm will determine that the direction of the paragraph is right-to-left, and so the output will be the following unintended mess: "لا أفهم! derF ,kO, لا أفهم, rac eht teg lliw amliW dna. " </p> <p> To force an alert that starts with user-provided text (or other text of unknown directionality) to render left-to-right, the string can be prefixed with a U+200E LEFT-TO-RIGHT MARK character: var s; if (s = prompt(ʼWhat is your name?ʼ)) { alert(ʼ\u200Eʼ + s + ʼ! Ok, Fred, ʼ + s + ʼ, and Wilma will get the car.ʼ); } </p> <p> 15.8 Print media </p> <p> User agents are expected to allow the user to request the opportunity to obtain a physical form (or a representation of a physical form) of a [56698]Document. For example, selecting the option to print a page or convert it to PDF format. [56699][PDF] </p> <p> When the user actually [56700]obtains a physical form (or a representation of a physical form) of a [56701]Document, the user agent is expected to create a new rendering of the [56702]Document for the print media. </p> <p> 15.9 Unstyled XML documents </p> <p> HTML user agents may, in certain circumstances, find themselves rendering non-HTML documents that use vocabularies for which they lack any built-in knowledge. This section provides for a way for user agents to handle such documents in a somewhat useful manner. </p> <p> While a [56703]Document is an [56704]unstyled document, the user agent is expected to render [56705]an unstyled document view. </p> <p> A [56706]Document is an unstyled document while it matches the following conditions: * The [56707]Document has no author style sheets (whether referenced by HTTP headers, processing instructions, elements like [56708]link, inline elements like [56709]style, or any other mechanism). * None of the elements in the [56710]Document have any [56711]presentational hints. * None of the elements in the [56712]Document have any [56713]style attributes. * None of the elements in the [56714]Document are in any of the following namespaces: [56715]HTML namespace, [56716]SVG namespace, [56717]MathML namespace * The [56718]Document has no [56719]focusable area (e.g. from XLink) other than the [56720]viewport. * The [56721]Document has no [56722]hyperlinks (e.g. from XLink). * There exists no [56723]script whose [56724]settings object's [56725]global object is a [56726]Window object with this [56727]Document as its [56728]associated Document. * None of the elements in the [56729]Document have any registered event listeners. </p> <p> An unstyled document view is one where the DOM is not rendered according to CSS (which would, since there are no applicable styles in this context, just result in a wall of text), but is instead rendered in a manner that is useful for a developer. This could consist of just showing the [56730]Document object's source, maybe with syntax highlighting, or it could consist of displaying just the DOM tree, or simply a message saying that the page is not a styled document. </p> <p> If a [56731]Document stops being an [56732]unstyled document, then the conditions above stop applying, and thus a user agent following these requirements will switch to using the regular CSS rendering. </p> <p> 16 Obsolete features </p> <p> 16.1 Obsolete but conforming features </p> <p> Features listed in this section will trigger warnings in conformance checkers. </p> <p> Authors should not specify a [56733]border attribute on an [56734]img element. If the attribute is present, its value must be the string "0". CSS should be used instead. </p> <p> Authors should not specify a [56735]charset attribute on a [56736]script element. If the attribute is present, its value must be an [56737]ASCII case-insensitive match for "utf-8". (This has no effect in a document that conforms to the requirements elsewhere in this standard of being encoded as [56738]UTF-8.) </p> <p> Authors should not specify a [56739]language attribute on a [56740]script element. If the attribute is present, its value must be an [56741]ASCII case-insensitive match for the string "JavaScript" and either the [56742]type attribute must be omitted or its value must be an [56743]ASCII case-insensitive match for the string "text/javascript". The attribute should be entirely omitted instead (with the value "JavaScript", it has no effect), or replaced with use of the [56744]type attribute. </p> <p> Authors should not specify a value for the [56745]type attribute on [56746]script elements that is the empty string or a [56747]JavaScript MIME type essence match. Instead, they should omit the attribute, which has the same effect. </p> <p> Authors should not specify a [56748]type attribute on a [56749]style element. If the attribute is present, its value must be an [56750]ASCII case-insensitive match for "[56751]text/css". </p> <p> Authors should not specify the [56752]name attribute on [56753]a elements. If the attribute is present, its value must not be the empty string and must neither be equal to the value of any of the [56754]IDs in the element's [56755]tree other than the element's own [56756]ID, if any, nor be equal to the value of any of the other [56757]name attributes on [56758]a elements in the element's [56759]tree. If this attribute is present and the element has an [56760]ID, then the attribute's value must be equal to the element's [56761]ID. In earlier versions of the language, this attribute was intended as a way to specify possible targets for [56762]fragments in [56763]URLs. The [56764]id attribute should be used instead. </p> <p> Authors should not, but may despite requirements to the contrary elsewhere in this specification, specify the [56765]maxlength and [56766]size attributes on [56767]input elements whose [56768]type attributes are in the [56769]Number state. One valid reason for using these attributes regardless is to help legacy user agents that do not support [56770]input elements with type="number" to still render the text control with a useful width. </p> <p> 16.1.1 Warnings for obsolete but conforming features </p> <p> To ease the transition from HTML4 Transitional documents to the language defined in this specification, and to discourage certain features that are only allowed in very few circumstances, conformance checkers must warn the user when the following features are used in a document. These are generally old obsolete features that have no effect, and are allowed only to distinguish between likely mistakes (regular conformance errors) and mere vestigial markup or unusual and discouraged practices (these warnings). </p> <p> The following features must be categorized as described above: * The presence of a [56771]border attribute on an [56772]img element if its value is the string "0". * The presence of a [56773]charset attribute on a [56774]script element if its value is an [56775]ASCII case-insensitive match for "utf-8". * The presence of a [56776]language attribute on a [56777]script element if its value is an [56778]ASCII case-insensitive match for the string "JavaScript" and if there is no [56779]type attribute or there is and its value is an [56780]ASCII case-insensitive match for the string "text/javascript". * The presence of a [56781]type attribute on a [56782]script element if its value is a [56783]JavaScript MIME type essence match. * The presence of a [56784]type attribute on a [56785]style element if its value is an [56786]ASCII case-insensitive match for "[56787]text/css". * The presence of a [56788]name attribute on an [56789]a element, if its value is not the empty string. * The presence of a [56790]maxlength attribute on an [56791]input element whose [56792]type attribute is in the [56793]Number state. * The presence of a [56794]size attribute on an [56795]input element whose [56796]type attribute is in the [56797]Number state. </p> <p> Conformance checkers must distinguish between pages that have no conformance errors and have none of these obsolete features, and pages that have no conformance errors but do have some of these obsolete features. </p> <p> For example, a validator could report some pages as "Valid HTML" and others as "Valid HTML with warnings". </p> <p> 16.2 Non-conforming features </p> <p> Elements in the following list are entirely obsolete, and must not be used by authors: </p> <p> applet Use [56798]embed or [56799]object instead. </p> <p> acronym Use [56800]abbr instead. </p> <p> bgsound Use [56801]audio instead. </p> <p> dir Use [56802]ul instead. </p> <p> [56803]frame [56804]frameset noframes Either use [56805]iframe and CSS instead, or use server-side includes to generate complete pages with the various invariant parts merged in. </p> <p> isindex Use an explicit [56806]form and [56807]text control combination instead. </p> <p> keygen For enterprise device management use cases, use native on-device management capabilities. </p> <p> For certificate enrollment use cases, use the Web Cryptography API to generate a keypair for the certificate, and then export the certificate and key to allow the user to install them manually. [56808][WEBCRYPTO] </p> <p> listing Use [56809]pre and [56810]code instead. </p> <p> menuitem To implement a custom context menu, use script to handle the [56811]contextmenu event. </p> <p> nextid Use GUIDs instead. </p> <p> noembed Use [56812]object instead of [56813]embed when fallback is necessary. </p> <p> param Use the [56814]data attribute of the [56815]object element to set the URL of the external resource. </p> <p> plaintext Use the "[56816]text/plain" [56817]MIME type instead. </p> <p> rb rtc Providing the ruby base directly inside the [56818]ruby element or using nested [56819]ruby elements is sufficient. </p> <p> strike Use [56820]del instead if the element is marking an edit, otherwise use [56821]s instead. </p> <p> xmp Use [56822]pre and [56823]code instead, and escape "<" and "&" characters as "&lt;" and "&amp;" respectively. </p> <p> basefont big blink center font [56824]marquee multicol nobr spacer tt Use appropriate elements or CSS instead. </p> <p> Where the [56825]tt element would have been used for marking up keyboard input, consider the [56826]kbd element; for variables, consider the [56827]var element; for computer code, consider the [56828]code element; and for computer output, consider the [56829]samp element. </p> <p> Similarly, if the [56830]big element is being used to denote a heading, consider using the [56831]h1 element; if it is being used for marking up important passages, consider the [56832]strong element; and if it is being used for highlighting text for reference purposes, consider the [56833]mark element. </p> <p> See also the [56834]text-level semantics usage summary for more suggestions with examples. __________________________________________________________________ </p> <p> The following attributes are obsolete (though the elements are still part of the language), and must not be used by authors: </p> <p> charset on [56835]a elements charset on [56836]link elements Use an HTTP `[56837]Content-Type` header on the linked resource instead. </p> <p> charset on [56838]script elements (except as noted in the previous section) Omit the attribute. Both documents and scripts are required to use [56839]UTF-8, so it is redundant to specify it on the [56840]script element since it inherits from the document. </p> <p> coords on [56841]a elements shape on [56842]a elements Use [56843]area instead of [56844]a for image maps. </p> <p> methods on [56845]a elements methods on [56846]link elements Use the HTTP OPTIONS feature instead. </p> <p> name on [56847]a elements (except as noted in the previous section) name on [56848]embed elements name on [56849]img elements name on [56850]option elements Use the [56851]id attribute instead. </p> <p> rev on [56852]a elements rev on [56853]link elements Use the [56854]rel attribute instead, with an opposite term. (For example, instead of rev="made", use rel="author".) </p> <p> urn on [56855]a elements urn on [56856]link elements Specify the preferred persistent identifier using the [56857]href attribute instead. </p> <p> accept on [56858]form elements Use the [56859]accept attribute directly on the [56860]input elements instead. </p> <p> hreflang on [56861]area elements type on [56862]area elements These attributes do not do anything useful, and for historical reasons there are no corresponding IDL attributes on [56863]area elements. Omit them altogether. </p> <p> nohref on [56864]area elements Omitting the [56865]href attribute is sufficient; the [56866]nohref attribute is unnecessary. Omit it altogether. </p> <p> profile on [56867]head elements Unnecessary. Omit it altogether. </p> <p> manifest on [56868]html elements Use service workers instead. [56869][SW] </p> <p> version on [56870]html elements Unnecessary. Omit it altogether. </p> <p> ismap on [56871]input elements Unnecessary. Omit it altogether. All [56872]input elements with a [56873]type attribute in the [56874]Image Button state are processed as server-side image maps. </p> <p> usemap on [56875]input elements usemap on [56876]object elements Use the [56877]img element for image maps. </p> <p> longdesc on [56878]iframe elements longdesc on [56879]img elements Use a regular [56880]a element to link to the description, or (in the case of images) use an [56881]image map to provide a link from the image to the image's description. </p> <p> lowsrc on [56882]img elements Use a progressive JPEG image (given in the [56883]src attribute), instead of using two separate images. </p> <p> target on [56884]link elements Unnecessary. Omit it altogether. </p> <p> type on [56885]menu elements To implement a custom context menu, use script to handle the [56886]contextmenu event. For toolbar menus, omit the attribute. </p> <p> label on [56887]menu elements contextmenu on all elements onshow on all elements To implement a custom context menu, use script to handle the [56888]contextmenu event. </p> <p> scheme on [56889]meta elements Use only one scheme per field, or make the scheme declaration part of the value. </p> <p> archive on [56890]object elements classid on [56891]object elements code on [56892]object elements codebase on [56893]object elements codetype on [56894]object elements Use the [56895]data and [56896]type attributes to invoke [56897]plugins. </p> <p> declare on [56898]object elements Repeat the [56899]object element completely each time the resource is to be reused. </p> <p> standby on [56900]object elements Optimize the linked resource so that it loads quickly or, at least, incrementally. </p> <p> typemustmatch on [56901]object elements Avoid using [56902]object elements with untrusted resources. </p> <p> language on [56903]script elements (except as noted in the previous section) Omit the attribute for JavaScript; for [56904]data blocks, use the [56905]type attribute instead. </p> <p> event on [56906]script elements for on [56907]script elements Use DOM events mechanisms to register event listeners. [56908][DOM] </p> <p> type on [56909]style elements (except as noted in the previous section) Omit the attribute for CSS; for [56910]data blocks, use [56911]script as the container instead of [56912]style. </p> <p> datapagesize on [56913]table elements Unnecessary. Omit it altogether. </p> <p> summary on [56914]table elements Use one of the [56915]techniques for describing tables given in the [56916]table section instead. </p> <p> abbr on [56917]td elements Use text that begins in an unambiguous and terse manner, and include any more elaborate text after that. The [56918]title attribute can also be useful in including more detailed text, so that the cell's contents can be made terse. If it's a heading, use [56919]th (which has an [56920]abbr attribute). </p> <p> axis on [56921]td and [56922]th elements Use the [56923]scope attribute on the relevant [56924]th. </p> <p> scope on [56925]td elements Use [56926]th elements for heading cells. </p> <p> datasrc on [56927]a, [56928]button, [56929]div, [56930]frame, [56931]iframe, [56932]img, [56933]input, [56934]label, [56935]legend, [56936]marquee, [56937]object, [56938]option, [56939]select, [56940]span, [56941]table, and [56942]textarea elements </p> <p> datafld on [56943]a, [56944]button, [56945]div, [56946]fieldset, [56947]frame, [56948]iframe, [56949]img, [56950]input, [56951]label, [56952]legend, [56953]marquee, [56954]object, [56955]select, [56956]span, and [56957]textarea elements </p> <p> dataformatas on [56958]button, [56959]div, [56960]input, [56961]label, [56962]legend, [56963]marquee, [56964]object, [56965]option, [56966]select, [56967]span, and [56968]table elements Use script and a mechanism such as [56969]XMLHttpRequest to populate the page dynamically. [56970][XHR] </p> <p> dropzone on all elements Use script to handle the [56971]dragenter and [56972]dragover events instead. </p> <p> alink on [56973]body elements bgcolor on [56974]body elements bottommargin on [56975]body elements leftmargin on [56976]body elements link on [56977]body elements marginheight on [56978]body elements marginwidth on [56979]body elements rightmargin on [56980]body elements text on [56981]body elements topmargin on [56982]body elements vlink on [56983]body elements clear on [56984]br elements align on [56985]caption elements align on [56986]col elements char on [56987]col elements charoff on [56988]col elements valign on [56989]col elements width on [56990]col elements align on [56991]div elements compact on [56992]dl elements align on [56993]embed elements hspace on [56994]embed elements vspace on [56995]embed elements align on [56996]hr elements color on [56997]hr elements noshade on [56998]hr elements size on [56999]hr elements width on [57000]hr elements align on [57001]h1—[57002]h6 elements align on [57003]iframe elements allowtransparency on [57004]iframe elements frameborder on [57005]iframe elements framespacing on [57006]iframe elements hspace on [57007]iframe elements marginheight on [57008]iframe elements marginwidth on [57009]iframe elements scrolling on [57010]iframe elements vspace on [57011]iframe elements align on [57012]input elements border on [57013]input elements hspace on [57014]input elements vspace on [57015]input elements align on [57016]img elements border on [57017]img elements (except as noted in the previous section) hspace on [57018]img elements vspace on [57019]img elements align on [57020]legend elements type on [57021]li elements compact on [57022]menu elements align on [57023]object elements border on [57024]object elements hspace on [57025]object elements vspace on [57026]object elements compact on [57027]ol elements align on [57028]p elements width on [57029]pre elements align on [57030]table elements bgcolor on [57031]table elements border on [57032]table elements bordercolor on [57033]table elements cellpadding on [57034]table elements cellspacing on [57035]table elements frame on [57036]table elements height on [57037]table elements rules on [57038]table elements width on [57039]table elements align on [57040]tbody, [57041]thead, and [57042]tfoot elements char on [57043]tbody, [57044]thead, and [57045]tfoot elements charoff on [57046]tbody, [57047]thead, and [57048]tfoot elements height on [57049]thead, [57050]tbody, and [57051]tfoot elements valign on [57052]tbody, [57053]thead, and [57054]tfoot elements align on [57055]td and [57056]th elements bgcolor on [57057]td and [57058]th elements char on [57059]td and [57060]th elements charoff on [57061]td and [57062]th elements height on [57063]td and [57064]th elements nowrap on [57065]td and [57066]th elements valign on [57067]td and [57068]th elements width on [57069]td and [57070]th elements align on [57071]tr elements bgcolor on [57072]tr elements char on [57073]tr elements charoff on [57074]tr elements height on [57075]tr elements valign on [57076]tr elements compact on [57077]ul elements type on [57078]ul elements background on [57079]body, [57080]table, [57081]thead, [57082]tbody, [57083]tfoot, [57084]tr, [57085]td, and [57086]th elements Use CSS instead. </p> <p> 16.3 Requirements for implementations </p> <p> 16.3.1 The marquee element </p> <p> The [57087]marquee element is a presentational element that animates content. CSS transitions and animations are a more appropriate mechanism. [57088][CSSANIMATIONS] [57089][CSSTRANSITIONS] </p> <p> The [57090]marquee element must implement the [57091]HTMLMarqueeElement interface. [Exposed=Window] interface HTMLMarqueeElement : [57092]HTMLElement { [[57093]HTMLConstructor] constructor(); </p> <p> [[57094]CEReactions] attribute DOMString [57095]behavior; [[57096]CEReactions] attribute DOMString [57097]bgColor; [[57098]CEReactions] attribute DOMString [57099]direction; [[57100]CEReactions] attribute DOMString [57101]height; [[57102]CEReactions] attribute unsigned long [57103]hspace; [[57104]CEReactions] attribute long [57105]loop; [[57106]CEReactions] attribute unsigned long [57107]scrollAmount; [[57108]CEReactions] attribute unsigned long [57109]scrollDelay; [[57110]CEReactions] attribute boolean [57111]trueSpeed; [[57112]CEReactions] attribute unsigned long [57113]vspace; [[57114]CEReactions] attribute DOMString [57115]width; </p> <p> undefined [57116]start(); undefined [57117]stop(); }; </p> <p> A [57118]marquee element can be turned on or turned off. When it is created, it is [57119]turned on. </p> <p> When the start() method is called, the [57120]marquee element must be [57121]turned on. </p> <p> When the stop() method is called, the [57122]marquee element must be [57123]turned off. __________________________________________________________________ </p> <p> The behavior content attribute on [57124]marquee elements is an [57125]enumerated attribute with the following keywords and states (all non-conforming): </p> <p> Keyword State scroll scroll slide slide alternate alternate </p> <p> The attribute's [57126]missing value default and [57127]invalid value default are both the [57128]scroll state. __________________________________________________________________ </p> <p> The direction content attribute on [57129]marquee elements is an [57130]enumerated attribute with the following keywords and states (all non-conforming): </p> <p> Keyword State left left right right up up down down </p> <p> The attribute's [57131]missing value default and [57132]invalid value default are both the [57133]left state. __________________________________________________________________ </p> <p> The truespeed content attribute on [57134]marquee elements is a [57135]boolean attribute. __________________________________________________________________ </p> <p> A [57136]marquee element has a marquee scroll interval, which is obtained as follows: 1. If the element has a scrolldelay attribute, and parsing its value using the [57137]rules for parsing non-negative integers does not return an error, then let delay be the parsed value. Otherwise, let delay be 85. 2. If the element does not have a [57138]truespeed attribute, and the delay value is less than 60, then let delay be 60 instead. 3. The [57139]marquee scroll interval is delay, interpreted in milliseconds. __________________________________________________________________ </p> <p> A [57140]marquee element has a marquee scroll distance, which, if the element has a scrollamount attribute, and parsing its value using the [57141]rules for parsing non-negative integers does not return an error, is the parsed value interpreted in [57142]CSS pixels, and otherwise is 6 [57143]CSS pixels. __________________________________________________________________ </p> <p> A [57144]marquee element has a marquee loop count, which, if the element has a loop attribute, and parsing its value using the [57145]rules for parsing integers does not return an error or a number less than 1, is the parsed value, and otherwise is −1. </p> <p> The loop IDL attribute, on getting, must return the element's [57146]marquee loop count; and on setting, if the new value is different than the element's [57147]marquee loop count and either greater than zero or equal to −1, must set the element's [57148]loop content attribute (adding it if necessary) to the [57149]valid integer that represents the new value. (Other values are ignored.) </p> <p> A [57150]marquee element also has a marquee current loop index, which is zero when the element is created. </p> <p> The rendering layer will occasionally increment the marquee current loop index, which must cause the following steps to be run: 1. If the [57151]marquee loop count is −1, then return. 2. Increment the [57152]marquee current loop index by one. 3. If the [57153]marquee current loop index is now greater than or equal to the element's [57154]marquee loop count, [57155]turn off the [57156]marquee element. __________________________________________________________________ </p> <p> The behavior, direction, height, hspace, vspace, and width IDL attributes must [57157]reflect the respective content attributes of the same name. </p> <p> The bgColor IDL attribute must [57158]reflect the bgcolor content attribute. </p> <p> The scrollAmount IDL attribute must [57159]reflect the scrollamount content attribute. The [57160]default value is 6. </p> <p> The scrollDelay IDL attribute must [57161]reflect the scrolldelay content attribute. The [57162]default value is 85. </p> <p> The trueSpeed IDL attribute must [57163]reflect the [57164]truespeed content attribute. </p> <p> 16.3.2 Frames </p> <p> The frameset element acts as [57165]the body element in documents that use frames. </p> <p> The [57166]frameset element must implement the [57167]HTMLFrameSetElement interface. [Exposed=Window] interface HTMLFrameSetElement : [57168]HTMLElement { [[57169]HTMLConstructor] constructor(); </p> <p> [[57170]CEReactions] attribute DOMString [57171]cols; [[57172]CEReactions] attribute DOMString [57173]rows; }; [57174]HTMLFrameSetElement includes [57175]WindowEventHandlers; </p> <p> The cols and rows IDL attributes of the [57176]frameset element must [57177]reflect the respective content attributes of the same name. </p> <p> The [57178]frameset element exposes as [57179]event handler content attributes a number of the [57180]event handlers of the [57181]Window object. It also mirrors their [57182]event handler IDL attributes. </p> <p> The [57183]event handlers of the [57184]Window object named by the [57185]Window-reflecting body element event handler set, exposed on the [57186]frameset element, replace the generic [57187]event handlers with the same names normally supported by [57188]HTML elements. __________________________________________________________________ </p> <p> The frame element has a [57189]content navigable similar to the [57190]iframe element, but rendered within a [57191]frameset element. </p> <p> The [57192]frame [57193]HTML element insertion steps, given insertedNode, are: 1. If insertedNode is not [57194]in a document tree, then return. 2. If insertedNode's [57195]root's [57196]browsing context is null, then return. 3. [57197]Create a new child navigable for insertedNode. 4. [57198]Process the frame attributes for insertedNode, with [57199]initialInsertion set to true. </p> <p> The [57200]frame [57201]HTML element removing steps, given removedNode, are to [57202]destroy a child navigable given removedNode. </p> <p> Whenever a [57203]frame element with a non-null [57204]content navigable has its src attribute set, changed, or removed, the user agent must [57205]process the frame attributes. </p> <p> To process the frame attributes for an element element, with an optional boolean initialInsertion: 1. Let url be the result of running the [57206]shared attribute processing steps for iframe and frame elements given element and initialInsertion. 2. If url is null, then return. 3. If url [57207]matches about:blank and initialInsertion is true, then: 1. [57208]Fire an event named [57209]load at element. 2. Return. 4. [57210]Navigate an iframe or frame given element, url, and the empty string. </p> <p> The [57211]frame element [57212]potentially delays the load event. </p> <p> The [57213]frame element must implement the [57214]HTMLFrameElement interface. [Exposed=Window] interface HTMLFrameElement : [57215]HTMLElement { [[57216]HTMLConstructor] constructor(); </p> <p> [[57217]CEReactions] attribute DOMString [57218]name; [[57219]CEReactions] attribute DOMString [57220]scrolling; [[57221]CEReactions] attribute USVString [57222]src; [[57223]CEReactions] attribute DOMString [57224]frameBorder; [[57225]CEReactions] attribute USVString [57226]longDesc; [[57227]CEReactions] attribute boolean [57228]noResize; readonly attribute [57229]Document? [57230]contentDocument; readonly attribute [57231]WindowProxy? [57232]contentWindow; </p> <p> [[57233]CEReactions] attribute [[57234]LegacyNullToEmptyString] DOMString [572 35]marginHeight; [[57236]CEReactions] attribute [[57237]LegacyNullToEmptyString] DOMString [572 38]marginWidth; }; </p> <p> The name, scrolling, and src IDL attributes of the [57239]frame element must [57240]reflect the respective content attributes of the same name. For the purposes of reflection, the [57241]frame element's src content attribute is defined as containing a [57242]URL. </p> <p> The frameBorder IDL attribute of the [57243]frame element must [57244]reflect the element's frameborder content attribute. </p> <p> The longDesc IDL attribute of the [57245]frame element must [57246]reflect the element's longdesc content attribute, which for the purposes of reflection is defined as containing a [57247]URL. </p> <p> The noResize IDL attribute of the [57248]frame element must [57249]reflect the element's noresize content attribute. </p> <p> The marginHeight IDL attribute of the [57250]frame element must [57251]reflect the element's marginheight content attribute. </p> <p> The marginWidth IDL attribute of the [57252]frame element must [57253]reflect the element's marginwidth content attribute. </p> <p> The contentDocument getter steps are to return [57254]this's [57255]content document. </p> <p> The contentWindow getter steps are to return [57256]this's [57257]content window. </p> <p> 16.3.3 Other elements, attributes and APIs </p> <p> User agents must treat [57258]acronym elements in a manner equivalent to [57259]abbr elements in terms of semantics and for purposes of rendering. __________________________________________________________________ </p> <p> partial interface [57260]HTMLAnchorElement { [[57261]CEReactions] attribute DOMString [57262]coords; [[57263]CEReactions] attribute DOMString [57264]charset; [[57265]CEReactions] attribute DOMString [57266]name; [[57267]CEReactions] attribute DOMString [57268]rev; [[57269]CEReactions] attribute DOMString [57270]shape; }; </p> <p> The coords, charset, name, rev, and shape IDL attributes of the [57271]a element must [57272]reflect the respective content attributes of the same name. __________________________________________________________________ </p> <p> partial interface [57273]HTMLAreaElement { [[57274]CEReactions] attribute boolean [57275]noHref; }; </p> <p> The noHref IDL attribute of the [57276]area element must [57277]reflect the element's [57278]nohref content attribute. __________________________________________________________________ </p> <p> partial interface [57279]HTMLBodyElement { [[57280]CEReactions] attribute [[57281]LegacyNullToEmptyString] DOMString [572 82]text; [[57283]CEReactions] attribute [[57284]LegacyNullToEmptyString] DOMString [572 85]link; [[57286]CEReactions] attribute [[57287]LegacyNullToEmptyString] DOMString [572 88]vLink; [[57289]CEReactions] attribute [[57290]LegacyNullToEmptyString] DOMString [572 91]aLink; [[57292]CEReactions] attribute [[57293]LegacyNullToEmptyString] DOMString [572 94]bgColor; [[57295]CEReactions] attribute DOMString [57296]background; }; </p> <p> The text IDL attribute of the [57297]body element must [57298]reflect the element's [57299]text content attribute. </p> <p> The link IDL attribute of the [57300]body element must [57301]reflect the element's [57302]link content attribute. </p> <p> The aLink IDL attribute of the [57303]body element must [57304]reflect the element's [57305]alink content attribute. </p> <p> The vLink IDL attribute of the [57306]body element must [57307]reflect the element's [57308]vlink content attribute. </p> <p> The bgColor IDL attribute of the [57309]body element must [57310]reflect the element's [57311]bgcolor content attribute. </p> <p> The background IDL attribute of the [57312]body element must [57313]reflect the element's [57314]background content attribute. (The [57315]background content is not defined to contain a [57316]URL, despite rules regarding its handling in the Rendering section above.) __________________________________________________________________ </p> <p> partial interface [57317]HTMLBRElement { [[57318]CEReactions] attribute DOMString [57319]clear; }; </p> <p> The clear IDL attribute of the [57320]br element must [57321]reflect the content attribute of the same name. __________________________________________________________________ </p> <p> partial interface [57322]HTMLTableCaptionElement { [[57323]CEReactions] attribute DOMString [57324]align; }; </p> <p> The align IDL attribute of the [57325]caption element must [57326]reflect the content attribute of the same name. __________________________________________________________________ </p> <p> partial interface [57327]HTMLTableColElement { [[57328]CEReactions] attribute DOMString [57329]align; [[57330]CEReactions] attribute DOMString [57331]ch; [[57332]CEReactions] attribute DOMString [57333]chOff; [[57334]CEReactions] attribute DOMString [57335]vAlign; [[57336]CEReactions] attribute DOMString [57337]width; }; </p> <p> The align and width IDL attributes of the [57338]col element must [57339]reflect the respective content attributes of the same name. </p> <p> The ch IDL attribute of the [57340]col element must [57341]reflect the element's [57342]char content attribute. </p> <p> The chOff IDL attribute of the [57343]col element must [57344]reflect the element's [57345]charoff content attribute. </p> <p> The vAlign IDL attribute of the [57346]col element must [57347]reflect the element's [57348]valign content attribute. __________________________________________________________________ </p> <p> User agents must treat [57349]dir elements in a manner equivalent to [57350]ul elements in terms of semantics and for purposes of rendering. </p> <p> The [57351]dir element must implement the [57352]HTMLDirectoryElement interface. [Exposed=Window] interface HTMLDirectoryElement : [57353]HTMLElement { [[57354]HTMLConstructor] constructor(); </p> <p> [[57355]CEReactions] attribute boolean [57356]compact; }; </p> <p> The compact IDL attribute of the [57357]dir element must [57358]reflect the content attribute of the same name. __________________________________________________________________ </p> <p> partial interface [57359]HTMLDivElement { [[57360]CEReactions] attribute DOMString [57361]align; }; </p> <p> The align IDL attribute of the [57362]div element must [57363]reflect the content attribute of the same name. __________________________________________________________________ </p> <p> partial interface [57364]HTMLDListElement { [[57365]CEReactions] attribute boolean [57366]compact; }; </p> <p> The compact IDL attribute of the [57367]dl element must [57368]reflect the content attribute of the same name. __________________________________________________________________ </p> <p> partial interface [57369]HTMLEmbedElement { [[57370]CEReactions] attribute DOMString [57371]align; [[57372]CEReactions] attribute DOMString [57373]name; }; </p> <p> The name and align IDL attributes of the [57374]embed element must [57375]reflect the respective content attributes of the same name. __________________________________________________________________ </p> <p> The [57376]font element must implement the [57377]HTMLFontElement interface. [Exposed=Window] interface HTMLFontElement : [57378]HTMLElement { [[57379]HTMLConstructor] constructor(); </p> <p> [[57380]CEReactions] attribute [[57381]LegacyNullToEmptyString] DOMString [573 82]color; [[57383]CEReactions] attribute DOMString [57384]face; [[57385]CEReactions] attribute DOMString [57386]size; }; </p> <p> The color, face, and size IDL attributes of the [57387]font element must [57388]reflect the respective content attributes of the same name. __________________________________________________________________ </p> <p> partial interface [57389]HTMLHeadingElement { [[57390]CEReactions] attribute DOMString [57391]align; }; </p> <p> The align IDL attribute of the [57392]h1–[57393]h6 elements must [57394]reflect the content attribute of the same name. __________________________________________________________________ </p> <p> The profile IDL attribute on [57395]head elements (with the [57396]HTMLHeadElement interface) is intentionally omitted. Unless so required by [57397]another applicable specification, implementations would therefore not support this attribute. (It is mentioned here as it was defined in a previous version of DOM.) __________________________________________________________________ </p> <p> partial interface [57398]HTMLHRElement { [[57399]CEReactions] attribute DOMString [57400]align; [[57401]CEReactions] attribute DOMString [57402]color; [[57403]CEReactions] attribute boolean [57404]noShade; [[57405]CEReactions] attribute DOMString [57406]size; [[57407]CEReactions] attribute DOMString [57408]width; }; </p> <p> The align, color, size, and width IDL attributes of the [57409]hr element must [57410]reflect the respective content attributes of the same name. </p> <p> The noShade IDL attribute of the [57411]hr element must [57412]reflect the element's [57413]noshade content attribute. __________________________________________________________________ </p> <p> partial interface [57414]HTMLHtmlElement { [[57415]CEReactions] attribute DOMString [57416]version; }; </p> <p> The version IDL attribute of the [57417]html element must [57418]reflect the content attribute of the same name. __________________________________________________________________ </p> <p> partial interface [57419]HTMLIFrameElement { [[57420]CEReactions] attribute DOMString [57421]align; [[57422]CEReactions] attribute DOMString [57423]scrolling; [[57424]CEReactions] attribute DOMString [57425]frameBorder; [[57426]CEReactions] attribute USVString [57427]longDesc; </p> <p> [[57428]CEReactions] attribute [[57429]LegacyNullToEmptyString] DOMString [574 30]marginHeight; [[57431]CEReactions] attribute [[57432]LegacyNullToEmptyString] DOMString [574 33]marginWidth; }; </p> <p> The align and scrolling IDL attributes of the [57434]iframe element must [57435]reflect the respective content attributes of the same name. </p> <p> The frameBorder IDL attribute of the [57436]iframe element must [57437]reflect the element's [57438]frameborder content attribute. </p> <p> The longDesc IDL attribute of the [57439]iframe element must [57440]reflect the element's [57441]longdesc content attribute, which for the purposes of reflection is defined as containing a [57442]URL. </p> <p> The marginHeight IDL attribute of the [57443]iframe element must [57444]reflect the element's [57445]marginheight content attribute. </p> <p> The marginWidth IDL attribute of the [57446]iframe element must [57447]reflect the element's [57448]marginwidth content attribute. __________________________________________________________________ </p> <p> partial interface [57449]HTMLImageElement { [[57450]CEReactions] attribute DOMString [57451]name; [[57452]CEReactions] attribute USVString [57453]lowsrc; [[57454]CEReactions] attribute DOMString [57455]align; [[57456]CEReactions] attribute unsigned long [57457]hspace; [[57458]CEReactions] attribute unsigned long [57459]vspace; [[57460]CEReactions] attribute USVString [57461]longDesc; </p> <p> [[57462]CEReactions] attribute [[57463]LegacyNullToEmptyString] DOMString [574 64]border; }; </p> <p> The name, align, border, hspace, and vspace IDL attributes of the [57465]img element must [57466]reflect the respective content attributes of the same name. </p> <p> The longDesc IDL attribute of the [57467]img element must [57468]reflect the element's [57469]longdesc content attribute, which for the purposes of reflection is defined as containing a [57470]URL. </p> <p> The lowsrc IDL attribute of the [57471]img element must [57472]reflect the element's [57473]lowsrc content attribute, which for the purposes of reflection is defined as containing a [57474]URL. __________________________________________________________________ </p> <p> partial interface [57475]HTMLInputElement { [[57476]CEReactions] attribute DOMString [57477]align; [[57478]CEReactions] attribute DOMString [57479]useMap; }; </p> <p> The align IDL attribute of the [57480]input element must [57481]reflect the content attribute of the same name. </p> <p> The useMap IDL attribute of the [57482]input element must [57483]reflect the element's [57484]usemap content attribute. __________________________________________________________________ </p> <p> partial interface [57485]HTMLLegendElement { [[57486]CEReactions] attribute DOMString [57487]align; }; </p> <p> The align IDL attribute of the [57488]legend element must [57489]reflect the content attribute of the same name. __________________________________________________________________ </p> <p> partial interface [57490]HTMLLIElement { [[57491]CEReactions] attribute DOMString [57492]type; }; </p> <p> The type IDL attribute of the [57493]li element must [57494]reflect the content attribute of the same name. __________________________________________________________________ </p> <p> partial interface [57495]HTMLLinkElement { [[57496]CEReactions] attribute DOMString [57497]charset; [[57498]CEReactions] attribute DOMString [57499]rev; [[57500]CEReactions] attribute DOMString [57501]target; }; </p> <p> The charset, rev, and target IDL attributes of the [57502]link element must [57503]reflect the respective content attributes of the same name. __________________________________________________________________ </p> <p> User agents must treat [57504]listing elements in a manner equivalent to [57505]pre elements in terms of semantics and for purposes of rendering. __________________________________________________________________ </p> <p> partial interface [57506]HTMLMenuElement { [[57507]CEReactions] attribute boolean [57508]compact; }; </p> <p> The compact IDL attribute of the [57509]menu element must [57510]reflect the content attribute of the same name. __________________________________________________________________ </p> <p> partial interface [57511]HTMLMetaElement { [[57512]CEReactions] attribute DOMString [57513]scheme; }; </p> <p> User agents may treat the [57514]scheme content attribute on the [57515]meta element as an extension of the element's [57516]name content attribute when processing a [57517]meta element with a [57518]name attribute whose value is one that the user agent recognizes as supporting the [57519]scheme attribute. </p> <p> User agents are encouraged to ignore the [57520]scheme attribute and instead process the value given to the metadata name as if it had been specified for each expected value of the [57521]scheme attribute. </p> <p> For example, if the user agent acts on [57522]meta elements with [57523]name attributes having the value "eGMS.subject.keyword", and knows that the [57524]scheme attribute is used with this metadata name, then it could take the [57525]scheme attribute into account, acting as if it was an extension of the [57526]name attribute. Thus the following two [57527]meta elements could be treated as two elements giving values for two different metadata names, one consisting of a combination of "eGMS.subject.keyword" and "LGCL", and the other consisting of a combination of "eGMS.subject.keyword" and "ORLY": <!-- this markup is invalid --> <meta name="eGMS.subject.keyword" scheme="LGCL" content="Abandoned vehicles"> <meta name="eGMS.subject.keyword" scheme="ORLY" content="Mah car: kthxbye"> </p> <p> The suggested processing of this markup, however, would be equivalent to the following: <meta name="eGMS.subject.keyword" content="Abandoned vehicles"> <meta name="eGMS.subject.keyword" content="Mah car: kthxbye"> </p> <p> The scheme IDL attribute of the [57528]meta element must [57529]reflect the content attribute of the same name. __________________________________________________________________ </p> <p> partial interface [57530]HTMLObjectElement { [[57531]CEReactions] attribute DOMString [57532]align; [[57533]CEReactions] attribute DOMString [57534]archive; [[57535]CEReactions] attribute DOMString [57536]code; [[57537]CEReactions] attribute boolean [57538]declare; [[57539]CEReactions] attribute unsigned long [57540]hspace; [[57541]CEReactions] attribute DOMString [57542]standby; [[57543]CEReactions] attribute unsigned long [57544]vspace; [[57545]CEReactions] attribute DOMString [57546]codeBase; [[57547]CEReactions] attribute DOMString [57548]codeType; [[57549]CEReactions] attribute DOMString [57550]useMap; </p> <p> [[57551]CEReactions] attribute [[57552]LegacyNullToEmptyString] DOMString [575 53]border; }; </p> <p> The align, archive, border, code, declare, hspace, standby, and vspace IDL attributes of the [57554]object element must [57555]reflect the respective content attributes of the same name. </p> <p> The codeBase IDL attribute of the [57556]object element must [57557]reflect the element's [57558]codebase content attribute, which for the purposes of reflection is defined as containing a [57559]URL. </p> <p> The codeType IDL attribute of the [57560]object element must [57561]reflect the element's [57562]codetype content attribute. </p> <p> (BUTTON) ✔MDN </p> <p> [57563]HTMLObjectElement/useMap </p> <p> Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________ </p> <p> Opera12.1+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer6+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ </p> <p> The useMap IDL attribute must [57564]reflect the [57565]usemap content attribute. __________________________________________________________________ </p> <p> partial interface [57566]HTMLOListElement { [[57567]CEReactions] attribute boolean [57568]compact; }; </p> <p> The compact IDL attribute of the [57569]ol element must [57570]reflect the content attribute of the same name. __________________________________________________________________ </p> <p> partial interface [57571]HTMLParagraphElement { [[57572]CEReactions] attribute DOMString [57573]align; }; </p> <p> The align IDL attribute of the [57574]p element must [57575]reflect the content attribute of the same name. __________________________________________________________________ </p> <p> The [57576]param element must implement the [57577]HTMLParamElement interface. [Exposed=Window] interface HTMLParamElement : [57578]HTMLElement { [[57579]HTMLConstructor] constructor(); </p> <p> [[57580]CEReactions] attribute DOMString [57581]name; [[57582]CEReactions] attribute DOMString [57583]value; [[57584]CEReactions] attribute DOMString [57585]type; [[57586]CEReactions] attribute DOMString [57587]valueType; }; </p> <p> The name, value, and type IDL attributes of the [57588]param element must [57589]reflect the respective content attributes of the same name. </p> <p> The valueType IDL attribute of the [57590]param element must [57591]reflect the element's valuetype content attribute. __________________________________________________________________ </p> <p> User agents must treat [57592]plaintext elements in a manner equivalent to [57593]pre elements in terms of semantics and for purposes of rendering. (The parser has special behavior for this element, though.) __________________________________________________________________ </p> <p> partial interface [57594]HTMLPreElement { [[57595]CEReactions] attribute long [57596]width; }; </p> <p> The width IDL attribute of the [57597]pre element must [57598]reflect the content attribute of the same name. __________________________________________________________________ </p> <p> partial interface [57599]HTMLStyleElement { [[57600]CEReactions] attribute DOMString [57601]type; }; </p> <p> The type IDL attribute of the [57602]style element must [57603]reflect the element's [57604]type content attribute. __________________________________________________________________ </p> <p> partial interface [57605]HTMLScriptElement { [[57606]CEReactions] attribute DOMString [57607]charset; [[57608]CEReactions] attribute DOMString [57609]event; [[57610]CEReactions] attribute DOMString [57611]htmlFor; }; </p> <p> The charset and event IDL attributes of the [57612]script element must [57613]reflect the respective content attributes of the same name. </p> <p> The htmlFor IDL attribute of the [57614]script element must [57615]reflect the element's [57616]for content attribute. __________________________________________________________________ </p> <p> partial interface [57617]HTMLTableElement { [[57618]CEReactions] attribute DOMString [57619]align; [[57620]CEReactions] attribute DOMString [57621]border; [[57622]CEReactions] attribute DOMString [57623]frame; [[57624]CEReactions] attribute DOMString [57625]rules; [[57626]CEReactions] attribute DOMString [57627]summary; [[57628]CEReactions] attribute DOMString [57629]width; </p> <p> [[57630]CEReactions] attribute [[57631]LegacyNullToEmptyString] DOMString [576 32]bgColor; [[57633]CEReactions] attribute [[57634]LegacyNullToEmptyString] DOMString [576 35]cellPadding; [[57636]CEReactions] attribute [[57637]LegacyNullToEmptyString] DOMString [576 38]cellSpacing; }; </p> <p> The align, border, frame, summary, rules, and width IDL attributes of the [57639]table element must [57640]reflect the respective content attributes of the same name. </p> <p> The bgColor IDL attribute of the [57641]table element must [57642]reflect the element's [57643]bgcolor content attribute. </p> <p> The cellPadding IDL attribute of the [57644]table element must [57645]reflect the element's [57646]cellpadding content attribute. </p> <p> The cellSpacing IDL attribute of the [57647]table element must [57648]reflect the element's [57649]cellspacing content attribute. __________________________________________________________________ </p> <p> partial interface [57650]HTMLTableSectionElement { [[57651]CEReactions] attribute DOMString [57652]align; [[57653]CEReactions] attribute DOMString [57654]ch; [[57655]CEReactions] attribute DOMString [57656]chOff; [[57657]CEReactions] attribute DOMString [57658]vAlign; }; </p> <p> The align IDL attribute of the [57659]tbody, [57660]thead, and [57661]tfoot elements must [57662]reflect the content attribute of the same name. </p> <p> The ch IDL attribute of the [57663]tbody, [57664]thead, and [57665]tfoot elements must [57666]reflect the elements' [57667]char content attributes. </p> <p> The chOff IDL attribute of the [57668]tbody, [57669]thead, and [57670]tfoot elements must [57671]reflect the elements' [57672]charoff content attributes. </p> <p> The vAlign IDL attribute of the [57673]tbody, [57674]thead, and [57675]tfoot elements must [57676]reflect the elements' [57677]valign content attributes. __________________________________________________________________ </p> <p> partial interface [57678]HTMLTableCellElement { [[57679]CEReactions] attribute DOMString [57680]align; [[57681]CEReactions] attribute DOMString [57682]axis; [[57683]CEReactions] attribute DOMString [57684]height; [[57685]CEReactions] attribute DOMString [57686]width; </p> <p> [[57687]CEReactions] attribute DOMString [57688]ch; [[57689]CEReactions] attribute DOMString [57690]chOff; [[57691]CEReactions] attribute boolean [57692]noWrap; [[57693]CEReactions] attribute DOMString [57694]vAlign; </p> <p> [[57695]CEReactions] attribute [[57696]LegacyNullToEmptyString] DOMString [576 97]bgColor; }; </p> <p> The align, axis, height, and width IDL attributes of the [57698]td and [57699]th elements must [57700]reflect the respective content attributes of the same name. </p> <p> The ch IDL attribute of the [57701]td and [57702]th elements must [57703]reflect the elements' [57704]char content attributes. </p> <p> The chOff IDL attribute of the [57705]td and [57706]th elements must [57707]reflect the elements' [57708]charoff content attributes. </p> <p> The noWrap IDL attribute of the [57709]td and [57710]th elements must [57711]reflect the elements' [57712]nowrap content attributes. </p> <p> The vAlign IDL attribute of the [57713]td and [57714]th elements must [57715]reflect the elements' [57716]valign content attributes. </p> <p> The bgColor IDL attribute of the [57717]td and [57718]th elements must [57719]reflect the elements' [57720]bgcolor content attributes. __________________________________________________________________ </p> <p> partial interface [57721]HTMLTableRowElement { [[57722]CEReactions] attribute DOMString [57723]align; [[57724]CEReactions] attribute DOMString [57725]ch; [[57726]CEReactions] attribute DOMString [57727]chOff; [[57728]CEReactions] attribute DOMString [57729]vAlign; </p> <p> [[57730]CEReactions] attribute [[57731]LegacyNullToEmptyString] DOMString [577 32]bgColor; }; </p> <p> The align IDL attribute of the [57733]tr element must [57734]reflect the content attribute of the same name. </p> <p> The ch IDL attribute of the [57735]tr element must [57736]reflect the element's [57737]char content attribute. </p> <p> The chOff IDL attribute of the [57738]tr element must [57739]reflect the element's [57740]charoff content attribute. </p> <p> The vAlign IDL attribute of the [57741]tr element must [57742]reflect the element's [57743]valign content attribute. </p> <p> The bgColor IDL attribute of the [57744]tr element must [57745]reflect the element's [57746]bgcolor content attribute. __________________________________________________________________ </p> <p> partial interface [57747]HTMLUListElement { [[57748]CEReactions] attribute boolean [57749]compact; [[57750]CEReactions] attribute DOMString [57751]type; }; </p> <p> The compact and type IDL attributes of the [57752]ul element must [57753]reflect the respective content attributes of the same name. __________________________________________________________________ </p> <p> User agents must treat [57754]xmp elements in a manner equivalent to [57755]pre elements in terms of semantics and for purposes of rendering. (The parser has special behavior for this element though.) __________________________________________________________________ </p> <p> partial interface [57756]Document { [[57757]CEReactions] attribute [[57758]LegacyNullToEmptyString] DOMString [577 59]fgColor; [[57760]CEReactions] attribute [[57761]LegacyNullToEmptyString] DOMString [577 62]linkColor; [[57763]CEReactions] attribute [[57764]LegacyNullToEmptyString] DOMString [577 65]vlinkColor; [[57766]CEReactions] attribute [[57767]LegacyNullToEmptyString] DOMString [577 68]alinkColor; [[57769]CEReactions] attribute [[57770]LegacyNullToEmptyString] DOMString [577 71]bgColor; </p> <p> [SameObject] readonly attribute [57772]HTMLCollection [57773]anchors; [SameObject] readonly attribute [57774]HTMLCollection [57775]applets; </p> <p> undefined [57776]clear(); undefined [57777]captureEvents(); undefined [57778]releaseEvents(); </p> <p> [SameObject] readonly attribute [57779]HTMLAllCollection [57780]all; }; </p> <p> The attributes of the [57781]Document object listed in the first column of the following table must [57782]reflect the content attribute on [57783]the body element with the name given in the corresponding cell in the second column on the same row, if [57784]the body element is a [57785]body element (as opposed to a [57786]frameset element). When there is no [57787]body element or if it is a [57788]frameset element, the attributes must instead return the empty string on getting and do nothing on setting. </p> <p> IDL attribute Content attribute fgColor [57789]text linkColor [57790]link vlinkColor [57791]vlink alinkColor [57792]alink bgColor [57793]bgcolor __________________________________________________________________ </p> <p> The anchors attribute must return an [57794]HTMLCollection rooted at the [57795]Document node, whose filter matches only [57796]a elements with [57797]name attributes. </p> <p> The applets attribute must return an [57798]HTMLCollection rooted at the [57799]Document node, whose filter matches nothing. (It exists for historical reasons.) </p> <p> The clear(), captureEvents(), and releaseEvents() methods must do nothing. __________________________________________________________________ </p> <p> The all attribute must return an [57800]HTMLAllCollection rooted at the [57801]Document node, whose filter matches all elements. __________________________________________________________________ </p> <p> partial interface [57802]Window { undefined [57803]captureEvents(); undefined [57804]releaseEvents(); </p> <p> [Replaceable, SameObject] readonly attribute [57805]External [57806]external; }; </p> <p> The captureEvents() and releaseEvents() methods must do nothing. </p> <p> The external attribute of the [57807]Window interface must return an instance of the [57808]External interface: [Exposed=Window] interface External { undefined [57809]AddSearchProvider(); undefined [57810]IsSearchProviderInstalled(); }; </p> <p> The AddSearchProvider() and IsSearchProviderInstalled() methods must do nothing. </p> <p> 17 IANA considerations </p> <p> 17.1 text/html </p> <p> This registration is for community review and will be submitted to the IESG for review, approval, and registration with IANA. </p> <p> Type name: text </p> <p> Subtype name: html </p> <p> Required parameters: No required parameters </p> <p> Optional parameters: </p> <p> charset The charset parameter may be provided to specify the [57811]document's character encoding, overriding any [57812]character encoding declarations in the document other than a Byte Order Mark (BOM). The parameter's value must be an [57813]ASCII case-insensitive match for the string "utf-8". [57814][ENCODING] </p> <p> Encoding considerations: 8bit (see the section on [57815]character encoding declarations) </p> <p> Security considerations: Entire novels have been written about the security considerations that apply to HTML documents. Many are listed in this document, to which the reader is referred for more details. Some general concerns bear mentioning here, however: </p> <p> HTML is scripted language, and has a large number of APIs (some of which are described in this document). Script can expose the user to potential risks of information leakage, credential leakage, cross-site scripting attacks, cross-site request forgeries, and a host of other problems. While the designs in this specification are intended to be safe if implemented correctly, a full implementation is a massive undertaking and, as with any software, user agents are likely to have security bugs. </p> <p> Even without scripting, there are specific features in HTML which, for historical reasons, are required for broad compatibility with legacy content but that expose the user to unfortunate security problems. In particular, the [57816]img element can be used in conjunction with some other features as a way to effect a port scan from the user's location on the Internet. This can expose local network topologies that the attacker would otherwise not be able to determine. </p> <p> HTML relies on a compartmentalization scheme sometimes known as the same-origin policy. An [57817]origin in most cases consists of all the pages served from the same host, on the same port, using the same protocol. </p> <p> It is critical, therefore, to ensure that any untrusted content that forms part of a site be hosted on a different [57818]origin than any sensitive content on that site. Untrusted content can easily spoof any other page on the same origin, read data from that origin, cause scripts in that origin to execute, submit forms to and from that origin even if they are protected from cross-site request forgery attacks by unique tokens, and make use of any third-party resources exposed to or rights granted to that origin. </p> <p> Interoperability considerations: Rules for processing both conforming and non-conforming content are defined in this specification. </p> <p> Published specification: This document is the relevant specification. Labeling a resource with the [57819]text/html type asserts that the resource is an [57820]HTML document using [57821]the HTML syntax. </p> <p> Applications that use this media type: Web browsers, tools for processing web content, HTML authoring tools, search engines, validators. </p> <p> Additional information: </p> <p> Magic number(s): No sequence of bytes can uniquely identify an HTML document. More information on detecting HTML documents is available in MIME Sniffing. [57822][MIMESNIFF] </p> <p> File extension(s): "html" and "htm" are commonly, but certainly not exclusively, used as the extension for HTML documents. </p> <p> Macintosh file type code(s): TEXT </p> <p> Person & email address to contact for further information: Ian Hickson <ian@hixie.ch> </p> <p> Intended usage: Common </p> <p> Restrictions on usage: No restrictions apply. </p> <p> Author: Ian Hickson <ian@hixie.ch> </p> <p> Change controller: W3C </p> <p> [57823]Fragments used with [57824]text/html resources either refer to the [57825]indicated part of the corresponding [57826]Document, or provide state information for in-page scripts. </p> <p> 17.2 multipart/x-mixed-replace </p> <p> This registration is for community review and will be submitted to the IESG for review, approval, and registration with IANA. </p> <p> Type name: multipart </p> <p> Subtype name: x-mixed-replace </p> <p> Required parameters: </p> <p> + boundary (defined in RFC2046) [57827][RFC2046] </p> <p> Optional parameters: No optional parameters. </p> <p> Encoding considerations: binary </p> <p> Security considerations: Subresources of a [57828]multipart/x-mixed-replace resource can be of any type, including types with non-trivial security implications such as [57829]text/html. </p> <p> Interoperability considerations: None. </p> <p> Published specification: This specification describes processing rules for web browsers. Conformance requirements for generating resources with this type are the same as for [57830]multipart/mixed. [57831][RFC2046] </p> <p> Applications that use this media type: This type is intended to be used in resources generated by web servers, for consumption by web browsers. </p> <p> Additional information: </p> <p> Magic number(s): No sequence of bytes can uniquely identify a [57832]multipart/x-mixed-replace resource. </p> <p> File extension(s): No specific file extensions are recommended for this type. </p> <p> Macintosh file type code(s): No specific Macintosh file type codes are recommended for this type. </p> <p> Person & email address to contact for further information: Ian Hickson <ian@hixie.ch> </p> <p> Intended usage: Common </p> <p> Restrictions on usage: No restrictions apply. </p> <p> Author: Ian Hickson <ian@hixie.ch> </p> <p> Change controller: W3C </p> <p> [57833]Fragments used with [57834]multipart/x-mixed-replace resources apply to each body part as defined by the type used by that body part. </p> <p> 17.3 application/xhtml+xml </p> <p> This registration is for community review and will be submitted to the IESG for review, approval, and registration with IANA. </p> <p> Type name: application </p> <p> Subtype name: xhtml+xml </p> <p> Required parameters: Same as for [57835]application/xml [57836][RFC7303] </p> <p> Optional parameters: Same as for [57837]application/xml [57838][RFC7303] </p> <p> Encoding considerations: Same as for [57839]application/xml [57840][RFC7303] </p> <p> Security considerations: Same as for [57841]application/xml [57842][RFC7303] </p> <p> Interoperability considerations: Same as for [57843]application/xml [57844][RFC7303] </p> <p> Published specification: Labeling a resource with the [57845]application/xhtml+xml type asserts that the resource is an XML document that likely has a [57846]document element from the [57847]HTML namespace. Thus, the relevant specifications are XML, Namespaces in XML, and this specification. [57848][XML] [57849][XMLNS] </p> <p> Applications that use this media type: Same as for [57850]application/xml [57851][RFC7303] </p> <p> Additional information: </p> <p> Magic number(s): Same as for [57852]application/xml [57853][RFC7303] </p> <p> File extension(s): "xhtml" and "xht" are sometimes used as extensions for XML resources that have a [57854]document element from the [57855]HTML namespace. </p> <p> Macintosh file type code(s): TEXT </p> <p> Person & email address to contact for further information: Ian Hickson <ian@hixie.ch> </p> <p> Intended usage: Common </p> <p> Restrictions on usage: No restrictions apply. </p> <p> Author: Ian Hickson <ian@hixie.ch> </p> <p> Change controller: W3C </p> <p> [57856]Fragments used with [57857]application/xhtml+xml resources have the same semantics as with any [57858]XML MIME type. [57859][RFC7303] </p> <p> 17.4 text/ping </p> <p> This registration is for community review and will be submitted to the IESG for review, approval, and registration with IANA. </p> <p> Type name: text </p> <p> Subtype name: ping </p> <p> Required parameters: No parameters </p> <p> Optional parameters: </p> <p> charset The charset parameter may be provided. The parameter's value must be "utf-8". This parameter serves no purpose; it is only allowed for compatibility with legacy servers. </p> <p> Encoding considerations: Not applicable. </p> <p> Security considerations: If used exclusively in the fashion described in the context of [57860]hyperlink auditing, this type introduces no new security concerns. </p> <p> Interoperability considerations: Rules applicable to this type are defined in this specification. </p> <p> Published specification: This document is the relevant specification. </p> <p> Applications that use this media type: Web browsers. </p> <p> Additional information: </p> <p> Magic number(s): [57861]text/ping resources always consist of the four bytes 0x50 0x49 0x4E 0x47 (`PING`). </p> <p> File extension(s): No specific file extension is recommended for this type. </p> <p> Macintosh file type code(s): No specific Macintosh file type codes are recommended for this type. </p> <p> Person & email address to contact for further information: Ian Hickson <ian@hixie.ch> </p> <p> Intended usage: Common </p> <p> Restrictions on usage: Only intended for use with HTTP POST requests generated as part of a web browser's processing of the [57862]ping attribute. </p> <p> Author: Ian Hickson <ian@hixie.ch> </p> <p> Change controller: W3C </p> <p> [57863]Fragments have no meaning with [57864]text/ping resources. </p> <p> 17.5 application/microdata+json </p> <p> This registration is for community review and will be submitted to the IESG for review, approval, and registration with IANA. </p> <p> Type name: application </p> <p> Subtype name: microdata+json </p> <p> Required parameters: Same as for [57865]application/json [57866][JSON] </p> <p> Optional parameters: Same as for [57867]application/json [57868][JSON] </p> <p> Encoding considerations: 8bit (always UTF-8) </p> <p> Security considerations: Same as for [57869]application/json [57870][JSON] </p> <p> Interoperability considerations: Same as for [57871]application/json [57872][JSON] </p> <p> Published specification: Labeling a resource with the [57873]application/microdata+json type asserts that the resource is a JSON text that consists of an object with a single entry called "items" consisting of an array of entries, each of which consists of an object with an entry called "id" whose value is a string, an entry called "type" whose value is another string, and an entry called "properties" whose value is an object whose entries each have a value consisting of an array of either objects or strings, the objects being of the same form as the objects in the aforementioned "items" entry. Thus, the relevant specifications are JSON and this specification. [57874][JSON] </p> <p> Applications that use this media type: Applications that transfer data intended for use with HTML's microdata feature, especially in the context of drag-and-drop, are the primary application class for this type. </p> <p> Additional information: </p> <p> Magic number(s): Same as for [57875]application/json [57876][JSON] </p> <p> File extension(s): Same as for [57877]application/json [57878][JSON] </p> <p> Macintosh file type code(s): Same as for [57879]application/json [57880][JSON] </p> <p> Person & email address to contact for further information: Ian Hickson <ian@hixie.ch> </p> <p> Intended usage: Common </p> <p> Restrictions on usage: No restrictions apply. </p> <p> Author: Ian Hickson <ian@hixie.ch> </p> <p> Change controller: W3C </p> <p> [57881]Fragments used with [57882]application/microdata+json resources have the same semantics as when used with [57883]application/json (namely, at the time of writing, no semantics at all). [57884][JSON] </p> <p> 17.6 text/event-stream </p> <p> This registration is for community review and will be submitted to the IESG for review, approval, and registration with IANA. </p> <p> Type name: text </p> <p> Subtype name: event-stream </p> <p> Required parameters: No parameters </p> <p> Optional parameters: </p> <p> charset The charset parameter may be provided. The parameter's value must be "utf-8". This parameter serves no purpose; it is only allowed for compatibility with legacy servers. </p> <p> Encoding considerations: 8bit (always UTF-8) </p> <p> Security considerations: An event stream from an origin distinct from the origin of the content consuming the event stream can result in information leakage. To avoid this, user agents are required to apply CORS semantics. [57885][FETCH] </p> <p> Event streams can overwhelm a user agent; a user agent is expected to apply suitable restrictions to avoid depleting local resources because of an overabundance of information from an event stream. </p> <p> Servers can be overwhelmed if a situation develops in which the server is causing clients to reconnect rapidly. Servers should use a 5xx status code to indicate capacity problems, as this will prevent conforming clients from reconnecting automatically. </p> <p> Interoperability considerations: Rules for processing both conforming and non-conforming content are defined in this specification. </p> <p> Published specification: This document is the relevant specification. </p> <p> Applications that use this media type: Web browsers and tools using web services. </p> <p> Additional information: </p> <p> Magic number(s): No sequence of bytes can uniquely identify an event stream. </p> <p> File extension(s): No specific file extensions are recommended for this type. </p> <p> Macintosh file type code(s): No specific Macintosh file type codes are recommended for this type. </p> <p> Person & email address to contact for further information: Ian Hickson <ian@hixie.ch> </p> <p> Intended usage: Common </p> <p> Restrictions on usage: This format is only expected to be used by dynamic open-ended streams served using HTTP or a similar protocol. Finite resources are not expected to be labeled with this type. </p> <p> Author: Ian Hickson <ian@hixie.ch> </p> <p> Change controller: W3C </p> <p> [57886]Fragments have no meaning with [57887]text/event-stream resources. </p> <p> 17.7 web+ scheme prefix </p> <p> This section describes a convention for use with the IANA URI scheme registry. It does not itself register a specific scheme. [57888][RFC7595] </p> <p> Scheme name: Schemes starting with the four characters "web+" followed by one or more letters in the range a-z. </p> <p> Status: Permanent </p> <p> Scheme syntax: Scheme-specific. </p> <p> Scheme semantics: Scheme-specific. </p> <p> Encoding considerations: All "web+" schemes should use UTF-8 encodings where relevant. </p> <p> Applications/protocols that use this scheme name: Scheme-specific. </p> <p> Interoperability considerations: The scheme is expected to be used in the context of web applications. </p> <p> Security considerations: Any web page is able to register a handler for all "web+" schemes. As such, these schemes must not be used for features intended to be core platform features (e.g., HTTP). Similarly, such schemes must not store confidential information in their URLs, such as usernames, passwords, personal information, or confidential project names. </p> <p> Contact: Ian Hickson <ian@hixie.ch> </p> <p> Change controller: Ian Hickson <ian@hixie.ch> </p> <p> References: Custom scheme handlers, HTML Living Standard: [57889]https://html.spec.whatwg.org/#custom-handlers </p> <p> Index </p> <p> The following sections only cover conforming elements and features. </p> <p> Elements </p> <p> This section is non-normative. </p> <p> CAPTION: List of elements </p> <p> Element Description Categories Parents† Children Attributes Interface [57890]a Hyperlink [57891]flow; [57892]phrasing*; [57893]interactive; [57894]palpable [57895]phrasing [57896]transparent* [57897]globals; [57898]href; [57899]target; [57900]download; [57901]ping; [57902]rel; [57903]hreflang; [57904]type; [57905]referrerpolicy [57906]HTMLAnchorElement [57907]abbr Abbreviation [57908]flow; [57909]phrasing; [57910]palpable [57911]phrasing [57912]phrasing [57913]globals [57914]HTMLElement [57915]address Contact information for a page or [57916]article element [57917]flow; [57918]palpable [57919]flow [57920]flow* [57921]globals [57922]HTMLElement [57923]area Hyperlink or dead area on an image map [57924]flow; [57925]phrasing [57926]phrasing* empty [57927]globals; [57928]alt; [57929]coords; [57930]shape; [57931]href; [57932]target; [57933]download; [57934]ping; [57935]rel; [57936]referrerpolicy [57937]HTMLAreaElement [57938]article Self-contained syndicatable or reusable composition [57939]flow; [57940]sectioning; [57941]palpable [57942]flow [57943]flow [57944]globals [57945]HTMLElement [57946]aside Sidebar for tangentially related content [57947]flow; [57948]sectioning; [57949]palpable [57950]flow [57951]flow [57952]globals [57953]HTMLElement [57954]audio Audio player [57955]flow; [57956]phrasing; [57957]embedded; [57958]interactive; [57959]palpable* [57960]phrasing [57961]source*; [57962]track*; [57963]transparent* [57964]globals; [57965]src; [57966]crossorigin; [57967]preload; [57968]autoplay; [57969]loop; [57970]muted; [57971]controls [57972]HTMLAudioElement [57973]b Keywords [57974]flow; [57975]phrasing; [57976]palpable [57977]phrasing [57978]phrasing [57979]globals [57980]HTMLElement [57981]base Base URL and default target [57982]navigable for [57983]hyperlinks and [57984]forms [57985]metadata [57986]head empty [57987]globals; [57988]href; [57989]target [57990]HTMLBaseElement [57991]bdi Text directionality isolation [57992]flow; [57993]phrasing; [57994]palpable [57995]phrasing [57996]phrasing [57997]globals [57998]HTMLElement [57999]bdo Text directionality formatting [58000]flow; [58001]phrasing; [58002]palpable [58003]phrasing [58004]phrasing [58005]globals [58006]HTMLElement [58007]blockquote A section quoted from another source [58008]flow; [58009]palpable [58010]flow [58011]flow [58012]globals; [58013]cite [58014]HTMLQuoteElement [58015]body Document body none [58016]html [58017]flow [58018]globals; [58019]onafterprint; [58020]onbeforeprint; [58021]onbeforeunload; [58022]onhashchange; [58023]onlanguagechange; [58024]onmessage; [58025]onmessageerror; [58026]onoffline; [58027]ononline; [58028]onpageswap; [58029]onpagehide; [58030]onpagereveal; [58031]onpageshow; [58032]onpopstate; [58033]onrejectionhandled; [58034]onstorage; [58035]onunhandledrejection; [58036]onunload [58037]HTMLBodyElement [58038]br Line break, e.g. in poem or postal address [58039]flow; [58040]phrasing [58041]phrasing empty [58042]globals [58043]HTMLBRElement [58044]button Button control [58045]flow; [58046]phrasing; [58047]interactive; [58048]listed; [58049]labelable; [58050]submittable; [58051]form-associated; [58052]palpable [58053]phrasing [58054]phrasing* [58055]globals; [58056]command; [58057]commandfor; [58058]disabled; [58059]form; [58060]formaction; [58061]formenctype; [58062]formmethod; [58063]formnovalidate; [58064]formtarget; [58065]name; [58066]popovertarget; [58067]popovertargetaction; [58068]type; [58069]value [58070]HTMLButtonElement [58071]canvas Scriptable bitmap canvas [58072]flow; [58073]phrasing; [58074]embedded; [58075]palpable [58076]phrasing [58077]transparent [58078]globals; [58079]width; [58080]height [58081]HTMLCanvasElement [58082]caption Table caption none [58083]table [58084]flow* [58085]globals [58086]HTMLTableCaptionElement [58087]cite Title of a work [58088]flow; [58089]phrasing; [58090]palpable [58091]phrasing [58092]phrasing [58093]globals [58094]HTMLElement [58095]code Computer code [58096]flow; [58097]phrasing; [58098]palpable [58099]phrasing [58100]phrasing [58101]globals [58102]HTMLElement [58103]col Table column none [58104]colgroup empty [58105]globals; [58106]span [58107]HTMLTableColElement [58108]colgroup Group of columns in a table none [58109]table [58110]col*; [58111]template* [58112]globals; [58113]span [58114]HTMLTableColElement [58115]data Machine-readable equivalent [58116]flow; [58117]phrasing; [58118]palpable [58119]phrasing [58120]phrasing [58121]globals; [58122]value [58123]HTMLDataElement [58124]datalist Container for options for [58125]combo box control [58126]flow; [58127]phrasing [58128]phrasing [58129]phrasing*; [58130]option*; [58131]script-supporting elements* [58132]globals [58133]HTMLDataListElement [58134]dd Content for corresponding [58135]dt element(s) none [58136]dl; [58137]div* [58138]flow [58139]globals [58140]HTMLElement [58141]del A removal from the document [58142]flow; [58143]phrasing*; [58144]palpable [58145]phrasing [58146]transparent [58147]globals; [58148]cite; [58149]datetime [58150]HTMLModElement [58151]details Disclosure control for hiding details [58152]flow; [58153]interactive; [58154]palpable [58155]flow [58156]summary*; [58157]flow [58158]globals; [58159]name; [58160]open [58161]HTMLDetailsElement [58162]dfn Defining instance [58163]flow; [58164]phrasing; [58165]palpable [58166]phrasing [58167]phrasing* [58168]globals [58169]HTMLElement [58170]dialog Dialog box or window [58171]flow [58172]flow [58173]flow [58174]globals; [58175]open [58176]HTMLDialogElement [58177]div Generic flow container, or container for name-value groups in [58178]dl elements [58179]flow; [58180]palpable [58181]flow; [58182]dl [58183]flow [58184]globals [58185]HTMLDivElement [58186]dl Association list consisting of zero or more name-value groups [58187]flow; [58188]palpable [58189]flow [58190]dt*; [58191]dd*; [58192]div*; [58193]script-supporting elements [58194]globals [58195]HTMLDListElement [58196]dt Legend for corresponding [58197]dd element(s) none [58198]dl; [58199]div* [58200]flow* [58201]globals [58202]HTMLElement [58203]em Stress emphasis [58204]flow; [58205]phrasing; [58206]palpable [58207]phrasing [58208]phrasing [58209]globals [58210]HTMLElement [58211]embed [58212]Plugin [58213]flow; [58214]phrasing; [58215]embedded; [58216]interactive; [58217]palpable [58218]phrasing empty [58219]globals; [58220]src; [58221]type; [58222]width; [58223]height; any* [58224]HTMLEmbedElement [58225]fieldset Group of form controls [58226]flow; [58227]listed; [58228]form-associated; [58229]palpable [58230]flow [58231]legend*; [58232]flow [58233]globals; [58234]disabled; [58235]form; [58236]name [58237]HTMLFieldSetElement [58238]figcaption Caption for [58239]figure none [58240]figure [58241]flow [58242]globals [58243]HTMLElement [58244]figure Figure with optional caption [58245]flow; [58246]palpable [58247]flow [58248]figcaption*; [58249]flow [58250]globals [58251]HTMLElement [58252]footer Footer for a page or section [58253]flow; [58254]palpable [58255]flow [58256]flow* [58257]globals [58258]HTMLElement [58259]form User-submittable form [58260]flow; [58261]palpable [58262]flow [58263]flow* [58264]globals; [58265]accept-charset; [58266]action; [58267]autocomplete; [58268]enctype; [58269]method; [58270]name; [58271]novalidate; [58272]rel; [58273]target [58274]HTMLFormElement [58275]h1, [58276]h2, [58277]h3, [58278]h4, [58279]h5, [58280]h6 Heading [58281]flow; [58282]heading; [58283]palpable [58284]legend; [58285]summary; [58286]flow [58287]phrasing [58288]globals [58289]HTMLHeadingElement [58290]head Container for document metadata none [58291]html [58292]metadata content* [58293]globals [58294]HTMLHeadElement [58295]header Introductory or navigational aids for a page or section [58296]flow; [58297]palpable [58298]flow [58299]flow* [58300]globals [58301]HTMLElement [58302]hgroup Heading container [58303]flow; [58304]palpable [58305]legend; [58306]summary; [58307]flow [58308]h1; [58309]h2; [58310]h3; [58311]h4; [58312]h5; [58313]h6; [58314]script-supporting elements [58315]globals [58316]HTMLElement [58317]hr Thematic break [58318]flow [58319]flow empty [58320]globals [58321]HTMLHRElement [58322]html Root element none none* [58323]head*; [58324]body* [58325]globals [58326]HTMLHtmlElement [58327]i Alternate voice [58328]flow; [58329]phrasing; [58330]palpable [58331]phrasing [58332]phrasing [58333]globals [58334]HTMLElement [58335]iframe [58336]Child navigable [58337]flow; [58338]phrasing; [58339]embedded; [58340]interactive; [58341]palpable [58342]phrasing empty [58343]globals; [58344]src; [58345]srcdoc; [58346]name; [58347]sandbox; [58348]allow; [58349]allowfullscreen; [58350]width; [58351]height; [58352]referrerpolicy; [58353]loading [58354]HTMLIFrameElement [58355]img Image [58356]flow; [58357]phrasing; [58358]embedded; [58359]interactive*; [58360]form-associated; [58361]palpable [58362]phrasing; [58363]picture empty [58364]globals; [58365]alt; [58366]src; [58367]srcset; [58368]sizes; [58369]crossorigin; [58370]usemap; [58371]ismap; [58372]width; [58373]height; [58374]referrerpolicy; [58375]decoding; [58376]loading; [58377]fetchpriority [58378]HTMLImageElement [58379]input Form control [58380]flow; [58381]phrasing; [58382]interactive*; [58383]listed; [58384]labelable; [58385]submittable; [58386]resettable; [58387]form-associated; [58388]palpable* [58389]phrasing empty [58390]globals; [58391]accept; [58392]alpha; [58393]alt; [58394]autocomplete; [58395]checked; [58396]colorspace; [58397]dirname; [58398]disabled; [58399]form; [58400]formaction; [58401]formenctype; [58402]formmethod; [58403]formnovalidate; [58404]formtarget; [58405]height; [58406]list; [58407]max; [58408]maxlength; [58409]min; [58410]minlength; [58411]multiple; [58412]name; [58413]pattern; [58414]placeholder; [58415]popovertarget; [58416]popovertargetaction; [58417]readonly; [58418]required; [58419]size; [58420]src; [58421]step; [58422]type; [58423]value; [58424]width [58425]HTMLInputElement [58426]ins An addition to the document [58427]flow; [58428]phrasing*; [58429]palpable [58430]phrasing [58431]transparent [58432]globals; [58433]cite; [58434]datetime [58435]HTMLModElement [58436]kbd User input [58437]flow; [58438]phrasing; [58439]palpable [58440]phrasing [58441]phrasing [58442]globals [58443]HTMLElement [58444]label Caption for a form control [58445]flow; [58446]phrasing; [58447]interactive; [58448]palpable [58449]phrasing [58450]phrasing* [58451]globals; [58452]for [58453]HTMLLabelElement [58454]legend Caption for [58455]fieldset none [58456]fieldset [58457]phrasing; [58458]heading content [58459]globals [58460]HTMLLegendElement [58461]li List item none [58462]ol; [58463]ul; [58464]menu* [58465]flow [58466]globals; [58467]value* [58468]HTMLLIElement [58469]link Link metadata [58470]metadata; [58471]flow*; [58472]phrasing* [58473]head; [58474]noscript*; [58475]phrasing* empty [58476]globals; [58477]href; [58478]crossorigin; [58479]rel; [58480]as; [58481]media; [58482]hreflang; [58483]type; [58484]sizes; [58485]imagesrcset; [58486]imagesizes; [58487]referrerpolicy; [58488]integrity; [58489]blocking; [58490]color; [58491]disabled; [58492]fetchpriority [58493]HTMLLinkElement [58494]main Container for the dominant contents of the document [58495]flow; [58496]palpable [58497]flow* [58498]flow [58499]globals [58500]HTMLElement [58501]map [58502]Image map [58503]flow; [58504]phrasing*; [58505]palpable [58506]phrasing [58507]transparent; [58508]area* [58509]globals; [58510]name [58511]HTMLMapElement [58512]mark Highlight [58513]flow; [58514]phrasing; [58515]palpable [58516]phrasing [58517]phrasing [58518]globals [58519]HTMLElement [58520]MathML math MathML root [58521]flow; [58522]phrasing; [58523]embedded; [58524]palpable [58525]phrasing per [58526][MATHML] per [58527][MATHML] [58528]Element [58529]menu Menu of commands [58530]flow; [58531]palpable* [58532]flow [58533]li; [58534]script-supporting elements [58535]globals [58536]HTMLMenuElement [58537]meta Text metadata [58538]metadata; [58539]flow*; [58540]phrasing* [58541]head; [58542]noscript*; [58543]phrasing* empty [58544]globals; [58545]name; [58546]http-equiv; [58547]content; [58548]charset; [58549]media [58550]HTMLMetaElement [58551]meter Gauge [58552]flow; [58553]phrasing; [58554]labelable; [58555]palpable [58556]phrasing [58557]phrasing* [58558]globals; [58559]value; [58560]min; [58561]max; [58562]low; [58563]high; [58564]optimum [58565]HTMLMeterElement [58566]nav Section with navigational links [58567]flow; [58568]sectioning; [58569]palpable [58570]flow [58571]flow [58572]globals [58573]HTMLElement [58574]noscript Fallback content for script [58575]metadata; [58576]flow; [58577]phrasing [58578]head*; [58579]phrasing* varies* [58580]globals [58581]HTMLElement [58582]object Image, [58583]child navigable, or [58584]plugin [58585]flow; [58586]phrasing; [58587]embedded; [58588]interactive*; [58589]listed; [58590]form-associated; [58591]palpable [58592]phrasing [58593]transparent [58594]globals; [58595]data; [58596]type; [58597]name; [58598]form; [58599]width; [58600]height [58601]HTMLObjectElement [58602]ol Ordered list [58603]flow; [58604]palpable* [58605]flow [58606]li; [58607]script-supporting elements [58608]globals; [58609]reversed; [58610]start; [58611]type [58612]HTMLOListElement [58613]optgroup Group of options in a list box none [58614]select [58615]option; [58616]script-supporting elements [58617]globals; [58618]disabled; [58619]label [58620]HTMLOptGroupElement [58621]option Option in a list box or combo box control none [58622]select; [58623]datalist; [58624]optgroup [58625]text* [58626]globals; [58627]disabled; [58628]label; [58629]selected; [58630]value [58631]HTMLOptionElement [58632]output Calculated output value [58633]flow; [58634]phrasing; [58635]listed; [58636]labelable; [58637]resettable; [58638]form-associated; [58639]palpable [58640]phrasing [58641]phrasing [58642]globals; [58643]for; [58644]form; [58645]name [58646]HTMLOutputElement [58647]p Paragraph [58648]flow; [58649]palpable [58650]flow [58651]phrasing [58652]globals [58653]HTMLParagraphElement [58654]picture Image [58655]flow; [58656]phrasing; [58657]embedded; [58658]palpable [58659]phrasing [58660]source*; one [58661]img; [58662]script-supporting elements [58663]globals [58664]HTMLPictureElement [58665]pre Block of preformatted text [58666]flow; [58667]palpable [58668]flow [58669]phrasing [58670]globals [58671]HTMLPreElement [58672]progress Progress bar [58673]flow; [58674]phrasing; [58675]labelable; [58676]palpable [58677]phrasing [58678]phrasing* [58679]globals; [58680]value; [58681]max [58682]HTMLProgressElement [58683]q Quotation [58684]flow; [58685]phrasing; [58686]palpable [58687]phrasing [58688]phrasing [58689]globals; [58690]cite [58691]HTMLQuoteElement [58692]rp Parenthesis for ruby annotation text none [58693]ruby [58694]text [58695]globals [58696]HTMLElement [58697]rt Ruby annotation text none [58698]ruby [58699]phrasing [58700]globals [58701]HTMLElement [58702]ruby Ruby annotation(s) [58703]flow; [58704]phrasing; [58705]palpable [58706]phrasing [58707]phrasing; [58708]rt; [58709]rp* [58710]globals [58711]HTMLElement [58712]s Inaccurate text [58713]flow; [58714]phrasing; [58715]palpable [58716]phrasing [58717]phrasing [58718]globals [58719]HTMLElement [58720]samp Computer output [58721]flow; [58722]phrasing; [58723]palpable [58724]phrasing [58725]phrasing [58726]globals [58727]HTMLElement [58728]script Embedded script [58729]metadata; [58730]flow; [58731]phrasing; [58732]script-supporting [58733]head; [58734]phrasing; [58735]script-supporting script, data, or script documentation* [58736]globals; [58737]src; [58738]type; [58739]nomodule; [58740]async; [58741]defer; [58742]crossorigin; [58743]integrity; [58744]referrerpolicy; [58745]blocking; [58746]fetchpriority [58747]HTMLScriptElement [58748]search Container for search controls [58749]flow; [58750]palpable [58751]flow [58752]flow [58753]globals [58754]HTMLElement [58755]section Generic document or application section [58756]flow; [58757]sectioning; [58758]palpable [58759]flow [58760]flow [58761]globals [58762]HTMLElement [58763]select List box control [58764]flow; [58765]phrasing; [58766]interactive; [58767]listed; [58768]labelable; [58769]submittable; [58770]resettable; [58771]form-associated; [58772]palpable [58773]phrasing [58774]option; [58775]optgroup; [58776]script-supporting elements [58777]globals; [58778]autocomplete; [58779]disabled; [58780]form; [58781]multiple; [58782]name; [58783]required; [58784]size [58785]HTMLSelectElement [58786]slot Shadow tree slot [58787]flow; [58788]phrasing [58789]phrasing [58790]transparent [58791]globals; [58792]name [58793]HTMLSlotElement [58794]small Side comment [58795]flow; [58796]phrasing; [58797]palpable [58798]phrasing [58799]phrasing [58800]globals [58801]HTMLElement [58802]source Image source for [58803]img or media source for [58804]video or [58805]audio none [58806]picture; [58807]video; [58808]audio empty [58809]globals; [58810]type; [58811]media; [58812]src; [58813]srcset; [58814]sizes; [58815]width; [58816]height [58817]HTMLSourceElement [58818]span Generic phrasing container [58819]flow; [58820]phrasing; [58821]palpable [58822]phrasing [58823]phrasing [58824]globals [58825]HTMLSpanElement [58826]strong Importance [58827]flow; [58828]phrasing; [58829]palpable [58830]phrasing [58831]phrasing [58832]globals [58833]HTMLElement [58834]style Embedded styling information [58835]metadata [58836]head; [58837]noscript* text* [58838]globals; [58839]media; [58840]blocking [58841]HTMLStyleElement [58842]sub Subscript [58843]flow; [58844]phrasing; [58845]palpable [58846]phrasing [58847]phrasing [58848]globals [58849]HTMLElement [58850]summary Caption for [58851]details none [58852]details [58853]phrasing; [58854]heading content [58855]globals [58856]HTMLElement [58857]sup Superscript [58858]flow; [58859]phrasing; [58860]palpable [58861]phrasing [58862]phrasing [58863]globals [58864]HTMLElement [58865]SVG svg SVG root [58866]flow; [58867]phrasing; [58868]embedded; [58869]palpable [58870]phrasing per [58871][SVG] per [58872][SVG] [58873]SVGSVGElement [58874]table Table [58875]flow; [58876]palpable [58877]flow [58878]caption*; [58879]colgroup*; [58880]thead*; [58881]tbody*; [58882]tfoot*; [58883]tr*; [58884]script-supporting elements [58885]globals [58886]HTMLTableElement [58887]tbody Group of rows in a table none [58888]table [58889]tr; [58890]script-supporting elements [58891]globals [58892]HTMLTableSectionElement [58893]td Table cell none [58894]tr [58895]flow [58896]globals; [58897]colspan; [58898]rowspan; [58899]headers [58900]HTMLTableCellElement [58901]template Template [58902]metadata; [58903]flow; [58904]phrasing; [58905]script-supporting [58906]metadata; [58907]phrasing; [58908]script-supporting; [58909]colgroup* empty [58910]globals; [58911]shadowrootmode; [58912]shadowrootdelegatesfocus; [58913]shadowrootclonable; [58914]shadowrootserializable; [58915]shadowrootcustomelementregistry [58916]HTMLTemplateElement [58917]textarea Multiline text controls [58918]flow; [58919]phrasing; [58920]interactive; [58921]listed; [58922]labelable; [58923]submittable; [58924]resettable; [58925]form-associated; [58926]palpable [58927]phrasing [58928]text [58929]globals; [58930]autocomplete; [58931]cols; [58932]dirname; [58933]disabled; [58934]form; [58935]maxlength; [58936]minlength; [58937]name; [58938]placeholder; [58939]readonly; [58940]required; [58941]rows; [58942]wrap [58943]HTMLTextAreaElement [58944]tfoot Group of footer rows in a table none [58945]table [58946]tr; [58947]script-supporting elements [58948]globals [58949]HTMLTableSectionElement [58950]th Table header cell [58951]interactive* [58952]tr [58953]flow* [58954]globals; [58955]colspan; [58956]rowspan; [58957]headers; [58958]scope; [58959]abbr [58960]HTMLTableCellElement [58961]thead Group of heading rows in a table none [58962]table [58963]tr; [58964]script-supporting elements [58965]globals [58966]HTMLTableSectionElement [58967]time Machine-readable equivalent of date- or time-related data [58968]flow; [58969]phrasing; [58970]palpable [58971]phrasing [58972]phrasing [58973]globals; [58974]datetime [58975]HTMLTimeElement [58976]title Document title [58977]metadata [58978]head [58979]text* [58980]globals [58981]HTMLTitleElement [58982]tr Table row none [58983]table; [58984]thead; [58985]tbody; [58986]tfoot [58987]th*; [58988]td; [58989]script-supporting elements [58990]globals [58991]HTMLTableRowElement [58992]track Timed text track none [58993]audio; [58994]video empty [58995]globals; [58996]default; [58997]kind; [58998]label; [58999]src; [59000]srclang [59001]HTMLTrackElement [59002]u Unarticulated annotation [59003]flow; [59004]phrasing; [59005]palpable [59006]phrasing [59007]phrasing [59008]globals [59009]HTMLElement [59010]ul List [59011]flow; [59012]palpable* [59013]flow [59014]li; [59015]script-supporting elements [59016]globals [59017]HTMLUListElement [59018]var Variable [59019]flow; [59020]phrasing; [59021]palpable [59022]phrasing [59023]phrasing [59024]globals [59025]HTMLElement [59026]video Video player [59027]flow; [59028]phrasing; [59029]embedded; [59030]interactive; [59031]palpable [59032]phrasing [59033]source*; [59034]track*; [59035]transparent* [59036]globals; [59037]src; [59038]crossorigin; [59039]poster; [59040]preload; [59041]autoplay; [59042]playsinline; [59043]loop; [59044]muted; [59045]controls; [59046]width; [59047]height [59048]HTMLVideoElement [59049]wbr Line breaking opportunity [59050]flow; [59051]phrasing [59052]phrasing empty [59053]globals [59054]HTMLElement [59055]autonomous custom elements Author-defined elements [59056]flow; [59057]phrasing; [59058]palpable [59059]flow; [59060]phrasing [59061]transparent [59062]globals; any, as decided by the element's author Supplied by the element's author (inherits from [59063]HTMLElement) </p> <p> An asterisk (*) in a cell indicates that the actual rules are more complicated than indicated in the table above. </p> <p> † Categories in the "Parents" column refer to parents that list the given categories in their content model, not to elements that themselves are in those categories. For example, the [59064]a element's "Parents" column says "phrasing", so any element whose content model contains the "phrasing" category could be a parent of an [59065]a element. Since the "flow" category includes all the "phrasing" elements, that means the [59066]th element could be a parent to an [59067]a element. </p> <p> Element content categories </p> <p> This section is non-normative. </p> <p> CAPTION: List of element content categories </p> <p> Category Elements Elements with exceptions [59068]Metadata content [59069]base; [59070]link; [59071]meta; [59072]noscript; [59073]script; [59074]style; [59075]template; [59076]title — [59077]Flow content [59078]a; [59079]abbr; [59080]address; [59081]article; [59082]aside; [59083]audio; [59084]b; [59085]bdi; [59086]bdo; [59087]blockquote; [59088]br; [59089]button; [59090]canvas; [59091]cite; [59092]code; [59093]data; [59094]datalist; [59095]del; [59096]details; [59097]dfn; [59098]dialog; [59099]div; [59100]dl; [59101]em; [59102]embed; [59103]fieldset; [59104]figure; [59105]footer; [59106]form; [59107]h1; [59108]h2; [59109]h3; [59110]h4; [59111]h5; [59112]h6; [59113]header; [59114]hgroup; [59115]hr; [59116]i; [59117]iframe; [59118]img; [59119]input; [59120]ins; [59121]kbd; [59122]label; [59123]map; [59124]mark; [59125]MathML math; [59126]menu; [59127]meter; [59128]nav; [59129]noscript; [59130]object; [59131]ol; [59132]output; [59133]p; [59134]picture; [59135]pre; [59136]progress; [59137]q; [59138]ruby; [59139]s; [59140]samp; [59141]script; [59142]search; [59143]section; [59144]select; [59145]slot; [59146]small; [59147]span; [59148]strong; [59149]sub; [59150]sup; [59151]SVG svg; [59152]table; [59153]template; [59154]textarea; [59155]time; [59156]u; [59157]ul; [59158]var; [59159]video; [59160]wbr; [59161]autonomous custom elements; [59162]Text [59163]area (if it is a descendant of a [59164]map element); [59165]link (if it is [59166]allowed in the body); [59167]main (if it is a [59168]hierarchically correct main element); [59169]meta (if the [59170]itemprop attribute is present) [59171]Sectioning content [59172]article; [59173]aside; [59174]nav; [59175]section — [59176]Heading content [59177]h1; [59178]h2; [59179]h3; [59180]h4; [59181]h5; [59182]h6; [59183]hgroup — [59184]Phrasing content [59185]a; [59186]abbr; [59187]audio; [59188]b; [59189]bdi; [59190]bdo; [59191]br; [59192]button; [59193]canvas; [59194]cite; [59195]code; [59196]data; [59197]datalist; [59198]del; [59199]dfn; [59200]em; [59201]embed; [59202]i; [59203]iframe; [59204]img; [59205]input; [59206]ins; [59207]kbd; [59208]label; [59209]map; [59210]mark; [59211]MathML math; [59212]meter; [59213]noscript; [59214]object; [59215]output; [59216]picture; [59217]progress; [59218]q; [59219]ruby; [59220]s; [59221]samp; [59222]script; [59223]select; [59224]slot; [59225]small; [59226]span; [59227]strong; [59228]sub; [59229]sup; [59230]SVG svg; [59231]template; [59232]textarea; [59233]time; [59234]u; [59235]var; [59236]video; [59237]wbr; [59238]autonomous custom elements; [59239]Text [59240]area (if it is a descendant of a [59241]map element); [59242]link (if it is [59243]allowed in the body); [59244]meta (if the [59245]itemprop attribute is present) [59246]Embedded content [59247]audio; [59248]canvas; [59249]embed; [59250]iframe; [59251]img; [59252]MathML math; [59253]object; [59254]picture; [59255]SVG svg; [59256]video — [59257]Interactive content [59258]button; [59259]details; [59260]embed; [59261]iframe; [59262]label; [59263]select; [59264]textarea [59265]a (if the [59266]href attribute is present); [59267]audio (if the [59268]controls attribute is present); [59269]img (if the [59270]usemap attribute is present); [59271]input (if the [59272]type attribute is not in the [59273]Hidden state); [59274]video (if the [59275]controls attribute is present) [59276]Form-associated elements [59277]button; [59278]fieldset; [59279]input; [59280]label; [59281]object; [59282]output; [59283]select; [59284]textarea; [59285]img; [59286]form-associated custom elements — [59287]Listed elements [59288]button; [59289]fieldset; [59290]input; [59291]object; [59292]output; [59293]select; [59294]textarea; [59295]form-associated custom elements — [59296]Submittable elements [59297]button; [59298]input; [59299]select; [59300]textarea; [59301]form-associated custom elements — [59302]Resettable elements [59303]input; [59304]output; [59305]select; [59306]textarea; [59307]form-associated custom elements — [59308]Autocapitalize-and-autocorrect inheriting elements [59309]button; [59310]fieldset; [59311]input; [59312]output; [59313]select; [59314]textarea — [59315]Labelable elements [59316]button; [59317]input; [59318]meter; [59319]output; [59320]progress; [59321]select; [59322]textarea; [59323]form-associated custom elements — [59324]Palpable content [59325]a; [59326]abbr; [59327]address; [59328]article; [59329]aside; [59330]b; [59331]bdi; [59332]bdo; [59333]blockquote; [59334]button; [59335]canvas; [59336]cite; [59337]code; [59338]data; [59339]del; [59340]details; [59341]dfn; [59342]div; [59343]em; [59344]embed; [59345]fieldset; [59346]figure; [59347]footer; [59348]form; [59349]h1; [59350]h2; [59351]h3; [59352]h4; [59353]h5; [59354]h6; [59355]header; [59356]hgroup; [59357]i; [59358]iframe; [59359]img; [59360]ins; [59361]kbd; [59362]label; [59363]main; [59364]map; [59365]mark; [59366]MathML math; [59367]meter; [59368]nav; [59369]object; [59370]output; [59371]p; [59372]picture; [59373]pre; [59374]progress; [59375]q; [59376]ruby; [59377]s; [59378]samp; [59379]search; [59380]section; [59381]select; [59382]small; [59383]span; [59384]strong; [59385]sub; [59386]sup; [59387]SVG svg; [59388]table; [59389]textarea; [59390]time; [59391]u; [59392]var; [59393]video; [59394]autonomous custom elements [59395]audio (if the [59396]controls attribute is present); [59397]dl (if the element's children include at least one name-value group); [59398]input (if the [59399]type attribute is not in the [59400]Hidden state); [59401]menu (if the element's children include at least one [59402]li element); [59403]ol (if the element's children include at least one [59404]li element); [59405]ul (if the element's children include at least one [59406]li element); [59407]Text that is not [59408]inter-element whitespace [59409]Script-supporting elements [59410]script; [59411]template — </p> <p> Attributes </p> <p> This section is non-normative. </p> <p> CAPTION: List of attributes (excluding event handler content attributes) </p> <p> Attribute Element(s) Description Value abbr [59412]th Alternative label to use for the header cell when referencing the cell in other contexts [59413]Text* accept [59414]input Hint for expected file type in [59415]file upload controls [59416]Set of comma-separated tokens* consisting of [59417]valid MIME type strings with no parameters or audio/*, video/*, or image/* accept-charset [59418]form Character encodings to use for [59419]form submission [59420]ASCII case-insensitive match for "UTF-8" accesskey [59421]HTML elements Keyboard shortcut to activate or focus element [59422]Ordered set of unique space-separated tokens, none of which are [59423]identical to another, each consisting of one code point in length action [59424]form [59425]URL to use for [59426]form submission [59427]Valid non-empty URL potentially surrounded by spaces allow [59428]iframe [59429]Permissions policy to be applied to the [59430]iframe's contents [59431]Serialized permissions policy allowfullscreen [59432]iframe Whether to allow the [59433]iframe's contents to use [59434]requestFullscreen() [59435]Boolean attribute alpha [59436]input Allow the color's alpha component to be set [59437]Boolean attribute alt [59438]area; [59439]img; [59440]input Replacement text for use when images are not available [59441]Text* as [59442]link [59443]Potential destination for a preload request (for [59444]rel="[59445]preload" and [59446]rel="[59447]modulepreload") [59448]Potential destination, for [59449]rel="[59450]preload"; [59451]script-like destination, for [59452]rel="[59453]modulepreload" async [59454]script Execute script when available, without blocking while fetching [59455]Boolean attribute autocapitalize [59456]HTML elements Recommended autocapitalization behavior (for supported input methods) "[59457]on"; "[59458]off"; "[59459]none"; "[59460]sentences"; "[59461]words"; "[59462]characters" autocomplete [59463]form Default setting for autofill feature for controls in the form "on"; "off" autocomplete [59464]input; [59465]select; [59466]textarea Hint for form autofill feature [59467]Autofill field name and related tokens* autocorrect [59468]HTML elements Recommended autocorrection behavior (for supported input methods) "[59469]on"; "[59470]off" autofocus [59471]HTML elements Automatically focus the element when the page is loaded [59472]Boolean attribute autoplay [59473]audio; [59474]video Hint that the [59475]media resource can be started automatically when the page is loaded [59476]Boolean attribute blocking [59477]link; [59478]script; [59479]style Whether the element is [59480]potentially render-blocking [59481]Unordered set of unique space-separated tokens* charset [59482]meta [59483]Character encoding declaration "utf-8" checked [59484]input Whether the control is checked [59485]Boolean attribute cite [59486]blockquote; [59487]del; [59488]ins; [59489]q Link to the source of the quotation or more information about the edit [59490]Valid URL potentially surrounded by spaces class [59491]HTML elements Classes to which the element belongs [59492]Set of space-separated tokens closedby [59493]dialog Which user actions will close the dialog "[59494]any"; "[59495]closerequest"; "[59496]none"; color [59497]link Color to use when customizing a site's icon (for [59498]rel="mask-icon") CSS [59499]<color> colorspace [59500]input The color space of the serialized color "[59501]limited-srgb"; "[59502]display-p3" cols [59503]textarea Maximum number of characters per line [59504]Valid non-negative integer greater than zero colspan [59505]td; [59506]th Number of columns that the cell is to span [59507]Valid non-negative integer greater than zero command [59508]button Indicates to the targeted element which action to take. "[59509]toggle-popover"; "[59510]show-popover"; "[59511]hide-popover"; "[59512]close"; "[59513]show-modal"; a [59514]custom command keyword commandfor [59515]button Targets another element to be invoked. [59516]ID* content [59517]meta Value of the element [59518]Text* contenteditable [59519]HTML elements Whether the element is editable "true"; "plaintext-only"; "false" controls [59520]audio; [59521]video Show user agent controls [59522]Boolean attribute coords [59523]area Coordinates for the shape to be created in an [59524]image map [59525]Valid list of floating-point numbers* crossorigin [59526]audio; [59527]img; [59528]link; [59529]script; [59530]video How the element handles crossorigin requests "[59531]anonymous"; "[59532]use-credentials" data [59533]object Address of the resource [59534]Valid non-empty URL potentially surrounded by spaces datetime [59535]del; [59536]ins Date and (optionally) time of the change [59537]Valid date string with optional time datetime [59538]time Machine-readable value [59539]Valid month string, [59540]valid date string, [59541]valid yearless date string, [59542]valid time string, [59543]valid local date and time string, [59544]valid time-zone offset string, [59545]valid global date and time string, [59546]valid week string, [59547]valid non-negative integer, or [59548]valid duration string decoding [59549]img Decoding hint to use when processing this image for presentation "[59550]sync"; "[59551]async"; "[59552]auto" default [59553]track Enable the track if no other [59554]text track is more suitable [59555]Boolean attribute defer [59556]script Defer script execution [59557]Boolean attribute dir [59558]HTML elements [59559]The text directionality of the element "[59560]ltr"; "[59561]rtl"; "[59562]auto" dir [59563]bdo [59564]The text directionality of the element "[59565]ltr"; "[59566]rtl" dirname [59567]input; [59568]textarea Name of form control to use for sending the element's [59569]directionality in [59570]form submission [59571]Text* disabled [59572]button; [59573]input; [59574]optgroup; [59575]option; [59576]select; [59577]textarea; [59578]form-associated custom elements Whether the form control is disabled [59579]Boolean attribute disabled [59580]fieldset Whether the descendant form controls, except any inside [59581]legend, are disabled [59582]Boolean attribute disabled [59583]link Whether the link is disabled [59584]Boolean attribute download [59585]a; [59586]area Whether to download the resource instead of navigating to it, and its filename if so Text draggable [59587]HTML elements Whether the element is draggable "true"; "false" enctype [59588]form [59589]Entry list encoding type to use for [59590]form submission "[59591]application/x-www-form-urlencoded"; "[59592]multipart/form-data"; "[59593]text/plain" enterkeyhint [59594]HTML elements Hint for selecting an enter key action "[59595]enter"; "[59596]done"; "[59597]go"; "[59598]next"; "[59599]previous"; "[59600]search"; "[59601]send" fetchpriority [59602]img; [59603]link; [59604]script Sets the [59605]priority for [59606]fetches initiated by the element "[59607]auto"; "[59608]high"; "[59609]low" for [59610]label Associate the label with form control [59611]ID* for [59612]output Specifies controls from which the output was calculated [59613]Unordered set of unique space-separated tokens consisting of IDs* form [59614]button; [59615]fieldset; [59616]input; [59617]object; [59618]output; [59619]select; [59620]textarea; [59621]form-associated custom elements Associates the element with a [59622]form element [59623]ID* formaction [59624]button; [59625]input [59626]URL to use for [59627]form submission [59628]Valid non-empty URL potentially surrounded by spaces formenctype [59629]button; [59630]input [59631]Entry list encoding type to use for [59632]form submission "[59633]application/x-www-form-urlencoded"; "[59634]multipart/form-data"; "[59635]text/plain" formmethod [59636]button; [59637]input Variant to use for [59638]form submission "GET"; "POST"; "dialog" formnovalidate [59639]button; [59640]input Bypass form control validation for [59641]form submission [59642]Boolean attribute formtarget [59643]button; [59644]input [59645]Navigable for [59646]form submission [59647]Valid navigable target name or keyword headers [59648]td; [59649]th The header cells for this cell [59650]Unordered set of unique space-separated tokens consisting of IDs* height [59651]canvas; [59652]embed; [59653]iframe; [59654]img; [59655]input; [59656]object; [59657]source (in [59658]picture); [59659]video Vertical dimension [59660]Valid non-negative integer hidden [59661]HTML elements Whether the element is relevant "[59662]until-found"; "[59663]hidden"; the empty string high [59664]meter Low limit of high range [59665]Valid floating-point number* href [59666]a; [59667]area Address of the [59668]hyperlink [59669]Valid URL potentially surrounded by spaces href [59670]link Address of the [59671]hyperlink [59672]Valid non-empty URL potentially surrounded by spaces href [59673]base [59674]Document base URL [59675]Valid URL potentially surrounded by spaces hreflang [59676]a; [59677]link Language of the linked resource Valid BCP 47 language tag http-equiv [59678]meta Pragma directive "[59679]content-type"; "[59680]default-style"; "[59681]refresh"; "[59682]x-ua-compatible"; "[59683]content-security-policy" id [59684]HTML elements The element's [59685]ID [59686]Text* imagesizes [59687]link Image sizes for different page layouts (for [59688]rel="[59689]preload") [59690]Valid source size list imagesrcset [59691]link Images to use in different situations, e.g., high-resolution displays, small monitors, etc. (for [59692]rel="[59693]preload") Comma-separated list of [59694]image candidate strings inert [59695]HTML elements Whether the element is [59696]inert. [59697]Boolean attribute inputmode [59698]HTML elements Hint for selecting an input modality "[59699]none"; "[59700]text"; "[59701]tel"; "[59702]email"; "[59703]url"; "[59704]numeric"; "[59705]decimal"; "[59706]search" integrity [59707]link; [59708]script Integrity metadata used in Subresource Integrity checks [59709][SRI] [59710]Text is [59711]HTML elements Creates a [59712]customized built-in element [59713]Valid custom element name of a defined [59714]customized built-in element ismap [59715]img Whether the image is a server-side image map [59716]Boolean attribute itemid [59717]HTML elements [59718]Global identifier for a microdata item [59719]Valid URL potentially surrounded by spaces itemprop [59720]HTML elements [59721]Property names of a microdata item [59722]Unordered set of unique space-separated tokens consisting of [59723]valid absolute URLs, [59724]defined property names, or text* itemref [59725]HTML elements [59726]Referenced elements [59727]Unordered set of unique space-separated tokens consisting of IDs* itemscope [59728]HTML elements Introduces a microdata item [59729]Boolean attribute itemtype [59730]HTML elements [59731]Item types of a microdata item [59732]Unordered set of unique space-separated tokens consisting of [59733]valid absolute URLs* kind [59734]track The type of text track "[59735]subtitles"; "[59736]captions"; "[59737]descriptions"; "[59738]chapters"; "[59739]metadata" label [59740]optgroup; [59741]option; [59742]track User-visible label [59743]Text lang [59744]HTML elements [59745]Language of the element Valid BCP 47 language tag or the empty string list [59746]input List of autocomplete options [59747]ID* loading [59748]iframe; [59749]img Used when determining loading deferral "[59750]lazy"; "[59751]eager" loop [59752]audio; [59753]video Whether to loop the [59754]media resource [59755]Boolean attribute low [59756]meter High limit of low range [59757]Valid floating-point number* max [59758]input Maximum value Varies* max [59759]meter; [59760]progress Upper bound of range [59761]Valid floating-point number* maxlength [59762]input; [59763]textarea Maximum [59764]length of value [59765]Valid non-negative integer media [59766]link; [59767]meta; [59768]source; [59769]style Applicable media [59770]Valid media query list method [59771]form Variant to use for [59772]form submission "[59773]GET"; "[59774]POST"; "[59775]dialog" min [59776]input Minimum value Varies* min [59777]meter Lower bound of range [59778]Valid floating-point number* minlength [59779]input; [59780]textarea Minimum [59781]length of value [59782]Valid non-negative integer multiple [59783]input; [59784]select Whether to allow multiple values [59785]Boolean attribute muted [59786]audio; [59787]video Whether to mute the [59788]media resource by default [59789]Boolean attribute name [59790]button; [59791]fieldset; [59792]input; [59793]output; [59794]select; [59795]textarea; [59796]form-associated custom elements Name of the element to use for [59797]form submission and in the [59798]form.elements API [59799]Text* name [59800]details Name of group of mutually-exclusive [59801]details elements [59802]Text* name [59803]form Name of form to use in the [59804]document.forms API [59805]Text* name [59806]iframe; [59807]object Name of [59808]content navigable [59809]Valid navigable target name or keyword name [59810]map Name of [59811]image map to [59812]reference from the [59813]usemap attribute [59814]Text* name [59815]meta Metadata name [59816]Text* name [59817]slot Name of shadow tree slot [59818]Text nomodule [59819]script Prevents execution in user agents that support [59820]module scripts [59821]Boolean attribute nonce [59822]HTML elements Cryptographic nonce used in Content Security Policy checks [59823][CSP] [59824]Text novalidate [59825]form Bypass form control validation for [59826]form submission [59827]Boolean attribute open [59828]details Whether the details are visible [59829]Boolean attribute open [59830]dialog Whether the dialog box is showing [59831]Boolean attribute optimum [59832]meter Optimum value in gauge [59833]Valid floating-point number* pattern [59834]input Pattern to be matched by the form control's value Regular expression matching the JavaScript [59835]Pattern production ping [59836]a; [59837]area [59838]URLs to ping [59839]Set of space-separated tokens consisting of [59840]valid non-empty URLs placeholder [59841]input; [59842]textarea User-visible label to be placed within the form control [59843]Text* playsinline [59844]video Encourage the user agent to display video content within the element's playback area [59845]Boolean attribute popover [59846]HTML elements Makes the element a [59847]popover element "[59848]auto"; "[59849]manual"; popovertarget [59850]button; [59851]input Targets a popover element to toggle, show, or hide [59852]ID* popovertargetaction [59853]button; [59854]input Indicates whether a targeted popover element is to be toggled, shown, or hidden "[59855]toggle"; "[59856]show"; "[59857]hide" poster [59858]video Poster frame to show prior to video playback [59859]Valid non-empty URL potentially surrounded by spaces preload [59860]audio; [59861]video Hints how much buffering the [59862]media resource will likely need "[59863]none"; "[59864]metadata"; "[59865]auto" readonly [59866]input; [59867]textarea Whether to allow the value to be edited by the user [59868]Boolean attribute readonly [59869]form-associated custom elements Affects [59870]willValidate, plus any behavior added by the custom element author [59871]Boolean attribute referrerpolicy [59872]a; [59873]area; [59874]iframe; [59875]img; [59876]link; [59877]script [59878]Referrer policy for [59879]fetches initiated by the element [59880]Referrer policy rel [59881]a; [59882]area Relationship between the location in the document containing the [59883]hyperlink and the destination resource [59884]Unordered set of unique space-separated tokens* rel [59885]link Relationship between the document containing the [59886]hyperlink and the destination resource [59887]Unordered set of unique space-separated tokens* required [59888]input; [59889]select; [59890]textarea Whether the control is required for [59891]form submission [59892]Boolean attribute reversed [59893]ol Number the list backwards [59894]Boolean attribute rows [59895]textarea Number of lines to show [59896]Valid non-negative integer greater than zero rowspan [59897]td; [59898]th Number of rows that the cell is to span [59899]Valid non-negative integer sandbox [59900]iframe Security rules for nested content [59901]Unordered set of unique space-separated tokens, [59902]ASCII case-insensitive, consisting of * "[59903]allow-downloads" * "[59904]allow-forms" * "[59905]allow-modals" * "[59906]allow-orientation-lock" * "[59907]allow-pointer-lock" * "[59908]allow-popups" * "[59909]allow-popups-to-escape-sandbox" * "[59910]allow-presentation" * "[59911]allow-same-origin" * "[59912]allow-scripts" * "[59913]allow-top-navigation" * "[59914]allow-top-navigation-by-user-activation" * "[59915]allow-top-navigation-to-custom-protocols" </p> <p> scope [59916]th Specifies which cells the header cell applies to "[59917]row"; "[59918]col"; "[59919]rowgroup"; "[59920]colgroup" selected [59921]option Whether the option is selected by default [59922]Boolean attribute shadowrootclonable [59923]template Sets [59924]clonable on a declarative shadow root [59925]Boolean attribute shadowrootcustomelementregistry [59926]template Enables declarative shadow roots to indicate they will use a custom element registry [59927]Boolean attribute shadowrootdelegatesfocus [59928]template Sets [59929]delegates focus on a declarative shadow root [59930]Boolean attribute shadowrootmode [59931]template Enables streaming declarative shadow roots "open"; "closed" shadowrootserializable [59932]template Sets [59933]serializable on a declarative shadow root [59934]Boolean attribute shape [59935]area The kind of shape to be created in an [59936]image map "[59937]circle"; "[59938]default"; "[59939]poly"; "[59940]rect" size [59941]input; [59942]select Size of the control [59943]Valid non-negative integer greater than zero sizes [59944]link Sizes of the icons (for [59945]rel="[59946]icon") [59947]Unordered set of unique space-separated tokens, [59948]ASCII case-insensitive, consisting of sizes* sizes [59949]img; [59950]source Image sizes for different page layouts [59951]Valid source size list slot [59952]HTML elements The element's desired slot [59953]Text span [59954]col; [59955]colgroup Number of columns spanned by the element [59956]Valid non-negative integer greater than zero spellcheck [59957]HTML elements Whether the element is to have its spelling and grammar checked "[59958]true"; "[59959]false"; the empty string src [59960]audio; [59961]embed; [59962]iframe; [59963]img; [59964]input; [59965]script; [59966]source (in [59967]video or [59968]audio); [59969]track; [59970]video Address of the resource [59971]Valid non-empty URL potentially surrounded by spaces srcdoc [59972]iframe A document to render in the [59973]iframe The source of [59974]an iframe srcdoc document* srclang [59975]track Language of the text track Valid BCP 47 language tag srcset [59976]img; [59977]source Images to use in different situations, e.g., high-resolution displays, small monitors, etc. Comma-separated list of [59978]image candidate strings start [59979]ol [59980]Starting value of the list [59981]Valid integer step [59982]input Granularity to be matched by the form control's value [59983]Valid floating-point number greater than zero, or "any" style [59984]HTML elements Presentational and formatting instructions CSS declarations* tabindex [59985]HTML elements Whether the element is [59986]focusable and [59987]sequentially focusable, and the relative order of the element for the purposes of [59988]sequential focus navigation [59989]Valid integer target [59990]a; [59991]area [59992]Navigable for [59993]hyperlink [59994]navigation [59995]Valid navigable target name or keyword target [59996]base Default [59997]navigable for [59998]hyperlink [59999]navigation and [60000]form submission [60001]Valid navigable target name or keyword target [60002]form [60003]Navigable for [60004]form submission [60005]Valid navigable target name or keyword title [60006]HTML elements Advisory information for the element [60007]Text title [60008]abbr; [60009]dfn Full term or expansion of abbreviation [60010]Text title [60011]input Description of pattern (when used with [60012]pattern attribute) [60013]Text title [60014]link Title of the link [60015]Text title [60016]link; [60017]style [60018]CSS style sheet set name [60019]Text translate [60020]HTML elements Whether the element is to be translated when the page is localized "yes"; "no" type [60021]a; [60022]link Hint for the type of the referenced resource [60023]Valid MIME type string type [60024]button Type of button "[60025]submit"; "[60026]reset"; "[60027]button" type [60028]embed; [60029]object; [60030]source Type of embedded resource [60031]Valid MIME type string type [60032]input Type of form control [60033]input type keyword type [60034]ol Kind of list marker "[60035]1"; "[60036]a"; "[60037]A"; "[60038]i"; "[60039]I" type [60040]script Type of script "module"; a [60041]valid MIME type string that is not a [60042]JavaScript MIME type essence match usemap [60043]img Name of [60044]image map to use [60045]Valid hash-name reference* value [60046]button; [60047]option Value to be used for [60048]form submission [60049]Text value [60050]data Machine-readable value [60051]Text* value [60052]input Value of the form control Varies* value [60053]li [60054]Ordinal value of the list item [60055]Valid integer value [60056]meter; [60057]progress Current value of the element [60058]Valid floating-point number width [60059]canvas; [60060]embed; [60061]iframe; [60062]img; [60063]input; [60064]object; [60065]source (in [60066]picture); [60067]video Horizontal dimension [60068]Valid non-negative integer wrap [60069]textarea How the value of the form control is to be wrapped for [60070]form submission "[60071]soft"; "[60072]hard" writingsuggestions [60073]HTML elements Whether the element can offer writing suggestions or not. "[60074]true"; "[60075]false"; the empty string </p> <p> An asterisk (*) in a cell indicates that the actual rules are more complicated than indicated in the table above. __________________________________________________________________ </p> <p> (BUTTON) ✔MDN </p> <p> [60076]HTMLElement/drag_event </p> <p> Support in all current engines. Firefox9+Safari3.1+Chrome1+ __________________________________________________________________ </p> <p> Opera12+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+ </p> <p> [60077]HTMLElement/dragend_event </p> <p> Support in all current engines. Firefox9+Safari3.1+Chrome1+ __________________________________________________________________ </p> <p> Opera12+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+ </p> <p> [60078]HTMLElement/dragenter_event </p> <p> Support in all current engines. Firefox9+Safari3.1+Chrome1+ __________________________________________________________________ </p> <p> Opera12+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+ </p> <p> [60079]HTMLElement/dragleave_event </p> <p> Support in all current engines. Firefox9+Safari3.1+Chrome1+ __________________________________________________________________ </p> <p> Opera12+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+ </p> <p> [60080]HTMLElement/dragover_event </p> <p> Support in all current engines. Firefox9+Safari3.1+Chrome1+ __________________________________________________________________ </p> <p> Opera12+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+ </p> <p> [60081]HTMLElement/dragstart_event </p> <p> Support in all current engines. Firefox9+Safari3.1+Chrome1+ __________________________________________________________________ </p> <p> Opera12+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+ </p> <p> [60082]HTMLElement/drop_event </p> <p> Support in all current engines. Firefox9+Safari3.1+Chrome1+ __________________________________________________________________ </p> <p> Opera12+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+ </p> <p> CAPTION: List of event handler content attributes </p> <p> Attribute Element(s) Description Value onafterprint [60083]body [60084]afterprint event handler for [60085]Window object [60086]Event handler content attribute onauxclick [60087]HTML elements [60088]auxclick event handler [60089]Event handler content attribute onbeforeinput [60090]HTML elements [60091]beforeinput event handler [60092]Event handler content attribute onbeforematch [60093]HTML elements [60094]beforematch event handler [60095]Event handler content attribute onbeforeprint [60096]body [60097]beforeprint event handler for [60098]Window object [60099]Event handler content attribute onbeforeunload [60100]body [60101]beforeunload event handler for [60102]Window object [60103]Event handler content attribute onbeforetoggle [60104]HTML elements [60105]beforetoggle event handler [60106]Event handler content attribute onblur [60107]HTML elements [60108]blur event handler [60109]Event handler content attribute oncancel [60110]HTML elements [60111]cancel event handler [60112]Event handler content attribute oncanplay [60113]HTML elements [60114]canplay event handler [60115]Event handler content attribute oncanplaythrough [60116]HTML elements [60117]canplaythrough event handler [60118]Event handler content attribute onchange [60119]HTML elements [60120]change event handler [60121]Event handler content attribute onclick [60122]HTML elements [60123]click event handler [60124]Event handler content attribute onclose [60125]HTML elements [60126]close event handler [60127]Event handler content attribute oncommand [60128]HTML elements [60129]command event handler [60130]Event handler content attribute oncontextlost [60131]HTML elements [60132]contextlost event handler [60133]Event handler content attribute oncontextmenu [60134]HTML elements [60135]contextmenu event handler [60136]Event handler content attribute oncontextrestored [60137]HTML elements [60138]contextrestored event handler [60139]Event handler content attribute oncopy [60140]HTML elements [60141]copy event handler [60142]Event handler content attribute oncuechange [60143]HTML elements [60144]cuechange event handler [60145]Event handler content attribute oncut [60146]HTML elements [60147]cut event handler [60148]Event handler content attribute ondblclick [60149]HTML elements [60150]dblclick event handler [60151]Event handler content attribute ondrag [60152]HTML elements [60153]drag event handler [60154]Event handler content attribute ondragend [60155]HTML elements [60156]dragend event handler [60157]Event handler content attribute ondragenter [60158]HTML elements [60159]dragenter event handler [60160]Event handler content attribute ondragleave [60161]HTML elements [60162]dragleave event handler [60163]Event handler content attribute ondragover [60164]HTML elements [60165]dragover event handler [60166]Event handler content attribute ondragstart [60167]HTML elements [60168]dragstart event handler [60169]Event handler content attribute ondrop [60170]HTML elements [60171]drop event handler [60172]Event handler content attribute ondurationchange [60173]HTML elements [60174]durationchange event handler [60175]Event handler content attribute onemptied [60176]HTML elements [60177]emptied event handler [60178]Event handler content attribute onended [60179]HTML elements [60180]ended event handler [60181]Event handler content attribute onerror [60182]HTML elements [60183]error event handler [60184]Event handler content attribute onfocus [60185]HTML elements [60186]focus event handler [60187]Event handler content attribute onformdata [60188]HTML elements [60189]formdata event handler [60190]Event handler content attribute onhashchange [60191]body [60192]hashchange event handler for [60193]Window object [60194]Event handler content attribute oninput [60195]HTML elements [60196]input event handler [60197]Event handler content attribute oninvalid [60198]HTML elements [60199]invalid event handler [60200]Event handler content attribute onkeydown [60201]HTML elements [60202]keydown event handler [60203]Event handler content attribute onkeypress [60204]HTML elements [60205]keypress event handler [60206]Event handler content attribute onkeyup [60207]HTML elements [60208]keyup event handler [60209]Event handler content attribute onlanguagechange [60210]body [60211]languagechange event handler for [60212]Window object [60213]Event handler content attribute onload [60214]HTML elements [60215]load event handler [60216]Event handler content attribute onloadeddata [60217]HTML elements [60218]loadeddata event handler [60219]Event handler content attribute onloadedmetadata [60220]HTML elements [60221]loadedmetadata event handler [60222]Event handler content attribute onloadstart [60223]HTML elements [60224]loadstart event handler [60225]Event handler content attribute onmessage [60226]body [60227]message event handler for [60228]Window object [60229]Event handler content attribute onmessageerror [60230]body [60231]messageerror event handler for [60232]Window object [60233]Event handler content attribute onmousedown [60234]HTML elements [60235]mousedown event handler [60236]Event handler content attribute onmouseenter [60237]HTML elements [60238]mouseenter event handler [60239]Event handler content attribute onmouseleave [60240]HTML elements [60241]mouseleave event handler [60242]Event handler content attribute onmousemove [60243]HTML elements [60244]mousemove event handler [60245]Event handler content attribute onmouseout [60246]HTML elements [60247]mouseout event handler [60248]Event handler content attribute onmouseover [60249]HTML elements [60250]mouseover event handler [60251]Event handler content attribute onmouseup [60252]HTML elements [60253]mouseup event handler [60254]Event handler content attribute onoffline [60255]body [60256]offline event handler for [60257]Window object [60258]Event handler content attribute ononline [60259]body [60260]online event handler for [60261]Window object [60262]Event handler content attribute onpagehide [60263]body [60264]pagehide event handler for [60265]Window object [60266]Event handler content attribute onpagereveal [60267]body [60268]pagereveal event handler for [60269]Window object [60270]Event handler content attribute onpageshow [60271]body [60272]pageshow event handler for [60273]Window object [60274]Event handler content attribute onpageswap [60275]body [60276]pageswap event handler for [60277]Window object [60278]Event handler content attribute onpaste [60279]HTML elements [60280]paste event handler [60281]Event handler content attribute onpause [60282]HTML elements [60283]pause event handler [60284]Event handler content attribute onplay [60285]HTML elements [60286]play event handler [60287]Event handler content attribute onplaying [60288]HTML elements [60289]playing event handler [60290]Event handler content attribute onpopstate [60291]body [60292]popstate event handler for [60293]Window object [60294]Event handler content attribute onprogress [60295]HTML elements [60296]progress event handler [60297]Event handler content attribute onratechange [60298]HTML elements [60299]ratechange event handler [60300]Event handler content attribute onreset [60301]HTML elements [60302]reset event handler [60303]Event handler content attribute onresize [60304]HTML elements [60305]resize event handler [60306]Event handler content attribute onrejectionhandled [60307]body [60308]rejectionhandled event handler for [60309]Window object [60310]Event handler content attribute onscroll [60311]HTML elements [60312]scroll event handler [60313]Event handler content attribute onscrollend [60314]HTML elements [60315]scrollend event handler [60316]Event handler content attribute onsecuritypolicyviolation [60317]HTML elements [60318]securitypolicyviolation event handler [60319]Event handler content attribute onseeked [60320]HTML elements [60321]seeked event handler [60322]Event handler content attribute onseeking [60323]HTML elements [60324]seeking event handler [60325]Event handler content attribute onselect [60326]HTML elements [60327]select event handler [60328]Event handler content attribute onslotchange [60329]HTML elements [60330]slotchange event handler [60331]Event handler content attribute onstalled [60332]HTML elements [60333]stalled event handler [60334]Event handler content attribute onstorage [60335]body [60336]storage event handler for [60337]Window object [60338]Event handler content attribute onsubmit [60339]HTML elements [60340]submit event handler [60341]Event handler content attribute onsuspend [60342]HTML elements [60343]suspend event handler [60344]Event handler content attribute ontimeupdate [60345]HTML elements [60346]timeupdate event handler [60347]Event handler content attribute ontoggle [60348]HTML elements [60349]toggle event handler [60350]Event handler content attribute onunhandledrejection [60351]body [60352]unhandledrejection event handler for [60353]Window object [60354]Event handler content attribute onunload [60355]body [60356]unload event handler for [60357]Window object [60358]Event handler content attribute onvolumechange [60359]HTML elements [60360]volumechange event handler [60361]Event handler content attribute onwaiting [60362]HTML elements [60363]waiting event handler [60364]Event handler content attribute onwheel [60365]HTML elements [60366]wheel event handler [60367]Event handler content attribute </p> <p> Element interfaces </p> <p> This section is non-normative. </p> <p> CAPTION: List of interfaces for elements </p> <p> Element(s) Interface(s) [60368]a [60369]HTMLAnchorElement : [60370]HTMLElement [60371]abbr [60372]HTMLElement [60373]address [60374]HTMLElement [60375]area [60376]HTMLAreaElement : [60377]HTMLElement [60378]article [60379]HTMLElement [60380]aside [60381]HTMLElement [60382]audio [60383]HTMLAudioElement : [60384]HTMLMediaElement : [60385]HTMLElement [60386]b [60387]HTMLElement [60388]base [60389]HTMLBaseElement : [60390]HTMLElement [60391]bdi [60392]HTMLElement [60393]bdo [60394]HTMLElement [60395]blockquote [60396]HTMLQuoteElement : [60397]HTMLElement [60398]body [60399]HTMLBodyElement : [60400]HTMLElement [60401]br [60402]HTMLBRElement : [60403]HTMLElement [60404]button [60405]HTMLButtonElement : [60406]HTMLElement [60407]canvas [60408]HTMLCanvasElement : [60409]HTMLElement [60410]caption [60411]HTMLTableCaptionElement : [60412]HTMLElement [60413]cite [60414]HTMLElement [60415]code [60416]HTMLElement [60417]col [60418]HTMLTableColElement : [60419]HTMLElement [60420]colgroup [60421]HTMLTableColElement : [60422]HTMLElement [60423]data [60424]HTMLDataElement : [60425]HTMLElement [60426]datalist [60427]HTMLDataListElement : [60428]HTMLElement [60429]dd [60430]HTMLElement [60431]del [60432]HTMLModElement : [60433]HTMLElement [60434]details [60435]HTMLDetailsElement : [60436]HTMLElement [60437]dfn [60438]HTMLElement [60439]dialog [60440]HTMLDialogElement : [60441]HTMLElement [60442]div [60443]HTMLDivElement : [60444]HTMLElement [60445]dl [60446]HTMLDListElement : [60447]HTMLElement [60448]dt [60449]HTMLElement [60450]em [60451]HTMLElement [60452]embed [60453]HTMLEmbedElement : [60454]HTMLElement [60455]fieldset [60456]HTMLFieldSetElement : [60457]HTMLElement [60458]figcaption [60459]HTMLElement [60460]figure [60461]HTMLElement [60462]footer [60463]HTMLElement [60464]form [60465]HTMLFormElement : [60466]HTMLElement [60467]h1 [60468]HTMLHeadingElement : [60469]HTMLElement [60470]h2 [60471]HTMLHeadingElement : [60472]HTMLElement [60473]h3 [60474]HTMLHeadingElement : [60475]HTMLElement [60476]h4 [60477]HTMLHeadingElement : [60478]HTMLElement [60479]h5 [60480]HTMLHeadingElement : [60481]HTMLElement [60482]h6 [60483]HTMLHeadingElement : [60484]HTMLElement [60485]head [60486]HTMLHeadElement : [60487]HTMLElement [60488]header [60489]HTMLElement [60490]hgroup [60491]HTMLElement [60492]hr [60493]HTMLHRElement : [60494]HTMLElement [60495]html [60496]HTMLHtmlElement : [60497]HTMLElement [60498]i [60499]HTMLElement [60500]iframe [60501]HTMLIFrameElement : [60502]HTMLElement [60503]img [60504]HTMLImageElement : [60505]HTMLElement [60506]input [60507]HTMLInputElement : [60508]HTMLElement [60509]ins [60510]HTMLModElement : [60511]HTMLElement [60512]kbd [60513]HTMLElement [60514]label [60515]HTMLLabelElement : [60516]HTMLElement [60517]legend [60518]HTMLLegendElement : [60519]HTMLElement [60520]li [60521]HTMLLIElement : [60522]HTMLElement [60523]link [60524]HTMLLinkElement : [60525]HTMLElement [60526]main [60527]HTMLElement [60528]map [60529]HTMLMapElement : [60530]HTMLElement [60531]mark [60532]HTMLElement [60533]menu [60534]HTMLMenuElement : [60535]HTMLElement [60536]meta [60537]HTMLMetaElement : [60538]HTMLElement [60539]meter [60540]HTMLMeterElement : [60541]HTMLElement [60542]nav [60543]HTMLElement [60544]noscript [60545]HTMLElement [60546]object [60547]HTMLObjectElement : [60548]HTMLElement [60549]ol [60550]HTMLOListElement : [60551]HTMLElement [60552]optgroup [60553]HTMLOptGroupElement : [60554]HTMLElement [60555]option [60556]HTMLOptionElement : [60557]HTMLElement [60558]output [60559]HTMLOutputElement : [60560]HTMLElement [60561]p [60562]HTMLParagraphElement : [60563]HTMLElement [60564]picture [60565]HTMLPictureElement : [60566]HTMLElement [60567]pre [60568]HTMLPreElement : [60569]HTMLElement [60570]progress [60571]HTMLProgressElement : [60572]HTMLElement [60573]q [60574]HTMLQuoteElement : [60575]HTMLElement [60576]rp [60577]HTMLElement [60578]rt [60579]HTMLElement [60580]ruby [60581]HTMLElement [60582]s [60583]HTMLElement [60584]samp [60585]HTMLElement [60586]search [60587]HTMLElement [60588]script [60589]HTMLScriptElement : [60590]HTMLElement [60591]section [60592]HTMLElement [60593]select [60594]HTMLSelectElement : [60595]HTMLElement [60596]slot [60597]HTMLSlotElement : [60598]HTMLElement [60599]small [60600]HTMLElement [60601]source [60602]HTMLSourceElement : [60603]HTMLElement [60604]span [60605]HTMLSpanElement : [60606]HTMLElement [60607]strong [60608]HTMLElement [60609]style [60610]HTMLStyleElement : [60611]HTMLElement [60612]sub [60613]HTMLElement [60614]summary [60615]HTMLElement [60616]sup [60617]HTMLElement [60618]table [60619]HTMLTableElement : [60620]HTMLElement [60621]tbody [60622]HTMLTableSectionElement : [60623]HTMLElement [60624]td [60625]HTMLTableCellElement : [60626]HTMLElement [60627]template [60628]HTMLTemplateElement : [60629]HTMLElement [60630]textarea [60631]HTMLTextAreaElement : [60632]HTMLElement [60633]tfoot [60634]HTMLTableSectionElement : [60635]HTMLElement [60636]th [60637]HTMLTableCellElement : [60638]HTMLElement [60639]thead [60640]HTMLTableSectionElement : [60641]HTMLElement [60642]time [60643]HTMLTimeElement : [60644]HTMLElement [60645]title [60646]HTMLTitleElement : [60647]HTMLElement [60648]tr [60649]HTMLTableRowElement : [60650]HTMLElement [60651]track [60652]HTMLTrackElement : [60653]HTMLElement [60654]u [60655]HTMLElement [60656]ul [60657]HTMLUListElement : [60658]HTMLElement [60659]var [60660]HTMLElement [60661]video [60662]HTMLVideoElement : [60663]HTMLMediaElement : [60664]HTMLElement [60665]wbr [60666]HTMLElement [60667]custom elements supplied by the element's author (inherits from [60668]HTMLElement) </p> <p> All interfaces </p> <p> This section is non-normative. * [60669]AudioTrack * [60670]AudioTrackList * [60671]BarProp * [60672]BeforeUnloadEvent * [60673]BroadcastChannel * [60674]CanvasGradient * [60675]CanvasPattern * [60676]CanvasRenderingContext2D * [60677]CloseWatcher * [60678]CommandEvent * [60679]CustomElementRegistry * [60680]CustomStateSet * [60681]DOMParser * [60682]DOMStringList * [60683]DOMStringMap * [60684]DataTransfer * [60685]DataTransferItem * [60686]DataTransferItemList * [60687]DedicatedWorkerGlobalScope * [60688]Document, [60689]partial 1 [60690]2 * [60691]DragEvent * [60692]Element, [60693]partial * [60694]ElementInternals * [60695]ErrorEvent * [60696]EventSource * [60697]External * [60698]FormDataEvent * [60699]HTMLAllCollection * [60700]HTMLAnchorElement, [60701]partial * [60702]HTMLAreaElement, [60703]partial * [60704]HTMLAudioElement * [60705]HTMLBRElement, [60706]partial * [60707]HTMLBaseElement * [60708]HTMLBodyElement, [60709]partial * [60710]HTMLButtonElement * [60711]HTMLCanvasElement * [60712]HTMLDListElement, [60713]partial * [60714]HTMLDataElement * [60715]HTMLDataListElement * [60716]HTMLDetailsElement * [60717]HTMLDialogElement * [60718]HTMLDirectoryElement * [60719]HTMLDivElement, [60720]partial * [60721]HTMLElement * [60722]HTMLEmbedElement, [60723]partial * [60724]HTMLFieldSetElement * [60725]HTMLFontElement * [60726]HTMLFormControlsCollection * [60727]HTMLFormElement * [60728]HTMLFrameElement * [60729]HTMLFrameSetElement * [60730]HTMLHRElement, [60731]partial * [60732]HTMLHeadElement * [60733]HTMLHeadingElement, [60734]partial * [60735]HTMLHtmlElement, [60736]partial * [60737]HTMLIFrameElement, [60738]partial * [60739]HTMLImageElement, [60740]partial * [60741]HTMLInputElement, [60742]partial * [60743]HTMLLIElement, [60744]partial * [60745]HTMLLabelElement * [60746]HTMLLegendElement, [60747]partial * [60748]HTMLLinkElement, [60749]partial * [60750]HTMLMapElement * [60751]HTMLMarqueeElement * [60752]HTMLMediaElement * [60753]HTMLMenuElement, [60754]partial * [60755]HTMLMetaElement, [60756]partial * [60757]HTMLMeterElement * [60758]HTMLModElement * [60759]HTMLOListElement, [60760]partial * [60761]HTMLObjectElement, [60762]partial * [60763]HTMLOptGroupElement * [60764]HTMLOptionElement * [60765]HTMLOptionsCollection * [60766]HTMLOutputElement * [60767]HTMLParagraphElement, [60768]partial * [60769]HTMLParamElement * [60770]HTMLPictureElement * [60771]HTMLPreElement, [60772]partial * [60773]HTMLProgressElement * [60774]HTMLQuoteElement * [60775]HTMLScriptElement, [60776]partial * [60777]HTMLSelectElement * [60778]HTMLSlotElement * [60779]HTMLSourceElement * [60780]HTMLSpanElement * [60781]HTMLStyleElement, [60782]partial * [60783]HTMLTableCaptionElement, [60784]partial * [60785]HTMLTableCellElement, [60786]partial * [60787]HTMLTableColElement, [60788]partial * [60789]HTMLTableElement, [60790]partial * [60791]HTMLTableRowElement, [60792]partial * [60793]HTMLTableSectionElement, [60794]partial * [60795]HTMLTemplateElement * [60796]HTMLTextAreaElement * [60797]HTMLTimeElement * [60798]HTMLTitleElement * [60799]HTMLTrackElement * [60800]HTMLUListElement, [60801]partial * [60802]HTMLUnknownElement * [60803]HTMLVideoElement * [60804]HashChangeEvent * [60805]History * [60806]ImageBitmap * [60807]ImageBitmapRenderingContext * [60808]ImageData * [60809]Location * [60810]MediaError * [60811]MessageChannel * [60812]MessageEvent * [60813]MessagePort * [60814]MimeType * [60815]MimeTypeArray * [60816]NavigateEvent * [60817]Navigation * [60818]NavigationActivation * [60819]NavigationCurrentEntryChangeEvent * [60820]NavigationDestination * [60821]NavigationHistoryEntry * [60822]NavigationTransition * [60823]Navigator, [60824]partial * [60825]NotRestoredReasonDetails * [60826]NotRestoredReasons * [60827]OffscreenCanvas * [60828]OffscreenCanvasRenderingContext2D * [60829]PageRevealEvent * [60830]PageSwapEvent * [60831]PageTransitionEvent * [60832]Path2D * [60833]Plugin * [60834]PluginArray * [60835]PopStateEvent * [60836]PromiseRejectionEvent * [60837]RadioNodeList * [60838]Range, [60839]partial * [60840]ShadowRoot, [60841]partial * [60842]SharedWorker * [60843]SharedWorkerGlobalScope * [60844]Storage * [60845]StorageEvent * [60846]SubmitEvent * [60847]TextMetrics * [60848]TextTrack * [60849]TextTrackCue * [60850]TextTrackCueList * [60851]TextTrackList * [60852]TimeRanges * [60853]ToggleEvent * [60854]TrackEvent * [60855]UserActivation * [60856]ValidityState * [60857]VideoTrack * [60858]VideoTrackList * [60859]VisibilityStateEntry * [60860]Window, [60861]partial * [60862]Worker * [60863]WorkerGlobalScope * [60864]WorkerLocation * [60865]WorkerNavigator * [60866]Worklet * [60867]WorkletGlobalScope * [60868]XMLSerializer </p> <p> Events </p> <p> This section is non-normative. </p> <p> The following table lists events fired by this document, excluding those already defined in [60869]media element events and [60870]drag-and-drop events. </p> <p> CAPTION: List of events </p> <p> Event Interface Interesting targets Description DOMContentLoaded (BUTTON) ✔MDN </p> <p> [60871]Window/DOMContentLoaded_event </p> <p> Support in all current engines. Firefox1+Safari3.1+Chrome1+ __________________________________________________________________ </p> <p> Opera9+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+ [60872]Event [60873]Document Fired at the [60874]Document once the parser has finished afterprint (BUTTON) ✔MDN </p> <p> [60875]Window/afterprint_event </p> <p> Support in all current engines. Firefox6+Safari13+Chrome63+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [60876]Event [60877]Window Fired at the [60878]Window after printing beforeprint (BUTTON) ✔MDN </p> <p> [60879]Window/beforeprint_event </p> <p> Support in all current engines. Firefox6+Safari13+Chrome63+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [60880]Event [60881]Window Fired at the [60882]Window before printing beforematch (BUTTON) ⚠MDN </p> <p> [60883]Element/beforematch_event </p> <p> Support in one engine only. FirefoxNoSafariNoChrome102+ __________________________________________________________________ </p> <p> OperaNoEdge102+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [60884]Event Elements Fired on elements with the [60885]hidden=until-found attribute before they are revealed. beforetoggle (BUTTON) ✔MDN </p> <p> [60886]HTMLElement/beforetoggle_event </p> <p> Support in all current engines. Firefox🔰 114+Safaripreview+Chrome114+ __________________________________________________________________ </p> <p> Opera?Edge114+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [60887]ToggleEvent Elements Fired on elements with the [60888]popover attribute when they are transitioning between showing and hidden beforeunload (BUTTON) ✔MDN </p> <p> [60889]Window/beforeunload_event </p> <p> Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________ </p> <p> Opera12+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12+ [60890]BeforeUnloadEvent [60891]Window Fired at the [60892]Window when the page is about to be unloaded, in case the page would like to show a warning prompt blur [60893]Event [60894]Window, elements Fired at nodes when they stop being [60895]focused cancel (BUTTON) ✔MDN </p> <p> [60896]HTMLDialogElement/cancel_event </p> <p> Support in all current engines. Firefox98+Safari15.4+Chrome37+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome AndroidNoWebView Android?Samsung Internet?Opera Android? [60897]Event [60898]CloseWatcher, [60899]dialog elements, [60900]input elements Fired at [60901]CloseWatcher objects or [60902]dialog elements when they receive a [60903]close request, or at [60904]input elements whose [60905]type attribute is in the [60906]File state when the user does not change their selection change (BUTTON) ✔MDN </p> <p> [60907]HTMLElement/change_event </p> <p> Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________ </p> <p> Opera9+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ [60908]Event Form controls Fired at controls when the user commits a value change (see also the [60909]input event) [60910]click [60911]PointerEvent Elements Normally a mouse event; also synthetically fired at an element before its [60912]activation behavior is run, when an element is activated from a non-pointer input device (e.g. a keyboard) close (BUTTON) ✔MDN </p> <p> [60913]HTMLDialogElement/close_event </p> <p> Support in all current engines. Firefox98+Safari15.4+Chrome37+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [60914]Event [60915]CloseWatcher, [60916]dialog elements, [60917]MessagePort Fired at [60918]CloseWatcher objects or [60919]dialog elements when they are closed via a [60920]close request or via web developer code, or at [60921]MessagePort objects when [60922]disentangled command [60923]CommandEvent Elements Fired at elements when they handle a user invocation, via a [60924]commandfor attribute. connect (BUTTON) ✔MDN </p> <p> [60925]SharedWorkerGlobalScope/connect_event </p> <p> Support in all current engines. Firefox29+Safari16+Chrome4+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS16+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [60926]MessageEvent [60927]SharedWorkerGlobalScope Fired at a shared worker's global scope when a new client connects contextlost (BUTTON) ⚠MDN </p> <p> [60928]HTMLCanvasElement/webglcontextlost_event </p> <p> Support in one engine only. FirefoxNoSafariNoChrome98+ __________________________________________________________________ </p> <p> Opera?Edge98+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [60929]Event [60930]canvas elements, [60931]OffscreenCanvas objects Fired when the corresponding [60932]CanvasRenderingContext2D or [60933]OffscreenCanvasRenderingContext2D is lost contextrestored (BUTTON) ⚠MDN </p> <p> [60934]HTMLCanvasElement/contextrestored_event </p> <p> Support in one engine only. FirefoxNoSafariNoChrome98+ __________________________________________________________________ </p> <p> Opera?Edge98+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [60935]Event [60936]canvas elements, [60937]OffscreenCanvas objects Fired when the corresponding [60938]CanvasRenderingContext2D or [60939]OffscreenCanvasRenderingContext2D is restored after being lost currententrychange [60940]NavigationCurrentEntryChangeEvent [60941]Navigation Fired when [60942]navigation.currentEntry changes dispose [60943]Event [60944]NavigationHistoryEntry Fired when the [60945]session history entry corresponding to the [60946]NavigationHistoryEntry has been permanently evicted from session history and can no longer be traversed to error (BUTTON) ✔MDN </p> <p> [60947]EventSource/error_event </p> <p> Support in all current engines. Firefox6+Safari5+Chrome6+ __________________________________________________________________ </p> <p> Opera12+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android45+Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12+ </p> <p> [60948]Window/error_event </p> <p> Support in all current engines. Firefox6+Safari5.1+Chrome10+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android? [60949]Event or [60950]ErrorEvent Global scope objects, [60951]Worker objects, elements, networking-related objects Fired when unexpected errors occur (e.g. networking errors, script errors, decoding errors) focus [60952]Event [60953]Window, elements Fired at nodes [60954]gaining focus formdata (BUTTON) ✔MDN </p> <p> [60955]HTMLFormElement/formdata_event </p> <p> Support in all current engines. Firefox72+Safari15+Chrome77+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [60956]FormDataEvent [60957]form elements Fired at a [60958]form element when it is [60959]constructing the entry list hashchange (BUTTON) ✔MDN </p> <p> [60960]Window/hashchange_event </p> <p> Support in all current engines. Firefox3.6+Safari5+Chrome8+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer8+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android11+ [60961]HashChangeEvent [60962]Window Fired at the [60963]Window when the [60964]fragment part of the document's [60965]URL changes [60966]input [60967]Event Elements Fired when the user changes the [60968]contenteditable element's content, or the form control's value. See also the [60969]change event for form controls. invalid (BUTTON) ✔MDN </p> <p> [60970]HTMLInputElement/invalid_event </p> <p> Support in all current engines. Firefox4+Safari5+Chrome10+ __________________________________________________________________ </p> <p> Opera10+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android64+Safari iOS5+Chrome Android?WebView Android4+Samsung Internet4.0+Opera Android12+ [60971]Event Form controls Fired at controls during form validation if they do not satisfy their constraints languagechange (BUTTON) ✔MDN </p> <p> [60972]Window/languagechange_event </p> <p> Support in all current engines. Firefox32+Safari10.1+Chrome37+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android4+Safari iOS?Chrome Android?WebView Android?Samsung Internet4.0+Opera Android? </p> <p> [60973]WorkerGlobalScope/languagechange_event </p> <p> Support in all current engines. Firefox74+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera11.5+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android? [60974]Event Global scope objects Fired at the global scope object when the user's preferred languages change load [60975]Event [60976]Window, elements Fired at the [60977]Window when the document has finished loading; fired at an element containing a resource (e.g. [60978]img, [60979]embed) when its resource has finished loading message (BUTTON) ✔MDN </p> <p> [60980]BroadcastChannel/message_event </p> <p> Support in all current engines. Firefox38+Safari15.4+Chrome54+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? </p> <p> [60981]DedicatedWorkerGlobalScope/message_event </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android11.5+ </p> <p> [60982]EventSource/message_event </p> <p> Support in all current engines. Firefox6+Safari5+Chrome6+ __________________________________________________________________ </p> <p> Opera12+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android45+Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12+ </p> <p> [60983]MessagePort/message_event </p> <p> Support in all current engines. Firefox41+Safari5+Chrome2+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android11.5+ </p> <p> [60984]Window/message_event </p> <p> Support in all current engines. Firefox9+Safari4+Chrome60+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer8+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS4+Chrome Android?WebView Android?Samsung Internet?Opera Android47+ </p> <p> [60985]Worker/message_event </p> <p> Support in all current engines. Firefox3.5+Safari4+Chrome4+ __________________________________________________________________ </p> <p> Opera10.6+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11.5+ [60986]MessageEvent [60987]Window, [60988]EventSource, [60989]MessagePort, [60990]BroadcastChannel, [60991]DedicatedWorkerGlobalScope, [60992]Worker, [60993]ServiceWorkerContainer Fired at an object when it receives a message messageerror (BUTTON) ✔MDN </p> <p> [60994]BroadcastChannel/messageerror_event </p> <p> Support in all current engines. Firefox57+Safari15.4+Chrome60+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android47+ </p> <p> [60995]DedicatedWorkerGlobalScope/messageerror_event </p> <p> Support in all current engines. Firefox57+Safari16.4+Chrome60+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)18Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android47+ </p> <p> [60996]MessagePort/messageerror_event </p> <p> Support in all current engines. Firefox57+Safari16.4+Chrome60+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)18Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android47+ </p> <p> [60997]Window/messageerror_event </p> <p> Support in all current engines. Firefox57+Safari16.4+Chrome60+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)18Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android47+ </p> <p> [60998]Worker/messageerror_event </p> <p> Support in all current engines. Firefox57+Safari16.4+Chrome60+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)18Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android47+ [60999]MessageEvent [61000]Window, [61001]MessagePort, [61002]BroadcastChannel, [61003]DedicatedWorkerGlobalScope, [61004]Worker, [61005]ServiceWorkerContainer Fired at an object when it receives a message that cannot be deserialized navigate [61006]NavigateEvent [61007]Navigation Fired before the [61008]navigable [61009]navigates, [61010]reloads, [61011]traverses, or [61012]otherwise changes its URL navigateerror [61013]ErrorEvent [61014]Navigation Fired when a navigation does not complete successfully navigatesuccess [61015]Event [61016]Navigation Fired when a navigation completes successfully offline (BUTTON) ✔MDN </p> <p> [61017]Window/offline_event </p> <p> Support in all current engines. Firefox9+Safari4+Chrome3+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android? [61018]Event Global scope objects Fired at the global scope object when the network connections fails online (BUTTON) ✔MDN </p> <p> [61019]Window/online_event </p> <p> Support in all current engines. Firefox9+Safari4+Chrome3+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS3+Chrome Android?WebView Android37+Samsung Internet?Opera Android? [61020]Event Global scope objects Fired at the global scope object when the network connections returns open (BUTTON) ✔MDN </p> <p> [61021]EventSource/open_event </p> <p> Support in all current engines. Firefox6+Safari5+Chrome6+ __________________________________________________________________ </p> <p> Opera12+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android45+Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android12+ [61022]Event [61023]EventSource Fired at [61024]EventSource objects when a connection is established pageswap [61025]PageSwapEvent [61026]Window Fired at the [61027]Window right before a document is [61028]unloaded as a result of a navigation. pagehide (BUTTON) ✔MDN </p> <p> [61029]Window/pagehide_event </p> <p> Support in all current engines. Firefox6+Safari5+Chrome3+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer11 __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android? [61030]PageTransitionEvent [61031]Window Fired at the [61032]Window when the page's [61033]session history entry stops being the [61034]active entry pagereveal [61035]PageRevealEvent [61036]Window Fired at the [61037]Window when the page begins to render for the first time after it has been initialized or [61038]reactivated pageshow (BUTTON) ✔MDN </p> <p> [61039]Window/pageshow_event </p> <p> Support in all current engines. Firefox6+Safari5+Chrome3+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer11 __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android? [61040]PageTransitionEvent [61041]Window Fired at the [61042]Window when the page's [61043]session history entry becomes the [61044]active entry [61045]pointercancel [61046]PointerEvent Elements and [61047]Text nodes Fired at the [61048]source node when the user attempts to initiate a drag-and-drop operation popstate (BUTTON) ✔MDN </p> <p> [61049]Window/popstate_event </p> <p> Support in all current engines. Firefox4+Safari5+Chrome5+ __________________________________________________________________ </p> <p> Opera11.5+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android11.5+ [61050]PopStateEvent [61051]Window Fired at the [61052]Window when in some cases of [61053]session history traversal readystatechange (BUTTON) ✔MDN </p> <p> [61054]Document/readystatechange_event </p> <p> Support in all current engines. Firefox4+Safari5.1+Chrome9+ __________________________________________________________________ </p> <p> Opera12.1+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ [61055]Event [61056]Document Fired at the [61057]Document when it finishes parsing and again when all its subresources have finished loading rejectionhandled [61058]PromiseRejectionEvent Global scope objects Fired at global scope objects when a previously-unhandled promise rejection becomes handled reset (BUTTON) ✔MDN </p> <p> [61059]HTMLFormElement/reset_event </p> <p> Support in all current engines. Firefox6+Safari3+Chrome1+ __________________________________________________________________ </p> <p> Opera12.1+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS1+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+ [61060]Event [61061]form elements Fired at a [61062]form element when it is [61063]reset select (BUTTON) ✔MDN </p> <p> [61064]HTMLInputElement/select_event </p> <p> Support in all current engines. Firefox6+Safari1+Chrome1+ __________________________________________________________________ </p> <p> Opera12.1+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ </p> <p> [61065]HTMLTextAreaElement/select_event </p> <p> Support in all current engines. Firefox6+Safari1+Chrome1+ __________________________________________________________________ </p> <p> Opera12.1+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+ [61066]Event Form controls Fired at form controls when their text selection is adjusted (whether by an API or by the user) storage (BUTTON) ✔MDN </p> <p> [61067]Window/storage_event </p> <p> Support in all current engines. Firefox45+Safari4+Chrome1+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)15+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android? [61068]StorageEvent [61069]Window Fired at [61070]Window event when the corresponding [61071]localStorage or [61072]sessionStorage storage areas change submit (BUTTON) ✔MDN </p> <p> [61073]HTMLFormElement/submit_event </p> <p> Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________ </p> <p> Opera8+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer9+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ [61074]SubmitEvent [61075]form elements Fired at a [61076]form element when it is [61077]submitted toggle (BUTTON) ✔MDN </p> <p> [61078]HTMLDetailsElement/toggle_event </p> <p> Support in all current engines. Firefox49+Safari10.1+Chrome36+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? </p> <p> [61079]HTMLElement/toggle_event </p> <p> Support in all current engines. Firefox🔰 114+Safaripreview+Chrome114+ __________________________________________________________________ </p> <p> Opera?Edge114+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android? [61080]ToggleEvent [61081]details and [61082]popover elements Fired at [61083]details elements when they open or close; fired on elements with the [61084]popover attribute when they are transitioning between showing and hidden unhandledrejection (BUTTON) ✔MDN </p> <p> [61085]Window/unhandledrejection_event </p> <p> Support in all current engines. Firefox69+Safari11+Chrome49+ __________________________________________________________________ </p> <p> Opera?Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)?Internet ExplorerNo __________________________________________________________________ </p> <p> Firefox Android?Safari iOS11.3+Chrome Android?WebView Android?Samsung Internet?Opera Android? [61086]PromiseRejectionEvent Global scope objects Fired at global scope objects when a promise rejection goes unhandled unload (BUTTON) ✔MDN </p> <p> [61087]Window/unload_event </p> <p> Support in all current engines. Firefox1+Safari3+Chrome1+ __________________________________________________________________ </p> <p> Opera4+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)12+Internet Explorer4+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+ [61088]Event [61089]Window Fired at the [61090]Window object when the page is going away visibilitychange (BUTTON) ✔MDN </p> <p> [61091]Document/visibilitychange_event </p> <p> Support in all current engines. Firefox56+Safari14.1+Chrome62+ __________________________________________________________________ </p> <p> Opera49+Edge79+ __________________________________________________________________ </p> <p> Edge (Legacy)18Internet Explorer🔰 10+ __________________________________________________________________ </p> <p> Firefox Android?Safari iOS?Chrome Android?WebView Android62+Samsung Internet?Opera Android46+ [61092]Event [61093]Document Fired at the [61094]Document object when the page becomes visible or hidden to the user </p> <p> HTTP headers </p> <p> This section is non-normative. </p> <p> The following HTTP request headers are defined by this specification: * `[61095]Last-Event-ID` * `[61096]Ping-From` * `[61097]Ping-To` </p> <p> The following HTTP response headers are defined by this specification: * `[61098]Cross-Origin-Embedder-Policy` * `[61099]Cross-Origin-Embedder-Policy-Report-Only` * `[61100]Cross-Origin-Opener-Policy` * `[61101]Cross-Origin-Opener-Policy-Report-Only` * `[61102]Origin-Agent-Cluster` * `[61103]Refresh` * `[61104]X-Frame-Options` </p> <p> MIME types </p> <p> This section is non-normative. </p> <p> The following MIME types are mentioned in this specification: </p> <p> application/atom+xml Atom [61105][ATOM] </p> <p> application/json JSON [61106][JSON] </p> <p> [61107]application/octet-stream Generic binary data [61108][RFC2046] </p> <p> [61109]application/microdata+json Microdata as JSON </p> <p> application/rss+xml RSS </p> <p> application/wasm WebAssembly [61110][WASM] </p> <p> [61111]application/x-www-form-urlencoded Form submission </p> <p> [61112]application/xhtml+xml HTML </p> <p> application/xml XML [61113][XML] [61114][RFC7303] </p> <p> image/gif GIF images [61115][GIF] </p> <p> image/jpeg JPEG images [61116][JPEG] </p> <p> image/png PNG images [61117][PNG] </p> <p> image/svg+xml SVG images [61118][SVG] </p> <p> multipart/form-data Form submission [61119][RFC7578] </p> <p> multipart/mixed Generic mixed content [61120][RFC2046] </p> <p> [61121]multipart/x-mixed-replace Streaming server push </p> <p> text/css CSS [61122][CSS] </p> <p> [61123]text/event-stream Server-sent event streams </p> <p> text/javascript JavaScript [61124][JAVASCRIPT] [61125][RFC9239] </p> <p> text/json JSON (legacy type) </p> <p> [61126]text/plain Generic plain text [61127][RFC2046] [61128][RFC3676] </p> <p> [61129]text/html HTML </p> <p> [61130]text/ping Hyperlink auditing </p> <p> text/uri-list List of URLs [61131][RFC2483] </p> <p> text/vcard vCard [61132][RFC6350] </p> <p> text/vtt WebVTT [61133][WEBVTT] </p> <p> text/xml XML [61134][XML] [61135][RFC7303] </p> <p> [61136]video/mp4 MPEG-4 video [61137][RFC4337] </p> <p> video/mpeg MPEG video [61138][RFC2046] </p> <p> References </p> <p> All references are normative unless marked "Non-normative". </p> <p> [ABNF] [61139]Augmented BNF for Syntax Specifications: ABNF, D. Crocker, P. Overell. IETF. </p> <p> [ABOUT] [61140]The 'about' URI scheme, S. Moonesamy. IETF. </p> <p> [APNG] (Non-normative) [61141]APNG Specification. S. Parmenter, V. Vukicevic, A. Smith. Mozilla. </p> <p> [ARIA] [61142]Accessible Rich Internet Applications (WAI-ARIA), J. Diggs, J. Nurthen, M. Cooper. W3C. </p> <p> [ARIAHTML] [61143]ARIA in HTML, S. Faulkner, S. O'Hara. W3C. </p> <p> [ATAG] (Non-normative) [61144]Authoring Tool Accessibility Guidelines (ATAG) 2.0, J. Richards, J. Spellman, J. Treviranus. W3C. </p> <p> [ATOM] (Non-normative) [61145]The Atom Syndication Format, M. Nottingham, R. Sayre. IETF. </p> <p> [BATTERY] (Non-normative) [61146]Battery Status API, A. Kostiainen, M. Lamouri. W3C. </p> <p> [BCP47] [61147]Tags for Identifying Languages; Matching of Language Tags, A. Phillips, M. Davis. IETF. </p> <p> [BEZIER] Courbes à poles, P. de Casteljau. INPI, 1959. </p> <p> [BIDI] [61148]UAX #9: Unicode Bidirectional Algorithm, M. Davis. Unicode Consortium. </p> <p> [BOCU1] (Non-normative) [61149]UTN #6: BOCU-1: MIME-Compatible Unicode Compression, M. Scherer, M. Davis. Unicode Consortium. </p> <p> [CESU8] (Non-normative) [61150]UTR #26: Compatibility Encoding Scheme For UTF-16: 8-BIT (CESU-8), T. Phipps. Unicode Consortium. </p> <p> [CHARMOD] (Non-normative) [61151]Character Model for the World Wide Web 1.0: Fundamentals, M. Dürst, F. Yergeau, R. Ishida, M. Wolf, T. Texin. W3C. </p> <p> [CHARMODNORM] (Non-normative) [61152]Character Model for the World Wide Web: String Matching, A. Phillips. W3C. </p> <p> [CLIPBOARD-APIS] [61153]Clipboard API and events, G. Kacmarcik, A. Snigdha. W3C. </p> <p> [COMPOSITE] [61154]Compositing and Blending, R. Cabanier, N. Andronikos. W3C. </p> <p> [COMPUTABLE] (Non-normative) [61155]On computable numbers, with an application to the Entscheidungsproblem, A. Turing. In Proceedings of the London Mathematical Society, series 2, volume 42, pages 230-265. London Mathematical Society, 1937. </p> <p> [COMPUTEPRESSURE] (Non-normative) [61156]Compute Pressure, K. Christiansen, A. Mandy. W3C. </p> <p> [CONSOLE] [61157]Console, T. Stock, R. Kowalski, D. Farolino. WHATWG. </p> <p> [COOKIES] [61158]HTTP State Management Mechanism, A. Barth. IETF. </p> <p> [CREDMAN] [61159]Credential Management, N. Satragno, J. Hodges, M. West. W3C. </p> <p> [CSP] [61160]Content Security Policy, M. West, D. Veditz. W3C. </p> <p> [CSS] [61161]Cascading Style Sheets Level 2 Revision 2, B. Bos, T. Çelik, I. Hickson, H. Lie. W3C. </p> <p> [CSSALIGN] [61162]CSS Box Alignment, E. Etemad, T. Atkins. W3C. </p> <p> [CSSANCHOR] [61163]CSS Anchor Positioning, T. Atkins, E. Etemad, I. Kilpatrick. W3C. </p> <p> [CSSANIMATIONS] [61164]CSS Animations, D. Jackson, D. Hyatt, C. Marrin, S. Galineau, L. Baron. W3C. </p> <p> [CSSATTR] [61165]CSS Style Attributes, T. Çelik, E. Etemad. W3C. </p> <p> [CSSBG] [61166]CSS Backgrounds and Borders, B. Bos, E. Etemad, B. Kemper. W3C. </p> <p> [CSSBOX] [61167]CSS Box Model, E. Etemad. W3C. </p> <p> [CSSCASCADE] [61168]CSS Cascading and Inheritance, E. Etemad, T. Atkins. W3C. </p> <p> [CSSCONTAIN] [61169]CSS Containment, T. Atkins, F. Rivoal, V. Levin. W3C. </p> <p> [CSSCOLOR] [61170]CSS Color Module, T. Çelik, C. Lilley, L. Baron. W3C. </p> <p> [CSSCOLORADJUST] [61171]CSS Color Adjustment Module, E. Etemad, R. Atanassov, R. Lillesveen, T. Atkins. W3C. </p> <p> [CSSDEVICEADAPT] [61172]CSS Device Adaption, F. Rivoal, M. Rakow. W3C. </p> <p> [CSSDISPLAY] [61173]CSS Display, T. Atkins, E. Etemad. W3C. </p> <p> [CSSFONTLOAD] [61174]CSS Font Loading, T. Atkins, J. Daggett. W3C. </p> <p> [CSSFONTS] [61175]CSS Fonts, J. Daggett. W3C. </p> <p> [CSSFLEXBOX] [61176]CSS Flexible Box Layout, T. Atkins, E. Etemad, R. Atanassov. W3C. </p> <p> [CSSGC] [61177]CSS Generated Content, H. Lie, E. Etemad, I. Hickson. W3C. </p> <p> [CSSGRID] [61178]CSS Grid Layout, T. Atkins, E. Etemad, R. Atanassov. W3C. </p> <p> [CSSIMAGES] [61179]CSS Images Module, E. Etemad, T. Atkins, L. Verou. W3C. </p> <p> [CSSIMAGES4] [61180]CSS Images Module Level 4, E. Etemad, T. Atkins, L. Verou. W3C. </p> <p> [CSSINLINE] [61181]CSS Inline Layout, D. Cramer, E. Etemad. W3C. </p> <p> [CSSLISTS] [61182]CSS Lists and Counters, T. Atkins. W3C. </p> <p> [CSSLOGICAL] [61183]CSS Logical Properties, R. Atanassov, E. Etemad. W3C. </p> <p> [CSSMULTICOL] [61184]CSS Multi-column Layout, H. Lie, F. Rivoal, R. Andrew. W3C. </p> <p> [CSSOM] [61185]Cascading Style Sheets Object Model (CSSOM), S. Pieters, G. Adams. W3C. </p> <p> [CSSOMVIEW] [61186]CSSOM View Module, S. Pieters, G. Adams. W3C. </p> <p> [CSSOVERFLOW] [61187]CSS Overflow Module, L. Baron, F. Rivoal. W3C. </p> <p> [CSSPAINT] (Non-normative) [61188]CSS Painting API, I. Kilpatrick, D. Jackson. W3C. </p> <p> [CSSPOSITION] [61189]CSS Positioned Layout, R. Atanassov, A. Eicholz. W3C. </p> <p> [CSSPSEUDO] [61190]CSS Pseudo-Elements, D. Glazman, E. Etemad, A. Stearns. W3C. </p> <p> [CSSRUBY] [61191]CSS3 Ruby Module, R. Ishida. W3C. </p> <p> [CSSSCOPING] [61192]CSS Scoping Module, T. Atkins. W3C. </p> <p> [CSSSIZING] [61193]CSS Box Sizing Module, T. Atkins, E. Etemad. W3C. </p> <p> [CSSSCROLLANCHORING] (Non-normative) [61194]CSS Scroll Anchoring, T. Atkins-Bittner. W3C. </p> <p> [CSSSYNTAX] [61195]CSS Syntax, T. Atkins, S. Sapin. W3C. </p> <p> [CSSTRANSITIONS] (Non-normative) [61196]CSS Transitions, L. Baron, D. Jackson, B. Birtles. W3C. </p> <p> [CSSTABLE] [61197]CSS Table, F. Remy, G. Whitworth. W3C. </p> <p> [CSSTEXT] [61198]CSS Text, E. Etemad, K. Ishii. W3C. </p> <p> [CSSVALUES] [61199]CSS3 Values and Units, H. Lie, T. Atkins, E. Etemad. W3C. </p> <p> [CSSVIEWTRANSITIONS] [61200]CSS View Transitions, T. Atkins Jr.; J. Archibald; K Sagar. W3C. </p> <p> [CSSUI] [61201]CSS3 Basic User Interface Module, F. Rivoal. W3C. </p> <p> [CSSWM] [61202]CSS Writing Modes, E. Etemad, K. Ishii. W3C. </p> <p> [DASH] [61203]Dynamic adaptive streaming over HTTP (DASH). ISO. </p> <p> [DEVICEPOSTURE] (Non-normative) [61204]Device Posture API, D. Gonzalez-Zuniga, K. Christiansen. W3C. </p> <p> [DOM] [61205]DOM, A. van Kesteren, A. Gregor, Ms2ger. WHATWG. </p> <p> [DOMPARSING] [61206]DOM Parsing and Serialization, T. Leithead. W3C. </p> <p> [DOT] (Non-normative) [61207]The DOT Language. Graphviz. </p> <p> [E163] Recommendation E.163 — Numbering Plan for The International Telephone Service, CCITT Blue Book, Fascicle II.2, pp. 128-134, November 1988. </p> <p> [ENCODING] [61208]Encoding, A. van Kesteren, J. Bell. WHATWG. </p> <p> [EXECCOMMAND] [61209]execCommand, J. Wilm, A. Gregor. W3C Editing APIs CG. </p> <p> [EXIF] (Non-normative) [61210]Exchangeable image file format. JEITA. </p> <p> [FETCH] [61211]Fetch, A. van Kesteren. WHATWG. </p> <p> [FETCH-METADATA] [61212]Fetch Metadata Request Headers, M.West. W3C. </p> <p> [FILEAPI] [61213]File API, A. Ranganathan. W3C. </p> <p> [FILTERS] [61214]Filter Effects, D. Schulze, D. Jackson, C. Harrelson. W3C. </p> <p> [FULLSCREEN] [61215]Fullscreen, A. van Kesteren, T. Çelik. WHATWG. </p> <p> [GEOMETRY] [61216]Geometry Interfaces. S. Pieters, D. Schulze, R. Cabanier. W3C. </p> <p> [GIF] (Non-normative) [61217]Graphics Interchange Format. CompuServe. </p> <p> [GRAPHICS] (Non-normative) Computer Graphics: Principles and Practice in C, Second Edition, J. Foley, A. van Dam, S. Feiner, J. Hughes. Addison-Wesley. ISBN 0-201-84840-6. </p> <p> [GREGORIAN] (Non-normative) Inter Gravissimas, A. Lilius, C. Clavius. Gregory XIII Papal Bull, February 1582. </p> <p> [HRT] [61218]High Resolution Time, I. Grigorik, J. Simonsen, J. Mann. W3C. </p> <p> [HTMLAAM] [61219]HTML Accessibility API Mappings 1.0, S. Faulkner, A. Surkov, S. O'Hara. W3C. </p> <p> [HTTP] [61220]Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing, R. Fielding, J. Reschke. IETF. [61221]Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content, R. Fielding, J. Reschke. IETF. [61222]Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests, R. Fielding, J. Reschke. IETF. [61223]Hypertext Transfer Protocol (HTTP/1.1): Range Requests, R. Fielding, Y. Lafon, J. Reschke. IETF. [61224]Hypertext Transfer Protocol (HTTP/1.1): Caching, R. Fielding, M. Nottingham, J. Reschke. IETF. [61225]Hypertext Transfer Protocol (HTTP/1.1): Authentication, R. Fielding, J. Reschke. IETF. </p> <p> [INDEXEDDB] [61226]Indexed Database API, A. Alabbas, J. Bell. W3C. </p> <p> [INBAND] [61227]Sourcing In-band Media Resource Tracks from Media Containers into HTML, S. Pfeiffer, B. Lund. W3C. </p> <p> [INFRA] [61228]Infra, A. van Kesteren, D. Denicola. WHATWG. </p> <p> [INTERSECTIONOBSERVER] [61229]Intersection Observer, S. Zager. W3C. </p> <p> [RESIZEOBSERVER] [61230]Resize Observer, O. Brufau, E. Álvarez. W3C. </p> <p> [ISO3166] [61231]ISO 3166: Codes for the representation of names of countries and their subdivisions. ISO. </p> <p> [ISO4217] [61232]ISO 4217: Codes for the representation of currencies and funds. ISO. </p> <p> [ISO8601] (Non-normative) [61233]ISO8601: Data elements and interchange formats — Information interchange — Representation of dates and times. ISO. </p> <p> [JAVASCRIPT] [61234]ECMAScript Language Specification. Ecma International. </p> <p> [JLREQ] [61235]Requirements for Japanese Text Layout. W3C. </p> <p> [JPEG] [61236]JPEG File Interchange Format, E. Hamilton. </p> <p> [JSERRORSTACKS] (Non-normative) [61237]Error Stacks. Ecma International. </p> <p> [JSDYNAMICCODEBRANDCHECKS] [61238]Dynamic code brand checks. Ecma International. </p> <p> [JSINTL] [61239]ECMAScript Internationalization API Specification. Ecma International. </p> <p> [JSON] [61240]The JavaScript Object Notation (JSON) Data Interchange Format, T. Bray. IETF. </p> <p> [JSTEMPORAL] [61241]Temporal. Ecma International. </p> <p> [LONGTASKS] [61242]Long Tasks, D. Denicola, I. Grigorik, S. Panicker. W3C. </p> <p> [LONGANIMATIONFRAMES] [61243]Long Animation Frames, N. Rosenthal. W3C. </p> <p> [MAILTO] (Non-normative) [61244]The 'mailto' URI scheme, M. Duerst, L. Masinter, J. Zawinski. IETF. </p> <p> [MANIFEST] [61245]Web App Manifest, M. Caceres, K. Rohde Christiansen, M. Lamouri, A. Kostiainen, M. Giuca, A. Gustafson. W3C. </p> <p> [MATHMLCORE] [61246]Mathematical Markup Language (MathML), D. Carlisle, Frédéric Wang. W3C. </p> <p> [MEDIAFRAG] [61247]Media Fragments URI, R. Troncy, E. Mannens, S. Pfeiffer, D. Van Deursen. W3C. </p> <p> [MEDIASOURCE] [61248]Media Source Extensions, A. Colwell, A. Bateman, M. Watson. W3C. </p> <p> [MEDIASTREAM] [61249]Media Capture and Streams, D. Burnett, A. Bergkvist, C. Jennings, A. Narayanan. W3C. </p> <p> [REPORTING] [61250]Reporting, D. Creager, I. Clelland, M. West. W3C. </p> <p> [MFREL] [61251]Microformats Wiki: existing rel values. Microformats. </p> <p> [MIMESNIFF] [61252]MIME Sniffing, G. Hemsley. WHATWG. </p> <p> [MIX] [61253]Mixed Content, M. West. W3C. </p> <p> [MNG] [61254]MNG (Multiple-image Network Graphics) Format. G. Randers-Pehrson. </p> <p> [MPEG2] ISO/IEC 13818-1: Information technology — Generic coding of moving pictures and associated audio information: Systems. ISO/IEC. </p> <p> [MPEG4] ISO/IEC 14496-12: ISO base media file format. ISO/IEC. </p> <p> [MQ] [61255]Media Queries, H. Lie, T. Çelik, D. Glazman, A. van Kesteren. W3C. </p> <p> [MULTIPLEBUFFERING] (Non-normative) [61256]Multiple buffering. Wikipedia. </p> <p> [NAVIGATIONTIMING] [61257]Navigation Timing, Y. Weiss. W3C. </p> <p> [NPAPI] (Non-normative) [61258]Gecko Plugin API Reference. Mozilla. </p> <p> [OGGSKELETONHEADERS] [61259]SkeletonHeaders. Xiph.Org. </p> <p> [OPENSEARCH] [61260]Autodiscovery in HTML/XHTML. In OpenSearch 1.1 Draft 6. GitHub. </p> <p> [ORIGIN] (Non-normative) [61261]The Web Origin Concept, A. Barth. IETF. </p> <p> [PAINTTIMING] [61262]Paint Timing, S. Panicker. W3C. </p> <p> [PAYMENTREQUEST] [61263]Payment Request API, M. Cáceres, D. Wang, R. Solomakhin, I. Jacobs. W3C. </p> <p> [PDF] (Non-normative) [61264]Document management — Portable document format — Part 1: PDF. ISO. </p> <p> [PERFORMANCETIMELINE] [61265]Performance Timeline, N. Peña Moreno, W3C. </p> <p> [PERMISSIONSPOLICY] [61266]Permissions Policy, I. Clelland, W3C. </p> <p> [PICTUREINPICTURE] (Non-normative) [61267]Picture-in-Picture, F. Beaufort, M. Lamouri, W3C </p> <p> [PINGBACK] [61268]Pingback 1.0, S. Langridge, I. Hickson. </p> <p> [PNG] [61269]Portable Network Graphics (PNG) Specification, D. Duce. W3C. </p> <p> [POINTEREVENTS] [61270]Pointer Events, J. Rossi, M. Brubeck, R. Byers, P. H. Lauke. W3C. </p> <p> [POINTERLOCK] [61271]Pointer Lock, V. Scheib. W3C. </p> <p> [PPUTF8] (Non-normative) [61272]The Properties and Promises of UTF-8, M. Dürst. University of Zürich. In Proceedings of the 11th International Unicode Conference. </p> <p> [PRESENTATION] [61273]Presentation API, M. Foltz, D. Röttsches. W3C. </p> <p> [REFERRERPOLICY] [61274]Referrer Policy, J. Eisinger, E. Stark. W3C. </p> <p> [REQUESTIDLECALLBACK] [61275]Cooperative Scheduling of Background Tasks, R. McIlroy, I. Grigorik. W3C. </p> <p> [RESOURCETIMING] [61276]Resource Timing, Yoav Weiss; Noam Rosenthal. W3C. </p> <p> [RFC1034] [61277]Domain Names - Concepts and Facilities, P. Mockapetris. IETF, November 1987. </p> <p> [RFC1123] [61278]Requirements for Internet Hosts -- Application and Support, R. Braden. IETF, October 1989. </p> <p> [RFC2046] [61279]Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types, N. Freed, N. Borenstein. IETF. </p> <p> [RFC2397] [61280]The "data" URL scheme, L. Masinter. IETF. </p> <p> [RFC5545] [61281]Internet Calendaring and Scheduling Core Object Specification (iCalendar), B. Desruisseaux. IETF. </p> <p> [RFC2483] [61282]URI Resolution Services Necessary for URN Resolution, M. Mealling, R. Daniel. IETF. </p> <p> [RFC3676] [61283]The Text/Plain Format and DelSp Parameters, R. Gellens. IETF. </p> <p> [RFC9239] [61284]Updates to ECMAScript Media Types, M. Miller, M. Borins, M. Bynens, B. Farias. IETF. </p> <p> [RFC4337] (Non-normative) [61285]MIME Type Registration for MPEG-4, Y. Lim, D. Singer. IETF. </p> <p> [RFC7595] [61286]Guidelines and Registration Procedures for URI Schemes, D. Thaler, T. Hansen, T. Hardie. IETF. </p> <p> [RFC5322] [61287]Internet Message Format, P. Resnick. IETF. </p> <p> [RFC6381] [61288]The 'Codecs' and 'Profiles' Parameters for "Bucket" Media Types, R. Gellens, D. Singer, P. Frojdh. IETF. </p> <p> [RFC6266] [61289]Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP), J. Reschke. IETF. </p> <p> [RFC6350] [61290]vCard Format Specification, S. Perreault. IETF. </p> <p> [RFC6596] [61291]The Canonical Link Relation, M. Ohye, J. Kupke. IETF. </p> <p> [RFC6903] [61292]Additional Link Relation Types, J. Snell. IETF. </p> <p> [RFC7034] (Non-normative) [61293]HTTP Header Field X-Frame-Options, D. Ross, T. Gondrom. IETF. </p> <p> [RFC7303] [61294]XML Media Types, H. Thompson, C. Lilley. IETF. </p> <p> [RFC7578] [61295]Returning Values from Forms: multipart/form-data, L. Masinter. IETF. </p> <p> [RFC8297] [61296]An HTTP Status Code for Indicating Hints, K. Oku. IETF. </p> <p> [SCREENORIENTATION] [61297]Screen Orientation, M. Cáceres. W3C. </p> <p> [SCSU] (Non-normative) [61298]UTR #6: A Standard Compression Scheme For Unicode, M. Wolf, K. Whistler, C. Wicksteed, M. Davis, A. Freytag, M. Scherer. Unicode Consortium. </p> <p> [SECURE-CONTEXTS] [61299]Secure Contexts, M. West. W3C. </p> <p> [SELECTION] [61300]Selection API, R. Niwa. W3C. </p> <p> [SELECTORS] [61301]Selectors, E. Etemad, T. Çelik, D. Glazman, I. Hickson, P. Linss, J. Williams. W3C. </p> <p> [SMS] (Non-normative) [61302]URI Scheme for Global System for Mobile Communications (GSM) Short Message Service (SMS), E. Wilde, A. Vaha-Sipila. IETF. </p> <p> [STRUCTURED-FIELDS] [61303]Structured Field Values for HTTP, M. Nottingham, P-H. Kamp. IETF. </p> <p> [SRI] [61304]Subresource Integrity, D. Akhawe, F. Braun, F. Marier, J. Weinberger. W3C. </p> <p> [STORAGE] [61305]Storage, A. van Kesteren. WHATWG. </p> <p> [SVG] [61306]Scalable Vector Graphics (SVG) 2, N Andronikos, R. Atanassov, T. Bah, B. Birtles, B. Brinza, C. Concolato, E. Dahlström, C. Lilley, C. McCormack, D. Schepers, R. Schwerdtfeger, D. Storey, S. Takagi, J. Watt. W3C. </p> <p> [SW] [61307]Service Workers, A. Russell, J. Song, J. Archibald. W3C. </p> <p> [TOR] (Non-normative) [61308]Tor. </p> <p> [TOUCH] [61309]Touch Events, D. Schepers, S. Moon, M. Brubeck, A. Barstow, R. Byers. W3C. </p> <p> [TRUSTED-TYPES] [61310]Trusted Types, K. Kotowicz, M. West. W3C. </p> <p> [TZDATABASE] (Non-normative) [61311]Time Zone Database. IANA. </p> <p> [UAAG] (Non-normative) [61312]User Agent Accessibility Guidelines (UAAG) 2.0, J. Allan, K. Ford, J. Richards, J. Spellman. W3C. </p> <p> [UIEVENTS] [61313]UI Events Specification, G. Kacmarcik, T. Leithead. W3C. </p> <p> [UNICODE] [61314]The Unicode Standard. Unicode Consortium. </p> <p> [UNIVCHARDET] (Non-normative) [61315]A composite approach to language/encoding detection, S. Li, K. Momoi. Netscape. In Proceedings of the 19th International Unicode Conference. </p> <p> [URL] [61316]URL, A. van Kesteren. WHATWG. </p> <p> [URN] [61317]URN Syntax, R. Moats. IETF. </p> <p> [UTF7] (Non-normative) [61318]UTF-7: A Mail-Safe Transformation Format of Unicode, D. Goldsmith, M. Davis. IETF. </p> <p> [UTF8DET] (Non-normative) [61319]Multilingual form encoding, M. Dürst. W3C. </p> <p> [UTR36] (Non-normative) [61320]UTR #36: Unicode Security Considerations, M. Davis, M. Suignard. Unicode Consortium. </p> <p> [WASM] [61321]WebAssembly Core Specification, A. Rossberg. W3C. </p> <p> [WASMESM] [61322]WebAssembly JavaScript Interface: ESM Integration, L. Clark, D. Ehrenberg., A. Takikawa., G. Bedford. W3C. </p> <p> [WASMJS] (Non-normative) [61323]WebAssembly JavaScript Interface, D. Ehrenberg. W3C. </p> <p> [WCAG] (Non-normative) [61324]Web Content Accessibility Guidelines (WCAG), A. Kirkpatrick, J. O Connor, A. Campbell, M. Cooper. W3C. </p> <p> [WEBANIMATIONS] [61325]Web Animations, B. Birtles, S. Stephens, D. Stockwell. W3C. </p> <p> [WEBAUDIO] (Non-normative) [61326]Web Audio API, P. Adenot, H. Choi. W3C. </p> <p> [WEBAUTHN] [61327]Web Authentication: An API for accessing Public Key Credentials, M. Jones, A. Kumar, E. Lundberg, D. Balfanz, V. Bharadwaj, A. Birgisson, A. Czeskis, J. Hodges, J.C. Jones, H. Le Van Gong, A. Liao, R. Lindemann, J. Bradley, C. Brand, T. Cappalli, A. Langley, G. Mandyam, M. Miller, N. Satragno, N. Steele, J. Tan, S. Weeden, M. West, J. Yasskin. W3C. </p> <p> [WEBCODECS] [61328]WebCodecs API, C. Cunningham, P. Adenot, B. Aboba. W3C. </p> <p> [WEBCRYPTO] [61329]Web Cryptography API, D. Huigens. W3C. </p> <p> [WEBDRIVER] [61330]WebDriver, S. Stewart, D. Burns. W3C. </p> <p> [WEBDRIVERBIDI] [61331]WebDriver BiDi. W3C </p> <p> [WEBGL] [61332]WebGL Specifications, D. Jackson, J. Gilbert. Khronos Group. </p> <p> [WEBGPU] [61333]WebGPU, D. Malyshau, K. Ninomiya. W3C. </p> <p> [WEBIDL] [61334]Web IDL, E. Chen, T. Gu. WHATWG. </p> <p> [WEBLINK] [61335]Web Linking, M. Nottingham. IETF. </p> <p> [WEBLOCKS] (Non-normative) [61336]Web Locks API, J. Bell, K. Rosylight. W3C. </p> <p> [WEBMCG] [61337]WebM Container Guidelines. The WebM Project. </p> <p> [WEBNFC] (Non-normative) [61338]Web NFC, F. Beaufort, K. Christiansen, Z. Kis. W3C. </p> <p> [WEBRTC] (Non-normative) [61339]Web RTC, C. Jennings, F. Castelli, H. Boström, J. Bruaroey. W3C. </p> <p> [WEBSOCKETS] [61340]WebSockets, A. Rice. WHATWG. </p> <p> [WEBTRANSPORT] [61341]WebTransport, B. Aboba, N. Jaju, V. Vasiliev. W3C. </p> <p> [WEBVTT] [61342]WebVTT, S. Pieters. W3C. </p> <p> [WHATWGWIKI] [61343]The WHATWG Wiki. WHATWG. </p> <p> [X121] Recommendation X.121 — International Numbering Plan for Public Data Networks, CCITT Blue Book, Fascicle VIII.3, pp. 317-332. </p> <p> [XFN] [61344]XFN 1.1 profile, T. Çelik, M. Mullenweg, E. Meyer. GMPG. </p> <p> [XHR] [61345]XMLHttpRequest, A. van Kesteren. WHATWG. </p> <p> [XKCD1288] (Non-normative) [61346]Substitutions, Randall Munroe. xkcd. </p> <p> [XML] [61347]Extensible Markup Language, T. Bray, J. Paoli, C. Sperberg-McQueen, E. Maler, F. Yergeau. W3C. </p> <p> [XMLENTITY] (Non-normative) [61348]XML Entity Definitions for Characters, D. Carlisle, P. Ion. W3C. </p> <p> [XMLNS] [61349]Namespaces in XML, T. Bray, D. Hollander, A. Layman, R. Tobin. W3C. </p> <p> [XMLSSPI] [61350]Associating Style Sheets with XML documents, J. Clark, S. Pieters, H. Thompson. W3C. </p> <p> [XPATH10] [61351]XML Path Language (XPath) Version 1.0, J. Clark, S. DeRose. W3C. </p> <p> [XSLT10] (Non-normative) [61352]XSL Transformations (XSLT) Version 1.0, J. Clark. W3C. </p> <p> [XSLTP] (Non-normative) [61353]DOM XSLTProcessor, WHATWG Wiki. WHATWG. </p> <p> Acknowledgments </p> <p> Thanks to Tim Berners-Lee for inventing HTML, without which none of this would exist. </p> <p> Thanks to Aankhen, Aaqa Ishtyaq, Aaron Boodman, Aaron Leventhal, Aaron Krajeski, Abhishek Ghaskata, Abhishek Gupta, Adam Barth, Adam de Boor, Adam Hepton, Adam Klein, Adam Rice, Adam Roben, Addison Phillips, Adele Peterson, Adrian Bateman, Adrian Roselli, Adrian Sutton, Agustín Fernández, Aharon (Vladimir) Lanin, Ajai Tirumali, Ajay Poshak, Akash Balenalli, Akatsuki Kitamura, Alan Jeffrey, Alan Plum, Alastair Campbell, Alejandro G. Castro, Alex Bishop, Alex Nicolaou, Alex Nozdriukhin, Alex Rousskov, Alex Soncodi, Alexander Farkas, Alexander J. Vincent, Alexander Kalenik, Alexandre Dieulot, Alexandre Morgaut, Alexey Feldgendler, Алексей Проскуряков (Alexey Proskuryakov), Alexey Shvayka, Alexis Deveria, Alfred Agrell, Ali Juma, Alice Boxhall, Alice Wonder, Allan Clements, Allen Wirfs-Brock, Alex Komoroske, Alex Russell, Alphan Chen, Aman Ansari, Ami Fischman, Amos Jeffries, Amos Lim, Anders Carlsson, André Bargull, André E. Veltstra, Andrea Rendine, Andreas, Andreas Deuschlinger, Andreas Farre, Andreas Kling, Andrei Popescu, Andres Gomez, Andres Rios, Andreu Botella, Andrew Barfield, Andrew Clover, Andrew Gove, Andrew Grieve, Andrew Kaster, Andrew Macpherson, Andrew Oakley, Andrew Paseltiner, Andrew Simons, Andrew Smith, Andrew W. Hagen, Andrew Williams, Andrey V. Lukyanov, Andry Rendy, Andy Davies, Andy Earnshaw, Andy Heydon, Andy Paicu, Andy Palay, Anjana Vakil, Ankur Kaushal, Anna Belle Leiserson, Anna Sidwell, Anthony Boyd, Anthony Bryan, Anthony Hickson, Anthony Ramine, Anthony Ricaud, Anton Vayvod, Antonio Sartori, Antti Koivisto, Arfat Salman, Arkadiusz Michalski, Arne Thomassen, Aron Spohr, Arphen Lin, Arthur Hemery, Arthur Sonzogni, Arthur Stolyar, Arun Patole, Aryeh Gregor, Asanka Herath, Asbjørn Ulsberg, Ashley Gullen, Ashley Sheridan, Asumu Takikawa, Atsushi Takayama, Attila Haraszti, Aurelien Levy, Ave Wrigley, Avi Drissman, Axel Dahmen, 방성범 (Bang Seongbeom), Barry Pollard, Ben Boyle, Ben Godfrey, Ben Golightly, Ben Kelly, Ben Lerner, Ben Leslie, Ben Meadowcroft, Ben Millard, Benjamin Carl Wiley Sittler, Benjamin Hawkes-Lewis, Benji Bilheimer, Benoit Ren, Bert Bos, Bijan Parsia, Bil Corry, Bill Mason, Bill McCoy, Billy Wong, Billy Woods, Bjartur Thorlacius, Björn Höhrmann, Blake Frantz, Bob Lund, Bob Owen, Bobby Holley, Boris Zbarsky, Brad Fults, Brad Neuberg, Brad Spencer, Bradley Meck, Brady Eidson, Brandon Jones, Brendan Eich, Brenton Simpson, Brett Wilson, Brett Zamir, Brian Birtles, Brian Blakely, Brian Campbell, Brian Korver, Brian Kuhn, Brian M. Dube, Brian Ryner, Brian Smith, Brian Wilson, Bryan Sullivan, Bruce Bailey, Bruce D'Arcus, Bruce Lawson, Bruce Miller, Bugs Nash, C. Scott Ananian, C. Williams, Cameron McCormack, Cameron Zemek, Cao Yipeng, Carlos Amengual, Carlos Gabriel Cardona, Carlos Ibarra López, Carlos Perelló Marín, Carolyn MacLeod, Casey Leask, Cătălin Badea, Cătălin Mariș, Cem Turesoy, ceving, Chao Cai, 윤석찬 (Channy Yun), Charl van Niekerk, Charlene Wright, Charles Iliya Krempeaux, Charles McCathie Nevile, Charlie Reis, 白丞祐 (Cheng-You Bai), Chris Apers, Chris Cressman, Chris Dumez, Chris Evans, Chris Harrelson, Chris Markiewicz, Chris Morris, Chris Nardi, Chris Needham, Chris Pearce, Chris Peterson, Chris Rebert, Chris Weber, Chris Wilson, Christian Biesinger, Christian Johansen, Christian Schmidt, Christoph Päper, Christophe Dumez, Christopher Aillon, Christopher Cameron, Christopher Ferris, Chriswa, Clark Buehler, Cole Robison, Colin Fine, Collin Jackson, Corey Farwell, Corprew Reed, Craig Cockburn, Csaba Gabor, Csaba Marton, Cynthia Shelly, Cyrille Tuzi, Daksh Shah, Dan Callahan, Dan Yoder, Dane Foster, Daniel Barclay, Daniel Bratell, Daniel Brooks, Daniel Brumbaugh Keeney, Daniel Buchner, Daniel Cheng, Daniel Clark, Daniel Davis, Daniel Ehrenberg, Daniel Ethridge, Daniel Glazman, Daniel Holbert, Daniel Peng, Daniel Schattenkirchner, Daniel Spång, Daniel Steinberg, Daniel Tan, Daniel Trebbien, Daniel Vogelheim, Danny Sullivan, Daphne Preston-Kendal, Darien Maillet Valentine, Darin Adler, Darin Fisher, Darxus, Dave Camp, Dave Cramer, Dave Hodder, Dave Lampton, Dave Singer, Dave Tapuska, Dave Townsend, David Baron, David Bloom, David Bokan, David Bruant, David Carlisle, David E. Cleary, David Egan Evans, David Fink, David Flanagan, David Gerard, David Grogan, David Hale, David Håsäther, David Hyatt, David I. Lehn, David John Burrowes, David Matja, David Remahl, David Resseguie, David Smith, David Storey, David Vest, David Woolley, David Zbarsky, Dave Methvin, DeWitt Clinton, Dean Edridge, Dean Edwards, Dean Jackson, Debanjana Sarkar, Debi Orton, Delan Azabani, Derek Featherstone, Derek Guenther, Devarshi Pant, Devdatta, Devin Mullins, Devin Rousso, Di Zhang, Diego Ferreiro Val, Diego González Zúñiga, Diego Ponce de León, Dimitri Glazkov, Dimitry Golubovsky, Dirk Pranke, Dirk Schulze, Dirkjan Ochtman, Divya Manian, Dmitry Lazutkin, Dmitry Titov, dolphinling, Dominic Cooney, Dominique Hazaël-Massieux, Don Brutzman, Donovan Glover, Doron Rosenberg, Doug Kramer, Doug Simpkinson, Drew Wilson, Edgar Chen, Edmund Lai, Eduard Pascual, Eduardo Vela, Edward Welbourne, Edward Z. Yang, Ehsan Akhgari, Ehsan Karamad, Eira Monstad, Eitan Adler, Eli Friedman, Eli Grey, Eliot Graff, Elisabeth Robson, Elizabeth Castro, Elliott Sprehn, Elliotte Harold, Emilio Cobos Álvarez, Emily Stark, Eric Carlson, Eric Casler, Eric Lawrence, Eric Portis, Eric Rescorla, Eric Semling, Eric Shepherd, Eric Willigers, Erik Arvidsson, Erik Charlebois, Erik Rose, 栗本 英理子 (Eriko Kurimoto), espretto, Evan Jacobs, Evan Martin, Evan Prodromou, Evan Stade, Evert, Evgeny Kapun, ExE-Boss, Ezequiel Garzón, fantasai, Félix Sanz, Felix Sasaki, Fernando Altomare Serboncini, Forbes Lindesay, Francesco Schwarz, Francis Brosnan Blazquez, Franck 'Shift' Quélain, François Marier, Frank Barchard, Frank Liberato, Franklin Shirley, Frederik Braun, Fredrik Söderquist, 鵜飼文敏 (Fumitoshi Ukai), Futomi Hatano, Gavin Carothers, Gavin Kistner, Gareth Rees, Garrett Smith, Gary Blackwood, Gary Kacmarcik, Gary Katsevman, Geoff Richards, Geoffrey Garen, Georg Neis, George Lund, Gianmarco Armellin, Giovanni Campagna, Giuseppe Pascale, Glenn Adams, Glenn Maynard, Graham Klyne, Greg Botten, Greg Houston, Greg Wilkins, Gregg Tavares, Gregory J. Rosmaita, Gregory Terzian, Grey, guest271314, Guilherme Johansson Tramontina, Guy Bedford, Gytis Jakutonis, Håkon Wium Lie, Habib Virji, Hajime Morrita, Hallvord Reiar Michaelsen Steen, Hanna Laakso, Hans S. Tømmerhalt, Hans Stimer, Harald Alvestrand, Hayato Ito, 何志翔 (HE Zhixiang), Henri Sivonen, Henrik Lied, Henrik Lievonen, Henry Lewis, Henry Mason, Henry Story, Hermann Donfack Zeufack, 中川博貴 (Hiroki Nakagawa), Hiroshige Hayashizaki, Hiroyuki USHITO, Hitoshi Yoshida, Hongchan Choi, 王华 (Hua Wang), Hugh Bellamy, Hugh Guiney, Hugh Winkler, Ian Bicking, Ian Clelland, Ian Davis, Ian Fette, Ian Henderson, Ian Kilpatrick, Ibrahim Ahmed, Ido Green, Ignacio Javier, Igor Oliveira, 安次嶺 一功 (Ikko Ashimine), Ilya Grigorik, Ingvar Stepanyan, isonmad, Iurii Kucherov, Ivan Enderlin, Ivan Nikulin, Ivan Panchenko, Ivo Emanuel Gonçalves, J. King, J.C. Jones, Jackson Ray Hamilton, Jacob Davies, Jacques Distler, Jake Archibald, Jake Verbaten, Jakub Vrána, Jakub Łopuszański, Jakub Wilk, James Craig, James Graham, James Greene, James Justin Harrell, James Kozianski, James M Snell, James Perrett, James Robinson, Jamie Liu, Jamie Lokier, Jamie Mansfield, Jan Kühle, Jan Miksovsky, Janice Shiu, Janusz Majnert, Jan-Ivar Bruaroey, Jan-Klaas Kollhof, Jared Jacobs, Jason Duell, Jason Kersey, Jason Lustig, Jason Orendorff, Jason White, Jasper Bryant-Greene, Jasper St. Pierre, Jatinder Mann, Jay Henry Kao, Jean-Yves Avenard, Jed Hartman, Jeff Balogh, Jeff Cutsinger, Jeff Gilbert, Jeff "=JeffH" Hodges, Jeff Schiller, Jeff Walden, Jeffrey Yasskin, Jeffrey Zeldman, 胡慧鋒 (Jennifer Braithwaite), Jellybean Stonerfish, Jennifer Apacible, Jens Bannmann, Jens Fendler, Jens Oliver Meiert, Jens Widell, Jer Noble, Jeremey Hustman, Jeremy Keith, Jeremy Orlow, Jeremy Roman, Jeroen van der Meer, Jerry Smith, Jesse Renée Beach, Jessica Jong, jfkthame, Jian Li, Jihye Hong, Jim Jewett, Jim Ley, Jim Meehan, Jim Michaels, Jinho Bang, Jinjiang (勾三股四), Jirka Kosek, Jjgod Jiang, Joaquim Medeiros, João Eiras, Jochen Eisinger, Joe Clark, Joe Gregorio, Joel Spolsky, Joel Verhagen, Joey Arhar, Johan Herland, Johanna Herman, John Boyer, John Bussjaeger, John Carpenter, John Daggett, John Fallows, John Foliot, John Harding, John Keiser, John Law, John Musgrave, John Snyders, John Stockton, John-Mark Bell, Johnny Stenback, Jon Coppeard, Jon Ferraiolo, Jon Gibbins, Jon Jensen, Jon Perlow, Jonas Sicking, Jonathan Cook, Jonathan Kew, Jonathan Neal, Jonathan Oddy, Jonathan Rees, Jonathan Watt, Jonathan Worent, Jonny Axelsson, Joram Schrijver, Jordan Tucker, Jorgen Horstink, Joris van der Wel, Jorunn Danielsen Newth, Joseph Kesselman, Joseph Mansfield, Joseph Pecoraro, Josh Aas, Josh Hart, Josh Juran, Josh Levenberg, Josh Matthews, Joshua Bell, Joshua Chen, Joshua Randall, Juan Olvera, Juanmi Huertas, Jukka K. Korpela, Jules Clément-Ripoche, Julian Reschke, Julio Lopez, 小勝 純 (Jun Kokatsu), Jun Yang (harttle), Jungkee Song, Jürgen Jeka, Justin Lebar, Justin Novosad, Justin Rogers, Justin Schuh, Justin Sinclair, Juuso Lapinlampi, Ka-Sing Chou, Kagami Sascha Rosylight, Kai Hendry, Kamishetty Sreeja, 呂康豪 (KangHao Lu), Karl Dubost, Karl Tomlinson, Kartik Arora, Kartikaya Gupta, Kathy Walton, 河童エクマ(Kawarabe Ecma) Keith Cirkel, Keith Rollin, Keith Yeung, Kelly Ford, Kelly Norton, Ken Russell, Kenji Baheux, Kevin Benson, Kevin Cole, Kevin Gadd, Kevin McNee, Kevin Venkiteswaran, Khushal Sagar, Kinuko Yasuda, Koji Ishii, Kornél Pál, Kornel Lesinski, 上野 康平 (UENO, Kouhei), Kris Northfield, Kristian Spangsege, Kristof Zelechovski, Krzysztof Maczyński, 黒澤剛志 (Kurosawa Takeshi), Kyle Barnhart, Kyle Hofmann, Kyle Huey, Léonard Bouchet, Léonie Watson, Lachlan Hunt, Larry Masinter, Larry Page, Lars Gunther, Lars Solberg, Laura Carlson, Laura Granka, Laura L. Carlson, Laura Wisewell, Laurens Holst, Lawrence Forooghian, Lee Kowalkowski, Leif Halvard Silli, Leif Kornstaedt, Lenny Domnitser, Leonard Rosenthol, Leons Petrazickis, Liviu Tinta, Lobotom Dysmon, Logan, Logan Moore, Loune, Lucas Gadani, Łukasz Pilorz, Luke Kenneth Casson Leighton, Luke Warlow, Luke Wilde, Maciej Stachowiak, Magne Andersson, Magnus Kristiansen, Maik Merten, Majid Valipour, Maksim Sadym, Malcolm Rowe, Manish Goregaokar, Manish Tripathi, Manuel Martinez-Almeida, Manuel Rego Casasnovas, Marc Hoyois, Marc-André Choquette, Marc-André Lafortune, Marco Zehe, Marcus Bointon, Marcus Otterström, Marijn Kruisselbrink, Mark Amery, Mark Birbeck, Mark Davis, Mark Green, Mark Miller, Mark Nottingham, Mark Pilgrim, Mark Rogers, Mark Rowe, Mark Schenk, Mark Vickers, Mark Wilton-Jones, Markus Cadonau, Markus Stange, Martijn van der Ven, Martijn Wargers, Martin Atkins, Martin Chaov, Martin Dürst, Martin Honnen, Martin Janecke, Martin Kutschker, Martin Nilsson, Martin Thomson, Masataka Yakura, Masatoshi Kimura, Mason Freed, Mason Mize, Mathias Bynens, Mathieu Henri, Matias Larsson, Matt Brubeck, Matt Di Pasquale, Matt Falkenhagen, Matt Giuca, Matt Harding, Matt Schmidt, Matt Wright, Matthew Gaudet, Matthew Gregan, Matthew Mastracci, Matthew Noorenberghe, Matthew Raymond, Matthew Thomas, Matthew Tylee Atkinson, Mattias Waldau, Max Romantschuk, Maxim Tsoy, Mayeul Cantan, Menachem Salomon, Menno van Slooten, Micah Dubinko, Micah Nerren, Michael 'Ratt' Iannarelli, Michael A. Nachbaur, Michael A. Puls II, Michael Carter, Michael Daskalov, Michael Day, Michael Dyck, Michael Enright, Michael Ficarra, Michael Gratton, Michael Kohler, Michael McKelvey, Michael Nordman, Michael Powers, Michael Rakowski, Michael(tm) Smith, Michael Walmsley, Michal Zalewski, Michel Buffa, Michel Fortin, Michelangelo De Simone, Michiel van der Blonk, Miguel Casas-Sanchez, Mihai Şucan, Mihai Parparita, Mike Brown, Mike Dierken, Mike Dixon, Mike Hearn, Mike Pennisi, Mike Schinkel, Mike Shaver, Mikko Rantalainen, Mingye Wang, Mirko Brodesser, Mohamed Zergaoui, Mohammad Al Houssami, Mohammad Reza Zakerinasab, Momdo Nakamura, Morten Stenshorne, Mounir Lamouri, Ms2ger, mtrootyy, 邱慕安 (Mu-An Chiou), Mukilan Thiyagarajan, Mustaq Ahmed, Myles Borins, Nadia Heninger, Nate Chapin, NARUSE Yui, Navid Zolghadr, Neil Deakin, Neil Rashbrook, Neil Soiffer, Nereida Rondon, networkException, Nicholas Shanks, Nicholas Stimpson, Nicholas Zakas, Nickolay Ponomarev, Nicolas Gallagher, Nicolas Pena Moreno, Nicolò Ribaudo, Nidhi Jaju, Nikki Bee, Niklas Gögge, Nina Satragno, Noah Mendelsohn, Noah Slater, Noam Rosenthal, Noel Gordon, Nolan Waite, NoozNooz42, Norbert Lindenberg, Oisín Nolan, Ojan Vafai, Olaf Hoffmann, Olav Junker Kjær, Oldřich Vetešník, Oli Studholme, Oliver Hunt, Oliver Rigby, Olivia (Xiaoni) Lai, Olivier Gendrin, Olli Pettay, Ondřej Žára, Ori Avtalion, Oriol Brufau, oSand, Pablo Flouret, Patrick Dark, Patrick Garies, Patrick H. Lauke, Patrik Persson, Paul Adenot, Paul Lewis, Paul Norman, Per-Erik Brodin, 一丝 (percyley), Perry Smith, Peter Beverloo, Peter Karlsson, Peter Kasting, Peter Moulder, Peter Occil, Peter Stark, Peter Van der Beken, Peter van der Zee, Peter-Paul Koch, Phil Pickering, Philip Ahlberg, Philip Brembeck, Philip Taylor, Philip TAYLOR, Philippe De Ryck, Pierre-Arnaud Allumé, Pierre-Marie Dartus, Pierre-Yves Gérardy, Piers Wombwell, Pooja Sanklecha, Prashant Hiremath, Prashanth Chandra, Prateek Rungta, Pravir Gupta, Prayag Verma, 李普君 (Pujun Li), Rachid Finge, Rafael Weinstein, Rafał Miłecki, Rahim Abdi, Rahul Purohit, Raj Doshi, Rajas Moonka, Rakina Zata Amni, Ralf Stoltze, Ralph Giles, Raphael Champeimont, Rebecca Star, Remci Mizkur, Remco, Remy Sharp, Rene Saarsoo, Rene Stach, Ric Hardacre, Rich Clark, Rich Doughty, Richa Rupela, Richard Gibson, Richard Ishida, Richard Torres, Ricky Mondello, Rigo Wenning, Rikkert Koppes, Rimantas Liubertas, Riona Macnamara, Rob Buis, Rob Ennals, Rob Jellinghaus, Rob S, Rob Smith, Robert Blaut, Robert Collins, Robert Hogan, Robert Kieffer, Robert Linder, Robert Millan, Robert O'Callahan, Robert Sayre, Robin Berjon, Robin Schaufler, Rodger Combs, Roland Steiner, Roma Matusevich, Romain Deltour, Roman Ivanov, Roy Fielding, Rune Lillesveen, Russell Bicknell, Ruud Steltenpool, Ryan King, Ryan Landay, Ryan Sleevi, Ryo Kajiwara, Ryo Kato, Ryosuke Niwa, S. Mike Dierken, Salvatore Loreto, Sam Atkins, Sam Dutton, Sam Kuper, Sam Ruby, Sam Sneddon, Sam Weinig, Samikshya Chand, Samuel Bronson, Samy Kamkar, Sander van Lambalgen, Sanjoy Pal, Sanket Joshi, Sarah Gebauer, Sarven Capadisli, Satrujit Behera, Sayan Sivakumaran, Schalk Neethling, Scott Beardsley, Scott González, Scott Hess, Scott Miles, Scott O'Hara, Sean B. Palmer, Sean Feng, Sean Fraser, Sean Hayes, Sean Hogan, Sean Knapp, Sebastian Markbåge, Sebastian Schnitzenbaumer, Sendil Kumar N, Seth Call, Seth Dillingham, Shannon Moeller, Shanti Rao, Shaun Inman, Shiino Yuki, 贺师俊 (HE Shi-Jun), Shiki Okasaka, Shivani Sharma, shreyateeza, Shubheksha Jalan, Sidak Singh Aulakh, Sierk Bornemann, Sigbjørn Finne, Sigbjørn Vik, Silver Ghost, Silvia Pfeiffer, Šime Vidas, Simon Fraser, Simon Montagu, Simon Sapin, Yu Han, Simon Spiegel, Simon Wülker, Siye Liu, skeww, Smylers, Srirama Chandra Sekhar Mogali, Stanton McCandlish, stasoid, Stefan Håkansson, Stefan Haustein, Stefan Santesson, Stefan Schumacher, Ştefan Vargyas, Stefan Weiss, Steffen Meschkat, Stephen Chenney, Stephen Ma, Stephen Stewart, Stephen White, Steve Comstock, Steve Faulkner, Steve Fink, Steve Orvell, Steve Runyon, Steven Bennett, Steven Bingler, Steven Garrity, Steven Tate, Stewart Brodie, Stuart Ballard, Stuart Langridge, Stuart Parmenter, Subramanian Peruvemba, Sudhanshu Jaiswal, sudokus999, Sunava Dutta, Surma, Susan Borgrink, Susan Lesch, Sylvain Pasche, T.J. Crowder, Tab Atkins-Bittner, Taiju Tsuiki, Takashi Toyoshima, Takayoshi Kochi, Takeshi Yoshino, Tantek Çelik, 田村健人 (Kent TAMURA), Tawanda Moyo, Taylor Hunt, Ted Mielczarek, Terence Eden, Terrence Wood, Tetsuharu OHZEKI, Theresa O'Connor, Thijs van der Vossen, Thomas Broyer, Thomas Koetter, Thomas O'Connor, Tim Altman, Tim Dresser, Tim Flynn, Tim Johansson, Tim Nguyen, Tim Perry, Tim van der Lippe, TJ VanToll, Tobias Schneider, Tobie Langel, Toby Inkster, Todd Moody, Tom Baker, Tom Pike, Tom Schuster, Tom ten Thij, Tomasz Jakut, Tomek Wytrębowicz, Tommy Thorsen, Tony Ross, Tooru Fujisawa, Toru Kobayashi, Traian Captan, Travis Leithead, Trevor Rowbotham, Trevor Saunders, Trey Eckels, triple-underscore, Tristan Fraipont, Tristan Parisot, 保呂 毅 (Tsuyoshi Horo), Tyler Close, Valentin Gosu, Vardhan Gupta, Vas Sudanagunta, Veli Şenol, Victor Carbune, Victor Costan, Vipul Snehadeep Chawathe, Vitya Muhachev, Vlad Levin, Vladimir Katardjiev, Vladimir Vukićević, Vyacheslav Aristov, voracity, Walter Steiner, Wakaba, Wayne Carr, Wayne Pollock, Wellington Fernando de Macedo, Wenson Hsieh, Weston Ruter, Wilhelm Joys Andersen, Will Levine, Will Ray, William Chen, William Swanson, Willy Martin Aguirre Rodriguez, Wladimir Palant, Wojciech Mach, Wolfram Kriesing, Xan Gregg, xenotheme, XhmikosR, Xida Chen, Xidorn Quan, Xue Fuqiao, Yang Chen, Yao Xiao, Yash Handa, Yay295, Ye-Kui Wang, Yehuda Katz, Yi Xu, Yi-An Huang, Yngve Nysaeter Pettersen, Yoav Weiss, Yonathan Randolph, Yu Huojiang, Yuki Okushi, Yury Delendik, 平野裕 (Yutaka Hirano), Yuzo Fujishima, 西條柚 (Yuzu Saijo), Zhenbin Xu, 张智强 (Zhiqiang Zhang), Zoltan Herczeg, Zyachel, and Øistein E. Andersen, for their useful comments, both large and small, that have led to changes to this specification over the years. </p> <p> Thanks also to everyone who has ever posted about HTML to their blogs, public mailing lists, or forums, including all the contributors to the [61354]various W3C HTML WG lists and the [61355]various WHATWG lists. </p> <p> Special thanks to Richard Williamson for creating the first implementation of [61356]canvas in Safari, from which the canvas feature was designed. </p> <p> Special thanks also to the Microsoft employees who first implemented the event-based drag-and-drop mechanism, [61357]contenteditable, and other features first widely deployed by the Windows Internet Explorer browser. </p> <p> Special thanks and $10,000 to David Hyatt who came up with a broken implementation of the [61358]adoption agency algorithm that the editor had to reverse engineer and fix before using it in the parsing section. </p> <p> Thanks to the participants of the microdata usability study for allowing us to use their mistakes as a guide for designing the microdata feature. </p> <p> Thanks to the many sources that provided inspiration for the examples used in the specification. </p> <p> Thanks also to the Microsoft blogging community for some ideas, to the attendees of the W3C Workshop on Web Applications and Compound Documents for inspiration, to the #mrt crew, the #mrt.no crew, and the #whatwg crew, and to Pillar and Hedral for their ideas and support. </p> <p> Thanks to Igor Zhbanov for generating PDF versions of the specification. </p> <p> Special thanks to the [61359]RICG for developing the [61360]picture element and related features; in particular thanks to Adrian Bateman, Bruce Lawson, David Newton, Ilya Grigorik, John Schoenick, Leon de Rijke, Mat Marquis, Marcos Cáceres, Tab Atkins, Theresa O'Connor, and Yoav Weiss for their contributions. </p> <p> Special thanks to the [61361]WPWG for incubating the [61362]custom elements feature. In particular, thanks to David Hyatt and Ian Hickson for their influence through the XBL specifications, Dimitri Glazkov for the first draft of the custom elements specification, and to Alex Komoroske, Alex Russell, Andres Rios, Boris Zbarsky, Brian Kardell, Daniel Buchner, Dominic Cooney, Erik Arvidsson, Elliott Sprehn, Hajime Morrita, Hayato Ito, Jan Miksovsky, Jonas Sicking, Olli Pettay, Rafael Weinstein, Roland Steiner, Ryosuke Niwa, Scott Miles, Steve Faulkner, Steve Orvell, Tab Atkins, Theresa O'Connor, Tim Perry, and William Chen for their contributions. </p> <p> Special thanks to the [61363]CSSWG for developing the [61364]worklets. In particular, thanks to Ian Kilpatrick for his work as editor of the original worklets specification. </p> <p> For about ten years starting in 2003, this standard was almost entirely written by Ian Hickson ([61365]Google, [61366]ian@hixie.ch). </p> <p> Starting in 2015, the editor group expanded. It is currently maintained by [61367]Anne van Kesteren ([61368]Apple, [61369]annevk@annevk.nl), [61370]Domenic Denicola ([61371]Google, [61372]d@domenic.me) [61373]Dominic Farolino ([61374]Google, [61375]domfarolino@gmail.com), [61376]Philip Jägenstedt ([61377]Google, [61378]philip@foolip.org), and Simon Pieters ([61379]Mozilla, [61380]zcorpan@gmail.com). </p> <p> Intellectual property rights </p> <p> The image in the introduction is based on [61381]a photo by [61382]Wonderlane. ([61383]CC BY 2.0) </p> <p> The image of the wolf in the embedded content introduction is based on [61384]a photo by [61385]Barry O'Neill. ([61386]Public domain) </p> <p> The image of the kettlebell swing in the embedded content introduction is based on [61387]a photo by [61388]kokkarina. ([61389]CC0 1.0) </p> <p> The Blue Robot Player sprite used in the canvas demo is based on [61390]a work by [61391]JohnColburn. ([61392]CC BY-SA 3.0) </p> <p> The photograph of robot 148 climbing the tower at the FIRST Robotics Competition 2013 Silicon Valley Regional is based on [61393]a work by [61394]Lenore Edman. ([61395]CC BY 2.0) </p> <p> The diagram showing how [61396]async and [61397]defer impact [61398]script loading is based on a similar diagram from [61399]a blog post by [61400]Peter Beverloo. ([61401]CC0 1.0) </p> <p> The image decoding demo used to demonstrate module-based workers draws on some example code from [61402]a tutorial by [61403]Ilmari Heikkinen. ([61404]CC BY 3.0) </p> <p> The <flag-icon> example was inspired by [61405]a custom element by [61406]Steven Skelton. ([61407]MIT) </p> <p> Part of the revision history of the [61408]picture element and related features can be found in the [61409]ResponsiveImagesCG/picture-element repository, which is available under the [61410]W3C Software and Document License. </p> <p> Part of the revision history of the [61411]theme-color metadata name can be found in the [61412]whatwg/meta-theme-color repository, which is available under [61413]CC0. </p> <p> Part of the revision history of the [61414]custom elements feature can be found in the [61415]w3c/webcomponents repository, which is available under the [61416]W3C Software and Document License. </p> <p> Part of the revision history of the [61417]innerText getter and setter can be found in the [61418]rocallahan/innerText-spec repository, which is available under [61419]CC0. </p> <p> Part of the revision history of the [61420]worklets feature can be found in the [61421]w3c/css-houdini-drafts repository, which is available under the [61422]W3C Software and Document License. </p> <p> Part of the revision history of the [61423]import maps feature can be found in the [61424]WICG/import-maps repository, which is available under the [61425]W3C Software and Document License. </p> <p> Part of the revision history of the [61426]navigation API feature can be found in the [61427]WICG/navigation-api repository, which is available under the [61428]W3C Software and Document License. </p> <p> Part of the revision history of the [61429]Close requests and close watchers section can be found in the [61430]WICG/close-watcher repository, which is available under the [61431]W3C Software and Document License. </p> <p> Copyright © WHATWG (Apple, Google, Mozilla, Microsoft). This work is licensed under a [61432]Creative Commons Attribution 4.0 International License. To the extent portions of it are incorporated into source code, such portions in the source code are licensed under the [61433]BSD 3-Clause License instead. </p> <p> This is the Living Standard. Those interested in the patent-review version should view the [61434]Living Standard Review Draft. </p> <p> References </p> <p> Visible links: 1. https://whatwg.org/ 2. https://html.spec.whatwg.org/ 3. https://html.spec.whatwg.org/multipage/ 4. https://html.spec.whatwg.org/dev/ 5. https://html.spec.whatwg.org/print.pdf 6. https://github.com/whatwg/html/wiki/Translations 7. https://github.com/whatwg/html/blob/main/FAQ.md 8. https://whatwg.org/chat 9. https://github.com/whatwg/html 10. https://github.com/whatwg/html/commits 11. https://html.spec.whatwg.org/commit-snapshots/0777702ecd9f945fe902daf02c41b57e78417990/ 12. https://twitter.com/htmlstandard 13. https://github.com/whatwg/html/issues 14. https://whatwg.org/newbug 15. https://github.com/web-platform-tests/wpt/tree/master/html 16. https://github.com/web-platform-tests/wpt/labels/html 17. https://html.spec.whatwg.org/#toc-introduction 18. https://html.spec.whatwg.org/#toc-infrastructure 19. https://html.spec.whatwg.org/#toc-dom 20. https://html.spec.whatwg.org/#toc-semantics 21. https://html.spec.whatwg.org/#toc-microdata 22. https://html.spec.whatwg.org/#toc-editing 23. https://html.spec.whatwg.org/#toc-browsers 24. https://html.spec.whatwg.org/#toc-webappapis 25. https://html.spec.whatwg.org/#toc-comms 26. https://html.spec.whatwg.org/#toc-workers 27. https://html.spec.whatwg.org/#toc-worklets 28. https://html.spec.whatwg.org/#toc-webstorage 29. https://html.spec.whatwg.org/#toc-syntax 30. https://html.spec.whatwg.org/#toc-the-xhtml-syntax 31. https://html.spec.whatwg.org/#toc-rendering 32. https://html.spec.whatwg.org/#toc-obsolete 33. https://html.spec.whatwg.org/#toc-iana 34. https://html.spec.whatwg.org/#toc-index 35. https://html.spec.whatwg.org/#toc-references 36. https://html.spec.whatwg.org/#toc-acknowledgments 37. https://html.spec.whatwg.org/#toc-ipr 38. https://html.spec.whatwg.org/#introduction 39. https://html.spec.whatwg.org/#abstract 40. https://html.spec.whatwg.org/#is-this-html5? 41. https://html.spec.whatwg.org/#background 42. https://html.spec.whatwg.org/#audience 43. https://html.spec.whatwg.org/#scope 44. https://html.spec.whatwg.org/#history-2 45. https://html.spec.whatwg.org/#design-notes 46. https://html.spec.whatwg.org/#serialisability-of-script-execution 47. https://html.spec.whatwg.org/#extensibility 48. https://html.spec.whatwg.org/#html-vs-xhtml 49. https://html.spec.whatwg.org/#structure-of-this-specification 50. https://html.spec.whatwg.org/#how-to-read-this-specification 51. https://html.spec.whatwg.org/#typographic-conventions 52. https://html.spec.whatwg.org/#a-quick-introduction-to-html 53. https://html.spec.whatwg.org/#writing-secure-applications-with-html 54. https://html.spec.whatwg.org/#common-pitfalls-to-avoid-when-using-the-scripting-apis 55. https://html.spec.whatwg.org/#how-to-catch-mistakes-when-writing-html:-validators-and-conformance-checkers 56. https://html.spec.whatwg.org/#conformance-requirements-for-authors 57. https://html.spec.whatwg.org/#presentational-markup 58. https://html.spec.whatwg.org/#syntax-errors 59. https://html.spec.whatwg.org/#restrictions-on-content-models-and-on-attribute-values 60. https://html.spec.whatwg.org/#suggested-reading 61. https://html.spec.whatwg.org/#infrastructure 62. https://html.spec.whatwg.org/#terminology 63. https://html.spec.whatwg.org/#parallelism 64. https://html.spec.whatwg.org/#resources 65. https://html.spec.whatwg.org/#xml 66. https://html.spec.whatwg.org/#dom-trees 67. https://html.spec.whatwg.org/#scripting-2 68. https://html.spec.whatwg.org/#plugins 69. https://html.spec.whatwg.org/#encoding-terminology 70. https://html.spec.whatwg.org/#conformance-classes 71. https://html.spec.whatwg.org/#dependencies 72. https://html.spec.whatwg.org/#extensibility-2 73. https://html.spec.whatwg.org/#interactions-with-xpath-and-xslt 74. https://html.spec.whatwg.org/#policy-controlled-features 75. https://html.spec.whatwg.org/#common-microsyntaxes 76. https://html.spec.whatwg.org/#common-parser-idioms 77. https://html.spec.whatwg.org/#boolean-attributes 78. https://html.spec.whatwg.org/#keywords-and-enumerated-attributes 79. https://html.spec.whatwg.org/#numbers 80. https://html.spec.whatwg.org/#signed-integers 81. https://html.spec.whatwg.org/#non-negative-integers 82. https://html.spec.whatwg.org/#floating-point-numbers 83. https://html.spec.whatwg.org/#percentages-and-dimensions 84. https://html.spec.whatwg.org/#nonzero-percentages-and-lengths 85. https://html.spec.whatwg.org/#lists-of-floating-point-numbers 86. https://html.spec.whatwg.org/#lists-of-dimensions 87. https://html.spec.whatwg.org/#dates-and-times 88. https://html.spec.whatwg.org/#months 89. https://html.spec.whatwg.org/#dates 90. https://html.spec.whatwg.org/#yearless-dates 91. https://html.spec.whatwg.org/#times 92. https://html.spec.whatwg.org/#local-dates-and-times 93. https://html.spec.whatwg.org/#time-zones 94. https://html.spec.whatwg.org/#global-dates-and-times 95. https://html.spec.whatwg.org/#weeks 96. https://html.spec.whatwg.org/#durations 97. https://html.spec.whatwg.org/#vaguer-moments-in-time 98. https://html.spec.whatwg.org/#colours 99. https://html.spec.whatwg.org/#space-separated-tokens 100. https://html.spec.whatwg.org/#comma-separated-tokens 101. https://html.spec.whatwg.org/#syntax-references 102. https://html.spec.whatwg.org/#mq 103. https://html.spec.whatwg.org/#unique-values 104. https://html.spec.whatwg.org/#urls 105. https://html.spec.whatwg.org/#terminology-2 106. https://html.spec.whatwg.org/#resolving-urls 107. https://html.spec.whatwg.org/#dynamic-changes-to-base-urls 108. https://html.spec.whatwg.org/#fetching-resources 109. https://html.spec.whatwg.org/#terminology-3 110. https://html.spec.whatwg.org/#content-type-sniffing 111. https://html.spec.whatwg.org/#extracting-character-encodings-from-meta-elements 112. https://html.spec.whatwg.org/#cors-settings-attributes 113. https://html.spec.whatwg.org/#referrer-policy-attributes 114. https://html.spec.whatwg.org/#nonce-attributes 115. https://html.spec.whatwg.org/#lazy-loading-attributes 116. https://html.spec.whatwg.org/#blocking-attributes 117. https://html.spec.whatwg.org/#fetch-priority-attributes 118. https://html.spec.whatwg.org/#common-dom-interfaces 119. https://html.spec.whatwg.org/#reflecting-content-attributes-in-idl-attributes 120. https://html.spec.whatwg.org/#using-reflect-in-specifications 121. https://html.spec.whatwg.org/#collections 122. https://html.spec.whatwg.org/#the-htmlallcollection-interface 123. https://html.spec.whatwg.org/#HTMLAllCollection-call 124. https://html.spec.whatwg.org/#the-htmlformcontrolscollection-interface 125. https://html.spec.whatwg.org/#the-htmloptionscollection-interface 126. https://html.spec.whatwg.org/#the-domstringlist-interface 127. https://html.spec.whatwg.org/#safe-passing-of-structured-data 128. https://html.spec.whatwg.org/#serializable-objects 129. https://html.spec.whatwg.org/#transferable-objects 130. https://html.spec.whatwg.org/#structuredserializeinternal 131. https://html.spec.whatwg.org/#structuredserialize 132. https://html.spec.whatwg.org/#structuredserializeforstorage 133. https://html.spec.whatwg.org/#structureddeserialize 134. https://html.spec.whatwg.org/#structuredserializewithtransfer 135. https://html.spec.whatwg.org/#structureddeserializewithtransfer 136. https://html.spec.whatwg.org/#performing-structured-clones-from-other-specifications 137. https://html.spec.whatwg.org/#structured-cloning 138. https://html.spec.whatwg.org/#dom 139. https://html.spec.whatwg.org/#documents 140. https://html.spec.whatwg.org/#the-document-object 141. https://html.spec.whatwg.org/#the-documentorshadowroot-interface 142. https://html.spec.whatwg.org/#resource-metadata-management 143. https://html.spec.whatwg.org/#reporting-document-loading-status 144. https://html.spec.whatwg.org/#render-blocking-mechanism 145. https://html.spec.whatwg.org/#dom-tree-accessors 146. https://html.spec.whatwg.org/#elements 147. https://html.spec.whatwg.org/#semantics-2 148. https://html.spec.whatwg.org/#elements-in-the-dom 149. https://html.spec.whatwg.org/#html-element-constructors 150. https://html.spec.whatwg.org/#element-definitions 151. https://html.spec.whatwg.org/#attributes 152. https://html.spec.whatwg.org/#content-models 153. https://html.spec.whatwg.org/#the-nothing-content-model 154. https://html.spec.whatwg.org/#kinds-of-content 155. https://html.spec.whatwg.org/#metadata-content 156. https://html.spec.whatwg.org/#flow-content 157. https://html.spec.whatwg.org/#sectioning-content 158. https://html.spec.whatwg.org/#heading-content 159. https://html.spec.whatwg.org/#phrasing-content 160. https://html.spec.whatwg.org/#embedded-content-2 161. https://html.spec.whatwg.org/#interactive-content 162. https://html.spec.whatwg.org/#palpable-content 163. https://html.spec.whatwg.org/#script-supporting-elements 164. https://html.spec.whatwg.org/#transparent-content-models 165. https://html.spec.whatwg.org/#paragraphs 166. https://html.spec.whatwg.org/#global-attributes 167. https://html.spec.whatwg.org/#the-title-attribute 168. https://html.spec.whatwg.org/#the-lang-and-xml:lang-attributes 169. https://html.spec.whatwg.org/#the-translate-attribute 170. https://html.spec.whatwg.org/#the-dir-attribute 171. https://html.spec.whatwg.org/#the-style-attribute 172. https://html.spec.whatwg.org/#embedding-custom-non-visible-data-with-the-data-*-attributes 173. https://html.spec.whatwg.org/#the-innertext-idl-attribute 174. https://html.spec.whatwg.org/#requirements-relating-to-the-bidirectional-algorithm 175. https://html.spec.whatwg.org/#authoring-conformance-criteria-for-bidirectional-algorithm-formatting-characters 176. https://html.spec.whatwg.org/#user-agent-conformance-criteria 177. https://html.spec.whatwg.org/#wai-aria 178. https://html.spec.whatwg.org/#semantics 179. https://html.spec.whatwg.org/#the-root-element 180. https://html.spec.whatwg.org/#the-html-element 181. https://html.spec.whatwg.org/#document-metadata 182. https://html.spec.whatwg.org/#the-head-element 183. https://html.spec.whatwg.org/#the-title-element 184. https://html.spec.whatwg.org/#the-base-element 185. https://html.spec.whatwg.org/#the-link-element 186. https://html.spec.whatwg.org/#processing-the-media-attribute 187. https://html.spec.whatwg.org/#processing-the-type-attribute 188. https://html.spec.whatwg.org/#fetching-and-processing-a-resource-from-a-link-element 189. https://html.spec.whatwg.org/#processing-link-headers 190. https://html.spec.whatwg.org/#early-hints 191. https://html.spec.whatwg.org/#providing-users-with-a-means-to-follow-hyperlinks-created-using-the-link-element 192. https://html.spec.whatwg.org/#the-meta-element 193. https://html.spec.whatwg.org/#standard-metadata-names 194. https://html.spec.whatwg.org/#other-metadata-names 195. https://html.spec.whatwg.org/#pragma-directives 196. https://html.spec.whatwg.org/#charset 197. https://html.spec.whatwg.org/#the-style-element 198. https://html.spec.whatwg.org/#interactions-of-styling-and-scripting 199. https://html.spec.whatwg.org/#sections 200. https://html.spec.whatwg.org/#the-body-element 201. https://html.spec.whatwg.org/#the-article-element 202. https://html.spec.whatwg.org/#the-section-element 203. https://html.spec.whatwg.org/#the-nav-element 204. https://html.spec.whatwg.org/#the-aside-element 205. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 206. https://html.spec.whatwg.org/#the-hgroup-element 207. https://html.spec.whatwg.org/#the-header-element 208. https://html.spec.whatwg.org/#the-footer-element 209. https://html.spec.whatwg.org/#the-address-element 210. https://html.spec.whatwg.org/#headings-and-outlines-2 211. https://html.spec.whatwg.org/#sample-outlines 212. https://html.spec.whatwg.org/#exposing-outlines-to-users 213. https://html.spec.whatwg.org/#usage-summary-2 214. https://html.spec.whatwg.org/#article-or-section 215. https://html.spec.whatwg.org/#grouping-content 216. https://html.spec.whatwg.org/#the-p-element 217. https://html.spec.whatwg.org/#the-hr-element 218. https://html.spec.whatwg.org/#the-pre-element 219. https://html.spec.whatwg.org/#the-blockquote-element 220. https://html.spec.whatwg.org/#the-ol-element 221. https://html.spec.whatwg.org/#the-ul-element 222. https://html.spec.whatwg.org/#the-menu-element 223. https://html.spec.whatwg.org/#the-li-element 224. https://html.spec.whatwg.org/#the-dl-element 225. https://html.spec.whatwg.org/#the-dt-element 226. https://html.spec.whatwg.org/#the-dd-element 227. https://html.spec.whatwg.org/#the-figure-element 228. https://html.spec.whatwg.org/#the-figcaption-element 229. https://html.spec.whatwg.org/#the-main-element 230. https://html.spec.whatwg.org/#the-search-element 231. https://html.spec.whatwg.org/#the-div-element 232. https://html.spec.whatwg.org/#text-level-semantics 233. https://html.spec.whatwg.org/#the-a-element 234. https://html.spec.whatwg.org/#the-em-element 235. https://html.spec.whatwg.org/#the-strong-element 236. https://html.spec.whatwg.org/#the-small-element 237. https://html.spec.whatwg.org/#the-s-element 238. https://html.spec.whatwg.org/#the-cite-element 239. https://html.spec.whatwg.org/#the-q-element 240. https://html.spec.whatwg.org/#the-dfn-element 241. https://html.spec.whatwg.org/#the-abbr-element 242. https://html.spec.whatwg.org/#the-ruby-element 243. https://html.spec.whatwg.org/#the-rt-element 244. https://html.spec.whatwg.org/#the-rp-element 245. https://html.spec.whatwg.org/#the-data-element 246. https://html.spec.whatwg.org/#the-time-element 247. https://html.spec.whatwg.org/#the-code-element 248. https://html.spec.whatwg.org/#the-var-element 249. https://html.spec.whatwg.org/#the-samp-element 250. https://html.spec.whatwg.org/#the-kbd-element 251. https://html.spec.whatwg.org/#the-sub-and-sup-elements 252. https://html.spec.whatwg.org/#the-i-element 253. https://html.spec.whatwg.org/#the-b-element 254. https://html.spec.whatwg.org/#the-u-element 255. https://html.spec.whatwg.org/#the-mark-element 256. https://html.spec.whatwg.org/#the-bdi-element 257. https://html.spec.whatwg.org/#the-bdo-element 258. https://html.spec.whatwg.org/#the-span-element 259. https://html.spec.whatwg.org/#the-br-element 260. https://html.spec.whatwg.org/#the-wbr-element 261. https://html.spec.whatwg.org/#usage-summary 262. https://html.spec.whatwg.org/#links 263. https://html.spec.whatwg.org/#introduction-2 264. https://html.spec.whatwg.org/#links-created-by-a-and-area-elements 265. https://html.spec.whatwg.org/#api-for-a-and-area-elements 266. https://html.spec.whatwg.org/#following-hyperlinks 267. https://html.spec.whatwg.org/#downloading-resources 268. https://html.spec.whatwg.org/#hyperlink-auditing 269. https://html.spec.whatwg.org/#the-ping-headers 270. https://html.spec.whatwg.org/#linkTypes 271. https://html.spec.whatwg.org/#rel-alternate 272. https://html.spec.whatwg.org/#link-type-author 273. https://html.spec.whatwg.org/#link-type-bookmark 274. https://html.spec.whatwg.org/#link-type-canonical 275. https://html.spec.whatwg.org/#link-type-dns-prefetch 276. https://html.spec.whatwg.org/#link-type-expect 277. https://html.spec.whatwg.org/#link-type-external 278. https://html.spec.whatwg.org/#link-type-help 279. https://html.spec.whatwg.org/#rel-icon 280. https://html.spec.whatwg.org/#link-type-license 281. https://html.spec.whatwg.org/#link-type-manifest 282. https://html.spec.whatwg.org/#link-type-modulepreload 283. https://html.spec.whatwg.org/#link-type-nofollow 284. https://html.spec.whatwg.org/#link-type-noopener 285. https://html.spec.whatwg.org/#link-type-noreferrer 286. https://html.spec.whatwg.org/#link-type-opener 287. https://html.spec.whatwg.org/#link-type-pingback 288. https://html.spec.whatwg.org/#link-type-preconnect 289. https://html.spec.whatwg.org/#link-type-prefetch 290. https://html.spec.whatwg.org/#link-type-preload 291. https://html.spec.whatwg.org/#link-type-privacy-policy 292. https://html.spec.whatwg.org/#link-type-search 293. https://html.spec.whatwg.org/#link-type-stylesheet 294. https://html.spec.whatwg.org/#link-type-tag 295. https://html.spec.whatwg.org/#link-type-terms-of-service 296. https://html.spec.whatwg.org/#sequential-link-types 297. https://html.spec.whatwg.org/#link-type-next 298. https://html.spec.whatwg.org/#link-type-prev 299. https://html.spec.whatwg.org/#other-link-types 300. https://html.spec.whatwg.org/#edits 301. https://html.spec.whatwg.org/#the-ins-element 302. https://html.spec.whatwg.org/#the-del-element 303. https://html.spec.whatwg.org/#attributes-common-to-ins-and-del-elements 304. https://html.spec.whatwg.org/#edits-and-paragraphs 305. https://html.spec.whatwg.org/#edits-and-lists 306. https://html.spec.whatwg.org/#edits-and-tables 307. https://html.spec.whatwg.org/#embedded-content 308. https://html.spec.whatwg.org/#the-picture-element 309. https://html.spec.whatwg.org/#the-source-element 310. https://html.spec.whatwg.org/#the-img-element 311. https://html.spec.whatwg.org/#images 312. https://html.spec.whatwg.org/#introduction-3 313. https://html.spec.whatwg.org/#adaptive-images 314. https://html.spec.whatwg.org/#attributes-common-to-source-and-img-elements 315. https://html.spec.whatwg.org/#srcset-attributes 316. https://html.spec.whatwg.org/#sizes-attributes 317. https://html.spec.whatwg.org/#images-processing-model 318. https://html.spec.whatwg.org/#when-to-obtain-images 319. https://html.spec.whatwg.org/#reacting-to-dom-mutations 320. https://html.spec.whatwg.org/#the-list-of-available-images 321. https://html.spec.whatwg.org/#decoding-images 322. https://html.spec.whatwg.org/#updating-the-image-data 323. https://html.spec.whatwg.org/#preparing-an-image-for-presentation 324. https://html.spec.whatwg.org/#selecting-an-image-source 325. https://html.spec.whatwg.org/#creating-a-source-set-from-attributes 326. https://html.spec.whatwg.org/#updating-the-source-set 327. https://html.spec.whatwg.org/#parsing-a-srcset-attribute 328. https://html.spec.whatwg.org/#parsing-a-sizes-attribute 329. https://html.spec.whatwg.org/#normalizing-the-source-densities 330. https://html.spec.whatwg.org/#reacting-to-environment-changes 331. https://html.spec.whatwg.org/#alt 332. https://html.spec.whatwg.org/#general-guidelines 333. https://html.spec.whatwg.org/#a-link-or-button-containing-nothing-but-the-image 334. https://html.spec.whatwg.org/#a-phrase-or-paragraph-with-an-alternative-graphical-representation:-charts,-diagrams,-graphs,-maps,-illustrations 335. https://html.spec.whatwg.org/#a-short-phrase-or-label-with-an-alternative-graphical-representation:-icons,-logos 336. https://html.spec.whatwg.org/#text-that-has-been-rendered-to-a-graphic-for-typographical-effect 337. https://html.spec.whatwg.org/#a-graphical-representation-of-some-of-the-surrounding-text 338. https://html.spec.whatwg.org/#ancillary-images 339. https://html.spec.whatwg.org/#a-purely-decorative-image-that-doesn't-add-any-information 340. https://html.spec.whatwg.org/#a-group-of-images-that-form-a-single-larger-picture-with-no-links 341. https://html.spec.whatwg.org/#a-group-of-images-that-form-a-single-larger-picture-with-links 342. https://html.spec.whatwg.org/#a-key-part-of-the-content 343. https://html.spec.whatwg.org/#an-image-not-intended-for-the-user 344. https://html.spec.whatwg.org/#an-image-in-an-e-mail-or-private-document-intended-for-a-specific-person-who-is-known-to-be-able-to-view-images 345. https://html.spec.whatwg.org/#guidance-for-markup-generators 346. https://html.spec.whatwg.org/#guidance-for-conformance-checkers 347. https://html.spec.whatwg.org/#the-iframe-element 348. https://html.spec.whatwg.org/#the-embed-element 349. https://html.spec.whatwg.org/#the-object-element 350. https://html.spec.whatwg.org/#the-video-element 351. https://html.spec.whatwg.org/#the-audio-element 352. https://html.spec.whatwg.org/#the-track-element 353. https://html.spec.whatwg.org/#media-elements 354. https://html.spec.whatwg.org/#error-codes 355. https://html.spec.whatwg.org/#location-of-the-media-resource 356. https://html.spec.whatwg.org/#mime-types 357. https://html.spec.whatwg.org/#network-states 358. https://html.spec.whatwg.org/#loading-the-media-resource 359. https://html.spec.whatwg.org/#offsets-into-the-media-resource 360. https://html.spec.whatwg.org/#ready-states 361. https://html.spec.whatwg.org/#playing-the-media-resource 362. https://html.spec.whatwg.org/#seeking 363. https://html.spec.whatwg.org/#media-resources-with-multiple-media-tracks 364. https://html.spec.whatwg.org/#audiotracklist-and-videotracklist-objects 365. https://html.spec.whatwg.org/#selecting-specific-audio-and-video-tracks-declaratively 366. https://html.spec.whatwg.org/#timed-text-tracks 367. https://html.spec.whatwg.org/#text-track-model 368. https://html.spec.whatwg.org/#sourcing-in-band-text-tracks 369. https://html.spec.whatwg.org/#sourcing-out-of-band-text-tracks 370. https://html.spec.whatwg.org/#guidelines-for-exposing-cues-in-various-formats-as-text-track-cues 371. https://html.spec.whatwg.org/#text-track-api 372. https://html.spec.whatwg.org/#cue-events 373. https://html.spec.whatwg.org/#best-practices-for-metadata-text-tracks 374. https://html.spec.whatwg.org/#identifying-a-track-kind-through-a-url 375. https://html.spec.whatwg.org/#user-interface 376. https://html.spec.whatwg.org/#time-ranges 377. https://html.spec.whatwg.org/#the-trackevent-interface 378. https://html.spec.whatwg.org/#mediaevents 379. https://html.spec.whatwg.org/#security-and-privacy-considerations 380. https://html.spec.whatwg.org/#best-practices-for-authors-using-media-elements 381. https://html.spec.whatwg.org/#best-practices-for-implementers-of-media-elements 382. https://html.spec.whatwg.org/#the-map-element 383. https://html.spec.whatwg.org/#the-area-element 384. https://html.spec.whatwg.org/#image-maps 385. https://html.spec.whatwg.org/#authoring 386. https://html.spec.whatwg.org/#image-map-processing-model 387. https://html.spec.whatwg.org/#mathml 388. https://html.spec.whatwg.org/#svg-0 389. https://html.spec.whatwg.org/#dimension-attributes 390. https://html.spec.whatwg.org/#tables 391. https://html.spec.whatwg.org/#the-table-element 392. https://html.spec.whatwg.org/#table-descriptions-techniques 393. https://html.spec.whatwg.org/#table-layout-techniques 394. https://html.spec.whatwg.org/#the-caption-element 395. https://html.spec.whatwg.org/#the-colgroup-element 396. https://html.spec.whatwg.org/#the-col-element 397. https://html.spec.whatwg.org/#the-tbody-element 398. https://html.spec.whatwg.org/#the-thead-element 399. https://html.spec.whatwg.org/#the-tfoot-element 400. https://html.spec.whatwg.org/#the-tr-element 401. https://html.spec.whatwg.org/#the-td-element 402. https://html.spec.whatwg.org/#the-th-element 403. https://html.spec.whatwg.org/#attributes-common-to-td-and-th-elements 404. https://html.spec.whatwg.org/#table-processing-model 405. https://html.spec.whatwg.org/#forming-a-table 406. https://html.spec.whatwg.org/#header-and-data-cell-semantics 407. https://html.spec.whatwg.org/#table-examples 408. https://html.spec.whatwg.org/#forms 409. https://html.spec.whatwg.org/#introduction-4 410. https://html.spec.whatwg.org/#writing-a-form's-user-interface 411. https://html.spec.whatwg.org/#implementing-the-server-side-processing-for-a-form 412. https://html.spec.whatwg.org/#configuring-a-form-to-communicate-with-a-server 413. https://html.spec.whatwg.org/#client-side-form-validation 414. https://html.spec.whatwg.org/#enabling-client-side-automatic-filling-of-form-controls 415. https://html.spec.whatwg.org/#improving-the-user-experience-on-mobile-devices 416. https://html.spec.whatwg.org/#the-difference-between-the-field-type,-the-autofill-field-name,-and-the-input-modality 417. https://html.spec.whatwg.org/#input-author-notes 418. https://html.spec.whatwg.org/#categories 419. https://html.spec.whatwg.org/#the-form-element 420. https://html.spec.whatwg.org/#the-label-element 421. https://html.spec.whatwg.org/#the-input-element 422. https://html.spec.whatwg.org/#states-of-the-type-attribute 423. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 424. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 425. https://html.spec.whatwg.org/#telephone-state-(type=tel) 426. https://html.spec.whatwg.org/#url-state-(type=url) 427. https://html.spec.whatwg.org/#email-state-(type=email) 428. https://html.spec.whatwg.org/#password-state-(type=password) 429. https://html.spec.whatwg.org/#date-state-(type=date) 430. https://html.spec.whatwg.org/#month-state-(type=month) 431. https://html.spec.whatwg.org/#week-state-(type=week) 432. https://html.spec.whatwg.org/#time-state-(type=time) 433. https://html.spec.whatwg.org/#local-date-and-time-state-(type=datetime-local) 434. https://html.spec.whatwg.org/#number-state-(type=number) 435. https://html.spec.whatwg.org/#range-state-(type=range) 436. https://html.spec.whatwg.org/#color-state-(type=color) 437. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 438. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 439. https://html.spec.whatwg.org/#file-upload-state-(type=file) 440. https://html.spec.whatwg.org/#submit-button-state-(type=submit) 441. https://html.spec.whatwg.org/#image-button-state-(type=image) 442. https://html.spec.whatwg.org/#reset-button-state-(type=reset) 443. https://html.spec.whatwg.org/#button-state-(type=button) 444. https://html.spec.whatwg.org/#input-impl-notes 445. https://html.spec.whatwg.org/#common-input-element-attributes 446. https://html.spec.whatwg.org/#the-maxlength-and-minlength-attributes 447. https://html.spec.whatwg.org/#the-size-attribute 448. https://html.spec.whatwg.org/#the-readonly-attribute 449. https://html.spec.whatwg.org/#the-required-attribute 450. https://html.spec.whatwg.org/#the-multiple-attribute 451. https://html.spec.whatwg.org/#the-pattern-attribute 452. https://html.spec.whatwg.org/#the-min-and-max-attributes 453. https://html.spec.whatwg.org/#the-step-attribute 454. https://html.spec.whatwg.org/#the-list-attribute 455. https://html.spec.whatwg.org/#the-placeholder-attribute 456. https://html.spec.whatwg.org/#common-input-element-apis 457. https://html.spec.whatwg.org/#common-input-element-events 458. https://html.spec.whatwg.org/#the-button-element 459. https://html.spec.whatwg.org/#the-select-element 460. https://html.spec.whatwg.org/#the-datalist-element 461. https://html.spec.whatwg.org/#the-optgroup-element 462. https://html.spec.whatwg.org/#the-option-element 463. https://html.spec.whatwg.org/#the-textarea-element 464. https://html.spec.whatwg.org/#the-output-element 465. https://html.spec.whatwg.org/#the-progress-element 466. https://html.spec.whatwg.org/#the-meter-element 467. https://html.spec.whatwg.org/#the-fieldset-element 468. https://html.spec.whatwg.org/#the-legend-element 469. https://html.spec.whatwg.org/#form-control-infrastructure 470. https://html.spec.whatwg.org/#a-form-control's-value 471. https://html.spec.whatwg.org/#mutability 472. https://html.spec.whatwg.org/#association-of-controls-and-forms 473. https://html.spec.whatwg.org/#attributes-common-to-form-controls 474. https://html.spec.whatwg.org/#naming-form-controls:-the-name-attribute 475. https://html.spec.whatwg.org/#submitting-element-directionality:-the-dirname-attribute 476. https://html.spec.whatwg.org/#limiting-user-input-length:-the-maxlength-attribute 477. https://html.spec.whatwg.org/#setting-minimum-input-length-requirements:-the-minlength-attribute 478. https://html.spec.whatwg.org/#enabling-and-disabling-form-controls:-the-disabled-attribute 479. https://html.spec.whatwg.org/#form-submission-attributes 480. https://html.spec.whatwg.org/#autofill 481. https://html.spec.whatwg.org/#autofilling-form-controls:-the-autocomplete-attribute 482. https://html.spec.whatwg.org/#autofill-processing-model 483. https://html.spec.whatwg.org/#textFieldSelection 484. https://html.spec.whatwg.org/#constraints 485. https://html.spec.whatwg.org/#definitions 486. https://html.spec.whatwg.org/#constraint-validation 487. https://html.spec.whatwg.org/#the-constraint-validation-api 488. https://html.spec.whatwg.org/#security-forms 489. https://html.spec.whatwg.org/#form-submission-2 490. https://html.spec.whatwg.org/#introduction-5 491. https://html.spec.whatwg.org/#implicit-submission 492. https://html.spec.whatwg.org/#form-submission-algorithm 493. https://html.spec.whatwg.org/#constructing-form-data-set 494. https://html.spec.whatwg.org/#selecting-a-form-submission-encoding 495. https://html.spec.whatwg.org/#converting-an-entry-list-to-a-list-of-name-value-pairs 496. https://html.spec.whatwg.org/#url-encoded-form-data 497. https://html.spec.whatwg.org/#multipart-form-data 498. https://html.spec.whatwg.org/#plain-text-form-data 499. https://html.spec.whatwg.org/#the-submitevent-interface 500. https://html.spec.whatwg.org/#the-formdataevent-interface 501. https://html.spec.whatwg.org/#resetting-a-form 502. https://html.spec.whatwg.org/#interactive-elements 503. https://html.spec.whatwg.org/#the-details-element 504. https://html.spec.whatwg.org/#the-summary-element 505. https://html.spec.whatwg.org/#commands 506. https://html.spec.whatwg.org/#facets-2 507. https://html.spec.whatwg.org/#using-the-a-element-to-define-a-command 508. https://html.spec.whatwg.org/#using-the-button-element-to-define-a-command 509. https://html.spec.whatwg.org/#using-the-input-element-to-define-a-command 510. https://html.spec.whatwg.org/#using-the-option-element-to-define-a-command 511. https://html.spec.whatwg.org/#using-the-accesskey-attribute-on-a-legend-element-to-define-a-command 512. https://html.spec.whatwg.org/#using-the-accesskey-attribute-to-define-a-command-on-other-elements 513. https://html.spec.whatwg.org/#the-dialog-element 514. https://html.spec.whatwg.org/#dialog-light-dismiss 515. https://html.spec.whatwg.org/#scripting-3 516. https://html.spec.whatwg.org/#the-script-element 517. https://html.spec.whatwg.org/#script-processing-model 518. https://html.spec.whatwg.org/#scriptingLanguages 519. https://html.spec.whatwg.org/#restrictions-for-contents-of-script-elements 520. https://html.spec.whatwg.org/#inline-documentation-for-external-scripts 521. https://html.spec.whatwg.org/#scriptTagXSLT 522. https://html.spec.whatwg.org/#the-noscript-element 523. https://html.spec.whatwg.org/#the-template-element 524. https://html.spec.whatwg.org/#template-XSLT-XPath 525. https://html.spec.whatwg.org/#the-slot-element 526. https://html.spec.whatwg.org/#the-canvas-element 527. https://html.spec.whatwg.org/#2dcontext 528. https://html.spec.whatwg.org/#implementation-notes 529. https://html.spec.whatwg.org/#the-canvas-settings 530. https://html.spec.whatwg.org/#the-canvas-state 531. https://html.spec.whatwg.org/#line-styles 532. https://html.spec.whatwg.org/#text-styles 533. https://html.spec.whatwg.org/#building-paths 534. https://html.spec.whatwg.org/#path2d-objects 535. https://html.spec.whatwg.org/#transformations 536. https://html.spec.whatwg.org/#image-sources-for-2d-rendering-contexts 537. https://html.spec.whatwg.org/#fill-and-stroke-styles 538. https://html.spec.whatwg.org/#drawing-rectangles-to-the-bitmap 539. https://html.spec.whatwg.org/#drawing-text-to-the-bitmap 540. https://html.spec.whatwg.org/#drawing-paths-to-the-canvas 541. https://html.spec.whatwg.org/#drawing-focus-rings-and-scrolling-paths-into-view 542. https://html.spec.whatwg.org/#drawing-images 543. https://html.spec.whatwg.org/#pixel-manipulation 544. https://html.spec.whatwg.org/#compositing 545. https://html.spec.whatwg.org/#image-smoothing 546. https://html.spec.whatwg.org/#shadows 547. https://html.spec.whatwg.org/#filters 548. https://html.spec.whatwg.org/#working-with-externally-defined-svg-filters 549. https://html.spec.whatwg.org/#drawing-model 550. https://html.spec.whatwg.org/#best-practices 551. https://html.spec.whatwg.org/#examples 552. https://html.spec.whatwg.org/#the-imagebitmap-rendering-context 553. https://html.spec.whatwg.org/#introduction-6 554. https://html.spec.whatwg.org/#the-imagebitmaprenderingcontext-interface 555. https://html.spec.whatwg.org/#the-offscreencanvas-interface 556. https://html.spec.whatwg.org/#the-offscreen-2d-rendering-context 557. https://html.spec.whatwg.org/#colour-spaces-and-colour-correction 558. https://html.spec.whatwg.org/#serialising-bitmaps-to-a-file 559. https://html.spec.whatwg.org/#security-with-canvas-elements 560. https://html.spec.whatwg.org/#premultiplied-alpha-and-the-2d-rendering-context 561. https://html.spec.whatwg.org/#custom-elements 562. https://html.spec.whatwg.org/#custom-elements-intro 563. https://html.spec.whatwg.org/#custom-elements-autonomous-example 564. https://html.spec.whatwg.org/#custom-elements-face-example 565. https://html.spec.whatwg.org/#custom-elements-accessibility-example 566. https://html.spec.whatwg.org/#custom-elements-customized-builtin-example 567. https://html.spec.whatwg.org/#custom-elements-autonomous-drawbacks 568. https://html.spec.whatwg.org/#custom-elements-upgrades-examples 569. https://html.spec.whatwg.org/#exposing-custom-element-states 570. https://html.spec.whatwg.org/#custom-element-conformance 571. https://html.spec.whatwg.org/#preserving-custom-element-state-when-moved 572. https://html.spec.whatwg.org/#custom-elements-core-concepts 573. https://html.spec.whatwg.org/#custom-elements-api 574. https://html.spec.whatwg.org/#upgrades 575. https://html.spec.whatwg.org/#custom-element-reactions 576. https://html.spec.whatwg.org/#element-internals 577. https://html.spec.whatwg.org/#the-elementinternals-interface 578. https://html.spec.whatwg.org/#shadow-root-access 579. https://html.spec.whatwg.org/#form-associated-custom-elements 580. https://html.spec.whatwg.org/#accessibility-semantics 581. https://html.spec.whatwg.org/#custom-state-pseudo-class 582. https://html.spec.whatwg.org/#common-idioms 583. https://html.spec.whatwg.org/#rel-up 584. https://html.spec.whatwg.org/#tag-clouds 585. https://html.spec.whatwg.org/#conversations 586. https://html.spec.whatwg.org/#footnotes 587. https://html.spec.whatwg.org/#disabled-elements 588. https://html.spec.whatwg.org/#selectors 589. https://html.spec.whatwg.org/#case-sensitivity-of-the-css-'attr()'-function 590. https://html.spec.whatwg.org/#case-sensitivity-of-selectors 591. https://html.spec.whatwg.org/#pseudo-classes 592. https://html.spec.whatwg.org/#microdata 593. https://html.spec.whatwg.org/#introduction-7 594. https://html.spec.whatwg.org/#overview 595. https://html.spec.whatwg.org/#the-basic-syntax 596. https://html.spec.whatwg.org/#typed-items 597. https://html.spec.whatwg.org/#global-identifiers-for-items 598. https://html.spec.whatwg.org/#selecting-names-when-defining-vocabularies 599. https://html.spec.whatwg.org/#encoding-microdata 600. https://html.spec.whatwg.org/#the-microdata-model 601. https://html.spec.whatwg.org/#items 602. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 603. https://html.spec.whatwg.org/#values 604. https://html.spec.whatwg.org/#associating-names-with-items 605. https://html.spec.whatwg.org/#microdata-and-other-namespaces 606. https://html.spec.whatwg.org/#mdvocabs 607. https://html.spec.whatwg.org/#vcard 608. https://html.spec.whatwg.org/#conversion-to-vcard 609. https://html.spec.whatwg.org/#examples-2 610. https://html.spec.whatwg.org/#vevent 611. https://html.spec.whatwg.org/#conversion-to-icalendar 612. https://html.spec.whatwg.org/#examples-3 613. https://html.spec.whatwg.org/#licensing-works 614. https://html.spec.whatwg.org/#examples-4 615. https://html.spec.whatwg.org/#converting-html-to-other-formats 616. https://html.spec.whatwg.org/#json 617. https://html.spec.whatwg.org/#editing 618. https://html.spec.whatwg.org/#the-hidden-attribute 619. https://html.spec.whatwg.org/#page-visibility 620. https://html.spec.whatwg.org/#the-visibilitystateentry-interface 621. https://html.spec.whatwg.org/#inert-subtrees 622. https://html.spec.whatwg.org/#modal-dialogs-and-inert-subtrees 623. https://html.spec.whatwg.org/#the-inert-attribute 624. https://html.spec.whatwg.org/#tracking-user-activation 625. https://html.spec.whatwg.org/#user-activation-data-model 626. https://html.spec.whatwg.org/#user-activation-processing-model 627. https://html.spec.whatwg.org/#user-activation-gated-apis 628. https://html.spec.whatwg.org/#the-useractivation-interface 629. https://html.spec.whatwg.org/#user-activation-user-agent-automation 630. https://html.spec.whatwg.org/#activation 631. https://html.spec.whatwg.org/#the-toggleevent-interface 632. https://html.spec.whatwg.org/#the-commandevent-interface 633. https://html.spec.whatwg.org/#focus 634. https://html.spec.whatwg.org/#introduction-8 635. https://html.spec.whatwg.org/#data-model 636. https://html.spec.whatwg.org/#the-tabindex-attribute 637. https://html.spec.whatwg.org/#focus-processing-model 638. https://html.spec.whatwg.org/#sequential-focus-navigation 639. https://html.spec.whatwg.org/#focus-management-apis 640. https://html.spec.whatwg.org/#the-autofocus-attribute 641. https://html.spec.whatwg.org/#assigning-keyboard-shortcuts 642. https://html.spec.whatwg.org/#introduction-9 643. https://html.spec.whatwg.org/#the-accesskey-attribute 644. https://html.spec.whatwg.org/#keyboard-shortcuts-processing-model 645. https://html.spec.whatwg.org/#editing-2 646. https://html.spec.whatwg.org/#contenteditable 647. https://html.spec.whatwg.org/#making-entire-documents-editable:-the-designmode-idl-attribute 648. https://html.spec.whatwg.org/#best-practices-for-in-page-editors 649. https://html.spec.whatwg.org/#editing-apis 650. https://html.spec.whatwg.org/#spelling-and-grammar-checking 651. https://html.spec.whatwg.org/#writing-suggestions 652. https://html.spec.whatwg.org/#autocapitalization 653. https://html.spec.whatwg.org/#autocorrection 654. https://html.spec.whatwg.org/#input-modalities:-the-inputmode-attribute 655. https://html.spec.whatwg.org/#input-modalities:-the-enterkeyhint-attribute 656. https://html.spec.whatwg.org/#find-in-page 657. https://html.spec.whatwg.org/#introduction-10 658. https://html.spec.whatwg.org/#interaction-with-details-and-hidden=until-found 659. https://html.spec.whatwg.org/#interaction-with-selection 660. https://html.spec.whatwg.org/#close-requests-and-close-watchers 661. https://html.spec.whatwg.org/#close-requests 662. https://html.spec.whatwg.org/#close-watcher-infrastructure 663. https://html.spec.whatwg.org/#the-closewatcher-interface 664. https://html.spec.whatwg.org/#dnd 665. https://html.spec.whatwg.org/#event-drag 666. https://html.spec.whatwg.org/#the-drag-data-store 667. https://html.spec.whatwg.org/#the-datatransfer-interface 668. https://html.spec.whatwg.org/#the-datatransferitemlist-interface 669. https://html.spec.whatwg.org/#the-datatransferitem-interface 670. https://html.spec.whatwg.org/#the-dragevent-interface 671. https://html.spec.whatwg.org/#drag-and-drop-processing-model 672. https://html.spec.whatwg.org/#dndevents 673. https://html.spec.whatwg.org/#the-draggable-attribute 674. https://html.spec.whatwg.org/#security-risks-in-the-drag-and-drop-model 675. https://html.spec.whatwg.org/#the-popover-attribute 676. https://html.spec.whatwg.org/#the-popover-target-attributes 677. https://html.spec.whatwg.org/#popover-light-dismiss 678. https://html.spec.whatwg.org/#browsers 679. https://html.spec.whatwg.org/#loading-web-pages-supporting-concepts 680. https://html.spec.whatwg.org/#origin 681. https://html.spec.whatwg.org/#sites 682. https://html.spec.whatwg.org/#relaxing-the-same-origin-restriction 683. https://html.spec.whatwg.org/#origin-keyed-agent-clusters 684. https://html.spec.whatwg.org/#cross-origin-opener-policies 685. https://html.spec.whatwg.org/#the-coop-headers 686. https://html.spec.whatwg.org/#browsing-context-group-switches-due-to-cross-origin-opener-policy 687. https://html.spec.whatwg.org/#coop-reporting 688. https://html.spec.whatwg.org/#coep 689. https://html.spec.whatwg.org/#the-coep-headers 690. https://html.spec.whatwg.org/#embedder-policy-checks 691. https://html.spec.whatwg.org/#sandboxing 692. https://html.spec.whatwg.org/#policy-containers 693. https://html.spec.whatwg.org/#nav-traversal-apis 694. https://html.spec.whatwg.org/#cross-origin-objects 695. https://html.spec.whatwg.org/#integration-with-idl 696. https://html.spec.whatwg.org/#shared-internal-slot:-crossoriginpropertydescriptormap 697. https://html.spec.whatwg.org/#shared-abstract-operations 698. https://html.spec.whatwg.org/#crossoriginproperties-(-o-) 699. https://html.spec.whatwg.org/#crossoriginpropertyfallback-(-p-) 700. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 701. https://html.spec.whatwg.org/#crossorigingetownpropertyhelper-(-o,-p-) 702. https://html.spec.whatwg.org/#crossoriginget-(-o,-p,-receiver-) 703. https://html.spec.whatwg.org/#crossoriginset-(-o,-p,-v,-receiver-) 704. https://html.spec.whatwg.org/#crossoriginownpropertykeys-(-o-) 705. https://html.spec.whatwg.org/#the-window-object 706. https://html.spec.whatwg.org/#apis-for-creating-and-navigating-browsing-contexts-by-name 707. https://html.spec.whatwg.org/#accessing-other-browsing-contexts 708. https://html.spec.whatwg.org/#named-access-on-the-window-object 709. https://html.spec.whatwg.org/#navigating-nested-browsing-contexts-in-the-dom 710. https://html.spec.whatwg.org/#browser-interface-elements 711. https://html.spec.whatwg.org/#script-settings-for-window-objects 712. https://html.spec.whatwg.org/#the-windowproxy-exotic-object 713. https://html.spec.whatwg.org/#windowproxy-getprototypeof 714. https://html.spec.whatwg.org/#windowproxy-setprototypeof 715. https://html.spec.whatwg.org/#windowproxy-isextensible 716. https://html.spec.whatwg.org/#windowproxy-preventextensions 717. https://html.spec.whatwg.org/#windowproxy-getownproperty 718. https://html.spec.whatwg.org/#windowproxy-defineownproperty 719. https://html.spec.whatwg.org/#windowproxy-get 720. https://html.spec.whatwg.org/#windowproxy-set 721. https://html.spec.whatwg.org/#windowproxy-delete 722. https://html.spec.whatwg.org/#windowproxy-ownpropertykeys 723. https://html.spec.whatwg.org/#the-location-interface 724. https://html.spec.whatwg.org/#location-getprototypeof 725. https://html.spec.whatwg.org/#location-setprototypeof 726. https://html.spec.whatwg.org/#location-isextensible 727. https://html.spec.whatwg.org/#location-preventextensions 728. https://html.spec.whatwg.org/#location-getownproperty 729. https://html.spec.whatwg.org/#location-defineownproperty 730. https://html.spec.whatwg.org/#location-get 731. https://html.spec.whatwg.org/#location-set 732. https://html.spec.whatwg.org/#location-delete 733. https://html.spec.whatwg.org/#location-ownpropertykeys 734. https://html.spec.whatwg.org/#the-history-interface 735. https://html.spec.whatwg.org/#navigation-api 736. https://html.spec.whatwg.org/#navigation-api-intro 737. https://html.spec.whatwg.org/#navigation-interface 738. https://html.spec.whatwg.org/#navigation-api-core 739. https://html.spec.whatwg.org/#navigation-api-entry-updates 740. https://html.spec.whatwg.org/#the-navigationhistoryentry-interface 741. https://html.spec.whatwg.org/#the-history-entry-list 742. https://html.spec.whatwg.org/#navigation-api-initiating-navigations 743. https://html.spec.whatwg.org/#ongoing-navigation-tracking 744. https://html.spec.whatwg.org/#navigation-activation-interface 745. https://html.spec.whatwg.org/#the-navigate-event 746. https://html.spec.whatwg.org/#the-navigateevent-interface 747. https://html.spec.whatwg.org/#the-navigationdestination-interface 748. https://html.spec.whatwg.org/#navigate-event-firing 749. https://html.spec.whatwg.org/#navigate-event-scroll-focus 750. https://html.spec.whatwg.org/#nav-traversal-event-interfaces 751. https://html.spec.whatwg.org/#the-navigationcurrententrychangeevent-interface 752. https://html.spec.whatwg.org/#the-popstateevent-interface 753. https://html.spec.whatwg.org/#the-hashchangeevent-interface 754. https://html.spec.whatwg.org/#the-pageswapevent-interface 755. https://html.spec.whatwg.org/#the-pagerevealevent-interface 756. https://html.spec.whatwg.org/#the-pagetransitionevent-interface 757. https://html.spec.whatwg.org/#the-beforeunloadevent-interface 758. https://html.spec.whatwg.org/#the-notrestoredreasons-interface 759. https://html.spec.whatwg.org/#infrastructure-for-sequences-of-documents 760. https://html.spec.whatwg.org/#navigables 761. https://html.spec.whatwg.org/#traversable-navigables 762. https://html.spec.whatwg.org/#top-level-traversables 763. https://html.spec.whatwg.org/#child-navigables 764. https://html.spec.whatwg.org/#jake-diagrams 765. https://html.spec.whatwg.org/#related-navigable-collections 766. https://html.spec.whatwg.org/#garbage-collection-and-browsing-contexts 767. https://html.spec.whatwg.org/#navigable-target-names 768. https://html.spec.whatwg.org/#windows 769. https://html.spec.whatwg.org/#creating-browsing-contexts 770. https://html.spec.whatwg.org/#nested-browsing-contexts 771. https://html.spec.whatwg.org/#groupings-of-browsing-contexts 772. https://html.spec.whatwg.org/#fully-active-documents 773. https://html.spec.whatwg.org/#navigation-and-session-history 774. https://html.spec.whatwg.org/#session-history-infrastructure 775. https://html.spec.whatwg.org/#session-history-entries 776. https://html.spec.whatwg.org/#document-state 777. https://html.spec.whatwg.org/#centralized-modifications-of-session-history 778. https://html.spec.whatwg.org/#low-level-operations-on-session-history 779. https://html.spec.whatwg.org/#navigating-across-documents 780. https://html.spec.whatwg.org/#navigation-supporting-concepts 781. https://html.spec.whatwg.org/#beginning-navigation 782. https://html.spec.whatwg.org/#ending-navigation 783. https://html.spec.whatwg.org/#the-usual-cross-document-navigation-case 784. https://html.spec.whatwg.org/#the-javascript:-url-special-case 785. https://html.spec.whatwg.org/#scroll-to-fragid 786. https://html.spec.whatwg.org/#non-fetch-schemes-and-external-software 787. https://html.spec.whatwg.org/#preventing-navigation 788. https://html.spec.whatwg.org/#aborting-navigation 789. https://html.spec.whatwg.org/#reloading-and-traversing 790. https://html.spec.whatwg.org/#navigate-non-frag-sync 791. https://html.spec.whatwg.org/#populating-a-session-history-entry 792. https://html.spec.whatwg.org/#applying-the-history-step 793. https://html.spec.whatwg.org/#updating-the-traversable 794. https://html.spec.whatwg.org/#updating-the-document 795. https://html.spec.whatwg.org/#revealing-the-document 796. https://html.spec.whatwg.org/#scrolling-to-a-fragment 797. https://html.spec.whatwg.org/#persisted-user-state-restoration 798. https://html.spec.whatwg.org/#document-lifecycle 799. https://html.spec.whatwg.org/#shared-document-creation-infrastructure 800. https://html.spec.whatwg.org/#read-html 801. https://html.spec.whatwg.org/#read-xml 802. https://html.spec.whatwg.org/#read-text 803. https://html.spec.whatwg.org/#read-multipart-x-mixed-replace 804. https://html.spec.whatwg.org/#read-media 805. https://html.spec.whatwg.org/#read-ua-inline 806. https://html.spec.whatwg.org/#loading-documents 807. https://html.spec.whatwg.org/#unloading-documents 808. https://html.spec.whatwg.org/#destroying-documents 809. https://html.spec.whatwg.org/#aborting-a-document-load 810. https://html.spec.whatwg.org/#the-x-frame-options-header 811. https://html.spec.whatwg.org/#the-refresh-header 812. https://html.spec.whatwg.org/#nav-traversal-ui 813. https://html.spec.whatwg.org/#webappapis 814. https://html.spec.whatwg.org/#scripting 815. https://html.spec.whatwg.org/#introduction-11 816. https://html.spec.whatwg.org/#agents-and-agent-clusters 817. https://html.spec.whatwg.org/#integration-with-the-javascript-agent-formalism 818. https://html.spec.whatwg.org/#integration-with-the-javascript-agent-cluster-formalism 819. https://html.spec.whatwg.org/#realms-and-their-counterparts 820. https://html.spec.whatwg.org/#environments 821. https://html.spec.whatwg.org/#environment-settings-objects 822. https://html.spec.whatwg.org/#realms-settings-objects-global-objects 823. https://html.spec.whatwg.org/#entry 824. https://html.spec.whatwg.org/#incumbent 825. https://html.spec.whatwg.org/#current 826. https://html.spec.whatwg.org/#relevant 827. https://html.spec.whatwg.org/#enabling-and-disabling-scripting 828. https://html.spec.whatwg.org/#secure-contexts 829. https://html.spec.whatwg.org/#scripting-processing-model 830. https://html.spec.whatwg.org/#script-structs 831. https://html.spec.whatwg.org/#fetching-scripts 832. https://html.spec.whatwg.org/#creating-scripts 833. https://html.spec.whatwg.org/#calling-scripts 834. https://html.spec.whatwg.org/#killing-scripts 835. https://html.spec.whatwg.org/#runtime-script-errors 836. https://html.spec.whatwg.org/#unhandled-promise-rejections 837. https://html.spec.whatwg.org/#import-map-parse-results 838. https://html.spec.whatwg.org/#module-specifier-resolution 839. https://html.spec.whatwg.org/#the-resolution-algorithm 840. https://html.spec.whatwg.org/#import-maps 841. https://html.spec.whatwg.org/#import-map-processing-model 842. https://html.spec.whatwg.org/#javascript-specification-host-hooks 843. https://html.spec.whatwg.org/#the-hostensurecanaddprivateelement-implementation 844. https://html.spec.whatwg.org/#hostensurecancompilestrings(realm,-parameterstrings,-bodystring,-codestring,-compilationtype,-parameterargs,-bodyarg) 845. https://html.spec.whatwg.org/#hostgetcodeforeval(argument) 846. https://html.spec.whatwg.org/#the-hostpromiserejectiontracker-implementation 847. https://html.spec.whatwg.org/#hostsystemutcepochnanoseconds 848. https://html.spec.whatwg.org/#integration-with-javascript-jobs 849. https://html.spec.whatwg.org/#hostcalljobcallback 850. https://html.spec.whatwg.org/#hostenqueuefinalizationregistrycleanupjob 851. https://html.spec.whatwg.org/#hostenqueuegenericjob 852. https://html.spec.whatwg.org/#hostenqueuepromisejob 853. https://html.spec.whatwg.org/#hostenqueuetimeoutjob 854. https://html.spec.whatwg.org/#hostmakejobcallback 855. https://html.spec.whatwg.org/#integration-with-the-javascript-module-system 856. https://html.spec.whatwg.org/#hostgetimportmetaproperties 857. https://html.spec.whatwg.org/#hostgetsupportedimportattributes 858. https://html.spec.whatwg.org/#hostloadimportedmodule 859. https://html.spec.whatwg.org/#event-loops 860. https://html.spec.whatwg.org/#definitions-3 861. https://html.spec.whatwg.org/#queuing-tasks 862. https://html.spec.whatwg.org/#event-loop-processing-model 863. https://html.spec.whatwg.org/#generic-task-sources 864. https://html.spec.whatwg.org/#event-loop-for-spec-authors 865. https://html.spec.whatwg.org/#events 866. https://html.spec.whatwg.org/#event-handler-attributes 867. https://html.spec.whatwg.org/#event-handlers-on-elements,-document-objects,-and-window-objects 868. https://html.spec.whatwg.org/#idl-definitions 869. https://html.spec.whatwg.org/#event-firing 870. https://html.spec.whatwg.org/#windoworworkerglobalscope-mixin 871. https://html.spec.whatwg.org/#atob 872. https://html.spec.whatwg.org/#dynamic-markup-insertion 873. https://html.spec.whatwg.org/#opening-the-input-stream 874. https://html.spec.whatwg.org/#closing-the-input-stream 875. https://html.spec.whatwg.org/#document.write() 876. https://html.spec.whatwg.org/#document.writeln() 877. https://html.spec.whatwg.org/#dom-parsing-and-serialization 878. https://html.spec.whatwg.org/#the-domparser-interface 879. https://html.spec.whatwg.org/#unsafe-html-parsing-methods 880. https://html.spec.whatwg.org/#html-serialization-methods 881. https://html.spec.whatwg.org/#the-innerhtml-property 882. https://html.spec.whatwg.org/#the-outerhtml-property 883. https://html.spec.whatwg.org/#the-insertadjacenthtml()-method 884. https://html.spec.whatwg.org/#the-createcontextualfragment()-method 885. https://html.spec.whatwg.org/#the-xmlserializer-interface 886. https://html.spec.whatwg.org/#timers 887. https://html.spec.whatwg.org/#microtask-queuing 888. https://html.spec.whatwg.org/#user-prompts 889. https://html.spec.whatwg.org/#simple-dialogs 890. https://html.spec.whatwg.org/#printing 891. https://html.spec.whatwg.org/#system-state-and-capabilities 892. https://html.spec.whatwg.org/#the-navigator-object 893. https://html.spec.whatwg.org/#client-identification 894. https://html.spec.whatwg.org/#language-preferences 895. https://html.spec.whatwg.org/#navigator.online 896. https://html.spec.whatwg.org/#custom-handlers 897. https://html.spec.whatwg.org/#security-and-privacy 898. https://html.spec.whatwg.org/#user-agent-automation 899. https://html.spec.whatwg.org/#cookies 900. https://html.spec.whatwg.org/#pdf-viewing-support 901. https://html.spec.whatwg.org/#images-2 902. https://html.spec.whatwg.org/#animation-frames 903. https://html.spec.whatwg.org/#comms 904. https://html.spec.whatwg.org/#the-messageevent-interface 905. https://html.spec.whatwg.org/#server-sent-events 906. https://html.spec.whatwg.org/#server-sent-events-intro 907. https://html.spec.whatwg.org/#the-eventsource-interface 908. https://html.spec.whatwg.org/#sse-processing-model 909. https://html.spec.whatwg.org/#the-last-event-id-header 910. https://html.spec.whatwg.org/#parsing-an-event-stream 911. https://html.spec.whatwg.org/#event-stream-interpretation 912. https://html.spec.whatwg.org/#authoring-notes 913. https://html.spec.whatwg.org/#eventsource-push 914. https://html.spec.whatwg.org/#garbage-collection 915. https://html.spec.whatwg.org/#implementation-advice 916. https://html.spec.whatwg.org/#web-messaging 917. https://html.spec.whatwg.org/#introduction-12 918. https://html.spec.whatwg.org/#security-postmsg 919. https://html.spec.whatwg.org/#authors 920. https://html.spec.whatwg.org/#user-agents 921. https://html.spec.whatwg.org/#posting-messages 922. https://html.spec.whatwg.org/#channel-messaging 923. https://html.spec.whatwg.org/#introduction-13 924. https://html.spec.whatwg.org/#examples-5 925. https://html.spec.whatwg.org/#ports-as-the-basis-of-an-object-capability-model-on-the-web 926. https://html.spec.whatwg.org/#ports-as-the-basis-of-abstracting-out-service-implementations 927. https://html.spec.whatwg.org/#message-channels 928. https://html.spec.whatwg.org/#the-messageeventtarget-mixin 929. https://html.spec.whatwg.org/#message-ports 930. https://html.spec.whatwg.org/#ports-and-garbage-collection 931. https://html.spec.whatwg.org/#broadcasting-to-other-browsing-contexts 932. https://html.spec.whatwg.org/#workers 933. https://html.spec.whatwg.org/#introduction-14 934. https://html.spec.whatwg.org/#scope-2 935. https://html.spec.whatwg.org/#examples-6 936. https://html.spec.whatwg.org/#a-background-number-crunching-worker 937. https://html.spec.whatwg.org/#module-worker-example 938. https://html.spec.whatwg.org/#shared-workers-introduction 939. https://html.spec.whatwg.org/#shared-state-using-a-shared-worker 940. https://html.spec.whatwg.org/#delegation 941. https://html.spec.whatwg.org/#providing-libraries 942. https://html.spec.whatwg.org/#tutorials 943. https://html.spec.whatwg.org/#creating-a-dedicated-worker 944. https://html.spec.whatwg.org/#communicating-with-a-dedicated-worker 945. https://html.spec.whatwg.org/#shared-workers 946. https://html.spec.whatwg.org/#infrastructure-2 947. https://html.spec.whatwg.org/#the-global-scope 948. https://html.spec.whatwg.org/#the-workerglobalscope-common-interface 949. https://html.spec.whatwg.org/#dedicated-workers-and-the-dedicatedworkerglobalscope-interface 950. https://html.spec.whatwg.org/#shared-workers-and-the-sharedworkerglobalscope-interface 951. https://html.spec.whatwg.org/#worker-event-loop 952. https://html.spec.whatwg.org/#the-worker's-lifetime 953. https://html.spec.whatwg.org/#worker-processing-model 954. https://html.spec.whatwg.org/#runtime-script-errors-2 955. https://html.spec.whatwg.org/#creating-workers 956. https://html.spec.whatwg.org/#the-abstractworker-mixin 957. https://html.spec.whatwg.org/#script-settings-for-workers 958. https://html.spec.whatwg.org/#dedicated-workers-and-the-worker-interface 959. https://html.spec.whatwg.org/#shared-workers-and-the-sharedworker-interface 960. https://html.spec.whatwg.org/#navigator.hardwareconcurrency 961. https://html.spec.whatwg.org/#apis-available-to-workers 962. https://html.spec.whatwg.org/#importing-scripts-and-libraries 963. https://html.spec.whatwg.org/#the-workernavigator-object 964. https://html.spec.whatwg.org/#worker-locations 965. https://html.spec.whatwg.org/#worklets 966. https://html.spec.whatwg.org/#worklets-intro 967. https://html.spec.whatwg.org/#worklets-motivations 968. https://html.spec.whatwg.org/#worklets-idempotent 969. https://html.spec.whatwg.org/#worklets-speculative 970. https://html.spec.whatwg.org/#worklets-examples 971. https://html.spec.whatwg.org/#worklets-examples-loading 972. https://html.spec.whatwg.org/#worklets-example-registering 973. https://html.spec.whatwg.org/#worklets-infrastructure 974. https://html.spec.whatwg.org/#worklets-global 975. https://html.spec.whatwg.org/#worklet-agents-and-event-loops 976. https://html.spec.whatwg.org/#worklets-creation-termination 977. https://html.spec.whatwg.org/#script-settings-for-worklets 978. https://html.spec.whatwg.org/#worklets-worklet 979. https://html.spec.whatwg.org/#worklets-lifetime 980. https://html.spec.whatwg.org/#webstorage 981. https://html.spec.whatwg.org/#introduction-15 982. https://html.spec.whatwg.org/#storage 983. https://html.spec.whatwg.org/#the-storage-interface 984. https://html.spec.whatwg.org/#the-sessionstorage-attribute 985. https://html.spec.whatwg.org/#the-localstorage-attribute 986. https://html.spec.whatwg.org/#the-storageevent-interface 987. https://html.spec.whatwg.org/#privacy 988. https://html.spec.whatwg.org/#user-tracking 989. https://html.spec.whatwg.org/#sensitivity-of-data 990. https://html.spec.whatwg.org/#security-storage 991. https://html.spec.whatwg.org/#dns-spoofing-attacks 992. https://html.spec.whatwg.org/#cross-directory-attacks 993. https://html.spec.whatwg.org/#implementation-risks 994. https://html.spec.whatwg.org/#syntax 995. https://html.spec.whatwg.org/#writing 996. https://html.spec.whatwg.org/#the-doctype 997. https://html.spec.whatwg.org/#elements-2 998. https://html.spec.whatwg.org/#start-tags 999. https://html.spec.whatwg.org/#end-tags 1000. https://html.spec.whatwg.org/#attributes-2 1001. https://html.spec.whatwg.org/#optional-tags 1002. https://html.spec.whatwg.org/#element-restrictions 1003. https://html.spec.whatwg.org/#cdata-rcdata-restrictions 1004. https://html.spec.whatwg.org/#text-2 1005. https://html.spec.whatwg.org/#newlines 1006. https://html.spec.whatwg.org/#character-references 1007. https://html.spec.whatwg.org/#cdata-sections 1008. https://html.spec.whatwg.org/#comments 1009. https://html.spec.whatwg.org/#parsing 1010. https://html.spec.whatwg.org/#overview-of-the-parsing-model 1011. https://html.spec.whatwg.org/#parse-errors 1012. https://html.spec.whatwg.org/#the-input-byte-stream 1013. https://html.spec.whatwg.org/#parsing-with-a-known-character-encoding 1014. https://html.spec.whatwg.org/#determining-the-character-encoding 1015. https://html.spec.whatwg.org/#character-encodings 1016. https://html.spec.whatwg.org/#changing-the-encoding-while-parsing 1017. https://html.spec.whatwg.org/#preprocessing-the-input-stream 1018. https://html.spec.whatwg.org/#parse-state 1019. https://html.spec.whatwg.org/#the-insertion-mode 1020. https://html.spec.whatwg.org/#the-stack-of-open-elements 1021. https://html.spec.whatwg.org/#the-list-of-active-formatting-elements 1022. https://html.spec.whatwg.org/#the-element-pointers 1023. https://html.spec.whatwg.org/#other-parsing-state-flags 1024. https://html.spec.whatwg.org/#tokenization 1025. https://html.spec.whatwg.org/#data-state 1026. https://html.spec.whatwg.org/#rcdata-state 1027. https://html.spec.whatwg.org/#rawtext-state 1028. https://html.spec.whatwg.org/#script-data-state 1029. https://html.spec.whatwg.org/#plaintext-state 1030. https://html.spec.whatwg.org/#tag-open-state 1031. https://html.spec.whatwg.org/#end-tag-open-state 1032. https://html.spec.whatwg.org/#tag-name-state 1033. https://html.spec.whatwg.org/#rcdata-less-than-sign-state 1034. https://html.spec.whatwg.org/#rcdata-end-tag-open-state 1035. https://html.spec.whatwg.org/#rcdata-end-tag-name-state 1036. https://html.spec.whatwg.org/#rawtext-less-than-sign-state 1037. https://html.spec.whatwg.org/#rawtext-end-tag-open-state 1038. https://html.spec.whatwg.org/#rawtext-end-tag-name-state 1039. https://html.spec.whatwg.org/#script-data-less-than-sign-state 1040. https://html.spec.whatwg.org/#script-data-end-tag-open-state 1041. https://html.spec.whatwg.org/#script-data-end-tag-name-state 1042. https://html.spec.whatwg.org/#script-data-escape-start-state 1043. https://html.spec.whatwg.org/#script-data-escape-start-dash-state 1044. https://html.spec.whatwg.org/#script-data-escaped-state 1045. https://html.spec.whatwg.org/#script-data-escaped-dash-state 1046. https://html.spec.whatwg.org/#script-data-escaped-dash-dash-state 1047. https://html.spec.whatwg.org/#script-data-escaped-less-than-sign-state 1048. https://html.spec.whatwg.org/#script-data-escaped-end-tag-open-state 1049. https://html.spec.whatwg.org/#script-data-escaped-end-tag-name-state 1050. https://html.spec.whatwg.org/#script-data-double-escape-start-state 1051. https://html.spec.whatwg.org/#script-data-double-escaped-state 1052. https://html.spec.whatwg.org/#script-data-double-escaped-dash-state 1053. https://html.spec.whatwg.org/#script-data-double-escaped-dash-dash-state 1054. https://html.spec.whatwg.org/#script-data-double-escaped-less-than-sign-state 1055. https://html.spec.whatwg.org/#script-data-double-escape-end-state 1056. https://html.spec.whatwg.org/#before-attribute-name-state 1057. https://html.spec.whatwg.org/#attribute-name-state 1058. https://html.spec.whatwg.org/#after-attribute-name-state 1059. https://html.spec.whatwg.org/#before-attribute-value-state 1060. https://html.spec.whatwg.org/#attribute-value-(double-quoted)-state 1061. https://html.spec.whatwg.org/#attribute-value-(single-quoted)-state 1062. https://html.spec.whatwg.org/#attribute-value-(unquoted)-state 1063. https://html.spec.whatwg.org/#after-attribute-value-(quoted)-state 1064. https://html.spec.whatwg.org/#self-closing-start-tag-state 1065. https://html.spec.whatwg.org/#bogus-comment-state 1066. https://html.spec.whatwg.org/#markup-declaration-open-state 1067. https://html.spec.whatwg.org/#comment-start-state 1068. https://html.spec.whatwg.org/#comment-start-dash-state 1069. https://html.spec.whatwg.org/#comment-state 1070. https://html.spec.whatwg.org/#comment-less-than-sign-state 1071. https://html.spec.whatwg.org/#comment-less-than-sign-bang-state 1072. https://html.spec.whatwg.org/#comment-less-than-sign-bang-dash-state 1073. https://html.spec.whatwg.org/#comment-less-than-sign-bang-dash-dash-state 1074. https://html.spec.whatwg.org/#comment-end-dash-state 1075. https://html.spec.whatwg.org/#comment-end-state 1076. https://html.spec.whatwg.org/#comment-end-bang-state 1077. https://html.spec.whatwg.org/#doctype-state 1078. https://html.spec.whatwg.org/#before-doctype-name-state 1079. https://html.spec.whatwg.org/#doctype-name-state 1080. https://html.spec.whatwg.org/#after-doctype-name-state 1081. https://html.spec.whatwg.org/#after-doctype-public-keyword-state 1082. https://html.spec.whatwg.org/#before-doctype-public-identifier-state 1083. https://html.spec.whatwg.org/#doctype-public-identifier-(double-quoted)-state 1084. https://html.spec.whatwg.org/#doctype-public-identifier-(single-quoted)-state 1085. https://html.spec.whatwg.org/#after-doctype-public-identifier-state 1086. https://html.spec.whatwg.org/#between-doctype-public-and-system-identifiers-state 1087. https://html.spec.whatwg.org/#after-doctype-system-keyword-state 1088. https://html.spec.whatwg.org/#before-doctype-system-identifier-state 1089. https://html.spec.whatwg.org/#doctype-system-identifier-(double-quoted)-state 1090. https://html.spec.whatwg.org/#doctype-system-identifier-(single-quoted)-state 1091. https://html.spec.whatwg.org/#after-doctype-system-identifier-state 1092. https://html.spec.whatwg.org/#bogus-doctype-state 1093. https://html.spec.whatwg.org/#cdata-section-state 1094. https://html.spec.whatwg.org/#cdata-section-bracket-state 1095. https://html.spec.whatwg.org/#cdata-section-end-state 1096. https://html.spec.whatwg.org/#character-reference-state 1097. https://html.spec.whatwg.org/#named-character-reference-state 1098. https://html.spec.whatwg.org/#ambiguous-ampersand-state 1099. https://html.spec.whatwg.org/#numeric-character-reference-state 1100. https://html.spec.whatwg.org/#hexadecimal-character-reference-start-state 1101. https://html.spec.whatwg.org/#decimal-character-reference-start-state 1102. https://html.spec.whatwg.org/#hexadecimal-character-reference-state 1103. https://html.spec.whatwg.org/#decimal-character-reference-state 1104. https://html.spec.whatwg.org/#numeric-character-reference-end-state 1105. https://html.spec.whatwg.org/#tree-construction 1106. https://html.spec.whatwg.org/#creating-and-inserting-nodes 1107. https://html.spec.whatwg.org/#parsing-elements-that-contain-only-text 1108. https://html.spec.whatwg.org/#closing-elements-that-have-implied-end-tags 1109. https://html.spec.whatwg.org/#parsing-main-inhtml 1110. https://html.spec.whatwg.org/#the-initial-insertion-mode 1111. https://html.spec.whatwg.org/#the-before-html-insertion-mode 1112. https://html.spec.whatwg.org/#the-before-head-insertion-mode 1113. https://html.spec.whatwg.org/#parsing-main-inhead 1114. https://html.spec.whatwg.org/#parsing-main-inheadnoscript 1115. https://html.spec.whatwg.org/#the-after-head-insertion-mode 1116. https://html.spec.whatwg.org/#parsing-main-inbody 1117. https://html.spec.whatwg.org/#parsing-main-incdata 1118. https://html.spec.whatwg.org/#parsing-main-intable 1119. https://html.spec.whatwg.org/#parsing-main-intabletext 1120. https://html.spec.whatwg.org/#parsing-main-incaption 1121. https://html.spec.whatwg.org/#parsing-main-incolgroup 1122. https://html.spec.whatwg.org/#parsing-main-intbody 1123. https://html.spec.whatwg.org/#parsing-main-intr 1124. https://html.spec.whatwg.org/#parsing-main-intd 1125. https://html.spec.whatwg.org/#parsing-main-inselect 1126. https://html.spec.whatwg.org/#parsing-main-inselectintable 1127. https://html.spec.whatwg.org/#parsing-main-intemplate 1128. https://html.spec.whatwg.org/#parsing-main-afterbody 1129. https://html.spec.whatwg.org/#parsing-main-inframeset 1130. https://html.spec.whatwg.org/#parsing-main-afterframeset 1131. https://html.spec.whatwg.org/#the-after-after-body-insertion-mode 1132. https://html.spec.whatwg.org/#the-after-after-frameset-insertion-mode 1133. https://html.spec.whatwg.org/#parsing-main-inforeign 1134. https://html.spec.whatwg.org/#the-end 1135. https://html.spec.whatwg.org/#speculative-html-parsing 1136. https://html.spec.whatwg.org/#coercing-an-html-dom-into-an-infoset 1137. https://html.spec.whatwg.org/#an-introduction-to-error-handling-and-strange-cases-in-the-parser 1138. https://html.spec.whatwg.org/#misnested-tags:-b-i-/b-/i 1139. https://html.spec.whatwg.org/#misnested-tags:-b-p-/b-/p 1140. https://html.spec.whatwg.org/#unexpected-markup-in-tables 1141. https://html.spec.whatwg.org/#scripts-that-modify-the-page-as-it-is-being-parsed 1142. https://html.spec.whatwg.org/#the-execution-of-scripts-that-are-moving-across-multiple-documents 1143. https://html.spec.whatwg.org/#unclosed-formatting-elements 1144. https://html.spec.whatwg.org/#serialising-html-fragments 1145. https://html.spec.whatwg.org/#parsing-html-fragments 1146. https://html.spec.whatwg.org/#named-character-references 1147. https://html.spec.whatwg.org/#the-xhtml-syntax 1148. https://html.spec.whatwg.org/#writing-xhtml-documents 1149. https://html.spec.whatwg.org/#parsing-xhtml-documents 1150. https://html.spec.whatwg.org/#serialising-xhtml-fragments 1151. https://html.spec.whatwg.org/#parsing-xhtml-fragments 1152. https://html.spec.whatwg.org/#rendering 1153. https://html.spec.whatwg.org/#introduction-16 1154. https://html.spec.whatwg.org/#the-css-user-agent-style-sheet-and-presentational-hints 1155. https://html.spec.whatwg.org/#non-replaced-elements 1156. https://html.spec.whatwg.org/#hidden-elements 1157. https://html.spec.whatwg.org/#the-page 1158. https://html.spec.whatwg.org/#flow-content-3 1159. https://html.spec.whatwg.org/#phrasing-content-3 1160. https://html.spec.whatwg.org/#bidi-rendering 1161. https://html.spec.whatwg.org/#sections-and-headings 1162. https://html.spec.whatwg.org/#lists 1163. https://html.spec.whatwg.org/#tables-2 1164. https://html.spec.whatwg.org/#margin-collapsing-quirks 1165. https://html.spec.whatwg.org/#form-controls 1166. https://html.spec.whatwg.org/#the-hr-element-2 1167. https://html.spec.whatwg.org/#the-fieldset-and-legend-elements 1168. https://html.spec.whatwg.org/#replaced-elements 1169. https://html.spec.whatwg.org/#embedded-content-rendering-rules 1170. https://html.spec.whatwg.org/#images-3 1171. https://html.spec.whatwg.org/#attributes-for-embedded-content-and-images 1172. https://html.spec.whatwg.org/#image-maps-2 1173. https://html.spec.whatwg.org/#widgets 1174. https://html.spec.whatwg.org/#native-appearance-2 1175. https://html.spec.whatwg.org/#writing-mode 1176. https://html.spec.whatwg.org/#button-layout 1177. https://html.spec.whatwg.org/#the-button-element-2 1178. https://html.spec.whatwg.org/#the-details-and-summary-elements 1179. https://html.spec.whatwg.org/#the-input-element-as-a-text-entry-widget 1180. https://html.spec.whatwg.org/#the-input-element-as-domain-specific-widgets 1181. https://html.spec.whatwg.org/#the-input-element-as-a-range-control 1182. https://html.spec.whatwg.org/#the-input-element-as-a-colour-well 1183. https://html.spec.whatwg.org/#the-input-element-as-a-checkbox-and-radio-button-widgets 1184. https://html.spec.whatwg.org/#the-input-element-as-a-file-upload-control 1185. https://html.spec.whatwg.org/#the-input-element-as-a-button 1186. https://html.spec.whatwg.org/#the-marquee-element-2 1187. https://html.spec.whatwg.org/#the-meter-element-2 1188. https://html.spec.whatwg.org/#the-progress-element-2 1189. https://html.spec.whatwg.org/#the-select-element-2 1190. https://html.spec.whatwg.org/#the-textarea-element-2 1191. https://html.spec.whatwg.org/#frames-and-framesets 1192. https://html.spec.whatwg.org/#interactive-media 1193. https://html.spec.whatwg.org/#links,-forms,-and-navigation 1194. https://html.spec.whatwg.org/#the-title-attribute-2 1195. https://html.spec.whatwg.org/#editing-hosts 1196. https://html.spec.whatwg.org/#text-rendered-in-native-user-interfaces 1197. https://html.spec.whatwg.org/#print-media 1198. https://html.spec.whatwg.org/#unstyled-xml-documents 1199. https://html.spec.whatwg.org/#obsolete 1200. https://html.spec.whatwg.org/#obsolete-but-conforming-features 1201. https://html.spec.whatwg.org/#warnings-for-obsolete-but-conforming-features 1202. https://html.spec.whatwg.org/#non-conforming-features 1203. https://html.spec.whatwg.org/#requirements-for-implementations 1204. https://html.spec.whatwg.org/#the-marquee-element 1205. https://html.spec.whatwg.org/#frames 1206. https://html.spec.whatwg.org/#other-elements,-attributes-and-apis 1207. https://html.spec.whatwg.org/#iana 1208. https://html.spec.whatwg.org/#text/html 1209. https://html.spec.whatwg.org/#multipart/x-mixed-replace 1210. https://html.spec.whatwg.org/#application/xhtml+xml 1211. https://html.spec.whatwg.org/#text/ping 1212. https://html.spec.whatwg.org/#application/microdata+json 1213. https://html.spec.whatwg.org/#text/event-stream 1214. https://html.spec.whatwg.org/#web+-scheme-prefix 1215. https://html.spec.whatwg.org/#index 1216. https://html.spec.whatwg.org/#elements-3 1217. https://html.spec.whatwg.org/#element-content-categories 1218. https://html.spec.whatwg.org/#attributes-3 1219. https://html.spec.whatwg.org/#element-interfaces 1220. https://html.spec.whatwg.org/#all-interfaces 1221. https://html.spec.whatwg.org/#events-2 1222. https://html.spec.whatwg.org/#http-headers 1223. https://html.spec.whatwg.org/#mime-types-2 1224. https://html.spec.whatwg.org/#references 1225. https://html.spec.whatwg.org/#acknowledgments 1226. https://html.spec.whatwg.org/#ipr 1227. https://spec.whatwg.org/ 1228. https://www.w3.org/blog/news/archives/7753 1229. https://html.spec.whatwg.org/#worker 1230. https://tc39.es/ecma262/#sec-sharedarraybuffer-objects 1231. https://tc39.es/ecma262/#sec-sharedarraybuffer-objects 1232. https://tc39.es/ecma262/#sec-agents 1233. https://html.spec.whatwg.org/#classes 1234. https://html.spec.whatwg.org/#attr-data-* 1235. https://html.spec.whatwg.org/#the-meta-element 1236. https://html.spec.whatwg.org/#attr-hyperlink-rel 1237. https://html.spec.whatwg.org/#concept-rel-extensions 1238. https://html.spec.whatwg.org/#the-script-element 1239. https://html.spec.whatwg.org/#attr-itemscope 1240. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 1241. https://html.spec.whatwg.org/#custom-element 1242. https://html.spec.whatwg.org/#valid-custom-element-name 1243. https://html.spec.whatwg.org/#text/html 1244. https://mimesniff.spec.whatwg.org/#mime-type 1245. https://mimesniff.spec.whatwg.org/#xml-mime-type 1246. https://html.spec.whatwg.org/#application/xhtml+xml 1247. https://html.spec.whatwg.org/#the-noscript-element 1248. https://html.spec.whatwg.org/#introduction 1249. https://html.spec.whatwg.org/#infrastructure 1250. https://html.spec.whatwg.org/#dom 1251. https://html.spec.whatwg.org/#semantics 1252. https://html.spec.whatwg.org/#microdata 1253. https://html.spec.whatwg.org/#editing 1254. https://html.spec.whatwg.org/#browsers 1255. https://html.spec.whatwg.org/#webappapis 1256. https://html.spec.whatwg.org/#workers 1257. https://html.spec.whatwg.org/#worklets 1258. https://html.spec.whatwg.org/#comms 1259. https://html.spec.whatwg.org/#eventsource 1260. https://html.spec.whatwg.org/#webstorage 1261. https://html.spec.whatwg.org/#syntax 1262. https://html.spec.whatwg.org/#xhtml 1263. https://html.spec.whatwg.org/#rendering 1264. https://html.spec.whatwg.org/#obsolete 1265. https://html.spec.whatwg.org/#iana 1266. https://html.spec.whatwg.org/#valid-integer 1267. https://html.spec.whatwg.org/#rules-for-parsing-integers 1268. https://html.spec.whatwg.org/#valid-integer 1269. https://html.spec.whatwg.org/#x-that 1270. https://html.spec.whatwg.org/#x-this 1271. https://html.spec.whatwg.org/#x-this 1272. https://html.spec.whatwg.org/#x-that 1273. https://html.spec.whatwg.org/#synchronous-section 1274. https://html.spec.whatwg.org/#syntax-start-tag 1275. https://html.spec.whatwg.org/#syntax-end-tag 1276. https://html.spec.whatwg.org/#syntax-tag-omission 1277. https://html.spec.whatwg.org/#hyperlink 1278. https://html.spec.whatwg.org/#the-a-element 1279. https://html.spec.whatwg.org/#attr-hyperlink-href 1280. https://html.spec.whatwg.org/#syntax-attributes 1281. https://html.spec.whatwg.org/#syntax-attribute-name 1282. https://html.spec.whatwg.org/#syntax-attribute-value 1283. https://html.spec.whatwg.org/#unquoted 1284. https://infra.spec.whatwg.org/#ascii-whitespace 1285. https://dom.spec.whatwg.org/#interface-documenttype 1286. https://dom.spec.whatwg.org/#interface-element 1287. https://dom.spec.whatwg.org/#interface-text 1288. https://dom.spec.whatwg.org/#interface-comment 1289. https://dom.spec.whatwg.org/#interface-processinginstruction 1290. https://html.spec.whatwg.org/#intro-early-example 1291. https://html.spec.whatwg.org/#the-html-element 1292. https://html.spec.whatwg.org/#attr-lang 1293. https://html.spec.whatwg.org/#the-head-element 1294. https://dom.spec.whatwg.org/#interface-text 1295. https://html.spec.whatwg.org/#the-title-element 1296. https://dom.spec.whatwg.org/#interface-text 1297. https://dom.spec.whatwg.org/#interface-text 1298. https://dom.spec.whatwg.org/#interface-text 1299. https://html.spec.whatwg.org/#the-body-element 1300. https://dom.spec.whatwg.org/#interface-text 1301. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 1302. https://dom.spec.whatwg.org/#interface-text 1303. https://dom.spec.whatwg.org/#interface-text 1304. https://html.spec.whatwg.org/#the-p-element 1305. https://dom.spec.whatwg.org/#interface-text 1306. https://html.spec.whatwg.org/#the-a-element 1307. https://html.spec.whatwg.org/#attr-hyperlink-href 1308. https://dom.spec.whatwg.org/#interface-text 1309. https://dom.spec.whatwg.org/#interface-text 1310. https://dom.spec.whatwg.org/#interface-text 1311. https://dom.spec.whatwg.org/#interface-comment 1312. https://dom.spec.whatwg.org/#interface-text 1313. https://dom.spec.whatwg.org/#document-element 1314. https://html.spec.whatwg.org/#the-html-element 1315. https://html.spec.whatwg.org/#the-head-element 1316. https://html.spec.whatwg.org/#the-body-element 1317. https://dom.spec.whatwg.org/#interface-text 1318. https://dom.spec.whatwg.org/#interface-text 1319. https://dom.spec.whatwg.org/#interface-text 1320. https://html.spec.whatwg.org/#the-head-element 1321. https://html.spec.whatwg.org/#the-body-element 1322. https://html.spec.whatwg.org/#the-body-element 1323. https://html.spec.whatwg.org/#the-head-element 1324. https://html.spec.whatwg.org/#the-title-element 1325. https://dom.spec.whatwg.org/#interface-text 1326. https://html.spec.whatwg.org/#the-body-element 1327. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 1328. https://html.spec.whatwg.org/#the-p-element 1329. https://html.spec.whatwg.org/#the-script-element 1330. https://html.spec.whatwg.org/#event-handler-content-attributes 1331. https://html.spec.whatwg.org/#the-output-element 1332. https://html.spec.whatwg.org/#the-form-element 1333. https://html.spec.whatwg.org/#attr-form-name 1334. https://html.spec.whatwg.org/#the-output-element 1335. https://html.spec.whatwg.org/#attr-fe-name 1336. https://html.spec.whatwg.org/#the-script-element 1337. https://html.spec.whatwg.org/#document 1338. https://html.spec.whatwg.org/#dom-document-forms 1339. https://html.spec.whatwg.org/#dom-form-elements 1340. https://html.spec.whatwg.org/#dom-output-value 1341. https://html.spec.whatwg.org/#the-a-element 1342. https://html.spec.whatwg.org/#attr-hyperlink-href 1343. https://html.spec.whatwg.org/#document 1344. https://html.spec.whatwg.org/#dom-document-links 1345. https://html.spec.whatwg.org/#dom-hyperlink-href 1346. https://html.spec.whatwg.org/#dom-hyperlink-protocol 1347. https://html.spec.whatwg.org/#refsORIGIN 1348. https://html.spec.whatwg.org/#the-img-element 1349. https://html.spec.whatwg.org/#handler-onload 1350. https://html.spec.whatwg.org/#the-javascript:-url-special-case 1351. https://html.spec.whatwg.org/#the-base-element 1352. https://html.spec.whatwg.org/#the-script-element 1353. https://fetch.spec.whatwg.org/#http-origin 1354. https://html.spec.whatwg.org/#the-iframe-element 1355. https://html.spec.whatwg.org/#dom-window 1356. https://html.spec.whatwg.org/#dom-top 1357. https://html.spec.whatwg.org/#event-handler-content-attributes 1358. https://html.spec.whatwg.org/#the-img-element 1359. https://html.spec.whatwg.org/#event-load 1360. https://html.spec.whatwg.org/#handler-onload 1361. https://html.spec.whatwg.org/#the-img-element 1362. https://html.spec.whatwg.org/#event-load 1363. https://html.spec.whatwg.org/#the-img-element 1364. https://html.spec.whatwg.org/#event-load 1365. https://whatwg.org/validator/ 1366. https://html.spec.whatwg.org/#attr-style 1367. https://html.spec.whatwg.org/#the-style-element 1368. https://html.spec.whatwg.org/#attr-style 1369. https://html.spec.whatwg.org/#the-style-element 1370. https://html.spec.whatwg.org/#the-b-element 1371. https://html.spec.whatwg.org/#the-i-element 1372. https://html.spec.whatwg.org/#the-hr-element 1373. https://html.spec.whatwg.org/#the-s-element 1374. https://html.spec.whatwg.org/#the-small-element 1375. https://html.spec.whatwg.org/#the-u-element 1376. https://html.spec.whatwg.org/#the-hr-element 1377. https://html.spec.whatwg.org/#the-table-element 1378. https://html.spec.whatwg.org/#parse-errors 1379. https://html.spec.whatwg.org/#the-i-element 1380. https://html.spec.whatwg.org/#the-p-element 1381. https://html.spec.whatwg.org/#the-i-element 1382. https://dom.spec.whatwg.org/#interface-text 1383. https://html.spec.whatwg.org/#the-p-element 1384. https://html.spec.whatwg.org/#the-i-element 1385. https://html.spec.whatwg.org/#the-i-element 1386. https://dom.spec.whatwg.org/#interface-text 1387. https://html.spec.whatwg.org/#the-p-element 1388. https://html.spec.whatwg.org/#the-i-element 1389. https://html.spec.whatwg.org/#the-i-element 1390. https://html.spec.whatwg.org/#the-i-element 1391. https://dom.spec.whatwg.org/#interface-text 1392. https://html.spec.whatwg.org/#the-p-element 1393. https://html.spec.whatwg.org/#the-i-element 1394. https://html.spec.whatwg.org/#the-i-element 1395. https://html.spec.whatwg.org/#the-i-element 1396. https://html.spec.whatwg.org/#the-i-element 1397. https://dom.spec.whatwg.org/#interface-text 1398. https://dom.spec.whatwg.org/#concept-document-no-quirks 1399. https://dom.spec.whatwg.org/#concept-document-quirks 1400. https://html.spec.whatwg.org/#refsUTF7 1401. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 1402. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 1403. https://html.spec.whatwg.org/#the-section-element 1404. https://html.spec.whatwg.org/#the-kbd-element 1405. https://html.spec.whatwg.org/#the-ul-element 1406. https://html.spec.whatwg.org/#the-li-element 1407. https://html.spec.whatwg.org/#the-ul-element 1408. https://html.spec.whatwg.org/#the-li-element 1409. https://html.spec.whatwg.org/#the-div-element 1410. https://drafts.csswg.org/css2/#block-boxes① 1411. https://html.spec.whatwg.org/#the-span-element 1412. https://drafts.csswg.org/css2/#inline-box 1413. https://drafts.csswg.org/css2/#block-boxes① 1414. https://drafts.csswg.org/css2/#inline-box 1415. https://html.spec.whatwg.org/#the-div-element 1416. https://html.spec.whatwg.org/#the-span-element 1417. https://html.spec.whatwg.org/#the-span-element 1418. https://html.spec.whatwg.org/#the-div-element 1419. https://html.spec.whatwg.org/#the-div-element 1420. https://html.spec.whatwg.org/#the-span-element 1421. https://drafts.csswg.org/css2/#block-boxes① 1422. https://drafts.csswg.org/css2/#inline-box 1423. https://html.spec.whatwg.org/#interactive-content-2 1424. https://html.spec.whatwg.org/#the-button-element 1425. https://html.spec.whatwg.org/#the-textarea-element 1426. https://html.spec.whatwg.org/#attr-fe-disabled 1427. https://html.spec.whatwg.org/#the-area-element 1428. https://html.spec.whatwg.org/#attr-area-shape 1429. https://html.spec.whatwg.org/#attr-area-shape-keyword-circ 1430. https://html.spec.whatwg.org/#attr-area-shape-keyword-circle 1431. https://html.spec.whatwg.org/#attr-area-shape-keyword-circ 1432. https://html.spec.whatwg.org/#the-form-element 1433. https://html.spec.whatwg.org/#phrasing-content-2 1434. https://html.spec.whatwg.org/#the-form-element 1435. https://html.spec.whatwg.org/#the-p-element 1436. https://html.spec.whatwg.org/#paragraph 1437. https://html.spec.whatwg.org/#the-id-attribute 1438. https://html.spec.whatwg.org/#the-script-element 1439. https://html.spec.whatwg.org/#attr-script-src 1440. https://html.spec.whatwg.org/#the-script-element 1441. https://html.spec.whatwg.org/#attr-script-src 1442. https://html.spec.whatwg.org/#attr-lang 1443. https://www.w3.org/TR/xml/#sec-lang-tag 1444. https://html.spec.whatwg.org/#attr-hyperlink-target 1445. https://html.spec.whatwg.org/#refsCHARMOD 1446. https://html.spec.whatwg.org/#refsUTR36 1447. https://html.spec.whatwg.org/#refsWCAG 1448. https://html.spec.whatwg.org/#refsATAG 1449. https://html.spec.whatwg.org/#refsUAAG 1450. https://html.spec.whatwg.org/#refsINFRA 1451. https://html.spec.whatwg.org/#syntax 1452. https://html.spec.whatwg.org/#the-xhtml-syntax 1453. https://html.spec.whatwg.org/#document 1454. https://html.spec.whatwg.org/#syntax 1455. https://html.spec.whatwg.org/#the-xhtml-syntax 1456. https://dom.spec.whatwg.org/#html-document 1457. https://dom.spec.whatwg.org/#xml-document 1458. https://html.spec.whatwg.org/#document 1459. https://html.spec.whatwg.org/#refsDOM 1460. https://html.spec.whatwg.org/#text/html 1461. https://mimesniff.spec.whatwg.org/#xml-mime-type 1462. https://html.spec.whatwg.org/#event-loop 1463. https://html.spec.whatwg.org/#event-loop-for-spec-authors 1464. https://html.spec.whatwg.org/#in-parallel 1465. https://html.spec.whatwg.org/#parallel-queue 1466. https://html.spec.whatwg.org/#parallel-queue 1467. https://infra.spec.whatwg.org/#queue 1468. https://html.spec.whatwg.org/#parallel-queue 1469. https://infra.spec.whatwg.org/#queue-enqueue 1470. https://html.spec.whatwg.org/#parallel-queue 1471. https://html.spec.whatwg.org/#algorithm-queue 1472. https://html.spec.whatwg.org/#parallel-queue 1473. https://html.spec.whatwg.org/#in-parallel 1474. https://infra.spec.whatwg.org/#queue-dequeue 1475. https://html.spec.whatwg.org/#algorithm-queue 1476. https://infra.spec.whatwg.org/#assert 1477. https://html.spec.whatwg.org/#in-parallel 1478. https://html.spec.whatwg.org/#in-parallel 1479. https://html.spec.whatwg.org/#in-parallel 1480. https://html.spec.whatwg.org/#parallel-queue 1481. https://infra.spec.whatwg.org/#list 1482. https://infra.spec.whatwg.org/#list-contain 1483. https://webidl.spec.whatwg.org/#this 1484. https://html.spec.whatwg.org/#concept-relevant-realm 1485. https://webidl.spec.whatwg.org/#this 1486. https://html.spec.whatwg.org/#concept-relevant-global 1487. https://html.spec.whatwg.org/#in-parallel 1488. https://infra.spec.whatwg.org/#list-contain 1489. https://html.spec.whatwg.org/#queue-a-global-task 1490. https://html.spec.whatwg.org/#dom-manipulation-task-source 1491. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 1492. https://infra.spec.whatwg.org/#list-append 1493. https://html.spec.whatwg.org/#queue-a-global-task 1494. https://html.spec.whatwg.org/#dom-manipulation-task-source 1495. https://html.spec.whatwg.org/#starting-a-new-parallel-queue 1496. https://webidl.spec.whatwg.org/#this 1497. https://html.spec.whatwg.org/#concept-relevant-realm 1498. https://webidl.spec.whatwg.org/#this 1499. https://html.spec.whatwg.org/#concept-relevant-global 1500. https://html.spec.whatwg.org/#enqueue-the-following-steps 1501. https://infra.spec.whatwg.org/#list-contain 1502. https://html.spec.whatwg.org/#queue-a-global-task 1503. https://html.spec.whatwg.org/#dom-manipulation-task-source 1504. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 1505. https://infra.spec.whatwg.org/#list-append 1506. https://html.spec.whatwg.org/#queue-a-global-task 1507. https://html.spec.whatwg.org/#dom-manipulation-task-source 1508. https://html.spec.whatwg.org/#refsHTTP 1509. https://drafts.csswg.org/cssom/#css-style-sheet 1510. https://github.com/w3c/csswg-drafts/issues/1088 1511. https://infra.spec.whatwg.org/#html-namespace 1512. https://infra.spec.whatwg.org/#html-namespace 1513. https://html.spec.whatwg.org/#the-button-element 1514. https://html.spec.whatwg.org/#the-button-element 1515. https://infra.spec.whatwg.org/#html-namespace 1516. https://www.w3.org/TR/xml/#NT-Name 1517. https://html.spec.whatwg.org/#refsXML 1518. https://dom.spec.whatwg.org/#interface-text 1519. https://infra.spec.whatwg.org/#string-length 1520. https://infra.spec.whatwg.org/#control 1521. https://dom.spec.whatwg.org/#concept-element-local-name 1522. https://dom.spec.whatwg.org/#concept-node-insert-ext 1523. https://dom.spec.whatwg.org/#concept-element-namespace 1524. https://infra.spec.whatwg.org/#html-namespace 1525. https://html.spec.whatwg.org/#html-element-insertion-steps 1526. https://dom.spec.whatwg.org/#concept-element-local-name 1527. https://html.spec.whatwg.org/#html-element-insertion-steps 1528. https://html.spec.whatwg.org/#form-associated-element 1529. https://html.spec.whatwg.org/#form-associated-element 1530. https://html.spec.whatwg.org/#form-associated-element 1531. https://html.spec.whatwg.org/#parser-inserted-flag 1532. https://html.spec.whatwg.org/#reset-the-form-owner 1533. https://html.spec.whatwg.org/#form-associated-element 1534. https://dom.spec.whatwg.org/#interface-element 1535. https://html.spec.whatwg.org/#stack-of-open-elements 1536. https://html.spec.whatwg.org/#html-parser 1537. https://html.spec.whatwg.org/#process-internal-resource-links 1538. https://dom.spec.whatwg.org/#concept-node-document 1539. https://dom.spec.whatwg.org/#concept-node-post-connection-ext 1540. https://dom.spec.whatwg.org/#concept-element-namespace 1541. https://infra.spec.whatwg.org/#html-namespace 1542. https://html.spec.whatwg.org/#html-element-post-connection-steps 1543. https://dom.spec.whatwg.org/#concept-element-local-name 1544. https://html.spec.whatwg.org/#html-element-post-connection-steps 1545. https://dom.spec.whatwg.org/#concept-node-remove-ext 1546. https://dom.spec.whatwg.org/#concept-node-document 1547. https://html.spec.whatwg.org/#focused-area-of-the-document 1548. https://html.spec.whatwg.org/#focused-area-of-the-document 1549. https://drafts.csswg.org/css2/#viewport 1550. https://html.spec.whatwg.org/#concept-relevant-global 1551. https://html.spec.whatwg.org/#window-navigation-api 1552. https://html.spec.whatwg.org/#focus-changed-during-ongoing-navigation 1553. https://html.spec.whatwg.org/#unfocusing-steps 1554. https://html.spec.whatwg.org/#focusing-steps 1555. https://html.spec.whatwg.org/#focus-update-steps 1556. https://html.spec.whatwg.org/#event-blur 1557. https://html.spec.whatwg.org/#event-change 1558. https://dom.spec.whatwg.org/#concept-element-namespace 1559. https://infra.spec.whatwg.org/#html-namespace 1560. https://html.spec.whatwg.org/#html-element-removing-steps 1561. https://dom.spec.whatwg.org/#concept-element-local-name 1562. https://html.spec.whatwg.org/#html-element-removing-steps 1563. https://html.spec.whatwg.org/#form-associated-element 1564. https://html.spec.whatwg.org/#form-associated-element 1565. https://html.spec.whatwg.org/#form-associated-element 1566. https://html.spec.whatwg.org/#form-owner 1567. https://html.spec.whatwg.org/#form-associated-element 1568. https://html.spec.whatwg.org/#form-owner 1569. https://dom.spec.whatwg.org/#concept-tree 1570. https://html.spec.whatwg.org/#reset-the-form-owner 1571. https://html.spec.whatwg.org/#form-associated-element 1572. https://html.spec.whatwg.org/#attr-popover 1573. https://html.spec.whatwg.org/#attr-popover-none-state 1574. https://html.spec.whatwg.org/#hide-popover-algorithm 1575. https://dom.spec.whatwg.org/#concept-node-move-ext 1576. https://dom.spec.whatwg.org/#concept-element-namespace 1577. https://infra.spec.whatwg.org/#html-namespace 1578. https://html.spec.whatwg.org/#html-element-moving-steps 1579. https://dom.spec.whatwg.org/#concept-element-local-name 1580. https://html.spec.whatwg.org/#html-element-moving-steps 1581. https://html.spec.whatwg.org/#form-associated-element 1582. https://html.spec.whatwg.org/#form-associated-element 1583. https://html.spec.whatwg.org/#form-associated-element 1584. https://html.spec.whatwg.org/#form-owner 1585. https://html.spec.whatwg.org/#form-associated-element 1586. https://html.spec.whatwg.org/#form-owner 1587. https://dom.spec.whatwg.org/#concept-tree 1588. https://html.spec.whatwg.org/#reset-the-form-owner 1589. https://html.spec.whatwg.org/#form-associated-element 1590. https://dom.spec.whatwg.org/#concept-node-insert-ext 1591. https://dom.spec.whatwg.org/#in-a-document-tree 1592. https://dom.spec.whatwg.org/#concept-node-remove-ext 1593. https://dom.spec.whatwg.org/#in-a-document-tree 1594. https://dom.spec.whatwg.org/#concept-node-insert-ext 1595. https://dom.spec.whatwg.org/#connected 1596. https://dom.spec.whatwg.org/#concept-node-remove-ext 1597. https://dom.spec.whatwg.org/#connected 1598. https://dom.spec.whatwg.org/#connected 1599. https://dom.spec.whatwg.org/#concept-shadow-including-root 1600. https://html.spec.whatwg.org/#concept-document-bc 1601. https://dom.spec.whatwg.org/#concept-node-insert-ext 1602. https://html.spec.whatwg.org/#browsing-context-connected 1603. https://dom.spec.whatwg.org/#concept-node-remove-ext 1604. https://html.spec.whatwg.org/#browsing-context-connected 1605. https://dom.spec.whatwg.org/#concept-shadow-including-root 1606. https://html.spec.whatwg.org/#concept-document-bc 1607. https://infra.spec.whatwg.org/#implementation-defined 1608. https://html.spec.whatwg.org/#document 1609. https://html.spec.whatwg.org/#child-navigable 1610. https://html.spec.whatwg.org/#document 1611. https://dom.spec.whatwg.org/#interface-node 1612. https://html.spec.whatwg.org/#document 1613. https://www.rfc-editor.org/rfc/rfc2046#section-4.1.3 1614. https://www.rfc-editor.org/rfc/rfc2046#section-4.5.1 1615. https://html.spec.whatwg.org/#plugin 1616. https://html.spec.whatwg.org/#navigable 1617. https://html.spec.whatwg.org/#refsNPAPI 1618. https://html.spec.whatwg.org/#plugin 1619. https://infra.spec.whatwg.org/#tracking-vector 1620. https://html.spec.whatwg.org/#plugin 1621. https://html.spec.whatwg.org/#plugin 1622. https://encoding.spec.whatwg.org/#encoding 1623. https://encoding.spec.whatwg.org/#encoding 1624. https://encoding.spec.whatwg.org/#name 1625. https://encoding.spec.whatwg.org/#label 1626. https://html.spec.whatwg.org/#refsENCODING 1627. https://html.spec.whatwg.org/#the-xhtml-syntax 1628. https://infra.spec.whatwg.org/#html-namespace 1629. https://html.spec.whatwg.org/#the-script-element 1630. https://html.spec.whatwg.org/#the-script-element 1631. https://html.spec.whatwg.org/#syntax 1632. https://mimesniff.spec.whatwg.org/#html-mime-type 1633. https://html.spec.whatwg.org/#refsWEBIDL 1634. https://html.spec.whatwg.org/#the-script-element 1635. https://html.spec.whatwg.org/#htmlscriptelement 1636. https://html.spec.whatwg.org/#non-scripted 1637. https://html.spec.whatwg.org/#rendering 1638. https://html.spec.whatwg.org/#the-blockquote-element 1639. https://html.spec.whatwg.org/#the-blockquote-element 1640. https://html.spec.whatwg.org/#concept-document-bc 1641. https://html.spec.whatwg.org/#scripting-flag 1642. https://html.spec.whatwg.org/#concept-document-bc 1643. https://html.spec.whatwg.org/#refsCOMPUTABLE 1644. https://html.spec.whatwg.org/#outline 1645. https://html.spec.whatwg.org/#concept-heading 1646. https://html.spec.whatwg.org/#conforming-documents 1647. https://html.spec.whatwg.org/#the-address-element 1648. https://html.spec.whatwg.org/#the-article-element 1649. https://html.spec.whatwg.org/#the-body-element 1650. https://html.spec.whatwg.org/#the-address-element 1651. https://html.spec.whatwg.org/#the-article-element 1652. https://html.spec.whatwg.org/#the-div-element 1653. https://html.spec.whatwg.org/#the-b-element 1654. https://html.spec.whatwg.org/#the-i-element 1655. https://html.spec.whatwg.org/#the-span-element 1656. https://html.spec.whatwg.org/#attr-style 1657. https://html.spec.whatwg.org/#the-xhtml-syntax 1658. https://html.spec.whatwg.org/#writing 1659. https://html.spec.whatwg.org/#syntax 1660. https://html.spec.whatwg.org/#refsINFRA 1661. https://infra.spec.whatwg.org/#iteration-while 1662. https://infra.spec.whatwg.org/#iteration-continue 1663. https://infra.spec.whatwg.org/#iteration-break 1664. https://infra.spec.whatwg.org/#assert 1665. https://infra.spec.whatwg.org/#implementation-defined 1666. https://infra.spec.whatwg.org/#willful-violation 1667. https://infra.spec.whatwg.org/#tracking-vector 1668. https://infra.spec.whatwg.org/#code-point 1669. https://infra.spec.whatwg.org/#code-point 1670. https://infra.spec.whatwg.org/#surrogate 1671. https://infra.spec.whatwg.org/#scalar-value 1672. https://infra.spec.whatwg.org/#tuple 1673. https://infra.spec.whatwg.org/#noncharacter 1674. https://infra.spec.whatwg.org/#string 1675. https://infra.spec.whatwg.org/#code-unit 1676. https://infra.spec.whatwg.org/#code-unit-prefix 1677. https://infra.spec.whatwg.org/#code-unit-less-than 1678. https://infra.spec.whatwg.org/#string-starts-with 1679. https://infra.spec.whatwg.org/#string-ends-with 1680. https://infra.spec.whatwg.org/#string-length 1681. https://infra.spec.whatwg.org/#string-code-point-length 1682. https://infra.spec.whatwg.org/#string-is 1683. https://infra.spec.whatwg.org/#string-is 1684. https://infra.spec.whatwg.org/#scalar-value-string 1685. https://infra.spec.whatwg.org/#javascript-string-convert 1686. https://infra.spec.whatwg.org/#ascii-string 1687. https://infra.spec.whatwg.org/#ascii-tab-or-newline 1688. https://infra.spec.whatwg.org/#ascii-whitespace 1689. https://infra.spec.whatwg.org/#control 1690. https://infra.spec.whatwg.org/#ascii-digit 1691. https://infra.spec.whatwg.org/#ascii-upper-hex-digit 1692. https://infra.spec.whatwg.org/#ascii-lower-hex-digit 1693. https://infra.spec.whatwg.org/#ascii-hex-digit 1694. https://infra.spec.whatwg.org/#ascii-upper-alpha 1695. https://infra.spec.whatwg.org/#ascii-lower-alpha 1696. https://infra.spec.whatwg.org/#ascii-alpha 1697. https://infra.spec.whatwg.org/#ascii-alphanumeric 1698. https://infra.spec.whatwg.org/#isomorphic-decode 1699. https://infra.spec.whatwg.org/#isomorphic-encode 1700. https://infra.spec.whatwg.org/#ascii-lowercase 1701. https://infra.spec.whatwg.org/#ascii-uppercase 1702. https://infra.spec.whatwg.org/#ascii-case-insensitive 1703. https://infra.spec.whatwg.org/#strip-newlines 1704. https://infra.spec.whatwg.org/#normalize-newlines 1705. https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace 1706. https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace 1707. https://infra.spec.whatwg.org/#split-on-ascii-whitespace 1708. https://infra.spec.whatwg.org/#split-on-commas 1709. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 1710. https://infra.spec.whatwg.org/#string-position-variable 1711. https://infra.spec.whatwg.org/#skip-ascii-whitespace 1712. https://infra.spec.whatwg.org/#ordered-map 1713. https://infra.spec.whatwg.org/#map-key 1714. https://infra.spec.whatwg.org/#map-value 1715. https://infra.spec.whatwg.org/#map-is-empty 1716. https://infra.spec.whatwg.org/#map-entry 1717. https://infra.spec.whatwg.org/#map-exists 1718. https://infra.spec.whatwg.org/#map-get 1719. https://infra.spec.whatwg.org/#map-set 1720. https://infra.spec.whatwg.org/#map-remove 1721. https://infra.spec.whatwg.org/#map-clear 1722. https://infra.spec.whatwg.org/#map-getting-the-keys 1723. https://infra.spec.whatwg.org/#map-getting-the-values 1724. https://infra.spec.whatwg.org/#map-sort-in-descending-order 1725. https://infra.spec.whatwg.org/#map-size 1726. https://infra.spec.whatwg.org/#map-iterate 1727. https://infra.spec.whatwg.org/#list 1728. https://infra.spec.whatwg.org/#list-append 1729. https://infra.spec.whatwg.org/#list-extend 1730. https://infra.spec.whatwg.org/#list-prepend 1731. https://infra.spec.whatwg.org/#list-replace 1732. https://infra.spec.whatwg.org/#list-remove 1733. https://infra.spec.whatwg.org/#list-empty 1734. https://infra.spec.whatwg.org/#list-contain 1735. https://infra.spec.whatwg.org/#list-size 1736. https://infra.spec.whatwg.org/#list-get-the-indices 1737. https://infra.spec.whatwg.org/#list-is-empty 1738. https://infra.spec.whatwg.org/#list-item 1739. https://infra.spec.whatwg.org/#list-iterate 1740. https://infra.spec.whatwg.org/#list-clone 1741. https://infra.spec.whatwg.org/#list-sort-in-ascending-order 1742. https://infra.spec.whatwg.org/#list-sort-in-descending-order 1743. https://infra.spec.whatwg.org/#stack 1744. https://infra.spec.whatwg.org/#stack-push 1745. https://infra.spec.whatwg.org/#stack-pop 1746. https://infra.spec.whatwg.org/#queue 1747. https://infra.spec.whatwg.org/#queue-enqueue 1748. https://infra.spec.whatwg.org/#queue-dequeue 1749. https://infra.spec.whatwg.org/#ordered-set 1750. https://infra.spec.whatwg.org/#set-append 1751. https://infra.spec.whatwg.org/#set-union 1752. https://infra.spec.whatwg.org/#struct 1753. https://infra.spec.whatwg.org/#struct-item 1754. https://infra.spec.whatwg.org/#byte-sequence 1755. https://infra.spec.whatwg.org/#forgiving-base64-encode 1756. https://infra.spec.whatwg.org/#forgiving-base64-decode 1757. https://infra.spec.whatwg.org/#the-exclusive-range 1758. https://infra.spec.whatwg.org/#parse-a-json-string-to-an-infra-value 1759. https://infra.spec.whatwg.org/#html-namespace 1760. https://infra.spec.whatwg.org/#mathml-namespace 1761. https://infra.spec.whatwg.org/#svg-namespace 1762. https://infra.spec.whatwg.org/#xlink-namespace 1763. https://infra.spec.whatwg.org/#xml-namespace 1764. https://infra.spec.whatwg.org/#xmlns-namespace 1765. https://encoding.spec.whatwg.org/#encoding 1766. https://html.spec.whatwg.org/#refsUNICODE 1767. https://html.spec.whatwg.org/#encoding-terminology 1768. https://html.spec.whatwg.org/#refsENCODING 1769. https://encoding.spec.whatwg.org/#concept-encoding-get 1770. https://encoding.spec.whatwg.org/#get-an-output-encoding 1771. https://encoding.spec.whatwg.org/#decode 1772. https://encoding.spec.whatwg.org/#utf-8-decode 1773. https://encoding.spec.whatwg.org/#utf-8-decode-without-bom 1774. https://encoding.spec.whatwg.org/#utf-8-decode 1775. https://encoding.spec.whatwg.org/#encode 1776. https://encoding.spec.whatwg.org/#utf-8-encode 1777. https://encoding.spec.whatwg.org/#bom-sniff 1778. https://html.spec.whatwg.org/#the-xhtml-syntax 1779. https://html.spec.whatwg.org/#refsXML 1780. https://html.spec.whatwg.org/#refsXMLNS 1781. https://html.spec.whatwg.org/#syntax 1782. https://www.w3.org/TR/xml/#sec-white-space 1783. https://infra.spec.whatwg.org/#xml-namespace 1784. https://html.spec.whatwg.org/#refsXML 1785. https://www.w3.org/TR/xml/#NT-Name 1786. https://html.spec.whatwg.org/#refsXML 1787. https://www.w3.org/TR/xml-stylesheet/#the-xml-stylesheet-processing-instruction 1788. https://html.spec.whatwg.org/#refsXMLSSPI 1789. https://html.spec.whatwg.org/#refsXSLTP 1790. https://html.spec.whatwg.org/#refsURL 1791. https://url.spec.whatwg.org/#concept-host 1792. https://url.spec.whatwg.org/#host-public-suffix 1793. https://url.spec.whatwg.org/#concept-domain 1794. https://url.spec.whatwg.org/#ip-address 1795. https://url.spec.whatwg.org/#concept-url 1796. https://url.spec.whatwg.org/#concept-url-origin 1797. https://url.spec.whatwg.org/#syntax-url-absolute 1798. https://url.spec.whatwg.org/#syntax-url-relative 1799. https://url.spec.whatwg.org/#host-registrable-domain 1800. https://url.spec.whatwg.org/#concept-url-parser 1801. https://url.spec.whatwg.org/#concept-basic-url-parser 1802. https://url.spec.whatwg.org/#basic-url-parser-url 1803. https://url.spec.whatwg.org/#basic-url-parser-state-override 1804. https://url.spec.whatwg.org/#scheme-start-state 1805. https://url.spec.whatwg.org/#host-state 1806. https://url.spec.whatwg.org/#hostname-state 1807. https://url.spec.whatwg.org/#port-state 1808. https://url.spec.whatwg.org/#path-start-state 1809. https://url.spec.whatwg.org/#query-state 1810. https://url.spec.whatwg.org/#fragment-state 1811. https://url.spec.whatwg.org/#concept-url 1812. https://url.spec.whatwg.org/#concept-url-scheme 1813. https://url.spec.whatwg.org/#concept-url-username 1814. https://url.spec.whatwg.org/#concept-url-password 1815. https://url.spec.whatwg.org/#concept-url-host 1816. https://url.spec.whatwg.org/#concept-url-port 1817. https://url.spec.whatwg.org/#concept-url-path 1818. https://url.spec.whatwg.org/#concept-url-query 1819. https://url.spec.whatwg.org/#concept-url-fragment 1820. https://url.spec.whatwg.org/#concept-url-blob-entry 1821. https://url.spec.whatwg.org/#valid-url-string 1822. https://url.spec.whatwg.org/#cannot-have-a-username-password-port 1823. https://url.spec.whatwg.org/#url-opaque-path 1824. https://url.spec.whatwg.org/#concept-url-serializer 1825. https://url.spec.whatwg.org/#url-serializer-exclude-fragment 1826. https://url.spec.whatwg.org/#url-path-serializer 1827. https://url.spec.whatwg.org/#concept-host-parser 1828. https://url.spec.whatwg.org/#concept-host-serializer 1829. https://url.spec.whatwg.org/#concept-host-equals 1830. https://url.spec.whatwg.org/#concept-url-equals 1831. https://url.spec.whatwg.org/#url-equals-exclude-fragments 1832. https://url.spec.whatwg.org/#serialize-an-integer 1833. https://url.spec.whatwg.org/#default-encode-set 1834. https://url.spec.whatwg.org/#component-percent-encode-set 1835. https://url.spec.whatwg.org/#string-utf-8-percent-encode 1836. https://url.spec.whatwg.org/#string-percent-decode 1837. https://url.spec.whatwg.org/#set-the-username 1838. https://url.spec.whatwg.org/#set-the-password 1839. https://url.spec.whatwg.org/#concept-urlencoded 1840. https://url.spec.whatwg.org/#concept-urlencoded-serializer 1841. https://url.spec.whatwg.org/#is-special 1842. https://www.rfc-editor.org/rfc/rfc6694#section-2 1843. https://html.spec.whatwg.org/#refsABOUT 1844. https://w3c.github.io/FileAPI/#DefinitionOfScheme 1845. https://html.spec.whatwg.org/#refsFILEAPI 1846. https://www.rfc-editor.org/rfc/rfc2397#section-2 1847. https://html.spec.whatwg.org/#refsRFC2397 1848. https://httpwg.org/specs/rfc7230.html#http.uri 1849. https://html.spec.whatwg.org/#refsHTTP 1850. https://httpwg.org/specs/rfc7230.html#https.uri 1851. https://html.spec.whatwg.org/#refsHTTP 1852. https://www.rfc-editor.org/rfc/rfc6068#section-2 1853. https://html.spec.whatwg.org/#refsMAILTO 1854. https://www.rfc-editor.org/rfc/rfc5724#section-2 1855. https://html.spec.whatwg.org/#refsSMS 1856. https://www.rfc-editor.org/rfc/rfc2141#section-2 1857. https://html.spec.whatwg.org/#refsURN 1858. https://www.w3.org/TR/media-frags/#media-fragment-syntax 1859. https://html.spec.whatwg.org/#refsMEDIAFRAG 1860. https://html.spec.whatwg.org/#refsHTTP 1861. https://httpwg.org/specs/rfc7231.html#header.accept 1862. https://httpwg.org/specs/rfc7231.html#header.accept-language 1863. https://httpwg.org/specs/rfc7234.html#header.cache-control 1864. https://httpwg.org/specs/rfc6266.html 1865. https://httpwg.org/specs/rfc7231.html#header.content-language 1866. https://httpwg.org/specs/rfc7233.html#header.content-range 1867. https://httpwg.org/specs/rfc7232.html#header.last-modified 1868. https://httpwg.org/specs/rfc7233.html#header.range 1869. https://httpwg.org/specs/rfc7231.html#header.referer 1870. https://html.spec.whatwg.org/#refsCOOKIES 1871. https://httpwg.org/specs/rfc6265.html#sane-cookie-syntax 1872. https://httpwg.org/specs/rfc6265.html#storage-model 1873. https://httpwg.org/specs/rfc6265.html#cookie 1874. https://html.spec.whatwg.org/#refsWEBLINK 1875. https://httpwg.org/specs/rfc8288.html#header 1876. https://httpwg.org/specs/rfc8288.html#parse-fv 1877. https://html.spec.whatwg.org/#refsSTRUCTURED-FIELDS 1878. https://httpwg.org/specs/rfc8941.html 1879. https://httpwg.org/specs/rfc8941.html#boolean 1880. https://httpwg.org/specs/rfc8941.html#token 1881. https://httpwg.org/specs/rfc8941.html#param 1882. https://html.spec.whatwg.org/#refsMIMESNIFF 1883. https://mimesniff.spec.whatwg.org/#mime-type 1884. https://mimesniff.spec.whatwg.org/#mime-type-essence 1885. https://mimesniff.spec.whatwg.org/#valid-mime-type 1886. https://mimesniff.spec.whatwg.org/#valid-mime-type-with-no-parameters 1887. https://mimesniff.spec.whatwg.org/#html-mime-type 1888. https://mimesniff.spec.whatwg.org/#javascript-mime-type 1889. https://mimesniff.spec.whatwg.org/#javascript-mime-type-essence-match 1890. https://mimesniff.spec.whatwg.org/#json-mime-type 1891. https://mimesniff.spec.whatwg.org/#xml-mime-type 1892. https://mimesniff.spec.whatwg.org/#image-mime-type 1893. https://mimesniff.spec.whatwg.org/#audio-or-video-mime-type 1894. https://mimesniff.spec.whatwg.org/#font-mime-type 1895. https://mimesniff.spec.whatwg.org/#parse-a-mime-type 1896. https://mimesniff.spec.whatwg.org/#supported-by-the-user-agent 1897. https://html.spec.whatwg.org/#refsFETCH 1898. https://fetch.spec.whatwg.org/#abnf 1899. https://fetch.spec.whatwg.org/#http-scheme 1900. https://fetch.spec.whatwg.org/#is-local 1901. https://fetch.spec.whatwg.org/#local-scheme 1902. https://fetch.spec.whatwg.org/#fetch-scheme 1903. https://fetch.spec.whatwg.org/#http-cors-protocol 1904. https://fetch.spec.whatwg.org/#default-user-agent-value 1905. https://fetch.spec.whatwg.org/#concept-header-extract-mime-type 1906. https://fetch.spec.whatwg.org/#legacy-extract-an-encoding 1907. https://fetch.spec.whatwg.org/#concept-fetch 1908. https://fetch.spec.whatwg.org/#fetch-controller 1909. https://fetch.spec.whatwg.org/#fetch-controller-process-the-next-manual-redirect 1910. https://fetch.spec.whatwg.org/#ok-status 1911. https://fetch.spec.whatwg.org/#navigation-request 1912. https://fetch.spec.whatwg.org/#concept-network-error 1913. https://fetch.spec.whatwg.org/#concept-aborted-network-error 1914. https://fetch.spec.whatwg.org/#http-origin 1915. https://fetch.spec.whatwg.org/#http-cross-origin-resource-policy 1916. https://fetch.spec.whatwg.org/#concept-header-list-get-structured-header 1917. https://fetch.spec.whatwg.org/#concept-header-list 1918. https://fetch.spec.whatwg.org/#concept-header-list-set 1919. https://fetch.spec.whatwg.org/#concept-header-list-get-decode-split 1920. https://fetch.spec.whatwg.org/#fetch-controller-abort 1921. https://fetch.spec.whatwg.org/#cross-origin-resource-policy-check 1922. https://fetch.spec.whatwg.org/#requestcredentials 1923. https://fetch.spec.whatwg.org/#requestdestination 1924. https://fetch.spec.whatwg.org/#dom-global-fetch 1925. https://fetch.spec.whatwg.org/#finalize-and-report-timing 1926. https://fetch.spec.whatwg.org/#serialize-a-response-url-for-reporting 1927. https://fetch.spec.whatwg.org/#bodyinit-safely-extract 1928. https://fetch.spec.whatwg.org/#body-incrementally-read 1929. https://fetch.spec.whatwg.org/#process-response-end-of-body 1930. https://fetch.spec.whatwg.org/#fetch-processresponseendofbody 1931. https://fetch.spec.whatwg.org/#process-response 1932. https://fetch.spec.whatwg.org/#fetch-useparallelqueue 1933. https://fetch.spec.whatwg.org/#fetch-processearlyhintsresponse 1934. https://fetch.spec.whatwg.org/#concept-connection-pool 1935. https://fetch.spec.whatwg.org/#concept-connection-obtain 1936. https://fetch.spec.whatwg.org/#determine-the-network-partition-key 1937. https://fetch.spec.whatwg.org/#extract-full-timing-info 1938. https://fetch.spec.whatwg.org/#byte-sequence-as-a-body 1939. https://fetch.spec.whatwg.org/#response-body-info 1940. https://fetch.spec.whatwg.org/#resolve-an-origin 1941. https://fetch.spec.whatwg.org/#concept-response 1942. https://fetch.spec.whatwg.org/#concept-response-type 1943. https://fetch.spec.whatwg.org/#concept-response-url 1944. https://fetch.spec.whatwg.org/#concept-response-url-list 1945. https://fetch.spec.whatwg.org/#concept-response-status 1946. https://fetch.spec.whatwg.org/#concept-response-header-list 1947. https://fetch.spec.whatwg.org/#concept-response-body 1948. https://fetch.spec.whatwg.org/#concept-response-body-info 1949. https://fetch.spec.whatwg.org/#concept-internal-response 1950. https://fetch.spec.whatwg.org/#concept-response-location-url 1951. https://fetch.spec.whatwg.org/#concept-response-timing-info 1952. https://fetch.spec.whatwg.org/#response-service-worker-timing-info 1953. https://fetch.spec.whatwg.org/#response-has-cross-origin-redirects 1954. https://fetch.spec.whatwg.org/#concept-response-timing-allow-passed 1955. https://wicg.github.io/background-fetch/#extract-content-range-values 1956. https://fetch.spec.whatwg.org/#concept-request 1957. https://fetch.spec.whatwg.org/#concept-request-url 1958. https://fetch.spec.whatwg.org/#concept-request-method 1959. https://fetch.spec.whatwg.org/#concept-request-header-list 1960. https://fetch.spec.whatwg.org/#concept-request-body 1961. https://fetch.spec.whatwg.org/#concept-request-client 1962. https://fetch.spec.whatwg.org/#concept-request-url-list 1963. https://fetch.spec.whatwg.org/#concept-request-current-url 1964. https://fetch.spec.whatwg.org/#concept-request-reserved-client 1965. https://fetch.spec.whatwg.org/#concept-request-replaces-client-id 1966. https://fetch.spec.whatwg.org/#concept-request-initiator 1967. https://fetch.spec.whatwg.org/#concept-request-destination 1968. https://fetch.spec.whatwg.org/#concept-potential-destination 1969. https://fetch.spec.whatwg.org/#concept-potential-destination-translate 1970. https://fetch.spec.whatwg.org/#concept-potential-destination 1971. https://fetch.spec.whatwg.org/#request-destination-script-like 1972. https://fetch.spec.whatwg.org/#concept-request-destination 1973. https://fetch.spec.whatwg.org/#request-priority 1974. https://fetch.spec.whatwg.org/#concept-request-origin 1975. https://fetch.spec.whatwg.org/#concept-request-referrer 1976. https://fetch.spec.whatwg.org/#synchronous-flag 1977. https://fetch.spec.whatwg.org/#concept-request-mode 1978. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 1979. https://fetch.spec.whatwg.org/#concept-request-use-url-credentials-flag 1980. https://fetch.spec.whatwg.org/#unsafe-request-flag 1981. https://fetch.spec.whatwg.org/#concept-request-cache-mode 1982. https://fetch.spec.whatwg.org/#concept-request-redirect-count 1983. https://fetch.spec.whatwg.org/#concept-request-redirect-mode 1984. https://fetch.spec.whatwg.org/#concept-request-policy-container 1985. https://fetch.spec.whatwg.org/#concept-request-referrer-policy 1986. https://fetch.spec.whatwg.org/#concept-request-nonce-metadata 1987. https://fetch.spec.whatwg.org/#concept-request-integrity-metadata 1988. https://fetch.spec.whatwg.org/#concept-request-parser-metadata 1989. https://fetch.spec.whatwg.org/#concept-request-reload-navigation-flag 1990. https://fetch.spec.whatwg.org/#concept-request-history-navigation-flag 1991. https://fetch.spec.whatwg.org/#request-user-activation 1992. https://fetch.spec.whatwg.org/#request-render-blocking 1993. https://fetch.spec.whatwg.org/#request-initiator-type 1994. https://fetch.spec.whatwg.org/#concept-request-add-range-header 1995. https://fetch.spec.whatwg.org/#fetch-timing-info 1996. https://fetch.spec.whatwg.org/#fetch-timing-info-start-time 1997. https://fetch.spec.whatwg.org/#fetch-timing-info-end-time 1998. https://html.spec.whatwg.org/#refsREFERRERPOLICY 1999. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 2000. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-header-dfn 2001. https://w3c.github.io/webappsec-referrer-policy/#parse-referrer-policy-from-header 2002. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer 2003. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade 2004. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin 2005. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url 2006. https://w3c.github.io/webappsec-referrer-policy/#default-referrer-policy 2007. https://html.spec.whatwg.org/#refsMIX 2008. https://w3c.github.io/webappsec-mixed-content/#a-priori-authenticated-url 2009. https://html.spec.whatwg.org/#refsSRI 2010. https://w3c.github.io/webappsec-subresource-integrity/#parse-metadata 2011. https://w3c.github.io/webappsec-subresource-integrity/#the-integrity-attribute 2012. https://w3c.github.io/webappsec-subresource-integrity/#get-the-strongest-metadata 2013. https://html.spec.whatwg.org/#refsPAINTTIMING 2014. https://w3c.github.io/paint-timing/#mark-paint-timing 2015. https://html.spec.whatwg.org/#refsNAVIGATIONTIMING 2016. https://w3c.github.io/navigation-timing/#dfn-create-the-navigation-timing-entry 2017. https://w3c.github.io/navigation-timing/#dfn-queue-the-navigation-timing-entry 2018. https://w3c.github.io/navigation-timing/#dom-navigationtimingtype 2019. https://w3c.github.io/navigation-timing/#dom-navigationtimingtype-navigate 2020. https://w3c.github.io/navigation-timing/#dom-navigationtimingtype-reload 2021. https://w3c.github.io/navigation-timing/#dom-navigationtimingtype-back_forward 2022. https://html.spec.whatwg.org/#refsRESOURCETIMING 2023. https://w3c.github.io/resource-timing/#dfn-mark-resource-timing 2024. https://html.spec.whatwg.org/#refsPERFORMANCETIMELINE 2025. https://w3c.github.io/performance-timeline/#dom-performanceentry 2026. https://w3c.github.io/performance-timeline/#dom-performanceentry-name 2027. https://w3c.github.io/performance-timeline/#dom-performanceentry-entrytype 2028. https://w3c.github.io/performance-timeline/#dom-performanceentry-starttime 2029. https://w3c.github.io/performance-timeline/#dom-performanceentry-duration 2030. https://w3c.github.io/performance-timeline/#queue-a-performanceentry 2031. https://html.spec.whatwg.org/#refsLONGANIMATIONFRAMES 2032. https://w3c.github.io/long-animation-frames/#record-task-start-time 2033. https://w3c.github.io/long-animation-frames/#record-task-end-time 2034. https://w3c.github.io/long-animation-frames/#record-rendering-time 2035. https://w3c.github.io/long-animation-frames/#record-classic-script-creation-time 2036. https://w3c.github.io/long-animation-frames/#record-classic-script-execution-start-time 2037. https://w3c.github.io/long-animation-frames/#record-module-script-execution-start-time 2038. https://w3c.github.io/long-animation-frames/#record-pause-duration 2039. https://w3c.github.io/long-animation-frames/#record-timing-info-for-timer-handler 2040. https://w3c.github.io/long-animation-frames/#record-timing-info-for-microtask-checkpoint 2041. https://html.spec.whatwg.org/#refsLONGTASKS 2042. https://w3c.github.io/longtasks/#report-long-tasks 2043. https://html.spec.whatwg.org/#refsWEBIDL 2044. https://webidl.spec.whatwg.org/#this 2045. https://webidl.spec.whatwg.org/#dfn-extended-attribute 2046. https://webidl.spec.whatwg.org/#dfn-named-constructor 2047. https://webidl.spec.whatwg.org/#idl-constructors 2048. https://webidl.spec.whatwg.org/#overridden-constructor-steps 2049. https://webidl.spec.whatwg.org/#internally-create-a-new-object-implementing-the-interface 2050. https://webidl.spec.whatwg.org/#dfn-array-index-property-name 2051. https://webidl.spec.whatwg.org/#buffersource-byte-length 2052. https://webidl.spec.whatwg.org/#dfn-support-indexed-properties 2053. https://webidl.spec.whatwg.org/#dfn-supported-property-indices 2054. https://webidl.spec.whatwg.org/#dfn-determine-the-value-of-an-indexed-property 2055. https://webidl.spec.whatwg.org/#dfn-set-the-value-of-an-existing-indexed-property 2056. https://webidl.spec.whatwg.org/#dfn-set-the-value-of-a-new-indexed-property 2057. https://webidl.spec.whatwg.org/#dfn-support-named-properties 2058. https://webidl.spec.whatwg.org/#dfn-supported-property-names 2059. https://webidl.spec.whatwg.org/#dfn-determine-the-value-of-a-named-property 2060. https://webidl.spec.whatwg.org/#dfn-set-the-value-of-an-existing-named-property 2061. https://webidl.spec.whatwg.org/#dfn-set-the-value-of-a-new-named-property 2062. https://webidl.spec.whatwg.org/#dfn-delete-an-existing-named-property 2063. https://webidl.spec.whatwg.org/#dfn-perform-a-security-check 2064. https://webidl.spec.whatwg.org/#dfn-platform-object 2065. https://webidl.spec.whatwg.org/#dfn-legacy-platform-object 2066. https://webidl.spec.whatwg.org/#dfn-primary-interface 2067. https://webidl.spec.whatwg.org/#dfn-interface-object 2068. https://webidl.spec.whatwg.org/#dfn-named-properties-object 2069. https://webidl.spec.whatwg.org/#include 2070. https://webidl.spec.whatwg.org/#dfn-inherit 2071. https://webidl.spec.whatwg.org/#dfn-interface-prototype-object 2072. https://webidl.spec.whatwg.org/#implements 2073. https://webidl.spec.whatwg.org/#dfn-associated-realm 2074. https://webidl.spec.whatwg.org/#es-platform-objects 2075. https://webidl.spec.whatwg.org/#named-properties-object-getownproperty 2076. https://webidl.spec.whatwg.org/#dfn-callback-context 2077. https://webidl.spec.whatwg.org/#dfn-frozen-array-type 2078. https://webidl.spec.whatwg.org/#dfn-create-frozen-array 2079. https://webidl.spec.whatwg.org/#new 2080. https://webidl.spec.whatwg.org/#dfn-callback-this-value 2081. https://webidl.spec.whatwg.org/#es-type-mapping 2082. https://webidl.spec.whatwg.org/#invoke-a-callback-function 2083. https://webidl.spec.whatwg.org/#construct-a-callback-function 2084. https://webidl.spec.whatwg.org/#dfn-overload-resolution-algorithm 2085. https://webidl.spec.whatwg.org/#dfn-exposed 2086. https://webidl.spec.whatwg.org/#a-promise-resolved-with 2087. https://webidl.spec.whatwg.org/#a-promise-rejected-with 2088. https://webidl.spec.whatwg.org/#wait-for-all 2089. https://webidl.spec.whatwg.org/#upon-rejection 2090. https://webidl.spec.whatwg.org/#upon-fulfillment 2091. https://webidl.spec.whatwg.org/#mark-a-promise-as-handled 2092. https://webidl.spec.whatwg.org/#Global 2093. https://webidl.spec.whatwg.org/#LegacyFactoryFunction 2094. https://webidl.spec.whatwg.org/#LegacyLenientThis 2095. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 2096. https://webidl.spec.whatwg.org/#LegacyOverrideBuiltIns 2097. https://webidl.spec.whatwg.org/#LegacyPlatformObjectGetOwnProperty 2098. https://webidl.spec.whatwg.org/#LegacyTreatNonObjectAsNull 2099. https://webidl.spec.whatwg.org/#LegacyUnenumerableNamedProperties 2100. https://webidl.spec.whatwg.org/#LegacyUnforgeable 2101. https://webidl.spec.whatwg.org/#dfn-set-entries 2102. https://webidl.spec.whatwg.org/#idl-ArrayBuffer 2103. https://webidl.spec.whatwg.org/#common-ArrayBufferView 2104. https://webidl.spec.whatwg.org/#idl-boolean 2105. https://webidl.spec.whatwg.org/#idl-DOMString 2106. https://webidl.spec.whatwg.org/#idl-double 2107. https://webidl.spec.whatwg.org/#idl-enums 2108. https://webidl.spec.whatwg.org/#idl-Float16Array 2109. https://webidl.spec.whatwg.org/#common-Function 2110. https://webidl.spec.whatwg.org/#idl-long 2111. https://webidl.spec.whatwg.org/#idl-object 2112. https://webidl.spec.whatwg.org/#idl-promise 2113. https://webidl.spec.whatwg.org/#idl-Uint8ClampedArray 2114. https://webidl.spec.whatwg.org/#idl-unrestricted-double 2115. https://webidl.spec.whatwg.org/#idl-unsigned-long 2116. https://webidl.spec.whatwg.org/#idl-USVString 2117. https://webidl.spec.whatwg.org/#VoidFunction 2118. https://webidl.spec.whatwg.org/#dfn-throw 2119. https://webidl.spec.whatwg.org/#dfn-DOMException 2120. https://webidl.spec.whatwg.org/#indexsizeerror 2121. https://webidl.spec.whatwg.org/#hierarchyrequesterror 2122. https://webidl.spec.whatwg.org/#invalidcharactererror 2123. https://webidl.spec.whatwg.org/#nomodificationallowederror 2124. https://webidl.spec.whatwg.org/#notfounderror 2125. https://webidl.spec.whatwg.org/#notsupportederror 2126. https://webidl.spec.whatwg.org/#invalidstateerror 2127. https://webidl.spec.whatwg.org/#syntaxerror 2128. https://webidl.spec.whatwg.org/#invalidaccesserror 2129. https://webidl.spec.whatwg.org/#securityerror 2130. https://webidl.spec.whatwg.org/#networkerror 2131. https://webidl.spec.whatwg.org/#aborterror 2132. https://webidl.spec.whatwg.org/#quotaexceedederror 2133. https://webidl.spec.whatwg.org/#datacloneerror 2134. https://webidl.spec.whatwg.org/#encodingerror 2135. https://webidl.spec.whatwg.org/#notallowederror 2136. https://tc39.es/ecma262/#sec-date-objects 2137. https://tc39.es/ecma262/#sec-date-objects 2138. https://tc39.es/ecma262/#sec-date-objects 2139. https://html.spec.whatwg.org/#refsJAVASCRIPT 2140. https://tc39.es/ecma262/#active-function-object 2141. https://tc39.es/ecma262/#sec-agents 2142. https://tc39.es/ecma262/#sec-agent-clusters 2143. https://tc39.es/ecma262/#sec-automatic-semicolon-insertion 2144. https://tc39.es/ecma262/#sec-candidate-executions 2145. https://tc39.es/ecma262/#current-realm 2146. https://tc39.es/ecma262/#clamping 2147. https://tc39.es/ecma262/#early-error-rule 2148. https://tc39.es/ecma262/#sec-forward-progress 2149. https://tc39.es/ecma262/#sec-invariants-of-the-essential-internal-methods 2150. https://tc39.es/ecma262/#sec-execution-contexts 2151. https://tc39.es/ecma262/#execution-context-stack 2152. https://tc39.es/ecma262/#sec-code-realms 2153. https://tc39.es/ecma262/#sec-jobcallback-records 2154. https://tc39.es/ecma262/#sec-built-in-function-objects 2155. https://tc39.es/ecma262/#running-execution-context 2156. https://tc39.es/ecma262/#surrounding-agent 2157. https://tc39.es/ecma262/#sec-abstract-closure 2158. https://tc39.es/ecma262/#immutable-prototype-exotic-object 2159. https://tc39.es/ecma262/#sec-well-known-symbols 2160. https://tc39.es/ecma262/#sec-well-known-intrinsic-objects 2161. https://tc39.es/ecma262/#sec-properties-of-the-array-prototype-object 2162. https://tc39.es/ecma262/#sec-properties-of-the-error-prototype-object 2163. https://tc39.es/ecma262/#sec-properties-of-the-function-prototype-object 2164. https://tc39.es/ecma262/#sec-properties-of-the-object-prototype-object 2165. https://tc39.es/ecma262/#sec-object.prototype.valueof 2166. https://tc39.es/ecma262/#prod-FunctionBody 2167. https://tc39.es/ecma262/#prod-Module 2168. https://tc39.es/ecma262/#prod-Pattern 2169. https://tc39.es/ecma262/#prod-Script 2170. https://tc39.es/ecma262/#sec-ecmascript-language-types-bigint-type 2171. https://tc39.es/ecma262/#sec-ecmascript-language-types-boolean-type 2172. https://tc39.es/ecma262/#sec-ecmascript-language-types-number-type 2173. https://tc39.es/ecma262/#sec-ecmascript-language-types-string-type 2174. https://tc39.es/ecma262/#sec-ecmascript-language-types-symbol-type 2175. https://tc39.es/ecma262/#sec-object-type 2176. https://tc39.es/ecma262/#sec-completion-record-specification-type 2177. https://tc39.es/ecma262/#sec-list-and-record-specification-type 2178. https://tc39.es/ecma262/#sec-list-and-record-specification-type 2179. https://tc39.es/ecma262/#sec-property-descriptor-specification-type 2180. https://tc39.es/ecma262/#modulerequest-record 2181. https://tc39.es/ecma262/#sec-script-records 2182. https://tc39.es/ecma262/#sec-synthetic-module-records 2183. https://tc39.es/ecma262/#sec-cyclic-module-records 2184. https://tc39.es/ecma262/#sec-source-text-module-records 2185. https://tc39.es/ecma262/#sec-moduleevaluation 2186. https://tc39.es/ecma262/#sec-moduledeclarationlinking 2187. https://tc39.es/ecma262/#sec-LoadRequestedModules 2188. https://tc39.es/ecma262/#sec-arraycreate 2189. https://tc39.es/ecma262/#sec-call 2190. https://tc39.es/ecma262/#sec-clear-kept-objects 2191. https://tc39.es/ecma262/#sec-cleanup-finalization-registry 2192. https://tc39.es/ecma262/#sec-construct 2193. https://tc39.es/ecma262/#sec-copydatablockbytes 2194. https://tc39.es/ecma262/#sec-createbuiltinfunction 2195. https://tc39.es/ecma262/#sec-createbytedatablock 2196. https://tc39.es/ecma262/#sec-createdataproperty 2197. https://tc39.es/ecma262/#sec-create-default-export-synthetic-module 2198. https://tc39.es/ecma262/#sec-definepropertyorthrow 2199. https://tc39.es/ecma262/#sec-detacharraybuffer 2200. https://tc39.es/ecma262/#sec-enumerableownproperties 2201. https://tc39.es/ecma262/#sec-FinishLoadingImportedModule 2202. https://tc39.es/ecma262/#sec-ordinaryfunctioncreate 2203. https://tc39.es/ecma262/#sec-get-o-p 2204. https://tc39.es/ecma262/#sec-getactivescriptormodule 2205. https://tc39.es/ecma262/#sec-getfunctionrealm 2206. https://tc39.es/ecma262/#sec-hasownproperty 2207. https://tc39.es/ecma262/#sec-hostcalljobcallback 2208. https://tc39.es/ecma262/#sec-host-cleanup-finalization-registry 2209. https://tc39.es/ecma262/#sec-hostenqueuegenericjob 2210. https://tc39.es/ecma262/#sec-hostenqueuepromisejob 2211. https://tc39.es/ecma262/#sec-hostenqueuetimeoutjob 2212. https://tc39.es/ecma262/#sec-hostensurecanaddprivateelement 2213. https://tc39.es/ecma262/#sec-hostgetsupportedimportattributes 2214. https://tc39.es/ecma262/#sec-HostLoadImportedModule 2215. https://tc39.es/ecma262/#sec-hostmakejobcallback 2216. https://tc39.es/ecma262/#sec-host-promise-rejection-tracker 2217. https://tc39.es/ecma262/#sec-initializehostdefinedrealm 2218. https://tc39.es/ecma262/#sec-isarraybufferviewoutofbounds 2219. https://tc39.es/ecma262/#sec-isaccessordescriptor 2220. https://tc39.es/ecma262/#sec-iscallable 2221. https://tc39.es/ecma262/#sec-isconstructor 2222. https://tc39.es/ecma262/#sec-isdatadescriptor 2223. https://tc39.es/ecma262/#sec-isdetachedbuffer 2224. https://tc39.es/ecma262/#sec-issharedarraybuffer 2225. https://tc39.es/ecma262/#sec-newobjectenvironment 2226. https://tc39.es/ecma262/#sec-normalcompletion 2227. https://tc39.es/ecma262/#sec-ordinarygetprototypeof 2228. https://tc39.es/ecma262/#sec-ordinarysetprototypeof 2229. https://tc39.es/ecma262/#sec-ordinaryisextensible 2230. https://tc39.es/ecma262/#sec-ordinarypreventextensions 2231. https://tc39.es/ecma262/#sec-ordinarygetownproperty 2232. https://tc39.es/ecma262/#sec-ordinarydefineownproperty 2233. https://tc39.es/ecma262/#sec-ordinaryget 2234. https://tc39.es/ecma262/#sec-ordinaryset 2235. https://tc39.es/ecma262/#sec-ordinarydelete 2236. https://tc39.es/ecma262/#sec-ordinaryownpropertykeys 2237. https://tc39.es/ecma262/#sec-objectcreate 2238. https://tc39.es/ecma262/#sec-parse-json-module 2239. https://tc39.es/ecma262/#sec-parsemodule 2240. https://tc39.es/ecma262/#sec-parse-script 2241. https://tc39.es/ecma262/#sec-newpromisereactionjob 2242. https://tc39.es/ecma262/#sec-newpromiseresolvethenablejob 2243. https://tc39.es/ecma262/#sec-regexpbuiltinexec 2244. https://tc39.es/ecma262/#sec-regexpcreate 2245. https://tc39.es/ecma262/#sec-runjobs 2246. https://tc39.es/ecma262/#sec-samevalue 2247. https://tc39.es/ecma262/#sec-runtime-semantics-scriptevaluation 2248. https://tc39.es/ecma262/#sec-setsyntheticmoduleexport 2249. https://tc39.es/ecma262/#sec-set-immutable-prototype 2250. https://tc39.es/ecma262/#sec-toboolean 2251. https://tc39.es/ecma262/#sec-tostring 2252. https://tc39.es/ecma262/#sec-touint32 2253. https://tc39.es/ecma262/#typedarray-create 2254. https://tc39.es/ecma262/#sec-islooselyequal 2255. https://tc39.es/ecma262/#sec-isstrictlyequal 2256. https://tc39.es/ecma262/#sec-atomics-object 2257. https://tc39.es/ecma262/#sec-atomics.waitasync 2258. https://tc39.es/ecma262/#sec-date-objects 2259. https://tc39.es/ecma262/#sec-finalization-registry-objects 2260. https://tc39.es/ecma262/#sec-regexp-regular-expression-objects 2261. https://tc39.es/ecma262/#sec-sharedarraybuffer-objects 2262. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-syntaxerror 2263. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 2264. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-rangeerror 2265. https://tc39.es/ecma262/#sec-weak-ref-objects 2266. https://tc39.es/ecma262/#sec-eval-x 2267. https://tc39.es/ecma262/#sec-weak-ref.prototype.deref 2268. https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot 2269. https://tc39.es/ecma262/#sec-import-calls 2270. https://tc39.es/ecma262/#sec-meta-properties 2271. https://tc39.es/ecma262/#sec-hostgetimportmetaproperties 2272. https://tc39.es/ecma262/#sec-typeof-operator 2273. https://tc39.es/ecma262/#sec-delete-operator 2274. https://tc39.es/ecma262/#table-49 2275. https://html.spec.whatwg.org/#refsJSDYNAMICCODEBRANDCHECKS 2276. https://tc39.es/proposal-dynamic-code-brand-checks/#sec-hostensurecancompilestrings 2277. https://tc39.es/proposal-dynamic-code-brand-checks/#sec-hostgetcodeforeval 2278. https://html.spec.whatwg.org/#refsJSINTL 2279. https://html.spec.whatwg.org/#refsJSTEMPORAL 2280. https://tc39.es/proposal-temporal/#sec-hostsystemutcepochnanoseconds 2281. https://tc39.es/proposal-temporal/#eqn-nsMaxInstant 2282. https://tc39.es/proposal-temporal/#eqn-nsMinInstant 2283. https://html.spec.whatwg.org/#refsWASMJS 2284. https://webassembly.github.io/spec/js-api/#module 2285. https://html.spec.whatwg.org/#refsDOM 2286. https://html.spec.whatwg.org/#refsDOM 2287. https://html.spec.whatwg.org/#refsUIEVENTS 2288. https://html.spec.whatwg.org/#refsDOM 2289. https://dom.spec.whatwg.org/#interface-attr 2290. https://dom.spec.whatwg.org/#interface-characterdata 2291. https://dom.spec.whatwg.org/#interface-comment 2292. https://dom.spec.whatwg.org/#interface-domimplementation 2293. https://dom.spec.whatwg.org/#interface-document 2294. https://dom.spec.whatwg.org/#dom-document-doctype 2295. https://dom.spec.whatwg.org/#documentorshadowroot 2296. https://dom.spec.whatwg.org/#interface-documentfragment 2297. https://dom.spec.whatwg.org/#interface-documenttype 2298. https://dom.spec.whatwg.org/#interface-childnode 2299. https://dom.spec.whatwg.org/#interface-element 2300. https://dom.spec.whatwg.org/#dom-element-attachshadow 2301. https://dom.spec.whatwg.org/#concept-element-shadow-root 2302. https://dom.spec.whatwg.org/#concept-element-shadow-root 2303. https://dom.spec.whatwg.org/#shadowroot-mode 2304. https://dom.spec.whatwg.org/#concept-element-shadow-root 2305. https://dom.spec.whatwg.org/#shadowroot-declarative 2306. https://dom.spec.whatwg.org/#concept-attach-a-shadow-root 2307. https://dom.spec.whatwg.org/#retarget 2308. https://dom.spec.whatwg.org/#interface-node 2309. https://dom.spec.whatwg.org/#interface-nodelist 2310. https://dom.spec.whatwg.org/#interface-processinginstruction 2311. https://dom.spec.whatwg.org/#interface-shadowroot 2312. https://dom.spec.whatwg.org/#interface-text 2313. https://dom.spec.whatwg.org/#interface-range 2314. https://dom.spec.whatwg.org/#concept-node-document 2315. https://dom.spec.whatwg.org/#concept-document-type 2316. https://dom.spec.whatwg.org/#concept-documentfragment-host 2317. https://dom.spec.whatwg.org/#concept-shadow-root 2318. https://dom.spec.whatwg.org/#shadowroot-delegates-focus 2319. https://dom.spec.whatwg.org/#shadowroot-available-to-element-internals 2320. https://dom.spec.whatwg.org/#shadowroot-clonable 2321. https://dom.spec.whatwg.org/#shadowroot-serializable 2322. https://dom.spec.whatwg.org/#shadowroot-custom-element-registry 2323. https://dom.spec.whatwg.org/#shadowroot-keep-custom-element-registry-null 2324. https://dom.spec.whatwg.org/#element-shadow-host 2325. https://dom.spec.whatwg.org/#interface-htmlcollection 2326. https://dom.spec.whatwg.org/#dom-htmlcollection-length 2327. https://dom.spec.whatwg.org/#dom-htmlcollection-item 2328. https://dom.spec.whatwg.org/#dom-htmlcollection-nameditem 2329. https://dom.spec.whatwg.org/#concept-collection 2330. https://dom.spec.whatwg.org/#represented-by-the-collection 2331. https://dom.spec.whatwg.org/#interface-domtokenlist 2332. https://dom.spec.whatwg.org/#dom-domtokenlist-value 2333. https://dom.spec.whatwg.org/#dom-domtokenlist-supports 2334. https://dom.spec.whatwg.org/#dom-domimplementation-createdocument 2335. https://dom.spec.whatwg.org/#dom-domimplementation-createhtmldocument 2336. https://dom.spec.whatwg.org/#dom-document-createelement 2337. https://dom.spec.whatwg.org/#dom-document-createelementns 2338. https://dom.spec.whatwg.org/#dom-nonelementparentnode-getelementbyid 2339. https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname 2340. https://dom.spec.whatwg.org/#dom-node-append 2341. https://dom.spec.whatwg.org/#dom-node-appendchild 2342. https://dom.spec.whatwg.org/#dom-node-clonenode 2343. https://dom.spec.whatwg.org/#dom-parentnode-movebefore 2344. https://dom.spec.whatwg.org/#dom-document-importnode 2345. https://dom.spec.whatwg.org/#dom-event-preventdefault 2346. https://dom.spec.whatwg.org/#dom-element-id 2347. https://dom.spec.whatwg.org/#dom-element-setattribute 2348. https://dom.spec.whatwg.org/#dom-node-textcontent 2349. https://dom.spec.whatwg.org/#concept-tree 2350. https://dom.spec.whatwg.org/#concept-shadow-tree 2351. https://dom.spec.whatwg.org/#concept-node-tree 2352. https://dom.spec.whatwg.org/#concept-tree-order 2353. https://dom.spec.whatwg.org/#concept-shadow-including-tree-order 2354. https://dom.spec.whatwg.org/#concept-element 2355. https://dom.spec.whatwg.org/#concept-tree-child 2356. https://dom.spec.whatwg.org/#concept-tree-root 2357. https://dom.spec.whatwg.org/#concept-shadow-including-root 2358. https://dom.spec.whatwg.org/#concept-tree-inclusive-ancestor 2359. https://dom.spec.whatwg.org/#concept-tree-descendant 2360. https://dom.spec.whatwg.org/#concept-shadow-including-ancestor 2361. https://dom.spec.whatwg.org/#concept-shadow-including-descendant 2362. https://dom.spec.whatwg.org/#concept-shadow-including-inclusive-descendant 2363. https://dom.spec.whatwg.org/#concept-shadow-including-inclusive-ancestor 2364. https://dom.spec.whatwg.org/#concept-tree-first-child 2365. https://dom.spec.whatwg.org/#concept-tree-next-sibling 2366. https://dom.spec.whatwg.org/#concept-tree-previous-sibling 2367. https://dom.spec.whatwg.org/#concept-tree-parent 2368. https://dom.spec.whatwg.org/#parent-element 2369. https://dom.spec.whatwg.org/#document-element 2370. https://dom.spec.whatwg.org/#in-a-document-tree 2371. https://dom.spec.whatwg.org/#in-a-document 2372. https://dom.spec.whatwg.org/#connected 2373. https://dom.spec.whatwg.org/#concept-slot 2374. https://dom.spec.whatwg.org/#slot-name 2375. https://dom.spec.whatwg.org/#slot-assigned-nodes 2376. https://dom.spec.whatwg.org/#slotable-assigned-slot 2377. https://dom.spec.whatwg.org/#dom-shadowroot-slot-assignment 2378. https://dom.spec.whatwg.org/#concept-slotable 2379. https://dom.spec.whatwg.org/#assign-slotables-for-a-tree 2380. https://dom.spec.whatwg.org/#eventdef-htmlslotelement-slotchange 2381. https://dom.spec.whatwg.org/#concept-tree-inclusive-descendant 2382. https://dom.spec.whatwg.org/#find-flattened-slotables 2383. https://dom.spec.whatwg.org/#slottable-manual-slot-assignment 2384. https://dom.spec.whatwg.org/#assign-a-slot 2385. https://dom.spec.whatwg.org/#concept-node-pre-insert 2386. https://dom.spec.whatwg.org/#concept-node-insert 2387. https://dom.spec.whatwg.org/#concept-node-append 2388. https://dom.spec.whatwg.org/#concept-node-replace 2389. https://dom.spec.whatwg.org/#concept-node-replace-all 2390. https://dom.spec.whatwg.org/#string-replace-all 2391. https://dom.spec.whatwg.org/#concept-node-remove 2392. https://dom.spec.whatwg.org/#concept-node-adopt 2393. https://dom.spec.whatwg.org/#concept-tree-descendant 2394. https://dom.spec.whatwg.org/#concept-node-insert-ext 2395. https://dom.spec.whatwg.org/#concept-node-post-connection-ext 2396. https://dom.spec.whatwg.org/#concept-node-remove-ext 2397. https://dom.spec.whatwg.org/#concept-node-move-ext 2398. https://dom.spec.whatwg.org/#concept-node-adopt-ext 2399. https://dom.spec.whatwg.org/#concept-node-children-changed-ext 2400. https://dom.spec.whatwg.org/#concept-element-attributes-change 2401. https://dom.spec.whatwg.org/#concept-element-attributes-append 2402. https://dom.spec.whatwg.org/#concept-element-attributes-remove 2403. https://dom.spec.whatwg.org/#concept-element-attributes-replace 2404. https://dom.spec.whatwg.org/#concept-element-attributes-get-by-namespace 2405. https://dom.spec.whatwg.org/#concept-element-attributes-set-value 2406. https://dom.spec.whatwg.org/#concept-element-attributes-remove-by-namespace 2407. https://dom.spec.whatwg.org/#concept-element-attributes-change-ext 2408. https://dom.spec.whatwg.org/#concept-attribute-value 2409. https://dom.spec.whatwg.org/#concept-attribute-local-name 2410. https://dom.spec.whatwg.org/#concept-element-attribute 2411. https://dom.spec.whatwg.org/#concept-cd-data 2412. https://dom.spec.whatwg.org/#interface-characterdata 2413. https://dom.spec.whatwg.org/#concept-cd-replace 2414. https://dom.spec.whatwg.org/#concept-child-text-content 2415. https://dom.spec.whatwg.org/#concept-descendant-text-content 2416. https://dom.spec.whatwg.org/#concept-doctype-name 2417. https://dom.spec.whatwg.org/#concept-doctype-publicid 2418. https://dom.spec.whatwg.org/#concept-doctype-systemid 2419. https://dom.spec.whatwg.org/#interface-event 2420. https://dom.spec.whatwg.org/#concept-event-constructor 2421. https://dom.spec.whatwg.org/#interface-eventtarget 2422. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 2423. https://dom.spec.whatwg.org/#eventtarget-legacy-pre-activation-behavior 2424. https://dom.spec.whatwg.org/#eventtarget-legacy-canceled-activation-behavior 2425. https://dom.spec.whatwg.org/#concept-event-create 2426. https://dom.spec.whatwg.org/#concept-event-fire 2427. https://dom.spec.whatwg.org/#canceled-flag 2428. https://dom.spec.whatwg.org/#dispatch-flag 2429. https://dom.spec.whatwg.org/#concept-event-dispatch 2430. https://dom.spec.whatwg.org/#dictdef-eventinit 2431. https://dom.spec.whatwg.org/#dom-event-type 2432. https://dom.spec.whatwg.org/#concept-event-target 2433. https://dom.spec.whatwg.org/#dom-event-currenttarget 2434. https://dom.spec.whatwg.org/#dom-event-bubbles 2435. https://dom.spec.whatwg.org/#dom-event-cancelable 2436. https://dom.spec.whatwg.org/#dom-event-composed 2437. https://dom.spec.whatwg.org/#composed-flag 2438. https://dom.spec.whatwg.org/#dom-event-istrusted 2439. https://dom.spec.whatwg.org/#dom-event-initevent 2440. https://dom.spec.whatwg.org/#add-an-event-listener 2441. https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener 2442. https://dom.spec.whatwg.org/#remove-an-event-listener 2443. https://dom.spec.whatwg.org/#remove-all-event-listeners 2444. https://dom.spec.whatwg.org/#callbackdef-eventlistener 2445. https://dom.spec.whatwg.org/#dom-event-type 2446. https://dom.spec.whatwg.org/#concept-event-listener 2447. https://dom.spec.whatwg.org/#event-listener-type 2448. https://dom.spec.whatwg.org/#event-listener-callback 2449. https://dom.spec.whatwg.org/#concept-document-encoding 2450. https://dom.spec.whatwg.org/#concept-document-mode 2451. https://dom.spec.whatwg.org/#document-custom-element-registry 2452. https://dom.spec.whatwg.org/#concept-document-allow-declarative-shadow-roots 2453. https://dom.spec.whatwg.org/#concept-document-content-type 2454. https://html.spec.whatwg.org/#document 2455. https://dom.spec.whatwg.org/#xml-document 2456. https://dom.spec.whatwg.org/#html-document 2457. https://dom.spec.whatwg.org/#concept-document-quirks 2458. https://dom.spec.whatwg.org/#concept-document-limited-quirks 2459. https://dom.spec.whatwg.org/#concept-document-no-quirks 2460. https://dom.spec.whatwg.org/#concept-node-clone 2461. https://dom.spec.whatwg.org/#clone-a-node-document 2462. https://dom.spec.whatwg.org/#clone-a-node-subtree 2463. https://dom.spec.whatwg.org/#clone-a-node-parent 2464. https://dom.spec.whatwg.org/#clone-a-node-fallbackregistry 2465. https://dom.spec.whatwg.org/#concept-node-clone-ext 2466. https://dom.spec.whatwg.org/#concept-id 2467. https://dom.spec.whatwg.org/#concept-class 2468. https://dom.spec.whatwg.org/#concept-supported-tokens 2469. https://dom.spec.whatwg.org/#concept-range 2470. https://dom.spec.whatwg.org/#concept-range-start-node 2471. https://dom.spec.whatwg.org/#concept-range-start 2472. https://dom.spec.whatwg.org/#concept-range-end 2473. https://dom.spec.whatwg.org/#concept-range-bp 2474. https://dom.spec.whatwg.org/#concept-create-element 2475. https://dom.spec.whatwg.org/#concept-element-interface 2476. https://dom.spec.whatwg.org/#concept-element-custom-element-state 2477. https://dom.spec.whatwg.org/#concept-element-defined 2478. https://dom.spec.whatwg.org/#concept-element-custom 2479. https://dom.spec.whatwg.org/#concept-element-namespace 2480. https://dom.spec.whatwg.org/#concept-element-namespace-prefix 2481. https://dom.spec.whatwg.org/#concept-element-local-name 2482. https://dom.spec.whatwg.org/#element-custom-element-registry 2483. https://dom.spec.whatwg.org/#concept-element-custom-element-definition 2484. https://dom.spec.whatwg.org/#concept-element-is-value 2485. https://dom.spec.whatwg.org/#mutationobserver 2486. https://dom.spec.whatwg.org/#mutation-observers 2487. https://dom.spec.whatwg.org/#abortcontroller 2488. https://dom.spec.whatwg.org/#abortcontroller-signal 2489. https://dom.spec.whatwg.org/#abortsignal 2490. https://dom.spec.whatwg.org/#abortsignal-aborted 2491. https://dom.spec.whatwg.org/#abortcontroller-signal-abort 2492. https://dom.spec.whatwg.org/#abortsignal-add 2493. https://dom.spec.whatwg.org/#concept-element-attributes-get-by-name 2494. https://html.spec.whatwg.org/#refsUIEVENTS 2495. https://w3c.github.io/uievents/#mouseevent 2496. https://w3c.github.io/uievents/#mouseevent 2497. https://w3c.github.io/uievents/#dom-mouseevent-relatedtarget 2498. https://w3c.github.io/uievents/#dictdef-mouseeventinit 2499. https://w3c.github.io/uievents/#focusevent 2500. https://w3c.github.io/uievents/#focusevent 2501. https://w3c.github.io/uievents/#dom-focusevent-relatedtarget 2502. https://w3c.github.io/uievents/#uievent 2503. https://w3c.github.io/uievents/#uievent 2504. https://w3c.github.io/uievents/#dom-uievent-view 2505. https://w3c.github.io/uievents/#event-type-auxclick 2506. https://w3c.github.io/uievents/#event-type-beforeinput 2507. https://w3c.github.io/uievents/#event-type-click 2508. https://w3c.github.io/uievents/#event-type-contextmenu 2509. https://w3c.github.io/uievents/#event-type-dblclick 2510. https://w3c.github.io/uievents/#event-type-input 2511. https://w3c.github.io/uievents/#event-type-mousedown 2512. https://w3c.github.io/uievents/#event-type-mouseenter 2513. https://w3c.github.io/uievents/#event-type-mouseleave 2514. https://w3c.github.io/uievents/#event-type-mousemove 2515. https://w3c.github.io/uievents/#event-type-mouseout 2516. https://w3c.github.io/uievents/#event-type-mouseover 2517. https://w3c.github.io/uievents/#event-type-mouseup 2518. https://w3c.github.io/uievents/#event-type-wheel 2519. https://w3c.github.io/uievents/#event-type-keydown 2520. https://w3c.github.io/uievents/#event-type-keypress 2521. https://w3c.github.io/uievents/#event-type-keyup 2522. https://html.spec.whatwg.org/#refsTOUCH 2523. https://w3c.github.io/touch-events/#touch-interface 2524. https://w3c.github.io/touch-events/#dfn-touch-point 2525. https://w3c.github.io/touch-events/#event-touchend 2526. https://html.spec.whatwg.org/#refsPOINTEREVENTS 2527. https://w3c.github.io/pointerevents/#pointerevent-interface 2528. https://w3c.github.io/pointerevents/#pointerevent-interface 2529. https://w3c.github.io/pointerevents/#dom-pointerevent-pointertype 2530. https://w3c.github.io/pointerevents/#dfn-fire-a-pointer-event 2531. https://w3c.github.io/pointerevents/#the-pointerdown-event 2532. https://w3c.github.io/pointerevents/#the-pointerup-event 2533. https://w3c.github.io/pointerevents/#the-pointercancel-event 2534. https://html.spec.whatwg.org/#refsCLIPBOARD-APIS 2535. https://w3c.github.io/clipboard-apis/#clipboard-event-copy 2536. https://w3c.github.io/clipboard-apis/#clipboard-event-cut 2537. https://w3c.github.io/clipboard-apis/#clipboard-event-paste 2538. https://dom.spec.whatwg.org/#dom-event-type 2539. https://html.spec.whatwg.org/#refsDOMPARSING 2540. https://w3c.github.io/DOM-Parsing/#dfn-xml-serialization 2541. https://html.spec.whatwg.org/#refsSELECTION 2542. https://w3c.github.io/selection-api/#dfn-selection 2543. https://w3c.github.io/selection-api/#selection-interface 2544. https://html.spec.whatwg.org/#refsEXECCOMMAND 2545. https://html.spec.whatwg.org/#refsFULLSCREEN 2546. https://fullscreen.spec.whatwg.org/#dom-element-requestfullscreen 2547. https://fullscreen.spec.whatwg.org/#eventdef-document-fullscreenchange 2548. https://fullscreen.spec.whatwg.org/#run-the-fullscreen-steps 2549. https://fullscreen.spec.whatwg.org/#fully-exit-fullscreen 2550. https://fullscreen.spec.whatwg.org/#fullscreen-element 2551. https://fullscreen.spec.whatwg.org/#fullscreen-flag 2552. https://html.spec.whatwg.org/#refsHRT 2553. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 2554. https://w3c.github.io/hr-time/#dfn-relative-high-resolution-time 2555. https://w3c.github.io/hr-time/#dfn-unsafe-shared-current-time 2556. https://w3c.github.io/hr-time/#dfn-shared-monotonic-clock 2557. https://w3c.github.io/hr-time/#dfn-unsafe-moment 2558. https://w3c.github.io/hr-time/#dfn-duration-from 2559. https://w3c.github.io/hr-time/#dfn-coarsen-time 2560. https://w3c.github.io/hr-time/#dfn-current-wall-time 2561. https://w3c.github.io/hr-time/#dfn-unix-epoch 2562. https://w3c.github.io/hr-time/#dom-domhighrestimestamp 2563. https://html.spec.whatwg.org/#refsFILEAPI 2564. https://w3c.github.io/FileAPI/#dfn-Blob 2565. https://w3c.github.io/FileAPI/#dfn-type 2566. https://w3c.github.io/FileAPI/#dfn-file 2567. https://w3c.github.io/FileAPI/#dfn-name 2568. https://w3c.github.io/FileAPI/#dfn-lastModified 2569. https://w3c.github.io/FileAPI/#filelist-section 2570. https://w3c.github.io/FileAPI/#dfn-Blob 2571. https://w3c.github.io/FileAPI/#snapshot-state 2572. https://w3c.github.io/FileAPI/#BlobURLStore 2573. https://w3c.github.io/FileAPI/#blob-url-entry 2574. https://w3c.github.io/FileAPI/#blob-url-entry-environment 2575. https://w3c.github.io/FileAPI/#blob-url-obtain-object 2576. https://html.spec.whatwg.org/#refsINDEXEDDB 2577. https://w3c.github.io/IndexedDB/#cleanup-indexed-database-transactions 2578. https://w3c.github.io/IndexedDB/#idbversionchangeevent 2579. https://html.spec.whatwg.org/#refsMEDIASOURCE 2580. https://w3c.github.io/media-source/#idl-def-mediasource 2581. https://w3c.github.io/media-source/#mediasource-detach 2582. https://html.spec.whatwg.org/#refsMEDIASTREAM 2583. https://w3c.github.io/mediacapture-main/getusermedia.html#idl-def-mediastream 2584. https://w3c.github.io/mediacapture-main/getusermedia.html#mediastreamtrack 2585. https://w3c.github.io/mediacapture-main/getusermedia.html#idl-def-MediaStreamTrackState.live 2586. https://w3c.github.io/mediacapture-main/getusermedia.html#dom-mediadevices-getusermedia 2587. https://html.spec.whatwg.org/#refsREPORTING 2588. https://w3c.github.io/reporting/#queue-report 2589. https://w3c.github.io/reporting/#report-type 2590. https://w3c.github.io/reporting/#visible-to-reportingobservers 2591. https://html.spec.whatwg.org/#refsXHR 2592. https://xhr.spec.whatwg.org/#xmlhttprequest 2593. https://xhr.spec.whatwg.org/#dom-xmlhttprequest-responsexml 2594. https://xhr.spec.whatwg.org/#interface-progressevent 2595. https://xhr.spec.whatwg.org/#dom-progressevent-lengthcomputable 2596. https://xhr.spec.whatwg.org/#dom-progressevent-loaded 2597. https://xhr.spec.whatwg.org/#dom-progressevent-total 2598. https://xhr.spec.whatwg.org/#formdata 2599. https://xhr.spec.whatwg.org/#concept-formdata-entry-list 2600. https://html.spec.whatwg.org/#refsBATTERY 2601. https://w3c.github.io/battery/#widl-Navigator-getBattery-Promise-BatteryManager 2602. https://drafts.csswg.org/mediaqueries/#typedef-media-condition 2603. https://html.spec.whatwg.org/#refsMQ 2604. https://drafts.csswg.org/css-syntax/#parse-grammar 2605. https://html.spec.whatwg.org/#refsCSSSYNTAX 2606. https://html.spec.whatwg.org/#refsCSS 2607. https://drafts.csswg.org/css2/#viewport 2608. https://drafts.csswg.org/css2/#line-box 2609. https://drafts.csswg.org/css2/#out-of-flow 2610. https://drafts.csswg.org/css2/#in-flow 2611. https://drafts.csswg.org/css2/#collapsing-margins 2612. https://drafts.csswg.org/css2/#containing-block-details 2613. https://drafts.csswg.org/css2/#inline-box 2614. https://drafts.csswg.org/css2/#block-boxes① 2615. https://drafts.csswg.org/css2/#propdef-top 2616. https://drafts.csswg.org/css2/#propdef-bottom 2617. https://drafts.csswg.org/css2/#propdef-left 2618. https://drafts.csswg.org/css2/#propdef-right 2619. https://drafts.csswg.org/css2/#float-position 2620. https://drafts.csswg.org/css2/#flow-control 2621. https://drafts.csswg.org/css2/#the-width-property 2622. https://drafts.csswg.org/css2/#the-height-property 2623. https://drafts.csswg.org/css2/#min-max-widths 2624. https://drafts.csswg.org/css2/#min-max-heights 2625. https://drafts.csswg.org/css2/#min-max-widths 2626. https://drafts.csswg.org/css2/#min-max-heights 2627. https://drafts.csswg.org/css2/#propdef-line-height 2628. https://drafts.csswg.org/css2/#propdef-vertical-align 2629. https://drafts.csswg.org/css2/#content① 2630. https://drafts.csswg.org/css2/#value-def-inline-block 2631. https://drafts.csswg.org/css2/#display-prop 2632. https://drafts.csswg.org/css2/#propdef-visibility 2633. https://drafts.csswg.org/css2/#display-prop 2634. https://html.spec.whatwg.org/#refsCSS 2635. https://html.spec.whatwg.org/#refsCSSRUBY 2636. https://html.spec.whatwg.org/#refsCSSTABLE 2637. https://html.spec.whatwg.org/#refsCSSBOX 2638. https://drafts.csswg.org/css-box/#content-area 2639. https://drafts.csswg.org/css-box/#content-box 2640. https://drafts.csswg.org/css-box/#border-box 2641. https://drafts.csswg.org/css-box/#margin-box 2642. https://drafts.csswg.org/css-box/#border-edge 2643. https://drafts.csswg.org/css-box/#margin-edge 2644. https://drafts.csswg.org/css-box/#propdef-margin-top 2645. https://drafts.csswg.org/css-box/#propdef-margin-bottom 2646. https://drafts.csswg.org/css-box/#propdef-margin-left 2647. https://drafts.csswg.org/css-box/#propdef-margin-right 2648. https://drafts.csswg.org/css-box/#propdef-padding-top 2649. https://drafts.csswg.org/css-box/#propdef-padding-bottom 2650. https://drafts.csswg.org/css-box/#propdef-padding-left 2651. https://drafts.csswg.org/css-box/#propdef-padding-right 2652. https://html.spec.whatwg.org/#refsCSSLOGICAL 2653. https://drafts.csswg.org/css-logical/#propdef-margin-block 2654. https://drafts.csswg.org/css-logical/#propdef-margin-block-start 2655. https://drafts.csswg.org/css-logical/#propdef-margin-block-end 2656. https://drafts.csswg.org/css-logical/#propdef-margin-inline 2657. https://drafts.csswg.org/css-logical/#propdef-margin-inline-start 2658. https://drafts.csswg.org/css-logical/#propdef-margin-inline-end 2659. https://drafts.csswg.org/css-logical/#propdef-padding-block 2660. https://drafts.csswg.org/css-logical/#propdef-padding-block-start 2661. https://drafts.csswg.org/css-logical/#propdef-padding-block-end 2662. https://drafts.csswg.org/css-logical/#propdef-padding-inline 2663. https://drafts.csswg.org/css-logical/#propdef-padding-inline-start 2664. https://drafts.csswg.org/css-logical/#propdef-padding-inline-end 2665. https://drafts.csswg.org/css-logical/#propdef-border-block-width 2666. https://drafts.csswg.org/css-logical/#propdef-border-block-start-width 2667. https://drafts.csswg.org/css-logical/#propdef-border-block-end-width 2668. https://drafts.csswg.org/css-logical/#propdef-border-inline-width 2669. https://drafts.csswg.org/css-logical/#propdef-border-inline-start-width 2670. https://drafts.csswg.org/css-logical/#propdef-border-inline-end-width 2671. https://drafts.csswg.org/css-logical/#propdef-border-block-style 2672. https://drafts.csswg.org/css-logical/#propdef-border-block-start-style 2673. https://drafts.csswg.org/css-logical/#propdef-border-block-end-style 2674. https://drafts.csswg.org/css-logical/#propdef-border-inline-style 2675. https://drafts.csswg.org/css-logical/#propdef-border-inline-start-style 2676. https://drafts.csswg.org/css-logical/#propdef-border-inline-end-style 2677. https://drafts.csswg.org/css-logical/#propdef-border-block-start-color 2678. https://drafts.csswg.org/css-logical/#propdef-border-block-end-color 2679. https://drafts.csswg.org/css-logical/#propdef-border-inline-start-color 2680. https://drafts.csswg.org/css-logical/#propdef-border-inline-end-color 2681. https://drafts.csswg.org/css-logical/#propdef-border-start-start-radius 2682. https://drafts.csswg.org/css-logical/#propdef-border-start-end-radius 2683. https://drafts.csswg.org/css-logical/#propdef-border-end-start-radius 2684. https://drafts.csswg.org/css-logical/#propdef-border-end-end-radius 2685. https://drafts.csswg.org/css-logical/#propdef-block-size 2686. https://drafts.csswg.org/css-logical/#propdef-inline-size 2687. https://drafts.csswg.org/css-logical/#propdef-inset-block-start 2688. https://drafts.csswg.org/css-logical/#propdef-inset-block-end 2689. https://html.spec.whatwg.org/#refsCSSCOLOR 2690. https://drafts.csswg.org/css-color/#named-color 2691. https://drafts.csswg.org/css-color/#typedef-color 2692. https://drafts.csswg.org/css-color/#the-color-property 2693. https://drafts.csswg.org/css-color/#valdef-color-currentcolor 2694. https://drafts.csswg.org/css-color/#opaque-black 2695. https://drafts.csswg.org/css-color/#transparent-black 2696. https://drafts.csswg.org/css-color/#valdef-color-srgb 2697. https://drafts.csswg.org/css-color/#valdef-color-display-p3 2698. https://drafts.csswg.org/css-color-5/#valdef-color-profile-rendering-intent-relative-colorimetric 2699. https://drafts.csswg.org/css-color/#parse-a-css-color-value 2700. https://drafts.csswg.org/css-color/#serializing-color-values 2701. https://drafts.csswg.org/css-color/#color-serialization-html-compatible-serialization-is-requested 2702. https://drafts.csswg.org/css-color/#color-conversion 2703. https://drafts.csswg.org/css-color/#color-function 2704. https://html.spec.whatwg.org/#refsCSSIMAGES 2705. https://drafts.csswg.org/css-images/#default-object-size 2706. https://drafts.csswg.org/css-images/#concrete-object-size 2707. https://drafts.csswg.org/css-images/#natural-dimensions 2708. https://drafts.csswg.org/css-images/#natural-height 2709. https://drafts.csswg.org/css-images/#natural-width 2710. https://drafts.csswg.org/css-images-3/#the-image-orientation 2711. https://drafts.csswg.org/css-images-4/#funcdef-conic-gradient 2712. https://drafts.csswg.org/css-images/#the-object-fit 2713. https://drafts.csswg.org/css-images-4/#paint-source 2714. https://html.spec.whatwg.org/#refsCSSIMAGES4 2715. https://html.spec.whatwg.org/#refsCSSBG 2716. https://drafts.csswg.org/css-backgrounds/#propdef-background-color 2717. https://drafts.csswg.org/css-backgrounds/#propdef-background-image 2718. https://drafts.csswg.org/css-backgrounds/#propdef-background-repeat 2719. https://drafts.csswg.org/css-backgrounds/#propdef-background-attachment 2720. https://drafts.csswg.org/css-backgrounds/#propdef-background-position 2721. https://drafts.csswg.org/css-backgrounds/#propdef-background-clip 2722. https://drafts.csswg.org/css-backgrounds/#propdef-background-origin 2723. https://drafts.csswg.org/css-backgrounds/#propdef-background-size 2724. https://drafts.csswg.org/css-backgrounds/#propdef-border-radius 2725. https://drafts.csswg.org/css-backgrounds/#propdef-border-top-left-radius 2726. https://drafts.csswg.org/css-backgrounds/#propdef-border-top-right-radius 2727. https://drafts.csswg.org/css-backgrounds/#propdef-border-bottom-right-radius 2728. https://drafts.csswg.org/css-backgrounds/#propdef-border-bottom-left-radius 2729. https://drafts.csswg.org/css-backgrounds/#propdef-border-image-source 2730. https://drafts.csswg.org/css-backgrounds/#propdef-border-image-slice 2731. https://drafts.csswg.org/css-backgrounds/#propdef-border-image-width 2732. https://drafts.csswg.org/css-backgrounds/#propdef-border-image-outset 2733. https://drafts.csswg.org/css-backgrounds/#propdef-border-image-repeat 2734. https://html.spec.whatwg.org/#refsCSSBG 2735. https://drafts.csswg.org/css-backgrounds/#propdef-border-top-width 2736. https://drafts.csswg.org/css-backgrounds/#propdef-border-bottom-width 2737. https://drafts.csswg.org/css-backgrounds/#propdef-border-left-width 2738. https://drafts.csswg.org/css-backgrounds/#propdef-border-right-width 2739. https://drafts.csswg.org/css-backgrounds/#propdef-border-top-style 2740. https://drafts.csswg.org/css-backgrounds/#propdef-border-bottom-style 2741. https://drafts.csswg.org/css-backgrounds/#propdef-border-left-style 2742. https://drafts.csswg.org/css-backgrounds/#propdef-border-right-style 2743. https://drafts.csswg.org/css-backgrounds/#propdef-border-top-color 2744. https://drafts.csswg.org/css-backgrounds/#propdef-border-bottom-color 2745. https://drafts.csswg.org/css-backgrounds/#propdef-border-left-color 2746. https://drafts.csswg.org/css-backgrounds/#propdef-border-right-color 2747. https://html.spec.whatwg.org/#refsCSSALIGN 2748. https://drafts.csswg.org/css-align/#propdef-align-content 2749. https://drafts.csswg.org/css-align/#propdef-align-items 2750. https://drafts.csswg.org/css-align/#propdef-align-self 2751. https://drafts.csswg.org/css-align/#propdef-justify-self 2752. https://drafts.csswg.org/css-align/#propdef-propdef-justify-content 2753. https://drafts.csswg.org/css-align/#propdef-propdef-justify-items 2754. https://html.spec.whatwg.org/#refsCSSDISPLAY 2755. https://drafts.csswg.org/css-display/#outer-display-type 2756. https://drafts.csswg.org/css-display/#inner-display-type 2757. https://drafts.csswg.org/css-display/#block-level 2758. https://drafts.csswg.org/css-display/#block-container 2759. https://drafts.csswg.org/css-display/#formatting-context 2760. https://drafts.csswg.org/css-display/#block-formatting-context 2761. https://drafts.csswg.org/css-display/#inline-formatting-context 2762. https://drafts.csswg.org/css-display/#replaced-element 2763. https://drafts.csswg.org/css-display/#css-box 2764. https://html.spec.whatwg.org/#refsCSSFLEXBOX 2765. https://drafts.csswg.org/css-flexbox/#propdef-flex-direction 2766. https://drafts.csswg.org/css-flexbox/#propdef-flex-wrap 2767. https://html.spec.whatwg.org/#refsCSSFONTS 2768. https://drafts.csswg.org/css-fonts/#first-available-font 2769. https://drafts.csswg.org/css-fonts/#font-family-prop 2770. https://drafts.csswg.org/css-fonts/#font-weight-prop 2771. https://drafts.csswg.org/css-fonts/#font-size-prop 2772. https://drafts.csswg.org/css-fonts/#font-prop 2773. https://drafts.csswg.org/css-fonts/#propdef-font-kerning 2774. https://drafts.csswg.org/css-fonts/#propdef-font-stretch 2775. https://drafts.csswg.org/css-fonts/#propdef-font-variant-caps 2776. https://drafts.csswg.org/css-fonts/#valdef-font-variant-caps-small-caps 2777. https://drafts.csswg.org/css-fonts/#valdef-font-variant-caps-all-small-caps 2778. https://drafts.csswg.org/css-fonts/#valdef-font-variant-caps-petite-caps 2779. https://drafts.csswg.org/css-fonts/#valdef-font-variant-caps-all-petite-caps 2780. https://drafts.csswg.org/css-fonts/#valdef-font-variant-caps-unicase 2781. https://drafts.csswg.org/css-fonts/#valdef-font-variant-caps-titling-caps 2782. https://drafts.csswg.org/css-fonts/#valdef-font-stretch-ultra-condensed 2783. https://drafts.csswg.org/css-fonts/#valdef-font-stretch-extra-condensed 2784. https://drafts.csswg.org/css-fonts/#valdef-font-stretch-condensed 2785. https://drafts.csswg.org/css-fonts/#valdef-font-stretch-semi-condensed 2786. https://drafts.csswg.org/css-fonts/#valdef-font-stretch-semi-expanded 2787. https://drafts.csswg.org/css-fonts/#valdef-font-stretch-expanded 2788. https://drafts.csswg.org/css-fonts/#valdef-font-stretch-extra-expanded 2789. https://drafts.csswg.org/css-fonts/#valdef-font-stretch-ultra-expanded 2790. https://html.spec.whatwg.org/#refsCSSGRID 2791. https://drafts.csswg.org/css-grid/#propdef-grid-auto-columns 2792. https://drafts.csswg.org/css-grid/#propdef-grid-auto-flow 2793. https://drafts.csswg.org/css-grid/#propdef-grid-auto-rows 2794. https://drafts.csswg.org/css-grid/#propdef-grid-column-gap 2795. https://drafts.csswg.org/css-grid/#propdef-grid-row-gap 2796. https://drafts.csswg.org/css-grid/#propdef-grid-template-areas 2797. https://drafts.csswg.org/css-grid/#propdef-grid-template-columns 2798. https://drafts.csswg.org/css-grid/#propdef-grid-template-rows 2799. https://html.spec.whatwg.org/#refsCSSINLINE 2800. https://drafts.csswg.org/css-inline/#alphabetic-baseline 2801. https://drafts.csswg.org/css-inline/#ascent-metric 2802. https://drafts.csswg.org/css-inline/#descent-metric 2803. https://drafts.csswg.org/css-inline/#em-over-baseline 2804. https://drafts.csswg.org/css-inline/#em-under-baseline 2805. https://drafts.csswg.org/css-inline/#hanging-baseline 2806. https://drafts.csswg.org/css-inline/#ideographic-under-baseline 2807. https://html.spec.whatwg.org/#refsCSSSIZING 2808. https://drafts.csswg.org/css-sizing/#fit-content-inline-size 2809. https://drafts.csswg.org/css-sizing-4/#aspect-ratio 2810. https://drafts.csswg.org/css-sizing/#intrinsic-size 2811. https://html.spec.whatwg.org/#refsCSSLISTS 2812. https://drafts.csswg.org/css-lists/#list-item 2813. https://drafts.csswg.org/css-lists/#propdef-counter-reset 2814. https://drafts.csswg.org/css-lists/#propdef-counter-set 2815. https://drafts.csswg.org/css-lists/#propdef-list-style-type 2816. https://html.spec.whatwg.org/#refsCSSOVERFLOW 2817. https://drafts.csswg.org/css-overflow/#propdef-overflow 2818. https://drafts.csswg.org/css-overflow/#valdef-overflow-hidden 2819. https://drafts.csswg.org/css-overflow/#propdef-text-overflow 2820. https://drafts.csswg.org/css-overflow/#scroll-container 2821. https://html.spec.whatwg.org/#refsCSSPOSITION 2822. https://drafts.csswg.org/css-position/#absolute-position 2823. https://drafts.csswg.org/css-position/#position-property 2824. https://drafts.csswg.org/css-position/#valdef-position-static 2825. https://drafts.csswg.org/css-position-4/#document-top-layer 2826. https://infra.spec.whatwg.org/#ordered-set 2827. https://drafts.csswg.org/css-position-4/#add-an-element-to-the-top-layer 2828. https://drafts.csswg.org/css-position-4/#request-an-element-to-be-removed-from-the-top-layer 2829. https://drafts.csswg.org/css-position-4/#remove-an-element-from-the-top-layer-immediately 2830. https://drafts.csswg.org/css-position-4/#process-top-layer-removals 2831. https://html.spec.whatwg.org/#refsCSSMULTICOL 2832. https://drafts.csswg.org/css-multicol/#propdef-column-count 2833. https://drafts.csswg.org/css-multicol/#propdef-column-fill 2834. https://drafts.csswg.org/css-multicol/#propdef-column-gap 2835. https://drafts.csswg.org/css-multicol/#propdef-column-rule 2836. https://drafts.csswg.org/css-multicol/#propdef-column-width 2837. https://drafts.csswg.org/css-ruby/#valdef-display-ruby-base 2838. https://drafts.csswg.org/css2/#display-prop 2839. https://html.spec.whatwg.org/#refsCSSRUBY 2840. https://html.spec.whatwg.org/#refsCSSTABLE 2841. https://drafts.csswg.org/css-tables/#propdef-border-spacing 2842. https://drafts.csswg.org/css-tables/#border-collapse-property 2843. https://drafts.csswg.org/css-tables/#table-cell 2844. https://drafts.csswg.org/css-tables/#table-row 2845. https://drafts.csswg.org/css-tables/#table-caption 2846. https://drafts.csswg.org/css-tables/#table 2847. https://drafts.csswg.org/css2/#display-prop 2848. https://html.spec.whatwg.org/#refsCSSTEXT 2849. https://drafts.csswg.org/css-text-4/#content-language 2850. https://drafts.csswg.org/css-text/#text-transform-property 2851. https://drafts.csswg.org/css-text/#white-space-property 2852. https://drafts.csswg.org/css-text/#text-align-property 2853. https://drafts.csswg.org/css-text/#letter-spacing-property 2854. https://drafts.csswg.org/css-text/#propdef-word-spacing 2855. https://html.spec.whatwg.org/#refsCSSWM 2856. https://drafts.csswg.org/css-writing-modes/#direction 2857. https://drafts.csswg.org/css-writing-modes/#unicode-bidi 2858. https://drafts.csswg.org/css-writing-modes/#propdef-writing-mode 2859. https://drafts.csswg.org/css-writing-modes/#block-flow-direction 2860. https://drafts.csswg.org/css-writing-modes/#block-axis 2861. https://drafts.csswg.org/css-writing-modes/#inline-axis 2862. https://drafts.csswg.org/css-writing-modes/#block-size 2863. https://drafts.csswg.org/css-writing-modes/#inline-size 2864. https://drafts.csswg.org/css-writing-modes/#block-start 2865. https://drafts.csswg.org/css-writing-modes/#block-end 2866. https://drafts.csswg.org/css-writing-modes/#inline-start 2867. https://drafts.csswg.org/css-writing-modes/#inline-end 2868. https://drafts.csswg.org/css-writing-modes/#line-left 2869. https://drafts.csswg.org/css-writing-modes/#line-right 2870. https://html.spec.whatwg.org/#refsCSSUI 2871. https://drafts.csswg.org/css-ui/#outline 2872. https://drafts.csswg.org/css-ui/#cursor 2873. https://drafts.csswg.org/css-ui/#appearance-switching 2874. https://drafts.csswg.org/css-ui/#typedef-appearance-compat-auto 2875. https://drafts.csswg.org/css-ui/#valdef-appearance-textfield 2876. https://drafts.csswg.org/css-ui/#valdef-appearance-menulist-button 2877. https://drafts.csswg.org/css-ui/#field-sizing 2878. https://drafts.csswg.org/css-ui/#valdef-field-sizing-content 2879. https://drafts.csswg.org/css-ui/#widget 2880. https://drafts.csswg.org/css-ui/#native-appearance 2881. https://drafts.csswg.org/css-ui/#primitive-appearance 2882. https://drafts.csswg.org/css-ui/#element-with-default-preferred-size 2883. https://drafts.csswg.org/css-ui/#non-devolvable 2884. https://drafts.csswg.org/css-ui/#devolvable 2885. https://drafts.csswg.org/css-ui/#devolved 2886. https://drafts.csswg.org/css-ui-4/#pointer-events-control 2887. https://drafts.csswg.org/css-ui-4/#content-selection 2888. https://drafts.csswg.org/web-animations-1/#update-animations-and-send-events 2889. https://html.spec.whatwg.org/#refsWEBANIMATIONS 2890. https://html.spec.whatwg.org/#refsCSSOM 2891. https://html.spec.whatwg.org/#refsCSSOMVIEW 2892. https://drafts.csswg.org/cssom-view/#the-screen-interface 2893. https://drafts.csswg.org/cssom/#the-linkstyle-interface 2894. https://drafts.csswg.org/cssom/#the-cssstyledeclaration-interface 2895. https://drafts.csswg.org/cssom/#dom-elementcssinlinestyle-style 2896. https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-csstext 2897. https://drafts.csswg.org/cssom/#the-cssstyledeclaration-interface 2898. https://drafts.csswg.org/cssom/#the-stylesheet-interface 2899. https://drafts.csswg.org/cssom/#the-cssstylesheet-interface 2900. https://drafts.csswg.org/cssom/#create-a-css-style-sheet 2901. https://drafts.csswg.org/cssom/#remove-a-css-style-sheet 2902. https://drafts.csswg.org/cssom/#associated-css-style-sheet 2903. https://drafts.csswg.org/cssom/#create-a-constructed-cssstylesheet 2904. https://drafts.csswg.org/cssom/#synchronously-replace-the-rules-of-a-cssstylesheet 2905. https://drafts.csswg.org/cssom/#disable-a-css-style-sheet 2906. https://drafts.csswg.org/cssom/#css-style-sheet 2907. https://drafts.csswg.org/cssom/#concept-css-style-sheet-type 2908. https://drafts.csswg.org/cssom/#concept-css-style-sheet-location 2909. https://drafts.csswg.org/cssom/#concept-css-style-sheet-parent-css-style-sheet 2910. https://drafts.csswg.org/cssom/#concept-css-style-sheet-owner-node 2911. https://drafts.csswg.org/cssom/#concept-css-style-sheet-owner-css-rule 2912. https://drafts.csswg.org/cssom/#concept-css-style-sheet-media 2913. https://drafts.csswg.org/cssom/#concept-css-style-sheet-title 2914. https://drafts.csswg.org/cssom/#concept-css-style-sheet-alternate-flag 2915. https://drafts.csswg.org/cssom/#concept-css-style-sheet-disabled-flag 2916. https://drafts.csswg.org/cssom/#concept-css-style-sheet-css-rules 2917. https://drafts.csswg.org/cssom/#concept-css-style-sheet-origin-clean-flag 2918. https://drafts.csswg.org/cssom/#css-style-sheet-set 2919. https://drafts.csswg.org/cssom/#css-style-sheet-set-name 2920. https://drafts.csswg.org/cssom/#preferred-css-style-sheet-set-name 2921. https://drafts.csswg.org/cssom/#change-the-preferred-css-style-sheet-set-name 2922. https://drafts.csswg.org/cssom/#serialize-a-css-value 2923. https://drafts.csswg.org/cssom-view/#document-run-the-resize-steps 2924. https://drafts.csswg.org/cssom-view/#document-run-the-scroll-steps 2925. https://drafts.csswg.org/cssom-view/#evaluate-media-queries-and-report-changes 2926. https://drafts.csswg.org/cssom-view/#scroll-a-target-into-view 2927. https://drafts.csswg.org/cssom-view/#scroll-to-the-beginning-of-the-document 2928. https://drafts.csswg.org/cssom-view/#eventdef-window-resize 2929. https://drafts.csswg.org/cssom-view/#eventdef-document-scroll 2930. https://drafts.csswg.org/cssom-view/#eventdef-document-scrollend 2931. https://drafts.csswg.org/cssom-view/#set-up-browsing-context-features 2932. https://drafts.csswg.org/cssom-view/#dom-mouseevent-clientx 2933. https://drafts.csswg.org/cssom-view/#dom-mouseevent-clienty 2934. https://w3c.github.io/uievents/#mouseevent 2935. https://html.spec.whatwg.org/#refsCSSSYNTAX 2936. https://drafts.csswg.org/css-syntax/#conform-classes 2937. https://drafts.csswg.org/css-syntax/#parse-a-list-of-component-values 2938. https://drafts.csswg.org/css-syntax/#parse-a-comma-separated-list-of-component-values 2939. https://drafts.csswg.org/css-syntax/#component-value 2940. https://drafts.csswg.org/css-syntax/#environment-encoding 2941. https://drafts.csswg.org/css-syntax/#typedef-whitespace-token 2942. https://html.spec.whatwg.org/#refsSELECTORS 2943. https://drafts.csswg.org/selectors/#type-selector 2944. https://drafts.csswg.org/selectors/#attribute-selector 2945. https://drafts.csswg.org/selectors/#pseudo-class 2946. https://drafts.csswg.org/selectors/#the-focus-visible-pseudo 2947. https://drafts.csswg.org/selectors/#indicate-focus 2948. https://drafts.csswg.org/selectors/#pseudo-element 2949. https://html.spec.whatwg.org/#refsCSSVALUES 2950. https://drafts.csswg.org/css-values/#lengths 2951. https://drafts.csswg.org/css-values/#em 2952. https://drafts.csswg.org/css-values/#ex 2953. https://drafts.csswg.org/css-values/#vw 2954. https://drafts.csswg.org/css-values/#in 2955. https://drafts.csswg.org/css-values/#px 2956. https://drafts.csswg.org/css-values/#pt 2957. https://drafts.csswg.org/css-values/#funcdef-attr 2958. https://drafts.csswg.org/css-values/#math-function 2959. https://html.spec.whatwg.org/#refsCSSVIEWTRANSITIONS 2960. https://drafts.csswg.org/css-view-transitions/#perform-pending-transition-operations 2961. https://drafts.csswg.org/css-view-transitions/#document-rendering-suppression-for-view-transitions 2962. https://drafts.csswg.org/css-view-transitions/#activate-view-transition 2963. https://drafts.csswg.org/css-view-transitions/#viewtransition 2964. https://drafts.csswg.org/css-view-transitions/#view-transition-page-visibility-change-steps 2965. https://drafts.csswg.org/css-view-transitions-2/#resolve-inbound-cross-document-view-transition 2966. https://drafts.csswg.org/css-view-transitions-2/#setup-cross-document-view-transition 2967. https://drafts.csswg.org/css-view-transitions-2/#can-navigation-trigger-a-cross-document-view-transition 2968. https://drafts.csswg.org/css-style-attr/#style-attribute 2969. https://html.spec.whatwg.org/#refsCSSATTR 2970. https://html.spec.whatwg.org/#refsCSSCASCADE 2971. https://drafts.csswg.org/css-cascade/#cascaded-value 2972. https://drafts.csswg.org/css-cascade/#specified-value 2973. https://drafts.csswg.org/css-cascade/#computed-value 2974. https://drafts.csswg.org/css-cascade/#used-value 2975. https://drafts.csswg.org/css-cascade/#origin 2976. https://drafts.csswg.org/css-cascade/#cascade-origin-author 2977. https://drafts.csswg.org/css-cascade/#cascade-origin-user 2978. https://drafts.csswg.org/css-cascade/#cascade-origin-ua 2979. https://drafts.csswg.org/css-cascade/#cascade-origin-animation 2980. https://drafts.csswg.org/css-cascade/#cascade-origin-transition 2981. https://drafts.csswg.org/css-cascade/#initial-value 2982. https://html.spec.whatwg.org/#canvasrenderingcontext2d 2983. https://drafts.csswg.org/css-font-loading/#font-source 2984. https://html.spec.whatwg.org/#refsCSSFONTS 2985. https://html.spec.whatwg.org/#refsCSSFONTLOAD 2986. https://html.spec.whatwg.org/#refsGEOMETRY 2987. https://drafts.fxtf.org/geometry/#dommatrix 2988. https://drafts.fxtf.org/geometry/#matrix-m11-element 2989. https://drafts.fxtf.org/geometry/#matrix-m12-element 2990. https://drafts.fxtf.org/geometry/#matrix-m21-element 2991. https://drafts.fxtf.org/geometry/#matrix-m22-element 2992. https://drafts.fxtf.org/geometry/#matrix-m41-element 2993. https://drafts.fxtf.org/geometry/#matrix-m42-element 2994. https://drafts.fxtf.org/geometry/#dictdef-dommatrix2dinit 2995. https://drafts.fxtf.org/geometry/#dictdef-dommatrixinit 2996. https://drafts.fxtf.org/geometry/#create-a-dommatrix-from-the-dictionary 2997. https://drafts.fxtf.org/geometry/#create-a-dommatrix-from-the-2d-dictionary 2998. https://drafts.fxtf.org/geometry/#dictdef-dommatrix2dinit 2999. https://drafts.fxtf.org/geometry/#dictdef-dommatrixinit 3000. https://drafts.fxtf.org/geometry/#dictdef-dompointinit 3001. https://drafts.fxtf.org/geometry/#dom-dompointinit-x 3002. https://drafts.fxtf.org/geometry/#dom-dompointinit-y 3003. https://drafts.fxtf.org/geometry/#matrix-multiply 3004. https://html.spec.whatwg.org/#refsCSSSCOPING 3005. https://drafts.csswg.org/css-scoping/#flat-tree 3006. https://html.spec.whatwg.org/#refsCSSCOLORADJUST 3007. https://drafts.csswg.org/css-color-adjust/#color-scheme-prop 3008. https://drafts.csswg.org/css-color-adjust/#pages-supported-color-schemes 3009. https://html.spec.whatwg.org/#refsCSSPSEUDO 3010. https://drafts.csswg.org/css-pseudo/#details-content-pseudo 3011. https://drafts.csswg.org/css-pseudo/#file-selector-button-pseudo 3012. https://html.spec.whatwg.org/#refsCSSCONTAIN 3013. https://drafts.csswg.org/css-contain/#skips-its-contents 3014. https://drafts.csswg.org/css-contain/#relevant-to-the-user 3015. https://drafts.csswg.org/css-contain/#proximity-to-the-viewport 3016. https://drafts.csswg.org/css-contain/#containment-layout 3017. https://drafts.csswg.org/css-contain/#content-visibility 3018. https://drafts.csswg.org/css-contain/#propdef-content-visibility 3019. https://drafts.csswg.org/css-contain/#content-visibility 3020. https://html.spec.whatwg.org/#refsCSSANCHOR 3021. https://drafts.csswg.org/css-anchor-position/#implicit-anchor-element 3022. https://html.spec.whatwg.org/#refsINTERSECTIONOBSERVER 3023. https://w3c.github.io/IntersectionObserver/#run-the-update-intersection-observations-steps 3024. https://w3c.github.io/IntersectionObserver/#intersectionobserver 3025. https://w3c.github.io/IntersectionObserver/#dictdef-intersectionobserverinit 3026. https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-observe 3027. https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-unobserve 3028. https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentry-isintersecting 3029. https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentry-target 3030. https://html.spec.whatwg.org/#refsRESIZEOBSERVER 3031. https://drafts.csswg.org/resize-observer-1/#gather-active-observations-h 3032. https://drafts.csswg.org/resize-observer-1/#has-active-observations-h 3033. https://drafts.csswg.org/resize-observer-1/#has-skipped-observations-h 3034. https://drafts.csswg.org/resize-observer-1/#broadcast-resize-notifications-h 3035. https://drafts.csswg.org/resize-observer-1/#deliver-resize-error 3036. https://html.spec.whatwg.org/#refsWEBGL 3037. https://www.khronos.org/registry/webgl/specs/latest/1.0/#WebGLRenderingContext 3038. https://www.khronos.org/registry/webgl/specs/latest/2.0/#WebGL2RenderingContext 3039. https://www.khronos.org/registry/webgl/specs/latest/1.0/#WebGLContextAttributes 3040. https://html.spec.whatwg.org/#refsWEBGPU 3041. https://gpuweb.github.io/gpuweb/#canvas-context 3042. https://html.spec.whatwg.org/#refsWEBVTT 3043. https://w3c.github.io/webvtt/#webvtt-file 3044. https://w3c.github.io/webvtt/#webvtt-file-using-cue-text 3045. https://w3c.github.io/webvtt/#webvtt-file-using-only-nested-cues 3046. https://w3c.github.io/webvtt/#webvtt-parser 3047. https://w3c.github.io/webvtt/#rules-for-updating-the-display-of-webvtt-text-tracks 3048. https://w3c.github.io/webvtt/#webvtt-cue-writing-direction 3049. https://w3c.github.io/webvtt/#vttcue 3050. https://html.spec.whatwg.org/#refsARIA 3051. https://w3c.github.io/aria/#button 3052. https://w3c.github.io/aria/#presentation 3053. https://html.spec.whatwg.org/#refsARIA 3054. https://w3c.github.io/aria/#aria-checked 3055. https://w3c.github.io/aria/#aria-describedby 3056. https://w3c.github.io/aria/#aria-disabled 3057. https://w3c.github.io/aria/#aria-label 3058. https://html.spec.whatwg.org/#refsARIA 3059. https://w3c.github.io/aria/#dfn-role 3060. https://w3c.github.io/aria/#dfn-accessible-name 3061. https://w3c.github.io/aria/#ARIAMixin 3062. https://w3c.github.io/aria/#dfn-ariamixin-getter-steps 3063. https://w3c.github.io/aria/#dfn-ariamixin-setter-steps 3064. https://w3c.github.io/aria/#idl-def-ariamixin-role 3065. https://w3c.github.io/aria/#idl-def-ariamixin-ariaactivedescendantelement 3066. https://html.spec.whatwg.org/#refsCSP 3067. https://w3c.github.io/webappsec-csp/#content-security-policy-object 3068. https://w3c.github.io/webappsec-csp/#policy-disposition 3069. https://w3c.github.io/webappsec-csp/#policy-directive-set 3070. https://w3c.github.io/webappsec-csp/#directives 3071. https://w3c.github.io/webappsec-csp/#csp-list 3072. https://w3c.github.io/webappsec-csp/#grammardef-serialized-policy 3073. https://w3c.github.io/webappsec-csp/#enforced 3074. https://w3c.github.io/webappsec-csp/#parse-serialized-policy 3075. https://w3c.github.io/webappsec-csp/#run-document-csp-initialization 3076. https://w3c.github.io/webappsec-csp/#run-global-object-csp-initialization 3077. https://w3c.github.io/webappsec-csp/#should-block-inline 3078. https://w3c.github.io/webappsec-csp/#should-block-navigation-request 3079. https://w3c.github.io/webappsec-csp/#should-block-navigation-response 3080. https://w3c.github.io/webappsec-csp/#report-uri 3081. https://w3c.github.io/webappsec-csp/#can-compile-strings 3082. https://w3c.github.io/webappsec-csp/#allow-base-for-document 3083. https://w3c.github.io/webappsec-csp/#frame-ancestors 3084. https://w3c.github.io/webappsec-csp/#sandbox 3085. https://w3c.github.io/webappsec-csp/#contains-a-header-delivered-content-security-policy 3086. https://w3c.github.io/webappsec-csp/#parse-response-csp 3087. https://w3c.github.io/webappsec-csp/#securitypolicyviolationevent 3088. https://w3c.github.io/webappsec-csp/#eventdef-globaleventhandlers-securitypolicyviolation 3089. https://html.spec.whatwg.org/#refsSW 3090. https://w3c.github.io/ServiceWorker/#dfn-active-worker 3091. https://w3c.github.io/ServiceWorker/#dfn-client-message-queue 3092. https://w3c.github.io/ServiceWorker/#dfn-control 3093. https://w3c.github.io/ServiceWorker/#on-fetch-request-algorithm 3094. https://w3c.github.io/ServiceWorker/#scope-match-algorithm 3095. https://w3c.github.io/ServiceWorker/#dfn-service-worker 3096. https://w3c.github.io/ServiceWorker/#serviceworkercontainer-service-worker-client 3097. https://w3c.github.io/service-workers/#dfn-service-worker-registration 3098. https://w3c.github.io/ServiceWorker/#serviceworker 3099. https://w3c.github.io/ServiceWorker/#serviceworkercontainer 3100. https://w3c.github.io/ServiceWorker/#serviceworkerglobalscope 3101. https://w3c.github.io/service-workers/#navigator-service-worker-unregister 3102. https://html.spec.whatwg.org/#refsSECURE-CONTEXTS 3103. https://w3c.github.io/webappsec-secure-contexts/#potentially-trustworthy-url 3104. https://html.spec.whatwg.org/#refsPERMISSIONSPOLICY 3105. https://w3c.github.io/webappsec-feature-policy/#permissions-policy 3106. https://w3c.github.io/webappsec-feature-policy/#policy-controlled-feature 3107. https://w3c.github.io/webappsec-feature-policy/#container-policy 3108. https://w3c.github.io/webappsec-feature-policy/#serialized-permissions-policy 3109. https://w3c.github.io/webappsec-feature-policy/#default-allowlist 3110. https://w3c.github.io/webappsec-feature-policy/#create-for-navigable 3111. https://w3c.github.io/webappsec-feature-policy/#create-from-response 3112. https://w3c.github.io/webappsec-feature-policy/#is-feature-enabled 3113. https://w3c.github.io/webappsec-feature-policy/#process-permissions-policy-attributes 3114. https://html.spec.whatwg.org/#refsPAYMENTREQUEST 3115. https://w3c.github.io/payment-request/#dom-paymentrequest 3116. https://html.spec.whatwg.org/#refsMATHML 3117. https://w3c.github.io/mathml-core/#dfn-annotation-xml 3118. https://w3c.github.io/mathml-core/#the-top-level-math-element 3119. https://w3c.github.io/mathml-core/#error-message-merror 3120. https://w3c.github.io/mathml-core/#the-mi-element 3121. https://w3c.github.io/mathml-core/#number-mn 3122. https://w3c.github.io/mathml-core/#operator-fence-separator-or-accent-mo 3123. https://w3c.github.io/mathml-core/#string-literal-ms 3124. https://w3c.github.io/mathml-core/#text-mtext 3125. https://html.spec.whatwg.org/#refsSVG 3126. https://svgwg.org/svg2-draft/types.html#InterfaceSVGElement 3127. https://svgwg.org/svg2-draft/embedded.html#InterfaceSVGImageElement 3128. https://svgwg.org/svg2-draft/interact.html#InterfaceSVGScriptElement 3129. https://svgwg.org/svg2-draft/struct.html#InterfaceSVGSVGElement 3130. https://svgwg.org/svg2-draft/linking.html#AElement 3131. https://svgwg.org/svg2-draft/struct.html#DescElement 3132. https://svgwg.org/svg2-draft/embedded.html#ForeignObjectElement 3133. https://svgwg.org/svg2-draft/embedded.html#ImageElement 3134. https://svgwg.org/svg2-draft/interact.html#ScriptElement 3135. https://svgwg.org/svg2-draft/struct.html#SVGElement 3136. https://svgwg.org/svg2-draft/struct.html#TitleElement 3137. https://svgwg.org/svg2-draft/struct.html#UseElement 3138. https://svgwg.org/svg2-draft/painting.html#TextRendering 3139. https://html.spec.whatwg.org/#refsFILTERS 3140. https://drafts.fxtf.org/filter-effects/#typedef-filter-value-list 3141. https://html.spec.whatwg.org/#refsCOMPOSITE 3142. https://drafts.fxtf.org/compositing/#ltblendmodegt 3143. https://drafts.fxtf.org/compositing/#compositemode 3144. https://drafts.fxtf.org/compositing/#porterduffcompositingoperators_srcover 3145. https://drafts.fxtf.org/compositing/#porterduffcompositingoperators_src 3146. https://html.spec.whatwg.org/#refsREQUESTIDLECALLBACK 3147. https://w3c.github.io/requestidlecallback/#the-requestidlecallback-method 3148. https://w3c.github.io/requestidlecallback/#start-an-idle-period-algorithm 3149. https://html.spec.whatwg.org/#refsSCREENORIENTATION 3150. https://w3c.github.io/screen-orientation/#dfn-screen-orientation-change-steps 3151. https://html.spec.whatwg.org/#refsSTORAGE 3152. https://storage.spec.whatwg.org/#obtain-a-local-storage-bottle-map 3153. https://storage.spec.whatwg.org/#obtain-a-session-storage-bottle-map 3154. https://storage.spec.whatwg.org/#obtain-a-storage-key-for-non-storage-purposes 3155. https://storage.spec.whatwg.org/#storage-key-equal 3156. https://storage.spec.whatwg.org/#storage-proxy-map 3157. https://storage.spec.whatwg.org/#legacy-clone-a-traversable-storage-shed 3158. https://html.spec.whatwg.org/#refsMANIFEST 3159. https://w3c.github.io/manifest/#dfn-manifest 3160. https://w3c.github.io/manifest/#dfn-installed-web-application 3161. https://w3c.github.io/manifest/#dfn-processing-a-manifest 3162. https://html.spec.whatwg.org/#refsWASMESM 3163. https://webassembly.github.io/esm-integration/js-api/index.html#webassembly-module-record 3164. https://webassembly.github.io/esm-integration/js-api/index.html#parse-a-webassembly-module 3165. https://html.spec.whatwg.org/#refsWEBCODECS 3166. https://w3c.github.io/webcodecs/#videoframe-interface 3167. https://w3c.github.io/webcodecs/#dom-videoframe-display-width-slot 3168. https://w3c.github.io/webcodecs/#dom-videoframe-display-height-slot 3169. https://html.spec.whatwg.org/#refsWEBDRIVER 3170. https://w3c.github.io/webdriver/#dfn-extension-commands 3171. https://w3c.github.io/webdriver/#dfn-remote-end-steps 3172. https://w3c.github.io/webdriver/#dfn-errors 3173. https://w3c.github.io/webdriver/#dfn-error-code 3174. https://w3c.github.io/webdriver/#dfn-invalid-argument 3175. https://w3c.github.io/webdriver/#dfn-getting-properties 3176. https://w3c.github.io/webdriver/#dfn-success 3177. https://w3c.github.io/webdriver/#security 3178. https://w3c.github.io/webdriver/#dfn-current-browsing-context 3179. https://html.spec.whatwg.org/#refsWEBDRIVERBIDI 3180. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-status 3181. https://w3c.github.io/webdriver-bidi/#navigation-status-id 3182. https://w3c.github.io/webdriver-bidi/#navigation-status-status 3183. https://w3c.github.io/webdriver-bidi/#navigation-status-canceled 3184. https://w3c.github.io/webdriver-bidi/#navigation-status-committed 3185. https://w3c.github.io/webdriver-bidi/#navigation-status-pending 3186. https://w3c.github.io/webdriver-bidi/#navigation-status-complete 3187. https://w3c.github.io/webdriver-bidi/#navigation-status-url 3188. https://w3c.github.io/webdriver-bidi/#navigation-status-suggested-filename 3189. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-aborted 3190. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-committed 3191. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-failed 3192. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-started 3193. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-download-started 3194. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-fragment-navigated 3195. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-dom-content-loaded 3196. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-load-complete 3197. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-history-updated 3198. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigable-created 3199. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigable-destroyed 3200. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-user-prompt-closed 3201. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-user-prompt-opened 3202. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-file-dialog-opened 3203. https://html.spec.whatwg.org/#refsWEBCRYPTO 3204. https://w3c.github.io/webcrypto/#dfn-generate-a-random-uuid 3205. https://html.spec.whatwg.org/#refsWEBSOCKETS 3206. https://websockets.spec.whatwg.org/#websocket 3207. https://websockets.spec.whatwg.org/#make-disappear 3208. https://html.spec.whatwg.org/#refsWEBTRANSPORT 3209. https://w3c.github.io/webtransport/#webtransport 3210. https://w3c.github.io/webtransport/#context-cleanup-steps 3211. https://html.spec.whatwg.org/#refsWEBAUTHN 3212. https://w3c.github.io/webauthn/#public-key-credential 3213. https://html.spec.whatwg.org/#refsCREDMAN 3214. https://w3c.github.io/webappsec-credential-management/#dom-credentialmediationrequirement-conditional 3215. https://w3c.github.io/webappsec-credential-management/#credential 3216. https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get 3217. https://html.spec.whatwg.org/#refsCONSOLE 3218. https://console.spec.whatwg.org/#report-a-warning-to-the-console 3219. https://html.spec.whatwg.org/#refsWEBLOCKS 3220. https://w3c.github.io/web-locks/#lock-concept 3221. https://w3c.github.io/web-locks/#lock-request 3222. https://html.spec.whatwg.org/#refsTRUSTED-TYPES 3223. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 3224. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml-data 3225. https://w3c.github.io/trusted-types/dist/spec/#trusted-script 3226. https://w3c.github.io/trusted-types/dist/spec/#trustedscript-data 3227. https://w3c.github.io/trusted-types/dist/spec/#trustedscripturl 3228. https://w3c.github.io/trusted-types/dist/spec/#get-trusted-type-compliant-string-algorithm 3229. https://html.spec.whatwg.org/#refsWEBRTC 3230. https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel 3231. https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection 3232. https://html.spec.whatwg.org/#refsPICTUREINPICTURE 3233. https://w3c.github.io/picture-in-picture/#pictureinpicturewindow 3234. https://wicg.github.io/idle-detection/#idledetector 3235. https://wicg.github.io/speech-api/#speechrecognition 3236. https://wicg.github.io/web-otp/#otpcredential 3237. https://w3c.github.io/web-share/#share-method 3238. https://wicg.github.io/web-smart-card/#dom-smartcardconnection 3239. https://wicg.github.io/background-sync/spec/#syncmanager 3240. https://wicg.github.io/background-sync/spec/#dom-syncmanager-register 3241. https://wicg.github.io/periodic-background-sync/#periodicsyncmanager 3242. https://wicg.github.io/periodic-background-sync/#dom-periodicsyncmanager-register 3243. https://wicg.github.io/background-fetch/#backgroundfetchmanager 3244. https://wicg.github.io/background-fetch/#dom-backgroundfetchmanager-fetch 3245. https://wicg.github.io/keyboard-lock/#keyboard 3246. https://wicg.github.io/keyboard-lock/#dom-keyboard-lock 3247. https://webaudio.github.io/web-midi-api/#dom-navigator-requestmidiaccess 3248. https://w3c.github.io/sensors/#request-sensor-access 3249. https://wicg.github.io/webhid/#requestdevice-method 3250. https://immersive-web.github.io/webxr/#xrsystem 3251. https://html.spec.whatwg.org/#refsHTTP 3252. https://html.spec.whatwg.org/#refsCOOKIES 3253. https://html.spec.whatwg.org/#dom-form-elements 3254. https://html.spec.whatwg.org/#dom-form-elements 3255. https://dom.spec.whatwg.org/#html-document 3256. https://www.w3.org/TR/REC-xml-names/#NT-QName 3257. https://www.w3.org/TR/1999/REC-xpath-19991116/#dt-expanded-name 3258. https://www.w3.org/TR/REC-xml-names/#NT-QName 3259. https://www.w3.org/TR/REC-xml-names/#NT-QName 3260. https://infra.spec.whatwg.org/#willful-violation 3261. https://html.spec.whatwg.org/#refsXPATH10 3262. https://infra.spec.whatwg.org/#html-namespace 3263. https://infra.spec.whatwg.org/#ascii-lowercase 3264. https://infra.spec.whatwg.org/#ascii-lowercase 3265. https://infra.spec.whatwg.org/#willful-violation 3266. https://html.spec.whatwg.org/#refsXSLT10 3267. https://html.spec.whatwg.org/#html-parser 3268. https://html.spec.whatwg.org/#stack-of-open-elements 3269. https://html.spec.whatwg.org/#stop-parsing 3270. https://html.spec.whatwg.org/#update-the-current-document-readiness 3271. https://html.spec.whatwg.org/#navigate 3272. https://html.spec.whatwg.org/#event-loop 3273. https://html.spec.whatwg.org/#scriptTagXSLT 3274. https://html.spec.whatwg.org/#template-XSLT-XPath 3275. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy/document-domain 3276. https://w3c.github.io/webappsec-feature-policy/#policy-controlled-feature 3277. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Feature-Policy/autoplay 3278. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy/autoplay 3279. https://w3c.github.io/webappsec-feature-policy/#default-allowlist 3280. https://w3c.github.io/webappsec-feature-policy/#default-allowlist 3281. https://w3c.github.io/webappsec-feature-policy/#default-allowlist 3282. https://infra.spec.whatwg.org/#ascii-case-insensitive 3283. https://html.spec.whatwg.org/#attr-input-checked 3284. https://html.spec.whatwg.org/#attr-fe-disabled 3285. https://html.spec.whatwg.org/#missing-value-default 3286. https://html.spec.whatwg.org/#missing-value-default 3287. https://html.spec.whatwg.org/#missing-value-default 3288. https://infra.spec.whatwg.org/#ascii-case-insensitive 3289. https://html.spec.whatwg.org/#invalid-value-default 3290. https://html.spec.whatwg.org/#invalid-value-default 3291. https://infra.spec.whatwg.org/#ascii-case-insensitive 3292. https://html.spec.whatwg.org/#reflect 3293. https://infra.spec.whatwg.org/#ascii-digit 3294. https://html.spec.whatwg.org/#valid-integer 3295. https://html.spec.whatwg.org/#valid-integer 3296. https://infra.spec.whatwg.org/#skip-ascii-whitespace 3297. https://infra.spec.whatwg.org/#ascii-digit 3298. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3299. https://infra.spec.whatwg.org/#ascii-digit 3300. https://infra.spec.whatwg.org/#ascii-digit 3301. https://html.spec.whatwg.org/#valid-non-negative-integer 3302. https://html.spec.whatwg.org/#rules-for-parsing-integers 3303. https://infra.spec.whatwg.org/#ascii-digit 3304. https://infra.spec.whatwg.org/#ascii-digit 3305. https://infra.spec.whatwg.org/#ascii-digit 3306. https://html.spec.whatwg.org/#valid-floating-point-number 3307. https://html.spec.whatwg.org/#valid-floating-point-number 3308. https://html.spec.whatwg.org/#valid-floating-point-number 3309. https://html.spec.whatwg.org/#rules-for-parsing-floating-point-number-values 3310. https://html.spec.whatwg.org/#attr-progress-max 3311. https://html.spec.whatwg.org/#the-progress-element 3312. https://html.spec.whatwg.org/#valid-floating-point-number 3313. https://html.spec.whatwg.org/#value-sanitization-algorithm 3314. https://html.spec.whatwg.org/#number-state-(type=number) 3315. https://html.spec.whatwg.org/#the-input-element 3316. https://html.spec.whatwg.org/#parse-a-srcset-attribute 3317. https://tc39.es/ecma262/#sec-tostring 3318. https://tc39.es/ecma262/#sec-tostring 3319. https://tc39.es/ecma262/#sec-tostring 3320. https://infra.spec.whatwg.org/#skip-ascii-whitespace 3321. https://infra.spec.whatwg.org/#ascii-digit 3322. https://infra.spec.whatwg.org/#ascii-digit 3323. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3324. https://infra.spec.whatwg.org/#ascii-digit 3325. https://infra.spec.whatwg.org/#ascii-digit 3326. https://infra.spec.whatwg.org/#ascii-digit 3327. https://infra.spec.whatwg.org/#ascii-digit 3328. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3329. https://infra.spec.whatwg.org/#ascii-digit 3330. https://infra.spec.whatwg.org/#string-position-variable 3331. https://infra.spec.whatwg.org/#skip-ascii-whitespace 3332. https://infra.spec.whatwg.org/#ascii-digit 3333. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3334. https://infra.spec.whatwg.org/#ascii-digit 3335. https://infra.spec.whatwg.org/#ascii-digit 3336. https://html.spec.whatwg.org/#current-dimension-value 3337. https://infra.spec.whatwg.org/#ascii-digit 3338. https://infra.spec.whatwg.org/#iteration-break 3339. https://html.spec.whatwg.org/#current-dimension-value 3340. https://html.spec.whatwg.org/#rules-for-parsing-dimension-values 3341. https://html.spec.whatwg.org/#valid-floating-point-number 3342. https://infra.spec.whatwg.org/#ascii-whitespace 3343. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3344. https://infra.spec.whatwg.org/#ascii-whitespace 3345. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3346. https://infra.spec.whatwg.org/#ascii-whitespace 3347. https://infra.spec.whatwg.org/#ascii-digit 3348. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3349. https://infra.spec.whatwg.org/#ascii-whitespace 3350. https://html.spec.whatwg.org/#rules-for-parsing-floating-point-number-values 3351. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3352. https://infra.spec.whatwg.org/#ascii-whitespace 3353. https://infra.spec.whatwg.org/#split-on-commas 3354. https://infra.spec.whatwg.org/#ascii-digit 3355. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3356. https://infra.spec.whatwg.org/#ascii-digit 3357. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3358. https://infra.spec.whatwg.org/#ascii-whitespace 3359. https://infra.spec.whatwg.org/#ascii-digit 3360. https://infra.spec.whatwg.org/#ascii-whitespace 3361. https://infra.spec.whatwg.org/#skip-ascii-whitespace 3362. https://html.spec.whatwg.org/#refsGREGORIAN 3363. https://infra.spec.whatwg.org/#ascii-digit 3364. https://html.spec.whatwg.org/#refsISO8601 3365. https://html.spec.whatwg.org/#proleptic-gregorian-calendar 3366. https://html.spec.whatwg.org/#refsGREGORIAN 3367. https://html.spec.whatwg.org/#input-author-notes 3368. https://html.spec.whatwg.org/#input-impl-notes 3369. https://html.spec.whatwg.org/#the-time-element 3370. https://html.spec.whatwg.org/#proleptic-gregorian-date 3371. https://html.spec.whatwg.org/#refsGREGORIAN 3372. https://infra.spec.whatwg.org/#ascii-digit 3373. https://infra.spec.whatwg.org/#ascii-digit 3374. https://html.spec.whatwg.org/#parse-a-month-component 3375. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3376. https://infra.spec.whatwg.org/#ascii-digit 3377. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3378. https://infra.spec.whatwg.org/#ascii-digit 3379. https://html.spec.whatwg.org/#proleptic-gregorian-date 3380. https://html.spec.whatwg.org/#refsGREGORIAN 3381. https://html.spec.whatwg.org/#valid-month-string 3382. https://infra.spec.whatwg.org/#ascii-digit 3383. https://html.spec.whatwg.org/#number-of-days-in-month-month-of-year-year 3384. https://html.spec.whatwg.org/#parse-a-date-component 3385. https://html.spec.whatwg.org/#parse-a-month-component 3386. https://html.spec.whatwg.org/#number-of-days-in-month-month-of-year-year 3387. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3388. https://infra.spec.whatwg.org/#ascii-digit 3389. https://html.spec.whatwg.org/#refsGREGORIAN 3390. https://infra.spec.whatwg.org/#ascii-digit 3391. https://infra.spec.whatwg.org/#ascii-digit 3392. https://html.spec.whatwg.org/#number-of-days-in-month-month-of-year-year 3393. https://html.spec.whatwg.org/#parse-a-yearless-date-component 3394. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3395. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3396. https://infra.spec.whatwg.org/#ascii-digit 3397. https://html.spec.whatwg.org/#number-of-days-in-month-month-of-year-year 3398. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3399. https://infra.spec.whatwg.org/#ascii-digit 3400. https://infra.spec.whatwg.org/#ascii-digit 3401. https://infra.spec.whatwg.org/#ascii-digit 3402. https://infra.spec.whatwg.org/#ascii-digit 3403. https://infra.spec.whatwg.org/#ascii-digit 3404. https://html.spec.whatwg.org/#parse-a-time-component 3405. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3406. https://infra.spec.whatwg.org/#ascii-digit 3407. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3408. https://infra.spec.whatwg.org/#ascii-digit 3409. https://infra.spec.whatwg.org/#ascii-digit 3410. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3411. https://infra.spec.whatwg.org/#ascii-digit 3412. https://html.spec.whatwg.org/#proleptic-gregorian-date 3413. https://html.spec.whatwg.org/#refsGREGORIAN 3414. https://html.spec.whatwg.org/#valid-date-string 3415. https://html.spec.whatwg.org/#valid-time-string 3416. https://html.spec.whatwg.org/#valid-date-string 3417. https://html.spec.whatwg.org/#valid-time-string 3418. https://html.spec.whatwg.org/#parse-a-date-component 3419. https://html.spec.whatwg.org/#parse-a-time-component 3420. https://infra.spec.whatwg.org/#ascii-digit 3421. https://infra.spec.whatwg.org/#ascii-digit 3422. https://html.spec.whatwg.org/#concept-datetime 3423. https://html.spec.whatwg.org/#parse-a-time-zone-offset-component 3424. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3425. https://infra.spec.whatwg.org/#ascii-digit 3426. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3427. https://infra.spec.whatwg.org/#ascii-digit 3428. https://html.spec.whatwg.org/#proleptic-gregorian-date 3429. https://html.spec.whatwg.org/#refsGREGORIAN 3430. https://html.spec.whatwg.org/#valid-date-string 3431. https://html.spec.whatwg.org/#valid-time-string 3432. https://html.spec.whatwg.org/#valid-time-zone-offset-string 3433. https://html.spec.whatwg.org/#valid-global-date-and-time-string 3434. https://html.spec.whatwg.org/#proleptic-gregorian-calendar 3435. https://html.spec.whatwg.org/#parse-a-date-component 3436. https://html.spec.whatwg.org/#parse-a-time-component 3437. https://html.spec.whatwg.org/#parse-a-time-zone-offset-component 3438. https://html.spec.whatwg.org/#refsGREGORIAN 3439. https://html.spec.whatwg.org/#proleptic-gregorian-calendar 3440. https://html.spec.whatwg.org/#proleptic-gregorian-calendar 3441. https://html.spec.whatwg.org/#proleptic-gregorian-calendar 3442. https://html.spec.whatwg.org/#concept-week 3443. https://html.spec.whatwg.org/#refsISO8601 3444. https://infra.spec.whatwg.org/#ascii-digit 3445. https://infra.spec.whatwg.org/#ascii-digit 3446. https://html.spec.whatwg.org/#week-number-of-the-last-day 3447. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3448. https://infra.spec.whatwg.org/#ascii-digit 3449. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3450. https://infra.spec.whatwg.org/#ascii-digit 3451. https://html.spec.whatwg.org/#week-number-of-the-last-day 3452. https://html.spec.whatwg.org/#concept-duration 3453. https://html.spec.whatwg.org/#concept-duration 3454. https://infra.spec.whatwg.org/#ascii-digit 3455. https://infra.spec.whatwg.org/#ascii-digit 3456. https://infra.spec.whatwg.org/#ascii-digit 3457. https://infra.spec.whatwg.org/#ascii-digit 3458. https://infra.spec.whatwg.org/#ascii-digit 3459. https://html.spec.whatwg.org/#refsISO8601 3460. https://html.spec.whatwg.org/#duration-time-component 3461. https://html.spec.whatwg.org/#duration-time-component-scale 3462. https://infra.spec.whatwg.org/#ascii-whitespace 3463. https://infra.spec.whatwg.org/#ascii-digit 3464. https://html.spec.whatwg.org/#duration-time-component-scale 3465. https://html.spec.whatwg.org/#duration-time-component-scale 3466. https://infra.spec.whatwg.org/#ascii-digit 3467. https://infra.spec.whatwg.org/#ascii-whitespace 3468. https://html.spec.whatwg.org/#duration-time-component 3469. https://infra.spec.whatwg.org/#ascii-whitespace 3470. https://html.spec.whatwg.org/#concept-duration 3471. https://infra.spec.whatwg.org/#skip-ascii-whitespace 3472. https://infra.spec.whatwg.org/#skip-ascii-whitespace 3473. https://infra.spec.whatwg.org/#skip-ascii-whitespace 3474. https://infra.spec.whatwg.org/#iteration-continue 3475. https://infra.spec.whatwg.org/#ascii-digit 3476. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3477. https://infra.spec.whatwg.org/#ascii-digit 3478. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 3479. https://infra.spec.whatwg.org/#ascii-digit 3480. https://infra.spec.whatwg.org/#skip-ascii-whitespace 3481. https://infra.spec.whatwg.org/#ascii-whitespace 3482. https://infra.spec.whatwg.org/#skip-ascii-whitespace 3483. https://infra.spec.whatwg.org/#skip-ascii-whitespace 3484. https://html.spec.whatwg.org/#concept-duration 3485. https://html.spec.whatwg.org/#valid-date-string 3486. https://html.spec.whatwg.org/#valid-global-date-and-time-string 3487. https://html.spec.whatwg.org/#concept-date 3488. https://html.spec.whatwg.org/#concept-time 3489. https://html.spec.whatwg.org/#concept-datetime 3490. https://html.spec.whatwg.org/#parse-a-date-component 3491. https://html.spec.whatwg.org/#parse-a-time-component 3492. https://html.spec.whatwg.org/#parse-a-time-zone-offset-component 3493. https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace 3494. https://infra.spec.whatwg.org/#ascii-case-insensitive 3495. https://infra.spec.whatwg.org/#ascii-case-insensitive 3496. https://drafts.csswg.org/css-color/#named-color 3497. https://html.spec.whatwg.org/#refsCSSCOLOR 3498. https://www.w3.org/TR/css3-color/#css2-system 3499. https://infra.spec.whatwg.org/#string-code-point-length 3500. https://infra.spec.whatwg.org/#ascii-hex-digit 3501. https://infra.spec.whatwg.org/#code-point 3502. https://infra.spec.whatwg.org/#string-code-point-length 3503. https://infra.spec.whatwg.org/#ascii-hex-digit 3504. https://infra.spec.whatwg.org/#string-code-point-length 3505. https://infra.spec.whatwg.org/#string-code-point-length 3506. https://infra.spec.whatwg.org/#string-code-point-length 3507. https://infra.spec.whatwg.org/#string-code-point-length 3508. https://infra.spec.whatwg.org/#ascii-whitespace 3509. https://infra.spec.whatwg.org/#ascii-whitespace 3510. https://html.spec.whatwg.org/#set-of-space-separated-tokens 3511. https://infra.spec.whatwg.org/#ascii-whitespace 3512. https://html.spec.whatwg.org/#set-of-space-separated-tokens 3513. https://html.spec.whatwg.org/#set-of-space-separated-tokens 3514. https://html.spec.whatwg.org/#set-of-space-separated-tokens 3515. https://html.spec.whatwg.org/#set-of-space-separated-tokens 3516. https://infra.spec.whatwg.org/#ascii-whitespace 3517. https://infra.spec.whatwg.org/#ascii-whitespace 3518. https://html.spec.whatwg.org/#set-of-comma-separated-tokens 3519. https://dom.spec.whatwg.org/#concept-tree 3520. https://dom.spec.whatwg.org/#concept-tree 3521. https://dom.spec.whatwg.org/#concept-tree-order 3522. https://html.spec.whatwg.org/#the-id-attribute 3523. https://html.spec.whatwg.org/#the-id-attribute 3524. https://html.spec.whatwg.org/#valid-hash-name-reference 3525. https://html.spec.whatwg.org/#the-id-attribute 3526. https://html.spec.whatwg.org/#refsMQ 3527. https://infra.spec.whatwg.org/#ascii-whitespace 3528. https://html.spec.whatwg.org/#refsMQ 3529. https://html.spec.whatwg.org/#unique-internal-value 3530. https://url.spec.whatwg.org/#valid-url-string 3531. https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace 3532. https://url.spec.whatwg.org/#valid-url-string 3533. https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace 3534. https://html.spec.whatwg.org/#valid-non-empty-url 3535. https://www.rfc-editor.org/rfc/rfc6694#section-2 3536. https://html.spec.whatwg.org/#syntax-doctype 3537. https://dom.spec.whatwg.org/#html-document 3538. https://html.spec.whatwg.org/#refsABOUT 3539. https://www.rfc-editor.org/rfc/rfc6694#section-2 3540. https://html.spec.whatwg.org/#refsABOUT 3541. https://www.rfc-editor.org/rfc/rfc6694#section-2 3542. https://dom.spec.whatwg.org/#concept-document-url 3543. https://html.spec.whatwg.org/#an-iframe-srcdoc-document 3544. https://html.spec.whatwg.org/#refsABOUT 3545. https://html.spec.whatwg.org/#document 3546. https://url.spec.whatwg.org/#concept-url 3547. https://html.spec.whatwg.org/#an-iframe-srcdoc-document 3548. https://infra.spec.whatwg.org/#assert 3549. https://html.spec.whatwg.org/#concept-document-about-base-url 3550. https://html.spec.whatwg.org/#concept-document-about-base-url 3551. https://dom.spec.whatwg.org/#concept-document-url 3552. https://html.spec.whatwg.org/#matches-about:blank 3553. https://html.spec.whatwg.org/#concept-document-about-base-url 3554. https://html.spec.whatwg.org/#concept-document-about-base-url 3555. https://dom.spec.whatwg.org/#concept-document-url 3556. https://html.spec.whatwg.org/#document 3557. https://url.spec.whatwg.org/#concept-url 3558. https://html.spec.whatwg.org/#the-base-element 3559. https://html.spec.whatwg.org/#attr-base-href 3560. https://html.spec.whatwg.org/#document 3561. https://html.spec.whatwg.org/#document 3562. https://html.spec.whatwg.org/#fallback-base-url 3563. https://html.spec.whatwg.org/#frozen-base-url 3564. https://html.spec.whatwg.org/#the-base-element 3565. https://html.spec.whatwg.org/#document 3566. https://html.spec.whatwg.org/#attr-base-href 3567. https://dom.spec.whatwg.org/#concept-tree-order 3568. https://url.spec.whatwg.org/#concept-url 3569. https://url.spec.whatwg.org/#concept-url-scheme 3570. https://url.spec.whatwg.org/#concept-url-path 3571. https://url.spec.whatwg.org/#concept-url-username 3572. https://url.spec.whatwg.org/#concept-url-password 3573. https://url.spec.whatwg.org/#concept-url-host 3574. https://url.spec.whatwg.org/#concept-url-query 3575. https://url.spec.whatwg.org/#concept-url-fragment 3576. https://url.spec.whatwg.org/#concept-url 3577. https://url.spec.whatwg.org/#concept-url-parser 3578. https://html.spec.whatwg.org/#matches-about:blank 3579. https://url.spec.whatwg.org/#concept-url 3580. https://url.spec.whatwg.org/#concept-url-scheme 3581. https://url.spec.whatwg.org/#concept-url-path 3582. https://url.spec.whatwg.org/#concept-url-query 3583. https://url.spec.whatwg.org/#concept-url-username 3584. https://url.spec.whatwg.org/#concept-url-password 3585. https://url.spec.whatwg.org/#concept-url-host 3586. https://html.spec.whatwg.org/#matches-about:srcdoc 3587. https://url.spec.whatwg.org/#concept-url 3588. https://url.spec.whatwg.org/#concept-url-query 3589. https://html.spec.whatwg.org/#an-iframe-srcdoc-document 3590. https://dom.spec.whatwg.org/#concept-document-url 3591. https://url.spec.whatwg.org/#concept-url-query 3592. https://html.spec.whatwg.org/#document 3593. https://dom.spec.whatwg.org/#concept-document-url 3594. https://html.spec.whatwg.org/#matches-about:blank 3595. https://url.spec.whatwg.org/#concept-url 3596. https://html.spec.whatwg.org/#matches-about:srcdoc 3597. https://url.spec.whatwg.org/#concept-url-fragment 3598. https://url.spec.whatwg.org/#concept-url 3599. https://html.spec.whatwg.org/#refsURL 3600. https://html.spec.whatwg.org/#parse-a-url 3601. https://html.spec.whatwg.org/#encoding-parsing-a-url 3602. https://url.spec.whatwg.org/#concept-url-parser 3603. https://html.spec.whatwg.org/#document 3604. https://html.spec.whatwg.org/#environment-settings-object 3605. https://url.spec.whatwg.org/#concept-url 3606. https://html.spec.whatwg.org/#document-base-url 3607. https://html.spec.whatwg.org/#document 3608. https://html.spec.whatwg.org/#api-base-url 3609. https://url.spec.whatwg.org/#concept-url-parser 3610. https://html.spec.whatwg.org/#document 3611. https://html.spec.whatwg.org/#environment-settings-object 3612. https://url.spec.whatwg.org/#concept-url 3613. https://encoding.spec.whatwg.org/#utf-8 3614. https://html.spec.whatwg.org/#document 3615. https://dom.spec.whatwg.org/#concept-document-encoding 3616. https://html.spec.whatwg.org/#concept-relevant-global 3617. https://html.spec.whatwg.org/#window 3618. https://html.spec.whatwg.org/#concept-relevant-global 3619. https://html.spec.whatwg.org/#concept-document-window 3620. https://dom.spec.whatwg.org/#concept-document-encoding 3621. https://html.spec.whatwg.org/#document-base-url 3622. https://html.spec.whatwg.org/#document 3623. https://html.spec.whatwg.org/#api-base-url 3624. https://url.spec.whatwg.org/#concept-url-parser 3625. https://html.spec.whatwg.org/#document 3626. https://html.spec.whatwg.org/#environment-settings-object 3627. https://html.spec.whatwg.org/#encoding-parsing-a-url 3628. https://url.spec.whatwg.org/#concept-url-serializer 3629. https://html.spec.whatwg.org/#document-base-url 3630. https://html.spec.whatwg.org/#affected-by-a-base-url-change 3631. https://html.spec.whatwg.org/#base-url-change-steps 3632. https://html.spec.whatwg.org/#affected-by-a-base-url-change 3633. https://html.spec.whatwg.org/#hyperlink 3634. https://url.spec.whatwg.org/#concept-url 3635. https://url.spec.whatwg.org/#concept-url 3636. https://html.spec.whatwg.org/#attr-hyperlink-href 3637. https://html.spec.whatwg.org/#encoding-parsing-a-url 3638. https://dom.spec.whatwg.org/#concept-node-document 3639. https://html.spec.whatwg.org/#selector-link 3640. https://html.spec.whatwg.org/#selector-visited 3641. https://drafts.csswg.org/selectors/#pseudo-class 3642. https://html.spec.whatwg.org/#ping 3643. https://url.spec.whatwg.org/#concept-url 3644. https://html.spec.whatwg.org/#ping 3645. https://html.spec.whatwg.org/#encoding-parsing-a-url 3646. https://dom.spec.whatwg.org/#concept-node-document 3647. https://html.spec.whatwg.org/#the-q-element 3648. https://html.spec.whatwg.org/#the-blockquote-element 3649. https://html.spec.whatwg.org/#the-ins-element 3650. https://html.spec.whatwg.org/#the-del-element 3651. https://url.spec.whatwg.org/#concept-url 3652. https://url.spec.whatwg.org/#concept-url 3653. https://html.spec.whatwg.org/#encoding-parsing-a-url 3654. https://dom.spec.whatwg.org/#concept-node-document 3655. https://html.spec.whatwg.org/#the-img-element 3656. https://html.spec.whatwg.org/#dom-img-src 3657. https://url.spec.whatwg.org/#syntax-url-absolute 3658. https://fetch.spec.whatwg.org/#concept-response 3659. https://fetch.spec.whatwg.org/#concept-response-type 3660. https://html.spec.whatwg.org/#refsFETCH 3661. https://fetch.spec.whatwg.org/#concept-response 3662. https://fetch.spec.whatwg.org/#concept-response-type 3663. https://fetch.spec.whatwg.org/#concept-response 3664. https://fetch.spec.whatwg.org/#concept-internal-response 3665. https://fetch.spec.whatwg.org/#concept-response 3666. https://html.spec.whatwg.org/#attr-crossorigin-none 3667. https://html.spec.whatwg.org/#attr-crossorigin-anonymous 3668. https://fetch.spec.whatwg.org/#concept-request 3669. https://fetch.spec.whatwg.org/#concept-request-url 3670. https://fetch.spec.whatwg.org/#concept-request-destination 3671. https://fetch.spec.whatwg.org/#concept-request-mode 3672. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 3673. https://fetch.spec.whatwg.org/#concept-request-use-url-credentials-flag 3674. https://html.spec.whatwg.org/#refsMIMESNIFF 3675. https://mimesniff.spec.whatwg.org/#computed-mime-type 3676. https://html.spec.whatwg.org/#refsMIMESNIFF 3677. https://mimesniff.spec.whatwg.org/#rules-for-sniffing-images-specifically 3678. https://mimesniff.spec.whatwg.org/#rules-for-text-or-binary 3679. https://mimesniff.spec.whatwg.org/#rules-for-sniffing-audio-and-video-specifically 3680. https://mimesniff.spec.whatwg.org/#mime-type 3681. https://html.spec.whatwg.org/#refsMIMESNIFF 3682. https://html.spec.whatwg.org/#refsMIMESNIFF 3683. https://html.spec.whatwg.org/#the-meta-element 3684. https://infra.spec.whatwg.org/#ascii-case-insensitive 3685. https://infra.spec.whatwg.org/#ascii-whitespace 3686. https://infra.spec.whatwg.org/#ascii-whitespace 3687. https://encoding.spec.whatwg.org/#concept-encoding-get 3688. https://encoding.spec.whatwg.org/#concept-encoding-get 3689. https://infra.spec.whatwg.org/#ascii-whitespace 3690. https://html.spec.whatwg.org/#refsHTTP 3691. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin 3692. https://html.spec.whatwg.org/#enumerated-attribute 3693. https://fetch.spec.whatwg.org/#concept-request 3694. https://fetch.spec.whatwg.org/#concept-request-mode 3695. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 3696. https://fetch.spec.whatwg.org/#concept-request 3697. https://fetch.spec.whatwg.org/#concept-request-mode 3698. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 3699. https://html.spec.whatwg.org/#missing-value-default 3700. https://html.spec.whatwg.org/#invalid-value-default 3701. https://html.spec.whatwg.org/#attr-crossorigin-anonymous 3702. https://html.spec.whatwg.org/#reflect 3703. https://html.spec.whatwg.org/#canonical-keyword 3704. https://html.spec.whatwg.org/#attr-crossorigin-anonymous 3705. https://html.spec.whatwg.org/#attr-crossorigin-anonymous-keyword 3706. https://html.spec.whatwg.org/#cors-settings-attribute 3707. https://html.spec.whatwg.org/#create-a-potential-cors-request 3708. https://fetch.spec.whatwg.org/#concept-request-mode 3709. https://html.spec.whatwg.org/#cors-settings-attribute 3710. https://fetch.spec.whatwg.org/#concept-request 3711. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 3712. https://html.spec.whatwg.org/#cors-settings-attribute 3713. https://html.spec.whatwg.org/#attr-crossorigin-none 3714. https://html.spec.whatwg.org/#attr-crossorigin-anonymous 3715. https://html.spec.whatwg.org/#attr-crossorigin-none 3716. https://html.spec.whatwg.org/#enumerated-attribute 3717. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 3718. https://html.spec.whatwg.org/#missing-value-default 3719. https://html.spec.whatwg.org/#invalid-value-default 3720. https://fetch.spec.whatwg.org/#concept-fetch 3721. https://html.spec.whatwg.org/#refsFETCH 3722. https://html.spec.whatwg.org/#refsREFERRERPOLICY 3723. https://fetch.spec.whatwg.org/#concept-fetch 3724. https://html.spec.whatwg.org/#referrer-policy-attribute 3725. https://html.spec.whatwg.org/#link-type-noreferrer 3726. https://html.spec.whatwg.org/#referrer-policy-attribute 3727. https://html.spec.whatwg.org/#the-meta-element 3728. https://html.spec.whatwg.org/#attr-meta-name 3729. https://html.spec.whatwg.org/#meta-referrer 3730. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-header-dfn 3731. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce 3732. https://html.spec.whatwg.org/#refsCSP 3733. https://html.spec.whatwg.org/#attr-nonce 3734. https://html.spec.whatwg.org/#htmlorsvgelement 3735. https://html.spec.whatwg.org/#dom-noncedelement-nonce 3736. https://html.spec.whatwg.org/#attr-nonce 3737. https://html.spec.whatwg.org/#dom-noncedelement-nonce 3738. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/nonce 3739. https://html.spec.whatwg.org/#cryptographicnonce 3740. https://html.spec.whatwg.org/#cryptographicnonce 3741. https://html.spec.whatwg.org/#dom-noncedelement-nonce 3742. https://html.spec.whatwg.org/#attr-nonce 3743. https://html.spec.whatwg.org/#becomes-browsing-context-connected 3744. https://github.com/whatwg/html/issues/2369 3745. https://dom.spec.whatwg.org/#concept-element-attributes-change-ext 3746. https://html.spec.whatwg.org/#attr-nonce 3747. https://webidl.spec.whatwg.org/#include 3748. https://html.spec.whatwg.org/#htmlorsvgelement 3749. https://html.spec.whatwg.org/#attr-nonce 3750. https://html.spec.whatwg.org/#cryptographicnonce 3751. https://html.spec.whatwg.org/#cryptographicnonce 3752. https://webidl.spec.whatwg.org/#include 3753. https://html.spec.whatwg.org/#htmlorsvgelement 3754. https://html.spec.whatwg.org/#becomes-browsing-context-connected 3755. https://dom.spec.whatwg.org/#concept-shadow-including-root 3756. https://html.spec.whatwg.org/#concept-document-policy-container 3757. https://html.spec.whatwg.org/#policy-container-csp-list 3758. https://w3c.github.io/webappsec-csp/#contains-a-header-delivered-content-security-policy 3759. https://html.spec.whatwg.org/#attr-nonce 3760. https://html.spec.whatwg.org/#cryptographicnonce 3761. https://dom.spec.whatwg.org/#concept-element-attributes-set-value 3762. https://html.spec.whatwg.org/#attr-nonce 3763. https://html.spec.whatwg.org/#cryptographicnonce 3764. https://html.spec.whatwg.org/#cryptographicnonce 3765. https://dom.spec.whatwg.org/#concept-node-clone-ext 3766. https://webidl.spec.whatwg.org/#include 3767. https://html.spec.whatwg.org/#htmlorsvgelement 3768. https://html.spec.whatwg.org/#cryptographicnonce 3769. https://html.spec.whatwg.org/#cryptographicnonce 3770. https://developer.mozilla.org/en-US/docs/Web/Performance/Lazy_loading 3771. https://html.spec.whatwg.org/#enumerated-attribute 3772. https://html.spec.whatwg.org/#missing-value-default 3773. https://html.spec.whatwg.org/#invalid-value-default 3774. https://html.spec.whatwg.org/#attr-loading-eager-state 3775. https://html.spec.whatwg.org/#concept-n-noscript 3776. https://html.spec.whatwg.org/#lazy-loading-attribute 3777. https://html.spec.whatwg.org/#attr-loading-lazy-state 3778. https://html.spec.whatwg.org/#the-img-element 3779. https://html.spec.whatwg.org/#the-iframe-element 3780. https://html.spec.whatwg.org/#the-img-element 3781. https://html.spec.whatwg.org/#the-iframe-element 3782. https://html.spec.whatwg.org/#will-lazy-load-element-steps 3783. https://html.spec.whatwg.org/#lazy-load-intersection-observer 3784. https://html.spec.whatwg.org/#lazy-loading-attribute 3785. https://html.spec.whatwg.org/#attr-loading-eager-state 3786. https://html.spec.whatwg.org/#document 3787. https://w3c.github.io/IntersectionObserver/#intersectionobserver 3788. https://dom.spec.whatwg.org/#concept-node-document 3789. https://html.spec.whatwg.org/#lazy-load-intersection-observer 3790. https://w3c.github.io/IntersectionObserver/#intersectionobserver 3791. https://w3c.github.io/IntersectionObserver/#intersectionobserver 3792. https://github.com/w3c/IntersectionObserver/issues/464 3793. https://html.spec.whatwg.org/#refsINTERSECTIONOBSERVER 3794. https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentry-isintersecting 3795. https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentry-target 3796. https://html.spec.whatwg.org/#lazy-load-resumption-steps 3797. https://html.spec.whatwg.org/#stop-intersection-observing-a-lazy-loading-element 3798. https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentry-target 3799. https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentry-target 3800. https://html.spec.whatwg.org/#lazy-load-resumption-steps 3801. https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentry-isintersecting 3802. https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentry-target 3803. https://github.com/w3c/IntersectionObserver/issues/464 3804. https://html.spec.whatwg.org/#refsINTERSECTIONOBSERVER 3805. https://w3c.github.io/IntersectionObserver/#dictdef-intersectionobserverinit 3806. https://html.spec.whatwg.org/#lazy-load-root-margin 3807. https://html.spec.whatwg.org/#lazy-load-root-margin 3808. https://w3c.github.io/IntersectionObserver/#intersectionobserver 3809. https://github.com/w3c/IntersectionObserver/issues/428 3810. https://html.spec.whatwg.org/#lazy-load-intersection-observer 3811. https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-observe 3812. https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-observe 3813. https://github.com/w3c/IntersectionObserver/issues/464 3814. https://html.spec.whatwg.org/#refsINTERSECTIONOBSERVER 3815. https://dom.spec.whatwg.org/#concept-node-document 3816. https://infra.spec.whatwg.org/#assert 3817. https://html.spec.whatwg.org/#lazy-load-intersection-observer 3818. https://html.spec.whatwg.org/#lazy-load-intersection-observer 3819. https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-unobserve 3820. https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-unobserve 3821. https://github.com/w3c/IntersectionObserver/issues/464 3822. https://html.spec.whatwg.org/#refsINTERSECTIONOBSERVER 3823. https://infra.spec.whatwg.org/#tracking-vector 3824. https://infra.spec.whatwg.org/#implementation-defined 3825. https://infra.spec.whatwg.org/#tracking-vector 3826. https://html.spec.whatwg.org/#lazy-load-root-margin 3827. https://html.spec.whatwg.org/#potentially-render-blocking 3828. https://html.spec.whatwg.org/#possible-blocking-token 3829. https://html.spec.whatwg.org/#blocking-attribute 3830. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 3831. https://html.spec.whatwg.org/#possible-blocking-token 3832. https://dom.spec.whatwg.org/#concept-supported-tokens 3833. https://html.spec.whatwg.org/#blocking-attribute 3834. https://html.spec.whatwg.org/#possible-blocking-token 3835. https://html.spec.whatwg.org/#blocking-attribute 3836. https://html.spec.whatwg.org/#blocking-attribute 3837. https://infra.spec.whatwg.org/#ascii-lowercase 3838. https://infra.spec.whatwg.org/#split-on-ascii-whitespace 3839. https://html.spec.whatwg.org/#possible-blocking-token 3840. https://html.spec.whatwg.org/#blocking-tokens-set 3841. https://html.spec.whatwg.org/#blocking-token-render 3842. https://html.spec.whatwg.org/#implicitly-potentially-render-blocking 3843. https://html.spec.whatwg.org/#enumerated-attribute 3844. https://fetch.spec.whatwg.org/#concept-fetch 3845. https://fetch.spec.whatwg.org/#concept-request-destination 3846. https://fetch.spec.whatwg.org/#concept-fetch 3847. https://fetch.spec.whatwg.org/#concept-request-destination 3848. https://fetch.spec.whatwg.org/#concept-fetch 3849. https://fetch.spec.whatwg.org/#concept-request-destination 3850. https://html.spec.whatwg.org/#missing-value-default 3851. https://html.spec.whatwg.org/#invalid-value-default 3852. https://html.spec.whatwg.org/#attr-fetchpriority-auto-state 3853. https://html.spec.whatwg.org/#elementinternals 3854. https://html.spec.whatwg.org/#reflected-idl-attribute 3855. https://html.spec.whatwg.org/#elementinternals 3856. https://html.spec.whatwg.org/#reflected-target 3857. https://html.spec.whatwg.org/#reflected-target 3858. https://html.spec.whatwg.org/#elementinternals 3859. https://html.spec.whatwg.org/#reflected-target 3860. https://html.spec.whatwg.org/#internals-target 3861. https://html.spec.whatwg.org/#internal-content-attribute-map 3862. https://html.spec.whatwg.org/#reflected-idl-attribute 3863. https://html.spec.whatwg.org/#reflected-content-attribute-name 3864. https://html.spec.whatwg.org/#reflected-target 3865. https://html.spec.whatwg.org/#reflected-target 3866. https://html.spec.whatwg.org/#reflected-idl-attribute 3867. https://html.spec.whatwg.org/#elementinternals 3868. https://html.spec.whatwg.org/#reflected-idl-attribute 3869. https://html.spec.whatwg.org/#reflected-idl-attribute 3870. https://html.spec.whatwg.org/#reflect 3871. https://html.spec.whatwg.org/#reflected-content-attribute-name 3872. https://html.spec.whatwg.org/#reflect 3873. https://html.spec.whatwg.org/#support-elementinternals 3874. https://html.spec.whatwg.org/#reflected-target 3875. https://html.spec.whatwg.org/#reflected-target 3876. https://html.spec.whatwg.org/#get-the-element 3877. https://html.spec.whatwg.org/#get-the-content-attribute 3878. https://dom.spec.whatwg.org/#concept-element-attributes-get-by-namespace 3879. https://html.spec.whatwg.org/#reflected-content-attribute-name 3880. https://dom.spec.whatwg.org/#concept-attribute-value 3881. https://html.spec.whatwg.org/#set-the-content-attribute 3882. https://dom.spec.whatwg.org/#concept-element-attributes-set-value 3883. https://html.spec.whatwg.org/#reflected-content-attribute-name 3884. https://html.spec.whatwg.org/#delete-the-content-attribute 3885. https://dom.spec.whatwg.org/#concept-element-attributes-remove-by-namespace 3886. https://html.spec.whatwg.org/#reflected-content-attribute-name 3887. https://html.spec.whatwg.org/#reflected-target 3888. https://html.spec.whatwg.org/#elementinternals 3889. https://html.spec.whatwg.org/#get-the-element 3890. https://html.spec.whatwg.org/#internals-target 3891. https://html.spec.whatwg.org/#get-the-content-attribute 3892. https://html.spec.whatwg.org/#internals-target 3893. https://html.spec.whatwg.org/#internal-content-attribute-map 3894. https://html.spec.whatwg.org/#reflected-content-attribute-name 3895. https://infra.spec.whatwg.org/#map-exists 3896. https://html.spec.whatwg.org/#internals-target 3897. https://html.spec.whatwg.org/#internal-content-attribute-map 3898. https://html.spec.whatwg.org/#reflected-content-attribute-name 3899. https://html.spec.whatwg.org/#set-the-content-attribute 3900. https://infra.spec.whatwg.org/#map-set 3901. https://html.spec.whatwg.org/#internals-target 3902. https://html.spec.whatwg.org/#internal-content-attribute-map 3903. https://html.spec.whatwg.org/#reflected-content-attribute-name 3904. https://html.spec.whatwg.org/#delete-the-content-attribute 3905. https://infra.spec.whatwg.org/#map-remove 3906. https://html.spec.whatwg.org/#internals-target 3907. https://html.spec.whatwg.org/#internal-content-attribute-map 3908. https://html.spec.whatwg.org/#reflected-content-attribute-name 3909. https://html.spec.whatwg.org/#elementinternals 3910. https://html.spec.whatwg.org/#internals-target 3911. https://html.spec.whatwg.org/#internal-content-attribute-map 3912. https://html.spec.whatwg.org/#reflected-target 3913. https://webidl.spec.whatwg.org/#idl-DOMString 3914. https://webidl.spec.whatwg.org/#idl-DOMString 3915. https://html.spec.whatwg.org/#reflect 3916. https://html.spec.whatwg.org/#enumerated-attribute 3917. https://html.spec.whatwg.org/#reflected-idl-attribute 3918. https://webidl.spec.whatwg.org/#idl-DOMString 3919. https://webidl.spec.whatwg.org/#this 3920. https://html.spec.whatwg.org/#get-the-element 3921. https://webidl.spec.whatwg.org/#this 3922. https://html.spec.whatwg.org/#get-the-content-attribute 3923. https://html.spec.whatwg.org/#reflected-content-attribute-name 3924. https://html.spec.whatwg.org/#enumerated-attribute 3925. https://html.spec.whatwg.org/#reflected-idl-attribute 3926. https://html.spec.whatwg.org/#limited-to-only-known-values 3927. https://html.spec.whatwg.org/#missing-value-default 3928. https://html.spec.whatwg.org/#canonical-keyword 3929. https://webidl.spec.whatwg.org/#this 3930. https://html.spec.whatwg.org/#set-the-content-attribute 3931. https://html.spec.whatwg.org/#reflected-idl-attribute 3932. https://webidl.spec.whatwg.org/#idl-DOMString 3933. https://webidl.spec.whatwg.org/#this 3934. https://html.spec.whatwg.org/#get-the-element 3935. https://webidl.spec.whatwg.org/#this 3936. https://html.spec.whatwg.org/#get-the-content-attribute 3937. https://html.spec.whatwg.org/#reflected-content-attribute-name 3938. https://html.spec.whatwg.org/#enumerated-attribute 3939. https://infra.spec.whatwg.org/#assert 3940. https://html.spec.whatwg.org/#reflected-idl-attribute 3941. https://html.spec.whatwg.org/#limited-to-only-known-values 3942. https://infra.spec.whatwg.org/#assert 3943. https://html.spec.whatwg.org/#canonical-keyword 3944. https://webidl.spec.whatwg.org/#this 3945. https://html.spec.whatwg.org/#delete-the-content-attribute 3946. https://webidl.spec.whatwg.org/#this 3947. https://html.spec.whatwg.org/#set-the-content-attribute 3948. https://html.spec.whatwg.org/#reflected-idl-attribute 3949. https://webidl.spec.whatwg.org/#idl-USVString 3950. https://webidl.spec.whatwg.org/#this 3951. https://html.spec.whatwg.org/#get-the-element 3952. https://webidl.spec.whatwg.org/#this 3953. https://html.spec.whatwg.org/#get-the-content-attribute 3954. https://html.spec.whatwg.org/#reflected-content-attribute-name 3955. https://url.spec.whatwg.org/#concept-url 3956. https://html.spec.whatwg.org/#encoding-parsing-and-serializing-a-url 3957. https://dom.spec.whatwg.org/#concept-node-document 3958. https://infra.spec.whatwg.org/#javascript-string-convert 3959. https://webidl.spec.whatwg.org/#this 3960. https://html.spec.whatwg.org/#set-the-content-attribute 3961. https://html.spec.whatwg.org/#reflected-idl-attribute 3962. https://webidl.spec.whatwg.org/#idl-boolean 3963. https://webidl.spec.whatwg.org/#this 3964. https://html.spec.whatwg.org/#get-the-content-attribute 3965. https://webidl.spec.whatwg.org/#this 3966. https://html.spec.whatwg.org/#delete-the-content-attribute 3967. https://webidl.spec.whatwg.org/#this 3968. https://html.spec.whatwg.org/#set-the-content-attribute 3969. https://html.spec.whatwg.org/#boolean-attribute 3970. https://html.spec.whatwg.org/#reflected-idl-attribute 3971. https://webidl.spec.whatwg.org/#idl-long 3972. https://webidl.spec.whatwg.org/#this 3973. https://html.spec.whatwg.org/#get-the-content-attribute 3974. https://html.spec.whatwg.org/#rules-for-parsing-integers 3975. https://html.spec.whatwg.org/#reflected-idl-attribute 3976. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers 3977. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 3978. https://webidl.spec.whatwg.org/#idl-long 3979. https://html.spec.whatwg.org/#reflected-idl-attribute 3980. https://html.spec.whatwg.org/#default-value 3981. https://html.spec.whatwg.org/#reflected-idl-attribute 3982. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers 3983. https://html.spec.whatwg.org/#reflected-idl-attribute 3984. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers 3985. https://webidl.spec.whatwg.org/#indexsizeerror 3986. https://webidl.spec.whatwg.org/#dfn-DOMException 3987. https://webidl.spec.whatwg.org/#this 3988. https://html.spec.whatwg.org/#set-the-content-attribute 3989. https://html.spec.whatwg.org/#valid-integer 3990. https://html.spec.whatwg.org/#reflected-idl-attribute 3991. https://webidl.spec.whatwg.org/#idl-unsigned-long 3992. https://html.spec.whatwg.org/#default-value 3993. https://webidl.spec.whatwg.org/#this 3994. https://html.spec.whatwg.org/#get-the-content-attribute 3995. https://html.spec.whatwg.org/#reflected-idl-attribute 3996. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers-greater-than-zero 3997. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers-greater-than-zero-with-fallback 3998. https://html.spec.whatwg.org/#reflected-idl-attribute 3999. https://html.spec.whatwg.org/#clamped-to-the-range 4000. https://html.spec.whatwg.org/#reflected-idl-attribute 4001. https://html.spec.whatwg.org/#clamped-to-the-range 4002. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 4003. https://html.spec.whatwg.org/#reflected-idl-attribute 4004. https://html.spec.whatwg.org/#clamped-to-the-range 4005. https://html.spec.whatwg.org/#reflected-idl-attribute 4006. https://html.spec.whatwg.org/#default-value 4007. https://html.spec.whatwg.org/#reflected-idl-attribute 4008. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers-greater-than-zero 4009. https://webidl.spec.whatwg.org/#indexsizeerror 4010. https://webidl.spec.whatwg.org/#dfn-DOMException 4011. https://html.spec.whatwg.org/#reflected-idl-attribute 4012. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers-greater-than-zero 4013. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers-greater-than-zero-with-fallback 4014. https://html.spec.whatwg.org/#reflected-idl-attribute 4015. https://html.spec.whatwg.org/#default-value 4016. https://webidl.spec.whatwg.org/#this 4017. https://html.spec.whatwg.org/#set-the-content-attribute 4018. https://html.spec.whatwg.org/#valid-non-negative-integer 4019. https://html.spec.whatwg.org/#clamped-to-the-range 4020. https://html.spec.whatwg.org/#reflected-idl-attribute 4021. https://webidl.spec.whatwg.org/#idl-double 4022. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers-greater-than-zero 4023. https://html.spec.whatwg.org/#default-value 4024. https://webidl.spec.whatwg.org/#this 4025. https://html.spec.whatwg.org/#get-the-content-attribute 4026. https://html.spec.whatwg.org/#rules-for-parsing-floating-point-number-values 4027. https://html.spec.whatwg.org/#reflected-idl-attribute 4028. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers-greater-than-zero 4029. https://html.spec.whatwg.org/#reflected-idl-attribute 4030. https://html.spec.whatwg.org/#default-value 4031. https://html.spec.whatwg.org/#reflected-idl-attribute 4032. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers-greater-than-zero 4033. https://webidl.spec.whatwg.org/#this 4034. https://html.spec.whatwg.org/#set-the-content-attribute 4035. https://html.spec.whatwg.org/#best-representation-of-the-number-as-a-floating-point-number 4036. https://html.spec.whatwg.org/#refsWEBIDL 4037. https://html.spec.whatwg.org/#reflected-idl-attribute 4038. https://dom.spec.whatwg.org/#interface-domtokenlist 4039. https://dom.spec.whatwg.org/#interface-domtokenlist 4040. https://webidl.spec.whatwg.org/#this 4041. https://html.spec.whatwg.org/#reflected-content-attribute-name 4042. https://html.spec.whatwg.org/#support-elementinternals 4043. https://html.spec.whatwg.org/#reflected-idl-attribute 4044. https://dom.spec.whatwg.org/#interface-element 4045. https://dom.spec.whatwg.org/#interface-element 4046. https://html.spec.whatwg.org/#reflected-content-attribute-name 4047. https://html.spec.whatwg.org/#reflected-target 4048. https://html.spec.whatwg.org/#reflected-target 4049. https://html.spec.whatwg.org/#get-the-element 4050. https://html.spec.whatwg.org/#get-the-content-attribute 4051. https://html.spec.whatwg.org/#explicitly-set-attr-element 4052. https://html.spec.whatwg.org/#explicitly-set-attr-element 4053. https://dom.spec.whatwg.org/#concept-tree-descendant 4054. https://dom.spec.whatwg.org/#concept-shadow-including-ancestor 4055. https://html.spec.whatwg.org/#explicitly-set-attr-element 4056. https://dom.spec.whatwg.org/#concept-tree-order 4057. https://dom.spec.whatwg.org/#concept-tree-root 4058. https://dom.spec.whatwg.org/#concept-tree-root 4059. https://dom.spec.whatwg.org/#concept-id 4060. https://webidl.spec.whatwg.org/#implements 4061. https://webidl.spec.whatwg.org/#this 4062. https://html.spec.whatwg.org/#attr-associated-element 4063. https://webidl.spec.whatwg.org/#this 4064. https://html.spec.whatwg.org/#explicitly-set-attr-element 4065. https://webidl.spec.whatwg.org/#this 4066. https://html.spec.whatwg.org/#delete-the-content-attribute 4067. https://webidl.spec.whatwg.org/#this 4068. https://html.spec.whatwg.org/#set-the-content-attribute 4069. https://webidl.spec.whatwg.org/#this 4070. https://html.spec.whatwg.org/#explicitly-set-attr-element 4071. https://html.spec.whatwg.org/#reflected-target 4072. https://dom.spec.whatwg.org/#concept-element-attributes-change-ext 4073. https://html.spec.whatwg.org/#explicitly-set-attr-element 4074. https://html.spec.whatwg.org/#reflected-idl-attribute 4075. https://html.spec.whatwg.org/#reflected-idl-attribute 4076. https://dom.spec.whatwg.org/#interface-element 4077. https://dom.spec.whatwg.org/#interface-element 4078. https://html.spec.whatwg.org/#reflected-content-attribute-name 4079. https://html.spec.whatwg.org/#reflected-target 4080. https://infra.spec.whatwg.org/#list 4081. https://html.spec.whatwg.org/#reflected-target 4082. https://infra.spec.whatwg.org/#list 4083. https://html.spec.whatwg.org/#reflected-target 4084. https://html.spec.whatwg.org/#reflected-target 4085. https://infra.spec.whatwg.org/#list 4086. https://html.spec.whatwg.org/#get-the-element 4087. https://html.spec.whatwg.org/#explicitly-set-attr-elements 4088. https://infra.spec.whatwg.org/#list-iterate 4089. https://html.spec.whatwg.org/#explicitly-set-attr-elements 4090. https://dom.spec.whatwg.org/#concept-tree-descendant 4091. https://dom.spec.whatwg.org/#concept-shadow-including-ancestor 4092. https://infra.spec.whatwg.org/#iteration-continue 4093. https://infra.spec.whatwg.org/#list-append 4094. https://html.spec.whatwg.org/#get-the-content-attribute 4095. https://infra.spec.whatwg.org/#split-on-ascii-whitespace 4096. https://infra.spec.whatwg.org/#list-iterate 4097. https://dom.spec.whatwg.org/#concept-tree-order 4098. https://dom.spec.whatwg.org/#concept-tree-root 4099. https://dom.spec.whatwg.org/#concept-tree-root 4100. https://dom.spec.whatwg.org/#concept-id 4101. https://webidl.spec.whatwg.org/#implements 4102. https://infra.spec.whatwg.org/#iteration-continue 4103. https://infra.spec.whatwg.org/#list-append 4104. https://webidl.spec.whatwg.org/#this 4105. https://html.spec.whatwg.org/#attr-associated-elements 4106. https://webidl.spec.whatwg.org/#this 4107. https://html.spec.whatwg.org/#cached-attr-associated-elements 4108. https://webidl.spec.whatwg.org/#this 4109. https://html.spec.whatwg.org/#cached-attr-associated-elements-object 4110. https://webidl.spec.whatwg.org/#es-type-mapping 4111. https://webidl.spec.whatwg.org/#this 4112. https://html.spec.whatwg.org/#cached-attr-associated-elements 4113. https://webidl.spec.whatwg.org/#this 4114. https://html.spec.whatwg.org/#cached-attr-associated-elements-object 4115. https://webidl.spec.whatwg.org/#this 4116. https://html.spec.whatwg.org/#explicitly-set-attr-elements 4117. https://webidl.spec.whatwg.org/#this 4118. https://html.spec.whatwg.org/#delete-the-content-attribute 4119. https://webidl.spec.whatwg.org/#this 4120. https://html.spec.whatwg.org/#set-the-content-attribute 4121. https://infra.spec.whatwg.org/#list 4122. https://infra.spec.whatwg.org/#list-iterate 4123. https://infra.spec.whatwg.org/#list-append 4124. https://webidl.spec.whatwg.org/#this 4125. https://html.spec.whatwg.org/#explicitly-set-attr-elements 4126. https://html.spec.whatwg.org/#reflected-target 4127. https://dom.spec.whatwg.org/#concept-element-attributes-change-ext 4128. https://html.spec.whatwg.org/#explicitly-set-attr-elements 4129. https://html.spec.whatwg.org/#reflected-idl-attribute 4130. https://html.spec.whatwg.org/#reflect 4131. https://html.spec.whatwg.org/#reflected-idl-attribute 4132. https://html.spec.whatwg.org/#reflected-idl-attribute 4133. https://html.spec.whatwg.org/#enumerated-attribute 4134. https://html.spec.whatwg.org/#reflected-idl-attribute 4135. https://dom.spec.whatwg.org/#interface-element 4136. https://dom.spec.whatwg.org/#interface-element 4137. https://dom.spec.whatwg.org/#interface-element 4138. https://dom.spec.whatwg.org/#interface-element 4139. https://html.spec.whatwg.org/#reflected-target 4140. https://html.spec.whatwg.org/#attr-associated-element 4141. https://html.spec.whatwg.org/#attr-associated-elements 4142. https://html.spec.whatwg.org/#reflected-idl-attribute 4143. https://html.spec.whatwg.org/#reflected-target 4144. https://html.spec.whatwg.org/#explicitly-set-attr-element 4145. https://html.spec.whatwg.org/#explicitly-set-attr-elements 4146. https://html.spec.whatwg.org/#cached-attr-associated-elements 4147. https://html.spec.whatwg.org/#cached-attr-associated-elements-object 4148. https://html.spec.whatwg.org/#htmlformcontrolscollection 4149. https://html.spec.whatwg.org/#htmloptionscollection 4150. https://dom.spec.whatwg.org/#concept-collection 4151. https://dom.spec.whatwg.org/#interface-htmlcollection 4152. https://html.spec.whatwg.org/#htmlallcollection 4153. https://dom.spec.whatwg.org/#concept-collection 4154. https://html.spec.whatwg.org/#htmlallcollection 4155. https://html.spec.whatwg.org/#htmlallcollection 4156. https://html.spec.whatwg.org/#dom-document-all 4157. https://dom.spec.whatwg.org/#interface-htmlcollection 4158. https://html.spec.whatwg.org/#htmlallcollection 4159. https://html.spec.whatwg.org/#document 4160. https://dom.spec.whatwg.org/#represented-by-the-collection 4161. https://html.spec.whatwg.org/#htmlallcollection 4162. https://html.spec.whatwg.org/#document 4163. https://html.spec.whatwg.org/#htmlallcollection 4164. https://webidl.spec.whatwg.org/#dfn-legacy-platform-object 4165. https://html.spec.whatwg.org/#HTMLAllCollection-call 4166. https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot 4167. https://html.spec.whatwg.org/#htmlallcollection 4168. https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot 4169. https://tc39.es/ecma262/#sec-toboolean 4170. https://html.spec.whatwg.org/#htmlallcollection 4171. https://tc39.es/ecma262/#sec-islooselyequal 4172. https://html.spec.whatwg.org/#htmlallcollection 4173. https://tc39.es/ecma262/#sec-isstrictlyequal 4174. https://tc39.es/ecma262/#sec-typeof-operator 4175. https://html.spec.whatwg.org/#htmlallcollection 4176. https://html.spec.whatwg.org/#dom-document-all 4177. https://html.spec.whatwg.org/#dom-document-all 4178. https://html.spec.whatwg.org/#refsJAVASCRIPT 4179. https://webidl.spec.whatwg.org/#LegacyUnenumerableNamedProperties 4180. https://html.spec.whatwg.org/#dom-htmlallcollection-length 4181. https://dom.spec.whatwg.org/#interface-element 4182. https://dom.spec.whatwg.org/#interface-htmlcollection 4183. https://dom.spec.whatwg.org/#interface-element 4184. https://html.spec.whatwg.org/#dom-htmlallcollection-nameditem 4185. https://dom.spec.whatwg.org/#interface-htmlcollection 4186. https://dom.spec.whatwg.org/#interface-element 4187. https://html.spec.whatwg.org/#dom-htmlallcollection-item 4188. https://html.spec.whatwg.org/#HTMLAllCollection-call 4189. https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot 4190. https://webidl.spec.whatwg.org/#dfn-supported-property-indices 4191. https://dom.spec.whatwg.org/#interface-htmlcollection 4192. https://webidl.spec.whatwg.org/#dfn-supported-property-names 4193. https://html.spec.whatwg.org/#the-id-attribute 4194. https://dom.spec.whatwg.org/#represented-by-the-collection 4195. https://html.spec.whatwg.org/#all-named-elements 4196. https://dom.spec.whatwg.org/#represented-by-the-collection 4197. https://dom.spec.whatwg.org/#concept-tree-order 4198. https://html.spec.whatwg.org/#the-id-attribute 4199. https://dom.spec.whatwg.org/#represented-by-the-collection 4200. https://html.spec.whatwg.org/#concept-get-all-indexed 4201. https://webidl.spec.whatwg.org/#this 4202. https://html.spec.whatwg.org/#concept-get-all-named 4203. https://webidl.spec.whatwg.org/#this 4204. https://html.spec.whatwg.org/#concept-get-all-indexed-or-named 4205. https://webidl.spec.whatwg.org/#this 4206. https://html.spec.whatwg.org/#the-a-element 4207. https://html.spec.whatwg.org/#the-button-element 4208. https://html.spec.whatwg.org/#the-embed-element 4209. https://html.spec.whatwg.org/#the-form-element 4210. https://html.spec.whatwg.org/#frame 4211. https://html.spec.whatwg.org/#frameset 4212. https://html.spec.whatwg.org/#the-iframe-element 4213. https://html.spec.whatwg.org/#the-img-element 4214. https://html.spec.whatwg.org/#the-input-element 4215. https://html.spec.whatwg.org/#the-map-element 4216. https://html.spec.whatwg.org/#the-meta-element 4217. https://html.spec.whatwg.org/#the-object-element 4218. https://html.spec.whatwg.org/#the-select-element 4219. https://html.spec.whatwg.org/#the-textarea-element 4220. https://html.spec.whatwg.org/#htmlallcollection 4221. https://html.spec.whatwg.org/#htmlallcollection 4222. https://dom.spec.whatwg.org/#interface-htmlcollection 4223. https://html.spec.whatwg.org/#document 4224. https://html.spec.whatwg.org/#all-named-elements 4225. https://dom.spec.whatwg.org/#concept-id 4226. https://html.spec.whatwg.org/#htmlallcollection 4227. https://webidl.spec.whatwg.org/#es-type-mapping 4228. https://webidl.spec.whatwg.org/#dfn-array-index-property-name 4229. https://html.spec.whatwg.org/#concept-get-all-indexed 4230. https://html.spec.whatwg.org/#concept-get-all-named 4231. https://infra.spec.whatwg.org/#list-size 4232. https://webidl.spec.whatwg.org/#es-type-mapping 4233. https://webidl.spec.whatwg.org/#idl-DOMString 4234. https://html.spec.whatwg.org/#concept-get-all-indexed-or-named 4235. https://html.spec.whatwg.org/#htmlallcollection 4236. https://webidl.spec.whatwg.org/#es-type-mapping 4237. https://html.spec.whatwg.org/#htmlformcontrolscollection 4238. https://html.spec.whatwg.org/#htmlformcontrolscollection 4239. https://dom.spec.whatwg.org/#concept-collection 4240. https://html.spec.whatwg.org/#category-listed 4241. https://html.spec.whatwg.org/#the-form-element 4242. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormControlsCollection 4243. https://developer.mozilla.org/en-US/docs/Web/API/RadioNodeList 4244. https://dom.spec.whatwg.org/#interface-htmlcollection 4245. https://dom.spec.whatwg.org/#dom-htmlcollection-length 4246. https://dom.spec.whatwg.org/#dom-htmlcollection-item 4247. https://html.spec.whatwg.org/#radionodelist 4248. https://dom.spec.whatwg.org/#interface-element 4249. https://html.spec.whatwg.org/#dom-htmlformcontrolscollection-nameditem 4250. https://dom.spec.whatwg.org/#dom-htmlcollection-nameditem 4251. https://dom.spec.whatwg.org/#interface-nodelist 4252. https://html.spec.whatwg.org/#dom-radionodelist-value 4253. https://dom.spec.whatwg.org/#dom-htmlcollection-length 4254. https://dom.spec.whatwg.org/#dom-htmlcollection-item 4255. https://dom.spec.whatwg.org/#concept-tree-order 4256. https://html.spec.whatwg.org/#dom-htmlformcontrolscollection-nameditem 4257. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormControlsCollection/namedItem 4258. https://html.spec.whatwg.org/#dom-htmlformcontrolscollection-nameditem 4259. https://dom.spec.whatwg.org/#concept-id 4260. https://html.spec.whatwg.org/#attr-fe-name 4261. https://html.spec.whatwg.org/#radionodelist 4262. https://html.spec.whatwg.org/#dom-radionodelist-value 4263. https://html.spec.whatwg.org/#dom-radionodelist-value 4264. https://webidl.spec.whatwg.org/#dfn-supported-property-indices 4265. https://dom.spec.whatwg.org/#interface-htmlcollection 4266. https://webidl.spec.whatwg.org/#dfn-supported-property-names 4267. https://html.spec.whatwg.org/#the-id-attribute 4268. https://html.spec.whatwg.org/#attr-fe-name 4269. https://dom.spec.whatwg.org/#represented-by-the-collection 4270. https://dom.spec.whatwg.org/#concept-tree-order 4271. https://html.spec.whatwg.org/#the-id-attribute 4272. https://html.spec.whatwg.org/#attr-fe-name 4273. https://html.spec.whatwg.org/#the-id-attribute 4274. https://html.spec.whatwg.org/#attr-fe-name 4275. https://html.spec.whatwg.org/#the-id-attribute 4276. https://html.spec.whatwg.org/#attr-fe-name 4277. https://html.spec.whatwg.org/#radionodelist 4278. https://html.spec.whatwg.org/#live 4279. https://html.spec.whatwg.org/#htmlformcontrolscollection 4280. https://html.spec.whatwg.org/#radionodelist 4281. https://html.spec.whatwg.org/#the-id-attribute 4282. https://html.spec.whatwg.org/#attr-fe-name 4283. https://html.spec.whatwg.org/#radionodelist 4284. https://dom.spec.whatwg.org/#concept-tree-order 4285. https://html.spec.whatwg.org/#radionodelist 4286. https://html.spec.whatwg.org/#radionodelist 4287. https://dom.spec.whatwg.org/#interface-nodelist 4288. https://dom.spec.whatwg.org/#interface-nodelist 4289. https://developer.mozilla.org/en-US/docs/Web/API/RadioNodeList/value 4290. https://html.spec.whatwg.org/#radionodelist 4291. https://dom.spec.whatwg.org/#concept-tree-order 4292. https://html.spec.whatwg.org/#radionodelist 4293. https://html.spec.whatwg.org/#the-input-element 4294. https://html.spec.whatwg.org/#attr-input-type 4295. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 4296. https://html.spec.whatwg.org/#concept-fe-checked 4297. https://html.spec.whatwg.org/#attr-input-value 4298. https://html.spec.whatwg.org/#attr-input-value 4299. https://html.spec.whatwg.org/#dom-radionodelist-value 4300. https://dom.spec.whatwg.org/#concept-tree-order 4301. https://html.spec.whatwg.org/#radionodelist 4302. https://html.spec.whatwg.org/#the-input-element 4303. https://html.spec.whatwg.org/#attr-input-type 4304. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 4305. https://html.spec.whatwg.org/#attr-input-value 4306. https://dom.spec.whatwg.org/#concept-tree-order 4307. https://html.spec.whatwg.org/#radionodelist 4308. https://html.spec.whatwg.org/#the-input-element 4309. https://html.spec.whatwg.org/#attr-input-type 4310. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 4311. https://html.spec.whatwg.org/#attr-input-value 4312. https://html.spec.whatwg.org/#concept-fe-checked 4313. https://html.spec.whatwg.org/#htmloptionscollection 4314. https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionsCollection 4315. https://html.spec.whatwg.org/#htmloptionscollection 4316. https://dom.spec.whatwg.org/#concept-collection 4317. https://html.spec.whatwg.org/#the-option-element 4318. https://html.spec.whatwg.org/#the-select-element 4319. https://dom.spec.whatwg.org/#interface-htmlcollection 4320. https://dom.spec.whatwg.org/#dom-htmlcollection-item 4321. https://dom.spec.whatwg.org/#dom-htmlcollection-nameditem 4322. https://html.spec.whatwg.org/#cereactions 4323. https://html.spec.whatwg.org/#dom-htmloptionscollection-length 4324. https://dom.spec.whatwg.org/#dom-htmlcollection-length 4325. https://html.spec.whatwg.org/#cereactions 4326. https://html.spec.whatwg.org/#dom-htmloptionscollection-setter 4327. https://html.spec.whatwg.org/#htmloptionelement 4328. https://html.spec.whatwg.org/#cereactions 4329. https://html.spec.whatwg.org/#dom-htmloptionscollection-add 4330. https://html.spec.whatwg.org/#htmloptionelement 4331. https://html.spec.whatwg.org/#htmloptgroupelement 4332. https://html.spec.whatwg.org/#htmlelement 4333. https://html.spec.whatwg.org/#cereactions 4334. https://html.spec.whatwg.org/#dom-htmloptionscollection-remove 4335. https://html.spec.whatwg.org/#dom-htmloptionscollection-selectedindex 4336. https://html.spec.whatwg.org/#dom-htmloptionscollection-length 4337. https://html.spec.whatwg.org/#dom-htmloptionscollection-length 4338. https://html.spec.whatwg.org/#the-option-element 4339. https://html.spec.whatwg.org/#the-option-element 4340. https://dom.spec.whatwg.org/#dom-htmlcollection-item 4341. https://dom.spec.whatwg.org/#concept-tree-order 4342. https://html.spec.whatwg.org/#the-option-element 4343. https://html.spec.whatwg.org/#the-option-element 4344. https://dom.spec.whatwg.org/#dom-htmlcollection-nameditem 4345. https://dom.spec.whatwg.org/#concept-id 4346. https://html.spec.whatwg.org/#attr-option-name 4347. https://html.spec.whatwg.org/#dom-htmloptionscollection-add 4348. https://webidl.spec.whatwg.org/#hierarchyrequesterror 4349. https://webidl.spec.whatwg.org/#dfn-DOMException 4350. https://html.spec.whatwg.org/#dom-htmloptionscollection-remove 4351. https://html.spec.whatwg.org/#dom-htmloptionscollection-selectedindex 4352. https://html.spec.whatwg.org/#dom-htmloptionscollection-selectedindex 4353. https://html.spec.whatwg.org/#the-option-element 4354. https://webidl.spec.whatwg.org/#dfn-supported-property-indices 4355. https://dom.spec.whatwg.org/#interface-htmlcollection 4356. https://dom.spec.whatwg.org/#represented-by-the-collection 4357. https://html.spec.whatwg.org/#dom-htmloptionscollection-length 4358. https://dom.spec.whatwg.org/#represented-by-the-collection 4359. https://html.spec.whatwg.org/#the-option-element 4360. https://html.spec.whatwg.org/#the-select-element 4361. https://webidl.spec.whatwg.org/#this 4362. https://html.spec.whatwg.org/#dom-htmloptionscollection-length 4363. https://html.spec.whatwg.org/#the-optgroup-element 4364. https://html.spec.whatwg.org/#the-optgroup-element 4365. https://webidl.spec.whatwg.org/#dfn-supported-property-names 4366. https://html.spec.whatwg.org/#the-id-attribute 4367. https://html.spec.whatwg.org/#attr-option-name 4368. https://dom.spec.whatwg.org/#represented-by-the-collection 4369. https://dom.spec.whatwg.org/#concept-tree-order 4370. https://html.spec.whatwg.org/#the-id-attribute 4371. https://html.spec.whatwg.org/#attr-option-name 4372. https://webidl.spec.whatwg.org/#dfn-set-the-value-of-a-new-indexed-property 4373. https://webidl.spec.whatwg.org/#dfn-set-the-value-of-an-existing-indexed-property 4374. https://html.spec.whatwg.org/#dom-htmloptionscollection-remove 4375. https://dom.spec.whatwg.org/#represented-by-the-collection 4376. https://dom.spec.whatwg.org/#concept-node-append 4377. https://dom.spec.whatwg.org/#interface-documentfragment 4378. https://html.spec.whatwg.org/#the-option-element 4379. https://html.spec.whatwg.org/#the-select-element 4380. https://html.spec.whatwg.org/#htmloptionscollection 4381. https://dom.spec.whatwg.org/#concept-node-append 4382. https://html.spec.whatwg.org/#the-select-element 4383. https://dom.spec.whatwg.org/#concept-node-replace 4384. https://html.spec.whatwg.org/#the-select-element 4385. https://html.spec.whatwg.org/#htmloptionscollection 4386. https://webidl.spec.whatwg.org/#hierarchyrequesterror 4387. https://webidl.spec.whatwg.org/#dfn-DOMException 4388. https://html.spec.whatwg.org/#the-select-element 4389. https://html.spec.whatwg.org/#htmloptionscollection 4390. https://webidl.spec.whatwg.org/#notfounderror 4391. https://webidl.spec.whatwg.org/#dfn-DOMException 4392. https://html.spec.whatwg.org/#the-select-element 4393. https://html.spec.whatwg.org/#htmloptionscollection 4394. https://dom.spec.whatwg.org/#concept-node-pre-insert 4395. https://dom.spec.whatwg.org/#represented-by-the-collection 4396. https://dom.spec.whatwg.org/#represented-by-the-collection 4397. https://html.spec.whatwg.org/#the-select-element 4398. https://html.spec.whatwg.org/#htmloptionscollection 4399. https://html.spec.whatwg.org/#domstringlist 4400. https://developer.mozilla.org/en-US/docs/Web/API/DOMStringList 4401. https://html.spec.whatwg.org/#domstringlist 4402. https://html.spec.whatwg.org/#dom-domstringlist-length 4403. https://html.spec.whatwg.org/#dom-domstringlist-item 4404. https://html.spec.whatwg.org/#dom-domstringlist-contains 4405. https://html.spec.whatwg.org/#domstringlist 4406. https://html.spec.whatwg.org/#dom-domstringlist-length 4407. https://html.spec.whatwg.org/#dom-domstringlist-item 4408. https://html.spec.whatwg.org/#dom-domstringlist-contains 4409. https://html.spec.whatwg.org/#domstringlist 4410. https://infra.spec.whatwg.org/#list 4411. https://html.spec.whatwg.org/#domstringlist 4412. https://webidl.spec.whatwg.org/#dfn-support-indexed-properties 4413. https://webidl.spec.whatwg.org/#dfn-supported-property-indices 4414. https://infra.spec.whatwg.org/#list-get-the-indices 4415. https://webidl.spec.whatwg.org/#this 4416. https://developer.mozilla.org/en-US/docs/Web/API/DOMStringList/length 4417. https://webidl.spec.whatwg.org/#this 4418. https://infra.spec.whatwg.org/#list-size 4419. https://developer.mozilla.org/en-US/docs/Web/API/DOMStringList/item 4420. https://webidl.spec.whatwg.org/#this 4421. https://webidl.spec.whatwg.org/#this 4422. https://infra.spec.whatwg.org/#list-size 4423. https://developer.mozilla.org/en-US/docs/Web/API/DOMStringList/contains 4424. https://webidl.spec.whatwg.org/#this 4425. https://infra.spec.whatwg.org/#list-contain 4426. https://webidl.spec.whatwg.org/#dfn-platform-object 4427. https://tc39.es/ecma262/#sec-code-realms 4428. https://html.spec.whatwg.org/#dom-structuredclone 4429. https://html.spec.whatwg.org/#refsJAVASCRIPT 4430. https://developer.mozilla.org/en-US/docs/Web/https://developer.mozilla.org/en-US/docs/Glossary/Serializable_object 4431. https://developer.mozilla.org/en-US/docs/Web/https://developer.mozilla.org/en-US/docs/Glossary/Serializable_object 4432. https://developer.mozilla.org/en-US/docs/Web/https://developer.mozilla.org/en-US/docs/Glossary/Serializable_object 4433. https://developer.mozilla.org/en-US/docs/Web/https://developer.mozilla.org/en-US/docs/Glossary/Serializable_object 4434. https://developer.mozilla.org/en-US/docs/Web/https://developer.mozilla.org/en-US/docs/Glossary/Serializable_object 4435. https://developer.mozilla.org/en-US/docs/Web/https://developer.mozilla.org/en-US/docs/Glossary/Serializable_object 4436. https://developer.mozilla.org/en-US/docs/Web/https://developer.mozilla.org/en-US/docs/Glossary/Serializable_object 4437. https://html.spec.whatwg.org/#serializable-objects 4438. https://tc39.es/ecma262/#sec-code-realms 4439. https://tc39.es/ecma262/#sec-agents 4440. https://tc39.es/ecma262/#sec-agent-clusters 4441. https://html.spec.whatwg.org/#serializable-objects 4442. https://html.spec.whatwg.org/#serializable-objects 4443. https://webidl.spec.whatwg.org/#dfn-platform-object 4444. https://html.spec.whatwg.org/#serializable-objects 4445. https://webidl.spec.whatwg.org/#dfn-primary-interface 4446. https://webidl.spec.whatwg.org/#dfn-extended-attribute 4447. https://webidl.spec.whatwg.org/#dfn-platform-object 4448. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4449. https://tc39.es/ecma262/#sec-code-realms 4450. https://html.spec.whatwg.org/#sub-serialization 4451. https://html.spec.whatwg.org/#structuredserialize 4452. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4453. https://webidl.spec.whatwg.org/#dfn-platform-object 4454. https://tc39.es/ecma262/#sec-code-realms 4455. https://webidl.spec.whatwg.org/#dfn-platform-object 4456. https://html.spec.whatwg.org/#sub-deserialization 4457. https://html.spec.whatwg.org/#structureddeserialize 4458. https://html.spec.whatwg.org/#serializable 4459. https://webidl.spec.whatwg.org/#dfn-platform-object 4460. https://webidl.spec.whatwg.org/#dfn-primary-interface 4461. https://html.spec.whatwg.org/#serializable 4462. https://html.spec.whatwg.org/#serialization-steps 4463. https://html.spec.whatwg.org/#deserialization-steps 4464. https://html.spec.whatwg.org/#serializable-objects 4465. https://html.spec.whatwg.org/#serializable 4466. https://webidl.spec.whatwg.org/#dfn-extended-attribute 4467. https://html.spec.whatwg.org/#serialization-steps 4468. https://html.spec.whatwg.org/#sub-serialization 4469. https://html.spec.whatwg.org/#deserialization-steps 4470. https://html.spec.whatwg.org/#sub-deserialization 4471. https://html.spec.whatwg.org/#structuredserialize 4472. https://tc39.es/ecma262/#sec-code-realms 4473. https://html.spec.whatwg.org/#transferable-objects 4474. https://tc39.es/ecma262/#sec-agents 4475. https://html.spec.whatwg.org/#transferable-objects 4476. https://html.spec.whatwg.org/#transferable-objects 4477. https://webidl.spec.whatwg.org/#dfn-platform-object 4478. https://html.spec.whatwg.org/#transferable-objects 4479. https://webidl.spec.whatwg.org/#dfn-primary-interface 4480. https://webidl.spec.whatwg.org/#dfn-extended-attribute 4481. https://webidl.spec.whatwg.org/#dfn-platform-object 4482. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4483. https://tc39.es/ecma262/#sec-code-realms 4484. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4485. https://webidl.spec.whatwg.org/#dfn-platform-object 4486. https://webidl.spec.whatwg.org/#dfn-platform-object 4487. https://html.spec.whatwg.org/#transferable 4488. https://webidl.spec.whatwg.org/#dfn-platform-object 4489. https://webidl.spec.whatwg.org/#dfn-primary-interface 4490. https://html.spec.whatwg.org/#transferable 4491. https://html.spec.whatwg.org/#transfer-steps 4492. https://html.spec.whatwg.org/#transfer-receiving-steps 4493. https://webidl.spec.whatwg.org/#dfn-platform-object 4494. https://html.spec.whatwg.org/#transferable-objects 4495. https://html.spec.whatwg.org/#structuredserializewithtransfer 4496. https://html.spec.whatwg.org/#structuredserializeinternal 4497. https://tc39.es/ecma262/#sec-code-realms 4498. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4499. https://infra.spec.whatwg.org/#ordered-map 4500. https://infra.spec.whatwg.org/#map-exists 4501. https://tc39.es/ecma262/#sec-ecmascript-language-types-boolean-type 4502. https://tc39.es/ecma262/#sec-ecmascript-language-types-number-type 4503. https://tc39.es/ecma262/#sec-ecmascript-language-types-bigint-type 4504. https://tc39.es/ecma262/#sec-ecmascript-language-types-string-type 4505. https://tc39.es/ecma262/#sec-ecmascript-language-types-symbol-type 4506. https://webidl.spec.whatwg.org/#datacloneerror 4507. https://webidl.spec.whatwg.org/#dfn-DOMException 4508. https://tc39.es/ecma262/#sec-issharedarraybuffer 4509. https://html.spec.whatwg.org/#current-settings-object 4510. https://html.spec.whatwg.org/#concept-settings-object-cross-origin-isolated-capability 4511. https://webidl.spec.whatwg.org/#datacloneerror 4512. https://webidl.spec.whatwg.org/#dfn-DOMException 4513. https://html.spec.whatwg.org/#concept-settings-object-cross-origin-isolated-capability 4514. https://tc39.es/ecma262/#sec-sharedarraybuffer-objects 4515. https://tc39.es/ecma262/#sec-agent-clusters 4516. https://webidl.spec.whatwg.org/#datacloneerror 4517. https://webidl.spec.whatwg.org/#dfn-DOMException 4518. https://tc39.es/ecma262/#surrounding-agent 4519. https://tc39.es/ecma262/#sec-agent-clusters 4520. https://tc39.es/ecma262/#surrounding-agent 4521. https://tc39.es/ecma262/#sec-agent-clusters 4522. https://tc39.es/ecma262/#sec-isdetachedbuffer 4523. https://webidl.spec.whatwg.org/#datacloneerror 4524. https://webidl.spec.whatwg.org/#dfn-DOMException 4525. https://tc39.es/ecma262/#sec-createbytedatablock 4526. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-rangeerror 4527. https://tc39.es/ecma262/#sec-copydatablockbytes 4528. https://tc39.es/ecma262/#sec-isarraybufferviewoutofbounds 4529. https://webidl.spec.whatwg.org/#datacloneerror 4530. https://webidl.spec.whatwg.org/#dfn-DOMException 4531. https://html.spec.whatwg.org/#structuredserializeinternal 4532. https://infra.spec.whatwg.org/#assert 4533. https://infra.spec.whatwg.org/#assert 4534. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4535. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4536. https://webidl.spec.whatwg.org/#dfn-platform-object 4537. https://tc39.es/ecma262/#sec-get-o-p 4538. https://tc39.es/ecma262/#sec-isdatadescriptor 4539. https://tc39.es/ecma262/#sec-tostring 4540. https://html.spec.whatwg.org/#refsJSERRORSTACKS 4541. https://tc39.es/ecma262/#sec-ordinarygetownproperty 4542. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4543. https://webidl.spec.whatwg.org/#dfn-platform-object 4544. https://html.spec.whatwg.org/#serializable-objects 4545. https://html.spec.whatwg.org/#detached 4546. https://webidl.spec.whatwg.org/#datacloneerror 4547. https://webidl.spec.whatwg.org/#dfn-DOMException 4548. https://webidl.spec.whatwg.org/#dfn-primary-interface 4549. https://webidl.spec.whatwg.org/#dfn-platform-object 4550. https://webidl.spec.whatwg.org/#datacloneerror 4551. https://webidl.spec.whatwg.org/#dfn-DOMException 4552. https://tc39.es/ecma262/#sec-iscallable 4553. https://webidl.spec.whatwg.org/#datacloneerror 4554. https://webidl.spec.whatwg.org/#dfn-DOMException 4555. https://webidl.spec.whatwg.org/#datacloneerror 4556. https://webidl.spec.whatwg.org/#dfn-DOMException 4557. https://tc39.es/ecma262/#sec-properties-of-the-object-prototype-object 4558. https://tc39.es/ecma262/#sec-code-realms 4559. https://webidl.spec.whatwg.org/#datacloneerror 4560. https://webidl.spec.whatwg.org/#dfn-DOMException 4561. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4562. https://tc39.es/ecma262/#sec-properties-of-the-object-prototype-object 4563. https://tc39.es/ecma262/#immutable-prototype-exotic-object 4564. https://infra.spec.whatwg.org/#map-set 4565. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4566. https://infra.spec.whatwg.org/#list-iterate 4567. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4568. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4569. https://infra.spec.whatwg.org/#list-append 4570. https://infra.spec.whatwg.org/#list-iterate 4571. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4572. https://html.spec.whatwg.org/#structuredserializeinternal 4573. https://html.spec.whatwg.org/#structuredserializeinternal 4574. https://infra.spec.whatwg.org/#list-append 4575. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4576. https://infra.spec.whatwg.org/#list-iterate 4577. https://infra.spec.whatwg.org/#list-append 4578. https://infra.spec.whatwg.org/#list-iterate 4579. https://html.spec.whatwg.org/#structuredserializeinternal 4580. https://infra.spec.whatwg.org/#list-append 4581. https://webidl.spec.whatwg.org/#dfn-platform-object 4582. https://html.spec.whatwg.org/#serializable-objects 4583. https://html.spec.whatwg.org/#serialization-steps 4584. https://webidl.spec.whatwg.org/#dfn-primary-interface 4585. https://html.spec.whatwg.org/#serialization-steps 4586. https://html.spec.whatwg.org/#structuredserializeinternal 4587. https://html.spec.whatwg.org/#sub-serialization 4588. https://html.spec.whatwg.org/#structuredserializeinternal 4589. https://tc39.es/ecma262/#sec-enumerableownproperties 4590. https://tc39.es/ecma262/#sec-hasownproperty 4591. https://html.spec.whatwg.org/#structuredserializeinternal 4592. https://infra.spec.whatwg.org/#list-append 4593. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4594. https://html.spec.whatwg.org/#structuredserializeinternal 4595. https://html.spec.whatwg.org/#structuredserializeinternal 4596. https://html.spec.whatwg.org/#structuredserializeinternal 4597. https://html.spec.whatwg.org/#structuredserializeinternal 4598. https://html.spec.whatwg.org/#structureddeserialize 4599. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4600. https://html.spec.whatwg.org/#structuredserialize 4601. https://html.spec.whatwg.org/#structuredserializeforstorage 4602. https://infra.spec.whatwg.org/#ordered-map 4603. https://infra.spec.whatwg.org/#map-exists 4604. https://tc39.es/ecma262/#sec-agent-clusters 4605. https://webidl.spec.whatwg.org/#datacloneerror 4606. https://webidl.spec.whatwg.org/#dfn-DOMException 4607. https://tc39.es/ecma262/#sec-agent-clusters 4608. https://webidl.spec.whatwg.org/#datacloneerror 4609. https://webidl.spec.whatwg.org/#dfn-DOMException 4610. https://webidl.spec.whatwg.org/#datacloneerror 4611. https://webidl.spec.whatwg.org/#dfn-DOMException 4612. https://webidl.spec.whatwg.org/#datacloneerror 4613. https://webidl.spec.whatwg.org/#dfn-DOMException 4614. https://html.spec.whatwg.org/#structureddeserialize 4615. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4616. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4617. https://tc39.es/ecma262/#sec-properties-of-the-array-prototype-object 4618. https://tc39.es/ecma262/#sec-arraycreate 4619. https://tc39.es/ecma262/#sec-properties-of-the-error-prototype-object 4620. https://html.spec.whatwg.org/#evalerror.prototype 4621. https://html.spec.whatwg.org/#rangeerror.prototype 4622. https://html.spec.whatwg.org/#referenceerror.prototype 4623. https://html.spec.whatwg.org/#syntaxerror.prototype 4624. https://html.spec.whatwg.org/#typeerror.prototype 4625. https://html.spec.whatwg.org/#urierror.prototype 4626. https://tc39.es/ecma262/#sec-objectcreate 4627. https://tc39.es/ecma262/#sec-property-descriptor-specification-type 4628. https://tc39.es/ecma262/#sec-ordinarydefineownproperty 4629. https://webidl.spec.whatwg.org/#dfn-exposed 4630. https://webidl.spec.whatwg.org/#datacloneerror 4631. https://webidl.spec.whatwg.org/#dfn-DOMException 4632. https://infra.spec.whatwg.org/#map-set 4633. https://infra.spec.whatwg.org/#list-iterate 4634. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4635. https://html.spec.whatwg.org/#structureddeserialize 4636. https://html.spec.whatwg.org/#structureddeserialize 4637. https://infra.spec.whatwg.org/#list-append 4638. https://infra.spec.whatwg.org/#list-iterate 4639. https://html.spec.whatwg.org/#structureddeserialize 4640. https://infra.spec.whatwg.org/#list-append 4641. https://infra.spec.whatwg.org/#list-iterate 4642. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4643. https://html.spec.whatwg.org/#structureddeserialize 4644. https://tc39.es/ecma262/#sec-createdataproperty 4645. https://infra.spec.whatwg.org/#assert 4646. https://html.spec.whatwg.org/#deserialization-steps 4647. https://html.spec.whatwg.org/#deserialization-steps 4648. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4649. https://html.spec.whatwg.org/#structureddeserialize 4650. https://html.spec.whatwg.org/#sub-deserialization 4651. https://html.spec.whatwg.org/#structureddeserialize 4652. https://infra.spec.whatwg.org/#ordered-map 4653. https://html.spec.whatwg.org/#structuredserializeinternal 4654. https://html.spec.whatwg.org/#structuredserializeinternal 4655. https://infra.spec.whatwg.org/#list-iterate 4656. https://html.spec.whatwg.org/#detached 4657. https://webidl.spec.whatwg.org/#datacloneerror 4658. https://webidl.spec.whatwg.org/#dfn-DOMException 4659. https://tc39.es/ecma262/#sec-issharedarraybuffer 4660. https://webidl.spec.whatwg.org/#datacloneerror 4661. https://webidl.spec.whatwg.org/#dfn-DOMException 4662. https://infra.spec.whatwg.org/#map-exists 4663. https://webidl.spec.whatwg.org/#datacloneerror 4664. https://webidl.spec.whatwg.org/#dfn-DOMException 4665. https://infra.spec.whatwg.org/#map-set 4666. https://html.spec.whatwg.org/#structuredserializeinternal 4667. https://html.spec.whatwg.org/#structuredserializeinternal 4668. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4669. https://infra.spec.whatwg.org/#list-iterate 4670. https://tc39.es/ecma262/#sec-isdetachedbuffer 4671. https://webidl.spec.whatwg.org/#datacloneerror 4672. https://webidl.spec.whatwg.org/#dfn-DOMException 4673. https://html.spec.whatwg.org/#detached 4674. https://html.spec.whatwg.org/#detached 4675. https://webidl.spec.whatwg.org/#datacloneerror 4676. https://webidl.spec.whatwg.org/#dfn-DOMException 4677. https://tc39.es/ecma262/#sec-detacharraybuffer 4678. https://webidl.spec.whatwg.org/#idl-ArrayBuffer 4679. https://html.spec.whatwg.org/#refsWASMJS 4680. https://infra.spec.whatwg.org/#assert 4681. https://webidl.spec.whatwg.org/#dfn-platform-object 4682. https://html.spec.whatwg.org/#transferable-objects 4683. https://webidl.spec.whatwg.org/#dfn-primary-interface 4684. https://html.spec.whatwg.org/#transfer-steps 4685. https://html.spec.whatwg.org/#detached 4686. https://infra.spec.whatwg.org/#list-append 4687. https://infra.spec.whatwg.org/#ordered-map 4688. https://html.spec.whatwg.org/#structuredserializewithtransfer 4689. https://html.spec.whatwg.org/#structureddeserialize 4690. https://html.spec.whatwg.org/#structureddeserialize 4691. https://tc39.es/ecma262/#sec-list-and-record-specification-type 4692. https://infra.spec.whatwg.org/#list-iterate 4693. https://webidl.spec.whatwg.org/#datacloneerror 4694. https://webidl.spec.whatwg.org/#dfn-DOMException 4695. https://html.spec.whatwg.org/#transfer-receiving-steps 4696. https://infra.spec.whatwg.org/#map-set 4697. https://infra.spec.whatwg.org/#list-append 4698. https://html.spec.whatwg.org/#structureddeserialize 4699. https://html.spec.whatwg.org/#structuredserializewithtransfer 4700. https://html.spec.whatwg.org/#structureddeserializewithtransfer 4701. https://tc39.es/ecma262/#sec-code-realms 4702. https://html.spec.whatwg.org/#dom-messageport-postmessage 4703. https://html.spec.whatwg.org/#messageport 4704. https://html.spec.whatwg.org/#has-been-shipped 4705. https://html.spec.whatwg.org/#structuredserialize 4706. https://html.spec.whatwg.org/#structuredserializeforstorage 4707. https://html.spec.whatwg.org/#structureddeserialize 4708. https://tc39.es/ecma262/#sec-code-realms 4709. https://html.spec.whatwg.org/#structuredserializeforstorage 4710. https://tc39.es/ecma262/#sec-sharedarraybuffer-objects 4711. https://webidl.spec.whatwg.org/#dfn-platform-object 4712. https://html.spec.whatwg.org/#serialization-steps 4713. https://html.spec.whatwg.org/#dom-history-pushstate 4714. https://html.spec.whatwg.org/#dom-history-replacestate 4715. https://html.spec.whatwg.org/#structuredserializeforstorage 4716. https://html.spec.whatwg.org/#serialized-state 4717. https://html.spec.whatwg.org/#session-history-entry 4718. https://html.spec.whatwg.org/#structureddeserialize 4719. https://html.spec.whatwg.org/#dom-history-state 4720. https://html.spec.whatwg.org/#dom-broadcastchannel-postmessage 4721. https://html.spec.whatwg.org/#structuredserialize 4722. https://html.spec.whatwg.org/#structureddeserialize 4723. https://html.spec.whatwg.org/#structuredserializeforstorage 4724. https://html.spec.whatwg.org/#structureddeserialize 4725. https://webidl.spec.whatwg.org/#es-type-mapping 4726. https://html.spec.whatwg.org/#prepare-to-run-script 4727. https://html.spec.whatwg.org/#prepare-to-run-a-callback 4728. https://html.spec.whatwg.org/#structuredserialize 4729. https://html.spec.whatwg.org/#structuredserializeforstorage 4730. https://html.spec.whatwg.org/#structuredserializewithtransfer 4731. https://html.spec.whatwg.org/#concept-entry-everything 4732. https://html.spec.whatwg.org/#concept-incumbent-everything 4733. https://html.spec.whatwg.org/#dom-window-postmessage 4734. https://html.spec.whatwg.org/#structuredserializewithtransfer 4735. https://html.spec.whatwg.org/#prepare-to-run-script 4736. https://html.spec.whatwg.org/#prepare-to-run-a-callback 4737. https://html.spec.whatwg.org/#structuredserialize 4738. https://html.spec.whatwg.org/#concept-task 4739. https://html.spec.whatwg.org/#event-loop 4740. https://html.spec.whatwg.org/#dom-structuredclone 4741. https://html.spec.whatwg.org/#dom-structuredserializeoptions-transfer 4742. https://html.spec.whatwg.org/#transferable-objects 4743. https://html.spec.whatwg.org/#dom-structuredserializeoptions-transfer 4744. https://webidl.spec.whatwg.org/#datacloneerror 4745. https://webidl.spec.whatwg.org/#dfn-DOMException 4746. https://html.spec.whatwg.org/#serializable-objects 4747. https://developer.mozilla.org/en-US/docs/Web/API/structuredClone 4748. https://html.spec.whatwg.org/#structuredserializewithtransfer 4749. https://html.spec.whatwg.org/#dom-structuredserializeoptions-transfer 4750. https://html.spec.whatwg.org/#structureddeserializewithtransfer 4751. https://webidl.spec.whatwg.org/#this 4752. https://html.spec.whatwg.org/#concept-relevant-realm 4753. https://html.spec.whatwg.org/#document 4754. https://html.spec.whatwg.org/#refsDOM 4755. https://html.spec.whatwg.org/#document 4756. https://dom.spec.whatwg.org/#concept-document-url 4757. https://html.spec.whatwg.org/#document 4758. https://html.spec.whatwg.org/#document 4759. https://html.spec.whatwg.org/#navigate 4760. https://html.spec.whatwg.org/#navigate-fragid 4761. https://html.spec.whatwg.org/#dom-history-pushstate 4762. https://url.spec.whatwg.org/#concept-url 4763. https://html.spec.whatwg.org/#refsDOM 4764. https://html.spec.whatwg.org/#document 4765. https://dom.spec.whatwg.org/#concept-document-url 4766. https://html.spec.whatwg.org/#document 4767. https://dom.spec.whatwg.org/#concept-document-origin 4768. https://html.spec.whatwg.org/#document 4769. https://html.spec.whatwg.org/#document 4770. https://html.spec.whatwg.org/#dom-document-domain 4771. https://html.spec.whatwg.org/#document 4772. https://dom.spec.whatwg.org/#concept-document-origin 4773. https://url.spec.whatwg.org/#concept-url-origin 4774. https://dom.spec.whatwg.org/#concept-document-url 4775. https://html.spec.whatwg.org/#child-navigable 4776. https://html.spec.whatwg.org/#create-a-new-child-navigable 4777. https://html.spec.whatwg.org/#nav-document 4778. https://dom.spec.whatwg.org/#concept-document-origin 4779. https://html.spec.whatwg.org/#nav-parent 4780. https://html.spec.whatwg.org/#nav-document 4781. https://dom.spec.whatwg.org/#concept-document-origin 4782. https://html.spec.whatwg.org/#nav-document 4783. https://dom.spec.whatwg.org/#concept-document-url 4784. https://html.spec.whatwg.org/#about:blank 4785. https://html.spec.whatwg.org/#refsDOM 4786. https://html.spec.whatwg.org/#document 4787. https://html.spec.whatwg.org/#concept-script 4788. https://dom.spec.whatwg.org/#dom-domimplementation-createdocument 4789. https://dom.spec.whatwg.org/#dom-domimplementation-createhtmldocument 4790. https://html.spec.whatwg.org/#document 4791. https://html.spec.whatwg.org/#ready-for-post-load-tasks 4792. https://url.spec.whatwg.org/#concept-url 4793. https://html.spec.whatwg.org/#document 4794. https://html.spec.whatwg.org/#document 4795. https://developer.mozilla.org/en-US/docs/Web/API/Document 4796. https://dom.spec.whatwg.org/#interface-document 4797. https://html.spec.whatwg.org/#htmlscriptelement 4798. https://svgwg.org/svg2-draft/interact.html#InterfaceSVGScriptElement 4799. https://webidl.spec.whatwg.org/#LegacyOverrideBuiltIns 4800. https://html.spec.whatwg.org/#document 4801. https://html.spec.whatwg.org/#dom-parsehtmlunsafe 4802. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 4803. https://html.spec.whatwg.org/#resource-metadata-management 4804. https://html.spec.whatwg.org/#dom-location-href 4805. https://webidl.spec.whatwg.org/#LegacyUnforgeable 4806. https://html.spec.whatwg.org/#location 4807. https://html.spec.whatwg.org/#dom-document-location 4808. https://html.spec.whatwg.org/#dom-document-domain 4809. https://html.spec.whatwg.org/#dom-document-referrer 4810. https://html.spec.whatwg.org/#dom-document-cookie 4811. https://html.spec.whatwg.org/#dom-document-lastmodified 4812. https://html.spec.whatwg.org/#documentreadystate 4813. https://html.spec.whatwg.org/#dom-document-readystate 4814. https://html.spec.whatwg.org/#dom-tree-accessors 4815. https://html.spec.whatwg.org/#dom-document-nameditem 4816. https://html.spec.whatwg.org/#cereactions 4817. https://html.spec.whatwg.org/#document.title 4818. https://html.spec.whatwg.org/#cereactions 4819. https://html.spec.whatwg.org/#dom-document-dir 4820. https://html.spec.whatwg.org/#cereactions 4821. https://html.spec.whatwg.org/#htmlelement 4822. https://html.spec.whatwg.org/#dom-document-body 4823. https://html.spec.whatwg.org/#htmlheadelement 4824. https://html.spec.whatwg.org/#dom-document-head 4825. https://dom.spec.whatwg.org/#interface-htmlcollection 4826. https://html.spec.whatwg.org/#dom-document-images 4827. https://dom.spec.whatwg.org/#interface-htmlcollection 4828. https://html.spec.whatwg.org/#dom-document-embeds 4829. https://dom.spec.whatwg.org/#interface-htmlcollection 4830. https://html.spec.whatwg.org/#dom-document-plugins 4831. https://dom.spec.whatwg.org/#interface-htmlcollection 4832. https://html.spec.whatwg.org/#dom-document-links 4833. https://dom.spec.whatwg.org/#interface-htmlcollection 4834. https://html.spec.whatwg.org/#dom-document-forms 4835. https://dom.spec.whatwg.org/#interface-htmlcollection 4836. https://html.spec.whatwg.org/#dom-document-scripts 4837. https://html.spec.whatwg.org/#dom-document-getelementsbyname 4838. https://html.spec.whatwg.org/#htmlorsvgscriptelement 4839. https://html.spec.whatwg.org/#dom-document-currentscript 4840. https://html.spec.whatwg.org/#dynamic-markup-insertion 4841. https://html.spec.whatwg.org/#cereactions 4842. https://html.spec.whatwg.org/#document 4843. https://html.spec.whatwg.org/#dom-document-open 4844. https://html.spec.whatwg.org/#dom-document-open-unused-arguments 4845. https://html.spec.whatwg.org/#windowproxy 4846. https://html.spec.whatwg.org/#dom-document-open-window 4847. https://html.spec.whatwg.org/#cereactions 4848. https://html.spec.whatwg.org/#dom-document-close 4849. https://html.spec.whatwg.org/#cereactions 4850. https://html.spec.whatwg.org/#dom-document-write 4851. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 4852. https://html.spec.whatwg.org/#cereactions 4853. https://html.spec.whatwg.org/#dom-document-writeln 4854. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 4855. https://html.spec.whatwg.org/#editing 4856. https://html.spec.whatwg.org/#windowproxy 4857. https://html.spec.whatwg.org/#dom-document-defaultview 4858. https://html.spec.whatwg.org/#dom-document-hasfocus 4859. https://html.spec.whatwg.org/#cereactions 4860. https://html.spec.whatwg.org/#designMode 4861. https://html.spec.whatwg.org/#cereactions 4862. https://w3c.github.io/editing/docs/execCommand/#execcommand() 4863. https://w3c.github.io/editing/docs/execCommand/#querycommandenabled() 4864. https://w3c.github.io/editing/docs/execCommand/#querycommandindeterm() 4865. https://w3c.github.io/editing/docs/execCommand/#querycommandstate() 4866. https://w3c.github.io/editing/docs/execCommand/#querycommandsupported() 4867. https://w3c.github.io/editing/docs/execCommand/#querycommandvalue() 4868. https://html.spec.whatwg.org/#dom-document-hidden 4869. https://html.spec.whatwg.org/#documentvisibilitystate 4870. https://html.spec.whatwg.org/#dom-document-visibilitystate 4871. https://html.spec.whatwg.org/#event-handler-idl-attributes 4872. https://webidl.spec.whatwg.org/#LegacyLenientThis 4873. https://html.spec.whatwg.org/#eventhandler 4874. https://html.spec.whatwg.org/#handler-onreadystatechange 4875. https://html.spec.whatwg.org/#eventhandler 4876. https://html.spec.whatwg.org/#handler-onvisibilitychange 4877. https://html.spec.whatwg.org/#Document-partial 4878. https://html.spec.whatwg.org/#document 4879. https://html.spec.whatwg.org/#globaleventhandlers 4880. https://html.spec.whatwg.org/#document 4881. https://html.spec.whatwg.org/#policy-container 4882. https://html.spec.whatwg.org/#document 4883. https://html.spec.whatwg.org/#document 4884. https://w3c.github.io/webappsec-feature-policy/#permissions-policy 4885. https://html.spec.whatwg.org/#document 4886. https://html.spec.whatwg.org/#module-map 4887. https://html.spec.whatwg.org/#document 4888. https://html.spec.whatwg.org/#cross-origin-opener-policy 4889. https://html.spec.whatwg.org/#document 4890. https://html.spec.whatwg.org/#document 4891. https://html.spec.whatwg.org/#navigation-id 4892. https://html.spec.whatwg.org/#document 4893. https://html.spec.whatwg.org/#navigation-id 4894. https://html.spec.whatwg.org/#document 4895. https://html.spec.whatwg.org/#ongoing-navigation 4896. https://html.spec.whatwg.org/#refsBIDI 4897. https://html.spec.whatwg.org/#document 4898. https://url.spec.whatwg.org/#concept-url 4899. https://html.spec.whatwg.org/#document 4900. https://html.spec.whatwg.org/#document 4901. https://infra.spec.whatwg.org/#ordered-set 4902. https://html.spec.whatwg.org/#nrr-details-struct 4903. https://html.spec.whatwg.org/#document 4904. https://infra.spec.whatwg.org/#list 4905. https://html.spec.whatwg.org/#the-dialog-element 4906. https://html.spec.whatwg.org/#documentorshadowroot 4907. https://dom.spec.whatwg.org/#documentorshadowroot 4908. https://dom.spec.whatwg.org/#interface-element 4909. https://html.spec.whatwg.org/#dom-documentorshadowroot-activeelement 4910. https://html.spec.whatwg.org/#dom-document-referrer 4911. https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer 4912. https://dom.spec.whatwg.org/#concept-document-url 4913. https://html.spec.whatwg.org/#document 4914. https://html.spec.whatwg.org/#link-type-noreferrer 4915. https://html.spec.whatwg.org/#the-document's-referrer 4916. https://html.spec.whatwg.org/#dom-document-cookie 4917. https://html.spec.whatwg.org/#document 4918. https://html.spec.whatwg.org/#sandboxed-origin-browsing-context-flag 4919. https://html.spec.whatwg.org/#the-iframe-element 4920. https://html.spec.whatwg.org/#attr-iframe-sandbox 4921. https://webidl.spec.whatwg.org/#securityerror 4922. https://webidl.spec.whatwg.org/#dfn-DOMException 4923. https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie 4924. https://dom.spec.whatwg.org/#concept-document-url 4925. https://html.spec.whatwg.org/#document 4926. https://html.spec.whatwg.org/#document 4927. https://html.spec.whatwg.org/#concept-document-bc 4928. https://html.spec.whatwg.org/#document 4929. https://dom.spec.whatwg.org/#concept-document-url 4930. https://url.spec.whatwg.org/#concept-url-scheme 4931. https://fetch.spec.whatwg.org/#http-scheme 4932. https://infra.spec.whatwg.org/#tracking-vector 4933. https://html.spec.whatwg.org/#cookie-averse-document-object 4934. https://html.spec.whatwg.org/#document 4935. https://dom.spec.whatwg.org/#concept-document-origin 4936. https://html.spec.whatwg.org/#concept-origin-opaque 4937. https://webidl.spec.whatwg.org/#securityerror 4938. https://webidl.spec.whatwg.org/#dfn-DOMException 4939. https://httpwg.org/specs/rfc6265.html#sane-cookie-syntax 4940. https://dom.spec.whatwg.org/#concept-document-url 4941. https://encoding.spec.whatwg.org/#utf-8-decode-without-bom 4942. https://html.spec.whatwg.org/#refsCOOKIES 4943. https://html.spec.whatwg.org/#cookie-averse-document-object 4944. https://html.spec.whatwg.org/#document 4945. https://dom.spec.whatwg.org/#concept-document-origin 4946. https://html.spec.whatwg.org/#concept-origin-opaque 4947. https://webidl.spec.whatwg.org/#securityerror 4948. https://webidl.spec.whatwg.org/#dfn-DOMException 4949. https://httpwg.org/specs/rfc6265.html#storage-model 4950. https://dom.spec.whatwg.org/#concept-document-url 4951. https://encoding.spec.whatwg.org/#utf-8-encode 4952. https://html.spec.whatwg.org/#refsCOOKIES 4953. https://html.spec.whatwg.org/#refsENCODING 4954. https://html.spec.whatwg.org/#dom-document-cookie 4955. https://html.spec.whatwg.org/#dom-document-cookie 4956. https://html.spec.whatwg.org/#dom-document-lastmodified 4957. https://developer.mozilla.org/en-US/docs/Web/API/Document/lastModified 4958. https://html.spec.whatwg.org/#document 4959. https://infra.spec.whatwg.org/#ascii-digit 4960. https://infra.spec.whatwg.org/#ascii-digit 4961. https://html.spec.whatwg.org/#document 4962. https://httpwg.org/specs/rfc7232.html#header.last-modified 4963. https://html.spec.whatwg.org/#dom-document-readystate 4964. https://html.spec.whatwg.org/#document 4965. https://html.spec.whatwg.org/#event-readystatechange 4966. https://html.spec.whatwg.org/#document 4967. https://html.spec.whatwg.org/#event-domcontentloaded 4968. https://html.spec.whatwg.org/#attr-script-async 4969. https://html.spec.whatwg.org/#the-script-element 4970. https://developer.mozilla.org/en-US/docs/Web/API/Document/readyState 4971. https://html.spec.whatwg.org/#document 4972. https://html.spec.whatwg.org/#document 4973. https://html.spec.whatwg.org/#initialise-the-document-object 4974. https://html.spec.whatwg.org/#dom-document-readystate 4975. https://html.spec.whatwg.org/#is-initial-about:blank 4976. https://html.spec.whatwg.org/#document 4977. https://html.spec.whatwg.org/#document 4978. https://html.spec.whatwg.org/#concept-document-bc 4979. https://webidl.spec.whatwg.org/#this 4980. https://html.spec.whatwg.org/#current-document-readiness 4981. https://html.spec.whatwg.org/#document 4982. https://html.spec.whatwg.org/#current-document-readiness 4983. https://html.spec.whatwg.org/#current-document-readiness 4984. https://html.spec.whatwg.org/#html-parser 4985. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 4986. https://html.spec.whatwg.org/#concept-relevant-global 4987. https://html.spec.whatwg.org/#load-timing-info 4988. https://html.spec.whatwg.org/#dom-complete-time 4989. https://html.spec.whatwg.org/#load-timing-info 4990. https://html.spec.whatwg.org/#dom-complete-time 4991. https://html.spec.whatwg.org/#load-timing-info 4992. https://html.spec.whatwg.org/#dom-interactive-time 4993. https://html.spec.whatwg.org/#load-timing-info 4994. https://html.spec.whatwg.org/#dom-interactive-time 4995. https://dom.spec.whatwg.org/#concept-event-fire 4996. https://html.spec.whatwg.org/#event-readystatechange 4997. https://html.spec.whatwg.org/#document 4998. https://html.spec.whatwg.org/#html-parser 4999. https://html.spec.whatwg.org/#xml-parser 5000. https://html.spec.whatwg.org/#stop-parsing 5001. https://html.spec.whatwg.org/#abort-a-parser 5002. https://html.spec.whatwg.org/#document 5003. https://html.spec.whatwg.org/#document-load-timing-info 5004. https://html.spec.whatwg.org/#document 5005. https://html.spec.whatwg.org/#document-unload-timing-info 5006. https://html.spec.whatwg.org/#document 5007. https://infra.spec.whatwg.org/#struct 5008. https://infra.spec.whatwg.org/#struct-item 5009. https://w3c.github.io/hr-time/#dom-domhighrestimestamp 5010. https://infra.spec.whatwg.org/#struct 5011. https://infra.spec.whatwg.org/#struct-item 5012. https://w3c.github.io/hr-time/#dom-domhighrestimestamp 5013. https://html.spec.whatwg.org/#document 5014. https://infra.spec.whatwg.org/#ordered-set 5015. https://html.spec.whatwg.org/#document 5016. https://dom.spec.whatwg.org/#concept-document-content-type 5017. https://html.spec.whatwg.org/#text/html 5018. https://html.spec.whatwg.org/#the-body-element-2 5019. https://html.spec.whatwg.org/#document 5020. https://html.spec.whatwg.org/#render-blocking-element-set 5021. https://html.spec.whatwg.org/#allows-adding-render-blocking-elements 5022. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 5023. https://html.spec.whatwg.org/#concept-relevant-global 5024. https://infra.spec.whatwg.org/#implementation-defined 5025. https://dom.spec.whatwg.org/#concept-node-document 5026. https://html.spec.whatwg.org/#render-blocked 5027. https://html.spec.whatwg.org/#render-blocking-element-set 5028. https://dom.spec.whatwg.org/#concept-node-document 5029. https://html.spec.whatwg.org/#allows-adding-render-blocking-elements 5030. https://infra.spec.whatwg.org/#set-append 5031. https://html.spec.whatwg.org/#render-blocking-element-set 5032. https://dom.spec.whatwg.org/#concept-node-document 5033. https://infra.spec.whatwg.org/#list-remove 5034. https://html.spec.whatwg.org/#render-blocking-element-set 5035. https://html.spec.whatwg.org/#render-blocking 5036. https://html.spec.whatwg.org/#becomes-browsing-context-disconnected 5037. https://html.spec.whatwg.org/#blocking-attribute 5038. https://html.spec.whatwg.org/#potentially-render-blocking 5039. https://html.spec.whatwg.org/#unblock-rendering 5040. https://dom.spec.whatwg.org/#document-element 5041. https://html.spec.whatwg.org/#the-html-element 5042. https://html.spec.whatwg.org/#dom-document-head 5043. https://developer.mozilla.org/en-US/docs/Web/API/Document/head 5044. https://html.spec.whatwg.org/#the-head-element-2 5045. https://html.spec.whatwg.org/#the-head-element 5046. https://html.spec.whatwg.org/#the-html-element-2 5047. https://html.spec.whatwg.org/#the-head-element-2 5048. https://html.spec.whatwg.org/#the-head-element 5049. https://html.spec.whatwg.org/#document.title 5050. https://html.spec.whatwg.org/#the-title-element-2 5051. https://svgwg.org/svg2-draft/struct.html#TitleElement 5052. https://html.spec.whatwg.org/#the-title-element 5053. https://dom.spec.whatwg.org/#concept-tree-order 5054. https://developer.mozilla.org/en-US/docs/Web/API/Document/title 5055. https://dom.spec.whatwg.org/#document-element 5056. https://svgwg.org/svg2-draft/struct.html#SVGElement 5057. https://dom.spec.whatwg.org/#concept-child-text-content 5058. https://svgwg.org/svg2-draft/struct.html#TitleElement 5059. https://dom.spec.whatwg.org/#document-element 5060. https://dom.spec.whatwg.org/#concept-child-text-content 5061. https://html.spec.whatwg.org/#the-title-element-2 5062. https://html.spec.whatwg.org/#the-title-element-2 5063. https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace 5064. https://dom.spec.whatwg.org/#document-element 5065. https://svgwg.org/svg2-draft/struct.html#SVGElement 5066. https://svgwg.org/svg2-draft/struct.html#TitleElement 5067. https://dom.spec.whatwg.org/#document-element 5068. https://dom.spec.whatwg.org/#concept-create-element 5069. https://dom.spec.whatwg.org/#document-element 5070. https://dom.spec.whatwg.org/#concept-node-document 5071. https://infra.spec.whatwg.org/#svg-namespace 5072. https://dom.spec.whatwg.org/#concept-tree-first-child 5073. https://dom.spec.whatwg.org/#document-element 5074. https://dom.spec.whatwg.org/#string-replace-all 5075. https://dom.spec.whatwg.org/#document-element 5076. https://infra.spec.whatwg.org/#html-namespace 5077. https://html.spec.whatwg.org/#the-title-element-2 5078. https://html.spec.whatwg.org/#the-head-element-2 5079. https://html.spec.whatwg.org/#the-title-element-2 5080. https://html.spec.whatwg.org/#the-title-element-2 5081. https://dom.spec.whatwg.org/#concept-create-element 5082. https://dom.spec.whatwg.org/#document-element 5083. https://dom.spec.whatwg.org/#concept-node-document 5084. https://infra.spec.whatwg.org/#html-namespace 5085. https://dom.spec.whatwg.org/#concept-node-append 5086. https://html.spec.whatwg.org/#the-head-element-2 5087. https://dom.spec.whatwg.org/#string-replace-all 5088. https://html.spec.whatwg.org/#dom-document-body 5089. https://developer.mozilla.org/en-US/docs/Web/API/Document/body 5090. https://html.spec.whatwg.org/#the-body-element-2 5091. https://html.spec.whatwg.org/#the-body-element-2 5092. https://html.spec.whatwg.org/#the-body-element 5093. https://html.spec.whatwg.org/#frameset 5094. https://webidl.spec.whatwg.org/#hierarchyrequesterror 5095. https://webidl.spec.whatwg.org/#dfn-DOMException 5096. https://html.spec.whatwg.org/#the-html-element-2 5097. https://html.spec.whatwg.org/#the-body-element 5098. https://html.spec.whatwg.org/#frameset 5099. https://html.spec.whatwg.org/#the-body-element-2 5100. https://html.spec.whatwg.org/#the-body-element 5101. https://html.spec.whatwg.org/#frameset 5102. https://html.spec.whatwg.org/#the-body-element 5103. https://html.spec.whatwg.org/#frameset 5104. https://webidl.spec.whatwg.org/#hierarchyrequesterror 5105. https://webidl.spec.whatwg.org/#dfn-DOMException 5106. https://html.spec.whatwg.org/#the-body-element-2 5107. https://html.spec.whatwg.org/#the-body-element-2 5108. https://dom.spec.whatwg.org/#concept-node-replace 5109. https://html.spec.whatwg.org/#the-body-element-2 5110. https://html.spec.whatwg.org/#the-body-element-2 5111. https://dom.spec.whatwg.org/#document-element 5112. https://webidl.spec.whatwg.org/#hierarchyrequesterror 5113. https://webidl.spec.whatwg.org/#dfn-DOMException 5114. https://html.spec.whatwg.org/#the-body-element-2 5115. https://dom.spec.whatwg.org/#document-element 5116. https://dom.spec.whatwg.org/#concept-node-append 5117. https://dom.spec.whatwg.org/#document-element 5118. https://html.spec.whatwg.org/#dom-document-body 5119. https://html.spec.whatwg.org/#the-body-element 5120. https://html.spec.whatwg.org/#the-body-element 5121. https://svgwg.org/svg2-draft/struct.html#SVGElement 5122. https://html.spec.whatwg.org/#the-html-element 5123. https://html.spec.whatwg.org/#dom-document-images 5124. https://developer.mozilla.org/en-US/docs/Web/API/Document/images 5125. https://dom.spec.whatwg.org/#interface-htmlcollection 5126. https://html.spec.whatwg.org/#the-img-element 5127. https://html.spec.whatwg.org/#document 5128. https://html.spec.whatwg.org/#dom-document-embeds 5129. https://developer.mozilla.org/en-US/docs/Web/API/Document/embeds 5130. https://html.spec.whatwg.org/#dom-document-plugins 5131. https://developer.mozilla.org/en-US/docs/Web/API/Document/plugins 5132. https://dom.spec.whatwg.org/#interface-htmlcollection 5133. https://html.spec.whatwg.org/#the-embed-element 5134. https://html.spec.whatwg.org/#document 5135. https://html.spec.whatwg.org/#dom-document-links 5136. https://developer.mozilla.org/en-US/docs/Web/API/Document/links 5137. https://dom.spec.whatwg.org/#interface-htmlcollection 5138. https://html.spec.whatwg.org/#the-a-element 5139. https://html.spec.whatwg.org/#the-area-element 5140. https://html.spec.whatwg.org/#document 5141. https://html.spec.whatwg.org/#attr-hyperlink-href 5142. https://html.spec.whatwg.org/#dom-document-forms 5143. https://developer.mozilla.org/en-US/docs/Web/API/Document/forms 5144. https://dom.spec.whatwg.org/#interface-htmlcollection 5145. https://html.spec.whatwg.org/#the-form-element 5146. https://html.spec.whatwg.org/#document 5147. https://html.spec.whatwg.org/#dom-document-scripts 5148. https://developer.mozilla.org/en-US/docs/Web/API/Document/scripts 5149. https://dom.spec.whatwg.org/#interface-htmlcollection 5150. https://html.spec.whatwg.org/#the-script-element 5151. https://html.spec.whatwg.org/#document 5152. https://dom.spec.whatwg.org/#interface-htmlcollection 5153. https://html.spec.whatwg.org/#document 5154. https://html.spec.whatwg.org/#the-img-element 5155. https://dom.spec.whatwg.org/#interface-htmlcollection 5156. https://html.spec.whatwg.org/#document 5157. https://html.spec.whatwg.org/#the-embed-element 5158. https://html.spec.whatwg.org/#dom-document-embeds 5159. https://dom.spec.whatwg.org/#interface-htmlcollection 5160. https://html.spec.whatwg.org/#document 5161. https://html.spec.whatwg.org/#the-a-element 5162. https://html.spec.whatwg.org/#attr-hyperlink-href 5163. https://html.spec.whatwg.org/#the-area-element 5164. https://html.spec.whatwg.org/#attr-hyperlink-href 5165. https://dom.spec.whatwg.org/#interface-htmlcollection 5166. https://html.spec.whatwg.org/#document 5167. https://html.spec.whatwg.org/#the-form-element 5168. https://dom.spec.whatwg.org/#interface-htmlcollection 5169. https://html.spec.whatwg.org/#document 5170. https://html.spec.whatwg.org/#the-script-element 5171. https://html.spec.whatwg.org/#dom-document-getelementsbyname 5172. https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByName 5173. https://dom.spec.whatwg.org/#interface-nodelist 5174. https://html.spec.whatwg.org/#document 5175. https://html.spec.whatwg.org/#live 5176. https://dom.spec.whatwg.org/#interface-nodelist 5177. https://html.spec.whatwg.org/#html-elements 5178. https://infra.spec.whatwg.org/#string-is 5179. https://dom.spec.whatwg.org/#concept-tree-order 5180. https://html.spec.whatwg.org/#document 5181. https://dom.spec.whatwg.org/#interface-nodelist 5182. https://html.spec.whatwg.org/#dom-document-currentscript 5183. https://developer.mozilla.org/en-US/docs/Web/API/Document/currentScript 5184. https://html.spec.whatwg.org/#the-script-element 5185. https://svgwg.org/svg2-draft/interact.html#ScriptElement 5186. https://html.spec.whatwg.org/#classic-script 5187. https://html.spec.whatwg.org/#document 5188. https://html.spec.whatwg.org/#the-script-element 5189. https://svgwg.org/svg2-draft/interact.html#ScriptElement 5190. https://html.spec.whatwg.org/#the-script-element 5191. https://svgwg.org/svg2-draft/interact.html#ScriptElement 5192. https://html.spec.whatwg.org/#module-script 5193. https://html.spec.whatwg.org/#document 5194. https://html.spec.whatwg.org/#dom-document-currentscript 5195. https://html.spec.whatwg.org/#the-script-element 5196. https://svgwg.org/svg2-draft/interact.html#ScriptElement 5197. https://html.spec.whatwg.org/#module-script 5198. https://dom.spec.whatwg.org/#concept-shadow-tree 5199. https://github.com/whatwg/html/issues/1013 5200. https://html.spec.whatwg.org/#document 5201. https://webidl.spec.whatwg.org/#dfn-support-named-properties 5202. https://webidl.spec.whatwg.org/#dfn-supported-property-names 5203. https://html.spec.whatwg.org/#document 5204. https://dom.spec.whatwg.org/#concept-tree-order 5205. https://html.spec.whatwg.org/#the-id-attribute 5206. https://html.spec.whatwg.org/#exposed 5207. https://html.spec.whatwg.org/#the-embed-element 5208. https://html.spec.whatwg.org/#the-form-element 5209. https://html.spec.whatwg.org/#the-iframe-element 5210. https://html.spec.whatwg.org/#the-img-element 5211. https://html.spec.whatwg.org/#exposed 5212. https://html.spec.whatwg.org/#the-object-element 5213. https://dom.spec.whatwg.org/#in-a-document-tree 5214. https://dom.spec.whatwg.org/#concept-tree-root 5215. https://html.spec.whatwg.org/#the-id-attribute 5216. https://html.spec.whatwg.org/#exposed 5217. https://html.spec.whatwg.org/#the-object-element 5218. https://html.spec.whatwg.org/#the-id-attribute 5219. https://dom.spec.whatwg.org/#in-a-document-tree 5220. https://dom.spec.whatwg.org/#concept-tree-root 5221. https://html.spec.whatwg.org/#the-id-attribute 5222. https://html.spec.whatwg.org/#the-img-element 5223. https://html.spec.whatwg.org/#the-id-attribute 5224. https://dom.spec.whatwg.org/#in-a-document-tree 5225. https://dom.spec.whatwg.org/#concept-tree-root 5226. https://webidl.spec.whatwg.org/#dfn-determine-the-value-of-a-named-property 5227. https://html.spec.whatwg.org/#document 5228. https://html.spec.whatwg.org/#dom-document-nameditem-filter 5229. https://dom.spec.whatwg.org/#in-a-document-tree 5230. https://html.spec.whatwg.org/#document 5231. https://dom.spec.whatwg.org/#concept-tree-root 5232. https://webidl.spec.whatwg.org/#LegacyPlatformObjectGetOwnProperty 5233. https://html.spec.whatwg.org/#the-iframe-element 5234. https://html.spec.whatwg.org/#the-iframe-element 5235. https://html.spec.whatwg.org/#content-navigable 5236. https://html.spec.whatwg.org/#nav-wp 5237. https://html.spec.whatwg.org/#content-navigable 5238. https://dom.spec.whatwg.org/#interface-htmlcollection 5239. https://html.spec.whatwg.org/#document 5240. https://html.spec.whatwg.org/#dom-document-nameditem-filter 5241. https://html.spec.whatwg.org/#exposed 5242. https://html.spec.whatwg.org/#the-embed-element 5243. https://html.spec.whatwg.org/#the-form-element 5244. https://html.spec.whatwg.org/#the-iframe-element 5245. https://html.spec.whatwg.org/#the-img-element 5246. https://html.spec.whatwg.org/#exposed 5247. https://html.spec.whatwg.org/#the-object-element 5248. https://html.spec.whatwg.org/#exposed 5249. https://html.spec.whatwg.org/#the-object-element 5250. https://html.spec.whatwg.org/#the-id-attribute 5251. https://html.spec.whatwg.org/#the-img-element 5252. https://html.spec.whatwg.org/#the-id-attribute 5253. https://html.spec.whatwg.org/#the-embed-element 5254. https://html.spec.whatwg.org/#the-object-element 5255. https://html.spec.whatwg.org/#exposed 5256. https://html.spec.whatwg.org/#the-object-element 5257. https://html.spec.whatwg.org/#the-object-element 5258. https://html.spec.whatwg.org/#fallback-content 5259. https://html.spec.whatwg.org/#the-object-element 5260. https://html.spec.whatwg.org/#the-embed-element 5261. https://html.spec.whatwg.org/#dom-document-dir 5262. https://html.spec.whatwg.org/#document 5263. https://html.spec.whatwg.org/#attr-dir 5264. https://html.spec.whatwg.org/#the-ol-element 5265. https://html.spec.whatwg.org/#attr-lang 5266. https://html.spec.whatwg.org/#the-hgroup-element 5267. https://html.spec.whatwg.org/#the-cite-element 5268. https://html.spec.whatwg.org/#other-applicable-specifications 5269. https://dom.spec.whatwg.org/#concept-node-document 5270. https://html.spec.whatwg.org/#concept-document-bc 5271. https://html.spec.whatwg.org/#writing 5272. https://html.spec.whatwg.org/#writing-xhtml-documents 5273. https://html.spec.whatwg.org/#the-template-element 5274. https://html.spec.whatwg.org/#template-contents 5275. https://dom.spec.whatwg.org/#concept-node-document 5276. https://html.spec.whatwg.org/#concept-document-bc 5277. https://html.spec.whatwg.org/#concept-element-content-model 5278. https://html.spec.whatwg.org/#the-template-element 5279. https://html.spec.whatwg.org/#template-contents 5280. https://html.spec.whatwg.org/#the-img-element 5281. https://html.spec.whatwg.org/#the-template-element 5282. https://html.spec.whatwg.org/#writing 5283. https://html.spec.whatwg.org/#the-progress-element 5284. https://html.spec.whatwg.org/#html-elements 5285. https://html.spec.whatwg.org/#html-elements 5286. https://dom.spec.whatwg.org/#xml-document 5287. https://html.spec.whatwg.org/#the-ol-element 5288. https://html.spec.whatwg.org/#the-id-attribute 5289. https://html.spec.whatwg.org/#hyperlink 5290. https://html.spec.whatwg.org/#the-id-attribute 5291. https://html.spec.whatwg.org/#navigate-fragid 5292. https://html.spec.whatwg.org/#hyperlink 5293. https://html.spec.whatwg.org/#attr-hyperlink-href 5294. https://html.spec.whatwg.org/#the-figure-element 5295. https://html.spec.whatwg.org/#the-id-attribute 5296. https://html.spec.whatwg.org/#hyperlink 5297. https://html.spec.whatwg.org/#referenced 5298. https://html.spec.whatwg.org/#the-a-element 5299. https://html.spec.whatwg.org/#referenced 5300. https://html.spec.whatwg.org/#the-figure-element 5301. https://html.spec.whatwg.org/#figure-note-about-references 5302. https://html.spec.whatwg.org/#html-elements 5303. https://html.spec.whatwg.org/#htmlelement 5304. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement 5305. https://developer.mozilla.org/en-US/docs/Web/API/HTMLUnknownElement 5306. https://dom.spec.whatwg.org/#interface-element 5307. https://html.spec.whatwg.org/#htmlconstructor 5308. https://html.spec.whatwg.org/#cereactions 5309. https://html.spec.whatwg.org/#dom-title 5310. https://html.spec.whatwg.org/#cereactions 5311. https://html.spec.whatwg.org/#dom-lang 5312. https://html.spec.whatwg.org/#cereactions 5313. https://html.spec.whatwg.org/#dom-translate 5314. https://html.spec.whatwg.org/#cereactions 5315. https://html.spec.whatwg.org/#dom-dir 5316. https://html.spec.whatwg.org/#editing 5317. https://html.spec.whatwg.org/#cereactions 5318. https://html.spec.whatwg.org/#dom-hidden 5319. https://html.spec.whatwg.org/#cereactions 5320. https://html.spec.whatwg.org/#dom-inert 5321. https://html.spec.whatwg.org/#dom-click 5322. https://html.spec.whatwg.org/#cereactions 5323. https://html.spec.whatwg.org/#dom-accesskey 5324. https://html.spec.whatwg.org/#dom-accesskeylabel 5325. https://html.spec.whatwg.org/#cereactions 5326. https://html.spec.whatwg.org/#dom-draggable 5327. https://html.spec.whatwg.org/#cereactions 5328. https://html.spec.whatwg.org/#dom-spellcheck 5329. https://html.spec.whatwg.org/#cereactions 5330. https://html.spec.whatwg.org/#dom-writingsuggestions 5331. https://html.spec.whatwg.org/#cereactions 5332. https://html.spec.whatwg.org/#dom-autocapitalize 5333. https://html.spec.whatwg.org/#cereactions 5334. https://html.spec.whatwg.org/#dom-autocorrect 5335. https://html.spec.whatwg.org/#cereactions 5336. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 5337. https://html.spec.whatwg.org/#dom-innertext 5338. https://html.spec.whatwg.org/#cereactions 5339. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 5340. https://html.spec.whatwg.org/#dom-outertext 5341. https://html.spec.whatwg.org/#elementinternals 5342. https://html.spec.whatwg.org/#dom-attachinternals 5343. https://html.spec.whatwg.org/#dom-showpopover 5344. https://html.spec.whatwg.org/#showpopoveroptions 5345. https://html.spec.whatwg.org/#dom-hidepopover 5346. https://html.spec.whatwg.org/#dom-togglepopover 5347. https://html.spec.whatwg.org/#togglepopoveroptions 5348. https://html.spec.whatwg.org/#cereactions 5349. https://html.spec.whatwg.org/#dom-popover 5350. https://html.spec.whatwg.org/#htmlelement 5351. https://html.spec.whatwg.org/#showpopoveroptions 5352. https://html.spec.whatwg.org/#htmlelement 5353. https://html.spec.whatwg.org/#globaleventhandlers 5354. https://html.spec.whatwg.org/#htmlelement 5355. https://html.spec.whatwg.org/#elementcontenteditable 5356. https://html.spec.whatwg.org/#htmlelement 5357. https://html.spec.whatwg.org/#htmlorsvgelement 5358. https://html.spec.whatwg.org/#htmlelement 5359. https://html.spec.whatwg.org/#customized-built-in-element-restrictions 5360. https://html.spec.whatwg.org/#htmlconstructor 5361. https://html.spec.whatwg.org/#htmlelement 5362. https://dom.spec.whatwg.org/#concept-element-interface 5363. https://infra.spec.whatwg.org/#html-namespace 5364. https://html.spec.whatwg.org/#applet 5365. https://html.spec.whatwg.org/#bgsound 5366. https://html.spec.whatwg.org/#blink 5367. https://html.spec.whatwg.org/#isindex 5368. https://html.spec.whatwg.org/#keygen 5369. https://html.spec.whatwg.org/#multicol 5370. https://html.spec.whatwg.org/#nextid 5371. https://html.spec.whatwg.org/#spacer 5372. https://html.spec.whatwg.org/#htmlunknownelement 5373. https://html.spec.whatwg.org/#acronym 5374. https://html.spec.whatwg.org/#basefont 5375. https://html.spec.whatwg.org/#big 5376. https://html.spec.whatwg.org/#center 5377. https://html.spec.whatwg.org/#nobr 5378. https://html.spec.whatwg.org/#noembed 5379. https://html.spec.whatwg.org/#noframes 5380. https://html.spec.whatwg.org/#plaintext 5381. https://html.spec.whatwg.org/#rb 5382. https://html.spec.whatwg.org/#rtc 5383. https://html.spec.whatwg.org/#strike 5384. https://html.spec.whatwg.org/#tt 5385. https://html.spec.whatwg.org/#htmlelement 5386. https://html.spec.whatwg.org/#listing 5387. https://html.spec.whatwg.org/#xmp 5388. https://html.spec.whatwg.org/#htmlpreelement 5389. https://html.spec.whatwg.org/#element-type 5390. https://html.spec.whatwg.org/#other-applicable-specifications 5391. https://html.spec.whatwg.org/#valid-custom-element-name 5392. https://html.spec.whatwg.org/#htmlelement 5393. https://html.spec.whatwg.org/#htmlunknownelement 5394. https://html.spec.whatwg.org/#htmlelement 5395. https://html.spec.whatwg.org/#htmlunknownelement 5396. https://html.spec.whatwg.org/#valid-custom-element-name 5397. https://html.spec.whatwg.org/#upgrades 5398. https://html.spec.whatwg.org/#htmlelement 5399. https://html.spec.whatwg.org/#htmlunknownelement 5400. https://html.spec.whatwg.org/#htmlorsvgelement 5401. https://html.spec.whatwg.org/#refsSVG 5402. https://html.spec.whatwg.org/#domstringmap 5403. https://html.spec.whatwg.org/#dom-dataset 5404. https://html.spec.whatwg.org/#dom-noncedelement-nonce 5405. https://html.spec.whatwg.org/#nonce-does-not-update-dom 5406. https://html.spec.whatwg.org/#cereactions 5407. https://html.spec.whatwg.org/#dom-fe-autofocus 5408. https://html.spec.whatwg.org/#cereactions 5409. https://html.spec.whatwg.org/#dom-tabindex 5410. https://html.spec.whatwg.org/#dom-focus 5411. https://html.spec.whatwg.org/#focusoptions 5412. https://html.spec.whatwg.org/#dom-blur 5413. https://html.spec.whatwg.org/#custom-elements 5414. https://webidl.spec.whatwg.org/#dfn-extended-attribute 5415. https://html.spec.whatwg.org/#htmlconstructor 5416. https://webidl.spec.whatwg.org/#idl-constructors 5417. https://html.spec.whatwg.org/#htmlconstructor 5418. https://webidl.spec.whatwg.org/#overridden-constructor-steps 5419. https://tc39.es/ecma262/#sec-built-in-function-objects 5420. https://tc39.es/ecma262/#active-function-object 5421. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 5422. https://dom.spec.whatwg.org/#concept-element-interface 5423. https://html.spec.whatwg.org/#htmlbuttonelement 5424. https://tc39.es/ecma262/#active-function-object 5425. https://tc39.es/ecma262/#sec-built-in-function-objects 5426. https://html.spec.whatwg.org/#htmlbuttonelement 5427. https://html.spec.whatwg.org/#htmlbuttonelement 5428. https://tc39.es/ecma262/#surrounding-agent 5429. https://html.spec.whatwg.org/#active-custom-element-constructor-map 5430. https://tc39.es/ecma262/#sec-built-in-function-objects 5431. https://infra.spec.whatwg.org/#map-exists 5432. https://tc39.es/ecma262/#surrounding-agent 5433. https://html.spec.whatwg.org/#active-custom-element-constructor-map 5434. https://tc39.es/ecma262/#sec-built-in-function-objects 5435. https://infra.spec.whatwg.org/#map-remove 5436. https://tc39.es/ecma262/#surrounding-agent 5437. https://html.spec.whatwg.org/#active-custom-element-constructor-map 5438. https://tc39.es/ecma262/#sec-built-in-function-objects 5439. https://html.spec.whatwg.org/#current-global-object 5440. https://html.spec.whatwg.org/#concept-document-window 5441. https://dom.spec.whatwg.org/#document-custom-element-registry 5442. https://html.spec.whatwg.org/#custom-element-definition-set 5443. https://html.spec.whatwg.org/#concept-custom-element-definition-constructor 5444. https://tc39.es/ecma262/#sec-built-in-function-objects 5445. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 5446. https://html.spec.whatwg.org/#custom-element-definition-set 5447. https://html.spec.whatwg.org/#concept-custom-element-definition-constructor 5448. https://tc39.es/ecma262/#sec-built-in-function-objects 5449. https://html.spec.whatwg.org/#concept-custom-element-definition-local-name 5450. https://html.spec.whatwg.org/#concept-custom-element-definition-name 5451. https://html.spec.whatwg.org/#autonomous-custom-element 5452. https://tc39.es/ecma262/#active-function-object 5453. https://html.spec.whatwg.org/#htmlelement 5454. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 5455. https://html.spec.whatwg.org/#htmlelement 5456. https://tc39.es/ecma262/#active-function-object 5457. https://html.spec.whatwg.org/#htmlparagraphelement 5458. https://html.spec.whatwg.org/#htmlelement 5459. https://html.spec.whatwg.org/#customized-built-in-element 5460. https://html.spec.whatwg.org/#other-applicable-specifications 5461. https://tc39.es/ecma262/#active-function-object 5462. https://dom.spec.whatwg.org/#concept-element-interface 5463. https://html.spec.whatwg.org/#concept-custom-element-definition-local-name 5464. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 5465. https://html.spec.whatwg.org/#the-q-element 5466. https://html.spec.whatwg.org/#the-blockquote-element 5467. https://html.spec.whatwg.org/#concept-custom-element-definition-local-name 5468. https://html.spec.whatwg.org/#the-p-element 5469. https://html.spec.whatwg.org/#concept-custom-element-definition-name 5470. https://html.spec.whatwg.org/#concept-custom-element-definition-construction-stack 5471. https://webidl.spec.whatwg.org/#internally-create-a-new-object-implementing-the-interface 5472. https://tc39.es/ecma262/#active-function-object 5473. https://tc39.es/ecma262/#current-realm 5474. https://tc39.es/ecma262/#sec-built-in-function-objects 5475. https://dom.spec.whatwg.org/#concept-node-document 5476. https://html.spec.whatwg.org/#current-global-object 5477. https://html.spec.whatwg.org/#concept-document-window 5478. https://dom.spec.whatwg.org/#concept-element-namespace 5479. https://infra.spec.whatwg.org/#html-namespace 5480. https://dom.spec.whatwg.org/#concept-element-namespace-prefix 5481. https://dom.spec.whatwg.org/#concept-element-local-name 5482. https://html.spec.whatwg.org/#concept-custom-element-definition-local-name 5483. https://dom.spec.whatwg.org/#concept-element-custom-element-state 5484. https://dom.spec.whatwg.org/#concept-element-custom-element-definition 5485. https://dom.spec.whatwg.org/#concept-element-is-value 5486. https://tc39.es/ecma262/#sec-get-o-p 5487. https://tc39.es/ecma262/#sec-built-in-function-objects 5488. https://tc39.es/ecma262/#sec-object-type 5489. https://tc39.es/ecma262/#sec-getfunctionrealm 5490. https://tc39.es/ecma262/#sec-built-in-function-objects 5491. https://webidl.spec.whatwg.org/#dfn-interface-prototype-object 5492. https://tc39.es/ecma262/#active-function-object 5493. https://tc39.es/ecma262/#active-function-object 5494. https://webidl.spec.whatwg.org/#dfn-interface-object 5495. https://tc39.es/ecma262/#sec-built-in-function-objects 5496. https://webidl.spec.whatwg.org/#internally-create-a-new-object-implementing-the-interface 5497. https://html.spec.whatwg.org/#concept-custom-element-definition-construction-stack 5498. https://html.spec.whatwg.org/#concept-already-constructed-marker 5499. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 5500. https://html.spec.whatwg.org/#custom-element-constructor 5501. https://html.spec.whatwg.org/#custom-element-conformance 5502. https://html.spec.whatwg.org/#custom-element-constructor 5503. https://html.spec.whatwg.org/#custom-element-conformance 5504. https://html.spec.whatwg.org/#concept-custom-element-definition-construction-stack 5505. https://html.spec.whatwg.org/#concept-already-constructed-marker 5506. https://html.spec.whatwg.org/#upgrades 5507. https://html.spec.whatwg.org/#custom-element-constructor 5508. https://html.spec.whatwg.org/#htmlconstructor 5509. https://webidl.spec.whatwg.org/#dfn-named-constructor 5510. https://html.spec.whatwg.org/#dom-elementdefinitionoptions-extends 5511. https://html.spec.whatwg.org/#custom-element-constructor 5512. https://html.spec.whatwg.org/#content-categories 5513. https://html.spec.whatwg.org/#content-models 5514. https://html.spec.whatwg.org/#phrasing-content-2 5515. https://html.spec.whatwg.org/#flow-content-2 5516. https://html.spec.whatwg.org/#phrasing-content-2 5517. https://html.spec.whatwg.org/#phrasing-content-2 5518. https://html.spec.whatwg.org/#flow-content-2 5519. https://html.spec.whatwg.org/#phrasing-content-2 5520. https://html.spec.whatwg.org/#text/html 5521. https://html.spec.whatwg.org/#syntax-start-tag 5522. https://html.spec.whatwg.org/#syntax-end-tag 5523. https://html.spec.whatwg.org/#syntax-tag-omission 5524. https://html.spec.whatwg.org/#attr-aria-role 5525. https://html.spec.whatwg.org/#attr-aria-* 5526. https://html.spec.whatwg.org/#refsARIA 5527. https://html.spec.whatwg.org/#refsARIAHTML 5528. https://html.spec.whatwg.org/#refsHTMLAAM 5529. https://html.spec.whatwg.org/#represents 5530. https://html.spec.whatwg.org/#html-elements 5531. https://html.spec.whatwg.org/#concept-html-contents 5532. https://html.spec.whatwg.org/#html-elements 5533. https://infra.spec.whatwg.org/#ascii-whitespace 5534. https://dom.spec.whatwg.org/#interface-text 5535. https://dom.spec.whatwg.org/#interface-text 5536. https://dom.spec.whatwg.org/#interface-text 5537. https://html.spec.whatwg.org/#inter-element-whitespace 5538. https://dom.spec.whatwg.org/#interface-text 5539. https://html.spec.whatwg.org/#inter-element-whitespace 5540. https://html.spec.whatwg.org/#inter-element-whitespace 5541. https://html.spec.whatwg.org/#html-elements 5542. https://html.spec.whatwg.org/#the-div-element 5543. https://html.spec.whatwg.org/#the-div-element 5544. https://html.spec.whatwg.org/#refsATOM 5545. https://html.spec.whatwg.org/#html-elements 5546. https://html.spec.whatwg.org/#the-td-element 5547. https://html.spec.whatwg.org/#the-td-element 5548. https://html.spec.whatwg.org/#the-tr-element 5549. https://dom.spec.whatwg.org/#interface-text 5550. https://html.spec.whatwg.org/#inter-element-whitespace 5551. https://html.spec.whatwg.org/#void-elements 5552. https://html.spec.whatwg.org/#syntax-end-tag 5553. https://html.spec.whatwg.org/#syntax 5554. https://html.spec.whatwg.org/#metadata-content-2 5555. https://html.spec.whatwg.org/#flow-content-2 5556. https://html.spec.whatwg.org/#sectioning-content-2 5557. https://html.spec.whatwg.org/#heading-content-2 5558. https://html.spec.whatwg.org/#phrasing-content-2 5559. https://html.spec.whatwg.org/#embedded-content-category 5560. https://html.spec.whatwg.org/#interactive-content-2 5561. https://html.spec.whatwg.org/images/content-venn.svg 5562. https://html.spec.whatwg.org/#the-base-element 5563. https://html.spec.whatwg.org/#the-link-element 5564. https://html.spec.whatwg.org/#the-meta-element 5565. https://html.spec.whatwg.org/#the-noscript-element 5566. https://html.spec.whatwg.org/#the-script-element 5567. https://html.spec.whatwg.org/#the-style-element 5568. https://html.spec.whatwg.org/#the-template-element 5569. https://html.spec.whatwg.org/#the-title-element 5570. https://html.spec.whatwg.org/#metadata-content-2 5571. https://html.spec.whatwg.org/#the-a-element 5572. https://html.spec.whatwg.org/#the-abbr-element 5573. https://html.spec.whatwg.org/#the-address-element 5574. https://html.spec.whatwg.org/#the-area-element 5575. https://html.spec.whatwg.org/#the-map-element 5576. https://html.spec.whatwg.org/#the-article-element 5577. https://html.spec.whatwg.org/#the-aside-element 5578. https://html.spec.whatwg.org/#the-audio-element 5579. https://html.spec.whatwg.org/#the-b-element 5580. https://html.spec.whatwg.org/#the-bdi-element 5581. https://html.spec.whatwg.org/#the-bdo-element 5582. https://html.spec.whatwg.org/#the-blockquote-element 5583. https://html.spec.whatwg.org/#the-br-element 5584. https://html.spec.whatwg.org/#the-button-element 5585. https://html.spec.whatwg.org/#the-canvas-element 5586. https://html.spec.whatwg.org/#the-cite-element 5587. https://html.spec.whatwg.org/#the-code-element 5588. https://html.spec.whatwg.org/#the-data-element 5589. https://html.spec.whatwg.org/#the-datalist-element 5590. https://html.spec.whatwg.org/#the-del-element 5591. https://html.spec.whatwg.org/#the-details-element 5592. https://html.spec.whatwg.org/#the-dfn-element 5593. https://html.spec.whatwg.org/#the-dialog-element 5594. https://html.spec.whatwg.org/#the-div-element 5595. https://html.spec.whatwg.org/#the-dl-element 5596. https://html.spec.whatwg.org/#the-em-element 5597. https://html.spec.whatwg.org/#the-embed-element 5598. https://html.spec.whatwg.org/#the-fieldset-element 5599. https://html.spec.whatwg.org/#the-figure-element 5600. https://html.spec.whatwg.org/#the-footer-element 5601. https://html.spec.whatwg.org/#the-form-element 5602. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5603. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5604. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5605. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5606. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5607. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5608. https://html.spec.whatwg.org/#the-header-element 5609. https://html.spec.whatwg.org/#the-hgroup-element 5610. https://html.spec.whatwg.org/#the-hr-element 5611. https://html.spec.whatwg.org/#the-i-element 5612. https://html.spec.whatwg.org/#the-iframe-element 5613. https://html.spec.whatwg.org/#the-img-element 5614. https://html.spec.whatwg.org/#the-input-element 5615. https://html.spec.whatwg.org/#the-ins-element 5616. https://html.spec.whatwg.org/#the-kbd-element 5617. https://html.spec.whatwg.org/#the-label-element 5618. https://html.spec.whatwg.org/#the-link-element 5619. https://html.spec.whatwg.org/#allowed-in-the-body 5620. https://html.spec.whatwg.org/#the-main-element 5621. https://html.spec.whatwg.org/#hierarchically-correct-main-element 5622. https://html.spec.whatwg.org/#the-map-element 5623. https://html.spec.whatwg.org/#the-mark-element 5624. https://w3c.github.io/mathml-core/#the-top-level-math-element 5625. https://html.spec.whatwg.org/#the-menu-element 5626. https://html.spec.whatwg.org/#the-meta-element 5627. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 5628. https://html.spec.whatwg.org/#the-meter-element 5629. https://html.spec.whatwg.org/#the-nav-element 5630. https://html.spec.whatwg.org/#the-noscript-element 5631. https://html.spec.whatwg.org/#the-object-element 5632. https://html.spec.whatwg.org/#the-ol-element 5633. https://html.spec.whatwg.org/#the-output-element 5634. https://html.spec.whatwg.org/#the-p-element 5635. https://html.spec.whatwg.org/#the-picture-element 5636. https://html.spec.whatwg.org/#the-pre-element 5637. https://html.spec.whatwg.org/#the-progress-element 5638. https://html.spec.whatwg.org/#the-q-element 5639. https://html.spec.whatwg.org/#the-ruby-element 5640. https://html.spec.whatwg.org/#the-s-element 5641. https://html.spec.whatwg.org/#the-samp-element 5642. https://html.spec.whatwg.org/#the-script-element 5643. https://html.spec.whatwg.org/#the-search-element 5644. https://html.spec.whatwg.org/#the-section-element 5645. https://html.spec.whatwg.org/#the-select-element 5646. https://html.spec.whatwg.org/#the-slot-element 5647. https://html.spec.whatwg.org/#the-small-element 5648. https://html.spec.whatwg.org/#the-span-element 5649. https://html.spec.whatwg.org/#the-strong-element 5650. https://html.spec.whatwg.org/#the-sub-and-sup-elements 5651. https://html.spec.whatwg.org/#the-sub-and-sup-elements 5652. https://svgwg.org/svg2-draft/struct.html#SVGElement 5653. https://html.spec.whatwg.org/#the-table-element 5654. https://html.spec.whatwg.org/#the-template-element 5655. https://html.spec.whatwg.org/#the-textarea-element 5656. https://html.spec.whatwg.org/#the-time-element 5657. https://html.spec.whatwg.org/#the-u-element 5658. https://html.spec.whatwg.org/#the-ul-element 5659. https://html.spec.whatwg.org/#the-var-element 5660. https://html.spec.whatwg.org/#the-video-element 5661. https://html.spec.whatwg.org/#the-wbr-element 5662. https://html.spec.whatwg.org/#autonomous-custom-element 5663. https://html.spec.whatwg.org/#text-content 5664. https://html.spec.whatwg.org/#the-header-element 5665. https://html.spec.whatwg.org/#the-footer-element 5666. https://html.spec.whatwg.org/#the-article-element 5667. https://html.spec.whatwg.org/#the-aside-element 5668. https://html.spec.whatwg.org/#the-nav-element 5669. https://html.spec.whatwg.org/#the-section-element 5670. https://html.spec.whatwg.org/#sectioning-content-2 5671. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5672. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5673. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5674. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5675. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5676. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5677. https://html.spec.whatwg.org/#the-hgroup-element 5678. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5679. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5680. https://html.spec.whatwg.org/#phrasing-content-2 5681. https://html.spec.whatwg.org/#paragraph 5682. https://html.spec.whatwg.org/#the-a-element 5683. https://html.spec.whatwg.org/#the-abbr-element 5684. https://html.spec.whatwg.org/#the-area-element 5685. https://html.spec.whatwg.org/#the-map-element 5686. https://html.spec.whatwg.org/#the-audio-element 5687. https://html.spec.whatwg.org/#the-b-element 5688. https://html.spec.whatwg.org/#the-bdi-element 5689. https://html.spec.whatwg.org/#the-bdo-element 5690. https://html.spec.whatwg.org/#the-br-element 5691. https://html.spec.whatwg.org/#the-button-element 5692. https://html.spec.whatwg.org/#the-canvas-element 5693. https://html.spec.whatwg.org/#the-cite-element 5694. https://html.spec.whatwg.org/#the-code-element 5695. https://html.spec.whatwg.org/#the-data-element 5696. https://html.spec.whatwg.org/#the-datalist-element 5697. https://html.spec.whatwg.org/#the-del-element 5698. https://html.spec.whatwg.org/#the-dfn-element 5699. https://html.spec.whatwg.org/#the-em-element 5700. https://html.spec.whatwg.org/#the-embed-element 5701. https://html.spec.whatwg.org/#the-i-element 5702. https://html.spec.whatwg.org/#the-iframe-element 5703. https://html.spec.whatwg.org/#the-img-element 5704. https://html.spec.whatwg.org/#the-input-element 5705. https://html.spec.whatwg.org/#the-ins-element 5706. https://html.spec.whatwg.org/#the-kbd-element 5707. https://html.spec.whatwg.org/#the-label-element 5708. https://html.spec.whatwg.org/#the-link-element 5709. https://html.spec.whatwg.org/#allowed-in-the-body 5710. https://html.spec.whatwg.org/#the-map-element 5711. https://html.spec.whatwg.org/#the-mark-element 5712. https://w3c.github.io/mathml-core/#the-top-level-math-element 5713. https://html.spec.whatwg.org/#the-meta-element 5714. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 5715. https://html.spec.whatwg.org/#the-meter-element 5716. https://html.spec.whatwg.org/#the-noscript-element 5717. https://html.spec.whatwg.org/#the-object-element 5718. https://html.spec.whatwg.org/#the-output-element 5719. https://html.spec.whatwg.org/#the-picture-element 5720. https://html.spec.whatwg.org/#the-progress-element 5721. https://html.spec.whatwg.org/#the-q-element 5722. https://html.spec.whatwg.org/#the-ruby-element 5723. https://html.spec.whatwg.org/#the-s-element 5724. https://html.spec.whatwg.org/#the-samp-element 5725. https://html.spec.whatwg.org/#the-script-element 5726. https://html.spec.whatwg.org/#the-select-element 5727. https://html.spec.whatwg.org/#the-slot-element 5728. https://html.spec.whatwg.org/#the-small-element 5729. https://html.spec.whatwg.org/#the-span-element 5730. https://html.spec.whatwg.org/#the-strong-element 5731. https://html.spec.whatwg.org/#the-sub-and-sup-elements 5732. https://html.spec.whatwg.org/#the-sub-and-sup-elements 5733. https://svgwg.org/svg2-draft/struct.html#SVGElement 5734. https://html.spec.whatwg.org/#the-template-element 5735. https://html.spec.whatwg.org/#the-textarea-element 5736. https://html.spec.whatwg.org/#the-time-element 5737. https://html.spec.whatwg.org/#the-u-element 5738. https://html.spec.whatwg.org/#the-var-element 5739. https://html.spec.whatwg.org/#the-video-element 5740. https://html.spec.whatwg.org/#the-wbr-element 5741. https://html.spec.whatwg.org/#autonomous-custom-element 5742. https://html.spec.whatwg.org/#text-content 5743. https://dom.spec.whatwg.org/#interface-text 5744. https://html.spec.whatwg.org/#text-content 5745. https://html.spec.whatwg.org/#phrasing-content-2 5746. https://html.spec.whatwg.org/#inter-element-whitespace 5747. https://dom.spec.whatwg.org/#interface-text 5748. https://infra.spec.whatwg.org/#ascii-whitespace 5749. https://dom.spec.whatwg.org/#interface-text 5750. https://infra.spec.whatwg.org/#scalar-value 5751. https://infra.spec.whatwg.org/#noncharacter 5752. https://infra.spec.whatwg.org/#control 5753. https://infra.spec.whatwg.org/#ascii-whitespace 5754. https://dom.spec.whatwg.org/#interface-text 5755. https://html.spec.whatwg.org/#the-audio-element 5756. https://html.spec.whatwg.org/#the-canvas-element 5757. https://html.spec.whatwg.org/#the-embed-element 5758. https://html.spec.whatwg.org/#the-iframe-element 5759. https://html.spec.whatwg.org/#the-img-element 5760. https://w3c.github.io/mathml-core/#the-top-level-math-element 5761. https://html.spec.whatwg.org/#the-object-element 5762. https://html.spec.whatwg.org/#the-picture-element 5763. https://svgwg.org/svg2-draft/struct.html#SVGElement 5764. https://html.spec.whatwg.org/#the-video-element 5765. https://infra.spec.whatwg.org/#html-namespace 5766. https://html.spec.whatwg.org/#embedded-content-category 5767. https://html.spec.whatwg.org/#the-a-element 5768. https://html.spec.whatwg.org/#attr-hyperlink-href 5769. https://html.spec.whatwg.org/#the-audio-element 5770. https://html.spec.whatwg.org/#attr-media-controls 5771. https://html.spec.whatwg.org/#the-button-element 5772. https://html.spec.whatwg.org/#the-details-element 5773. https://html.spec.whatwg.org/#the-embed-element 5774. https://html.spec.whatwg.org/#the-iframe-element 5775. https://html.spec.whatwg.org/#the-img-element 5776. https://html.spec.whatwg.org/#attr-hyperlink-usemap 5777. https://html.spec.whatwg.org/#the-input-element 5778. https://html.spec.whatwg.org/#attr-input-type 5779. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 5780. https://html.spec.whatwg.org/#the-label-element 5781. https://html.spec.whatwg.org/#the-select-element 5782. https://html.spec.whatwg.org/#the-textarea-element 5783. https://html.spec.whatwg.org/#the-video-element 5784. https://html.spec.whatwg.org/#attr-media-controls 5785. https://html.spec.whatwg.org/#flow-content-2 5786. https://html.spec.whatwg.org/#phrasing-content-2 5787. https://html.spec.whatwg.org/#concept-html-contents 5788. https://html.spec.whatwg.org/#attr-hidden 5789. https://html.spec.whatwg.org/#palpable-content-2 5790. https://html.spec.whatwg.org/#text-content 5791. https://html.spec.whatwg.org/#the-audio-element 5792. https://html.spec.whatwg.org/#the-video-element 5793. https://html.spec.whatwg.org/#the-img-element 5794. https://html.spec.whatwg.org/#the-canvas-element 5795. https://html.spec.whatwg.org/#the-a-element 5796. https://html.spec.whatwg.org/#the-abbr-element 5797. https://html.spec.whatwg.org/#the-address-element 5798. https://html.spec.whatwg.org/#the-article-element 5799. https://html.spec.whatwg.org/#the-aside-element 5800. https://html.spec.whatwg.org/#the-audio-element 5801. https://html.spec.whatwg.org/#attr-media-controls 5802. https://html.spec.whatwg.org/#the-b-element 5803. https://html.spec.whatwg.org/#the-bdi-element 5804. https://html.spec.whatwg.org/#the-bdo-element 5805. https://html.spec.whatwg.org/#the-blockquote-element 5806. https://html.spec.whatwg.org/#the-button-element 5807. https://html.spec.whatwg.org/#the-canvas-element 5808. https://html.spec.whatwg.org/#the-cite-element 5809. https://html.spec.whatwg.org/#the-code-element 5810. https://html.spec.whatwg.org/#the-data-element 5811. https://html.spec.whatwg.org/#the-del-element 5812. https://html.spec.whatwg.org/#the-details-element 5813. https://html.spec.whatwg.org/#the-dfn-element 5814. https://html.spec.whatwg.org/#the-div-element 5815. https://html.spec.whatwg.org/#the-dl-element 5816. https://html.spec.whatwg.org/#the-em-element 5817. https://html.spec.whatwg.org/#the-embed-element 5818. https://html.spec.whatwg.org/#the-fieldset-element 5819. https://html.spec.whatwg.org/#the-figure-element 5820. https://html.spec.whatwg.org/#the-footer-element 5821. https://html.spec.whatwg.org/#the-form-element 5822. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5823. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5824. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5825. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5826. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5827. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 5828. https://html.spec.whatwg.org/#the-header-element 5829. https://html.spec.whatwg.org/#the-hgroup-element 5830. https://html.spec.whatwg.org/#the-i-element 5831. https://html.spec.whatwg.org/#the-iframe-element 5832. https://html.spec.whatwg.org/#the-img-element 5833. https://html.spec.whatwg.org/#the-input-element 5834. https://html.spec.whatwg.org/#attr-input-type 5835. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 5836. https://html.spec.whatwg.org/#the-ins-element 5837. https://html.spec.whatwg.org/#the-kbd-element 5838. https://html.spec.whatwg.org/#the-label-element 5839. https://html.spec.whatwg.org/#the-main-element 5840. https://html.spec.whatwg.org/#the-map-element 5841. https://html.spec.whatwg.org/#the-mark-element 5842. https://w3c.github.io/mathml-core/#the-top-level-math-element 5843. https://html.spec.whatwg.org/#the-menu-element 5844. https://html.spec.whatwg.org/#the-li-element 5845. https://html.spec.whatwg.org/#the-meter-element 5846. https://html.spec.whatwg.org/#the-nav-element 5847. https://html.spec.whatwg.org/#the-object-element 5848. https://html.spec.whatwg.org/#the-ol-element 5849. https://html.spec.whatwg.org/#the-li-element 5850. https://html.spec.whatwg.org/#the-output-element 5851. https://html.spec.whatwg.org/#the-p-element 5852. https://html.spec.whatwg.org/#the-picture-element 5853. https://html.spec.whatwg.org/#the-pre-element 5854. https://html.spec.whatwg.org/#the-progress-element 5855. https://html.spec.whatwg.org/#the-q-element 5856. https://html.spec.whatwg.org/#the-ruby-element 5857. https://html.spec.whatwg.org/#the-s-element 5858. https://html.spec.whatwg.org/#the-samp-element 5859. https://html.spec.whatwg.org/#the-search-element 5860. https://html.spec.whatwg.org/#the-section-element 5861. https://html.spec.whatwg.org/#the-select-element 5862. https://html.spec.whatwg.org/#the-small-element 5863. https://html.spec.whatwg.org/#the-span-element 5864. https://html.spec.whatwg.org/#the-strong-element 5865. https://html.spec.whatwg.org/#the-sub-and-sup-elements 5866. https://html.spec.whatwg.org/#the-sub-and-sup-elements 5867. https://svgwg.org/svg2-draft/struct.html#SVGElement 5868. https://html.spec.whatwg.org/#the-table-element 5869. https://html.spec.whatwg.org/#the-textarea-element 5870. https://html.spec.whatwg.org/#the-time-element 5871. https://html.spec.whatwg.org/#the-u-element 5872. https://html.spec.whatwg.org/#the-ul-element 5873. https://html.spec.whatwg.org/#the-li-element 5874. https://html.spec.whatwg.org/#the-var-element 5875. https://html.spec.whatwg.org/#the-video-element 5876. https://html.spec.whatwg.org/#autonomous-custom-element 5877. https://html.spec.whatwg.org/#text-content 5878. https://html.spec.whatwg.org/#inter-element-whitespace 5879. https://html.spec.whatwg.org/#represents 5880. https://html.spec.whatwg.org/#the-script-element 5881. https://html.spec.whatwg.org/#the-template-element 5882. https://html.spec.whatwg.org/#transparent 5883. https://html.spec.whatwg.org/#the-ins-element 5884. https://html.spec.whatwg.org/#the-ruby-element 5885. https://html.spec.whatwg.org/#the-rt-element 5886. https://html.spec.whatwg.org/#the-ruby-element 5887. https://html.spec.whatwg.org/#the-ins-element 5888. https://html.spec.whatwg.org/#phrasing-content-2 5889. https://html.spec.whatwg.org/#the-rt-element 5890. https://html.spec.whatwg.org/#phrasing-content-2 5891. https://html.spec.whatwg.org/#the-a-element 5892. https://html.spec.whatwg.org/#the-a-element 5893. https://html.spec.whatwg.org/#the-map-element 5894. https://html.spec.whatwg.org/#the-ins-element 5895. https://html.spec.whatwg.org/#the-object-element 5896. https://html.spec.whatwg.org/#the-object-element 5897. https://html.spec.whatwg.org/#the-p-element 5898. https://html.spec.whatwg.org/#phrasing-content-2 5899. https://html.spec.whatwg.org/#flow-content-2 5900. https://html.spec.whatwg.org/#paragraph 5901. https://html.spec.whatwg.org/#the-p-element 5902. https://html.spec.whatwg.org/#paragraph 5903. https://html.spec.whatwg.org/#the-p-element 5904. https://html.spec.whatwg.org/#paragraph 5905. https://html.spec.whatwg.org/#phrasing-content-2 5906. https://html.spec.whatwg.org/#inter-element-whitespace 5907. https://html.spec.whatwg.org/#flow-content-2 5908. https://html.spec.whatwg.org/#the-a-element 5909. https://html.spec.whatwg.org/#the-ins-element 5910. https://html.spec.whatwg.org/#the-del-element 5911. https://html.spec.whatwg.org/#the-map-element 5912. https://html.spec.whatwg.org/#the-ins-element 5913. https://html.spec.whatwg.org/#the-del-element 5914. https://html.spec.whatwg.org/#the-ins-element 5915. https://html.spec.whatwg.org/#the-del-element 5916. https://html.spec.whatwg.org/#the-ins-element 5917. https://html.spec.whatwg.org/#the-del-element 5918. https://html.spec.whatwg.org/#the-a-element 5919. https://html.spec.whatwg.org/#the-ins-element 5920. https://html.spec.whatwg.org/#the-del-element 5921. https://html.spec.whatwg.org/#the-map-element 5922. https://html.spec.whatwg.org/#concept-html-contents 5923. https://html.spec.whatwg.org/#phrasing-content-2 5924. https://html.spec.whatwg.org/#phrasing-content-2 5925. https://html.spec.whatwg.org/#phrasing-content-2 5926. https://html.spec.whatwg.org/#embedded-content-category 5927. https://html.spec.whatwg.org/#inter-element-whitespace 5928. https://html.spec.whatwg.org/#the-a-element 5929. https://html.spec.whatwg.org/#the-ins-element 5930. https://html.spec.whatwg.org/#the-del-element 5931. https://html.spec.whatwg.org/#the-map-element 5932. https://html.spec.whatwg.org/#the-object-element 5933. https://html.spec.whatwg.org/#the-video-element 5934. https://html.spec.whatwg.org/#the-audio-element 5935. https://html.spec.whatwg.org/#the-canvas-element 5936. https://svgwg.org/svg2-draft/struct.html#SVGElement 5937. https://w3c.github.io/mathml-core/#the-top-level-math-element 5938. https://html.spec.whatwg.org/#paragraph 5939. https://html.spec.whatwg.org/#the-p-element 5940. https://html.spec.whatwg.org/#the-p-element 5941. https://html.spec.whatwg.org/#the-object-element 5942. https://html.spec.whatwg.org/#the-p-element 5943. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes 5944. https://html.spec.whatwg.org/#html-elements 5945. https://html.spec.whatwg.org/#the-accesskey-attribute 5946. https://html.spec.whatwg.org/#attr-autocapitalize 5947. https://html.spec.whatwg.org/#attr-autocorrect 5948. https://html.spec.whatwg.org/#attr-fe-autofocus 5949. https://html.spec.whatwg.org/#attr-contenteditable 5950. https://html.spec.whatwg.org/#attr-dir 5951. https://html.spec.whatwg.org/#attr-draggable 5952. https://html.spec.whatwg.org/#attr-enterkeyhint 5953. https://html.spec.whatwg.org/#attr-hidden 5954. https://html.spec.whatwg.org/#the-inert-attribute 5955. https://html.spec.whatwg.org/#attr-inputmode 5956. https://html.spec.whatwg.org/#attr-is 5957. https://html.spec.whatwg.org/#attr-itemid 5958. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 5959. https://html.spec.whatwg.org/#attr-itemref 5960. https://html.spec.whatwg.org/#attr-itemscope 5961. https://html.spec.whatwg.org/#attr-itemtype 5962. https://html.spec.whatwg.org/#attr-lang 5963. https://html.spec.whatwg.org/#attr-nonce 5964. https://html.spec.whatwg.org/#attr-popover 5965. https://html.spec.whatwg.org/#attr-spellcheck 5966. https://html.spec.whatwg.org/#attr-style 5967. https://html.spec.whatwg.org/#attr-tabindex 5968. https://html.spec.whatwg.org/#attr-title 5969. https://html.spec.whatwg.org/#attr-translate 5970. https://html.spec.whatwg.org/#attr-writingsuggestions 5971. https://html.spec.whatwg.org/#html-elements 5972. https://html.spec.whatwg.org/#attr-dir 5973. https://html.spec.whatwg.org/#the-directionality 5974. https://html.spec.whatwg.org/#the-span-element 5975. https://html.spec.whatwg.org/#concept-rtl 5976. https://html.spec.whatwg.org/#the-div-element 5977. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/slot 5978. https://html.spec.whatwg.org/#refsDOM 5979. https://html.spec.whatwg.org/#classes 5980. https://html.spec.whatwg.org/#the-id-attribute 5981. https://html.spec.whatwg.org/#attr-slot 5982. https://html.spec.whatwg.org/#html-elements 5983. https://html.spec.whatwg.org/#html-elements 5984. https://html.spec.whatwg.org/#classes 5985. https://html.spec.whatwg.org/#set-of-space-separated-tokens 5986. https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname 5987. https://html.spec.whatwg.org/#classes 5988. https://html.spec.whatwg.org/#html-elements 5989. https://html.spec.whatwg.org/#the-id-attribute 5990. https://dom.spec.whatwg.org/#concept-id 5991. https://dom.spec.whatwg.org/#concept-tree 5992. https://infra.spec.whatwg.org/#ascii-whitespace 5993. https://html.spec.whatwg.org/#the-id-attribute 5994. https://dom.spec.whatwg.org/#concept-id 5995. https://dom.spec.whatwg.org/#concept-id 5996. https://url.spec.whatwg.org/#concept-url-fragment 5997. https://html.spec.whatwg.org/#the-id-attribute 5998. https://html.spec.whatwg.org/#attr-slot 5999. https://html.spec.whatwg.org/#html-elements 6000. https://html.spec.whatwg.org/#attr-slot 6001. https://dom.spec.whatwg.org/#assign-a-slot 6002. https://html.spec.whatwg.org/#attr-slot 6003. https://dom.spec.whatwg.org/#assign-a-slot 6004. https://dom.spec.whatwg.org/#concept-slot 6005. https://html.spec.whatwg.org/#the-slot-element 6006. https://html.spec.whatwg.org/#attr-slot-name 6007. https://html.spec.whatwg.org/#attr-slot 6008. https://html.spec.whatwg.org/#the-slot-element 6009. https://dom.spec.whatwg.org/#concept-shadow-tree 6010. https://dom.spec.whatwg.org/#concept-tree-root 6011. https://dom.spec.whatwg.org/#concept-documentfragment-host 6012. https://html.spec.whatwg.org/#attr-slot 6013. https://html.spec.whatwg.org/#wai-aria 6014. https://html.spec.whatwg.org/#attr-aria-role 6015. https://html.spec.whatwg.org/#attr-aria-* 6016. https://html.spec.whatwg.org/#refsARIA 6017. https://html.spec.whatwg.org/#event-handler-content-attributes 6018. https://html.spec.whatwg.org/#html-elements 6019. https://html.spec.whatwg.org/#handler-onauxclick 6020. https://html.spec.whatwg.org/#handler-onbeforeinput 6021. https://html.spec.whatwg.org/#handler-onbeforematch 6022. https://html.spec.whatwg.org/#handler-onbeforetoggle 6023. https://html.spec.whatwg.org/#handler-onblur 6024. https://html.spec.whatwg.org/#handler-oncancel 6025. https://html.spec.whatwg.org/#handler-oncanplay 6026. https://html.spec.whatwg.org/#handler-oncanplaythrough 6027. https://html.spec.whatwg.org/#handler-onchange 6028. https://html.spec.whatwg.org/#handler-onclick 6029. https://html.spec.whatwg.org/#handler-onclose 6030. https://html.spec.whatwg.org/#handler-oncommand 6031. https://html.spec.whatwg.org/#handler-oncontextlost 6032. https://html.spec.whatwg.org/#handler-oncontextmenu 6033. https://html.spec.whatwg.org/#handler-oncontextrestored 6034. https://html.spec.whatwg.org/#handler-oncopy 6035. https://html.spec.whatwg.org/#handler-oncuechange 6036. https://html.spec.whatwg.org/#handler-oncut 6037. https://html.spec.whatwg.org/#handler-ondblclick 6038. https://html.spec.whatwg.org/#handler-ondrag 6039. https://html.spec.whatwg.org/#handler-ondragend 6040. https://html.spec.whatwg.org/#handler-ondragenter 6041. https://html.spec.whatwg.org/#handler-ondragleave 6042. https://html.spec.whatwg.org/#handler-ondragover 6043. https://html.spec.whatwg.org/#handler-ondragstart 6044. https://html.spec.whatwg.org/#handler-ondrop 6045. https://html.spec.whatwg.org/#handler-ondurationchange 6046. https://html.spec.whatwg.org/#handler-onemptied 6047. https://html.spec.whatwg.org/#handler-onended 6048. https://html.spec.whatwg.org/#handler-onerror 6049. https://html.spec.whatwg.org/#handler-onfocus 6050. https://html.spec.whatwg.org/#handler-onformdata 6051. https://html.spec.whatwg.org/#handler-oninput 6052. https://html.spec.whatwg.org/#handler-oninvalid 6053. https://html.spec.whatwg.org/#handler-onkeydown 6054. https://html.spec.whatwg.org/#handler-onkeypress 6055. https://html.spec.whatwg.org/#handler-onkeyup 6056. https://html.spec.whatwg.org/#handler-onload 6057. https://html.spec.whatwg.org/#handler-onloadeddata 6058. https://html.spec.whatwg.org/#handler-onloadedmetadata 6059. https://html.spec.whatwg.org/#handler-onloadstart 6060. https://html.spec.whatwg.org/#handler-onmousedown 6061. https://html.spec.whatwg.org/#handler-onmouseenter 6062. https://html.spec.whatwg.org/#handler-onmouseleave 6063. https://html.spec.whatwg.org/#handler-onmousemove 6064. https://html.spec.whatwg.org/#handler-onmouseout 6065. https://html.spec.whatwg.org/#handler-onmouseover 6066. https://html.spec.whatwg.org/#handler-onmouseup 6067. https://html.spec.whatwg.org/#handler-onpaste 6068. https://html.spec.whatwg.org/#handler-onpause 6069. https://html.spec.whatwg.org/#handler-onplay 6070. https://html.spec.whatwg.org/#handler-onplaying 6071. https://html.spec.whatwg.org/#handler-onprogress 6072. https://html.spec.whatwg.org/#handler-onratechange 6073. https://html.spec.whatwg.org/#handler-onreset 6074. https://html.spec.whatwg.org/#handler-onresize 6075. https://html.spec.whatwg.org/#handler-onscroll 6076. https://html.spec.whatwg.org/#handler-onscrollend 6077. https://html.spec.whatwg.org/#handler-onsecuritypolicyviolation 6078. https://html.spec.whatwg.org/#handler-onseeked 6079. https://html.spec.whatwg.org/#handler-onseeking 6080. https://html.spec.whatwg.org/#handler-onselect 6081. https://html.spec.whatwg.org/#handler-onslotchange 6082. https://html.spec.whatwg.org/#handler-onstalled 6083. https://html.spec.whatwg.org/#handler-onsubmit 6084. https://html.spec.whatwg.org/#handler-onsuspend 6085. https://html.spec.whatwg.org/#handler-ontimeupdate 6086. https://html.spec.whatwg.org/#handler-ontoggle 6087. https://html.spec.whatwg.org/#handler-onvolumechange 6088. https://html.spec.whatwg.org/#handler-onwaiting 6089. https://html.spec.whatwg.org/#handler-onwheel 6090. https://html.spec.whatwg.org/#the-body-element 6091. https://html.spec.whatwg.org/#event-handlers 6092. https://html.spec.whatwg.org/#window 6093. https://html.spec.whatwg.org/#media-element 6094. https://html.spec.whatwg.org/#event-media-volumechange 6095. https://html.spec.whatwg.org/#custom-data-attribute 6096. https://html.spec.whatwg.org/#html-elements 6097. https://dom.spec.whatwg.org/#html-document 6098. https://infra.spec.whatwg.org/#html-namespace 6099. https://dom.spec.whatwg.org/#xml-document 6100. https://html.spec.whatwg.org/#html-parser 6101. https://www.w3.org/TR/xml/#sec-white-space 6102. https://infra.spec.whatwg.org/#xml-namespace 6103. https://dom.spec.whatwg.org/#xml-document 6104. https://html.spec.whatwg.org/#html-elements 6105. https://html.spec.whatwg.org/#refsXML 6106. https://www.w3.org/TR/xml/#sec-white-space 6107. https://html.spec.whatwg.org/#html-elements 6108. https://html.spec.whatwg.org/#text/html 6109. https://html.spec.whatwg.org/#attr-title 6110. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/title 6111. https://html.spec.whatwg.org/#represents 6112. https://html.spec.whatwg.org/#interactive-content-2 6113. https://html.spec.whatwg.org/#attr-title 6114. https://html.spec.whatwg.org/#attr-title 6115. https://html.spec.whatwg.org/#html-elements 6116. https://html.spec.whatwg.org/#attr-title 6117. https://html.spec.whatwg.org/#attr-title 6118. https://html.spec.whatwg.org/#attr-title 6119. https://html.spec.whatwg.org/#the-link-element 6120. https://html.spec.whatwg.org/#the-abbr-element 6121. https://html.spec.whatwg.org/#the-input-element 6122. https://html.spec.whatwg.org/#attr-title 6123. https://html.spec.whatwg.org/#attr-title 6124. https://infra.spec.whatwg.org/#normalize-newlines 6125. https://html.spec.whatwg.org/#advisory-information 6126. https://html.spec.whatwg.org/#advisory-information 6127. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/title 6128. https://html.spec.whatwg.org/#reflect 6129. https://html.spec.whatwg.org/#attr-title 6130. https://html.spec.whatwg.org/#attr-lang 6131. https://www.w3.org/TR/xml/#sec-lang-tag 6132. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang 6133. https://html.spec.whatwg.org/#refsBCP47 6134. https://www.w3.org/TR/xml/#sec-lang-tag 6135. https://infra.spec.whatwg.org/#xml-namespace 6136. https://html.spec.whatwg.org/#refsXML 6137. https://html.spec.whatwg.org/#the-slot-element 6138. https://dom.spec.whatwg.org/#concept-shadow-tree 6139. https://html.spec.whatwg.org/#attr-lang 6140. https://html.spec.whatwg.org/#html-elements 6141. https://www.w3.org/TR/xml/#sec-lang-tag 6142. https://html.spec.whatwg.org/#html-elements 6143. https://dom.spec.whatwg.org/#xml-document 6144. https://www.w3.org/TR/xml/#sec-lang-tag 6145. https://html.spec.whatwg.org/#attr-lang 6146. https://www.w3.org/TR/xml/#sec-lang-tag 6147. https://infra.spec.whatwg.org/#ascii-case-insensitive 6148. https://www.w3.org/TR/xml/#sec-lang-tag 6149. https://html.spec.whatwg.org/#html-elements 6150. https://dom.spec.whatwg.org/#html-document 6151. https://html.spec.whatwg.org/#html-elements 6152. https://dom.spec.whatwg.org/#html-document 6153. https://html.spec.whatwg.org/#attr-lang 6154. https://infra.spec.whatwg.org/#ascii-case-insensitive 6155. https://www.w3.org/TR/xml/#sec-lang-tag 6156. https://html.spec.whatwg.org/#html-elements 6157. https://infra.spec.whatwg.org/#svg-namespace 6158. https://html.spec.whatwg.org/#attr-lang 6159. https://dom.spec.whatwg.org/#concept-shadow-root 6160. https://html.spec.whatwg.org/#language 6161. https://dom.spec.whatwg.org/#concept-shadow-root 6162. https://dom.spec.whatwg.org/#concept-documentfragment-host 6163. https://dom.spec.whatwg.org/#parent-element 6164. https://html.spec.whatwg.org/#language 6165. https://dom.spec.whatwg.org/#parent-element 6166. https://html.spec.whatwg.org/#pragma-set-default-language 6167. https://html.spec.whatwg.org/#pragma-set-default-language 6168. https://html.spec.whatwg.org/#refsBCP47 6169. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/lang 6170. https://html.spec.whatwg.org/#reflect 6171. https://html.spec.whatwg.org/#attr-lang 6172. https://html.spec.whatwg.org/#attr-translate 6173. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/translate 6174. https://dom.spec.whatwg.org/#interface-text 6175. https://html.spec.whatwg.org/#enumerated-attribute 6176. https://html.spec.whatwg.org/#translation-mode 6177. https://html.spec.whatwg.org/#translate-enabled 6178. https://html.spec.whatwg.org/#translation-mode 6179. https://html.spec.whatwg.org/#no-translate 6180. https://html.spec.whatwg.org/#missing-value-default 6181. https://html.spec.whatwg.org/#invalid-value-default 6182. https://html.spec.whatwg.org/#translate-enabled 6183. https://html.spec.whatwg.org/#no-translate 6184. https://html.spec.whatwg.org/#html-elements 6185. https://html.spec.whatwg.org/#attr-translate 6186. https://html.spec.whatwg.org/#attr-translate-yes-state 6187. https://html.spec.whatwg.org/#translation-mode 6188. https://html.spec.whatwg.org/#translate-enabled 6189. https://html.spec.whatwg.org/#attr-translate 6190. https://html.spec.whatwg.org/#attr-translate-no-state 6191. https://html.spec.whatwg.org/#translation-mode 6192. https://html.spec.whatwg.org/#no-translate 6193. https://html.spec.whatwg.org/#attr-translate 6194. https://html.spec.whatwg.org/#attr-translate-inherit-state 6195. https://html.spec.whatwg.org/#html-elements 6196. https://html.spec.whatwg.org/#attr-translate 6197. https://html.spec.whatwg.org/#translation-mode 6198. https://dom.spec.whatwg.org/#parent-element 6199. https://html.spec.whatwg.org/#translate-enabled 6200. https://dom.spec.whatwg.org/#parent-element 6201. https://html.spec.whatwg.org/#translatable-attributes 6202. https://dom.spec.whatwg.org/#interface-text 6203. https://dom.spec.whatwg.org/#interface-text 6204. https://html.spec.whatwg.org/#attr-th-abbr 6205. https://html.spec.whatwg.org/#the-th-element 6206. https://html.spec.whatwg.org/#attr-area-alt 6207. https://html.spec.whatwg.org/#attr-img-alt 6208. https://html.spec.whatwg.org/#attr-input-alt 6209. https://html.spec.whatwg.org/#attr-meta-content 6210. https://html.spec.whatwg.org/#the-meta-element 6211. https://html.spec.whatwg.org/#attr-meta-name 6212. https://html.spec.whatwg.org/#attr-hyperlink-download 6213. https://html.spec.whatwg.org/#the-a-element 6214. https://html.spec.whatwg.org/#the-area-element 6215. https://html.spec.whatwg.org/#attr-optgroup-label 6216. https://html.spec.whatwg.org/#attr-option-label 6217. https://html.spec.whatwg.org/#attr-track-label 6218. https://html.spec.whatwg.org/#attr-lang 6219. https://html.spec.whatwg.org/#html-elements 6220. https://html.spec.whatwg.org/#attr-input-placeholder 6221. https://html.spec.whatwg.org/#attr-textarea-placeholder 6222. https://html.spec.whatwg.org/#attr-iframe-srcdoc 6223. https://html.spec.whatwg.org/#the-iframe-element 6224. https://html.spec.whatwg.org/#attr-style 6225. https://html.spec.whatwg.org/#html-elements 6226. https://drafts.csswg.org/css2/#content① 6227. https://html.spec.whatwg.org/#attr-title 6228. https://html.spec.whatwg.org/#html-elements 6229. https://html.spec.whatwg.org/#attr-input-value 6230. https://html.spec.whatwg.org/#the-input-element 6231. https://html.spec.whatwg.org/#attr-input-type 6232. https://html.spec.whatwg.org/#button-state-(type=button) 6233. https://html.spec.whatwg.org/#reset-button-state-(type=reset) 6234. https://html.spec.whatwg.org/#translatable-attributes 6235. https://w3c.github.io/aria/#aria-label 6236. https://html.spec.whatwg.org/#translation-mode 6237. https://html.spec.whatwg.org/#translate-enabled 6238. https://html.spec.whatwg.org/#attr-dir 6239. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir 6240. https://html.spec.whatwg.org/#enumerated-attribute 6241. https://html.spec.whatwg.org/#attr-dir-auto-state 6242. https://html.spec.whatwg.org/#refsBIDI 6243. https://html.spec.whatwg.org/#the-textarea-element 6244. https://html.spec.whatwg.org/#the-pre-element 6245. https://html.spec.whatwg.org/#missing-value-default 6246. https://html.spec.whatwg.org/#invalid-value-default 6247. https://html.spec.whatwg.org/#html-elements 6248. https://html.spec.whatwg.org/#the-directionality 6249. https://html.spec.whatwg.org/#attr-dir 6250. https://html.spec.whatwg.org/#attr-dir-ltr-state 6251. https://html.spec.whatwg.org/#concept-ltr 6252. https://html.spec.whatwg.org/#attr-dir-rtl-state 6253. https://html.spec.whatwg.org/#concept-rtl 6254. https://html.spec.whatwg.org/#attr-dir-auto-state 6255. https://html.spec.whatwg.org/#auto-directionality 6256. https://html.spec.whatwg.org/#concept-ltr 6257. https://html.spec.whatwg.org/#attr-dir-undefined-state 6258. https://html.spec.whatwg.org/#the-bdi-element 6259. https://html.spec.whatwg.org/#auto-directionality 6260. https://html.spec.whatwg.org/#concept-ltr 6261. https://html.spec.whatwg.org/#the-input-element 6262. https://html.spec.whatwg.org/#attr-input-type 6263. https://html.spec.whatwg.org/#telephone-state-(type=tel) 6264. https://html.spec.whatwg.org/#concept-ltr 6265. https://html.spec.whatwg.org/#parent-directionality 6266. https://html.spec.whatwg.org/#attr-dir 6267. https://html.spec.whatwg.org/#html-elements 6268. https://html.spec.whatwg.org/#parent-directionality 6269. https://html.spec.whatwg.org/#the-input-element 6270. https://html.spec.whatwg.org/#attr-input-type 6271. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 6272. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 6273. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 6274. https://html.spec.whatwg.org/#telephone-state-(type=tel) 6275. https://html.spec.whatwg.org/#url-state-(type=url) 6276. https://html.spec.whatwg.org/#email-state-(type=email) 6277. https://html.spec.whatwg.org/#password-state-(type=password) 6278. https://html.spec.whatwg.org/#submit-button-state-(type=submit) 6279. https://html.spec.whatwg.org/#reset-button-state-(type=reset) 6280. https://html.spec.whatwg.org/#button-state-(type=button) 6281. https://html.spec.whatwg.org/#the-textarea-element 6282. https://html.spec.whatwg.org/#auto-directionality-form-associated-elements 6283. https://html.spec.whatwg.org/#concept-fe-value 6284. https://html.spec.whatwg.org/#concept-fe-value 6285. https://html.spec.whatwg.org/#concept-rtl 6286. https://html.spec.whatwg.org/#refsBIDI 6287. https://html.spec.whatwg.org/#concept-fe-value 6288. https://html.spec.whatwg.org/#concept-ltr 6289. https://html.spec.whatwg.org/#the-slot-element 6290. https://dom.spec.whatwg.org/#concept-tree-root 6291. https://dom.spec.whatwg.org/#concept-shadow-root 6292. https://dom.spec.whatwg.org/#slot-assigned-nodes 6293. https://infra.spec.whatwg.org/#list-iterate 6294. https://dom.spec.whatwg.org/#slot-assigned-nodes 6295. https://dom.spec.whatwg.org/#interface-text 6296. https://html.spec.whatwg.org/#text-node-directionality 6297. https://infra.spec.whatwg.org/#assert 6298. https://dom.spec.whatwg.org/#interface-element 6299. https://html.spec.whatwg.org/#contained-text-auto-directionality 6300. https://html.spec.whatwg.org/#auto-directionality-can-exclude-root 6301. https://html.spec.whatwg.org/#contained-text-auto-directionality 6302. https://html.spec.whatwg.org/#auto-directionality-can-exclude-root 6303. https://infra.spec.whatwg.org/#list-iterate 6304. https://dom.spec.whatwg.org/#concept-tree-descendant 6305. https://dom.spec.whatwg.org/#concept-tree-order 6306. https://html.spec.whatwg.org/#the-bdi-element 6307. https://html.spec.whatwg.org/#the-script-element 6308. https://html.spec.whatwg.org/#the-style-element 6309. https://html.spec.whatwg.org/#the-textarea-element 6310. https://html.spec.whatwg.org/#attr-dir 6311. https://html.spec.whatwg.org/#attr-dir-undefined-state 6312. https://infra.spec.whatwg.org/#iteration-continue 6313. https://html.spec.whatwg.org/#the-slot-element 6314. https://dom.spec.whatwg.org/#concept-tree-root 6315. https://dom.spec.whatwg.org/#concept-shadow-root 6316. https://html.spec.whatwg.org/#the-directionality 6317. https://dom.spec.whatwg.org/#concept-shadow-root 6318. https://dom.spec.whatwg.org/#concept-documentfragment-host 6319. https://dom.spec.whatwg.org/#interface-text 6320. https://infra.spec.whatwg.org/#iteration-continue 6321. https://html.spec.whatwg.org/#text-node-directionality 6322. https://dom.spec.whatwg.org/#interface-text 6323. https://dom.spec.whatwg.org/#concept-cd-data 6324. https://html.spec.whatwg.org/#refsBIDI 6325. https://dom.spec.whatwg.org/#concept-cd-data 6326. https://html.spec.whatwg.org/#concept-rtl 6327. https://html.spec.whatwg.org/#concept-ltr 6328. https://dom.spec.whatwg.org/#concept-shadow-root 6329. https://html.spec.whatwg.org/#the-directionality 6330. https://dom.spec.whatwg.org/#concept-documentfragment-host 6331. https://html.spec.whatwg.org/#the-directionality 6332. https://html.spec.whatwg.org/#concept-ltr 6333. https://html.spec.whatwg.org/#bidireq 6334. https://html.spec.whatwg.org/#html-elements 6335. https://html.spec.whatwg.org/#directionality-capable-attribute 6336. https://html.spec.whatwg.org/#attr-dir 6337. https://html.spec.whatwg.org/#attr-dir-auto-state 6338. https://html.spec.whatwg.org/#refsBIDI 6339. https://html.spec.whatwg.org/#directionality-of-the-attribute 6340. https://html.spec.whatwg.org/#concept-rtl 6341. https://html.spec.whatwg.org/#directionality-of-the-attribute 6342. https://html.spec.whatwg.org/#concept-ltr 6343. https://html.spec.whatwg.org/#directionality-of-the-attribute 6344. https://html.spec.whatwg.org/#the-directionality 6345. https://html.spec.whatwg.org/#attr-th-abbr 6346. https://html.spec.whatwg.org/#the-th-element 6347. https://html.spec.whatwg.org/#attr-area-alt 6348. https://html.spec.whatwg.org/#attr-img-alt 6349. https://html.spec.whatwg.org/#attr-input-alt 6350. https://html.spec.whatwg.org/#attr-meta-content 6351. https://html.spec.whatwg.org/#the-meta-element 6352. https://html.spec.whatwg.org/#attr-meta-name 6353. https://html.spec.whatwg.org/#attr-optgroup-label 6354. https://html.spec.whatwg.org/#attr-option-label 6355. https://html.spec.whatwg.org/#attr-track-label 6356. https://html.spec.whatwg.org/#attr-input-placeholder 6357. https://html.spec.whatwg.org/#attr-textarea-placeholder 6358. https://html.spec.whatwg.org/#attr-title 6359. https://html.spec.whatwg.org/#html-elements 6360. https://html.spec.whatwg.org/#dom-dir 6361. https://html.spec.whatwg.org/#the-html-element-2 6362. https://html.spec.whatwg.org/#attr-dir 6363. https://html.spec.whatwg.org/#the-html-element-2 6364. https://html.spec.whatwg.org/#attr-dir 6365. https://html.spec.whatwg.org/#the-html-element-2 6366. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dir 6367. https://html.spec.whatwg.org/#reflect 6368. https://html.spec.whatwg.org/#attr-dir 6369. https://html.spec.whatwg.org/#limited-to-only-known-values 6370. https://developer.mozilla.org/en-US/docs/Web/API/Document/dir 6371. https://html.spec.whatwg.org/#document 6372. https://html.spec.whatwg.org/#reflect 6373. https://html.spec.whatwg.org/#attr-dir 6374. https://html.spec.whatwg.org/#the-html-element-2 6375. https://html.spec.whatwg.org/#limited-to-only-known-values 6376. https://html.spec.whatwg.org/#attr-dir 6377. https://html.spec.whatwg.org/#the-p-element 6378. https://html.spec.whatwg.org/#attr-dir-auto 6379. https://html.spec.whatwg.org/#attr-style 6380. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/style 6381. https://html.spec.whatwg.org/#html-elements 6382. https://drafts.csswg.org/css-style-attr/#style-attribute 6383. https://html.spec.whatwg.org/#refsCSSATTR 6384. https://drafts.csswg.org/css-style-attr/#style-attribute 6385. https://html.spec.whatwg.org/#refsCSSATTR 6386. https://w3c.github.io/webappsec-csp/#should-block-inline 6387. https://dom.spec.whatwg.org/#interface-element 6388. https://dom.spec.whatwg.org/#interface-element 6389. https://html.spec.whatwg.org/#refsCSP 6390. https://html.spec.whatwg.org/#attr-style 6391. https://html.spec.whatwg.org/#attr-style 6392. https://html.spec.whatwg.org/#attr-hidden 6393. https://drafts.csswg.org/cssom/#dom-elementcssinlinestyle-style 6394. https://drafts.csswg.org/cssom/#the-cssstyledeclaration-interface 6395. https://html.spec.whatwg.org/#attr-style 6396. https://drafts.csswg.org/cssom/#dom-elementcssinlinestyle-style 6397. https://html.spec.whatwg.org/#refsCSSOM 6398. https://html.spec.whatwg.org/#the-span-element 6399. https://html.spec.whatwg.org/#attr-style 6400. https://html.spec.whatwg.org/#attr-data-* 6401. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/data-* 6402. https://html.spec.whatwg.org/#xml-compatible 6403. https://infra.spec.whatwg.org/#ascii-upper-alpha 6404. https://html.spec.whatwg.org/#html-elements 6405. https://dom.spec.whatwg.org/#html-document 6406. https://html.spec.whatwg.org/#custom-data-attribute 6407. https://html.spec.whatwg.org/#microdata 6408. https://html.spec.whatwg.org/#attr-translate 6409. https://html.spec.whatwg.org/#custom-data-attribute 6410. https://w3c.github.io/payment-request/#dom-paymentrequest 6411. https://html.spec.whatwg.org/#boolean-attribute 6412. https://html.spec.whatwg.org/#html-elements 6413. https://html.spec.whatwg.org/#custom-data-attribute 6414. https://html.spec.whatwg.org/#custom-data-attribute 6415. https://html.spec.whatwg.org/#dom-dataset 6416. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset 6417. https://developer.mozilla.org/en-US/docs/Web/API/SVGElement/dataset 6418. https://html.spec.whatwg.org/#domstringmap 6419. https://html.spec.whatwg.org/#attr-data-* 6420. https://html.spec.whatwg.org/#attr-data-* 6421. https://html.spec.whatwg.org/#dom-dataset 6422. https://html.spec.whatwg.org/#domstringmap 6423. https://html.spec.whatwg.org/#domstringmap 6424. https://html.spec.whatwg.org/#dom-dataset 6425. https://html.spec.whatwg.org/#domstringmap 6426. https://webidl.spec.whatwg.org/#LegacyOverrideBuiltIns 6427. https://html.spec.whatwg.org/#dom-domstringmap-nameditem 6428. https://html.spec.whatwg.org/#cereactions 6429. https://html.spec.whatwg.org/#dom-domstringmap-setitem 6430. https://html.spec.whatwg.org/#cereactions 6431. https://html.spec.whatwg.org/#dom-domstringmap-removeitem 6432. https://html.spec.whatwg.org/#domstringmap 6433. https://html.spec.whatwg.org/#concept-domstringmap-element 6434. https://infra.spec.whatwg.org/#ascii-upper-alpha 6435. https://dom.spec.whatwg.org/#concept-element-attribute 6436. https://infra.spec.whatwg.org/#ascii-lower-alpha 6437. https://infra.spec.whatwg.org/#ascii-uppercase 6438. https://webidl.spec.whatwg.org/#dfn-supported-property-names 6439. https://html.spec.whatwg.org/#domstringmap 6440. https://html.spec.whatwg.org/#concept-domstringmap-pairs 6441. https://webidl.spec.whatwg.org/#dfn-determine-the-value-of-a-named-property 6442. https://html.spec.whatwg.org/#domstringmap 6443. https://html.spec.whatwg.org/#concept-domstringmap-pairs 6444. https://webidl.spec.whatwg.org/#dfn-set-the-value-of-a-new-named-property 6445. https://webidl.spec.whatwg.org/#dfn-set-the-value-of-an-existing-named-property 6446. https://html.spec.whatwg.org/#domstringmap 6447. https://infra.spec.whatwg.org/#ascii-lower-alpha 6448. https://webidl.spec.whatwg.org/#syntaxerror 6449. https://webidl.spec.whatwg.org/#dfn-DOMException 6450. https://infra.spec.whatwg.org/#ascii-upper-alpha 6451. https://infra.spec.whatwg.org/#ascii-lowercase 6452. https://www.w3.org/TR/xml/#NT-Name 6453. https://webidl.spec.whatwg.org/#invalidcharactererror 6454. https://webidl.spec.whatwg.org/#dfn-DOMException 6455. https://dom.spec.whatwg.org/#concept-element-attributes-set-value 6456. https://html.spec.whatwg.org/#domstringmap 6457. https://html.spec.whatwg.org/#concept-domstringmap-element 6458. https://webidl.spec.whatwg.org/#dfn-delete-an-existing-named-property 6459. https://html.spec.whatwg.org/#domstringmap 6460. https://infra.spec.whatwg.org/#ascii-upper-alpha 6461. https://infra.spec.whatwg.org/#ascii-lowercase 6462. https://dom.spec.whatwg.org/#concept-element-attributes-remove 6463. https://html.spec.whatwg.org/#domstringmap 6464. https://html.spec.whatwg.org/#concept-domstringmap-element 6465. https://html.spec.whatwg.org/#concept-domstringmap-pairs 6466. https://html.spec.whatwg.org/#refsWEBIDL 6467. https://html.spec.whatwg.org/#classes 6468. https://html.spec.whatwg.org/#attr-data-* 6469. https://html.spec.whatwg.org/#dom-innertext 6470. https://html.spec.whatwg.org/#dom-outertext 6471. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText 6472. https://html.spec.whatwg.org/#dom-innertext 6473. https://html.spec.whatwg.org/#the-br-element 6474. https://html.spec.whatwg.org/#dom-outertext 6475. https://html.spec.whatwg.org/#the-br-element 6476. https://html.spec.whatwg.org/#htmlelement 6477. https://html.spec.whatwg.org/#being-rendered 6478. https://dom.spec.whatwg.org/#concept-descendant-text-content 6479. https://html.spec.whatwg.org/#dom-innertext 6480. https://html.spec.whatwg.org/#being-rendered 6481. https://html.spec.whatwg.org/#being-rendered 6482. https://html.spec.whatwg.org/#being-rendered 6483. https://infra.spec.whatwg.org/#list 6484. https://infra.spec.whatwg.org/#list 6485. https://html.spec.whatwg.org/#rendered-text-collection-steps 6486. https://infra.spec.whatwg.org/#string 6487. https://infra.spec.whatwg.org/#list-remove 6488. https://infra.spec.whatwg.org/#list-remove 6489. https://infra.spec.whatwg.org/#list-replace 6490. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/outerText 6491. https://html.spec.whatwg.org/#get-the-text-steps 6492. https://webidl.spec.whatwg.org/#this 6493. https://dom.spec.whatwg.org/#interface-node 6494. https://html.spec.whatwg.org/#rendered-text-collection-steps 6495. https://dom.spec.whatwg.org/#concept-tree-order 6496. https://infra.spec.whatwg.org/#list 6497. https://drafts.csswg.org/css-cascade/#computed-value 6498. https://drafts.csswg.org/css2/#propdef-visibility 6499. https://html.spec.whatwg.org/#being-rendered 6500. https://drafts.csswg.org/css-cascade/#computed-value 6501. https://drafts.csswg.org/css2/#display-prop 6502. https://html.spec.whatwg.org/#the-select-element 6503. https://drafts.csswg.org/css-display/#css-box 6504. https://html.spec.whatwg.org/#the-optgroup-element 6505. https://html.spec.whatwg.org/#the-option-element 6506. https://html.spec.whatwg.org/#the-optgroup-element 6507. https://drafts.csswg.org/css-display/#css-box 6508. https://html.spec.whatwg.org/#the-option-element 6509. https://html.spec.whatwg.org/#the-option-element 6510. https://drafts.csswg.org/css-display/#css-box 6511. https://drafts.csswg.org/css-display/#css-box 6512. https://dom.spec.whatwg.org/#interface-text 6513. https://drafts.csswg.org/css-text/#white-space-property 6514. https://drafts.csswg.org/css-text/#text-transform-property 6515. https://infra.spec.whatwg.org/#list 6516. https://drafts.csswg.org/css-text/#white-space-property 6517. https://html.spec.whatwg.org/#the-br-element 6518. https://html.spec.whatwg.org/#refsCSSTEXT 6519. https://html.spec.whatwg.org/#the-br-element 6520. https://infra.spec.whatwg.org/#list-append 6521. https://drafts.csswg.org/css-cascade/#computed-value 6522. https://drafts.csswg.org/css2/#display-prop 6523. https://drafts.csswg.org/css-tables/#table-cell 6524. https://drafts.csswg.org/css-display/#css-box 6525. https://drafts.csswg.org/css-tables/#table-cell 6526. https://drafts.csswg.org/css-tables/#table-row 6527. https://infra.spec.whatwg.org/#list-append 6528. https://drafts.csswg.org/css-cascade/#computed-value 6529. https://drafts.csswg.org/css2/#display-prop 6530. https://drafts.csswg.org/css-tables/#table-row 6531. https://drafts.csswg.org/css-display/#css-box 6532. https://drafts.csswg.org/css-tables/#table-row 6533. https://drafts.csswg.org/css-tables/#table 6534. https://infra.spec.whatwg.org/#list-append 6535. https://html.spec.whatwg.org/#the-p-element 6536. https://infra.spec.whatwg.org/#list-append 6537. https://drafts.csswg.org/css-cascade/#used-value 6538. https://drafts.csswg.org/css2/#display-prop 6539. https://drafts.csswg.org/css-display/#block-level 6540. https://drafts.csswg.org/css-tables/#table-caption 6541. https://infra.spec.whatwg.org/#list-append 6542. https://html.spec.whatwg.org/#refsCSSDISPLAY 6543. https://html.spec.whatwg.org/#the-textarea-element 6544. https://html.spec.whatwg.org/#the-input-element 6545. https://html.spec.whatwg.org/#the-video-element 6546. https://html.spec.whatwg.org/#the-button-element 6547. https://drafts.csswg.org/css-display/#css-box 6548. https://dom.spec.whatwg.org/#concept-range 6549. https://w3c.github.io/selection-api/#selection-interface 6550. https://dom.spec.whatwg.org/#concept-range 6551. https://www.w3.org/Bugs/Public/show_bug.cgi?id=10583 6552. https://html.spec.whatwg.org/#htmlelement 6553. https://html.spec.whatwg.org/#rendered-text-fragment 6554. https://dom.spec.whatwg.org/#concept-node-document 6555. https://dom.spec.whatwg.org/#concept-node-replace-all 6556. https://html.spec.whatwg.org/#dom-innertext 6557. https://html.spec.whatwg.org/#set-the-inner-text-steps 6558. https://html.spec.whatwg.org/#dom-outertext 6559. https://webidl.spec.whatwg.org/#this 6560. https://webidl.spec.whatwg.org/#nomodificationallowederror 6561. https://webidl.spec.whatwg.org/#dfn-DOMException 6562. https://webidl.spec.whatwg.org/#this 6563. https://dom.spec.whatwg.org/#concept-tree-next-sibling 6564. https://webidl.spec.whatwg.org/#this 6565. https://dom.spec.whatwg.org/#concept-tree-previous-sibling 6566. https://html.spec.whatwg.org/#rendered-text-fragment 6567. https://webidl.spec.whatwg.org/#this 6568. https://dom.spec.whatwg.org/#concept-node-document 6569. https://dom.spec.whatwg.org/#concept-tree-child 6570. https://dom.spec.whatwg.org/#concept-node-append 6571. https://dom.spec.whatwg.org/#interface-text 6572. https://dom.spec.whatwg.org/#concept-cd-data 6573. https://dom.spec.whatwg.org/#concept-node-document 6574. https://webidl.spec.whatwg.org/#this 6575. https://dom.spec.whatwg.org/#concept-node-document 6576. https://dom.spec.whatwg.org/#concept-node-replace 6577. https://webidl.spec.whatwg.org/#this 6578. https://webidl.spec.whatwg.org/#this 6579. https://dom.spec.whatwg.org/#concept-tree-previous-sibling 6580. https://dom.spec.whatwg.org/#interface-text 6581. https://html.spec.whatwg.org/#merge-with-the-next-text-node 6582. https://dom.spec.whatwg.org/#concept-tree-previous-sibling 6583. https://dom.spec.whatwg.org/#interface-text 6584. https://html.spec.whatwg.org/#merge-with-the-next-text-node 6585. https://html.spec.whatwg.org/#document 6586. https://dom.spec.whatwg.org/#interface-documentfragment 6587. https://dom.spec.whatwg.org/#concept-node-document 6588. https://infra.spec.whatwg.org/#string-position-variable 6589. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 6590. https://dom.spec.whatwg.org/#concept-node-append 6591. https://dom.spec.whatwg.org/#interface-text 6592. https://dom.spec.whatwg.org/#concept-cd-data 6593. https://dom.spec.whatwg.org/#concept-node-document 6594. https://dom.spec.whatwg.org/#concept-node-append 6595. https://dom.spec.whatwg.org/#concept-create-element 6596. https://infra.spec.whatwg.org/#html-namespace 6597. https://dom.spec.whatwg.org/#interface-text 6598. https://dom.spec.whatwg.org/#concept-tree-next-sibling 6599. https://dom.spec.whatwg.org/#interface-text 6600. https://dom.spec.whatwg.org/#concept-cd-replace 6601. https://dom.spec.whatwg.org/#concept-cd-data 6602. https://infra.spec.whatwg.org/#string-length 6603. https://dom.spec.whatwg.org/#concept-cd-data 6604. https://dom.spec.whatwg.org/#concept-node-remove 6605. https://html.spec.whatwg.org/#text-content 6606. https://html.spec.whatwg.org/#html-elements 6607. https://dom.spec.whatwg.org/#interface-text 6608. https://html.spec.whatwg.org/#concept-html-contents 6609. https://html.spec.whatwg.org/#html-elements 6610. https://html.spec.whatwg.org/#refsBIDI 6611. https://html.spec.whatwg.org/#attr-dir 6612. https://html.spec.whatwg.org/#the-bdo-element 6613. https://html.spec.whatwg.org/#the-bdi-element 6614. https://html.spec.whatwg.org/#refsBIDI 6615. https://drafts.csswg.org/css-writing-modes/#unicode-bidi 6616. https://drafts.csswg.org/css-writing-modes/#direction 6617. https://drafts.csswg.org/css2/#content① 6618. https://html.spec.whatwg.org/#rendering 6619. https://html.spec.whatwg.org/#refsCSSGC 6620. https://html.spec.whatwg.org/#rendering 6621. https://html.spec.whatwg.org/#renderingUA 6622. https://html.spec.whatwg.org/#attr-dir 6623. https://html.spec.whatwg.org/#the-bdi-element 6624. https://html.spec.whatwg.org/#the-bdo-element 6625. https://html.spec.whatwg.org/#the-br-element 6626. https://html.spec.whatwg.org/#the-pre-element 6627. https://html.spec.whatwg.org/#the-textarea-element 6628. https://html.spec.whatwg.org/#the-wbr-element 6629. https://html.spec.whatwg.org/#html-elements 6630. https://html.spec.whatwg.org/#custom-element 6631. https://html.spec.whatwg.org/#refsHTMLAAM 6632. https://html.spec.whatwg.org/#internal-content-attribute-map 6633. https://infra.spec.whatwg.org/#map-exists 6634. https://html.spec.whatwg.org/#custom-element 6635. https://html.spec.whatwg.org/#attached-internals 6636. https://html.spec.whatwg.org/#attached-internals 6637. https://html.spec.whatwg.org/#attr-associated-element 6638. https://html.spec.whatwg.org/#attached-internals 6639. https://html.spec.whatwg.org/#attr-associated-elements 6640. https://html.spec.whatwg.org/#internal-content-attribute-map 6641. https://infra.spec.whatwg.org/#map-exists 6642. https://html.spec.whatwg.org/#refsARIA 6643. https://html.spec.whatwg.org/#the-a-element 6644. https://html.spec.whatwg.org/#attr-hyperlink-href 6645. https://html.spec.whatwg.org/#custom-elements-accessibility-example 6646. https://html.spec.whatwg.org/#attr-aria-role 6647. https://html.spec.whatwg.org/#attr-aria-* 6648. https://html.spec.whatwg.org/#html-elements 6649. https://html.spec.whatwg.org/#refsARIAHTML 6650. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/html 6651. https://developer.mozilla.org/en-US/docs/Web/API/HTMLHtmlElement 6652. https://html.spec.whatwg.org/#concept-element-categories 6653. https://html.spec.whatwg.org/#concept-element-contexts 6654. https://dom.spec.whatwg.org/#document-element 6655. https://html.spec.whatwg.org/#concept-element-content-model 6656. https://html.spec.whatwg.org/#the-head-element 6657. https://html.spec.whatwg.org/#the-body-element 6658. https://html.spec.whatwg.org/#concept-element-tag-omission 6659. https://html.spec.whatwg.org/#the-html-element 6660. https://html.spec.whatwg.org/#syntax-start-tag 6661. https://html.spec.whatwg.org/#the-html-element 6662. https://html.spec.whatwg.org/#syntax-comments 6663. https://html.spec.whatwg.org/#the-html-element 6664. https://html.spec.whatwg.org/#syntax-end-tag 6665. https://html.spec.whatwg.org/#the-html-element 6666. https://html.spec.whatwg.org/#syntax-comments 6667. https://html.spec.whatwg.org/#concept-element-attributes 6668. https://html.spec.whatwg.org/#global-attributes 6669. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 6670. https://w3c.github.io/html-aria/#el-html 6671. https://w3c.github.io/html-aam/#el-html 6672. https://html.spec.whatwg.org/#concept-element-dom 6673. https://html.spec.whatwg.org/#htmlelement 6674. https://html.spec.whatwg.org/#htmlconstructor 6675. https://html.spec.whatwg.org/#HTMLHtmlElement-partial 6676. https://html.spec.whatwg.org/#the-html-element 6677. https://html.spec.whatwg.org/#represents 6678. https://html.spec.whatwg.org/#attr-lang 6679. https://html.spec.whatwg.org/#the-html-element 6680. https://html.spec.whatwg.org/#the-html-element 6681. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head 6682. https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadElement 6683. https://html.spec.whatwg.org/#concept-element-categories 6684. https://html.spec.whatwg.org/#concept-element-contexts 6685. https://html.spec.whatwg.org/#the-html-element 6686. https://html.spec.whatwg.org/#concept-element-content-model 6687. https://html.spec.whatwg.org/#an-iframe-srcdoc-document 6688. https://html.spec.whatwg.org/#metadata-content-2 6689. https://html.spec.whatwg.org/#the-title-element 6690. https://html.spec.whatwg.org/#the-base-element 6691. https://html.spec.whatwg.org/#metadata-content-2 6692. https://html.spec.whatwg.org/#the-title-element 6693. https://html.spec.whatwg.org/#the-base-element 6694. https://html.spec.whatwg.org/#concept-element-tag-omission 6695. https://html.spec.whatwg.org/#the-head-element 6696. https://html.spec.whatwg.org/#syntax-start-tag 6697. https://html.spec.whatwg.org/#the-head-element 6698. https://html.spec.whatwg.org/#the-head-element 6699. https://html.spec.whatwg.org/#syntax-end-tag 6700. https://html.spec.whatwg.org/#the-head-element 6701. https://infra.spec.whatwg.org/#ascii-whitespace 6702. https://html.spec.whatwg.org/#syntax-comments 6703. https://html.spec.whatwg.org/#concept-element-attributes 6704. https://html.spec.whatwg.org/#global-attributes 6705. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 6706. https://w3c.github.io/html-aria/#el-head 6707. https://w3c.github.io/html-aam/#el-head 6708. https://html.spec.whatwg.org/#concept-element-dom 6709. https://html.spec.whatwg.org/#htmlelement 6710. https://html.spec.whatwg.org/#htmlconstructor 6711. https://html.spec.whatwg.org/#the-head-element 6712. https://html.spec.whatwg.org/#represents 6713. https://html.spec.whatwg.org/#document 6714. https://html.spec.whatwg.org/#the-head-element 6715. https://html.spec.whatwg.org/#the-title-element 6716. https://html.spec.whatwg.org/#the-title-element 6717. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title 6718. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTitleElement 6719. https://html.spec.whatwg.org/#concept-element-categories 6720. https://html.spec.whatwg.org/#metadata-content-2 6721. https://html.spec.whatwg.org/#concept-element-contexts 6722. https://html.spec.whatwg.org/#the-head-element 6723. https://html.spec.whatwg.org/#the-title-element 6724. https://html.spec.whatwg.org/#concept-element-content-model 6725. https://html.spec.whatwg.org/#text-content 6726. https://html.spec.whatwg.org/#inter-element-whitespace 6727. https://html.spec.whatwg.org/#concept-element-tag-omission 6728. https://html.spec.whatwg.org/#concept-element-attributes 6729. https://html.spec.whatwg.org/#global-attributes 6730. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 6731. https://w3c.github.io/html-aria/#el-title 6732. https://w3c.github.io/html-aam/#el-title 6733. https://html.spec.whatwg.org/#concept-element-dom 6734. https://html.spec.whatwg.org/#htmlelement 6735. https://html.spec.whatwg.org/#htmlconstructor 6736. https://html.spec.whatwg.org/#cereactions 6737. https://html.spec.whatwg.org/#dom-title-text 6738. https://html.spec.whatwg.org/#the-title-element 6739. https://html.spec.whatwg.org/#represents 6740. https://html.spec.whatwg.org/#the-title-element 6741. https://html.spec.whatwg.org/#document 6742. https://html.spec.whatwg.org/#the-title-element 6743. https://html.spec.whatwg.org/#the-head-element 6744. https://html.spec.whatwg.org/#dom-title-text 6745. https://dom.spec.whatwg.org/#concept-child-text-content 6746. https://html.spec.whatwg.org/#the-title-element 6747. https://dom.spec.whatwg.org/#concept-child-text-content 6748. https://html.spec.whatwg.org/#dom-title-text 6749. https://dom.spec.whatwg.org/#string-replace-all 6750. https://html.spec.whatwg.org/#the-title-element 6751. https://html.spec.whatwg.org/#document.title 6752. https://html.spec.whatwg.org/#the-title-element 6753. https://html.spec.whatwg.org/#the-directionality 6754. https://html.spec.whatwg.org/#the-title-element 6755. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base 6756. https://developer.mozilla.org/en-US/docs/Web/API/HTMLBaseElement 6757. https://html.spec.whatwg.org/#concept-element-categories 6758. https://html.spec.whatwg.org/#metadata-content-2 6759. https://html.spec.whatwg.org/#concept-element-contexts 6760. https://html.spec.whatwg.org/#the-head-element 6761. https://html.spec.whatwg.org/#the-base-element 6762. https://html.spec.whatwg.org/#concept-element-content-model 6763. https://html.spec.whatwg.org/#concept-content-nothing 6764. https://html.spec.whatwg.org/#concept-element-tag-omission 6765. https://html.spec.whatwg.org/#syntax-end-tag 6766. https://html.spec.whatwg.org/#concept-element-attributes 6767. https://html.spec.whatwg.org/#global-attributes 6768. https://html.spec.whatwg.org/#attr-base-href 6769. https://html.spec.whatwg.org/#document-base-url 6770. https://html.spec.whatwg.org/#attr-base-target 6771. https://html.spec.whatwg.org/#navigable 6772. https://html.spec.whatwg.org/#hyperlink 6773. https://html.spec.whatwg.org/#navigate 6774. https://html.spec.whatwg.org/#form-submission-2 6775. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 6776. https://w3c.github.io/html-aria/#el-base 6777. https://w3c.github.io/html-aam/#el-base 6778. https://html.spec.whatwg.org/#concept-element-dom 6779. https://html.spec.whatwg.org/#htmlelement 6780. https://html.spec.whatwg.org/#htmlconstructor 6781. https://html.spec.whatwg.org/#cereactions 6782. https://html.spec.whatwg.org/#dom-base-href 6783. https://html.spec.whatwg.org/#cereactions 6784. https://html.spec.whatwg.org/#dom-base-target 6785. https://html.spec.whatwg.org/#the-base-element 6786. https://html.spec.whatwg.org/#document-base-url 6787. https://url.spec.whatwg.org/#concept-url 6788. https://html.spec.whatwg.org/#navigable 6789. https://html.spec.whatwg.org/#following-hyperlinks-2 6790. https://html.spec.whatwg.org/#represents 6791. https://html.spec.whatwg.org/#the-base-element 6792. https://html.spec.whatwg.org/#the-base-element 6793. https://html.spec.whatwg.org/#attr-base-href 6794. https://html.spec.whatwg.org/#attr-base-target 6795. https://html.spec.whatwg.org/#valid-url-potentially-surrounded-by-spaces 6796. https://html.spec.whatwg.org/#the-base-element 6797. https://html.spec.whatwg.org/#attr-base-href 6798. https://url.spec.whatwg.org/#concept-url 6799. https://html.spec.whatwg.org/#the-base-element 6800. https://html.spec.whatwg.org/#attr-base-href 6801. https://html.spec.whatwg.org/#valid-navigable-target-name-or-keyword 6802. https://html.spec.whatwg.org/#navigable 6803. https://html.spec.whatwg.org/#hyperlink 6804. https://html.spec.whatwg.org/#the-form-element 6805. https://html.spec.whatwg.org/#document 6806. https://html.spec.whatwg.org/#navigate 6807. https://html.spec.whatwg.org/#the-base-element 6808. https://html.spec.whatwg.org/#attr-base-target 6809. https://html.spec.whatwg.org/#hyperlink 6810. https://html.spec.whatwg.org/#the-base-element 6811. https://html.spec.whatwg.org/#attr-base-target 6812. https://html.spec.whatwg.org/#the-a-element 6813. https://html.spec.whatwg.org/#the-area-element 6814. https://html.spec.whatwg.org/#the-form-element 6815. https://dom.spec.whatwg.org/#concept-node-document 6816. https://html.spec.whatwg.org/#the-base-element 6817. https://html.spec.whatwg.org/#attr-base-target 6818. https://html.spec.whatwg.org/#attr-base-target 6819. https://html.spec.whatwg.org/#the-base-element 6820. https://infra.spec.whatwg.org/#ascii-tab-or-newline 6821. https://html.spec.whatwg.org/#the-base-element 6822. https://html.spec.whatwg.org/#the-base-element 6823. https://html.spec.whatwg.org/#attr-base-href 6824. https://dom.spec.whatwg.org/#in-a-document-tree 6825. https://html.spec.whatwg.org/#frozen-base-url 6826. https://html.spec.whatwg.org/#immediately 6827. https://html.spec.whatwg.org/#set-the-frozen-base-url 6828. https://html.spec.whatwg.org/#the-base-element 6829. https://html.spec.whatwg.org/#the-base-element 6830. https://dom.spec.whatwg.org/#concept-tree-order 6831. https://html.spec.whatwg.org/#attr-base-href 6832. https://html.spec.whatwg.org/#document 6833. https://html.spec.whatwg.org/#the-base-element 6834. https://html.spec.whatwg.org/#the-base-element 6835. https://dom.spec.whatwg.org/#concept-tree-order 6836. https://html.spec.whatwg.org/#attr-base-href 6837. https://html.spec.whatwg.org/#document 6838. https://html.spec.whatwg.org/#attr-base-href 6839. https://dom.spec.whatwg.org/#concept-node-document 6840. https://url.spec.whatwg.org/#concept-url-parser 6841. https://html.spec.whatwg.org/#attr-base-href 6842. https://html.spec.whatwg.org/#fallback-base-url 6843. https://dom.spec.whatwg.org/#concept-document-encoding 6844. https://html.spec.whatwg.org/#the-base-element 6845. https://url.spec.whatwg.org/#concept-url-scheme 6846. https://w3c.github.io/webappsec-csp/#allow-base-for-document 6847. https://html.spec.whatwg.org/#frozen-base-url 6848. https://html.spec.whatwg.org/#fallback-base-url 6849. https://html.spec.whatwg.org/#frozen-base-url 6850. https://dom.spec.whatwg.org/#concept-node-document 6851. https://html.spec.whatwg.org/#attr-base-href 6852. https://url.spec.whatwg.org/#concept-url-parser 6853. https://html.spec.whatwg.org/#fallback-base-url 6854. https://dom.spec.whatwg.org/#concept-document-encoding 6855. https://html.spec.whatwg.org/#the-base-element 6856. https://html.spec.whatwg.org/#the-base-element 6857. https://url.spec.whatwg.org/#concept-url-serializer 6858. https://html.spec.whatwg.org/#dom-base-href 6859. https://html.spec.whatwg.org/#attr-base-href 6860. https://html.spec.whatwg.org/#reflect 6861. https://html.spec.whatwg.org/#the-base-element 6862. https://html.spec.whatwg.org/#document-base-url 6863. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link 6864. https://developer.mozilla.org/en-US/docs/Web/API/HTMLLinkElement 6865. https://html.spec.whatwg.org/#concept-element-categories 6866. https://html.spec.whatwg.org/#metadata-content-2 6867. https://html.spec.whatwg.org/#allowed-in-the-body 6868. https://html.spec.whatwg.org/#flow-content-2 6869. https://html.spec.whatwg.org/#allowed-in-the-body 6870. https://html.spec.whatwg.org/#phrasing-content-2 6871. https://html.spec.whatwg.org/#concept-element-contexts 6872. https://html.spec.whatwg.org/#metadata-content-2 6873. https://html.spec.whatwg.org/#the-noscript-element 6874. https://html.spec.whatwg.org/#the-head-element 6875. https://html.spec.whatwg.org/#allowed-in-the-body 6876. https://html.spec.whatwg.org/#phrasing-content-2 6877. https://html.spec.whatwg.org/#concept-element-content-model 6878. https://html.spec.whatwg.org/#concept-content-nothing 6879. https://html.spec.whatwg.org/#concept-element-tag-omission 6880. https://html.spec.whatwg.org/#syntax-end-tag 6881. https://html.spec.whatwg.org/#concept-element-attributes 6882. https://html.spec.whatwg.org/#global-attributes 6883. https://html.spec.whatwg.org/#attr-link-href 6884. https://html.spec.whatwg.org/#hyperlink 6885. https://html.spec.whatwg.org/#attr-link-crossorigin 6886. https://html.spec.whatwg.org/#attr-link-rel 6887. https://html.spec.whatwg.org/#hyperlink 6888. https://html.spec.whatwg.org/#attr-link-media 6889. https://html.spec.whatwg.org/#attr-link-integrity 6890. https://html.spec.whatwg.org/#refsSRI 6891. https://html.spec.whatwg.org/#attr-link-hreflang 6892. https://html.spec.whatwg.org/#attr-link-type 6893. https://html.spec.whatwg.org/#attr-link-referrerpolicy 6894. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 6895. https://fetch.spec.whatwg.org/#concept-fetch 6896. https://html.spec.whatwg.org/#attr-link-sizes 6897. https://html.spec.whatwg.org/#attr-link-rel 6898. https://html.spec.whatwg.org/#rel-icon 6899. https://html.spec.whatwg.org/#attr-link-imagesrcset 6900. https://html.spec.whatwg.org/#attr-link-rel 6901. https://html.spec.whatwg.org/#link-type-preload 6902. https://html.spec.whatwg.org/#attr-link-imagesizes 6903. https://html.spec.whatwg.org/#attr-link-rel 6904. https://html.spec.whatwg.org/#link-type-preload 6905. https://html.spec.whatwg.org/#attr-link-as 6906. https://fetch.spec.whatwg.org/#concept-potential-destination 6907. https://html.spec.whatwg.org/#attr-link-rel 6908. https://html.spec.whatwg.org/#link-type-preload 6909. https://html.spec.whatwg.org/#attr-link-rel 6910. https://html.spec.whatwg.org/#link-type-modulepreload 6911. https://html.spec.whatwg.org/#attr-link-blocking 6912. https://html.spec.whatwg.org/#potentially-render-blocking 6913. https://html.spec.whatwg.org/#attr-link-color 6914. https://html.spec.whatwg.org/#attr-link-rel 6915. https://html.spec.whatwg.org/#attr-link-disabled 6916. https://html.spec.whatwg.org/#attr-link-fetchpriority 6917. https://fetch.spec.whatwg.org/#request-priority 6918. https://fetch.spec.whatwg.org/#concept-fetch 6919. https://html.spec.whatwg.org/#attr-link-title 6920. https://html.spec.whatwg.org/#attr-link-title 6921. https://drafts.csswg.org/cssom/#css-style-sheet-set-name 6922. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 6923. https://w3c.github.io/html-aria/#el-link 6924. https://w3c.github.io/html-aam/#el-link 6925. https://html.spec.whatwg.org/#concept-element-dom 6926. https://html.spec.whatwg.org/#htmlelement 6927. https://html.spec.whatwg.org/#htmlconstructor 6928. https://html.spec.whatwg.org/#cereactions 6929. https://html.spec.whatwg.org/#dom-link-href 6930. https://html.spec.whatwg.org/#cereactions 6931. https://html.spec.whatwg.org/#dom-link-crossorigin 6932. https://html.spec.whatwg.org/#cereactions 6933. https://html.spec.whatwg.org/#dom-link-rel 6934. https://html.spec.whatwg.org/#cereactions 6935. https://html.spec.whatwg.org/#dom-link-as 6936. https://dom.spec.whatwg.org/#dom-domtokenlist-value 6937. https://dom.spec.whatwg.org/#interface-domtokenlist 6938. https://html.spec.whatwg.org/#dom-link-rellist 6939. https://html.spec.whatwg.org/#cereactions 6940. https://html.spec.whatwg.org/#dom-link-media 6941. https://html.spec.whatwg.org/#cereactions 6942. https://html.spec.whatwg.org/#dom-link-integrity 6943. https://html.spec.whatwg.org/#cereactions 6944. https://html.spec.whatwg.org/#dom-link-hreflang 6945. https://html.spec.whatwg.org/#cereactions 6946. https://html.spec.whatwg.org/#dom-link-type 6947. https://dom.spec.whatwg.org/#dom-domtokenlist-value 6948. https://dom.spec.whatwg.org/#interface-domtokenlist 6949. https://html.spec.whatwg.org/#dom-link-sizes 6950. https://html.spec.whatwg.org/#cereactions 6951. https://html.spec.whatwg.org/#dom-link-imagesrcset 6952. https://html.spec.whatwg.org/#cereactions 6953. https://html.spec.whatwg.org/#dom-link-imagesizes 6954. https://html.spec.whatwg.org/#cereactions 6955. https://html.spec.whatwg.org/#dom-link-referrerpolicy 6956. https://dom.spec.whatwg.org/#dom-domtokenlist-value 6957. https://dom.spec.whatwg.org/#interface-domtokenlist 6958. https://html.spec.whatwg.org/#dom-link-blocking 6959. https://html.spec.whatwg.org/#cereactions 6960. https://html.spec.whatwg.org/#dom-link-disabled 6961. https://html.spec.whatwg.org/#cereactions 6962. https://html.spec.whatwg.org/#dom-link-fetchpriority 6963. https://html.spec.whatwg.org/#HTMLLinkElement-partial 6964. https://html.spec.whatwg.org/#htmllinkelement 6965. https://drafts.csswg.org/cssom/#the-linkstyle-interface 6966. https://html.spec.whatwg.org/#the-link-element 6967. https://html.spec.whatwg.org/#attr-link-href 6968. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 6969. https://html.spec.whatwg.org/#attr-link-href 6970. https://html.spec.whatwg.org/#attr-link-imagesrcset 6971. https://html.spec.whatwg.org/#attr-link-href 6972. https://html.spec.whatwg.org/#attr-link-imagesrcset 6973. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 6974. https://html.spec.whatwg.org/#linkTypes 6975. https://html.spec.whatwg.org/#attr-link-rel 6976. https://html.spec.whatwg.org/#attr-link-rel 6977. https://dom.spec.whatwg.org/#concept-supported-tokens 6978. https://html.spec.whatwg.org/#linkTypes 6979. https://html.spec.whatwg.org/#the-link-element 6980. https://dom.spec.whatwg.org/#concept-supported-tokens 6981. https://html.spec.whatwg.org/#rel-alternate 6982. https://html.spec.whatwg.org/#link-type-dns-prefetch 6983. https://html.spec.whatwg.org/#link-type-expect 6984. https://html.spec.whatwg.org/#rel-icon 6985. https://html.spec.whatwg.org/#link-type-manifest 6986. https://html.spec.whatwg.org/#link-type-modulepreload 6987. https://html.spec.whatwg.org/#link-type-next 6988. https://html.spec.whatwg.org/#link-type-pingback 6989. https://html.spec.whatwg.org/#link-type-preconnect 6990. https://html.spec.whatwg.org/#link-type-prefetch 6991. https://html.spec.whatwg.org/#link-type-preload 6992. https://html.spec.whatwg.org/#link-type-search 6993. https://html.spec.whatwg.org/#link-type-stylesheet 6994. https://html.spec.whatwg.org/#attr-link-rel 6995. https://dom.spec.whatwg.org/#concept-supported-tokens 6996. https://html.spec.whatwg.org/#link-type-canonical 6997. https://html.spec.whatwg.org/#link-type-canonical 6998. https://html.spec.whatwg.org/#attr-link-rel 6999. https://dom.spec.whatwg.org/#concept-supported-tokens 7000. https://html.spec.whatwg.org/#the-link-element 7001. https://html.spec.whatwg.org/#attr-link-rel 7002. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 7003. https://html.spec.whatwg.org/#the-link-element 7004. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 7005. https://html.spec.whatwg.org/#attr-link-rel 7006. https://html.spec.whatwg.org/#body-ok 7007. https://html.spec.whatwg.org/#phrasing-content-2 7008. https://html.spec.whatwg.org/#attr-link-rel 7009. https://html.spec.whatwg.org/#the-body-element 7010. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 7011. https://html.spec.whatwg.org/#the-head-element 7012. https://html.spec.whatwg.org/#the-body-element 7013. https://html.spec.whatwg.org/#the-link-element 7014. https://html.spec.whatwg.org/#external-resource-link 7015. https://html.spec.whatwg.org/#hyperlink 7016. https://html.spec.whatwg.org/#linkTypes 7017. https://html.spec.whatwg.org/#the-link-element 7018. https://html.spec.whatwg.org/#external-resource-link 7019. https://html.spec.whatwg.org/#hyperlink 7020. https://html.spec.whatwg.org/#attr-link-rel 7021. https://html.spec.whatwg.org/#the-link-element 7022. https://html.spec.whatwg.org/#the-link-element 7023. https://html.spec.whatwg.org/#the-link-element 7024. https://html.spec.whatwg.org/#attr-link-rel 7025. https://html.spec.whatwg.org/#hyperlink 7026. https://html.spec.whatwg.org/#link-type-next 7027. https://html.spec.whatwg.org/#external-resource-link 7028. https://html.spec.whatwg.org/#link-type-stylesheet 7029. https://html.spec.whatwg.org/#attr-link-media 7030. https://html.spec.whatwg.org/#attr-link-title 7031. https://html.spec.whatwg.org/#the-link-element 7032. https://html.spec.whatwg.org/#hyperlink 7033. https://html.spec.whatwg.org/#hyperlink 7034. https://html.spec.whatwg.org/#the-link-element 7035. https://html.spec.whatwg.org/#attr-link-rel 7036. https://html.spec.whatwg.org/#attr-hyperlink-rel 7037. https://html.spec.whatwg.org/#the-a-element 7038. https://html.spec.whatwg.org/#the-area-element 7039. https://html.spec.whatwg.org/#the-a-element 7040. https://html.spec.whatwg.org/#the-area-element 7041. https://html.spec.whatwg.org/#hyperlink 7042. https://html.spec.whatwg.org/#the-link-element 7043. https://html.spec.whatwg.org/#renderingUA 7044. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 7045. https://html.spec.whatwg.org/#providing-users-with-a-means-to-follow-hyperlinks-created-using-the-link-element 7046. https://html.spec.whatwg.org/#external-resource-link 7047. https://html.spec.whatwg.org/#linkTypes 7048. https://html.spec.whatwg.org/#cors-settings-attribute 7049. https://html.spec.whatwg.org/#external-resource-link 7050. https://html.spec.whatwg.org/#valid-media-query-list 7051. https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity 7052. https://fetch.spec.whatwg.org/#concept-request-integrity-metadata 7053. https://html.spec.whatwg.org/#the-link-element 7054. https://html.spec.whatwg.org/#attr-link-rel 7055. https://html.spec.whatwg.org/#link-type-stylesheet 7056. https://html.spec.whatwg.org/#link-type-preload 7057. https://html.spec.whatwg.org/#link-type-modulepreload 7058. https://html.spec.whatwg.org/#refsSRI 7059. https://html.spec.whatwg.org/#the-link-element 7060. https://html.spec.whatwg.org/#attr-hyperlink-hreflang 7061. https://mimesniff.spec.whatwg.org/#mime-type 7062. https://mimesniff.spec.whatwg.org/#valid-mime-type 7063. https://html.spec.whatwg.org/#external-resource-link 7064. https://html.spec.whatwg.org/#attr-link-type 7065. https://html.spec.whatwg.org/#referrer-policy-attribute 7066. https://html.spec.whatwg.org/#external-resource-link 7067. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 7068. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 7069. https://html.spec.whatwg.org/#refsREFERRERPOLICY 7070. https://dom.spec.whatwg.org/#in-a-document-tree 7071. https://html.spec.whatwg.org/#attr-link-title 7072. https://drafts.csswg.org/cssom/#css-style-sheet-set 7073. https://html.spec.whatwg.org/#attr-link-title 7074. https://html.spec.whatwg.org/#the-link-element 7075. https://html.spec.whatwg.org/#attr-title 7076. https://html.spec.whatwg.org/#srcset-attribute 7077. https://html.spec.whatwg.org/#attr-link-imagesrcset 7078. https://html.spec.whatwg.org/#attr-link-href 7079. https://html.spec.whatwg.org/#width-descriptor 7080. https://html.spec.whatwg.org/#image-source 7081. https://html.spec.whatwg.org/#source-set 7082. https://html.spec.whatwg.org/#attr-link-imagesrcset 7083. https://html.spec.whatwg.org/#image-candidate-string 7084. https://html.spec.whatwg.org/#width-descriptor 7085. https://html.spec.whatwg.org/#sizes-attribute 7086. https://html.spec.whatwg.org/#attr-link-imagesizes 7087. https://html.spec.whatwg.org/#source-size-2 7088. https://html.spec.whatwg.org/#source-set 7089. https://html.spec.whatwg.org/#attr-link-imagesrcset 7090. https://html.spec.whatwg.org/#attr-link-imagesizes 7091. https://html.spec.whatwg.org/#the-link-element 7092. https://html.spec.whatwg.org/#attr-link-rel 7093. https://html.spec.whatwg.org/#link-type-preload 7094. https://html.spec.whatwg.org/#attr-link-as 7095. https://html.spec.whatwg.org/#the-img-element 7096. https://html.spec.whatwg.org/#attr-img-srcset 7097. https://html.spec.whatwg.org/#attr-img-sizes 7098. https://html.spec.whatwg.org/#attr-link-href 7099. https://html.spec.whatwg.org/#attr-link-imagesrcset 7100. https://html.spec.whatwg.org/#attr-link-imagesrcset 7101. https://html.spec.whatwg.org/#attr-link-media 7102. https://html.spec.whatwg.org/#the-picture-element 7103. https://html.spec.whatwg.org/#art-direction 7104. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 7105. https://infra.spec.whatwg.org/#ascii-case-insensitive 7106. https://infra.spec.whatwg.org/#ascii-case-insensitive 7107. https://html.spec.whatwg.org/#attr-link-sizes-any 7108. https://html.spec.whatwg.org/#valid-non-negative-integer 7109. https://html.spec.whatwg.org/#the-link-element 7110. https://html.spec.whatwg.org/#attr-link-rel 7111. https://html.spec.whatwg.org/#rel-icon 7112. https://html.spec.whatwg.org/#concept-rel-extensions 7113. https://fetch.spec.whatwg.org/#concept-potential-destination 7114. https://html.spec.whatwg.org/#attr-link-href 7115. https://html.spec.whatwg.org/#enumerated-attribute 7116. https://fetch.spec.whatwg.org/#concept-potential-destination 7117. https://html.spec.whatwg.org/#the-link-element 7118. https://html.spec.whatwg.org/#attr-link-rel 7119. https://html.spec.whatwg.org/#link-type-preload 7120. https://html.spec.whatwg.org/#the-link-element 7121. https://html.spec.whatwg.org/#attr-link-rel 7122. https://html.spec.whatwg.org/#link-type-modulepreload 7123. https://fetch.spec.whatwg.org/#request-destination-script-like 7124. https://html.spec.whatwg.org/#the-link-element 7125. https://html.spec.whatwg.org/#attr-link-as 7126. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 7127. https://html.spec.whatwg.org/#missing-value-default 7128. https://html.spec.whatwg.org/#invalid-value-default 7129. https://html.spec.whatwg.org/#link-type-preload 7130. https://html.spec.whatwg.org/#link-type-modulepreload 7131. https://html.spec.whatwg.org/#blocking-attribute 7132. https://html.spec.whatwg.org/#link-type-stylesheet 7133. https://html.spec.whatwg.org/#link-type-expect 7134. https://html.spec.whatwg.org/#attr-link-rel 7135. https://html.spec.whatwg.org/#the-link-element 7136. https://html.spec.whatwg.org/#attr-link-rel 7137. https://drafts.csswg.org/css-color/#typedef-color 7138. https://html.spec.whatwg.org/#attr-link-color 7139. https://html.spec.whatwg.org/#concept-rel-extensions 7140. https://html.spec.whatwg.org/#the-link-element 7141. https://html.spec.whatwg.org/#boolean-attribute 7142. https://html.spec.whatwg.org/#link-type-stylesheet 7143. https://html.spec.whatwg.org/#the-link-element 7144. https://html.spec.whatwg.org/#attr-link-rel 7145. https://html.spec.whatwg.org/#link-type-stylesheet 7146. https://html.spec.whatwg.org/#attr-link-disabled 7147. https://html.spec.whatwg.org/#the-link-element 7148. https://html.spec.whatwg.org/#explicitly-enabled 7149. https://html.spec.whatwg.org/#attr-link-disabled 7150. https://developer.mozilla.org/en-US/docs/Web/API/HTMLLinkElement/fetchPriority 7151. https://html.spec.whatwg.org/#fetch-priority-attribute 7152. https://html.spec.whatwg.org/#external-resource-link 7153. https://fetch.spec.whatwg.org/#request-priority 7154. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 7155. https://developer.mozilla.org/en-US/docs/Web/API/HTMLLinkElement/rel 7156. https://html.spec.whatwg.org/#reflect 7157. https://html.spec.whatwg.org/#attr-link-color 7158. https://developer.mozilla.org/en-US/docs/Web/API/HTMLLinkElement/as 7159. https://html.spec.whatwg.org/#reflect 7160. https://html.spec.whatwg.org/#attr-link-as 7161. https://html.spec.whatwg.org/#limited-to-only-known-values 7162. https://html.spec.whatwg.org/#reflect 7163. https://html.spec.whatwg.org/#attr-link-crossorigin 7164. https://html.spec.whatwg.org/#limited-to-only-known-values 7165. https://developer.mozilla.org/en-US/docs/Web/API/HTMLLinkElement/referrerPolicy 7166. https://html.spec.whatwg.org/#reflect 7167. https://html.spec.whatwg.org/#attr-link-referrerpolicy 7168. https://html.spec.whatwg.org/#limited-to-only-known-values 7169. https://html.spec.whatwg.org/#reflect 7170. https://html.spec.whatwg.org/#attr-link-fetchpriority 7171. https://html.spec.whatwg.org/#limited-to-only-known-values 7172. https://html.spec.whatwg.org/#reflect 7173. https://html.spec.whatwg.org/#attr-link-imagesrcset 7174. https://html.spec.whatwg.org/#reflect 7175. https://html.spec.whatwg.org/#attr-link-imagesizes 7176. https://developer.mozilla.org/en-US/docs/Web/API/HTMLLinkElement/relList 7177. https://html.spec.whatwg.org/#reflect 7178. https://html.spec.whatwg.org/#attr-link-rel 7179. https://html.spec.whatwg.org/#dom-link-rellist 7180. https://dom.spec.whatwg.org/#dom-domtokenlist-supports 7181. https://html.spec.whatwg.org/#linkTypes 7182. https://html.spec.whatwg.org/#attr-link-media 7183. https://html.spec.whatwg.org/#hyperlink 7184. https://html.spec.whatwg.org/#attr-link-media 7185. https://html.spec.whatwg.org/#external-resource-link 7186. https://html.spec.whatwg.org/#attr-link-media 7187. https://html.spec.whatwg.org/#attr-link-media 7188. https://html.spec.whatwg.org/#matches-the-environment 7189. https://html.spec.whatwg.org/#attr-link-media 7190. https://html.spec.whatwg.org/#attr-link-type 7191. https://html.spec.whatwg.org/#attr-link-type 7192. https://mimesniff.spec.whatwg.org/#valid-mime-type 7193. https://html.spec.whatwg.org/#external-resource-link 7194. https://mimesniff.spec.whatwg.org/#mime-type 7195. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 7196. https://mimesniff.spec.whatwg.org/#mime-type 7197. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 7198. https://html.spec.whatwg.org/#external-resource-link 7199. https://html.spec.whatwg.org/#external-resource-link 7200. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 7201. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 7202. https://html.spec.whatwg.org/#attr-link-type 7203. https://html.spec.whatwg.org/#attr-link-type 7204. https://html.spec.whatwg.org/#external-resource-link 7205. https://html.spec.whatwg.org/#content-type 7206. https://mimesniff.spec.whatwg.org/#rules-for-sniffing-images-specifically 7207. https://html.spec.whatwg.org/#content-type 7208. https://mimesniff.spec.whatwg.org/#computed-mime-type 7209. https://html.spec.whatwg.org/#content-type 7210. https://html.spec.whatwg.org/#external-resource-link 7211. https://html.spec.whatwg.org/#link-type-stylesheet 7212. https://html.spec.whatwg.org/#content-type 7213. https://www.rfc-editor.org/rfc/rfc2046#section-4.1.3 7214. https://mimesniff.spec.whatwg.org/#mime-type 7215. https://html.spec.whatwg.org/#text/css 7216. https://www.rfc-editor.org/rfc/rfc2046#section-4.1.3 7217. https://html.spec.whatwg.org/#content-type 7218. https://html.spec.whatwg.org/#link-type-stylesheet 7219. https://html.spec.whatwg.org/#text/css 7220. https://html.spec.whatwg.org/#the-link-element 7221. https://html.spec.whatwg.org/#external-resource-link 7222. https://html.spec.whatwg.org/#the-link-element 7223. https://html.spec.whatwg.org/#the-link-element 7224. https://fetch.spec.whatwg.org/#concept-request 7225. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 7226. https://html.spec.whatwg.org/#default-fetch-and-process-the-linked-resource 7227. https://html.spec.whatwg.org/#linked-resource-fetch-setup-steps 7228. https://html.spec.whatwg.org/#the-link-element 7229. https://html.spec.whatwg.org/#create-link-options-from-element 7230. https://html.spec.whatwg.org/#create-a-link-request 7231. https://fetch.spec.whatwg.org/#synchronous-flag 7232. https://html.spec.whatwg.org/#linked-resource-fetch-setup-steps 7233. https://fetch.spec.whatwg.org/#request-initiator-type 7234. https://html.spec.whatwg.org/#attr-link-rel 7235. https://html.spec.whatwg.org/#link-type-stylesheet 7236. https://fetch.spec.whatwg.org/#concept-fetch 7237. https://fetch.spec.whatwg.org/#process-response-end-of-body 7238. https://fetch.spec.whatwg.org/#concept-response 7239. https://infra.spec.whatwg.org/#byte-sequence 7240. https://fetch.spec.whatwg.org/#concept-response-status 7241. https://fetch.spec.whatwg.org/#ok-status 7242. https://html.spec.whatwg.org/#external-resource-link 7243. https://html.spec.whatwg.org/#critical-subresources 7244. https://html.spec.whatwg.org/#critical-subresources 7245. https://html.spec.whatwg.org/#external-resource-link 7246. https://html.spec.whatwg.org/#critical-subresources 7247. https://html.spec.whatwg.org/#process-the-linked-resource 7248. https://html.spec.whatwg.org/#link-processing-options 7249. https://infra.spec.whatwg.org/#assert 7250. https://html.spec.whatwg.org/#link-options-href 7251. https://html.spec.whatwg.org/#link-options-destination 7252. https://html.spec.whatwg.org/#encoding-parsing-a-url 7253. https://html.spec.whatwg.org/#link-options-href 7254. https://html.spec.whatwg.org/#link-options-base-url 7255. https://github.com/whatwg/html/issues/9715 7256. https://html.spec.whatwg.org/#create-a-potential-cors-request 7257. https://html.spec.whatwg.org/#link-options-destination 7258. https://html.spec.whatwg.org/#link-options-crossorigin 7259. https://fetch.spec.whatwg.org/#concept-request-policy-container 7260. https://html.spec.whatwg.org/#link-options-policy-container 7261. https://fetch.spec.whatwg.org/#concept-request-integrity-metadata 7262. https://html.spec.whatwg.org/#link-options-integrity 7263. https://fetch.spec.whatwg.org/#concept-request-nonce-metadata 7264. https://html.spec.whatwg.org/#link-options-nonce 7265. https://fetch.spec.whatwg.org/#concept-request-referrer-policy 7266. https://html.spec.whatwg.org/#link-options-referrer-policy 7267. https://fetch.spec.whatwg.org/#concept-request-client 7268. https://html.spec.whatwg.org/#link-options-environment 7269. https://fetch.spec.whatwg.org/#request-priority 7270. https://html.spec.whatwg.org/#link-options-fetch-priority 7271. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 7272. https://html.spec.whatwg.org/#external-resource-link 7273. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 7274. https://html.spec.whatwg.org/#external-resource-link 7275. https://html.spec.whatwg.org/#the-link-element 7276. https://fetch.spec.whatwg.org/#concept-response 7277. https://infra.spec.whatwg.org/#byte-sequence 7278. https://html.spec.whatwg.org/#process-the-linked-resource 7279. https://html.spec.whatwg.org/#attr-link-rel 7280. https://html.spec.whatwg.org/#delay-the-load-event 7281. https://dom.spec.whatwg.org/#concept-node-document 7282. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 7283. https://html.spec.whatwg.org/#critical-subresources 7284. https://html.spec.whatwg.org/#delay-the-load-event 7285. https://httpwg.org/specs/rfc8288.html#header 7286. https://html.spec.whatwg.org/#external-resource-link 7287. https://html.spec.whatwg.org/#link-processing-options 7288. https://httpwg.org/specs/rfc8288.html#header 7289. https://html.spec.whatwg.org/#table-link-relations 7290. https://html.spec.whatwg.org/#process-a-link-header 7291. https://infra.spec.whatwg.org/#struct 7292. https://infra.spec.whatwg.org/#struct-item 7293. https://html.spec.whatwg.org/#attr-crossorigin-none 7294. https://html.spec.whatwg.org/#cors-settings-attribute 7295. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 7296. https://html.spec.whatwg.org/#source-set 7297. https://url.spec.whatwg.org/#concept-url 7298. https://html.spec.whatwg.org/#concept-origin 7299. https://html.spec.whatwg.org/#environment 7300. https://html.spec.whatwg.org/#policy-container 7301. https://html.spec.whatwg.org/#document 7302. https://html.spec.whatwg.org/#document 7303. https://html.spec.whatwg.org/#attr-fetchpriority-auto-state 7304. https://html.spec.whatwg.org/#fetch-priority-attribute 7305. https://html.spec.whatwg.org/#link-processing-options 7306. https://html.spec.whatwg.org/#link-options-base-url 7307. https://html.spec.whatwg.org/#link-options-href 7308. https://html.spec.whatwg.org/#link-options-source-set 7309. https://html.spec.whatwg.org/#the-link-element 7310. https://dom.spec.whatwg.org/#concept-node-document 7311. https://html.spec.whatwg.org/#link-processing-options 7312. https://html.spec.whatwg.org/#link-options-destination 7313. https://html.spec.whatwg.org/#translate-a-preload-destination 7314. https://html.spec.whatwg.org/#attr-link-as 7315. https://html.spec.whatwg.org/#link-options-crossorigin 7316. https://html.spec.whatwg.org/#attr-link-crossorigin 7317. https://html.spec.whatwg.org/#link-options-referrer-policy 7318. https://html.spec.whatwg.org/#attr-link-referrerpolicy 7319. https://html.spec.whatwg.org/#link-options-source-set 7320. https://html.spec.whatwg.org/#source-set 7321. https://html.spec.whatwg.org/#link-options-base-url 7322. https://html.spec.whatwg.org/#document-base-url 7323. https://html.spec.whatwg.org/#link-options-origin 7324. https://dom.spec.whatwg.org/#concept-document-origin 7325. https://html.spec.whatwg.org/#link-options-environment 7326. https://html.spec.whatwg.org/#relevant-settings-object 7327. https://html.spec.whatwg.org/#link-options-policy-container 7328. https://html.spec.whatwg.org/#concept-document-policy-container 7329. https://html.spec.whatwg.org/#link-options-document 7330. https://html.spec.whatwg.org/#link-options-nonce 7331. https://html.spec.whatwg.org/#cryptographicnonce 7332. https://html.spec.whatwg.org/#link-options-fetch-priority 7333. https://html.spec.whatwg.org/#attr-link-fetchpriority 7334. https://html.spec.whatwg.org/#attr-link-href 7335. https://html.spec.whatwg.org/#link-options-href 7336. https://html.spec.whatwg.org/#attr-link-href 7337. https://html.spec.whatwg.org/#attr-link-integrity 7338. https://html.spec.whatwg.org/#link-options-integrity 7339. https://html.spec.whatwg.org/#attr-link-integrity 7340. https://html.spec.whatwg.org/#attr-link-type 7341. https://html.spec.whatwg.org/#link-options-type 7342. https://html.spec.whatwg.org/#attr-link-type 7343. https://infra.spec.whatwg.org/#assert 7344. https://html.spec.whatwg.org/#link-options-href 7345. https://html.spec.whatwg.org/#link-options-source-set 7346. https://html.spec.whatwg.org/#the-link-element 7347. https://html.spec.whatwg.org/#attr-link-href 7348. https://html.spec.whatwg.org/#attr-link-imagesrcset 7349. https://fetch.spec.whatwg.org/#concept-header-list 7350. https://infra.spec.whatwg.org/#list 7351. https://fetch.spec.whatwg.org/#concept-header-list-get-decode-split 7352. https://html.spec.whatwg.org/#the-link-element 7353. https://infra.spec.whatwg.org/#list-iterate 7354. https://httpwg.org/specs/rfc8288.html#parse-fv 7355. https://html.spec.whatwg.org/#refsWEBLINK 7356. https://infra.spec.whatwg.org/#map-exists 7357. https://infra.spec.whatwg.org/#iteration-continue 7358. https://infra.spec.whatwg.org/#list-append 7359. https://html.spec.whatwg.org/#document 7360. https://fetch.spec.whatwg.org/#concept-response 7361. https://html.spec.whatwg.org/#extract-links-from-headers 7362. https://fetch.spec.whatwg.org/#concept-response-header-list 7363. https://infra.spec.whatwg.org/#list-iterate 7364. https://html.spec.whatwg.org/#attr-img-srcset 7365. https://html.spec.whatwg.org/#attr-link-imagesrcset 7366. https://html.spec.whatwg.org/#attr-link-media 7367. https://infra.spec.whatwg.org/#map-exists 7368. https://infra.spec.whatwg.org/#iteration-continue 7369. https://html.spec.whatwg.org/#attr-link-media 7370. https://infra.spec.whatwg.org/#map-exists 7371. https://html.spec.whatwg.org/#attr-link-media 7372. https://html.spec.whatwg.org/#matches-the-environment 7373. https://infra.spec.whatwg.org/#iteration-continue 7374. https://html.spec.whatwg.org/#link-processing-options 7375. https://html.spec.whatwg.org/#link-options-href 7376. https://html.spec.whatwg.org/#link-options-base-url 7377. https://html.spec.whatwg.org/#document-base-url 7378. https://html.spec.whatwg.org/#link-options-origin 7379. https://dom.spec.whatwg.org/#concept-document-origin 7380. https://html.spec.whatwg.org/#link-options-environment 7381. https://html.spec.whatwg.org/#relevant-settings-object 7382. https://html.spec.whatwg.org/#link-options-policy-container 7383. https://html.spec.whatwg.org/#concept-document-policy-container 7384. https://html.spec.whatwg.org/#link-options-document 7385. https://html.spec.whatwg.org/#apply-link-options-from-parsed-header-attributes 7386. https://html.spec.whatwg.org/#attr-link-imagesrcset 7387. https://infra.spec.whatwg.org/#map-exists 7388. https://html.spec.whatwg.org/#attr-link-imagesizes 7389. https://infra.spec.whatwg.org/#map-exists 7390. https://html.spec.whatwg.org/#link-options-source-set 7391. https://html.spec.whatwg.org/#create-a-source-set 7392. https://html.spec.whatwg.org/#attr-link-imagesrcset 7393. https://html.spec.whatwg.org/#attr-link-imagesizes 7394. https://html.spec.whatwg.org/#process-a-link-header 7395. https://html.spec.whatwg.org/#link-processing-options 7396. https://html.spec.whatwg.org/#attr-link-as 7397. https://infra.spec.whatwg.org/#map-exists 7398. https://html.spec.whatwg.org/#link-options-destination 7399. https://html.spec.whatwg.org/#translate-a-preload-destination 7400. https://html.spec.whatwg.org/#attr-link-as 7401. https://html.spec.whatwg.org/#attr-link-crossorigin 7402. https://infra.spec.whatwg.org/#map-exists 7403. https://infra.spec.whatwg.org/#ascii-case-insensitive 7404. https://html.spec.whatwg.org/#cors-settings-attribute 7405. https://html.spec.whatwg.org/#enumerated-attribute 7406. https://html.spec.whatwg.org/#link-options-crossorigin 7407. https://html.spec.whatwg.org/#cors-settings-attribute 7408. https://html.spec.whatwg.org/#attr-link-integrity 7409. https://infra.spec.whatwg.org/#map-exists 7410. https://html.spec.whatwg.org/#link-options-integrity 7411. https://html.spec.whatwg.org/#attr-link-integrity 7412. https://html.spec.whatwg.org/#attr-link-referrerpolicy 7413. https://infra.spec.whatwg.org/#map-exists 7414. https://infra.spec.whatwg.org/#ascii-case-insensitive 7415. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 7416. https://html.spec.whatwg.org/#link-options-referrer-policy 7417. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 7418. https://html.spec.whatwg.org/#attr-nonce 7419. https://infra.spec.whatwg.org/#map-exists 7420. https://html.spec.whatwg.org/#link-options-nonce 7421. https://html.spec.whatwg.org/#attr-nonce 7422. https://html.spec.whatwg.org/#attr-link-type 7423. https://infra.spec.whatwg.org/#map-exists 7424. https://html.spec.whatwg.org/#link-options-type 7425. https://html.spec.whatwg.org/#attr-link-type 7426. https://html.spec.whatwg.org/#attr-link-fetchpriority 7427. https://infra.spec.whatwg.org/#map-exists 7428. https://infra.spec.whatwg.org/#ascii-case-insensitive 7429. https://html.spec.whatwg.org/#fetch-priority-attribute 7430. https://html.spec.whatwg.org/#link-options-fetch-priority 7431. https://html.spec.whatwg.org/#fetch-priority-attribute 7432. https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/103 7433. https://fetch.spec.whatwg.org/#concept-response 7434. https://fetch.spec.whatwg.org/#concept-response 7435. https://html.spec.whatwg.org/#refsRFC8297 7436. https://httpwg.org/specs/rfc8297.html#security-considerations 7437. https://html.spec.whatwg.org/#attr-link-rel 7438. https://html.spec.whatwg.org/#link-type-preload 7439. https://html.spec.whatwg.org/#attr-link-as 7440. https://httpwg.org/specs/rfc8288.html#header 7441. https://w3c.github.io/webappsec-csp/#content-security-policy-object 7442. https://html.spec.whatwg.org/#attr-link-rel 7443. https://html.spec.whatwg.org/#link-type-preload 7444. https://html.spec.whatwg.org/#attr-link-as 7445. https://html.spec.whatwg.org/#attr-link-rel 7446. https://html.spec.whatwg.org/#link-type-preload 7447. https://html.spec.whatwg.org/#attr-link-as 7448. https://html.spec.whatwg.org/#attr-link-rel 7449. https://html.spec.whatwg.org/#link-type-preload 7450. https://html.spec.whatwg.org/#attr-link-as 7451. https://w3c.github.io/webappsec-csp/#content-security-policy-object 7452. https://fetch.spec.whatwg.org/#concept-response 7453. https://html.spec.whatwg.org/#environment 7454. https://httpwg.org/specs/rfc8288.html#header 7455. https://httpwg.org/specs/rfc8288.html#header 7456. https://fetch.spec.whatwg.org/#concept-response 7457. https://html.spec.whatwg.org/#the-link-element 7458. https://httpwg.org/specs/rfc8288.html#header 7459. https://html.spec.whatwg.org/#document 7460. https://html.spec.whatwg.org/#the-head-element 7461. https://html.spec.whatwg.org/#creating-a-policy-container-from-a-fetch-response 7462. https://fetch.spec.whatwg.org/#concept-response 7463. https://w3c.github.io/webappsec-csp/#content-security-policy-object 7464. https://w3c.github.io/webappsec-csp/#enforced 7465. https://fetch.spec.whatwg.org/#concept-request 7466. https://html.spec.whatwg.org/#extract-links-from-headers 7467. https://fetch.spec.whatwg.org/#concept-response-header-list 7468. https://infra.spec.whatwg.org/#list 7469. https://infra.spec.whatwg.org/#list-iterate 7470. https://fetch.spec.whatwg.org/#concept-fetch 7471. https://html.spec.whatwg.org/#document 7472. https://fetch.spec.whatwg.org/#concept-response 7473. https://fetch.spec.whatwg.org/#concept-fetch 7474. https://html.spec.whatwg.org/#document 7475. https://html.spec.whatwg.org/#map-of-preloaded-resources 7476. https://html.spec.whatwg.org/#the-link-element 7477. https://html.spec.whatwg.org/#document 7478. https://fetch.spec.whatwg.org/#concept-response 7479. https://html.spec.whatwg.org/#link-processing-options 7480. https://html.spec.whatwg.org/#link-options-href 7481. https://html.spec.whatwg.org/#link-options-initiator 7482. https://html.spec.whatwg.org/#link-options-base-url 7483. https://fetch.spec.whatwg.org/#concept-response-url 7484. https://html.spec.whatwg.org/#link-options-origin 7485. https://fetch.spec.whatwg.org/#concept-response-url 7486. https://url.spec.whatwg.org/#concept-url-origin 7487. https://html.spec.whatwg.org/#link-options-environment 7488. https://html.spec.whatwg.org/#link-options-policy-container 7489. https://html.spec.whatwg.org/#attr-link-as 7490. https://html.spec.whatwg.org/#attr-link-crossorigin 7491. https://html.spec.whatwg.org/#attr-link-integrity 7492. https://html.spec.whatwg.org/#attr-link-type 7493. https://html.spec.whatwg.org/#attr-link-blocking 7494. https://html.spec.whatwg.org/#attr-link-imagesrcset 7495. https://html.spec.whatwg.org/#attr-link-imagesizes 7496. https://html.spec.whatwg.org/#attr-link-media 7497. https://html.spec.whatwg.org/#document 7498. https://html.spec.whatwg.org/#apply-link-options-from-parsed-header-attributes 7499. https://html.spec.whatwg.org/#process-a-link-header 7500. https://infra.spec.whatwg.org/#list-append 7501. https://html.spec.whatwg.org/#document 7502. https://infra.spec.whatwg.org/#list-iterate 7503. https://html.spec.whatwg.org/#link-options-on-document-ready 7504. https://html.spec.whatwg.org/#link-options-document 7505. https://html.spec.whatwg.org/#link-options-on-document-ready 7506. https://html.spec.whatwg.org/#the-link-element 7507. https://html.spec.whatwg.org/#following-hyperlinks-2 7508. https://html.spec.whatwg.org/#the-link-element 7509. https://html.spec.whatwg.org/#following-hyperlinks-2 7510. https://html.spec.whatwg.org/#following-userinvolvement 7511. https://html.spec.whatwg.org/#uni-browser-ui 7512. https://html.spec.whatwg.org/#hyperlink 7513. https://html.spec.whatwg.org/#the-link-element 7514. https://html.spec.whatwg.org/#attr-link-rel 7515. https://html.spec.whatwg.org/#attr-link-title 7516. https://html.spec.whatwg.org/#attr-link-href 7517. https://html.spec.whatwg.org/#attr-link-hreflang 7518. https://html.spec.whatwg.org/#attr-link-media 7519. https://html.spec.whatwg.org/#attr-link-type 7520. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta 7521. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMetaElement 7522. https://html.spec.whatwg.org/#concept-element-categories 7523. https://html.spec.whatwg.org/#metadata-content-2 7524. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 7525. https://html.spec.whatwg.org/#flow-content-2 7526. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 7527. https://html.spec.whatwg.org/#phrasing-content-2 7528. https://html.spec.whatwg.org/#concept-element-contexts 7529. https://html.spec.whatwg.org/#attr-meta-charset 7530. https://html.spec.whatwg.org/#attr-meta-http-equiv 7531. https://html.spec.whatwg.org/#attr-meta-http-equiv-content-type 7532. https://html.spec.whatwg.org/#the-head-element 7533. https://html.spec.whatwg.org/#attr-meta-http-equiv 7534. https://html.spec.whatwg.org/#attr-meta-http-equiv-content-type 7535. https://html.spec.whatwg.org/#the-head-element 7536. https://html.spec.whatwg.org/#attr-meta-http-equiv 7537. https://html.spec.whatwg.org/#attr-meta-http-equiv-content-type 7538. https://html.spec.whatwg.org/#the-noscript-element 7539. https://html.spec.whatwg.org/#the-head-element 7540. https://html.spec.whatwg.org/#attr-meta-name 7541. https://html.spec.whatwg.org/#metadata-content-2 7542. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 7543. https://html.spec.whatwg.org/#metadata-content-2 7544. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 7545. https://html.spec.whatwg.org/#phrasing-content-2 7546. https://html.spec.whatwg.org/#concept-element-content-model 7547. https://html.spec.whatwg.org/#concept-content-nothing 7548. https://html.spec.whatwg.org/#concept-element-tag-omission 7549. https://html.spec.whatwg.org/#syntax-end-tag 7550. https://html.spec.whatwg.org/#concept-element-attributes 7551. https://html.spec.whatwg.org/#global-attributes 7552. https://html.spec.whatwg.org/#attr-meta-name 7553. https://html.spec.whatwg.org/#attr-meta-http-equiv 7554. https://html.spec.whatwg.org/#attr-meta-content 7555. https://html.spec.whatwg.org/#attr-meta-charset 7556. https://html.spec.whatwg.org/#character-encoding-declaration 7557. https://html.spec.whatwg.org/#attr-meta-media 7558. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 7559. https://w3c.github.io/html-aria/#el-meta 7560. https://w3c.github.io/html-aam/#el-meta 7561. https://html.spec.whatwg.org/#concept-element-dom 7562. https://html.spec.whatwg.org/#htmlelement 7563. https://html.spec.whatwg.org/#htmlconstructor 7564. https://html.spec.whatwg.org/#cereactions 7565. https://html.spec.whatwg.org/#dom-meta-name 7566. https://html.spec.whatwg.org/#cereactions 7567. https://html.spec.whatwg.org/#dom-meta-httpequiv 7568. https://html.spec.whatwg.org/#cereactions 7569. https://html.spec.whatwg.org/#dom-meta-content 7570. https://html.spec.whatwg.org/#cereactions 7571. https://html.spec.whatwg.org/#dom-meta-media 7572. https://html.spec.whatwg.org/#HTMLMetaElement-partial 7573. https://html.spec.whatwg.org/#the-meta-element 7574. https://html.spec.whatwg.org/#represents 7575. https://html.spec.whatwg.org/#the-title-element 7576. https://html.spec.whatwg.org/#the-base-element 7577. https://html.spec.whatwg.org/#the-link-element 7578. https://html.spec.whatwg.org/#the-style-element 7579. https://html.spec.whatwg.org/#the-script-element 7580. https://html.spec.whatwg.org/#the-meta-element 7581. https://html.spec.whatwg.org/#attr-meta-name 7582. https://html.spec.whatwg.org/#attr-meta-http-equiv 7583. https://html.spec.whatwg.org/#character-encoding-declaration 7584. https://html.spec.whatwg.org/#attr-meta-charset 7585. https://html.spec.whatwg.org/#attr-meta-name 7586. https://html.spec.whatwg.org/#attr-meta-http-equiv 7587. https://html.spec.whatwg.org/#attr-meta-charset 7588. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 7589. https://html.spec.whatwg.org/#attr-meta-name 7590. https://html.spec.whatwg.org/#attr-meta-http-equiv 7591. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 7592. https://html.spec.whatwg.org/#attr-meta-content 7593. https://encoding.spec.whatwg.org/#encoding 7594. https://html.spec.whatwg.org/#character-encoding-declaration 7595. https://infra.spec.whatwg.org/#ascii-case-insensitive 7596. https://html.spec.whatwg.org/#attr-meta-charset 7597. https://html.spec.whatwg.org/#the-meta-element 7598. https://html.spec.whatwg.org/#the-meta-element 7599. https://html.spec.whatwg.org/#attr-meta-charset 7600. https://html.spec.whatwg.org/#the-meta-element 7601. https://html.spec.whatwg.org/#attr-meta-name 7602. https://html.spec.whatwg.org/#the-meta-element 7603. https://html.spec.whatwg.org/#attr-meta-content 7604. https://html.spec.whatwg.org/#the-meta-element 7605. https://html.spec.whatwg.org/#attr-meta-content 7606. https://html.spec.whatwg.org/#valid-media-query-list 7607. https://html.spec.whatwg.org/#attr-meta-name 7608. https://html.spec.whatwg.org/#meta-theme-color 7609. https://html.spec.whatwg.org/#attr-meta-media 7610. https://html.spec.whatwg.org/#reflect 7611. https://html.spec.whatwg.org/#reflect 7612. https://html.spec.whatwg.org/#attr-meta-http-equiv 7613. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta/name 7614. https://html.spec.whatwg.org/#attr-meta-name 7615. https://html.spec.whatwg.org/#the-meta-element 7616. https://infra.spec.whatwg.org/#ascii-case-insensitive 7617. https://html.spec.whatwg.org/#meta-application-name 7618. https://html.spec.whatwg.org/#attr-lang 7619. https://html.spec.whatwg.org/#the-meta-element 7620. https://html.spec.whatwg.org/#language 7621. https://html.spec.whatwg.org/#attr-meta-name 7622. https://infra.spec.whatwg.org/#ascii-case-insensitive 7623. https://html.spec.whatwg.org/#meta-application-name 7624. https://html.spec.whatwg.org/#the-title-element 7625. https://html.spec.whatwg.org/#language 7626. https://html.spec.whatwg.org/#document 7627. https://dom.spec.whatwg.org/#document-element 7628. https://html.spec.whatwg.org/#the-meta-element 7629. https://html.spec.whatwg.org/#document 7630. https://html.spec.whatwg.org/#attr-meta-name 7631. https://infra.spec.whatwg.org/#ascii-case-insensitive 7632. https://html.spec.whatwg.org/#meta-application-name 7633. https://html.spec.whatwg.org/#language 7634. https://html.spec.whatwg.org/#the-meta-element 7635. https://html.spec.whatwg.org/#attr-meta-content 7636. https://html.spec.whatwg.org/#the-meta-element 7637. https://html.spec.whatwg.org/#document 7638. https://dom.spec.whatwg.org/#concept-tree-order 7639. https://html.spec.whatwg.org/#attr-meta-name 7640. https://infra.spec.whatwg.org/#ascii-case-insensitive 7641. https://html.spec.whatwg.org/#meta-application-name 7642. https://html.spec.whatwg.org/#language 7643. https://html.spec.whatwg.org/#the-meta-element 7644. https://html.spec.whatwg.org/#attr-meta-name 7645. https://infra.spec.whatwg.org/#ascii-case-insensitive 7646. https://html.spec.whatwg.org/#meta-description 7647. https://html.spec.whatwg.org/#the-head-element 7648. https://html.spec.whatwg.org/#set-of-comma-separated-tokens 7649. https://html.spec.whatwg.org/#the-meta-element 7650. https://html.spec.whatwg.org/#the-meta-element 7651. https://html.spec.whatwg.org/#attr-meta-name 7652. https://html.spec.whatwg.org/#attr-meta-content 7653. https://html.spec.whatwg.org/#attr-meta-name 7654. https://infra.spec.whatwg.org/#ascii-case-insensitive 7655. https://html.spec.whatwg.org/#meta-keywords 7656. https://infra.spec.whatwg.org/#split-on-commas 7657. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 7658. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 7659. https://html.spec.whatwg.org/#document 7660. https://html.spec.whatwg.org/#refsREFERRERPOLICY 7661. https://html.spec.whatwg.org/#the-meta-element 7662. https://html.spec.whatwg.org/#insert-an-element-into-a-document 7663. https://html.spec.whatwg.org/#attr-meta-name 7664. https://html.spec.whatwg.org/#attr-meta-content 7665. https://dom.spec.whatwg.org/#in-a-document-tree 7666. https://html.spec.whatwg.org/#attr-meta-name 7667. https://infra.spec.whatwg.org/#ascii-case-insensitive 7668. https://html.spec.whatwg.org/#meta-referrer 7669. https://html.spec.whatwg.org/#attr-meta-content 7670. https://html.spec.whatwg.org/#attr-meta-content 7671. https://infra.spec.whatwg.org/#ascii-lowercase 7672. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer 7673. https://w3c.github.io/webappsec-referrer-policy/#default-referrer-policy 7674. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url 7675. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin 7676. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 7677. https://dom.spec.whatwg.org/#concept-node-document 7678. https://html.spec.whatwg.org/#concept-document-policy-container 7679. https://html.spec.whatwg.org/#policy-container-referrer-policy 7680. https://html.spec.whatwg.org/#meta-referrer 7681. https://dom.spec.whatwg.org/#concept-tree-order 7682. https://html.spec.whatwg.org/#the-meta-element 7683. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta/name/theme-color 7684. https://drafts.csswg.org/css-color/#typedef-color 7685. https://html.spec.whatwg.org/#attr-meta-media 7686. https://html.spec.whatwg.org/#the-meta-element 7687. https://html.spec.whatwg.org/#attr-meta-name 7688. https://infra.spec.whatwg.org/#ascii-case-insensitive 7689. https://html.spec.whatwg.org/#meta-theme-color 7690. https://html.spec.whatwg.org/#attr-meta-media 7691. https://html.spec.whatwg.org/#the-meta-element 7692. https://dom.spec.whatwg.org/#concept-tree-order 7693. https://dom.spec.whatwg.org/#in-a-document-tree 7694. https://html.spec.whatwg.org/#attr-meta-name 7695. https://infra.spec.whatwg.org/#ascii-case-insensitive 7696. https://html.spec.whatwg.org/#meta-theme-color 7697. https://html.spec.whatwg.org/#attr-meta-content 7698. https://html.spec.whatwg.org/#attr-link-media 7699. https://html.spec.whatwg.org/#attr-meta-media 7700. https://html.spec.whatwg.org/#matches-the-environment 7701. https://infra.spec.whatwg.org/#iteration-continue 7702. https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace 7703. https://html.spec.whatwg.org/#attr-meta-content 7704. https://drafts.csswg.org/css-color/#parse-a-css-color-value 7705. https://html.spec.whatwg.org/#the-meta-element 7706. https://html.spec.whatwg.org/#insert-an-element-into-a-document 7707. https://html.spec.whatwg.org/#remove-an-element-from-a-document 7708. https://html.spec.whatwg.org/#the-meta-element 7709. https://html.spec.whatwg.org/#attr-meta-name 7710. https://html.spec.whatwg.org/#attr-meta-content 7711. https://html.spec.whatwg.org/#attr-link-media 7712. https://html.spec.whatwg.org/#the-meta-element 7713. https://html.spec.whatwg.org/#attr-link-media 7714. https://html.spec.whatwg.org/#matches-the-environment 7715. https://drafts.csswg.org/css-color-adjust/#color-scheme-prop 7716. https://html.spec.whatwg.org/#the-meta-element 7717. https://drafts.csswg.org/css-color-adjust/#color-scheme-prop 7718. https://drafts.csswg.org/css-color-adjust/#pages-supported-color-schemes 7719. https://html.spec.whatwg.org/#the-meta-element 7720. https://html.spec.whatwg.org/#attr-meta-name 7721. https://infra.spec.whatwg.org/#ascii-case-insensitive 7722. https://html.spec.whatwg.org/#meta-color-scheme 7723. https://drafts.csswg.org/css-color-adjust/#pages-supported-color-schemes 7724. https://html.spec.whatwg.org/#the-meta-element 7725. https://dom.spec.whatwg.org/#concept-tree-order 7726. https://dom.spec.whatwg.org/#in-a-document-tree 7727. https://html.spec.whatwg.org/#attr-meta-name 7728. https://infra.spec.whatwg.org/#ascii-case-insensitive 7729. https://html.spec.whatwg.org/#meta-color-scheme 7730. https://html.spec.whatwg.org/#attr-meta-content 7731. https://drafts.csswg.org/css-syntax/#parse-a-list-of-component-values 7732. https://html.spec.whatwg.org/#attr-meta-content 7733. https://drafts.csswg.org/css-color-adjust/#color-scheme-prop 7734. https://html.spec.whatwg.org/#the-meta-element 7735. https://html.spec.whatwg.org/#insert-an-element-into-a-document 7736. https://html.spec.whatwg.org/#remove-an-element-from-a-document 7737. https://html.spec.whatwg.org/#the-meta-element 7738. https://html.spec.whatwg.org/#attr-meta-name 7739. https://html.spec.whatwg.org/#attr-meta-content 7740. https://url.spec.whatwg.org/#concept-url 7741. https://html.spec.whatwg.org/#attr-meta-content 7742. https://url.spec.whatwg.org/#concept-url 7743. https://html.spec.whatwg.org/#concept-rel-extensions 7744. https://wiki.whatwg.org/wiki/MetaExtensions 7745. https://html.spec.whatwg.org/#refsWHATWGWIKI 7746. https://html.spec.whatwg.org/#the-meta-element 7747. https://html.spec.whatwg.org/#attr-meta-http-equiv 7748. https://html.spec.whatwg.org/#enumerated-attribute 7749. https://html.spec.whatwg.org/#attr-meta-http-equiv-content-language 7750. https://html.spec.whatwg.org/#pragma-set-default-language 7751. https://html.spec.whatwg.org/#attr-meta-http-equiv-content-type 7752. https://html.spec.whatwg.org/#attr-meta-charset 7753. https://html.spec.whatwg.org/#attr-meta-http-equiv-default-style 7754. https://drafts.csswg.org/cssom/#css-style-sheet-set-name 7755. https://drafts.csswg.org/cssom/#css-style-sheet-set 7756. https://html.spec.whatwg.org/#attr-meta-http-equiv-refresh 7757. https://html.spec.whatwg.org/#attr-meta-http-equiv-set-cookie 7758. https://html.spec.whatwg.org/#attr-meta-http-equiv-x-ua-compatible 7759. https://html.spec.whatwg.org/#attr-meta-http-equiv-content-security-policy 7760. https://w3c.github.io/webappsec-csp/#enforced 7761. https://w3c.github.io/webappsec-csp/#content-security-policy-object 7762. https://html.spec.whatwg.org/#document 7763. https://html.spec.whatwg.org/#the-meta-element 7764. https://html.spec.whatwg.org/#insert-an-element-into-a-document 7765. https://html.spec.whatwg.org/#attr-meta-http-equiv 7766. https://html.spec.whatwg.org/#attr-meta-http-equiv-keyword-content-language 7767. https://html.spec.whatwg.org/#attr-lang 7768. https://html.spec.whatwg.org/#pragma-set-default-language 7769. https://html.spec.whatwg.org/#the-meta-element 7770. https://html.spec.whatwg.org/#attr-meta-content 7771. https://html.spec.whatwg.org/#attr-meta-content 7772. https://html.spec.whatwg.org/#attr-meta-content 7773. https://infra.spec.whatwg.org/#skip-ascii-whitespace 7774. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 7775. https://infra.spec.whatwg.org/#ascii-whitespace 7776. https://html.spec.whatwg.org/#pragma-set-default-language 7777. https://httpwg.org/specs/rfc7231.html#header.content-language 7778. https://html.spec.whatwg.org/#refsHTTP 7779. https://html.spec.whatwg.org/#attr-meta-http-equiv-keyword-content-type 7780. https://html.spec.whatwg.org/#attr-meta-http-equiv-content-type 7781. https://html.spec.whatwg.org/#attr-meta-charset 7782. https://html.spec.whatwg.org/#character-encoding-declaration 7783. https://html.spec.whatwg.org/#the-meta-element 7784. https://html.spec.whatwg.org/#attr-meta-http-equiv 7785. https://html.spec.whatwg.org/#attr-meta-http-equiv-content-type 7786. https://html.spec.whatwg.org/#attr-meta-content 7787. https://infra.spec.whatwg.org/#ascii-case-insensitive 7788. https://infra.spec.whatwg.org/#ascii-whitespace 7789. https://html.spec.whatwg.org/#the-meta-element 7790. https://html.spec.whatwg.org/#attr-meta-http-equiv 7791. https://html.spec.whatwg.org/#attr-meta-http-equiv-content-type 7792. https://html.spec.whatwg.org/#the-meta-element 7793. https://html.spec.whatwg.org/#attr-meta-charset 7794. https://html.spec.whatwg.org/#attr-meta-http-equiv-content-type 7795. https://dom.spec.whatwg.org/#html-document 7796. https://html.spec.whatwg.org/#attr-meta-http-equiv 7797. https://dom.spec.whatwg.org/#xml-document 7798. https://html.spec.whatwg.org/#attr-meta-http-equiv-keyword-default-style 7799. https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative_style_sheets 7800. https://drafts.csswg.org/cssom/#css-style-sheet-set-name 7801. https://drafts.csswg.org/cssom/#css-style-sheet-set 7802. https://html.spec.whatwg.org/#the-meta-element 7803. https://html.spec.whatwg.org/#attr-meta-content 7804. https://drafts.csswg.org/cssom/#change-the-preferred-css-style-sheet-set-name 7805. https://html.spec.whatwg.org/#attr-meta-content 7806. https://html.spec.whatwg.org/#refsCSSOM 7807. https://html.spec.whatwg.org/#attr-meta-http-equiv-keyword-refresh 7808. https://html.spec.whatwg.org/#document 7809. https://html.spec.whatwg.org/#the-meta-element 7810. https://html.spec.whatwg.org/#attr-meta-content 7811. https://html.spec.whatwg.org/#attr-meta-content 7812. https://html.spec.whatwg.org/#shared-declarative-refresh-steps 7813. https://html.spec.whatwg.org/#the-meta-element 7814. https://dom.spec.whatwg.org/#concept-node-document 7815. https://html.spec.whatwg.org/#the-meta-element 7816. https://html.spec.whatwg.org/#document 7817. https://html.spec.whatwg.org/#the-meta-element 7818. https://html.spec.whatwg.org/#will-declaratively-refresh 7819. https://infra.spec.whatwg.org/#code-point 7820. https://infra.spec.whatwg.org/#skip-ascii-whitespace 7821. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 7822. https://infra.spec.whatwg.org/#ascii-digit 7823. https://infra.spec.whatwg.org/#code-point 7824. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 7825. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 7826. https://infra.spec.whatwg.org/#ascii-digit 7827. https://dom.spec.whatwg.org/#concept-document-url 7828. https://infra.spec.whatwg.org/#code-point 7829. https://infra.spec.whatwg.org/#ascii-whitespace 7830. https://infra.spec.whatwg.org/#skip-ascii-whitespace 7831. https://infra.spec.whatwg.org/#code-point 7832. https://infra.spec.whatwg.org/#code-point 7833. https://infra.spec.whatwg.org/#skip-ascii-whitespace 7834. https://infra.spec.whatwg.org/#code-point 7835. https://infra.spec.whatwg.org/#code-point 7836. https://infra.spec.whatwg.org/#code-point 7837. https://infra.spec.whatwg.org/#code-point 7838. https://infra.spec.whatwg.org/#code-point 7839. https://infra.spec.whatwg.org/#code-point 7840. https://infra.spec.whatwg.org/#code-point 7841. https://infra.spec.whatwg.org/#skip-ascii-whitespace 7842. https://infra.spec.whatwg.org/#code-point 7843. https://infra.spec.whatwg.org/#code-point 7844. https://infra.spec.whatwg.org/#skip-ascii-whitespace 7845. https://infra.spec.whatwg.org/#code-point 7846. https://infra.spec.whatwg.org/#code-point 7847. https://infra.spec.whatwg.org/#code-point 7848. https://infra.spec.whatwg.org/#code-point 7849. https://infra.spec.whatwg.org/#code-point 7850. https://infra.spec.whatwg.org/#code-point 7851. https://infra.spec.whatwg.org/#code-point 7852. https://html.spec.whatwg.org/#encoding-parsing-a-url 7853. https://html.spec.whatwg.org/#will-declaratively-refresh 7854. https://html.spec.whatwg.org/#active-sandboxing-flag-set 7855. https://html.spec.whatwg.org/#sandboxed-automatic-features-browsing-context-flag 7856. https://html.spec.whatwg.org/#navigate 7857. https://html.spec.whatwg.org/#node-navigable 7858. https://html.spec.whatwg.org/#navigation-hh 7859. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 7860. https://html.spec.whatwg.org/#completely-loaded-time 7861. https://html.spec.whatwg.org/#insert-an-element-into-a-document 7862. https://dom.spec.whatwg.org/#concept-node-document 7863. https://html.spec.whatwg.org/#refresh 7864. https://html.spec.whatwg.org/#navigate 7865. https://html.spec.whatwg.org/#node-navigable 7866. https://html.spec.whatwg.org/#the-meta-element 7867. https://html.spec.whatwg.org/#attr-meta-http-equiv 7868. https://html.spec.whatwg.org/#attr-meta-http-equiv-refresh 7869. https://html.spec.whatwg.org/#attr-meta-content 7870. https://html.spec.whatwg.org/#valid-non-negative-integer 7871. https://html.spec.whatwg.org/#valid-non-negative-integer 7872. https://infra.spec.whatwg.org/#ascii-whitespace 7873. https://infra.spec.whatwg.org/#ascii-case-insensitive 7874. https://url.spec.whatwg.org/#valid-url-string 7875. https://url.spec.whatwg.org/#concept-url 7876. https://html.spec.whatwg.org/#the-head-element 7877. https://html.spec.whatwg.org/#attr-meta-http-equiv-keyword-set-cookie 7878. https://html.spec.whatwg.org/#attr-meta-http-equiv-keyword-x-ua-compatible 7879. https://html.spec.whatwg.org/#the-meta-element 7880. https://html.spec.whatwg.org/#attr-meta-http-equiv 7881. https://html.spec.whatwg.org/#attr-meta-http-equiv-x-ua-compatible 7882. https://html.spec.whatwg.org/#attr-meta-content 7883. https://infra.spec.whatwg.org/#ascii-case-insensitive 7884. https://html.spec.whatwg.org/#attr-meta-http-equiv-keyword-content-security-policy 7885. https://w3c.github.io/webappsec-csp/#enforced 7886. https://w3c.github.io/webappsec-csp/#content-security-policy-object 7887. https://html.spec.whatwg.org/#document 7888. https://html.spec.whatwg.org/#refsCSP 7889. https://html.spec.whatwg.org/#the-meta-element 7890. https://html.spec.whatwg.org/#the-head-element 7891. https://html.spec.whatwg.org/#the-meta-element 7892. https://html.spec.whatwg.org/#attr-meta-content 7893. https://w3c.github.io/webappsec-csp/#parse-serialized-policy 7894. https://html.spec.whatwg.org/#the-meta-element 7895. https://html.spec.whatwg.org/#attr-meta-content 7896. https://w3c.github.io/webappsec-csp/#report-uri 7897. https://w3c.github.io/webappsec-csp/#frame-ancestors 7898. https://w3c.github.io/webappsec-csp/#sandbox 7899. https://w3c.github.io/webappsec-csp/#directives 7900. https://w3c.github.io/webappsec-csp/#enforced 7901. https://html.spec.whatwg.org/#the-meta-element 7902. https://html.spec.whatwg.org/#attr-meta-http-equiv 7903. https://html.spec.whatwg.org/#attr-meta-http-equiv-content-security-policy 7904. https://html.spec.whatwg.org/#attr-meta-content 7905. https://w3c.github.io/webappsec-csp/#grammardef-serialized-policy 7906. https://w3c.github.io/webappsec-csp/#report-uri 7907. https://w3c.github.io/webappsec-csp/#frame-ancestors 7908. https://w3c.github.io/webappsec-csp/#sandbox 7909. https://w3c.github.io/webappsec-csp/#directives 7910. https://w3c.github.io/webappsec-csp/#content-security-policy-object 7911. https://html.spec.whatwg.org/#attr-meta-content 7912. https://w3c.github.io/webappsec-csp/#enforced 7913. https://html.spec.whatwg.org/#refsCSP 7914. https://html.spec.whatwg.org/#the-meta-element 7915. https://html.spec.whatwg.org/#list-of-available-images 7916. https://html.spec.whatwg.org/#the-meta-element 7917. https://html.spec.whatwg.org/#attr-meta-http-equiv 7918. https://html.spec.whatwg.org/#attr-meta-http-equiv-content-security-policy 7919. https://w3c.github.io/webappsec-csp/#content-security-policy-object 7920. https://w3c.github.io/webappsec-csp/#enforced 7921. https://html.spec.whatwg.org/#the-meta-element 7922. https://encoding.spec.whatwg.org/#encoding 7923. https://encoding.spec.whatwg.org/#utf-8 7924. https://encoding.spec.whatwg.org/#encoding 7925. https://encoding.spec.whatwg.org/#label 7926. https://html.spec.whatwg.org/#character-encoding-declaration 7927. https://encoding.spec.whatwg.org/#label 7928. https://infra.spec.whatwg.org/#ascii-case-insensitive 7929. https://html.spec.whatwg.org/#character-encoding-declaration 7930. https://dom.spec.whatwg.org/#concept-document-encoding 7931. https://encoding.spec.whatwg.org/#utf-8 7932. https://html.spec.whatwg.org/#refsENCODING 7933. https://encoding.spec.whatwg.org/#utf-8 7934. https://html.spec.whatwg.org/#syntax-charref 7935. https://html.spec.whatwg.org/#the-meta-element 7936. https://html.spec.whatwg.org/#the-meta-element 7937. https://dom.spec.whatwg.org/#html-document 7938. https://encoding.spec.whatwg.org/#encoding 7939. https://html.spec.whatwg.org/#content-type 7940. https://html.spec.whatwg.org/#an-iframe-srcdoc-document 7941. https://html.spec.whatwg.org/#the-meta-element 7942. https://html.spec.whatwg.org/#attr-meta-charset 7943. https://html.spec.whatwg.org/#the-meta-element 7944. https://html.spec.whatwg.org/#attr-meta-http-equiv 7945. https://html.spec.whatwg.org/#attr-meta-http-equiv-content-type 7946. https://html.spec.whatwg.org/#content-type 7947. https://dom.spec.whatwg.org/#concept-document-encoding 7948. https://html.spec.whatwg.org/#an-iframe-srcdoc-document 7949. https://html.spec.whatwg.org/#character-encoding-declaration 7950. https://html.spec.whatwg.org/#the-iframe-element 7951. https://encoding.spec.whatwg.org/#utf-8 7952. https://html.spec.whatwg.org/#the-head-element 7953. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style 7954. https://developer.mozilla.org/en-US/docs/Web/API/HTMLStyleElement 7955. https://html.spec.whatwg.org/#concept-element-categories 7956. https://html.spec.whatwg.org/#metadata-content-2 7957. https://html.spec.whatwg.org/#concept-element-contexts 7958. https://html.spec.whatwg.org/#metadata-content-2 7959. https://html.spec.whatwg.org/#the-noscript-element 7960. https://html.spec.whatwg.org/#the-head-element 7961. https://html.spec.whatwg.org/#concept-element-content-model 7962. https://html.spec.whatwg.org/#text-content 7963. https://drafts.csswg.org/css-syntax/#conform-classes 7964. https://html.spec.whatwg.org/#concept-element-tag-omission 7965. https://html.spec.whatwg.org/#concept-element-attributes 7966. https://html.spec.whatwg.org/#global-attributes 7967. https://html.spec.whatwg.org/#attr-style-media 7968. https://html.spec.whatwg.org/#attr-style-blocking 7969. https://html.spec.whatwg.org/#potentially-render-blocking 7970. https://html.spec.whatwg.org/#attr-style-title 7971. https://html.spec.whatwg.org/#attr-style-title 7972. https://drafts.csswg.org/cssom/#css-style-sheet-set-name 7973. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 7974. https://w3c.github.io/html-aria/#el-style 7975. https://w3c.github.io/html-aam/#el-style 7976. https://html.spec.whatwg.org/#concept-element-dom 7977. https://html.spec.whatwg.org/#htmlelement 7978. https://html.spec.whatwg.org/#htmlconstructor 7979. https://html.spec.whatwg.org/#dom-style-disabled 7980. https://html.spec.whatwg.org/#cereactions 7981. https://html.spec.whatwg.org/#dom-style-media 7982. https://dom.spec.whatwg.org/#dom-domtokenlist-value 7983. https://dom.spec.whatwg.org/#interface-domtokenlist 7984. https://html.spec.whatwg.org/#dom-style-blocking 7985. https://html.spec.whatwg.org/#HTMLStyleElement-partial 7986. https://html.spec.whatwg.org/#htmlstyleelement 7987. https://drafts.csswg.org/cssom/#the-linkstyle-interface 7988. https://html.spec.whatwg.org/#the-style-element 7989. https://html.spec.whatwg.org/#the-style-element 7990. https://html.spec.whatwg.org/#represents 7991. https://developer.mozilla.org/en-US/docs/Web/API/HTMLStyleElement/disabled 7992. https://webidl.spec.whatwg.org/#this 7993. https://drafts.csswg.org/cssom/#associated-css-style-sheet 7994. https://webidl.spec.whatwg.org/#this 7995. https://drafts.csswg.org/cssom/#associated-css-style-sheet 7996. https://drafts.csswg.org/cssom/#concept-css-style-sheet-disabled-flag 7997. https://html.spec.whatwg.org/#dom-style-disabled 7998. https://webidl.spec.whatwg.org/#this 7999. https://drafts.csswg.org/cssom/#associated-css-style-sheet 8000. https://webidl.spec.whatwg.org/#this 8001. https://drafts.csswg.org/cssom/#associated-css-style-sheet 8002. https://drafts.csswg.org/cssom/#concept-css-style-sheet-disabled-flag 8003. https://webidl.spec.whatwg.org/#this 8004. https://drafts.csswg.org/cssom/#associated-css-style-sheet 8005. https://drafts.csswg.org/cssom/#concept-css-style-sheet-disabled-flag 8006. https://html.spec.whatwg.org/#dom-style-disabled 8007. https://html.spec.whatwg.org/#the-style-element 8008. https://drafts.csswg.org/cssom/#associated-css-style-sheet 8009. https://html.spec.whatwg.org/#valid-media-query-list 8010. https://html.spec.whatwg.org/#attr-style-media 8011. https://html.spec.whatwg.org/#matches-the-environment 8012. https://html.spec.whatwg.org/#attr-style-media 8013. https://html.spec.whatwg.org/#blocking-attribute 8014. https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative_style_sheets 8015. https://html.spec.whatwg.org/#the-style-element 8016. https://drafts.csswg.org/cssom/#css-style-sheet-set 8017. https://html.spec.whatwg.org/#the-style-element 8018. https://html.spec.whatwg.org/#attr-style-title 8019. https://html.spec.whatwg.org/#attr-title 8020. https://html.spec.whatwg.org/#the-style-element 8021. https://html.spec.whatwg.org/#the-style-element 8022. https://dom.spec.whatwg.org/#in-a-document-tree 8023. https://html.spec.whatwg.org/#attr-style-title 8024. https://html.spec.whatwg.org/#refsCSSOM 8025. https://html.spec.whatwg.org/#attr-style-title 8026. https://html.spec.whatwg.org/#the-style-element 8027. https://html.spec.whatwg.org/#attr-link-title 8028. https://html.spec.whatwg.org/#the-link-element 8029. https://html.spec.whatwg.org/#attr-title 8030. https://html.spec.whatwg.org/#the-style-element 8031. https://dom.spec.whatwg.org/#concept-child-text-content 8032. https://html.spec.whatwg.org/#the-style-element 8033. https://drafts.csswg.org/css-syntax/#conform-classes 8034. https://html.spec.whatwg.org/#the-style-element 8035. https://html.spec.whatwg.org/#implicitly-potentially-render-blocking 8036. https://dom.spec.whatwg.org/#concept-node-document 8037. https://html.spec.whatwg.org/#update-a-style-block 8038. https://html.spec.whatwg.org/#stack-of-open-elements 8039. https://html.spec.whatwg.org/#html-parser 8040. https://html.spec.whatwg.org/#xml-parser 8041. https://html.spec.whatwg.org/#stack-of-open-elements 8042. https://html.spec.whatwg.org/#html-parser 8043. https://html.spec.whatwg.org/#xml-parser 8044. https://html.spec.whatwg.org/#becomes-connected 8045. https://html.spec.whatwg.org/#becomes-disconnected 8046. https://dom.spec.whatwg.org/#concept-node-children-changed-ext 8047. https://html.spec.whatwg.org/#the-style-element 8048. https://drafts.csswg.org/cssom/#associated-css-style-sheet 8049. https://drafts.csswg.org/cssom/#remove-a-css-style-sheet 8050. https://dom.spec.whatwg.org/#connected 8051. https://html.spec.whatwg.org/#attr-style-type 8052. https://infra.spec.whatwg.org/#ascii-case-insensitive 8053. https://html.spec.whatwg.org/#text/css 8054. https://html.spec.whatwg.org/#attr-style-type 8055. https://w3c.github.io/webappsec-csp/#should-block-inline 8056. https://html.spec.whatwg.org/#the-style-element 8057. https://html.spec.whatwg.org/#the-style-element 8058. https://dom.spec.whatwg.org/#concept-child-text-content 8059. https://html.spec.whatwg.org/#refsCSP 8060. https://drafts.csswg.org/cssom/#create-a-css-style-sheet 8061. https://drafts.csswg.org/cssom/#concept-css-style-sheet-type 8062. https://html.spec.whatwg.org/#text/css 8063. https://drafts.csswg.org/cssom/#concept-css-style-sheet-owner-node 8064. https://drafts.csswg.org/cssom/#concept-css-style-sheet-media 8065. https://html.spec.whatwg.org/#attr-style-media 8066. https://drafts.csswg.org/cssom/#concept-css-style-sheet-title 8067. https://html.spec.whatwg.org/#attr-style-title 8068. https://dom.spec.whatwg.org/#in-a-document-tree 8069. https://drafts.csswg.org/cssom/#concept-css-style-sheet-alternate-flag 8070. https://drafts.csswg.org/cssom/#concept-css-style-sheet-origin-clean-flag 8071. https://drafts.csswg.org/cssom/#concept-css-style-sheet-location 8072. https://drafts.csswg.org/cssom/#concept-css-style-sheet-parent-css-style-sheet 8073. https://drafts.csswg.org/cssom/#concept-css-style-sheet-owner-css-rule 8074. https://drafts.csswg.org/cssom/#concept-css-style-sheet-disabled-flag 8075. https://drafts.csswg.org/cssom/#concept-css-style-sheet-css-rules 8076. https://dom.spec.whatwg.org/#concept-child-text-content 8077. https://github.com/whatwg/html/issues/2997 8078. https://html.spec.whatwg.org/#contributes-a-script-blocking-style-sheet 8079. https://infra.spec.whatwg.org/#set-append 8080. https://dom.spec.whatwg.org/#concept-node-document 8081. https://html.spec.whatwg.org/#script-blocking-style-sheet-set 8082. https://html.spec.whatwg.org/#attr-style-media 8083. https://html.spec.whatwg.org/#matches-the-environment 8084. https://html.spec.whatwg.org/#potentially-render-blocking 8085. https://html.spec.whatwg.org/#block-rendering 8086. https://html.spec.whatwg.org/#critical-subresources 8087. https://html.spec.whatwg.org/#critical-subresources 8088. https://html.spec.whatwg.org/#critical-subresources 8089. https://github.com/whatwg/html/issues/968 8090. https://html.spec.whatwg.org/#critical-subresources 8091. https://fetch.spec.whatwg.org/#concept-request 8092. https://fetch.spec.whatwg.org/#request-render-blocking 8093. https://html.spec.whatwg.org/#the-style-element 8094. https://html.spec.whatwg.org/#render-blocking 8095. https://html.spec.whatwg.org/#the-style-element 8096. https://html.spec.whatwg.org/#critical-subresources 8097. https://html.spec.whatwg.org/#queue-an-element-task 8098. https://html.spec.whatwg.org/#networking-task-source 8099. https://dom.spec.whatwg.org/#concept-event-fire 8100. https://html.spec.whatwg.org/#event-load 8101. https://dom.spec.whatwg.org/#concept-event-fire 8102. https://html.spec.whatwg.org/#event-error 8103. https://html.spec.whatwg.org/#contributes-a-script-blocking-style-sheet 8104. https://infra.spec.whatwg.org/#assert 8105. https://dom.spec.whatwg.org/#concept-node-document 8106. https://html.spec.whatwg.org/#script-blocking-style-sheet-set 8107. https://infra.spec.whatwg.org/#list-contain 8108. https://infra.spec.whatwg.org/#list-remove 8109. https://dom.spec.whatwg.org/#concept-node-document 8110. https://html.spec.whatwg.org/#script-blocking-style-sheet-set 8111. https://html.spec.whatwg.org/#unblock-rendering 8112. https://html.spec.whatwg.org/#delay-the-load-event 8113. https://dom.spec.whatwg.org/#concept-node-document 8114. https://html.spec.whatwg.org/#critical-subresources 8115. https://html.spec.whatwg.org/#refsCSS 8116. https://developer.mozilla.org/en-US/docs/Web/API/HTMLStyleElement/media 8117. https://html.spec.whatwg.org/#reflect 8118. https://drafts.csswg.org/cssom/#the-linkstyle-interface 8119. https://html.spec.whatwg.org/#refsCSSOM 8120. https://html.spec.whatwg.org/#the-style-element 8121. https://html.spec.whatwg.org/#immediately 8122. https://html.spec.whatwg.org/#event-loop 8123. https://html.spec.whatwg.org/#update-the-rendering 8124. https://html.spec.whatwg.org/#document 8125. https://html.spec.whatwg.org/#html-parser 8126. https://html.spec.whatwg.org/#xml-parser 8127. https://html.spec.whatwg.org/#document 8128. https://html.spec.whatwg.org/#the-style-element 8129. https://html.spec.whatwg.org/#the-link-element 8130. https://html.spec.whatwg.org/#link-type-stylesheet 8131. https://html.spec.whatwg.org/#matches-the-environment 8132. https://html.spec.whatwg.org/#event-loop 8133. https://html.spec.whatwg.org/#step1 8134. https://dom.spec.whatwg.org/#concept-tree-root 8135. https://html.spec.whatwg.org/#document 8136. https://www.w3.org/TR/xml-stylesheet/#the-xml-stylesheet-processing-instruction 8137. https://html.spec.whatwg.org/#document 8138. https://infra.spec.whatwg.org/#ordered-set 8139. https://html.spec.whatwg.org/#document 8140. https://html.spec.whatwg.org/#script-blocking-style-sheet-set 8141. https://infra.spec.whatwg.org/#list-is-empty 8142. https://html.spec.whatwg.org/#node-navigable 8143. https://html.spec.whatwg.org/#node-navigable 8144. https://html.spec.whatwg.org/#nav-container 8145. https://html.spec.whatwg.org/#script-blocking-style-sheet-set 8146. https://infra.spec.whatwg.org/#list-is-empty 8147. https://html.spec.whatwg.org/#document 8148. https://html.spec.whatwg.org/#has-a-style-sheet-that-is-blocking-scripts 8149. https://developer.mozilla.org/en-US/docs/Web/HTML/Introduction_to_HTML/Document_and_website_structure#HTML_for_structuring_content 8150. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/body 8151. https://developer.mozilla.org/en-US/docs/Web/API/HTMLBodyElement 8152. https://html.spec.whatwg.org/#concept-element-categories 8153. https://html.spec.whatwg.org/#concept-element-contexts 8154. https://html.spec.whatwg.org/#the-html-element 8155. https://html.spec.whatwg.org/#concept-element-content-model 8156. https://html.spec.whatwg.org/#flow-content-2 8157. https://html.spec.whatwg.org/#concept-element-tag-omission 8158. https://html.spec.whatwg.org/#the-body-element 8159. https://html.spec.whatwg.org/#syntax-start-tag 8160. https://html.spec.whatwg.org/#the-body-element 8161. https://infra.spec.whatwg.org/#ascii-whitespace 8162. https://html.spec.whatwg.org/#syntax-comments 8163. https://html.spec.whatwg.org/#the-body-element 8164. https://html.spec.whatwg.org/#the-meta-element 8165. https://html.spec.whatwg.org/#the-noscript-element 8166. https://html.spec.whatwg.org/#the-link-element 8167. https://html.spec.whatwg.org/#the-script-element 8168. https://html.spec.whatwg.org/#the-style-element 8169. https://html.spec.whatwg.org/#the-template-element 8170. https://html.spec.whatwg.org/#the-body-element 8171. https://html.spec.whatwg.org/#syntax-end-tag 8172. https://html.spec.whatwg.org/#the-body-element 8173. https://html.spec.whatwg.org/#syntax-comments 8174. https://html.spec.whatwg.org/#concept-element-attributes 8175. https://html.spec.whatwg.org/#global-attributes 8176. https://html.spec.whatwg.org/#handler-window-onafterprint 8177. https://html.spec.whatwg.org/#handler-window-onbeforeprint 8178. https://html.spec.whatwg.org/#handler-window-onbeforeunload 8179. https://html.spec.whatwg.org/#handler-window-onhashchange 8180. https://html.spec.whatwg.org/#handler-window-onlanguagechange 8181. https://html.spec.whatwg.org/#handler-window-onmessage 8182. https://html.spec.whatwg.org/#handler-window-onmessageerror 8183. https://html.spec.whatwg.org/#handler-window-onoffline 8184. https://html.spec.whatwg.org/#handler-window-ononline 8185. https://html.spec.whatwg.org/#handler-window-onpageswap 8186. https://html.spec.whatwg.org/#handler-window-onpagehide 8187. https://html.spec.whatwg.org/#handler-window-onpagereveal 8188. https://html.spec.whatwg.org/#handler-window-onpageshow 8189. https://html.spec.whatwg.org/#handler-window-onpopstate 8190. https://html.spec.whatwg.org/#handler-window-onrejectionhandled 8191. https://html.spec.whatwg.org/#handler-window-onstorage 8192. https://html.spec.whatwg.org/#handler-window-onunhandledrejection 8193. https://html.spec.whatwg.org/#handler-window-onunload 8194. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8195. https://w3c.github.io/html-aria/#el-body 8196. https://w3c.github.io/html-aam/#el-body 8197. https://html.spec.whatwg.org/#concept-element-dom 8198. https://html.spec.whatwg.org/#htmlelement 8199. https://html.spec.whatwg.org/#htmlconstructor 8200. https://html.spec.whatwg.org/#HTMLBodyElement-partial 8201. https://html.spec.whatwg.org/#htmlbodyelement 8202. https://html.spec.whatwg.org/#windoweventhandlers 8203. https://html.spec.whatwg.org/#the-body-element 8204. https://html.spec.whatwg.org/#represents 8205. https://html.spec.whatwg.org/#the-body-element 8206. https://html.spec.whatwg.org/#dom-document-body 8207. https://html.spec.whatwg.org/#the-body-element 8208. https://html.spec.whatwg.org/#dnd 8209. https://html.spec.whatwg.org/#the-body-element-2 8210. https://html.spec.whatwg.org/#the-body-element 8211. https://html.spec.whatwg.org/#the-body-element 8212. https://html.spec.whatwg.org/#event-handler-content-attributes 8213. https://html.spec.whatwg.org/#event-handlers 8214. https://html.spec.whatwg.org/#window 8215. https://html.spec.whatwg.org/#event-handler-idl-attributes 8216. https://html.spec.whatwg.org/#event-handlers 8217. https://html.spec.whatwg.org/#window 8218. https://html.spec.whatwg.org/#window-reflecting-body-element-event-handler-set 8219. https://html.spec.whatwg.org/#the-body-element 8220. https://html.spec.whatwg.org/#event-handlers 8221. https://html.spec.whatwg.org/#html-elements 8222. https://html.spec.whatwg.org/#event-error 8223. https://html.spec.whatwg.org/#the-body-element-2 8224. https://html.spec.whatwg.org/#document 8225. https://html.spec.whatwg.org/#handler-onerror 8226. https://html.spec.whatwg.org/#event-handler-content-attributes 8227. https://html.spec.whatwg.org/#the-html-element 8228. https://html.spec.whatwg.org/#handler-onerror 8229. https://html.spec.whatwg.org/#event-handler-content-attributes 8230. https://html.spec.whatwg.org/#the-body-element 8231. https://html.spec.whatwg.org/#the-body-element 8232. https://html.spec.whatwg.org/#the-html-element 8233. https://html.spec.whatwg.org/#document 8234. https://html.spec.whatwg.org/#window 8235. https://html.spec.whatwg.org/#event-handlers 8236. https://html.spec.whatwg.org/#the-body-element 8237. https://html.spec.whatwg.org/#window 8238. https://html.spec.whatwg.org/#the-body-element 8239. https://html.spec.whatwg.org/#the-body-element 8240. https://html.spec.whatwg.org/#the-body-element 8241. https://html.spec.whatwg.org/#window 8242. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/article 8243. https://html.spec.whatwg.org/#concept-element-categories 8244. https://html.spec.whatwg.org/#flow-content-2 8245. https://html.spec.whatwg.org/#sectioning-content-2 8246. https://html.spec.whatwg.org/#palpable-content-2 8247. https://html.spec.whatwg.org/#concept-element-contexts 8248. https://html.spec.whatwg.org/#sectioning-content-2 8249. https://html.spec.whatwg.org/#concept-element-content-model 8250. https://html.spec.whatwg.org/#flow-content-2 8251. https://html.spec.whatwg.org/#concept-element-tag-omission 8252. https://html.spec.whatwg.org/#concept-element-attributes 8253. https://html.spec.whatwg.org/#global-attributes 8254. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8255. https://w3c.github.io/html-aria/#el-article 8256. https://w3c.github.io/html-aam/#el-article 8257. https://html.spec.whatwg.org/#concept-element-dom 8258. https://html.spec.whatwg.org/#htmlelement 8259. https://html.spec.whatwg.org/#the-article-element 8260. https://html.spec.whatwg.org/#represents 8261. https://html.spec.whatwg.org/#the-article-element 8262. https://html.spec.whatwg.org/#the-article-element 8263. https://html.spec.whatwg.org/#the-article-element 8264. https://html.spec.whatwg.org/#the-article-element 8265. https://html.spec.whatwg.org/#the-article-element 8266. https://html.spec.whatwg.org/#the-address-element 8267. https://html.spec.whatwg.org/#the-article-element 8268. https://html.spec.whatwg.org/#the-article-element 8269. https://html.spec.whatwg.org/#refsATOM 8270. https://html.spec.whatwg.org/#the-article-element 8271. https://html.spec.whatwg.org/#the-article-element 8272. https://html.spec.whatwg.org/#the-article-element 8273. https://html.spec.whatwg.org/#the-footer-element 8274. https://html.spec.whatwg.org/#the-footer-element 8275. https://html.spec.whatwg.org/#the-header-element 8276. https://html.spec.whatwg.org/#the-article-element 8277. https://html.spec.whatwg.org/#customized-built-in-element 8278. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/section 8279. https://html.spec.whatwg.org/#concept-element-categories 8280. https://html.spec.whatwg.org/#flow-content-2 8281. https://html.spec.whatwg.org/#sectioning-content-2 8282. https://html.spec.whatwg.org/#palpable-content-2 8283. https://html.spec.whatwg.org/#concept-element-contexts 8284. https://html.spec.whatwg.org/#sectioning-content-2 8285. https://html.spec.whatwg.org/#concept-element-content-model 8286. https://html.spec.whatwg.org/#flow-content-2 8287. https://html.spec.whatwg.org/#concept-element-tag-omission 8288. https://html.spec.whatwg.org/#concept-element-attributes 8289. https://html.spec.whatwg.org/#global-attributes 8290. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8291. https://w3c.github.io/html-aria/#el-section 8292. https://w3c.github.io/html-aam/#el-section 8293. https://html.spec.whatwg.org/#concept-element-dom 8294. https://html.spec.whatwg.org/#htmlelement 8295. https://html.spec.whatwg.org/#the-section-element 8296. https://html.spec.whatwg.org/#represents 8297. https://html.spec.whatwg.org/#the-article-element 8298. https://html.spec.whatwg.org/#the-section-element 8299. https://html.spec.whatwg.org/#the-section-element 8300. https://html.spec.whatwg.org/#the-div-element 8301. https://html.spec.whatwg.org/#the-section-element 8302. https://html.spec.whatwg.org/#outline 8303. https://html.spec.whatwg.org/#inter-element-whitespace 8304. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/nav 8305. https://html.spec.whatwg.org/#concept-element-categories 8306. https://html.spec.whatwg.org/#flow-content-2 8307. https://html.spec.whatwg.org/#sectioning-content-2 8308. https://html.spec.whatwg.org/#palpable-content-2 8309. https://html.spec.whatwg.org/#concept-element-contexts 8310. https://html.spec.whatwg.org/#sectioning-content-2 8311. https://html.spec.whatwg.org/#concept-element-content-model 8312. https://html.spec.whatwg.org/#flow-content-2 8313. https://html.spec.whatwg.org/#concept-element-tag-omission 8314. https://html.spec.whatwg.org/#concept-element-attributes 8315. https://html.spec.whatwg.org/#global-attributes 8316. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8317. https://w3c.github.io/html-aria/#el-nav 8318. https://w3c.github.io/html-aam/#el-nav 8319. https://html.spec.whatwg.org/#concept-element-dom 8320. https://html.spec.whatwg.org/#htmlelement 8321. https://html.spec.whatwg.org/#the-nav-element 8322. https://html.spec.whatwg.org/#represents 8323. https://html.spec.whatwg.org/#the-nav-element 8324. https://html.spec.whatwg.org/#the-footer-element 8325. https://html.spec.whatwg.org/#the-nav-element 8326. https://html.spec.whatwg.org/#the-nav-element 8327. https://html.spec.whatwg.org/#the-nav-element 8328. https://html.spec.whatwg.org/#the-nav-element 8329. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/aside 8330. https://html.spec.whatwg.org/#concept-element-categories 8331. https://html.spec.whatwg.org/#flow-content-2 8332. https://html.spec.whatwg.org/#sectioning-content-2 8333. https://html.spec.whatwg.org/#palpable-content-2 8334. https://html.spec.whatwg.org/#concept-element-contexts 8335. https://html.spec.whatwg.org/#sectioning-content-2 8336. https://html.spec.whatwg.org/#concept-element-content-model 8337. https://html.spec.whatwg.org/#flow-content-2 8338. https://html.spec.whatwg.org/#concept-element-tag-omission 8339. https://html.spec.whatwg.org/#concept-element-attributes 8340. https://html.spec.whatwg.org/#global-attributes 8341. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8342. https://w3c.github.io/html-aria/#el-aside 8343. https://w3c.github.io/html-aam/#el-aside 8344. https://html.spec.whatwg.org/#concept-element-dom 8345. https://html.spec.whatwg.org/#htmlelement 8346. https://html.spec.whatwg.org/#the-aside-element 8347. https://html.spec.whatwg.org/#represents 8348. https://html.spec.whatwg.org/#the-aside-element 8349. https://html.spec.whatwg.org/#the-nav-element 8350. https://html.spec.whatwg.org/#the-aside-element 8351. https://html.spec.whatwg.org/#the-aside-element 8352. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements 8353. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements 8354. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements 8355. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements 8356. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements 8357. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements 8358. https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement 8359. https://html.spec.whatwg.org/#concept-element-categories 8360. https://html.spec.whatwg.org/#flow-content-2 8361. https://html.spec.whatwg.org/#heading-content-2 8362. https://html.spec.whatwg.org/#palpable-content-2 8363. https://html.spec.whatwg.org/#concept-element-contexts 8364. https://html.spec.whatwg.org/#the-hgroup-element 8365. https://html.spec.whatwg.org/#heading-content-2 8366. https://html.spec.whatwg.org/#concept-element-content-model 8367. https://html.spec.whatwg.org/#phrasing-content-2 8368. https://html.spec.whatwg.org/#concept-element-tag-omission 8369. https://html.spec.whatwg.org/#concept-element-attributes 8370. https://html.spec.whatwg.org/#global-attributes 8371. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8372. https://w3c.github.io/html-aria/#el-h1-h6 8373. https://w3c.github.io/html-aam/#el-h1-h6 8374. https://html.spec.whatwg.org/#concept-element-dom 8375. https://html.spec.whatwg.org/#htmlelement 8376. https://html.spec.whatwg.org/#htmlconstructor 8377. https://html.spec.whatwg.org/#HTMLHeadingElement-partial 8378. https://html.spec.whatwg.org/#represents 8379. https://html.spec.whatwg.org/#headings-and-outlines 8380. https://html.spec.whatwg.org/#heading-level 8381. https://html.spec.whatwg.org/#heading-level 8382. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8383. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8384. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8385. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hgroup 8386. https://html.spec.whatwg.org/#concept-element-categories 8387. https://html.spec.whatwg.org/#flow-content-2 8388. https://html.spec.whatwg.org/#heading-content-2 8389. https://html.spec.whatwg.org/#palpable-content-2 8390. https://html.spec.whatwg.org/#concept-element-contexts 8391. https://html.spec.whatwg.org/#heading-content-2 8392. https://html.spec.whatwg.org/#concept-element-content-model 8393. https://html.spec.whatwg.org/#the-p-element 8394. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8395. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8396. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8397. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8398. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8399. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8400. https://html.spec.whatwg.org/#the-p-element 8401. https://html.spec.whatwg.org/#script-supporting-elements-2 8402. https://html.spec.whatwg.org/#concept-element-tag-omission 8403. https://html.spec.whatwg.org/#concept-element-attributes 8404. https://html.spec.whatwg.org/#global-attributes 8405. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8406. https://w3c.github.io/html-aria/#el-hgroup 8407. https://w3c.github.io/html-aam/#el-hgroup 8408. https://html.spec.whatwg.org/#concept-element-dom 8409. https://html.spec.whatwg.org/#htmlelement 8410. https://html.spec.whatwg.org/#the-hgroup-element 8411. https://html.spec.whatwg.org/#represents 8412. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8413. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8414. https://html.spec.whatwg.org/#the-p-element 8415. https://html.spec.whatwg.org/#the-hgroup-element 8416. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/header 8417. https://html.spec.whatwg.org/#concept-element-categories 8418. https://html.spec.whatwg.org/#flow-content-2 8419. https://html.spec.whatwg.org/#palpable-content-2 8420. https://html.spec.whatwg.org/#concept-element-contexts 8421. https://html.spec.whatwg.org/#flow-content-2 8422. https://html.spec.whatwg.org/#concept-element-content-model 8423. https://html.spec.whatwg.org/#flow-content-2 8424. https://html.spec.whatwg.org/#the-header-element 8425. https://html.spec.whatwg.org/#the-footer-element 8426. https://html.spec.whatwg.org/#concept-element-tag-omission 8427. https://html.spec.whatwg.org/#concept-element-attributes 8428. https://html.spec.whatwg.org/#global-attributes 8429. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8430. https://html.spec.whatwg.org/#sectioning-content-2 8431. https://w3c.github.io/html-aria/#el-header 8432. https://w3c.github.io/html-aam/#el-header 8433. https://w3c.github.io/html-aria/#el-header 8434. https://w3c.github.io/html-aam/#el-header-ancestorbody 8435. https://html.spec.whatwg.org/#concept-element-dom 8436. https://html.spec.whatwg.org/#htmlelement 8437. https://html.spec.whatwg.org/#the-header-element 8438. https://html.spec.whatwg.org/#represents 8439. https://html.spec.whatwg.org/#the-header-element 8440. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8441. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8442. https://html.spec.whatwg.org/#the-hgroup-element 8443. https://html.spec.whatwg.org/#the-header-element 8444. https://html.spec.whatwg.org/#the-header-element 8445. https://html.spec.whatwg.org/#sectioning-content-2 8446. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8447. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8448. https://html.spec.whatwg.org/#the-header-element 8449. https://html.spec.whatwg.org/#the-header-element 8450. https://html.spec.whatwg.org/#the-header-element 8451. https://html.spec.whatwg.org/#outline 8452. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/footer 8453. https://html.spec.whatwg.org/#concept-element-categories 8454. https://html.spec.whatwg.org/#flow-content-2 8455. https://html.spec.whatwg.org/#palpable-content-2 8456. https://html.spec.whatwg.org/#concept-element-contexts 8457. https://html.spec.whatwg.org/#flow-content-2 8458. https://html.spec.whatwg.org/#concept-element-content-model 8459. https://html.spec.whatwg.org/#flow-content-2 8460. https://html.spec.whatwg.org/#the-header-element 8461. https://html.spec.whatwg.org/#the-footer-element 8462. https://html.spec.whatwg.org/#concept-element-tag-omission 8463. https://html.spec.whatwg.org/#concept-element-attributes 8464. https://html.spec.whatwg.org/#global-attributes 8465. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8466. https://html.spec.whatwg.org/#sectioning-content-2 8467. https://w3c.github.io/html-aria/#el-footer 8468. https://w3c.github.io/html-aam/#el-footer 8469. https://w3c.github.io/html-aria/#el-footer 8470. https://w3c.github.io/html-aam/#el-footer-ancestorbody 8471. https://html.spec.whatwg.org/#concept-element-dom 8472. https://html.spec.whatwg.org/#htmlelement 8473. https://html.spec.whatwg.org/#the-footer-element 8474. https://html.spec.whatwg.org/#represents 8475. https://html.spec.whatwg.org/#sectioning-content-2 8476. https://html.spec.whatwg.org/#the-body-element-2 8477. https://html.spec.whatwg.org/#the-footer-element 8478. https://html.spec.whatwg.org/#represents 8479. https://html.spec.whatwg.org/#the-address-element 8480. https://html.spec.whatwg.org/#the-footer-element 8481. https://html.spec.whatwg.org/#the-header-element 8482. https://html.spec.whatwg.org/#the-footer-element 8483. https://html.spec.whatwg.org/#sectioning-content-2 8484. https://html.spec.whatwg.org/#the-footer-element 8485. https://html.spec.whatwg.org/#sectioning-content-2 8486. https://html.spec.whatwg.org/#the-footer-element 8487. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/address 8488. https://html.spec.whatwg.org/#concept-element-categories 8489. https://html.spec.whatwg.org/#flow-content-2 8490. https://html.spec.whatwg.org/#palpable-content-2 8491. https://html.spec.whatwg.org/#concept-element-contexts 8492. https://html.spec.whatwg.org/#flow-content-2 8493. https://html.spec.whatwg.org/#concept-element-content-model 8494. https://html.spec.whatwg.org/#flow-content-2 8495. https://html.spec.whatwg.org/#heading-content-2 8496. https://html.spec.whatwg.org/#sectioning-content-2 8497. https://html.spec.whatwg.org/#the-header-element 8498. https://html.spec.whatwg.org/#the-footer-element 8499. https://html.spec.whatwg.org/#the-address-element 8500. https://html.spec.whatwg.org/#concept-element-tag-omission 8501. https://html.spec.whatwg.org/#concept-element-attributes 8502. https://html.spec.whatwg.org/#global-attributes 8503. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8504. https://w3c.github.io/html-aria/#el-address 8505. https://w3c.github.io/html-aam/#el-address 8506. https://html.spec.whatwg.org/#concept-element-dom 8507. https://html.spec.whatwg.org/#htmlelement 8508. https://html.spec.whatwg.org/#the-address-element 8509. https://html.spec.whatwg.org/#represents 8510. https://html.spec.whatwg.org/#the-article-element 8511. https://html.spec.whatwg.org/#the-body-element 8512. https://html.spec.whatwg.org/#the-body-element-2 8513. https://html.spec.whatwg.org/#the-address-element 8514. https://html.spec.whatwg.org/#the-p-element 8515. https://html.spec.whatwg.org/#the-address-element 8516. https://html.spec.whatwg.org/#the-address-element 8517. https://html.spec.whatwg.org/#the-address-element 8518. https://html.spec.whatwg.org/#the-footer-element 8519. https://html.spec.whatwg.org/#the-address-element 8520. https://html.spec.whatwg.org/#the-article-element 8521. https://html.spec.whatwg.org/#the-body-element 8522. https://html.spec.whatwg.org/#the-address-element 8523. https://html.spec.whatwg.org/#the-body-element 8524. https://html.spec.whatwg.org/#the-article-element 8525. https://html.spec.whatwg.org/#the-article-element 8526. https://html.spec.whatwg.org/#the-body-element 8527. https://html.spec.whatwg.org/#the-article-element 8528. https://html.spec.whatwg.org/#the-body-element 8529. https://dom.spec.whatwg.org/#concept-node-document 8530. https://html.spec.whatwg.org/#the-body-element-2 8531. https://html.spec.whatwg.org/#the-body-element-2 8532. https://html.spec.whatwg.org/#document 8533. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8534. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8535. https://html.spec.whatwg.org/#represents 8536. https://html.spec.whatwg.org/#concept-heading 8537. https://html.spec.whatwg.org/#heading-level 8538. https://html.spec.whatwg.org/#concept-heading 8539. https://html.spec.whatwg.org/#concept-heading 8540. https://dom.spec.whatwg.org/#concept-tree-order 8541. https://html.spec.whatwg.org/#outline 8542. https://html.spec.whatwg.org/#concept-heading 8543. https://html.spec.whatwg.org/#concept-heading 8544. https://html.spec.whatwg.org/#concept-heading 8545. https://html.spec.whatwg.org/#outline 8546. https://html.spec.whatwg.org/#heading-level 8547. https://html.spec.whatwg.org/#concept-heading 8548. https://html.spec.whatwg.org/#concept-heading 8549. https://html.spec.whatwg.org/#outline 8550. https://html.spec.whatwg.org/#heading-level 8551. https://html.spec.whatwg.org/#heading-level 8552. https://html.spec.whatwg.org/#outline 8553. https://html.spec.whatwg.org/#outline 8554. https://html.spec.whatwg.org/#the-title-element 8555. https://html.spec.whatwg.org/#concept-heading 8556. https://html.spec.whatwg.org/#outline 8557. https://html.spec.whatwg.org/#the-header-element 8558. https://html.spec.whatwg.org/#outline 8559. https://html.spec.whatwg.org/#outline 8560. https://html.spec.whatwg.org/#concept-heading 8561. https://html.spec.whatwg.org/#heading-level 8562. https://html.spec.whatwg.org/#outline 8563. https://html.spec.whatwg.org/#concept-heading 8564. https://html.spec.whatwg.org/#heading-level 8565. https://html.spec.whatwg.org/#outline 8566. https://html.spec.whatwg.org/#outline 8567. https://html.spec.whatwg.org/#heading-level 8568. https://html.spec.whatwg.org/#heading-level 8569. https://html.spec.whatwg.org/#the-body-element 8570. https://html.spec.whatwg.org/#the-article-element 8571. https://html.spec.whatwg.org/#the-section-element 8572. https://html.spec.whatwg.org/#the-nav-element 8573. https://html.spec.whatwg.org/#the-aside-element 8574. https://html.spec.whatwg.org/#the-aside-element 8575. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8576. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8577. https://html.spec.whatwg.org/#the-hgroup-element 8578. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8579. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8580. https://html.spec.whatwg.org/#the-p-element 8581. https://html.spec.whatwg.org/#the-header-element 8582. https://html.spec.whatwg.org/#the-footer-element 8583. https://html.spec.whatwg.org/#sectioning-content-2 8584. https://html.spec.whatwg.org/#the-body-element-2 8585. https://html.spec.whatwg.org/#the-section-element 8586. https://html.spec.whatwg.org/#the-article-element 8587. https://html.spec.whatwg.org/#the-section-element 8588. https://html.spec.whatwg.org/#the-article-element 8589. https://html.spec.whatwg.org/#the-article-element 8590. https://html.spec.whatwg.org/#the-article-element 8591. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/p 8592. https://developer.mozilla.org/en-US/docs/Web/API/HTMLParagraphElement 8593. https://html.spec.whatwg.org/#concept-element-categories 8594. https://html.spec.whatwg.org/#flow-content-2 8595. https://html.spec.whatwg.org/#palpable-content-2 8596. https://html.spec.whatwg.org/#concept-element-contexts 8597. https://html.spec.whatwg.org/#flow-content-2 8598. https://html.spec.whatwg.org/#concept-element-content-model 8599. https://html.spec.whatwg.org/#phrasing-content-2 8600. https://html.spec.whatwg.org/#concept-element-tag-omission 8601. https://html.spec.whatwg.org/#the-p-element 8602. https://html.spec.whatwg.org/#syntax-end-tag 8603. https://html.spec.whatwg.org/#the-p-element 8604. https://html.spec.whatwg.org/#the-address-element 8605. https://html.spec.whatwg.org/#the-article-element 8606. https://html.spec.whatwg.org/#the-aside-element 8607. https://html.spec.whatwg.org/#the-blockquote-element 8608. https://html.spec.whatwg.org/#the-details-element 8609. https://html.spec.whatwg.org/#the-dialog-element 8610. https://html.spec.whatwg.org/#the-div-element 8611. https://html.spec.whatwg.org/#the-dl-element 8612. https://html.spec.whatwg.org/#the-fieldset-element 8613. https://html.spec.whatwg.org/#the-figcaption-element 8614. https://html.spec.whatwg.org/#the-figure-element 8615. https://html.spec.whatwg.org/#the-footer-element 8616. https://html.spec.whatwg.org/#the-form-element 8617. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8618. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8619. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8620. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8621. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8622. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8623. https://html.spec.whatwg.org/#the-header-element 8624. https://html.spec.whatwg.org/#the-hgroup-element 8625. https://html.spec.whatwg.org/#the-hr-element 8626. https://html.spec.whatwg.org/#the-main-element 8627. https://html.spec.whatwg.org/#the-menu-element 8628. https://html.spec.whatwg.org/#the-nav-element 8629. https://html.spec.whatwg.org/#the-ol-element 8630. https://html.spec.whatwg.org/#the-p-element 8631. https://html.spec.whatwg.org/#the-pre-element 8632. https://html.spec.whatwg.org/#the-search-element 8633. https://html.spec.whatwg.org/#the-section-element 8634. https://html.spec.whatwg.org/#the-table-element 8635. https://html.spec.whatwg.org/#the-ul-element 8636. https://html.spec.whatwg.org/#html-elements 8637. https://html.spec.whatwg.org/#the-a-element 8638. https://html.spec.whatwg.org/#the-audio-element 8639. https://html.spec.whatwg.org/#the-del-element 8640. https://html.spec.whatwg.org/#the-ins-element 8641. https://html.spec.whatwg.org/#the-map-element 8642. https://html.spec.whatwg.org/#the-noscript-element 8643. https://html.spec.whatwg.org/#the-video-element 8644. https://html.spec.whatwg.org/#autonomous-custom-element 8645. https://html.spec.whatwg.org/#concept-element-attributes 8646. https://html.spec.whatwg.org/#global-attributes 8647. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8648. https://w3c.github.io/html-aria/#el-p 8649. https://w3c.github.io/html-aam/#el-p 8650. https://html.spec.whatwg.org/#concept-element-dom 8651. https://html.spec.whatwg.org/#htmlelement 8652. https://html.spec.whatwg.org/#htmlconstructor 8653. https://html.spec.whatwg.org/#HTMLParagraphElement-partial 8654. https://html.spec.whatwg.org/#the-p-element 8655. https://html.spec.whatwg.org/#represents 8656. https://html.spec.whatwg.org/#paragraph 8657. https://html.spec.whatwg.org/#the-p-element 8658. https://html.spec.whatwg.org/#the-ol-element 8659. https://html.spec.whatwg.org/#the-ul-element 8660. https://html.spec.whatwg.org/#the-p-element 8661. https://html.spec.whatwg.org/#paragraph 8662. https://html.spec.whatwg.org/#paragraph 8663. https://html.spec.whatwg.org/#the-div-element 8664. https://html.spec.whatwg.org/#the-p-element 8665. https://html.spec.whatwg.org/#the-div-element 8666. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hr 8667. https://developer.mozilla.org/en-US/docs/Web/API/HTMLHRElement 8668. https://html.spec.whatwg.org/#concept-element-categories 8669. https://html.spec.whatwg.org/#flow-content-2 8670. https://html.spec.whatwg.org/#concept-element-contexts 8671. https://html.spec.whatwg.org/#flow-content-2 8672. https://html.spec.whatwg.org/#the-select-element 8673. https://html.spec.whatwg.org/#concept-element-content-model 8674. https://html.spec.whatwg.org/#concept-content-nothing 8675. https://html.spec.whatwg.org/#concept-element-tag-omission 8676. https://html.spec.whatwg.org/#syntax-end-tag 8677. https://html.spec.whatwg.org/#concept-element-attributes 8678. https://html.spec.whatwg.org/#global-attributes 8679. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8680. https://w3c.github.io/html-aria/#el-hr 8681. https://w3c.github.io/html-aam/#el-hr 8682. https://html.spec.whatwg.org/#concept-element-dom 8683. https://html.spec.whatwg.org/#htmlelement 8684. https://html.spec.whatwg.org/#htmlconstructor 8685. https://html.spec.whatwg.org/#HTMLHRElement-partial 8686. https://html.spec.whatwg.org/#the-hr-element 8687. https://html.spec.whatwg.org/#represents 8688. https://html.spec.whatwg.org/#paragraph 8689. https://html.spec.whatwg.org/#the-select-element 8690. https://html.spec.whatwg.org/#the-hr-element 8691. https://html.spec.whatwg.org/#the-hr-element 8692. https://html.spec.whatwg.org/#the-section-element 8693. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8694. https://html.spec.whatwg.org/#the-hr-element 8695. https://html.spec.whatwg.org/#the-hr-element 8696. https://html.spec.whatwg.org/#outline 8697. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/pre 8698. https://developer.mozilla.org/en-US/docs/Web/API/HTMLPreElement 8699. https://html.spec.whatwg.org/#concept-element-categories 8700. https://html.spec.whatwg.org/#flow-content-2 8701. https://html.spec.whatwg.org/#palpable-content-2 8702. https://html.spec.whatwg.org/#concept-element-contexts 8703. https://html.spec.whatwg.org/#flow-content-2 8704. https://html.spec.whatwg.org/#concept-element-content-model 8705. https://html.spec.whatwg.org/#phrasing-content-2 8706. https://html.spec.whatwg.org/#concept-element-tag-omission 8707. https://html.spec.whatwg.org/#concept-element-attributes 8708. https://html.spec.whatwg.org/#global-attributes 8709. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8710. https://w3c.github.io/html-aria/#el-pre 8711. https://w3c.github.io/html-aam/#el-pre 8712. https://html.spec.whatwg.org/#concept-element-dom 8713. https://html.spec.whatwg.org/#htmlelement 8714. https://html.spec.whatwg.org/#htmlconstructor 8715. https://html.spec.whatwg.org/#HTMLPreElement-partial 8716. https://html.spec.whatwg.org/#the-pre-element 8717. https://html.spec.whatwg.org/#represents 8718. https://html.spec.whatwg.org/#syntax 8719. https://html.spec.whatwg.org/#the-pre-element 8720. https://html.spec.whatwg.org/#the-pre-element 8721. https://html.spec.whatwg.org/#the-pre-element 8722. https://html.spec.whatwg.org/#the-code-element 8723. https://html.spec.whatwg.org/#the-pre-element 8724. https://html.spec.whatwg.org/#the-samp-element 8725. https://html.spec.whatwg.org/#the-kbd-element 8726. https://html.spec.whatwg.org/#the-pre-element 8727. https://html.spec.whatwg.org/#bidireq 8728. https://html.spec.whatwg.org/#the-samp-element 8729. https://html.spec.whatwg.org/#the-kbd-element 8730. https://html.spec.whatwg.org/#the-pre-element 8731. https://html.spec.whatwg.org/#the-pre-element 8732. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote 8733. https://developer.mozilla.org/en-US/docs/Web/API/HTMLQuoteElement 8734. https://html.spec.whatwg.org/#concept-element-categories 8735. https://html.spec.whatwg.org/#flow-content-2 8736. https://html.spec.whatwg.org/#palpable-content-2 8737. https://html.spec.whatwg.org/#concept-element-contexts 8738. https://html.spec.whatwg.org/#flow-content-2 8739. https://html.spec.whatwg.org/#concept-element-content-model 8740. https://html.spec.whatwg.org/#flow-content-2 8741. https://html.spec.whatwg.org/#concept-element-tag-omission 8742. https://html.spec.whatwg.org/#concept-element-attributes 8743. https://html.spec.whatwg.org/#global-attributes 8744. https://html.spec.whatwg.org/#attr-blockquote-cite 8745. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8746. https://w3c.github.io/html-aria/#el-blockquote 8747. https://w3c.github.io/html-aam/#el-blockquote 8748. https://html.spec.whatwg.org/#concept-element-dom 8749. https://html.spec.whatwg.org/#htmlelement 8750. https://html.spec.whatwg.org/#htmlconstructor 8751. https://html.spec.whatwg.org/#cereactions 8752. https://html.spec.whatwg.org/#dom-quote-cite 8753. https://html.spec.whatwg.org/#htmlquoteelement 8754. https://html.spec.whatwg.org/#the-q-element 8755. https://html.spec.whatwg.org/#the-blockquote-element 8756. https://html.spec.whatwg.org/#represents 8757. https://html.spec.whatwg.org/#the-blockquote-element 8758. https://html.spec.whatwg.org/#attr-blockquote-cite 8759. https://html.spec.whatwg.org/#valid-url-potentially-surrounded-by-spaces 8760. https://html.spec.whatwg.org/#encoding-parsing-a-url 8761. https://dom.spec.whatwg.org/#concept-node-document 8762. https://html.spec.whatwg.org/#the-blockquote-element 8763. https://html.spec.whatwg.org/#the-blockquote-element 8764. https://html.spec.whatwg.org/#reflect 8765. https://html.spec.whatwg.org/#the-blockquote-element 8766. https://html.spec.whatwg.org/#the-figure-element 8767. https://html.spec.whatwg.org/#the-figcaption-element 8768. https://html.spec.whatwg.org/#the-blockquote-element 8769. https://html.spec.whatwg.org/#the-cite-element 8770. https://html.spec.whatwg.org/#the-blockquote-element 8771. https://html.spec.whatwg.org/#the-blockquote-element 8772. https://html.spec.whatwg.org/#the-article-element 8773. https://html.spec.whatwg.org/#the-blockquote-element 8774. https://html.spec.whatwg.org/#the-p-element 8775. https://html.spec.whatwg.org/#the-blockquote-element 8776. https://html.spec.whatwg.org/#conversations 8777. https://html.spec.whatwg.org/#the-cite-element 8778. https://html.spec.whatwg.org/#the-blockquote-element 8779. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol 8780. https://developer.mozilla.org/en-US/docs/Web/API/HTMLOListElement 8781. https://html.spec.whatwg.org/#concept-element-categories 8782. https://html.spec.whatwg.org/#flow-content-2 8783. https://html.spec.whatwg.org/#the-li-element 8784. https://html.spec.whatwg.org/#palpable-content-2 8785. https://html.spec.whatwg.org/#concept-element-contexts 8786. https://html.spec.whatwg.org/#flow-content-2 8787. https://html.spec.whatwg.org/#concept-element-content-model 8788. https://html.spec.whatwg.org/#the-li-element 8789. https://html.spec.whatwg.org/#script-supporting-elements-2 8790. https://html.spec.whatwg.org/#concept-element-tag-omission 8791. https://html.spec.whatwg.org/#concept-element-attributes 8792. https://html.spec.whatwg.org/#global-attributes 8793. https://html.spec.whatwg.org/#attr-ol-reversed 8794. https://html.spec.whatwg.org/#attr-ol-start 8795. https://html.spec.whatwg.org/#concept-ol-start 8796. https://html.spec.whatwg.org/#attr-ol-type 8797. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8798. https://w3c.github.io/html-aria/#el-ol 8799. https://w3c.github.io/html-aam/#el-ol 8800. https://html.spec.whatwg.org/#concept-element-dom 8801. https://html.spec.whatwg.org/#htmlelement 8802. https://html.spec.whatwg.org/#htmlconstructor 8803. https://html.spec.whatwg.org/#cereactions 8804. https://html.spec.whatwg.org/#dom-ol-reversed 8805. https://html.spec.whatwg.org/#cereactions 8806. https://html.spec.whatwg.org/#dom-ol-start 8807. https://html.spec.whatwg.org/#cereactions 8808. https://html.spec.whatwg.org/#dom-ol-type 8809. https://html.spec.whatwg.org/#HTMLOListElement-partial 8810. https://html.spec.whatwg.org/#the-ol-element 8811. https://html.spec.whatwg.org/#represents 8812. https://html.spec.whatwg.org/#the-li-element 8813. https://html.spec.whatwg.org/#the-ol-element 8814. https://dom.spec.whatwg.org/#concept-tree-order 8815. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol#attr-reversed 8816. https://html.spec.whatwg.org/#boolean-attribute 8817. https://html.spec.whatwg.org/#valid-integer 8818. https://html.spec.whatwg.org/#concept-ol-start 8819. https://html.spec.whatwg.org/#the-ol-element 8820. https://html.spec.whatwg.org/#the-ol-element 8821. https://html.spec.whatwg.org/#attr-ol-start 8822. https://html.spec.whatwg.org/#rules-for-parsing-integers 8823. https://html.spec.whatwg.org/#the-ol-element 8824. https://html.spec.whatwg.org/#attr-ol-reversed 8825. https://html.spec.whatwg.org/#list-owner 8826. https://html.spec.whatwg.org/#referenced 8827. https://infra.spec.whatwg.org/#string-is 8828. https://html.spec.whatwg.org/#attr-ol-type 8829. https://html.spec.whatwg.org/#attr-ol-type-state-decimal 8830. https://html.spec.whatwg.org/#attr-ol-type 8831. https://html.spec.whatwg.org/#the-ol-element 8832. https://html.spec.whatwg.org/#attr-ol-type 8833. https://drafts.csswg.org/css-lists/#propdef-list-style-type 8834. https://html.spec.whatwg.org/#decohints 8835. https://html.spec.whatwg.org/#reflect 8836. https://html.spec.whatwg.org/#reflect 8837. https://html.spec.whatwg.org/#default-value 8838. https://html.spec.whatwg.org/#dom-ol-start 8839. https://html.spec.whatwg.org/#concept-ol-start 8840. https://html.spec.whatwg.org/#attr-ol-start 8841. https://html.spec.whatwg.org/#attr-ol-reversed 8842. https://html.spec.whatwg.org/#the-ol-element 8843. https://html.spec.whatwg.org/#the-ul-element 8844. https://html.spec.whatwg.org/#the-ul-element 8845. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ul 8846. https://developer.mozilla.org/en-US/docs/Web/API/HTMLUListElement 8847. https://html.spec.whatwg.org/#concept-element-categories 8848. https://html.spec.whatwg.org/#flow-content-2 8849. https://html.spec.whatwg.org/#the-li-element 8850. https://html.spec.whatwg.org/#palpable-content-2 8851. https://html.spec.whatwg.org/#concept-element-contexts 8852. https://html.spec.whatwg.org/#flow-content-2 8853. https://html.spec.whatwg.org/#concept-element-content-model 8854. https://html.spec.whatwg.org/#the-li-element 8855. https://html.spec.whatwg.org/#script-supporting-elements-2 8856. https://html.spec.whatwg.org/#concept-element-tag-omission 8857. https://html.spec.whatwg.org/#concept-element-attributes 8858. https://html.spec.whatwg.org/#global-attributes 8859. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8860. https://w3c.github.io/html-aria/#el-ul 8861. https://w3c.github.io/html-aam/#el-ul 8862. https://html.spec.whatwg.org/#concept-element-dom 8863. https://html.spec.whatwg.org/#htmlelement 8864. https://html.spec.whatwg.org/#htmlconstructor 8865. https://html.spec.whatwg.org/#HTMLUListElement-partial 8866. https://html.spec.whatwg.org/#the-ul-element 8867. https://html.spec.whatwg.org/#represents 8868. https://html.spec.whatwg.org/#the-li-element 8869. https://html.spec.whatwg.org/#the-ul-element 8870. https://html.spec.whatwg.org/#the-ul-element 8871. https://html.spec.whatwg.org/#the-ol-element 8872. https://html.spec.whatwg.org/#the-ol-element 8873. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu 8874. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMenuElement 8875. https://html.spec.whatwg.org/#concept-element-categories 8876. https://html.spec.whatwg.org/#flow-content-2 8877. https://html.spec.whatwg.org/#the-li-element 8878. https://html.spec.whatwg.org/#palpable-content-2 8879. https://html.spec.whatwg.org/#concept-element-contexts 8880. https://html.spec.whatwg.org/#flow-content-2 8881. https://html.spec.whatwg.org/#concept-element-content-model 8882. https://html.spec.whatwg.org/#the-li-element 8883. https://html.spec.whatwg.org/#script-supporting-elements-2 8884. https://html.spec.whatwg.org/#concept-element-tag-omission 8885. https://html.spec.whatwg.org/#concept-element-attributes 8886. https://html.spec.whatwg.org/#global-attributes 8887. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8888. https://w3c.github.io/html-aria/#el-menu 8889. https://w3c.github.io/html-aam/#el-menu 8890. https://html.spec.whatwg.org/#concept-element-dom 8891. https://html.spec.whatwg.org/#htmlelement 8892. https://html.spec.whatwg.org/#htmlconstructor 8893. https://html.spec.whatwg.org/#HTMLMenuElement-partial 8894. https://html.spec.whatwg.org/#the-menu-element 8895. https://html.spec.whatwg.org/#represents 8896. https://html.spec.whatwg.org/#the-li-element 8897. https://html.spec.whatwg.org/#the-menu-element 8898. https://html.spec.whatwg.org/#the-ul-element 8899. https://html.spec.whatwg.org/#the-menu-element 8900. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li 8901. https://developer.mozilla.org/en-US/docs/Web/API/HTMLLIElement 8902. https://html.spec.whatwg.org/#concept-element-categories 8903. https://html.spec.whatwg.org/#concept-element-contexts 8904. https://html.spec.whatwg.org/#the-ol-element 8905. https://html.spec.whatwg.org/#the-ul-element 8906. https://html.spec.whatwg.org/#the-menu-element 8907. https://html.spec.whatwg.org/#concept-element-content-model 8908. https://html.spec.whatwg.org/#flow-content-2 8909. https://html.spec.whatwg.org/#concept-element-tag-omission 8910. https://html.spec.whatwg.org/#the-li-element 8911. https://html.spec.whatwg.org/#syntax-end-tag 8912. https://html.spec.whatwg.org/#the-li-element 8913. https://html.spec.whatwg.org/#the-li-element 8914. https://html.spec.whatwg.org/#concept-element-attributes 8915. https://html.spec.whatwg.org/#global-attributes 8916. https://html.spec.whatwg.org/#the-ul-element 8917. https://html.spec.whatwg.org/#the-menu-element 8918. https://html.spec.whatwg.org/#attr-li-value 8919. https://html.spec.whatwg.org/#ordinal-value 8920. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8921. https://w3c.github.io/html-aria/#el-li 8922. https://w3c.github.io/html-aam/#el-li 8923. https://html.spec.whatwg.org/#concept-element-dom 8924. https://html.spec.whatwg.org/#htmlelement 8925. https://html.spec.whatwg.org/#htmlconstructor 8926. https://html.spec.whatwg.org/#cereactions 8927. https://html.spec.whatwg.org/#dom-li-value 8928. https://html.spec.whatwg.org/#HTMLLIElement-partial 8929. https://html.spec.whatwg.org/#the-li-element 8930. https://html.spec.whatwg.org/#represents 8931. https://html.spec.whatwg.org/#the-ol-element 8932. https://html.spec.whatwg.org/#the-ul-element 8933. https://html.spec.whatwg.org/#the-menu-element 8934. https://html.spec.whatwg.org/#the-li-element 8935. https://html.spec.whatwg.org/#valid-integer 8936. https://html.spec.whatwg.org/#ordinal-value 8937. https://html.spec.whatwg.org/#the-li-element 8938. https://html.spec.whatwg.org/#list-owner 8939. https://html.spec.whatwg.org/#the-ol-element 8940. https://drafts.csswg.org/css-cascade/#computed-value 8941. https://drafts.csswg.org/css2/#display-prop 8942. https://html.spec.whatwg.org/#being-rendered 8943. https://html.spec.whatwg.org/#list-owner 8944. https://html.spec.whatwg.org/#the-ol-element 8945. https://html.spec.whatwg.org/#the-ul-element 8946. https://html.spec.whatwg.org/#the-menu-element 8947. https://drafts.csswg.org/css-display/#css-box 8948. https://dom.spec.whatwg.org/#document-element 8949. https://drafts.csswg.org/css-display/#css-box 8950. https://html.spec.whatwg.org/#list-owner 8951. https://html.spec.whatwg.org/#the-ol-element 8952. https://html.spec.whatwg.org/#concept-ol-start 8953. https://html.spec.whatwg.org/#list-owner 8954. https://html.spec.whatwg.org/#list-owner 8955. https://html.spec.whatwg.org/#ordinal-value 8956. https://html.spec.whatwg.org/#list-owner 8957. https://dom.spec.whatwg.org/#concept-tree-order 8958. https://html.spec.whatwg.org/#the-li-element 8959. https://html.spec.whatwg.org/#attr-li-value 8960. https://html.spec.whatwg.org/#rules-for-parsing-integers 8961. https://html.spec.whatwg.org/#ordinal-value 8962. https://html.spec.whatwg.org/#the-ol-element 8963. https://html.spec.whatwg.org/#attr-ol-reversed 8964. https://html.spec.whatwg.org/#reflect 8965. https://html.spec.whatwg.org/#attr-li-value 8966. https://html.spec.whatwg.org/#dom-li-value 8967. https://html.spec.whatwg.org/#ordinal-value 8968. https://html.spec.whatwg.org/#reflect 8969. https://html.spec.whatwg.org/#ordinal-value 8970. https://html.spec.whatwg.org/#dom-li-value 8971. https://html.spec.whatwg.org/#the-figure-element 8972. https://html.spec.whatwg.org/#the-figcaption-element 8973. https://html.spec.whatwg.org/#attr-ol-reversed 8974. https://html.spec.whatwg.org/#the-ol-element 8975. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 8976. https://html.spec.whatwg.org/#the-li-element 8977. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dl 8978. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDListElement 8979. https://html.spec.whatwg.org/#concept-element-categories 8980. https://html.spec.whatwg.org/#flow-content-2 8981. https://html.spec.whatwg.org/#palpable-content-2 8982. https://html.spec.whatwg.org/#concept-element-contexts 8983. https://html.spec.whatwg.org/#flow-content-2 8984. https://html.spec.whatwg.org/#concept-element-content-model 8985. https://html.spec.whatwg.org/#the-dt-element 8986. https://html.spec.whatwg.org/#the-dd-element 8987. https://html.spec.whatwg.org/#script-supporting-elements-2 8988. https://html.spec.whatwg.org/#the-div-element 8989. https://html.spec.whatwg.org/#script-supporting-elements-2 8990. https://html.spec.whatwg.org/#concept-element-tag-omission 8991. https://html.spec.whatwg.org/#concept-element-attributes 8992. https://html.spec.whatwg.org/#global-attributes 8993. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 8994. https://w3c.github.io/html-aria/#el-dl 8995. https://w3c.github.io/html-aam/#el-dl 8996. https://html.spec.whatwg.org/#concept-element-dom 8997. https://html.spec.whatwg.org/#htmlelement 8998. https://html.spec.whatwg.org/#htmlconstructor 8999. https://html.spec.whatwg.org/#HTMLDListElement-partial 9000. https://html.spec.whatwg.org/#the-dl-element 9001. https://html.spec.whatwg.org/#represents 9002. https://html.spec.whatwg.org/#the-dt-element 9003. https://html.spec.whatwg.org/#the-div-element 9004. https://html.spec.whatwg.org/#the-dd-element 9005. https://html.spec.whatwg.org/#the-div-element 9006. https://html.spec.whatwg.org/#the-dt-element 9007. https://html.spec.whatwg.org/#the-dd-element 9008. https://html.spec.whatwg.org/#the-dt-element 9009. https://html.spec.whatwg.org/#the-dd-element 9010. https://html.spec.whatwg.org/#the-div-element 9011. https://html.spec.whatwg.org/#the-dl-element 9012. https://html.spec.whatwg.org/#the-dt-element 9013. https://html.spec.whatwg.org/#the-dd-element 9014. https://html.spec.whatwg.org/#microdata 9015. https://html.spec.whatwg.org/#global-attributes 9016. https://html.spec.whatwg.org/#the-dl-element 9017. https://html.spec.whatwg.org/#the-div-element 9018. https://html.spec.whatwg.org/#the-dl-element 9019. https://html.spec.whatwg.org/#the-dl-element 9020. https://html.spec.whatwg.org/#the-dt-element 9021. https://html.spec.whatwg.org/#the-dd-element 9022. https://dom.spec.whatwg.org/#concept-tree-first-child 9023. https://html.spec.whatwg.org/#the-div-element 9024. https://dom.spec.whatwg.org/#concept-tree-first-child 9025. https://html.spec.whatwg.org/#process-dt-or-dd 9026. https://dom.spec.whatwg.org/#concept-tree-next-sibling 9027. https://html.spec.whatwg.org/#process-dt-or-dd 9028. https://dom.spec.whatwg.org/#concept-tree-next-sibling 9029. https://html.spec.whatwg.org/#the-dt-element 9030. https://html.spec.whatwg.org/#the-dd-element 9031. https://html.spec.whatwg.org/#the-dd-element 9032. https://html.spec.whatwg.org/#the-dt-element 9033. https://html.spec.whatwg.org/#the-dl-element 9034. https://html.spec.whatwg.org/#the-div-element 9035. https://html.spec.whatwg.org/#the-dt-element 9036. https://html.spec.whatwg.org/#the-dd-element 9037. https://html.spec.whatwg.org/#the-dl-element 9038. https://html.spec.whatwg.org/#the-dl-element 9039. https://html.spec.whatwg.org/#the-dfn-element 9040. https://html.spec.whatwg.org/#microdata 9041. https://html.spec.whatwg.org/#the-dl-element 9042. https://html.spec.whatwg.org/#the-div-element 9043. https://html.spec.whatwg.org/#the-div-element 9044. https://html.spec.whatwg.org/#attr-itemref 9045. https://html.spec.whatwg.org/#the-dd-element 9046. https://html.spec.whatwg.org/#the-dl-element 9047. https://html.spec.whatwg.org/#conversations 9048. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dt 9049. https://html.spec.whatwg.org/#concept-element-categories 9050. https://html.spec.whatwg.org/#concept-element-contexts 9051. https://html.spec.whatwg.org/#the-dd-element 9052. https://html.spec.whatwg.org/#the-dt-element 9053. https://html.spec.whatwg.org/#the-dl-element 9054. https://html.spec.whatwg.org/#the-dd-element 9055. https://html.spec.whatwg.org/#the-dt-element 9056. https://html.spec.whatwg.org/#the-div-element 9057. https://html.spec.whatwg.org/#the-dl-element 9058. https://html.spec.whatwg.org/#concept-element-content-model 9059. https://html.spec.whatwg.org/#flow-content-2 9060. https://html.spec.whatwg.org/#the-header-element 9061. https://html.spec.whatwg.org/#the-footer-element 9062. https://html.spec.whatwg.org/#sectioning-content-2 9063. https://html.spec.whatwg.org/#heading-content-2 9064. https://html.spec.whatwg.org/#concept-element-tag-omission 9065. https://html.spec.whatwg.org/#the-dt-element 9066. https://html.spec.whatwg.org/#syntax-end-tag 9067. https://html.spec.whatwg.org/#the-dt-element 9068. https://html.spec.whatwg.org/#the-dt-element 9069. https://html.spec.whatwg.org/#the-dd-element 9070. https://html.spec.whatwg.org/#concept-element-attributes 9071. https://html.spec.whatwg.org/#global-attributes 9072. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9073. https://w3c.github.io/html-aria/#el-dt 9074. https://w3c.github.io/html-aam/#el-dt 9075. https://html.spec.whatwg.org/#concept-element-dom 9076. https://html.spec.whatwg.org/#htmlelement 9077. https://html.spec.whatwg.org/#the-dt-element 9078. https://html.spec.whatwg.org/#represents 9079. https://html.spec.whatwg.org/#the-dl-element 9080. https://html.spec.whatwg.org/#the-dt-element 9081. https://html.spec.whatwg.org/#the-dl-element 9082. https://html.spec.whatwg.org/#the-dfn-element 9083. https://html.spec.whatwg.org/#the-dt-element 9084. https://html.spec.whatwg.org/#the-dd-element 9085. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dd 9086. https://html.spec.whatwg.org/#concept-element-categories 9087. https://html.spec.whatwg.org/#concept-element-contexts 9088. https://html.spec.whatwg.org/#the-dt-element 9089. https://html.spec.whatwg.org/#the-dd-element 9090. https://html.spec.whatwg.org/#the-dl-element 9091. https://html.spec.whatwg.org/#the-dt-element 9092. https://html.spec.whatwg.org/#the-dd-element 9093. https://html.spec.whatwg.org/#the-div-element 9094. https://html.spec.whatwg.org/#the-dl-element 9095. https://html.spec.whatwg.org/#concept-element-content-model 9096. https://html.spec.whatwg.org/#flow-content-2 9097. https://html.spec.whatwg.org/#concept-element-tag-omission 9098. https://html.spec.whatwg.org/#the-dd-element 9099. https://html.spec.whatwg.org/#syntax-end-tag 9100. https://html.spec.whatwg.org/#the-dd-element 9101. https://html.spec.whatwg.org/#the-dd-element 9102. https://html.spec.whatwg.org/#the-dt-element 9103. https://html.spec.whatwg.org/#concept-element-attributes 9104. https://html.spec.whatwg.org/#global-attributes 9105. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9106. https://w3c.github.io/html-aria/#el-dd 9107. https://w3c.github.io/html-aam/#el-dd 9108. https://html.spec.whatwg.org/#concept-element-dom 9109. https://html.spec.whatwg.org/#htmlelement 9110. https://html.spec.whatwg.org/#the-dd-element 9111. https://html.spec.whatwg.org/#represents 9112. https://html.spec.whatwg.org/#the-dl-element 9113. https://html.spec.whatwg.org/#the-dl-element 9114. https://html.spec.whatwg.org/#the-dt-element 9115. https://html.spec.whatwg.org/#the-dfn-element 9116. https://html.spec.whatwg.org/#the-dd-element 9117. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figure 9118. https://html.spec.whatwg.org/#concept-element-categories 9119. https://html.spec.whatwg.org/#flow-content-2 9120. https://html.spec.whatwg.org/#palpable-content-2 9121. https://html.spec.whatwg.org/#concept-element-contexts 9122. https://html.spec.whatwg.org/#flow-content-2 9123. https://html.spec.whatwg.org/#concept-element-content-model 9124. https://html.spec.whatwg.org/#the-figcaption-element 9125. https://html.spec.whatwg.org/#flow-content-2 9126. https://html.spec.whatwg.org/#flow-content-2 9127. https://html.spec.whatwg.org/#the-figcaption-element 9128. https://html.spec.whatwg.org/#flow-content-2 9129. https://html.spec.whatwg.org/#concept-element-tag-omission 9130. https://html.spec.whatwg.org/#concept-element-attributes 9131. https://html.spec.whatwg.org/#global-attributes 9132. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9133. https://w3c.github.io/html-aria/#el-figure 9134. https://w3c.github.io/html-aam/#el-figure 9135. https://html.spec.whatwg.org/#concept-element-dom 9136. https://html.spec.whatwg.org/#htmlelement 9137. https://html.spec.whatwg.org/#the-figure-element 9138. https://html.spec.whatwg.org/#represents 9139. https://html.spec.whatwg.org/#flow-content-2 9140. https://html.spec.whatwg.org/#referenced 9141. https://html.spec.whatwg.org/#the-figure-element 9142. https://html.spec.whatwg.org/#the-figure-element 9143. https://html.spec.whatwg.org/#the-figure-element 9144. https://html.spec.whatwg.org/#referenced 9145. https://html.spec.whatwg.org/#the-figcaption-element 9146. https://html.spec.whatwg.org/#the-figure-element 9147. https://html.spec.whatwg.org/#the-figcaption-element 9148. https://html.spec.whatwg.org/#the-figure-element 9149. https://html.spec.whatwg.org/#the-figure-element 9150. https://html.spec.whatwg.org/#the-figcaption-element 9151. https://html.spec.whatwg.org/#the-aside-element 9152. https://html.spec.whatwg.org/#the-figure-element 9153. https://html.spec.whatwg.org/#the-article-element 9154. https://html.spec.whatwg.org/#the-aside-element 9155. https://html.spec.whatwg.org/#the-figure-element 9156. https://html.spec.whatwg.org/#the-figure-element 9157. https://html.spec.whatwg.org/#the-figure-element 9158. https://html.spec.whatwg.org/#the-figure-element 9159. https://html.spec.whatwg.org/#the-figure-element 9160. https://html.spec.whatwg.org/#the-figure-element 9161. https://html.spec.whatwg.org/#attr-title 9162. https://html.spec.whatwg.org/#the-figure-element 9163. https://html.spec.whatwg.org/#the-figcaption-element 9164. https://html.spec.whatwg.org/#referenced 9165. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figcaption 9166. https://html.spec.whatwg.org/#concept-element-categories 9167. https://html.spec.whatwg.org/#concept-element-contexts 9168. https://html.spec.whatwg.org/#the-figure-element 9169. https://html.spec.whatwg.org/#concept-element-content-model 9170. https://html.spec.whatwg.org/#flow-content-2 9171. https://html.spec.whatwg.org/#concept-element-tag-omission 9172. https://html.spec.whatwg.org/#concept-element-attributes 9173. https://html.spec.whatwg.org/#global-attributes 9174. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9175. https://w3c.github.io/html-aria/#el-figcaption 9176. https://w3c.github.io/html-aam/#el-figcaption 9177. https://html.spec.whatwg.org/#concept-element-dom 9178. https://html.spec.whatwg.org/#htmlelement 9179. https://html.spec.whatwg.org/#the-figcaption-element 9180. https://html.spec.whatwg.org/#represents 9181. https://html.spec.whatwg.org/#the-figcaption-element 9182. https://html.spec.whatwg.org/#the-figure-element 9183. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/main 9184. https://html.spec.whatwg.org/#concept-element-categories 9185. https://html.spec.whatwg.org/#flow-content-2 9186. https://html.spec.whatwg.org/#palpable-content-2 9187. https://html.spec.whatwg.org/#concept-element-contexts 9188. https://html.spec.whatwg.org/#flow-content-2 9189. https://html.spec.whatwg.org/#hierarchically-correct-main-element 9190. https://html.spec.whatwg.org/#concept-element-content-model 9191. https://html.spec.whatwg.org/#flow-content-2 9192. https://html.spec.whatwg.org/#concept-element-tag-omission 9193. https://html.spec.whatwg.org/#concept-element-attributes 9194. https://html.spec.whatwg.org/#global-attributes 9195. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9196. https://w3c.github.io/html-aria/#el-main 9197. https://w3c.github.io/html-aam/#el-main 9198. https://html.spec.whatwg.org/#concept-element-dom 9199. https://html.spec.whatwg.org/#htmlelement 9200. https://html.spec.whatwg.org/#the-main-element 9201. https://html.spec.whatwg.org/#represents 9202. https://html.spec.whatwg.org/#the-main-element 9203. https://html.spec.whatwg.org/#attr-hidden 9204. https://html.spec.whatwg.org/#the-html-element 9205. https://html.spec.whatwg.org/#the-body-element 9206. https://html.spec.whatwg.org/#the-div-element 9207. https://html.spec.whatwg.org/#the-form-element 9208. https://w3c.github.io/aria/#dfn-accessible-name 9209. https://html.spec.whatwg.org/#autonomous-custom-element 9210. https://html.spec.whatwg.org/#the-main-element 9211. https://html.spec.whatwg.org/#hierarchically-correct-main-element 9212. https://html.spec.whatwg.org/#the-main-element 9213. https://html.spec.whatwg.org/#the-main-element 9214. https://html.spec.whatwg.org/#attr-hidden 9215. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/search 9216. https://html.spec.whatwg.org/#concept-element-categories 9217. https://html.spec.whatwg.org/#flow-content-2 9218. https://html.spec.whatwg.org/#palpable-content-2 9219. https://html.spec.whatwg.org/#concept-element-contexts 9220. https://html.spec.whatwg.org/#flow-content-2 9221. https://html.spec.whatwg.org/#concept-element-content-model 9222. https://html.spec.whatwg.org/#flow-content-2 9223. https://html.spec.whatwg.org/#concept-element-tag-omission 9224. https://html.spec.whatwg.org/#concept-element-attributes 9225. https://html.spec.whatwg.org/#global-attributes 9226. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9227. https://w3c.github.io/html-aria/#el-search 9228. https://w3c.github.io/html-aam/#el-search 9229. https://html.spec.whatwg.org/#concept-element-dom 9230. https://html.spec.whatwg.org/#htmlelement 9231. https://html.spec.whatwg.org/#the-search-element 9232. https://html.spec.whatwg.org/#represents 9233. https://html.spec.whatwg.org/#the-search-element 9234. https://html.spec.whatwg.org/#the-header-element 9235. https://html.spec.whatwg.org/#the-form-element 9236. https://html.spec.whatwg.org/#the-search-element 9237. https://html.spec.whatwg.org/#the-header-element 9238. https://html.spec.whatwg.org/#the-title-element 9239. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/div 9240. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDivElement 9241. https://html.spec.whatwg.org/#concept-element-categories 9242. https://html.spec.whatwg.org/#flow-content-2 9243. https://html.spec.whatwg.org/#palpable-content-2 9244. https://html.spec.whatwg.org/#concept-element-contexts 9245. https://html.spec.whatwg.org/#flow-content-2 9246. https://html.spec.whatwg.org/#the-dl-element 9247. https://html.spec.whatwg.org/#concept-element-content-model 9248. https://html.spec.whatwg.org/#the-dl-element 9249. https://html.spec.whatwg.org/#the-dt-element 9250. https://html.spec.whatwg.org/#the-dd-element 9251. https://html.spec.whatwg.org/#script-supporting-elements-2 9252. https://html.spec.whatwg.org/#the-dl-element 9253. https://html.spec.whatwg.org/#flow-content-2 9254. https://html.spec.whatwg.org/#concept-element-tag-omission 9255. https://html.spec.whatwg.org/#concept-element-attributes 9256. https://html.spec.whatwg.org/#global-attributes 9257. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9258. https://w3c.github.io/html-aria/#el-div 9259. https://w3c.github.io/html-aam/#el-div 9260. https://html.spec.whatwg.org/#concept-element-dom 9261. https://html.spec.whatwg.org/#htmlelement 9262. https://html.spec.whatwg.org/#htmlconstructor 9263. https://html.spec.whatwg.org/#HTMLDivElement-partial 9264. https://html.spec.whatwg.org/#the-div-element 9265. https://html.spec.whatwg.org/#represents 9266. https://html.spec.whatwg.org/#classes 9267. https://html.spec.whatwg.org/#attr-lang 9268. https://html.spec.whatwg.org/#attr-title 9269. https://html.spec.whatwg.org/#the-dl-element 9270. https://html.spec.whatwg.org/#the-dt-element 9271. https://html.spec.whatwg.org/#the-dd-element 9272. https://html.spec.whatwg.org/#the-div-element 9273. https://html.spec.whatwg.org/#the-div-element 9274. https://html.spec.whatwg.org/#the-article-element 9275. https://html.spec.whatwg.org/#the-section-element 9276. https://html.spec.whatwg.org/#the-nav-element 9277. https://html.spec.whatwg.org/#the-fieldset-element 9278. https://html.spec.whatwg.org/#the-div-element 9279. https://html.spec.whatwg.org/#the-div-element 9280. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a 9281. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement 9282. https://html.spec.whatwg.org/#concept-element-categories 9283. https://html.spec.whatwg.org/#flow-content-2 9284. https://html.spec.whatwg.org/#phrasing-content-2 9285. https://html.spec.whatwg.org/#attr-hyperlink-href 9286. https://html.spec.whatwg.org/#interactive-content-2 9287. https://html.spec.whatwg.org/#palpable-content-2 9288. https://html.spec.whatwg.org/#concept-element-contexts 9289. https://html.spec.whatwg.org/#phrasing-content-2 9290. https://html.spec.whatwg.org/#concept-element-content-model 9291. https://html.spec.whatwg.org/#transparent 9292. https://html.spec.whatwg.org/#interactive-content-2 9293. https://html.spec.whatwg.org/#the-a-element 9294. https://html.spec.whatwg.org/#attr-tabindex 9295. https://html.spec.whatwg.org/#concept-element-tag-omission 9296. https://html.spec.whatwg.org/#concept-element-attributes 9297. https://html.spec.whatwg.org/#global-attributes 9298. https://html.spec.whatwg.org/#attr-hyperlink-href 9299. https://html.spec.whatwg.org/#hyperlink 9300. https://html.spec.whatwg.org/#attr-hyperlink-target 9301. https://html.spec.whatwg.org/#navigable 9302. https://html.spec.whatwg.org/#hyperlink 9303. https://html.spec.whatwg.org/#navigate 9304. https://html.spec.whatwg.org/#attr-hyperlink-download 9305. https://html.spec.whatwg.org/#ping 9306. https://url.spec.whatwg.org/#concept-url 9307. https://html.spec.whatwg.org/#attr-hyperlink-rel 9308. https://html.spec.whatwg.org/#hyperlink 9309. https://html.spec.whatwg.org/#attr-hyperlink-hreflang 9310. https://html.spec.whatwg.org/#attr-hyperlink-type 9311. https://html.spec.whatwg.org/#attr-hyperlink-referrerpolicy 9312. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 9313. https://fetch.spec.whatwg.org/#concept-fetch 9314. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9315. https://html.spec.whatwg.org/#attr-hyperlink-href 9316. https://w3c.github.io/html-aria/#el-a 9317. https://w3c.github.io/html-aam/#el-a 9318. https://w3c.github.io/html-aria/#el-a-no-href 9319. https://w3c.github.io/html-aam/#el-a-no-href 9320. https://html.spec.whatwg.org/#concept-element-dom 9321. https://html.spec.whatwg.org/#htmlelement 9322. https://html.spec.whatwg.org/#htmlconstructor 9323. https://html.spec.whatwg.org/#cereactions 9324. https://html.spec.whatwg.org/#dom-a-target 9325. https://html.spec.whatwg.org/#cereactions 9326. https://html.spec.whatwg.org/#dom-a-download 9327. https://html.spec.whatwg.org/#cereactions 9328. https://html.spec.whatwg.org/#dom-a-ping 9329. https://html.spec.whatwg.org/#cereactions 9330. https://html.spec.whatwg.org/#dom-a-rel 9331. https://dom.spec.whatwg.org/#dom-domtokenlist-value 9332. https://dom.spec.whatwg.org/#interface-domtokenlist 9333. https://html.spec.whatwg.org/#dom-a-rellist 9334. https://html.spec.whatwg.org/#cereactions 9335. https://html.spec.whatwg.org/#dom-a-hreflang 9336. https://html.spec.whatwg.org/#cereactions 9337. https://html.spec.whatwg.org/#dom-a-type 9338. https://html.spec.whatwg.org/#cereactions 9339. https://html.spec.whatwg.org/#dom-a-text 9340. https://html.spec.whatwg.org/#cereactions 9341. https://html.spec.whatwg.org/#dom-a-referrerpolicy 9342. https://html.spec.whatwg.org/#HTMLAnchorElement-partial 9343. https://html.spec.whatwg.org/#htmlanchorelement 9344. https://html.spec.whatwg.org/#htmlhyperlinkelementutils 9345. https://html.spec.whatwg.org/#the-a-element 9346. https://html.spec.whatwg.org/#attr-hyperlink-href 9347. https://html.spec.whatwg.org/#represents 9348. https://html.spec.whatwg.org/#hyperlink 9349. https://html.spec.whatwg.org/#the-a-element 9350. https://html.spec.whatwg.org/#attr-hyperlink-href 9351. https://html.spec.whatwg.org/#represents 9352. https://html.spec.whatwg.org/#attr-hyperlink-target 9353. https://html.spec.whatwg.org/#attr-hyperlink-download 9354. https://html.spec.whatwg.org/#ping 9355. https://html.spec.whatwg.org/#attr-hyperlink-rel 9356. https://html.spec.whatwg.org/#attr-hyperlink-hreflang 9357. https://html.spec.whatwg.org/#attr-hyperlink-type 9358. https://html.spec.whatwg.org/#attr-hyperlink-referrerpolicy 9359. https://html.spec.whatwg.org/#attr-hyperlink-href 9360. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 9361. https://html.spec.whatwg.org/#the-a-element 9362. https://html.spec.whatwg.org/#attr-hyperlink-href 9363. https://html.spec.whatwg.org/#the-a-element 9364. https://html.spec.whatwg.org/#attr-hyperlink-href 9365. https://html.spec.whatwg.org/#attr-hyperlink-target 9366. https://html.spec.whatwg.org/#attr-hyperlink-download 9367. https://html.spec.whatwg.org/#ping 9368. https://html.spec.whatwg.org/#attr-hyperlink-referrerpolicy 9369. https://html.spec.whatwg.org/#following-hyperlinks-2 9370. https://html.spec.whatwg.org/#downloading-hyperlinks 9371. https://html.spec.whatwg.org/#the-a-element 9372. https://html.spec.whatwg.org/#attr-hyperlink-rel 9373. https://html.spec.whatwg.org/#attr-hyperlink-hreflang 9374. https://html.spec.whatwg.org/#attr-hyperlink-type 9375. https://html.spec.whatwg.org/#dom-a-text 9376. https://dom.spec.whatwg.org/#dom-node-textcontent 9377. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/download 9378. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/rel 9379. https://html.spec.whatwg.org/#reflect 9380. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/relList 9381. https://html.spec.whatwg.org/#reflect 9382. https://html.spec.whatwg.org/#attr-hyperlink-rel 9383. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/referrerPolicy 9384. https://html.spec.whatwg.org/#reflect 9385. https://html.spec.whatwg.org/#attr-hyperlink-referrerpolicy 9386. https://html.spec.whatwg.org/#limited-to-only-known-values 9387. https://dom.spec.whatwg.org/#concept-descendant-text-content 9388. https://html.spec.whatwg.org/#dom-a-text 9389. https://dom.spec.whatwg.org/#string-replace-all 9390. https://html.spec.whatwg.org/#the-a-element 9391. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/em 9392. https://html.spec.whatwg.org/#concept-element-categories 9393. https://html.spec.whatwg.org/#flow-content-2 9394. https://html.spec.whatwg.org/#phrasing-content-2 9395. https://html.spec.whatwg.org/#palpable-content-2 9396. https://html.spec.whatwg.org/#concept-element-contexts 9397. https://html.spec.whatwg.org/#phrasing-content-2 9398. https://html.spec.whatwg.org/#concept-element-content-model 9399. https://html.spec.whatwg.org/#phrasing-content-2 9400. https://html.spec.whatwg.org/#concept-element-tag-omission 9401. https://html.spec.whatwg.org/#concept-element-attributes 9402. https://html.spec.whatwg.org/#global-attributes 9403. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9404. https://w3c.github.io/html-aria/#el-em 9405. https://w3c.github.io/html-aam/#el-em 9406. https://html.spec.whatwg.org/#concept-element-dom 9407. https://html.spec.whatwg.org/#htmlelement 9408. https://html.spec.whatwg.org/#the-em-element 9409. https://html.spec.whatwg.org/#represents 9410. https://html.spec.whatwg.org/#the-em-element 9411. https://html.spec.whatwg.org/#the-em-element 9412. https://html.spec.whatwg.org/#the-i-element 9413. https://html.spec.whatwg.org/#the-em-element 9414. https://html.spec.whatwg.org/#the-strong-element 9415. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/strong 9416. https://html.spec.whatwg.org/#concept-element-categories 9417. https://html.spec.whatwg.org/#flow-content-2 9418. https://html.spec.whatwg.org/#phrasing-content-2 9419. https://html.spec.whatwg.org/#palpable-content-2 9420. https://html.spec.whatwg.org/#concept-element-contexts 9421. https://html.spec.whatwg.org/#phrasing-content-2 9422. https://html.spec.whatwg.org/#concept-element-content-model 9423. https://html.spec.whatwg.org/#phrasing-content-2 9424. https://html.spec.whatwg.org/#concept-element-tag-omission 9425. https://html.spec.whatwg.org/#concept-element-attributes 9426. https://html.spec.whatwg.org/#global-attributes 9427. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9428. https://w3c.github.io/html-aria/#el-strong 9429. https://w3c.github.io/html-aam/#el-strong 9430. https://html.spec.whatwg.org/#concept-element-dom 9431. https://html.spec.whatwg.org/#htmlelement 9432. https://html.spec.whatwg.org/#the-strong-element 9433. https://html.spec.whatwg.org/#represents 9434. https://html.spec.whatwg.org/#the-strong-element 9435. https://html.spec.whatwg.org/#the-hgroup-element 9436. https://html.spec.whatwg.org/#the-strong-element 9437. https://html.spec.whatwg.org/#the-strong-element 9438. https://html.spec.whatwg.org/#the-strong-element 9439. https://html.spec.whatwg.org/#the-strong-element 9440. https://html.spec.whatwg.org/#the-strong-element 9441. https://html.spec.whatwg.org/#the-strong-element 9442. https://html.spec.whatwg.org/#the-strong-element 9443. https://html.spec.whatwg.org/#the-strong-element 9444. https://html.spec.whatwg.org/#the-strong-element 9445. https://html.spec.whatwg.org/#the-strong-element 9446. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/small 9447. https://html.spec.whatwg.org/#concept-element-categories 9448. https://html.spec.whatwg.org/#flow-content-2 9449. https://html.spec.whatwg.org/#phrasing-content-2 9450. https://html.spec.whatwg.org/#palpable-content-2 9451. https://html.spec.whatwg.org/#concept-element-contexts 9452. https://html.spec.whatwg.org/#phrasing-content-2 9453. https://html.spec.whatwg.org/#concept-element-content-model 9454. https://html.spec.whatwg.org/#phrasing-content-2 9455. https://html.spec.whatwg.org/#concept-element-tag-omission 9456. https://html.spec.whatwg.org/#concept-element-attributes 9457. https://html.spec.whatwg.org/#global-attributes 9458. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9459. https://w3c.github.io/html-aria/#el-small 9460. https://w3c.github.io/html-aam/#el-small 9461. https://html.spec.whatwg.org/#concept-element-dom 9462. https://html.spec.whatwg.org/#htmlelement 9463. https://html.spec.whatwg.org/#the-small-element 9464. https://html.spec.whatwg.org/#represents 9465. https://html.spec.whatwg.org/#the-small-element 9466. https://html.spec.whatwg.org/#the-em-element 9467. https://html.spec.whatwg.org/#the-strong-element 9468. https://html.spec.whatwg.org/#the-em-element 9469. https://html.spec.whatwg.org/#the-strong-element 9470. https://html.spec.whatwg.org/#the-small-element 9471. https://html.spec.whatwg.org/#the-small-element 9472. https://html.spec.whatwg.org/#the-small-element 9473. https://html.spec.whatwg.org/#the-hgroup-element 9474. https://html.spec.whatwg.org/#the-small-element 9475. https://html.spec.whatwg.org/#the-small-element 9476. https://html.spec.whatwg.org/#the-small-element 9477. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/s 9478. https://html.spec.whatwg.org/#concept-element-categories 9479. https://html.spec.whatwg.org/#flow-content-2 9480. https://html.spec.whatwg.org/#phrasing-content-2 9481. https://html.spec.whatwg.org/#palpable-content-2 9482. https://html.spec.whatwg.org/#concept-element-contexts 9483. https://html.spec.whatwg.org/#phrasing-content-2 9484. https://html.spec.whatwg.org/#concept-element-content-model 9485. https://html.spec.whatwg.org/#phrasing-content-2 9486. https://html.spec.whatwg.org/#concept-element-tag-omission 9487. https://html.spec.whatwg.org/#concept-element-attributes 9488. https://html.spec.whatwg.org/#global-attributes 9489. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9490. https://w3c.github.io/html-aria/#el-s 9491. https://w3c.github.io/html-aam/#el-s 9492. https://html.spec.whatwg.org/#concept-element-dom 9493. https://html.spec.whatwg.org/#htmlelement 9494. https://html.spec.whatwg.org/#the-s-element 9495. https://html.spec.whatwg.org/#represents 9496. https://html.spec.whatwg.org/#the-s-element 9497. https://html.spec.whatwg.org/#the-del-element 9498. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/cite 9499. https://html.spec.whatwg.org/#concept-element-categories 9500. https://html.spec.whatwg.org/#flow-content-2 9501. https://html.spec.whatwg.org/#phrasing-content-2 9502. https://html.spec.whatwg.org/#palpable-content-2 9503. https://html.spec.whatwg.org/#concept-element-contexts 9504. https://html.spec.whatwg.org/#phrasing-content-2 9505. https://html.spec.whatwg.org/#concept-element-content-model 9506. https://html.spec.whatwg.org/#phrasing-content-2 9507. https://html.spec.whatwg.org/#concept-element-tag-omission 9508. https://html.spec.whatwg.org/#concept-element-attributes 9509. https://html.spec.whatwg.org/#global-attributes 9510. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9511. https://w3c.github.io/html-aria/#el-cite 9512. https://w3c.github.io/html-aam/#el-cite 9513. https://html.spec.whatwg.org/#concept-element-dom 9514. https://html.spec.whatwg.org/#htmlelement 9515. https://html.spec.whatwg.org/#the-cite-element 9516. https://html.spec.whatwg.org/#represents 9517. https://html.spec.whatwg.org/#referenced 9518. https://html.spec.whatwg.org/#the-b-element 9519. https://html.spec.whatwg.org/#the-span-element 9520. https://html.spec.whatwg.org/#the-cite-element 9521. https://html.spec.whatwg.org/#the-cite-element 9522. https://html.spec.whatwg.org/#the-cite-element 9523. https://html.spec.whatwg.org/#the-q-element 9524. https://html.spec.whatwg.org/#the-cite-element 9525. https://html.spec.whatwg.org/#the-cite-element 9526. https://html.spec.whatwg.org/#the-b-element 9527. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/q 9528. https://html.spec.whatwg.org/#concept-element-categories 9529. https://html.spec.whatwg.org/#flow-content-2 9530. https://html.spec.whatwg.org/#phrasing-content-2 9531. https://html.spec.whatwg.org/#palpable-content-2 9532. https://html.spec.whatwg.org/#concept-element-contexts 9533. https://html.spec.whatwg.org/#phrasing-content-2 9534. https://html.spec.whatwg.org/#concept-element-content-model 9535. https://html.spec.whatwg.org/#phrasing-content-2 9536. https://html.spec.whatwg.org/#concept-element-tag-omission 9537. https://html.spec.whatwg.org/#concept-element-attributes 9538. https://html.spec.whatwg.org/#global-attributes 9539. https://html.spec.whatwg.org/#attr-q-cite 9540. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9541. https://w3c.github.io/html-aria/#el-q 9542. https://w3c.github.io/html-aam/#el-q 9543. https://html.spec.whatwg.org/#concept-element-dom 9544. https://html.spec.whatwg.org/#htmlquoteelement 9545. https://html.spec.whatwg.org/#the-q-element 9546. https://html.spec.whatwg.org/#represents 9547. https://html.spec.whatwg.org/#phrasing-content-2 9548. https://html.spec.whatwg.org/#the-q-element 9549. https://html.spec.whatwg.org/#the-q-element 9550. https://html.spec.whatwg.org/#attr-q-cite 9551. https://html.spec.whatwg.org/#valid-url-potentially-surrounded-by-spaces 9552. https://html.spec.whatwg.org/#encoding-parsing-a-url 9553. https://dom.spec.whatwg.org/#concept-node-document 9554. https://html.spec.whatwg.org/#the-q-element 9555. https://html.spec.whatwg.org/#the-q-element 9556. https://html.spec.whatwg.org/#the-q-element 9557. https://html.spec.whatwg.org/#the-q-element 9558. https://html.spec.whatwg.org/#the-q-element 9559. https://html.spec.whatwg.org/#the-q-element 9560. https://html.spec.whatwg.org/#the-q-element 9561. https://html.spec.whatwg.org/#the-q-element 9562. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dfn 9563. https://html.spec.whatwg.org/#concept-element-categories 9564. https://html.spec.whatwg.org/#flow-content-2 9565. https://html.spec.whatwg.org/#phrasing-content-2 9566. https://html.spec.whatwg.org/#palpable-content-2 9567. https://html.spec.whatwg.org/#concept-element-contexts 9568. https://html.spec.whatwg.org/#phrasing-content-2 9569. https://html.spec.whatwg.org/#concept-element-content-model 9570. https://html.spec.whatwg.org/#phrasing-content-2 9571. https://html.spec.whatwg.org/#the-dfn-element 9572. https://html.spec.whatwg.org/#concept-element-tag-omission 9573. https://html.spec.whatwg.org/#concept-element-attributes 9574. https://html.spec.whatwg.org/#global-attributes 9575. https://html.spec.whatwg.org/#attr-dfn-title 9576. https://html.spec.whatwg.org/#attr-dfn-title 9577. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9578. https://w3c.github.io/html-aria/#el-dfn 9579. https://w3c.github.io/html-aam/#el-dfn 9580. https://html.spec.whatwg.org/#concept-element-dom 9581. https://html.spec.whatwg.org/#htmlelement 9582. https://html.spec.whatwg.org/#the-dfn-element 9583. https://html.spec.whatwg.org/#represents 9584. https://html.spec.whatwg.org/#paragraph 9585. https://html.spec.whatwg.org/#the-dl-element 9586. https://html.spec.whatwg.org/#sectioning-content-2 9587. https://html.spec.whatwg.org/#the-dfn-element 9588. https://html.spec.whatwg.org/#defining-term 9589. https://html.spec.whatwg.org/#the-dfn-element 9590. https://html.spec.whatwg.org/#the-dfn-element 9591. https://dom.spec.whatwg.org/#interface-text 9592. https://html.spec.whatwg.org/#the-abbr-element 9593. https://html.spec.whatwg.org/#attr-abbr-title 9594. https://dom.spec.whatwg.org/#concept-descendant-text-content 9595. https://html.spec.whatwg.org/#the-dfn-element 9596. https://html.spec.whatwg.org/#attr-dfn-title 9597. https://html.spec.whatwg.org/#the-dfn-element 9598. https://html.spec.whatwg.org/#attr-title 9599. https://html.spec.whatwg.org/#the-dfn-element 9600. https://html.spec.whatwg.org/#the-a-element 9601. https://html.spec.whatwg.org/#the-dfn-element 9602. https://html.spec.whatwg.org/#the-dfn-element 9603. https://html.spec.whatwg.org/#the-a-element 9604. https://html.spec.whatwg.org/#referenced 9605. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/abbr 9606. https://html.spec.whatwg.org/#concept-element-categories 9607. https://html.spec.whatwg.org/#flow-content-2 9608. https://html.spec.whatwg.org/#phrasing-content-2 9609. https://html.spec.whatwg.org/#palpable-content-2 9610. https://html.spec.whatwg.org/#concept-element-contexts 9611. https://html.spec.whatwg.org/#phrasing-content-2 9612. https://html.spec.whatwg.org/#concept-element-content-model 9613. https://html.spec.whatwg.org/#phrasing-content-2 9614. https://html.spec.whatwg.org/#concept-element-tag-omission 9615. https://html.spec.whatwg.org/#concept-element-attributes 9616. https://html.spec.whatwg.org/#global-attributes 9617. https://html.spec.whatwg.org/#attr-abbr-title 9618. https://html.spec.whatwg.org/#attr-abbr-title 9619. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9620. https://w3c.github.io/html-aria/#el-abbr 9621. https://w3c.github.io/html-aam/#el-abbr 9622. https://html.spec.whatwg.org/#concept-element-dom 9623. https://html.spec.whatwg.org/#htmlelement 9624. https://html.spec.whatwg.org/#the-abbr-element 9625. https://html.spec.whatwg.org/#represents 9626. https://html.spec.whatwg.org/#the-abbr-element 9627. https://html.spec.whatwg.org/#defining-term 9628. https://html.spec.whatwg.org/#the-abbr-element 9629. https://html.spec.whatwg.org/#the-abbr-element 9630. https://html.spec.whatwg.org/#attr-title 9631. https://html.spec.whatwg.org/#the-abbr-element 9632. https://html.spec.whatwg.org/#attr-title 9633. https://html.spec.whatwg.org/#the-abbr-element 9634. https://html.spec.whatwg.org/#attr-title 9635. https://html.spec.whatwg.org/#attr-title 9636. https://html.spec.whatwg.org/#the-abbr-element 9637. https://html.spec.whatwg.org/#attr-title 9638. https://html.spec.whatwg.org/#the-abbr-element 9639. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ruby 9640. https://html.spec.whatwg.org/#concept-element-categories 9641. https://html.spec.whatwg.org/#flow-content-2 9642. https://html.spec.whatwg.org/#phrasing-content-2 9643. https://html.spec.whatwg.org/#palpable-content-2 9644. https://html.spec.whatwg.org/#concept-element-contexts 9645. https://html.spec.whatwg.org/#phrasing-content-2 9646. https://html.spec.whatwg.org/#concept-element-content-model 9647. https://html.spec.whatwg.org/#concept-element-tag-omission 9648. https://html.spec.whatwg.org/#concept-element-attributes 9649. https://html.spec.whatwg.org/#global-attributes 9650. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9651. https://w3c.github.io/html-aria/#el-ruby 9652. https://w3c.github.io/html-aam/#el-ruby 9653. https://html.spec.whatwg.org/#concept-element-dom 9654. https://html.spec.whatwg.org/#htmlelement 9655. https://html.spec.whatwg.org/#the-ruby-element 9656. https://html.spec.whatwg.org/#the-ruby-element 9657. https://html.spec.whatwg.org/#phrasing-content-2 9658. https://html.spec.whatwg.org/#the-ruby-element 9659. https://html.spec.whatwg.org/#the-ruby-element 9660. https://html.spec.whatwg.org/#the-ruby-element 9661. https://html.spec.whatwg.org/#the-ruby-element 9662. https://html.spec.whatwg.org/#the-rt-element 9663. https://html.spec.whatwg.org/#the-rp-element 9664. https://html.spec.whatwg.org/#the-rt-element 9665. https://html.spec.whatwg.org/#the-rp-element 9666. https://html.spec.whatwg.org/#the-ruby-element 9667. https://html.spec.whatwg.org/#the-rt-element 9668. https://html.spec.whatwg.org/#refsJLREQ 9669. https://html.spec.whatwg.org/#the-ruby-element 9670. https://html.spec.whatwg.org/#the-ruby-element 9671. https://html.spec.whatwg.org/#the-ruby-element 9672. https://html.spec.whatwg.org/#the-ruby-element 9673. https://www.w3.org/TR/jlreq/#positioning_of_jukugoruby 9674. https://html.spec.whatwg.org/#refsJLREQ 9675. https://html.spec.whatwg.org/#the-ruby-element 9676. https://html.spec.whatwg.org/#the-ruby-element 9677. https://html.spec.whatwg.org/#the-ruby-element 9678. https://html.spec.whatwg.org/#the-rt-element 9679. https://html.spec.whatwg.org/#the-ruby-element 9680. https://html.spec.whatwg.org/#the-ruby-element 9681. https://html.spec.whatwg.org/#the-ruby-element 9682. https://html.spec.whatwg.org/#inter-element-whitespace 9683. https://html.spec.whatwg.org/#the-rp-element 9684. https://html.spec.whatwg.org/#the-rt-element 9685. https://html.spec.whatwg.org/#the-ruby-element 9686. https://html.spec.whatwg.org/#represents 9687. https://html.spec.whatwg.org/#refsDOM 9688. https://html.spec.whatwg.org/#the-ruby-element 9689. https://html.spec.whatwg.org/#the-ruby-element 9690. https://html.spec.whatwg.org/#the-ruby-element 9691. https://html.spec.whatwg.org/#the-rt-element 9692. https://html.spec.whatwg.org/#the-rp-element 9693. https://html.spec.whatwg.org/#the-ruby-element 9694. https://html.spec.whatwg.org/#push-a-ruby-level 9695. https://html.spec.whatwg.org/#the-rt-element 9696. https://html.spec.whatwg.org/#the-rp-element 9697. https://html.spec.whatwg.org/#set-the-current-base-text 9698. https://html.spec.whatwg.org/#the-rt-element 9699. https://html.spec.whatwg.org/#push-a-ruby-annotation 9700. https://html.spec.whatwg.org/#the-rp-element 9701. https://dom.spec.whatwg.org/#interface-text 9702. https://dom.spec.whatwg.org/#interface-text 9703. https://html.spec.whatwg.org/#inter-element-whitespace 9704. https://html.spec.whatwg.org/#the-rt-element 9705. https://html.spec.whatwg.org/#the-rp-element 9706. https://dom.spec.whatwg.org/#interface-text 9707. https://dom.spec.whatwg.org/#interface-text 9708. https://html.spec.whatwg.org/#inter-element-whitespace 9709. https://html.spec.whatwg.org/#inter-element-whitespace 9710. https://html.spec.whatwg.org/#pop-a-ruby-level 9711. https://html.spec.whatwg.org/#the-ruby-element 9712. https://dom.spec.whatwg.org/#concept-range-start 9713. https://dom.spec.whatwg.org/#concept-range-bp 9714. https://dom.spec.whatwg.org/#concept-range-end 9715. https://dom.spec.whatwg.org/#concept-range-bp 9716. https://html.spec.whatwg.org/#the-rt-element 9717. https://dom.spec.whatwg.org/#concept-range-start 9718. https://dom.spec.whatwg.org/#concept-range-bp 9719. https://dom.spec.whatwg.org/#concept-range-end 9720. https://dom.spec.whatwg.org/#concept-range-bp 9721. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rt 9722. https://html.spec.whatwg.org/#concept-element-categories 9723. https://html.spec.whatwg.org/#concept-element-contexts 9724. https://html.spec.whatwg.org/#the-ruby-element 9725. https://html.spec.whatwg.org/#concept-element-content-model 9726. https://html.spec.whatwg.org/#phrasing-content-2 9727. https://html.spec.whatwg.org/#concept-element-tag-omission 9728. https://html.spec.whatwg.org/#the-rt-element 9729. https://html.spec.whatwg.org/#syntax-end-tag 9730. https://html.spec.whatwg.org/#the-rt-element 9731. https://html.spec.whatwg.org/#the-rt-element 9732. https://html.spec.whatwg.org/#the-rp-element 9733. https://html.spec.whatwg.org/#concept-element-attributes 9734. https://html.spec.whatwg.org/#global-attributes 9735. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9736. https://w3c.github.io/html-aria/#el-rt 9737. https://w3c.github.io/html-aam/#el-rt 9738. https://html.spec.whatwg.org/#concept-element-dom 9739. https://html.spec.whatwg.org/#htmlelement 9740. https://html.spec.whatwg.org/#the-rt-element 9741. https://html.spec.whatwg.org/#the-ruby-element 9742. https://html.spec.whatwg.org/#represents 9743. https://html.spec.whatwg.org/#the-ruby-element 9744. https://html.spec.whatwg.org/#represents 9745. https://html.spec.whatwg.org/#the-rt-element 9746. https://html.spec.whatwg.org/#the-ruby-element 9747. https://html.spec.whatwg.org/#represents 9748. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rp 9749. https://html.spec.whatwg.org/#concept-element-categories 9750. https://html.spec.whatwg.org/#concept-element-contexts 9751. https://html.spec.whatwg.org/#the-ruby-element 9752. https://html.spec.whatwg.org/#the-rt-element 9753. https://html.spec.whatwg.org/#concept-element-content-model 9754. https://html.spec.whatwg.org/#text-content 9755. https://html.spec.whatwg.org/#concept-element-tag-omission 9756. https://html.spec.whatwg.org/#the-rp-element 9757. https://html.spec.whatwg.org/#syntax-end-tag 9758. https://html.spec.whatwg.org/#the-rp-element 9759. https://html.spec.whatwg.org/#the-rt-element 9760. https://html.spec.whatwg.org/#the-rp-element 9761. https://html.spec.whatwg.org/#concept-element-attributes 9762. https://html.spec.whatwg.org/#global-attributes 9763. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9764. https://w3c.github.io/html-aria/#el-rp 9765. https://w3c.github.io/html-aam/#el-rp 9766. https://html.spec.whatwg.org/#concept-element-dom 9767. https://html.spec.whatwg.org/#htmlelement 9768. https://html.spec.whatwg.org/#the-rp-element 9769. https://html.spec.whatwg.org/#the-rp-element 9770. https://html.spec.whatwg.org/#the-ruby-element 9771. https://html.spec.whatwg.org/#represents 9772. https://html.spec.whatwg.org/#the-rp-element 9773. https://html.spec.whatwg.org/#the-ruby-element 9774. https://html.spec.whatwg.org/#represents 9775. https://html.spec.whatwg.org/#the-rp-element 9776. https://html.spec.whatwg.org/#the-rp-element 9777. https://html.spec.whatwg.org/#the-rp-element 9778. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/data 9779. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDataElement 9780. https://html.spec.whatwg.org/#concept-element-categories 9781. https://html.spec.whatwg.org/#flow-content-2 9782. https://html.spec.whatwg.org/#phrasing-content-2 9783. https://html.spec.whatwg.org/#palpable-content-2 9784. https://html.spec.whatwg.org/#concept-element-contexts 9785. https://html.spec.whatwg.org/#phrasing-content-2 9786. https://html.spec.whatwg.org/#concept-element-content-model 9787. https://html.spec.whatwg.org/#phrasing-content-2 9788. https://html.spec.whatwg.org/#concept-element-tag-omission 9789. https://html.spec.whatwg.org/#concept-element-attributes 9790. https://html.spec.whatwg.org/#global-attributes 9791. https://html.spec.whatwg.org/#attr-data-value 9792. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9793. https://w3c.github.io/html-aria/#el-data 9794. https://w3c.github.io/html-aam/#el-data 9795. https://html.spec.whatwg.org/#concept-element-dom 9796. https://html.spec.whatwg.org/#htmlelement 9797. https://html.spec.whatwg.org/#htmlconstructor 9798. https://html.spec.whatwg.org/#cereactions 9799. https://html.spec.whatwg.org/#dom-data-value 9800. https://html.spec.whatwg.org/#the-data-element 9801. https://html.spec.whatwg.org/#represents 9802. https://html.spec.whatwg.org/#attr-data-value 9803. https://html.spec.whatwg.org/#the-time-element 9804. https://html.spec.whatwg.org/#microdata 9805. https://html.spec.whatwg.org/#attr-data-value 9806. https://html.spec.whatwg.org/#attr-data-* 9807. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDataElement/value 9808. https://html.spec.whatwg.org/#reflect 9809. https://html.spec.whatwg.org/#the-data-element 9810. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/time 9811. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTimeElement 9812. https://html.spec.whatwg.org/#concept-element-categories 9813. https://html.spec.whatwg.org/#flow-content-2 9814. https://html.spec.whatwg.org/#phrasing-content-2 9815. https://html.spec.whatwg.org/#palpable-content-2 9816. https://html.spec.whatwg.org/#concept-element-contexts 9817. https://html.spec.whatwg.org/#phrasing-content-2 9818. https://html.spec.whatwg.org/#concept-element-content-model 9819. https://html.spec.whatwg.org/#attr-time-datetime 9820. https://html.spec.whatwg.org/#phrasing-content-2 9821. https://html.spec.whatwg.org/#text-content 9822. https://html.spec.whatwg.org/#concept-element-tag-omission 9823. https://html.spec.whatwg.org/#concept-element-attributes 9824. https://html.spec.whatwg.org/#global-attributes 9825. https://html.spec.whatwg.org/#attr-time-datetime 9826. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9827. https://w3c.github.io/html-aria/#el-time 9828. https://w3c.github.io/html-aam/#el-time 9829. https://html.spec.whatwg.org/#concept-element-dom 9830. https://html.spec.whatwg.org/#htmlelement 9831. https://html.spec.whatwg.org/#htmlconstructor 9832. https://html.spec.whatwg.org/#cereactions 9833. https://html.spec.whatwg.org/#dom-time-datetime 9834. https://html.spec.whatwg.org/#the-time-element 9835. https://html.spec.whatwg.org/#represents 9836. https://html.spec.whatwg.org/#attr-time-datetime 9837. https://html.spec.whatwg.org/#the-time-element 9838. https://html.spec.whatwg.org/#attr-time-datetime 9839. https://html.spec.whatwg.org/#the-time-element 9840. https://html.spec.whatwg.org/#attr-time-datetime 9841. https://dom.spec.whatwg.org/#concept-child-text-content 9842. https://html.spec.whatwg.org/#the-time-element 9843. https://html.spec.whatwg.org/#datetime-value 9844. https://html.spec.whatwg.org/#the-time-element 9845. https://html.spec.whatwg.org/#valid-month-string 9846. https://html.spec.whatwg.org/#valid-date-string 9847. https://html.spec.whatwg.org/#valid-yearless-date-string 9848. https://html.spec.whatwg.org/#valid-time-string 9849. https://html.spec.whatwg.org/#valid-local-date-and-time-string 9850. https://html.spec.whatwg.org/#valid-global-date-and-time-string 9851. https://html.spec.whatwg.org/#valid-time-zone-offset-string 9852. https://html.spec.whatwg.org/#refsTZDATABASE 9853. https://html.spec.whatwg.org/#valid-global-date-and-time-string 9854. https://html.spec.whatwg.org/#valid-local-date-and-time-string 9855. https://html.spec.whatwg.org/#valid-week-string 9856. https://infra.spec.whatwg.org/#ascii-digit 9857. https://html.spec.whatwg.org/#valid-duration-string 9858. https://html.spec.whatwg.org/#datetime-value 9859. https://html.spec.whatwg.org/#parse-a-month-string 9860. https://html.spec.whatwg.org/#datetime-value 9861. https://html.spec.whatwg.org/#concept-month 9862. https://html.spec.whatwg.org/#parse-a-date-string 9863. https://html.spec.whatwg.org/#datetime-value 9864. https://html.spec.whatwg.org/#concept-date 9865. https://html.spec.whatwg.org/#parse-a-yearless-date-string 9866. https://html.spec.whatwg.org/#datetime-value 9867. https://html.spec.whatwg.org/#concept-yearless-date 9868. https://html.spec.whatwg.org/#parse-a-time-string 9869. https://html.spec.whatwg.org/#datetime-value 9870. https://html.spec.whatwg.org/#concept-time 9871. https://html.spec.whatwg.org/#parse-a-local-date-and-time-string 9872. https://html.spec.whatwg.org/#datetime-value 9873. https://html.spec.whatwg.org/#concept-datetime-local 9874. https://html.spec.whatwg.org/#parse-a-time-zone-offset-string 9875. https://html.spec.whatwg.org/#datetime-value 9876. https://html.spec.whatwg.org/#concept-timezone 9877. https://html.spec.whatwg.org/#parse-a-global-date-and-time-string 9878. https://html.spec.whatwg.org/#datetime-value 9879. https://html.spec.whatwg.org/#concept-datetime 9880. https://html.spec.whatwg.org/#parse-a-week-string 9881. https://html.spec.whatwg.org/#datetime-value 9882. https://html.spec.whatwg.org/#concept-week 9883. https://html.spec.whatwg.org/#datetime-value 9884. https://infra.spec.whatwg.org/#ascii-digit 9885. https://html.spec.whatwg.org/#parse-a-duration-string 9886. https://html.spec.whatwg.org/#datetime-value 9887. https://html.spec.whatwg.org/#concept-duration 9888. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTimeElement/dateTime 9889. https://html.spec.whatwg.org/#reflect 9890. https://html.spec.whatwg.org/#attr-time-datetime 9891. https://html.spec.whatwg.org/#the-time-element 9892. https://html.spec.whatwg.org/#the-time-element 9893. https://html.spec.whatwg.org/#the-time-element 9894. https://html.spec.whatwg.org/#the-time-element 9895. https://html.spec.whatwg.org/#the-time-element 9896. https://html.spec.whatwg.org/#the-time-element 9897. https://html.spec.whatwg.org/#the-time-element 9898. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/code 9899. https://html.spec.whatwg.org/#concept-element-categories 9900. https://html.spec.whatwg.org/#flow-content-2 9901. https://html.spec.whatwg.org/#phrasing-content-2 9902. https://html.spec.whatwg.org/#palpable-content-2 9903. https://html.spec.whatwg.org/#concept-element-contexts 9904. https://html.spec.whatwg.org/#phrasing-content-2 9905. https://html.spec.whatwg.org/#concept-element-content-model 9906. https://html.spec.whatwg.org/#phrasing-content-2 9907. https://html.spec.whatwg.org/#concept-element-tag-omission 9908. https://html.spec.whatwg.org/#concept-element-attributes 9909. https://html.spec.whatwg.org/#global-attributes 9910. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9911. https://w3c.github.io/html-aria/#el-code 9912. https://w3c.github.io/html-aam/#el-code 9913. https://html.spec.whatwg.org/#concept-element-dom 9914. https://html.spec.whatwg.org/#htmlelement 9915. https://html.spec.whatwg.org/#the-code-element 9916. https://html.spec.whatwg.org/#represents 9917. https://html.spec.whatwg.org/#the-code-element 9918. https://html.spec.whatwg.org/#classes 9919. https://html.spec.whatwg.org/#the-pre-element 9920. https://html.spec.whatwg.org/#the-code-element 9921. https://html.spec.whatwg.org/#the-pre-element 9922. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/var 9923. https://html.spec.whatwg.org/#concept-element-categories 9924. https://html.spec.whatwg.org/#flow-content-2 9925. https://html.spec.whatwg.org/#phrasing-content-2 9926. https://html.spec.whatwg.org/#palpable-content-2 9927. https://html.spec.whatwg.org/#concept-element-contexts 9928. https://html.spec.whatwg.org/#phrasing-content-2 9929. https://html.spec.whatwg.org/#concept-element-content-model 9930. https://html.spec.whatwg.org/#phrasing-content-2 9931. https://html.spec.whatwg.org/#concept-element-tag-omission 9932. https://html.spec.whatwg.org/#concept-element-attributes 9933. https://html.spec.whatwg.org/#global-attributes 9934. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9935. https://w3c.github.io/html-aria/#el-var 9936. https://w3c.github.io/html-aam/#el-var 9937. https://html.spec.whatwg.org/#concept-element-dom 9938. https://html.spec.whatwg.org/#htmlelement 9939. https://html.spec.whatwg.org/#the-var-element 9940. https://html.spec.whatwg.org/#represents 9941. https://html.spec.whatwg.org/#the-var-element 9942. https://html.spec.whatwg.org/#the-var-element 9943. https://html.spec.whatwg.org/#the-var-element 9944. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/samp 9945. https://html.spec.whatwg.org/#concept-element-categories 9946. https://html.spec.whatwg.org/#flow-content-2 9947. https://html.spec.whatwg.org/#phrasing-content-2 9948. https://html.spec.whatwg.org/#palpable-content-2 9949. https://html.spec.whatwg.org/#concept-element-contexts 9950. https://html.spec.whatwg.org/#phrasing-content-2 9951. https://html.spec.whatwg.org/#concept-element-content-model 9952. https://html.spec.whatwg.org/#phrasing-content-2 9953. https://html.spec.whatwg.org/#concept-element-tag-omission 9954. https://html.spec.whatwg.org/#concept-element-attributes 9955. https://html.spec.whatwg.org/#global-attributes 9956. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9957. https://w3c.github.io/html-aria/#el-samp 9958. https://w3c.github.io/html-aam/#el-samp 9959. https://html.spec.whatwg.org/#concept-element-dom 9960. https://html.spec.whatwg.org/#htmlelement 9961. https://html.spec.whatwg.org/#the-samp-element 9962. https://html.spec.whatwg.org/#represents 9963. https://html.spec.whatwg.org/#the-pre-element 9964. https://html.spec.whatwg.org/#the-kbd-element 9965. https://html.spec.whatwg.org/#the-output-element 9966. https://html.spec.whatwg.org/#the-samp-element 9967. https://html.spec.whatwg.org/#the-samp-element 9968. https://html.spec.whatwg.org/#the-kbd-element 9969. https://html.spec.whatwg.org/#the-samp-element 9970. https://html.spec.whatwg.org/#the-span-element 9971. https://html.spec.whatwg.org/#the-code-element 9972. https://html.spec.whatwg.org/#the-samp-element 9973. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/kbd 9974. https://html.spec.whatwg.org/#concept-element-categories 9975. https://html.spec.whatwg.org/#flow-content-2 9976. https://html.spec.whatwg.org/#phrasing-content-2 9977. https://html.spec.whatwg.org/#palpable-content-2 9978. https://html.spec.whatwg.org/#concept-element-contexts 9979. https://html.spec.whatwg.org/#phrasing-content-2 9980. https://html.spec.whatwg.org/#concept-element-content-model 9981. https://html.spec.whatwg.org/#phrasing-content-2 9982. https://html.spec.whatwg.org/#concept-element-tag-omission 9983. https://html.spec.whatwg.org/#concept-element-attributes 9984. https://html.spec.whatwg.org/#global-attributes 9985. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 9986. https://w3c.github.io/html-aria/#el-kbd 9987. https://w3c.github.io/html-aam/#el-kbd 9988. https://html.spec.whatwg.org/#concept-element-dom 9989. https://html.spec.whatwg.org/#htmlelement 9990. https://html.spec.whatwg.org/#the-kbd-element 9991. https://html.spec.whatwg.org/#represents 9992. https://html.spec.whatwg.org/#the-kbd-element 9993. https://html.spec.whatwg.org/#the-samp-element 9994. https://html.spec.whatwg.org/#the-kbd-element 9995. https://html.spec.whatwg.org/#the-samp-element 9996. https://html.spec.whatwg.org/#the-kbd-element 9997. https://html.spec.whatwg.org/#the-kbd-element 9998. https://html.spec.whatwg.org/#the-kbd-element 9999. https://html.spec.whatwg.org/#the-kbd-element 10000. https://html.spec.whatwg.org/#the-kbd-element 10001. https://html.spec.whatwg.org/#the-samp-element 10002. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sub 10003. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sup 10004. https://html.spec.whatwg.org/#concept-element-categories 10005. https://html.spec.whatwg.org/#flow-content-2 10006. https://html.spec.whatwg.org/#phrasing-content-2 10007. https://html.spec.whatwg.org/#palpable-content-2 10008. https://html.spec.whatwg.org/#concept-element-contexts 10009. https://html.spec.whatwg.org/#phrasing-content-2 10010. https://html.spec.whatwg.org/#concept-element-content-model 10011. https://html.spec.whatwg.org/#phrasing-content-2 10012. https://html.spec.whatwg.org/#concept-element-tag-omission 10013. https://html.spec.whatwg.org/#concept-element-attributes 10014. https://html.spec.whatwg.org/#global-attributes 10015. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 10016. https://html.spec.whatwg.org/#the-sub-and-sup-elements 10017. https://w3c.github.io/html-aria/#el-sub 10018. https://w3c.github.io/html-aam/#el-sub 10019. https://html.spec.whatwg.org/#the-sub-and-sup-elements 10020. https://w3c.github.io/html-aria/#el-sup 10021. https://w3c.github.io/html-aam/#el-sup 10022. https://html.spec.whatwg.org/#concept-element-dom 10023. https://html.spec.whatwg.org/#htmlelement 10024. https://html.spec.whatwg.org/#the-sub-and-sup-elements 10025. https://html.spec.whatwg.org/#represents 10026. https://html.spec.whatwg.org/#the-sub-and-sup-elements 10027. https://html.spec.whatwg.org/#represents 10028. https://html.spec.whatwg.org/#the-sub-and-sup-elements 10029. https://html.spec.whatwg.org/#the-sub-and-sup-elements 10030. https://html.spec.whatwg.org/#the-sub-and-sup-elements 10031. https://html.spec.whatwg.org/#the-var-element 10032. https://html.spec.whatwg.org/#the-sub-and-sup-elements 10033. https://html.spec.whatwg.org/#the-sub-and-sup-elements 10034. https://html.spec.whatwg.org/#the-sub-and-sup-elements 10035. https://html.spec.whatwg.org/#refsMATHML 10036. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/i 10037. https://html.spec.whatwg.org/#concept-element-categories 10038. https://html.spec.whatwg.org/#flow-content-2 10039. https://html.spec.whatwg.org/#phrasing-content-2 10040. https://html.spec.whatwg.org/#palpable-content-2 10041. https://html.spec.whatwg.org/#concept-element-contexts 10042. https://html.spec.whatwg.org/#phrasing-content-2 10043. https://html.spec.whatwg.org/#concept-element-content-model 10044. https://html.spec.whatwg.org/#phrasing-content-2 10045. https://html.spec.whatwg.org/#concept-element-tag-omission 10046. https://html.spec.whatwg.org/#concept-element-attributes 10047. https://html.spec.whatwg.org/#global-attributes 10048. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 10049. https://w3c.github.io/html-aria/#el-i 10050. https://w3c.github.io/html-aam/#el-i 10051. https://html.spec.whatwg.org/#concept-element-dom 10052. https://html.spec.whatwg.org/#htmlelement 10053. https://html.spec.whatwg.org/#the-i-element 10054. https://html.spec.whatwg.org/#represents 10055. https://html.spec.whatwg.org/#attr-lang 10056. https://www.w3.org/TR/xml/#sec-lang-tag 10057. https://html.spec.whatwg.org/#the-i-element 10058. https://html.spec.whatwg.org/#the-i-element 10059. https://html.spec.whatwg.org/#classes 10060. https://html.spec.whatwg.org/#the-i-element 10061. https://html.spec.whatwg.org/#the-i-element 10062. https://html.spec.whatwg.org/#the-em-element 10063. https://html.spec.whatwg.org/#the-dfn-element 10064. https://html.spec.whatwg.org/#the-i-element 10065. https://html.spec.whatwg.org/#the-i-element 10066. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/b 10067. https://html.spec.whatwg.org/#concept-element-categories 10068. https://html.spec.whatwg.org/#flow-content-2 10069. https://html.spec.whatwg.org/#phrasing-content-2 10070. https://html.spec.whatwg.org/#palpable-content-2 10071. https://html.spec.whatwg.org/#concept-element-contexts 10072. https://html.spec.whatwg.org/#phrasing-content-2 10073. https://html.spec.whatwg.org/#concept-element-content-model 10074. https://html.spec.whatwg.org/#phrasing-content-2 10075. https://html.spec.whatwg.org/#concept-element-tag-omission 10076. https://html.spec.whatwg.org/#concept-element-attributes 10077. https://html.spec.whatwg.org/#global-attributes 10078. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 10079. https://w3c.github.io/html-aria/#el-b 10080. https://w3c.github.io/html-aam/#el-b 10081. https://html.spec.whatwg.org/#concept-element-dom 10082. https://html.spec.whatwg.org/#htmlelement 10083. https://html.spec.whatwg.org/#the-b-element 10084. https://html.spec.whatwg.org/#represents 10085. https://html.spec.whatwg.org/#the-b-element 10086. https://html.spec.whatwg.org/#the-b-element 10087. https://html.spec.whatwg.org/#the-b-element 10088. http://news.bbc.co.uk/2/hi/uk_news/scotland/north_east/7101506.stm 10089. https://html.spec.whatwg.org/#the-i-element 10090. https://html.spec.whatwg.org/#classes 10091. https://html.spec.whatwg.org/#the-b-element 10092. https://html.spec.whatwg.org/#the-b-element 10093. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 10094. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 10095. https://html.spec.whatwg.org/#the-em-element 10096. https://html.spec.whatwg.org/#the-strong-element 10097. https://html.spec.whatwg.org/#the-mark-element 10098. https://html.spec.whatwg.org/#the-strong-element 10099. https://html.spec.whatwg.org/#the-b-element 10100. https://html.spec.whatwg.org/#the-b-element 10101. https://html.spec.whatwg.org/#the-b-element 10102. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/u 10103. https://html.spec.whatwg.org/#concept-element-categories 10104. https://html.spec.whatwg.org/#flow-content-2 10105. https://html.spec.whatwg.org/#phrasing-content-2 10106. https://html.spec.whatwg.org/#palpable-content-2 10107. https://html.spec.whatwg.org/#concept-element-contexts 10108. https://html.spec.whatwg.org/#phrasing-content-2 10109. https://html.spec.whatwg.org/#concept-element-content-model 10110. https://html.spec.whatwg.org/#phrasing-content-2 10111. https://html.spec.whatwg.org/#concept-element-tag-omission 10112. https://html.spec.whatwg.org/#concept-element-attributes 10113. https://html.spec.whatwg.org/#global-attributes 10114. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 10115. https://w3c.github.io/html-aria/#el-u 10116. https://w3c.github.io/html-aam/#el-u 10117. https://html.spec.whatwg.org/#concept-element-dom 10118. https://html.spec.whatwg.org/#htmlelement 10119. https://html.spec.whatwg.org/#the-u-element 10120. https://html.spec.whatwg.org/#represents 10121. https://html.spec.whatwg.org/#the-em-element 10122. https://html.spec.whatwg.org/#the-b-element 10123. https://html.spec.whatwg.org/#the-mark-element 10124. https://html.spec.whatwg.org/#the-cite-element 10125. https://html.spec.whatwg.org/#the-ruby-element 10126. https://html.spec.whatwg.org/#the-i-element 10127. https://html.spec.whatwg.org/#the-u-element 10128. https://html.spec.whatwg.org/#the-u-element 10129. https://html.spec.whatwg.org/#the-u-element 10130. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/mark 10131. https://html.spec.whatwg.org/#concept-element-categories 10132. https://html.spec.whatwg.org/#flow-content-2 10133. https://html.spec.whatwg.org/#phrasing-content-2 10134. https://html.spec.whatwg.org/#palpable-content-2 10135. https://html.spec.whatwg.org/#concept-element-contexts 10136. https://html.spec.whatwg.org/#phrasing-content-2 10137. https://html.spec.whatwg.org/#concept-element-content-model 10138. https://html.spec.whatwg.org/#phrasing-content-2 10139. https://html.spec.whatwg.org/#concept-element-tag-omission 10140. https://html.spec.whatwg.org/#concept-element-attributes 10141. https://html.spec.whatwg.org/#global-attributes 10142. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 10143. https://w3c.github.io/html-aria/#el-mark 10144. https://w3c.github.io/html-aam/#el-mark 10145. https://html.spec.whatwg.org/#concept-element-dom 10146. https://html.spec.whatwg.org/#htmlelement 10147. https://html.spec.whatwg.org/#the-mark-element 10148. https://html.spec.whatwg.org/#represents 10149. https://html.spec.whatwg.org/#referenced 10150. https://html.spec.whatwg.org/#the-mark-element 10151. https://html.spec.whatwg.org/#the-u-element 10152. https://html.spec.whatwg.org/#the-mark-element 10153. https://html.spec.whatwg.org/#the-span-element 10154. https://html.spec.whatwg.org/#the-mark-element 10155. https://html.spec.whatwg.org/#the-mark-element 10156. https://html.spec.whatwg.org/#the-em-element 10157. https://html.spec.whatwg.org/#the-mark-element 10158. https://html.spec.whatwg.org/#the-strong-element 10159. https://html.spec.whatwg.org/#the-mark-element 10160. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdi 10161. https://html.spec.whatwg.org/#concept-element-categories 10162. https://html.spec.whatwg.org/#flow-content-2 10163. https://html.spec.whatwg.org/#phrasing-content-2 10164. https://html.spec.whatwg.org/#palpable-content-2 10165. https://html.spec.whatwg.org/#concept-element-contexts 10166. https://html.spec.whatwg.org/#phrasing-content-2 10167. https://html.spec.whatwg.org/#concept-element-content-model 10168. https://html.spec.whatwg.org/#phrasing-content-2 10169. https://html.spec.whatwg.org/#concept-element-tag-omission 10170. https://html.spec.whatwg.org/#concept-element-attributes 10171. https://html.spec.whatwg.org/#global-attributes 10172. https://html.spec.whatwg.org/#attr-dir 10173. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 10174. https://w3c.github.io/html-aria/#el-bdi 10175. https://w3c.github.io/html-aam/#el-bdi 10176. https://html.spec.whatwg.org/#concept-element-dom 10177. https://html.spec.whatwg.org/#htmlelement 10178. https://html.spec.whatwg.org/#the-bdi-element 10179. https://html.spec.whatwg.org/#represents 10180. https://html.spec.whatwg.org/#refsBIDI 10181. https://html.spec.whatwg.org/#attr-dir 10182. https://html.spec.whatwg.org/#attr-dir-auto 10183. https://html.spec.whatwg.org/#bidireq 10184. https://html.spec.whatwg.org/#the-bdi-element 10185. https://html.spec.whatwg.org/#the-bdi-element 10186. https://html.spec.whatwg.org/#the-bdi-element 10187. https://html.spec.whatwg.org/#the-b-element 10188. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdo 10189. https://html.spec.whatwg.org/#concept-element-categories 10190. https://html.spec.whatwg.org/#flow-content-2 10191. https://html.spec.whatwg.org/#phrasing-content-2 10192. https://html.spec.whatwg.org/#palpable-content-2 10193. https://html.spec.whatwg.org/#concept-element-contexts 10194. https://html.spec.whatwg.org/#phrasing-content-2 10195. https://html.spec.whatwg.org/#concept-element-content-model 10196. https://html.spec.whatwg.org/#phrasing-content-2 10197. https://html.spec.whatwg.org/#concept-element-tag-omission 10198. https://html.spec.whatwg.org/#concept-element-attributes 10199. https://html.spec.whatwg.org/#global-attributes 10200. https://html.spec.whatwg.org/#attr-dir 10201. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 10202. https://w3c.github.io/html-aria/#el-bdo 10203. https://w3c.github.io/html-aam/#el-bdo 10204. https://html.spec.whatwg.org/#concept-element-dom 10205. https://html.spec.whatwg.org/#htmlelement 10206. https://html.spec.whatwg.org/#the-bdo-element 10207. https://html.spec.whatwg.org/#represents 10208. https://html.spec.whatwg.org/#refsBIDI 10209. https://html.spec.whatwg.org/#attr-dir 10210. https://html.spec.whatwg.org/#attr-dir-ltr 10211. https://html.spec.whatwg.org/#attr-dir-rtl 10212. https://html.spec.whatwg.org/#attr-dir-auto 10213. https://html.spec.whatwg.org/#bidireq 10214. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/span 10215. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSpanElement 10216. https://html.spec.whatwg.org/#concept-element-categories 10217. https://html.spec.whatwg.org/#flow-content-2 10218. https://html.spec.whatwg.org/#phrasing-content-2 10219. https://html.spec.whatwg.org/#palpable-content-2 10220. https://html.spec.whatwg.org/#concept-element-contexts 10221. https://html.spec.whatwg.org/#phrasing-content-2 10222. https://html.spec.whatwg.org/#concept-element-content-model 10223. https://html.spec.whatwg.org/#phrasing-content-2 10224. https://html.spec.whatwg.org/#concept-element-tag-omission 10225. https://html.spec.whatwg.org/#concept-element-attributes 10226. https://html.spec.whatwg.org/#global-attributes 10227. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 10228. https://w3c.github.io/html-aria/#el-span 10229. https://w3c.github.io/html-aam/#el-span 10230. https://html.spec.whatwg.org/#concept-element-dom 10231. https://html.spec.whatwg.org/#htmlelement 10232. https://html.spec.whatwg.org/#htmlconstructor 10233. https://html.spec.whatwg.org/#the-span-element 10234. https://html.spec.whatwg.org/#global-attributes 10235. https://html.spec.whatwg.org/#classes 10236. https://html.spec.whatwg.org/#attr-lang 10237. https://html.spec.whatwg.org/#attr-dir 10238. https://html.spec.whatwg.org/#represents 10239. https://html.spec.whatwg.org/#the-span-element 10240. https://html.spec.whatwg.org/#classes 10241. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/br 10242. https://developer.mozilla.org/en-US/docs/Web/API/HTMLBRElement 10243. https://html.spec.whatwg.org/#concept-element-categories 10244. https://html.spec.whatwg.org/#flow-content-2 10245. https://html.spec.whatwg.org/#phrasing-content-2 10246. https://html.spec.whatwg.org/#concept-element-contexts 10247. https://html.spec.whatwg.org/#phrasing-content-2 10248. https://html.spec.whatwg.org/#concept-element-content-model 10249. https://html.spec.whatwg.org/#concept-content-nothing 10250. https://html.spec.whatwg.org/#concept-element-tag-omission 10251. https://html.spec.whatwg.org/#syntax-end-tag 10252. https://html.spec.whatwg.org/#concept-element-attributes 10253. https://html.spec.whatwg.org/#global-attributes 10254. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 10255. https://w3c.github.io/html-aria/#el-br 10256. https://w3c.github.io/html-aam/#el-br 10257. https://html.spec.whatwg.org/#concept-element-dom 10258. https://html.spec.whatwg.org/#htmlelement 10259. https://html.spec.whatwg.org/#htmlconstructor 10260. https://html.spec.whatwg.org/#HTMLBRElement-partial 10261. https://html.spec.whatwg.org/#the-br-element 10262. https://html.spec.whatwg.org/#represents 10263. https://html.spec.whatwg.org/#the-br-element 10264. https://html.spec.whatwg.org/#the-br-element 10265. https://html.spec.whatwg.org/#the-br-element 10266. https://html.spec.whatwg.org/#the-br-element 10267. https://html.spec.whatwg.org/#paragraph 10268. https://html.spec.whatwg.org/#the-br-element 10269. https://html.spec.whatwg.org/#the-br-element 10270. https://html.spec.whatwg.org/#bidireq 10271. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/wbr 10272. https://html.spec.whatwg.org/#concept-element-categories 10273. https://html.spec.whatwg.org/#flow-content-2 10274. https://html.spec.whatwg.org/#phrasing-content-2 10275. https://html.spec.whatwg.org/#concept-element-contexts 10276. https://html.spec.whatwg.org/#phrasing-content-2 10277. https://html.spec.whatwg.org/#concept-element-content-model 10278. https://html.spec.whatwg.org/#concept-content-nothing 10279. https://html.spec.whatwg.org/#concept-element-tag-omission 10280. https://html.spec.whatwg.org/#syntax-end-tag 10281. https://html.spec.whatwg.org/#concept-element-attributes 10282. https://html.spec.whatwg.org/#global-attributes 10283. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 10284. https://w3c.github.io/html-aria/#el-wbr 10285. https://w3c.github.io/html-aam/#el-wbr 10286. https://html.spec.whatwg.org/#concept-element-dom 10287. https://html.spec.whatwg.org/#htmlelement 10288. https://html.spec.whatwg.org/#the-wbr-element 10289. https://html.spec.whatwg.org/#represents 10290. https://html.spec.whatwg.org/#the-wbr-element 10291. https://html.spec.whatwg.org/#the-wbr-element 10292. https://html.spec.whatwg.org/#bidireq 10293. https://html.spec.whatwg.org/#the-a-element 10294. https://html.spec.whatwg.org/#the-em-element 10295. https://html.spec.whatwg.org/#the-strong-element 10296. https://html.spec.whatwg.org/#the-small-element 10297. https://html.spec.whatwg.org/#the-s-element 10298. https://html.spec.whatwg.org/#the-cite-element 10299. https://html.spec.whatwg.org/#the-q-element 10300. https://html.spec.whatwg.org/#the-dfn-element 10301. https://html.spec.whatwg.org/#the-abbr-element 10302. https://html.spec.whatwg.org/#the-ruby-element 10303. https://html.spec.whatwg.org/#the-rt-element 10304. https://html.spec.whatwg.org/#the-rp-element 10305. https://html.spec.whatwg.org/#the-data-element 10306. https://html.spec.whatwg.org/#the-time-element 10307. https://html.spec.whatwg.org/#the-code-element 10308. https://html.spec.whatwg.org/#the-var-element 10309. https://html.spec.whatwg.org/#the-samp-element 10310. https://html.spec.whatwg.org/#the-kbd-element 10311. https://html.spec.whatwg.org/#the-sub-and-sup-elements 10312. https://html.spec.whatwg.org/#the-sub-and-sup-elements 10313. https://html.spec.whatwg.org/#the-i-element 10314. https://html.spec.whatwg.org/#the-b-element 10315. https://html.spec.whatwg.org/#the-u-element 10316. https://html.spec.whatwg.org/#the-mark-element 10317. https://html.spec.whatwg.org/#the-bdi-element 10318. https://html.spec.whatwg.org/#the-bdo-element 10319. https://html.spec.whatwg.org/#the-span-element 10320. https://html.spec.whatwg.org/#the-br-element 10321. https://html.spec.whatwg.org/#the-wbr-element 10322. https://html.spec.whatwg.org/#the-a-element 10323. https://html.spec.whatwg.org/#the-area-element 10324. https://html.spec.whatwg.org/#the-form-element 10325. https://html.spec.whatwg.org/#the-link-element 10326. https://html.spec.whatwg.org/#represents 10327. https://html.spec.whatwg.org/#document 10328. https://html.spec.whatwg.org/#external-resource-link 10329. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 10330. https://html.spec.whatwg.org/#navigate 10331. https://html.spec.whatwg.org/#the-link-element 10332. https://html.spec.whatwg.org/#attr-link-href 10333. https://html.spec.whatwg.org/#attr-link-rel 10334. https://html.spec.whatwg.org/#attr-link-rel 10335. https://html.spec.whatwg.org/#linkTypes 10336. https://html.spec.whatwg.org/#the-a-element 10337. https://html.spec.whatwg.org/#the-area-element 10338. https://html.spec.whatwg.org/#attr-hyperlink-href 10339. https://html.spec.whatwg.org/#attr-hyperlink-rel 10340. https://html.spec.whatwg.org/#attr-hyperlink-rel 10341. https://html.spec.whatwg.org/#linkTypes 10342. https://html.spec.whatwg.org/#the-link-element 10343. https://html.spec.whatwg.org/#the-a-element 10344. https://html.spec.whatwg.org/#the-area-element 10345. https://html.spec.whatwg.org/#attr-hyperlink-href 10346. https://html.spec.whatwg.org/#attr-hyperlink-rel 10347. https://html.spec.whatwg.org/#attr-hyperlink-rel 10348. https://html.spec.whatwg.org/#hyperlink 10349. https://html.spec.whatwg.org/#hyperlink 10350. https://html.spec.whatwg.org/#linkTypes 10351. https://dom.spec.whatwg.org/#concept-node-document 10352. https://html.spec.whatwg.org/#attr-hyperlink-href 10353. https://html.spec.whatwg.org/#the-form-element 10354. https://html.spec.whatwg.org/#attr-form-rel 10355. https://html.spec.whatwg.org/#attr-form-rel 10356. https://html.spec.whatwg.org/#linkTypes 10357. https://html.spec.whatwg.org/#the-form-element 10358. https://html.spec.whatwg.org/#attr-form-rel 10359. https://html.spec.whatwg.org/#attr-form-rel 10360. https://html.spec.whatwg.org/#hyperlink 10361. https://html.spec.whatwg.org/#hyperlink 10362. https://html.spec.whatwg.org/#hyperlink 10363. https://html.spec.whatwg.org/#the-a-element 10364. https://html.spec.whatwg.org/#the-area-element 10365. https://html.spec.whatwg.org/#the-a-element 10366. https://html.spec.whatwg.org/#the-area-element 10367. https://html.spec.whatwg.org/#valid-url-potentially-surrounded-by-spaces 10368. https://html.spec.whatwg.org/#attr-hyperlink-href 10369. https://html.spec.whatwg.org/#the-a-element 10370. https://html.spec.whatwg.org/#the-area-element 10371. https://html.spec.whatwg.org/#attr-hyperlink-href 10372. https://html.spec.whatwg.org/#valid-navigable-target-name-or-keyword 10373. https://html.spec.whatwg.org/#navigable 10374. https://html.spec.whatwg.org/#following-hyperlinks-2 10375. https://html.spec.whatwg.org/#downloading-hyperlinks 10376. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-ping 10377. https://html.spec.whatwg.org/#set-of-space-separated-tokens 10378. https://html.spec.whatwg.org/#valid-non-empty-url 10379. https://url.spec.whatwg.org/#concept-url-scheme 10380. https://fetch.spec.whatwg.org/#http-scheme 10381. https://html.spec.whatwg.org/#hyperlink-auditing 10382. https://html.spec.whatwg.org/#the-a-element 10383. https://html.spec.whatwg.org/#the-area-element 10384. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 10385. https://html.spec.whatwg.org/#linkTypes 10386. https://html.spec.whatwg.org/#attr-hyperlink-rel 10387. https://dom.spec.whatwg.org/#concept-supported-tokens 10388. https://html.spec.whatwg.org/#linkTypes 10389. https://html.spec.whatwg.org/#the-a-element 10390. https://html.spec.whatwg.org/#the-area-element 10391. https://dom.spec.whatwg.org/#concept-supported-tokens 10392. https://html.spec.whatwg.org/#link-type-noreferrer 10393. https://html.spec.whatwg.org/#link-type-noopener 10394. https://html.spec.whatwg.org/#link-type-opener 10395. https://html.spec.whatwg.org/#attr-hyperlink-rel 10396. https://dom.spec.whatwg.org/#concept-supported-tokens 10397. https://html.spec.whatwg.org/#attr-hyperlink-rel 10398. https://html.spec.whatwg.org/#the-a-element 10399. https://html.spec.whatwg.org/#hyperlink 10400. https://html.spec.whatwg.org/#refsBCP47 10401. https://mimesniff.spec.whatwg.org/#mime-type 10402. https://mimesniff.spec.whatwg.org/#valid-mime-type 10403. https://html.spec.whatwg.org/#attr-hyperlink-type 10404. https://html.spec.whatwg.org/#referrer-policy-attribute 10405. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 10406. https://html.spec.whatwg.org/#following-hyperlinks-2 10407. https://html.spec.whatwg.org/#refsREFERRERPOLICY 10408. https://html.spec.whatwg.org/#the-a-element 10409. https://html.spec.whatwg.org/#the-area-element 10410. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 10411. https://html.spec.whatwg.org/#navigate 10412. https://html.spec.whatwg.org/#attr-hyperlink-download 10413. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 10414. https://html.spec.whatwg.org/#the-a-element 10415. https://html.spec.whatwg.org/#the-area-element 10416. https://html.spec.whatwg.org/#attr-hyperlink-href 10417. https://html.spec.whatwg.org/#the-a-element 10418. https://dom.spec.whatwg.org/#concept-event-target 10419. https://html.spec.whatwg.org/#the-img-element 10420. https://html.spec.whatwg.org/#attr-img-ismap 10421. https://dom.spec.whatwg.org/#dom-event-istrusted 10422. https://drafts.csswg.org/css-values/#px 10423. https://drafts.csswg.org/css-values/#px 10424. https://infra.spec.whatwg.org/#ascii-digit 10425. https://infra.spec.whatwg.org/#ascii-digit 10426. https://html.spec.whatwg.org/#event-uni 10427. https://html.spec.whatwg.org/#uni-browser-ui 10428. https://html.spec.whatwg.org/#uni-activation 10429. https://html.spec.whatwg.org/#attr-hyperlink-download 10430. https://html.spec.whatwg.org/#downloading-hyperlinks 10431. https://html.spec.whatwg.org/#downloading-hyperlinksuffix 10432. https://html.spec.whatwg.org/#downloading-userinvolvement 10433. https://html.spec.whatwg.org/#following-hyperlinks-2 10434. https://html.spec.whatwg.org/#following-hyperlinksuffix 10435. https://html.spec.whatwg.org/#following-userinvolvement 10436. https://html.spec.whatwg.org/#the-a-element 10437. https://html.spec.whatwg.org/#the-area-element 10438. https://html.spec.whatwg.org/#cereactions 10439. https://html.spec.whatwg.org/#dom-hyperlink-href 10440. https://html.spec.whatwg.org/#dom-hyperlink-origin 10441. https://html.spec.whatwg.org/#cereactions 10442. https://html.spec.whatwg.org/#dom-hyperlink-protocol 10443. https://html.spec.whatwg.org/#cereactions 10444. https://html.spec.whatwg.org/#dom-hyperlink-username 10445. https://html.spec.whatwg.org/#cereactions 10446. https://html.spec.whatwg.org/#dom-hyperlink-password 10447. https://html.spec.whatwg.org/#cereactions 10448. https://html.spec.whatwg.org/#dom-hyperlink-host 10449. https://html.spec.whatwg.org/#cereactions 10450. https://html.spec.whatwg.org/#dom-hyperlink-hostname 10451. https://html.spec.whatwg.org/#cereactions 10452. https://html.spec.whatwg.org/#dom-hyperlink-port 10453. https://html.spec.whatwg.org/#cereactions 10454. https://html.spec.whatwg.org/#dom-hyperlink-pathname 10455. https://html.spec.whatwg.org/#cereactions 10456. https://html.spec.whatwg.org/#dom-hyperlink-search 10457. https://html.spec.whatwg.org/#cereactions 10458. https://html.spec.whatwg.org/#dom-hyperlink-hash 10459. https://html.spec.whatwg.org/#dom-hyperlink-href 10460. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/href 10461. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/toString 10462. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement/href 10463. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement/toString 10464. https://html.spec.whatwg.org/#dom-hyperlink-origin 10465. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/origin 10466. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement/origin 10467. https://html.spec.whatwg.org/#dom-hyperlink-protocol 10468. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/protocol 10469. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement/protocol 10470. https://html.spec.whatwg.org/#dom-hyperlink-username 10471. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/username 10472. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement/username 10473. https://html.spec.whatwg.org/#dom-hyperlink-password 10474. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/password 10475. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement/password 10476. https://html.spec.whatwg.org/#dom-hyperlink-host 10477. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/host 10478. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement/host 10479. https://html.spec.whatwg.org/#dom-hyperlink-hostname 10480. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/hostname 10481. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement/hostname 10482. https://html.spec.whatwg.org/#dom-hyperlink-port 10483. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/port 10484. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement/port 10485. https://html.spec.whatwg.org/#dom-hyperlink-pathname 10486. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/pathname 10487. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement/pathname 10488. https://html.spec.whatwg.org/#dom-hyperlink-search 10489. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/search 10490. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement/search 10491. https://html.spec.whatwg.org/#dom-hyperlink-hash 10492. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/hash 10493. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement/hash 10494. https://html.spec.whatwg.org/#htmlhyperlinkelementutils 10495. https://url.spec.whatwg.org/#concept-url 10496. https://html.spec.whatwg.org/#htmlhyperlinkelementutils 10497. https://html.spec.whatwg.org/#concept-hyperlink-url 10498. https://html.spec.whatwg.org/#attr-hyperlink-href 10499. https://html.spec.whatwg.org/#encoding-parsing-a-url 10500. https://html.spec.whatwg.org/#attr-hyperlink-href 10501. https://dom.spec.whatwg.org/#concept-node-document 10502. https://html.spec.whatwg.org/#concept-hyperlink-url 10503. https://html.spec.whatwg.org/#htmlhyperlinkelementutils 10504. https://html.spec.whatwg.org/#attr-hyperlink-href 10505. https://html.spec.whatwg.org/#concept-hyperlink-url-set 10506. https://w3c.github.io/FileAPI/#DefinitionOfScheme 10507. https://url.spec.whatwg.org/#concept-url-parser 10508. https://w3c.github.io/FileAPI/#BlobURLStore 10509. https://html.spec.whatwg.org/#htmlhyperlinkelementutils 10510. https://html.spec.whatwg.org/#concept-hyperlink-url 10511. https://url.spec.whatwg.org/#concept-url-scheme 10512. https://url.spec.whatwg.org/#url-opaque-path 10513. https://html.spec.whatwg.org/#concept-hyperlink-url-set 10514. https://html.spec.whatwg.org/#attr-hyperlink-href 10515. https://html.spec.whatwg.org/#concept-hyperlink-url 10516. https://url.spec.whatwg.org/#concept-url-serializer 10517. https://html.spec.whatwg.org/#reinitialise-url 10518. https://webidl.spec.whatwg.org/#this 10519. https://html.spec.whatwg.org/#concept-hyperlink-url 10520. https://webidl.spec.whatwg.org/#this 10521. https://html.spec.whatwg.org/#attr-hyperlink-href 10522. https://webidl.spec.whatwg.org/#this 10523. https://html.spec.whatwg.org/#attr-hyperlink-href 10524. https://url.spec.whatwg.org/#concept-url-serializer 10525. https://html.spec.whatwg.org/#dom-hyperlink-href 10526. https://webidl.spec.whatwg.org/#this 10527. https://html.spec.whatwg.org/#attr-hyperlink-href 10528. https://html.spec.whatwg.org/#reinitialise-url 10529. https://webidl.spec.whatwg.org/#this 10530. https://html.spec.whatwg.org/#concept-hyperlink-url 10531. https://html.spec.whatwg.org/#ascii-serialisation-of-an-origin 10532. https://webidl.spec.whatwg.org/#this 10533. https://html.spec.whatwg.org/#concept-hyperlink-url 10534. https://url.spec.whatwg.org/#concept-url-origin 10535. https://html.spec.whatwg.org/#reinitialise-url 10536. https://webidl.spec.whatwg.org/#this 10537. https://html.spec.whatwg.org/#concept-hyperlink-url 10538. https://webidl.spec.whatwg.org/#this 10539. https://html.spec.whatwg.org/#concept-hyperlink-url 10540. https://url.spec.whatwg.org/#concept-url-scheme 10541. https://html.spec.whatwg.org/#dom-hyperlink-protocol 10542. https://html.spec.whatwg.org/#reinitialise-url 10543. https://webidl.spec.whatwg.org/#this 10544. https://html.spec.whatwg.org/#concept-hyperlink-url 10545. https://url.spec.whatwg.org/#concept-basic-url-parser 10546. https://webidl.spec.whatwg.org/#this 10547. https://html.spec.whatwg.org/#concept-hyperlink-url 10548. https://url.spec.whatwg.org/#basic-url-parser-url 10549. https://url.spec.whatwg.org/#scheme-start-state 10550. https://url.spec.whatwg.org/#basic-url-parser-state-override 10551. https://html.spec.whatwg.org/#update-href 10552. https://html.spec.whatwg.org/#reinitialise-url 10553. https://webidl.spec.whatwg.org/#this 10554. https://html.spec.whatwg.org/#concept-hyperlink-url 10555. https://webidl.spec.whatwg.org/#this 10556. https://html.spec.whatwg.org/#concept-hyperlink-url 10557. https://url.spec.whatwg.org/#concept-url-username 10558. https://html.spec.whatwg.org/#dom-hyperlink-username 10559. https://html.spec.whatwg.org/#reinitialise-url 10560. https://webidl.spec.whatwg.org/#this 10561. https://html.spec.whatwg.org/#concept-hyperlink-url 10562. https://url.spec.whatwg.org/#cannot-have-a-username-password-port 10563. https://url.spec.whatwg.org/#set-the-username 10564. https://html.spec.whatwg.org/#update-href 10565. https://html.spec.whatwg.org/#reinitialise-url 10566. https://webidl.spec.whatwg.org/#this 10567. https://html.spec.whatwg.org/#concept-hyperlink-url 10568. https://url.spec.whatwg.org/#concept-url-password 10569. https://html.spec.whatwg.org/#dom-hyperlink-password 10570. https://html.spec.whatwg.org/#reinitialise-url 10571. https://webidl.spec.whatwg.org/#this 10572. https://html.spec.whatwg.org/#concept-hyperlink-url 10573. https://url.spec.whatwg.org/#cannot-have-a-username-password-port 10574. https://url.spec.whatwg.org/#set-the-password 10575. https://html.spec.whatwg.org/#update-href 10576. https://html.spec.whatwg.org/#reinitialise-url 10577. https://webidl.spec.whatwg.org/#this 10578. https://html.spec.whatwg.org/#concept-hyperlink-url 10579. https://url.spec.whatwg.org/#concept-url-host 10580. https://url.spec.whatwg.org/#concept-url-port 10581. https://url.spec.whatwg.org/#concept-url-host 10582. https://url.spec.whatwg.org/#concept-host-serializer 10583. https://url.spec.whatwg.org/#concept-url-host 10584. https://url.spec.whatwg.org/#concept-host-serializer 10585. https://url.spec.whatwg.org/#concept-url-port 10586. https://url.spec.whatwg.org/#serialize-an-integer 10587. https://html.spec.whatwg.org/#dom-hyperlink-host 10588. https://html.spec.whatwg.org/#reinitialise-url 10589. https://webidl.spec.whatwg.org/#this 10590. https://html.spec.whatwg.org/#concept-hyperlink-url 10591. https://url.spec.whatwg.org/#url-opaque-path 10592. https://url.spec.whatwg.org/#concept-basic-url-parser 10593. https://url.spec.whatwg.org/#basic-url-parser-url 10594. https://url.spec.whatwg.org/#host-state 10595. https://url.spec.whatwg.org/#basic-url-parser-state-override 10596. https://html.spec.whatwg.org/#update-href 10597. https://html.spec.whatwg.org/#reinitialise-url 10598. https://webidl.spec.whatwg.org/#this 10599. https://html.spec.whatwg.org/#concept-hyperlink-url 10600. https://url.spec.whatwg.org/#concept-url-host 10601. https://url.spec.whatwg.org/#concept-url-host 10602. https://url.spec.whatwg.org/#concept-host-serializer 10603. https://html.spec.whatwg.org/#dom-hyperlink-hostname 10604. https://html.spec.whatwg.org/#reinitialise-url 10605. https://webidl.spec.whatwg.org/#this 10606. https://html.spec.whatwg.org/#concept-hyperlink-url 10607. https://url.spec.whatwg.org/#url-opaque-path 10608. https://url.spec.whatwg.org/#concept-basic-url-parser 10609. https://url.spec.whatwg.org/#basic-url-parser-url 10610. https://url.spec.whatwg.org/#hostname-state 10611. https://url.spec.whatwg.org/#basic-url-parser-state-override 10612. https://html.spec.whatwg.org/#update-href 10613. https://html.spec.whatwg.org/#reinitialise-url 10614. https://webidl.spec.whatwg.org/#this 10615. https://html.spec.whatwg.org/#concept-hyperlink-url 10616. https://url.spec.whatwg.org/#concept-url-port 10617. https://url.spec.whatwg.org/#concept-url-port 10618. https://url.spec.whatwg.org/#serialize-an-integer 10619. https://html.spec.whatwg.org/#dom-hyperlink-port 10620. https://html.spec.whatwg.org/#reinitialise-url 10621. https://webidl.spec.whatwg.org/#this 10622. https://html.spec.whatwg.org/#concept-hyperlink-url 10623. https://url.spec.whatwg.org/#cannot-have-a-username-password-port 10624. https://url.spec.whatwg.org/#concept-url-port 10625. https://url.spec.whatwg.org/#concept-basic-url-parser 10626. https://url.spec.whatwg.org/#basic-url-parser-url 10627. https://url.spec.whatwg.org/#port-state 10628. https://url.spec.whatwg.org/#basic-url-parser-state-override 10629. https://html.spec.whatwg.org/#update-href 10630. https://html.spec.whatwg.org/#reinitialise-url 10631. https://webidl.spec.whatwg.org/#this 10632. https://html.spec.whatwg.org/#concept-hyperlink-url 10633. https://url.spec.whatwg.org/#url-path-serializer 10634. https://html.spec.whatwg.org/#dom-hyperlink-pathname 10635. https://html.spec.whatwg.org/#reinitialise-url 10636. https://webidl.spec.whatwg.org/#this 10637. https://html.spec.whatwg.org/#concept-hyperlink-url 10638. https://url.spec.whatwg.org/#url-opaque-path 10639. https://url.spec.whatwg.org/#concept-url-path 10640. https://url.spec.whatwg.org/#concept-basic-url-parser 10641. https://url.spec.whatwg.org/#basic-url-parser-url 10642. https://url.spec.whatwg.org/#path-start-state 10643. https://url.spec.whatwg.org/#basic-url-parser-state-override 10644. https://html.spec.whatwg.org/#update-href 10645. https://html.spec.whatwg.org/#reinitialise-url 10646. https://webidl.spec.whatwg.org/#this 10647. https://html.spec.whatwg.org/#concept-hyperlink-url 10648. https://url.spec.whatwg.org/#concept-url-query 10649. https://url.spec.whatwg.org/#concept-url-query 10650. https://html.spec.whatwg.org/#dom-hyperlink-search 10651. https://html.spec.whatwg.org/#reinitialise-url 10652. https://webidl.spec.whatwg.org/#this 10653. https://html.spec.whatwg.org/#concept-hyperlink-url 10654. https://url.spec.whatwg.org/#concept-url-query 10655. https://url.spec.whatwg.org/#concept-url-query 10656. https://url.spec.whatwg.org/#concept-basic-url-parser 10657. https://url.spec.whatwg.org/#basic-url-parser-url 10658. https://url.spec.whatwg.org/#query-state 10659. https://url.spec.whatwg.org/#basic-url-parser-state-override 10660. https://html.spec.whatwg.org/#update-href 10661. https://html.spec.whatwg.org/#reinitialise-url 10662. https://webidl.spec.whatwg.org/#this 10663. https://html.spec.whatwg.org/#concept-hyperlink-url 10664. https://url.spec.whatwg.org/#concept-url-fragment 10665. https://url.spec.whatwg.org/#concept-url-fragment 10666. https://html.spec.whatwg.org/#dom-hyperlink-hash 10667. https://html.spec.whatwg.org/#reinitialise-url 10668. https://webidl.spec.whatwg.org/#this 10669. https://html.spec.whatwg.org/#concept-hyperlink-url 10670. https://url.spec.whatwg.org/#concept-url-fragment 10671. https://url.spec.whatwg.org/#concept-url-fragment 10672. https://url.spec.whatwg.org/#concept-basic-url-parser 10673. https://url.spec.whatwg.org/#basic-url-parser-url 10674. https://url.spec.whatwg.org/#fragment-state 10675. https://url.spec.whatwg.org/#basic-url-parser-state-override 10676. https://html.spec.whatwg.org/#update-href 10677. https://dom.spec.whatwg.org/#concept-node-document 10678. https://html.spec.whatwg.org/#fully-active 10679. https://html.spec.whatwg.org/#the-a-element 10680. https://dom.spec.whatwg.org/#connected 10681. https://html.spec.whatwg.org/#concept-form-submit 10682. https://html.spec.whatwg.org/#the-form-element 10683. https://html.spec.whatwg.org/#the-a-element 10684. https://html.spec.whatwg.org/#the-a-element 10685. https://html.spec.whatwg.org/#the-area-element 10686. https://html.spec.whatwg.org/#the-form-element 10687. https://url.spec.whatwg.org/#concept-url 10688. https://html.spec.whatwg.org/#linkTypes 10689. https://html.spec.whatwg.org/#link-type-noopener 10690. https://html.spec.whatwg.org/#link-type-noreferrer 10691. https://html.spec.whatwg.org/#linkTypes 10692. https://html.spec.whatwg.org/#link-type-opener 10693. https://infra.spec.whatwg.org/#ascii-case-insensitive 10694. https://url.spec.whatwg.org/#concept-url-blob-entry 10695. https://url.spec.whatwg.org/#concept-url-blob-entry 10696. https://w3c.github.io/FileAPI/#blob-url-entry-environment 10697. https://html.spec.whatwg.org/#concept-settings-object-origin 10698. https://html.spec.whatwg.org/#relevant-settings-object 10699. https://html.spec.whatwg.org/#concept-environment-top-level-origin 10700. https://html.spec.whatwg.org/#same-site 10701. https://html.spec.whatwg.org/#uni-none 10702. https://html.spec.whatwg.org/#cannot-navigate 10703. https://html.spec.whatwg.org/#the-a-element 10704. https://html.spec.whatwg.org/#the-area-element 10705. https://html.spec.whatwg.org/#get-an-element's-target 10706. https://html.spec.whatwg.org/#encoding-parsing-a-url 10707. https://html.spec.whatwg.org/#attr-hyperlink-href 10708. https://dom.spec.whatwg.org/#concept-node-document 10709. https://html.spec.whatwg.org/#get-an-element's-noopener 10710. https://html.spec.whatwg.org/#the-rules-for-choosing-a-navigable 10711. https://html.spec.whatwg.org/#node-navigable 10712. https://url.spec.whatwg.org/#concept-url-serializer 10713. https://html.spec.whatwg.org/#linkTypes 10714. https://html.spec.whatwg.org/#link-type-noreferrer 10715. https://html.spec.whatwg.org/#navigate 10716. https://dom.spec.whatwg.org/#concept-node-document 10717. https://html.spec.whatwg.org/#navigation-referrer-policy 10718. https://html.spec.whatwg.org/#navigation-user-involvement 10719. https://html.spec.whatwg.org/#navigation-source-element 10720. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 10721. https://html.spec.whatwg.org/#completely-loaded 10722. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/download 10723. https://html.spec.whatwg.org/#attr-hyperlink-download 10724. https://html.spec.whatwg.org/#the-a-element 10725. https://html.spec.whatwg.org/#the-area-element 10726. https://html.spec.whatwg.org/#hyperlink 10727. https://httpwg.org/specs/rfc6266.html 10728. https://html.spec.whatwg.org/#refsRFC6266 10729. https://html.spec.whatwg.org/#attr-hyperlink-download 10730. https://httpwg.org/specs/rfc6266.html 10731. https://html.spec.whatwg.org/#uni-none 10732. https://html.spec.whatwg.org/#cannot-navigate 10733. https://dom.spec.whatwg.org/#concept-node-document 10734. https://html.spec.whatwg.org/#active-sandboxing-flag-set 10735. https://html.spec.whatwg.org/#sandboxed-downloads-browsing-context-flag 10736. https://html.spec.whatwg.org/#encoding-parsing-and-serializing-a-url 10737. https://html.spec.whatwg.org/#attr-hyperlink-href 10738. https://dom.spec.whatwg.org/#concept-node-document 10739. https://html.spec.whatwg.org/#uni-browser-ui 10740. https://infra.spec.whatwg.org/#assert 10741. https://html.spec.whatwg.org/#attr-hyperlink-download 10742. https://html.spec.whatwg.org/#concept-relevant-global 10743. https://html.spec.whatwg.org/#window-navigation-api 10744. https://html.spec.whatwg.org/#attr-hyperlink-download 10745. https://html.spec.whatwg.org/#fire-a-download-request-navigate-event 10746. https://html.spec.whatwg.org/#fire-navigate-download-destinationurl 10747. https://html.spec.whatwg.org/#fire-navigate-download-userinvolvement 10748. https://html.spec.whatwg.org/#fire-navigate-download-sourceelement 10749. https://html.spec.whatwg.org/#fire-navigate-download-filename 10750. https://html.spec.whatwg.org/#in-parallel 10751. https://fetch.spec.whatwg.org/#concept-request 10752. https://fetch.spec.whatwg.org/#concept-request-url 10753. https://fetch.spec.whatwg.org/#concept-request-client 10754. https://html.spec.whatwg.org/#entry-settings-object 10755. https://fetch.spec.whatwg.org/#concept-request-initiator 10756. https://fetch.spec.whatwg.org/#concept-request-destination 10757. https://fetch.spec.whatwg.org/#synchronous-flag 10758. https://fetch.spec.whatwg.org/#concept-request-use-url-credentials-flag 10759. https://html.spec.whatwg.org/#handle-as-a-download 10760. https://fetch.spec.whatwg.org/#concept-fetch 10761. https://fetch.spec.whatwg.org/#concept-response 10762. https://html.spec.whatwg.org/#getting-the-suggested-filename 10763. https://fetch.spec.whatwg.org/#concept-response 10764. https://httpwg.org/specs/rfc6266.html 10765. https://html.spec.whatwg.org/#refsRFC6266 10766. https://dom.spec.whatwg.org/#concept-document-origin 10767. https://html.spec.whatwg.org/#document 10768. https://html.spec.whatwg.org/#downloading-hyperlinks 10769. https://html.spec.whatwg.org/#navigate 10770. https://html.spec.whatwg.org/#concept-origin 10771. https://url.spec.whatwg.org/#concept-url-scheme 10772. https://html.spec.whatwg.org/#same-origin 10773. https://httpwg.org/specs/rfc6266.html 10774. https://html.spec.whatwg.org/#refsRFC6266 10775. https://html.spec.whatwg.org/#hyperlink 10776. https://html.spec.whatwg.org/#the-a-element 10777. https://html.spec.whatwg.org/#the-area-element 10778. https://html.spec.whatwg.org/#hyperlink 10779. https://html.spec.whatwg.org/#attr-hyperlink-download 10780. https://html.spec.whatwg.org/#attr-hyperlink-download 10781. https://html.spec.whatwg.org/#hyperlink 10782. https://httpwg.org/specs/rfc6266.html 10783. https://html.spec.whatwg.org/#refsRFC6266 10784. https://url.spec.whatwg.org/#concept-url 10785. https://infra.spec.whatwg.org/#implementation-defined 10786. https://html.spec.whatwg.org/#attr-hyperlink-download 10787. https://html.spec.whatwg.org/#concept-extension 10788. https://html.spec.whatwg.org/#content-type 10789. https://html.spec.whatwg.org/#concept-extension 10790. https://mimesniff.spec.whatwg.org/#mime-type 10791. https://html.spec.whatwg.org/#concept-extension 10792. https://html.spec.whatwg.org/#content-type 10793. https://html.spec.whatwg.org/#concept-extension 10794. https://html.spec.whatwg.org/#concept-extension 10795. https://html.spec.whatwg.org/#concept-extension 10796. https://url.spec.whatwg.org/#concept-url 10797. https://html.spec.whatwg.org/#attr-hyperlink-download 10798. https://html.spec.whatwg.org/#hyperlink 10799. https://html.spec.whatwg.org/#the-a-element 10800. https://html.spec.whatwg.org/#the-area-element 10801. https://html.spec.whatwg.org/#ping 10802. https://html.spec.whatwg.org/#attr-hyperlink-href 10803. https://html.spec.whatwg.org/#encoding-parsing-a-url 10804. https://dom.spec.whatwg.org/#concept-node-document 10805. https://html.spec.whatwg.org/#ping 10806. https://infra.spec.whatwg.org/#split-on-ascii-whitespace 10807. https://html.spec.whatwg.org/#encoding-parsing-a-url 10808. https://dom.spec.whatwg.org/#concept-node-document 10809. https://url.spec.whatwg.org/#concept-url 10810. https://url.spec.whatwg.org/#concept-url-scheme 10811. https://fetch.spec.whatwg.org/#http-scheme 10812. https://dom.spec.whatwg.org/#concept-node-document 10813. https://html.spec.whatwg.org/#relevant-settings-object 10814. https://fetch.spec.whatwg.org/#concept-request 10815. https://fetch.spec.whatwg.org/#concept-request-url 10816. https://fetch.spec.whatwg.org/#concept-request-method 10817. https://fetch.spec.whatwg.org/#concept-request-header-list 10818. https://html.spec.whatwg.org/#content-type 10819. https://html.spec.whatwg.org/#text/ping 10820. https://fetch.spec.whatwg.org/#concept-request-body 10821. https://fetch.spec.whatwg.org/#concept-request-client 10822. https://fetch.spec.whatwg.org/#concept-request-destination 10823. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 10824. https://fetch.spec.whatwg.org/#concept-request-referrer 10825. https://fetch.spec.whatwg.org/#concept-request-use-url-credentials-flag 10826. https://fetch.spec.whatwg.org/#request-initiator-type 10827. https://html.spec.whatwg.org/#encoding-parsing-and-serializing-a-url 10828. https://html.spec.whatwg.org/#attr-hyperlink-href 10829. https://dom.spec.whatwg.org/#concept-node-document 10830. https://dom.spec.whatwg.org/#concept-document-url 10831. https://html.spec.whatwg.org/#document 10832. https://html.spec.whatwg.org/#same-origin 10833. https://url.spec.whatwg.org/#concept-url-scheme 10834. https://dom.spec.whatwg.org/#concept-document-url 10835. https://html.spec.whatwg.org/#document 10836. https://html.spec.whatwg.org/#ping-from 10837. https://dom.spec.whatwg.org/#concept-document-url 10838. https://html.spec.whatwg.org/#ping-to 10839. https://html.spec.whatwg.org/#ping-to 10840. https://html.spec.whatwg.org/#ping-from 10841. https://fetch.spec.whatwg.org/#concept-fetch 10842. https://html.spec.whatwg.org/#in-parallel 10843. https://httpwg.org/specs/rfc7231.html#header.referer 10844. https://html.spec.whatwg.org/#ignore 10845. https://html.spec.whatwg.org/#ping 10846. https://html.spec.whatwg.org/#ping 10847. https://html.spec.whatwg.org/#ping 10848. https://html.spec.whatwg.org/#ping 10849. https://html.spec.whatwg.org/#ping 10850. https://html.spec.whatwg.org/#ping-from 10851. https://html.spec.whatwg.org/#ping-to 10852. https://html.spec.whatwg.org/#hyperlink-auditing 10853. https://url.spec.whatwg.org/#concept-url 10854. https://url.spec.whatwg.org/#concept-url-serializer 10855. https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types 10856. https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types 10857. https://html.spec.whatwg.org/#the-link-element 10858. https://html.spec.whatwg.org/#the-a-element 10859. https://html.spec.whatwg.org/#the-area-element 10860. https://html.spec.whatwg.org/#the-form-element 10861. https://infra.spec.whatwg.org/#split-on-ascii-whitespace 10862. https://html.spec.whatwg.org/#attr-hyperlink-rel 10863. https://infra.spec.whatwg.org/#ascii-case-insensitive 10864. https://html.spec.whatwg.org/#the-link-element 10865. https://html.spec.whatwg.org/#allowed-in-the-body 10866. https://html.spec.whatwg.org/#body-ok 10867. https://html.spec.whatwg.org/#link-type-dns-prefetch 10868. https://html.spec.whatwg.org/#link-type-modulepreload 10869. https://html.spec.whatwg.org/#link-type-pingback 10870. https://html.spec.whatwg.org/#link-type-preconnect 10871. https://html.spec.whatwg.org/#link-type-prefetch 10872. https://html.spec.whatwg.org/#link-type-preload 10873. https://html.spec.whatwg.org/#link-type-stylesheet 10874. https://html.spec.whatwg.org/#concept-rel-extensions 10875. https://html.spec.whatwg.org/#body-ok 10876. https://httpwg.org/specs/rfc8288.html#header 10877. https://html.spec.whatwg.org/#the-link-element 10878. https://html.spec.whatwg.org/#the-a-element 10879. https://html.spec.whatwg.org/#the-area-element 10880. https://html.spec.whatwg.org/#the-form-element 10881. https://html.spec.whatwg.org/#rel-alternate 10882. https://html.spec.whatwg.org/#hyperlink 10883. https://html.spec.whatwg.org/#link-type-canonical 10884. https://html.spec.whatwg.org/#hyperlink 10885. https://html.spec.whatwg.org/#link-type-author 10886. https://html.spec.whatwg.org/#hyperlink 10887. https://html.spec.whatwg.org/#link-type-bookmark 10888. https://html.spec.whatwg.org/#hyperlink 10889. https://html.spec.whatwg.org/#link-type-dns-prefetch 10890. https://html.spec.whatwg.org/#external-resource-link 10891. https://html.spec.whatwg.org/#concept-origin 10892. https://html.spec.whatwg.org/#link-type-expect 10893. https://html.spec.whatwg.org/#internal-resource-link 10894. https://html.spec.whatwg.org/#link-type-external 10895. https://html.spec.whatwg.org/#hyperlink-annotation 10896. https://html.spec.whatwg.org/#link-type-help 10897. https://html.spec.whatwg.org/#hyperlink 10898. https://html.spec.whatwg.org/#rel-icon 10899. https://html.spec.whatwg.org/#external-resource-link 10900. https://html.spec.whatwg.org/#link-type-manifest 10901. https://html.spec.whatwg.org/#external-resource-link 10902. https://w3c.github.io/manifest/#dfn-manifest 10903. https://html.spec.whatwg.org/#refsMANIFEST 10904. https://html.spec.whatwg.org/#link-type-modulepreload 10905. https://html.spec.whatwg.org/#external-resource-link 10906. https://html.spec.whatwg.org/#fetch-a-single-module-script 10907. https://html.spec.whatwg.org/#concept-document-module-map 10908. https://html.spec.whatwg.org/#link-type-license 10909. https://html.spec.whatwg.org/#hyperlink 10910. https://html.spec.whatwg.org/#link-type-next 10911. https://html.spec.whatwg.org/#hyperlink 10912. https://html.spec.whatwg.org/#link-type-nofollow 10913. https://html.spec.whatwg.org/#hyperlink-annotation 10914. https://html.spec.whatwg.org/#link-type-noopener 10915. https://html.spec.whatwg.org/#hyperlink-annotation 10916. https://html.spec.whatwg.org/#top-level-traversable 10917. https://html.spec.whatwg.org/#auxiliary-browsing-context 10918. https://html.spec.whatwg.org/#attr-hyperlink-target 10919. https://html.spec.whatwg.org/#link-type-noreferrer 10920. https://html.spec.whatwg.org/#hyperlink-annotation 10921. https://httpwg.org/specs/rfc7231.html#header.referer 10922. https://html.spec.whatwg.org/#link-type-noopener 10923. https://html.spec.whatwg.org/#link-type-opener 10924. https://html.spec.whatwg.org/#hyperlink-annotation 10925. https://html.spec.whatwg.org/#auxiliary-browsing-context 10926. https://html.spec.whatwg.org/#top-level-traversable 10927. https://html.spec.whatwg.org/#auxiliary-browsing-context 10928. https://html.spec.whatwg.org/#attr-hyperlink-target 10929. https://html.spec.whatwg.org/#link-type-pingback 10930. https://html.spec.whatwg.org/#external-resource-link 10931. https://html.spec.whatwg.org/#link-type-preconnect 10932. https://html.spec.whatwg.org/#external-resource-link 10933. https://html.spec.whatwg.org/#concept-origin 10934. https://html.spec.whatwg.org/#link-type-prefetch 10935. https://html.spec.whatwg.org/#external-resource-link 10936. https://fetch.spec.whatwg.org/#concept-fetch 10937. https://html.spec.whatwg.org/#navigate 10938. https://html.spec.whatwg.org/#link-type-preload 10939. https://html.spec.whatwg.org/#external-resource-link 10940. https://fetch.spec.whatwg.org/#concept-fetch 10941. https://html.spec.whatwg.org/#navigate 10942. https://fetch.spec.whatwg.org/#concept-potential-destination 10943. https://html.spec.whatwg.org/#attr-link-as 10944. https://fetch.spec.whatwg.org/#request-priority 10945. https://fetch.spec.whatwg.org/#concept-potential-destination-translate 10946. https://fetch.spec.whatwg.org/#concept-request-destination 10947. https://html.spec.whatwg.org/#link-type-prev 10948. https://html.spec.whatwg.org/#hyperlink 10949. https://html.spec.whatwg.org/#link-type-privacy-policy 10950. https://html.spec.whatwg.org/#hyperlink 10951. https://html.spec.whatwg.org/#link-type-search 10952. https://html.spec.whatwg.org/#hyperlink 10953. https://html.spec.whatwg.org/#link-type-stylesheet 10954. https://html.spec.whatwg.org/#external-resource-link 10955. https://html.spec.whatwg.org/#link-type-tag 10956. https://html.spec.whatwg.org/#hyperlink 10957. https://html.spec.whatwg.org/#link-type-terms-of-service 10958. https://html.spec.whatwg.org/#hyperlink 10959. https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative_style_sheets 10960. https://html.spec.whatwg.org/#rel-alternate 10961. https://html.spec.whatwg.org/#the-link-element 10962. https://html.spec.whatwg.org/#the-a-element 10963. https://html.spec.whatwg.org/#the-area-element 10964. https://html.spec.whatwg.org/#the-link-element 10965. https://html.spec.whatwg.org/#attr-link-rel 10966. https://html.spec.whatwg.org/#link-type-stylesheet 10967. https://html.spec.whatwg.org/#rel-alternate 10968. https://html.spec.whatwg.org/#link-type-stylesheet 10969. https://html.spec.whatwg.org/#rel-alternate 10970. https://html.spec.whatwg.org/#the-link-element 10971. https://html.spec.whatwg.org/#rel-alternate 10972. https://html.spec.whatwg.org/#attr-hyperlink-type 10973. https://html.spec.whatwg.org/#hyperlink 10974. https://html.spec.whatwg.org/#the-link-element 10975. https://html.spec.whatwg.org/#rel-alternate 10976. https://html.spec.whatwg.org/#attr-hyperlink-type 10977. https://dom.spec.whatwg.org/#concept-tree-order 10978. https://html.spec.whatwg.org/#the-link-element 10979. https://html.spec.whatwg.org/#the-link-element 10980. https://html.spec.whatwg.org/#the-a-element 10981. https://html.spec.whatwg.org/#hyperlink 10982. https://html.spec.whatwg.org/#attr-hyperlink-hreflang 10983. https://html.spec.whatwg.org/#attr-hyperlink-type 10984. https://html.spec.whatwg.org/#rel-alternate 10985. https://html.spec.whatwg.org/#attr-hyperlink-hreflang 10986. https://dom.spec.whatwg.org/#document-element 10987. https://html.spec.whatwg.org/#language 10988. https://html.spec.whatwg.org/#rel-alternate 10989. https://html.spec.whatwg.org/#attr-hyperlink-type 10990. https://html.spec.whatwg.org/#attr-hyperlink-hreflang 10991. https://html.spec.whatwg.org/#attr-hyperlink-type 10992. https://html.spec.whatwg.org/#rel-alternate 10993. https://html.spec.whatwg.org/#rel-alternate 10994. https://html.spec.whatwg.org/#link-type-author 10995. https://html.spec.whatwg.org/#the-link-element 10996. https://html.spec.whatwg.org/#the-a-element 10997. https://html.spec.whatwg.org/#the-area-element 10998. https://html.spec.whatwg.org/#hyperlink 10999. https://html.spec.whatwg.org/#the-a-element 11000. https://html.spec.whatwg.org/#the-area-element 11001. https://html.spec.whatwg.org/#link-type-author 11002. https://html.spec.whatwg.org/#the-article-element 11003. https://html.spec.whatwg.org/#the-link-element 11004. https://html.spec.whatwg.org/#link-type-author 11005. https://www.rfc-editor.org/rfc/rfc6068#section-2 11006. https://html.spec.whatwg.org/#refsMAILTO 11007. https://html.spec.whatwg.org/#the-link-element 11008. https://html.spec.whatwg.org/#the-a-element 11009. https://html.spec.whatwg.org/#the-area-element 11010. https://html.spec.whatwg.org/#link-type-author 11011. https://html.spec.whatwg.org/#link-type-bookmark 11012. https://html.spec.whatwg.org/#the-a-element 11013. https://html.spec.whatwg.org/#the-area-element 11014. https://html.spec.whatwg.org/#hyperlink 11015. https://html.spec.whatwg.org/#link-type-bookmark 11016. https://html.spec.whatwg.org/#the-article-element 11017. https://html.spec.whatwg.org/#the-article-element 11018. https://html.spec.whatwg.org/#link-type-canonical 11019. https://html.spec.whatwg.org/#the-link-element 11020. https://html.spec.whatwg.org/#hyperlink 11021. https://html.spec.whatwg.org/#link-type-canonical 11022. https://html.spec.whatwg.org/#attr-link-href 11023. https://html.spec.whatwg.org/#refsRFC6596 11024. https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types/dns-prefetch 11025. https://html.spec.whatwg.org/#link-type-dns-prefetch 11026. https://html.spec.whatwg.org/#the-link-element 11027. https://html.spec.whatwg.org/#external-resource-link 11028. https://html.spec.whatwg.org/#body-ok 11029. https://html.spec.whatwg.org/#link-type-dns-prefetch 11030. https://html.spec.whatwg.org/#concept-origin 11031. https://html.spec.whatwg.org/#concept-origin 11032. https://html.spec.whatwg.org/#link-type-dns-prefetch 11033. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 11034. https://html.spec.whatwg.org/#external-resource-link 11035. https://html.spec.whatwg.org/#the-link-element 11036. https://html.spec.whatwg.org/#browsing-context-connected 11037. https://html.spec.whatwg.org/#external-resource-link 11038. https://html.spec.whatwg.org/#the-link-element 11039. https://html.spec.whatwg.org/#becomes-browsing-context-connected 11040. https://html.spec.whatwg.org/#attr-link-href 11041. https://html.spec.whatwg.org/#the-link-element 11042. https://html.spec.whatwg.org/#external-resource-link 11043. https://html.spec.whatwg.org/#browsing-context-connected 11044. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 11045. https://html.spec.whatwg.org/#the-link-element 11046. https://html.spec.whatwg.org/#encoding-parsing-a-url 11047. https://html.spec.whatwg.org/#attr-link-href 11048. https://dom.spec.whatwg.org/#concept-node-document 11049. https://fetch.spec.whatwg.org/#determine-the-network-partition-key 11050. https://dom.spec.whatwg.org/#concept-node-document 11051. https://html.spec.whatwg.org/#relevant-settings-object 11052. https://fetch.spec.whatwg.org/#resolve-an-origin 11053. https://url.spec.whatwg.org/#concept-url-origin 11054. https://html.spec.whatwg.org/#link-type-expect 11055. https://html.spec.whatwg.org/#the-link-element 11056. https://html.spec.whatwg.org/#internal-resource-link 11057. https://html.spec.whatwg.org/#internal-resource-link 11058. https://html.spec.whatwg.org/#link-type-expect 11059. https://html.spec.whatwg.org/#render-blocked 11060. https://html.spec.whatwg.org/#the-indicated-part-of-the-document 11061. https://html.spec.whatwg.org/#link-type-expect 11062. https://html.spec.whatwg.org/#the-link-element 11063. https://html.spec.whatwg.org/#link-type-expect 11064. https://html.spec.whatwg.org/#internal-resource-link 11065. https://html.spec.whatwg.org/#browsing-context-connected 11066. https://html.spec.whatwg.org/#link-type-expect 11067. https://html.spec.whatwg.org/#internal-resource-link 11068. https://html.spec.whatwg.org/#browsing-context-connected 11069. https://html.spec.whatwg.org/#link-type-expect 11070. https://html.spec.whatwg.org/#internal-resource-link 11071. https://html.spec.whatwg.org/#browsing-context-connected 11072. https://html.spec.whatwg.org/#attr-link-href 11073. https://html.spec.whatwg.org/#link-type-expect 11074. https://html.spec.whatwg.org/#internal-resource-link 11075. https://html.spec.whatwg.org/#browsing-context-connected 11076. https://html.spec.whatwg.org/#attr-link-media 11077. https://html.spec.whatwg.org/#process-internal-resource-link 11078. https://html.spec.whatwg.org/#the-link-element 11079. https://dom.spec.whatwg.org/#concept-node-document 11080. https://html.spec.whatwg.org/#encoding-parsing-a-url 11081. https://html.spec.whatwg.org/#attr-link-href 11082. https://url.spec.whatwg.org/#concept-url-equals 11083. https://dom.spec.whatwg.org/#concept-document-url 11084. https://url.spec.whatwg.org/#url-equals-exclude-fragments 11085. https://html.spec.whatwg.org/#unblock-rendering 11086. https://html.spec.whatwg.org/#select-the-indicated-part 11087. https://html.spec.whatwg.org/#current-document-readiness 11088. https://html.spec.whatwg.org/#internal-resource-link 11089. https://html.spec.whatwg.org/#browsing-context-connected 11090. https://html.spec.whatwg.org/#attr-link-rel 11091. https://html.spec.whatwg.org/#link-type-expect 11092. https://html.spec.whatwg.org/#potentially-render-blocking 11093. https://html.spec.whatwg.org/#attr-link-media 11094. https://html.spec.whatwg.org/#matches-the-environment 11095. https://html.spec.whatwg.org/#stack-of-open-elements 11096. https://html.spec.whatwg.org/#html-parser 11097. https://html.spec.whatwg.org/#document 11098. https://html.spec.whatwg.org/#block-rendering 11099. https://html.spec.whatwg.org/#unblock-rendering 11100. https://html.spec.whatwg.org/#document 11101. https://infra.spec.whatwg.org/#list-iterate 11102. https://html.spec.whatwg.org/#link-type-expect 11103. https://html.spec.whatwg.org/#the-link-element 11104. https://html.spec.whatwg.org/#render-blocking-element-set 11105. https://html.spec.whatwg.org/#process-internal-resource-link 11106. https://dom.spec.whatwg.org/#concept-element-attributes-change-ext 11107. https://html.spec.whatwg.org/#link-type-expect 11108. https://html.spec.whatwg.org/#the-link-element 11109. https://html.spec.whatwg.org/#the-id-attribute 11110. https://html.spec.whatwg.org/#attr-a-name 11111. https://html.spec.whatwg.org/#stack-of-open-elements 11112. https://html.spec.whatwg.org/#html-parser 11113. https://html.spec.whatwg.org/#the-id-attribute 11114. https://html.spec.whatwg.org/#attr-a-name 11115. https://html.spec.whatwg.org/#the-a-element 11116. https://html.spec.whatwg.org/#process-internal-resource-links 11117. https://dom.spec.whatwg.org/#concept-node-document 11118. https://html.spec.whatwg.org/#link-type-external 11119. https://html.spec.whatwg.org/#the-a-element 11120. https://html.spec.whatwg.org/#the-area-element 11121. https://html.spec.whatwg.org/#the-form-element 11122. https://html.spec.whatwg.org/#hyperlink 11123. https://html.spec.whatwg.org/#hyperlink-annotation 11124. https://html.spec.whatwg.org/#link-type-external 11125. https://html.spec.whatwg.org/#link-type-help 11126. https://html.spec.whatwg.org/#the-link-element 11127. https://html.spec.whatwg.org/#the-a-element 11128. https://html.spec.whatwg.org/#the-area-element 11129. https://html.spec.whatwg.org/#the-form-element 11130. https://html.spec.whatwg.org/#hyperlink 11131. https://html.spec.whatwg.org/#the-a-element 11132. https://html.spec.whatwg.org/#the-area-element 11133. https://html.spec.whatwg.org/#the-form-element 11134. https://html.spec.whatwg.org/#link-type-help 11135. https://html.spec.whatwg.org/#the-link-element 11136. https://html.spec.whatwg.org/#link-type-help 11137. https://html.spec.whatwg.org/#the-a-element 11138. https://html.spec.whatwg.org/#the-area-element 11139. https://html.spec.whatwg.org/#link-type-help 11140. https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types#icon 11141. https://caniuse.com/#feat=link-icon-png 11142. https://html.spec.whatwg.org/#rel-icon 11143. https://html.spec.whatwg.org/#the-link-element 11144. https://html.spec.whatwg.org/#external-resource-link 11145. https://html.spec.whatwg.org/#attr-link-type 11146. https://html.spec.whatwg.org/#attr-link-media 11147. https://html.spec.whatwg.org/#attr-link-sizes 11148. https://dom.spec.whatwg.org/#concept-tree-order 11149. https://html.spec.whatwg.org/#rel-icon 11150. https://html.spec.whatwg.org/#concept-link-type-sniffing 11151. https://html.spec.whatwg.org/#attr-link-sizes 11152. https://drafts.csswg.org/css-values/#px 11153. https://drafts.csswg.org/css-values/#px 11154. https://drafts.csswg.org/css-values/#px 11155. https://infra.spec.whatwg.org/#split-on-ascii-whitespace 11156. https://infra.spec.whatwg.org/#ascii-digit 11157. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 11158. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 11159. https://html.spec.whatwg.org/#attr-link-sizes 11160. https://html.spec.whatwg.org/#linked-resource-fetch-setup-steps 11161. https://html.spec.whatwg.org/#the-link-element 11162. https://fetch.spec.whatwg.org/#concept-request 11163. https://fetch.spec.whatwg.org/#concept-request-destination 11164. https://html.spec.whatwg.org/#process-a-link-header 11165. https://html.spec.whatwg.org/#the-link-element 11166. https://html.spec.whatwg.org/#rel-icon 11167. https://html.spec.whatwg.org/#document 11168. https://dom.spec.whatwg.org/#concept-document-url 11169. https://url.spec.whatwg.org/#concept-url-scheme 11170. https://fetch.spec.whatwg.org/#http-scheme 11171. https://html.spec.whatwg.org/#in-parallel 11172. https://fetch.spec.whatwg.org/#concept-request 11173. https://fetch.spec.whatwg.org/#concept-request-url 11174. https://url.spec.whatwg.org/#concept-url 11175. https://url.spec.whatwg.org/#concept-url 11176. https://html.spec.whatwg.org/#document 11177. https://dom.spec.whatwg.org/#concept-document-url 11178. https://fetch.spec.whatwg.org/#concept-request-client 11179. https://html.spec.whatwg.org/#document 11180. https://html.spec.whatwg.org/#relevant-settings-object 11181. https://fetch.spec.whatwg.org/#concept-request-destination 11182. https://fetch.spec.whatwg.org/#synchronous-flag 11183. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 11184. https://fetch.spec.whatwg.org/#concept-request-use-url-credentials-flag 11185. https://fetch.spec.whatwg.org/#concept-fetch 11186. https://html.spec.whatwg.org/#unsafe-response 11187. https://html.spec.whatwg.org/#rel-icon 11188. https://html.spec.whatwg.org/#rel-icon 11189. https://html.spec.whatwg.org/#attr-hyperlink-rel 11190. https://infra.spec.whatwg.org/#ascii-case-insensitive 11191. https://infra.spec.whatwg.org/#ascii-whitespace 11192. https://html.spec.whatwg.org/#link-type-license 11193. https://html.spec.whatwg.org/#the-link-element 11194. https://html.spec.whatwg.org/#the-a-element 11195. https://html.spec.whatwg.org/#the-area-element 11196. https://html.spec.whatwg.org/#the-form-element 11197. https://html.spec.whatwg.org/#hyperlink 11198. https://html.spec.whatwg.org/#link-type-license 11199. https://html.spec.whatwg.org/#link-type-license 11200. https://html.spec.whatwg.org/#link-type-license 11201. https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types/manifest 11202. https://html.spec.whatwg.org/#link-type-manifest 11203. https://html.spec.whatwg.org/#the-link-element 11204. https://html.spec.whatwg.org/#external-resource-link 11205. https://html.spec.whatwg.org/#link-type-manifest 11206. https://html.spec.whatwg.org/#link-type-manifest 11207. https://w3c.github.io/manifest/#dfn-installed-web-application 11208. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 11209. https://w3c.github.io/manifest/#dfn-installed-web-application 11210. https://w3c.github.io/manifest/#dfn-installed-web-application 11211. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 11212. https://html.spec.whatwg.org/#external-resource-link 11213. https://html.spec.whatwg.org/#the-link-element 11214. https://html.spec.whatwg.org/#browsing-context-connected 11215. https://html.spec.whatwg.org/#external-resource-link 11216. https://html.spec.whatwg.org/#the-link-element 11217. https://html.spec.whatwg.org/#becomes-browsing-context-connected 11218. https://html.spec.whatwg.org/#attr-link-href 11219. https://html.spec.whatwg.org/#the-link-element 11220. https://html.spec.whatwg.org/#external-resource-link 11221. https://html.spec.whatwg.org/#browsing-context-connected 11222. https://html.spec.whatwg.org/#the-link-element 11223. https://dom.spec.whatwg.org/#concept-tree-order 11224. https://html.spec.whatwg.org/#attr-link-rel 11225. https://html.spec.whatwg.org/#link-type-manifest 11226. https://html.spec.whatwg.org/#delay-the-load-event 11227. https://html.spec.whatwg.org/#linked-resource-fetch-setup-steps 11228. https://html.spec.whatwg.org/#the-link-element 11229. https://fetch.spec.whatwg.org/#concept-request 11230. https://dom.spec.whatwg.org/#concept-node-document 11231. https://html.spec.whatwg.org/#node-navigable 11232. https://html.spec.whatwg.org/#top-level-traversable 11233. https://fetch.spec.whatwg.org/#concept-request-initiator 11234. https://fetch.spec.whatwg.org/#concept-request-destination 11235. https://fetch.spec.whatwg.org/#concept-request-mode 11236. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 11237. https://html.spec.whatwg.org/#cors-settings-attribute-credentials-mode 11238. https://html.spec.whatwg.org/#attr-link-crossorigin 11239. https://html.spec.whatwg.org/#process-the-linked-resource 11240. https://html.spec.whatwg.org/#the-link-element 11241. https://fetch.spec.whatwg.org/#concept-response 11242. https://infra.spec.whatwg.org/#byte-sequence 11243. https://html.spec.whatwg.org/#content-type 11244. https://mimesniff.spec.whatwg.org/#json-mime-type 11245. https://dom.spec.whatwg.org/#concept-node-document 11246. https://dom.spec.whatwg.org/#concept-document-url 11247. https://fetch.spec.whatwg.org/#concept-response-url 11248. https://w3c.github.io/manifest/#dfn-processing-a-manifest 11249. https://html.spec.whatwg.org/#refsMANIFEST 11250. https://html.spec.whatwg.org/#process-a-link-header 11251. https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types/modulepreload 11252. https://html.spec.whatwg.org/#link-type-modulepreload 11253. https://html.spec.whatwg.org/#the-link-element 11254. https://html.spec.whatwg.org/#external-resource-link 11255. https://html.spec.whatwg.org/#body-ok 11256. https://html.spec.whatwg.org/#link-type-modulepreload 11257. https://html.spec.whatwg.org/#link-type-preload 11258. https://html.spec.whatwg.org/#module-script 11259. https://html.spec.whatwg.org/#attr-link-crossorigin 11260. https://html.spec.whatwg.org/#concept-document-module-map 11261. https://html.spec.whatwg.org/#external-resource-link 11262. https://html.spec.whatwg.org/#link-type-preload 11263. https://html.spec.whatwg.org/#concept-document-module-map 11264. https://html.spec.whatwg.org/#module-script 11265. https://html.spec.whatwg.org/#event-load 11266. https://html.spec.whatwg.org/#event-error 11267. https://html.spec.whatwg.org/#delay-the-load-event 11268. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 11269. https://html.spec.whatwg.org/#external-resource-link 11270. https://html.spec.whatwg.org/#the-link-element 11271. https://html.spec.whatwg.org/#browsing-context-connected 11272. https://html.spec.whatwg.org/#external-resource-link 11273. https://html.spec.whatwg.org/#the-link-element 11274. https://html.spec.whatwg.org/#becomes-browsing-context-connected 11275. https://html.spec.whatwg.org/#attr-link-href 11276. https://html.spec.whatwg.org/#the-link-element 11277. https://html.spec.whatwg.org/#external-resource-link 11278. https://html.spec.whatwg.org/#browsing-context-connected 11279. https://html.spec.whatwg.org/#attr-link-as 11280. https://html.spec.whatwg.org/#attr-link-crossorigin 11281. https://html.spec.whatwg.org/#attr-link-referrerpolicy 11282. https://html.spec.whatwg.org/#the-link-element 11283. https://html.spec.whatwg.org/#concept-document-module-map 11284. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 11285. https://html.spec.whatwg.org/#link-type-modulepreload 11286. https://html.spec.whatwg.org/#the-link-element 11287. https://html.spec.whatwg.org/#attr-link-href 11288. https://html.spec.whatwg.org/#attr-link-as 11289. https://fetch.spec.whatwg.org/#concept-request-destination 11290. https://fetch.spec.whatwg.org/#request-destination-script-like 11291. https://html.spec.whatwg.org/#queue-an-element-task 11292. https://html.spec.whatwg.org/#networking-task-source 11293. https://dom.spec.whatwg.org/#concept-event-fire 11294. https://html.spec.whatwg.org/#event-error 11295. https://html.spec.whatwg.org/#encoding-parsing-a-url 11296. https://html.spec.whatwg.org/#attr-link-href 11297. https://dom.spec.whatwg.org/#concept-node-document 11298. https://dom.spec.whatwg.org/#concept-node-document 11299. https://html.spec.whatwg.org/#relevant-settings-object 11300. https://html.spec.whatwg.org/#cors-settings-attribute-credentials-mode 11301. https://html.spec.whatwg.org/#attr-link-crossorigin 11302. https://html.spec.whatwg.org/#cryptographicnonce 11303. https://html.spec.whatwg.org/#attr-link-integrity 11304. https://html.spec.whatwg.org/#attr-link-integrity 11305. https://html.spec.whatwg.org/#resolving-a-module-integrity-metadata 11306. https://html.spec.whatwg.org/#attr-link-referrerpolicy 11307. https://html.spec.whatwg.org/#attr-link-fetchpriority 11308. https://html.spec.whatwg.org/#script-fetch-options 11309. https://html.spec.whatwg.org/#concept-script-fetch-options-nonce 11310. https://html.spec.whatwg.org/#concept-script-fetch-options-integrity 11311. https://html.spec.whatwg.org/#concept-script-fetch-options-parser 11312. https://html.spec.whatwg.org/#concept-script-fetch-options-credentials 11313. https://html.spec.whatwg.org/#concept-script-fetch-options-referrer-policy 11314. https://html.spec.whatwg.org/#concept-script-fetch-options-fetch-priority 11315. https://html.spec.whatwg.org/#fetch-a-modulepreload-module-script-graph 11316. https://dom.spec.whatwg.org/#concept-event-fire 11317. https://html.spec.whatwg.org/#event-error 11318. https://dom.spec.whatwg.org/#concept-event-fire 11319. https://html.spec.whatwg.org/#event-load 11320. https://html.spec.whatwg.org/#process-a-link-header 11321. https://html.spec.whatwg.org/#link-type-modulepreload 11322. https://html.spec.whatwg.org/#link-type-modulepreload 11323. https://html.spec.whatwg.org/#the-link-element 11324. https://html.spec.whatwg.org/#link-type-modulepreload 11325. https://tc39.es/ecma262/#sec-import-calls 11326. https://tc39.es/ecma262/#sec-import-calls 11327. https://html.spec.whatwg.org/#module-map 11328. https://html.spec.whatwg.org/#link-type-nofollow 11329. https://html.spec.whatwg.org/#the-a-element 11330. https://html.spec.whatwg.org/#the-area-element 11331. https://html.spec.whatwg.org/#the-form-element 11332. https://html.spec.whatwg.org/#hyperlink 11333. https://html.spec.whatwg.org/#hyperlink-annotation 11334. https://html.spec.whatwg.org/#link-type-nofollow 11335. https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types/noopener 11336. https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types/noopener 11337. https://html.spec.whatwg.org/#link-type-noopener 11338. https://html.spec.whatwg.org/#the-a-element 11339. https://html.spec.whatwg.org/#the-area-element 11340. https://html.spec.whatwg.org/#the-form-element 11341. https://html.spec.whatwg.org/#hyperlink 11342. https://html.spec.whatwg.org/#hyperlink-annotation 11343. https://html.spec.whatwg.org/#top-level-traversable 11344. https://html.spec.whatwg.org/#hyperlink 11345. https://html.spec.whatwg.org/#auxiliary-browsing-context 11346. https://html.spec.whatwg.org/#window 11347. https://html.spec.whatwg.org/#dom-opener 11348. https://html.spec.whatwg.org/#noopener 11349. https://html.spec.whatwg.org/#top-level-traversable 11350. https://html.spec.whatwg.org/#auxiliary-browsing-context 11351. https://html.spec.whatwg.org/#navigable 11352. https://html.spec.whatwg.org/#nav-target 11353. https://html.spec.whatwg.org/#top-level-traversable 11354. https://html.spec.whatwg.org/#auxiliary-browsing-context 11355. https://html.spec.whatwg.org/#nav-parent 11356. https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types/noreferrer 11357. https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types/noreferrer 11358. https://html.spec.whatwg.org/#link-type-noreferrer 11359. https://html.spec.whatwg.org/#the-a-element 11360. https://html.spec.whatwg.org/#the-area-element 11361. https://html.spec.whatwg.org/#the-form-element 11362. https://html.spec.whatwg.org/#hyperlink 11363. https://html.spec.whatwg.org/#hyperlink-annotation 11364. https://html.spec.whatwg.org/#link-type-noopener 11365. https://html.spec.whatwg.org/#noreferrer-a-area-processing-model 11366. https://html.spec.whatwg.org/#link-type-opener 11367. https://html.spec.whatwg.org/#the-a-element 11368. https://html.spec.whatwg.org/#the-area-element 11369. https://html.spec.whatwg.org/#the-form-element 11370. https://html.spec.whatwg.org/#hyperlink 11371. https://html.spec.whatwg.org/#hyperlink-annotation 11372. https://html.spec.whatwg.org/#top-level-traversable 11373. https://html.spec.whatwg.org/#hyperlink 11374. https://html.spec.whatwg.org/#auxiliary-browsing-context 11375. https://html.spec.whatwg.org/#opener-processing-model 11376. https://html.spec.whatwg.org/#link-type-opener 11377. https://html.spec.whatwg.org/#link-type-pingback 11378. https://html.spec.whatwg.org/#the-link-element 11379. https://html.spec.whatwg.org/#external-resource-link 11380. https://html.spec.whatwg.org/#body-ok 11381. https://html.spec.whatwg.org/#link-type-pingback 11382. https://html.spec.whatwg.org/#refsPINGBACK 11383. https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types/preconnect 11384. https://html.spec.whatwg.org/#link-type-preconnect 11385. https://html.spec.whatwg.org/#the-link-element 11386. https://html.spec.whatwg.org/#external-resource-link 11387. https://html.spec.whatwg.org/#body-ok 11388. https://html.spec.whatwg.org/#link-type-preconnect 11389. https://html.spec.whatwg.org/#concept-origin 11390. https://html.spec.whatwg.org/#concept-origin 11391. https://html.spec.whatwg.org/#link-type-preconnect 11392. https://html.spec.whatwg.org/#delay-the-load-event 11393. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 11394. https://html.spec.whatwg.org/#external-resource-link 11395. https://html.spec.whatwg.org/#the-link-element 11396. https://html.spec.whatwg.org/#browsing-context-connected 11397. https://html.spec.whatwg.org/#external-resource-link 11398. https://html.spec.whatwg.org/#the-link-element 11399. https://html.spec.whatwg.org/#becomes-browsing-context-connected 11400. https://html.spec.whatwg.org/#attr-link-href 11401. https://html.spec.whatwg.org/#the-link-element 11402. https://html.spec.whatwg.org/#external-resource-link 11403. https://html.spec.whatwg.org/#browsing-context-connected 11404. https://html.spec.whatwg.org/#attr-link-crossorigin 11405. https://html.spec.whatwg.org/#the-link-element 11406. https://html.spec.whatwg.org/#external-resource-link 11407. https://html.spec.whatwg.org/#browsing-context-connected 11408. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 11409. https://html.spec.whatwg.org/#the-link-element 11410. https://html.spec.whatwg.org/#create-link-options-from-element 11411. https://html.spec.whatwg.org/#preconnect 11412. https://html.spec.whatwg.org/#process-a-link-header 11413. https://html.spec.whatwg.org/#link-processing-options 11414. https://html.spec.whatwg.org/#preconnect 11415. https://html.spec.whatwg.org/#link-processing-options 11416. https://html.spec.whatwg.org/#link-options-href 11417. https://html.spec.whatwg.org/#encoding-parsing-a-url 11418. https://html.spec.whatwg.org/#link-options-href 11419. https://html.spec.whatwg.org/#link-options-base-url 11420. https://github.com/whatwg/html/issues/9715 11421. https://url.spec.whatwg.org/#concept-url-scheme 11422. https://fetch.spec.whatwg.org/#http-scheme 11423. https://fetch.spec.whatwg.org/#determine-the-network-partition-key 11424. https://html.spec.whatwg.org/#link-options-environment 11425. https://html.spec.whatwg.org/#link-options-crossorigin 11426. https://html.spec.whatwg.org/#attr-crossorigin-anonymous 11427. https://html.spec.whatwg.org/#link-options-origin 11428. https://html.spec.whatwg.org/#same-origin 11429. https://url.spec.whatwg.org/#concept-url-origin 11430. https://fetch.spec.whatwg.org/#concept-connection-obtain 11431. https://url.spec.whatwg.org/#concept-url-origin 11432. https://fetch.spec.whatwg.org/#concept-connection-pool 11433. https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types/prefetch 11434. https://html.spec.whatwg.org/#link-type-prefetch 11435. https://html.spec.whatwg.org/#the-link-element 11436. https://html.spec.whatwg.org/#external-resource-link 11437. https://html.spec.whatwg.org/#body-ok 11438. https://html.spec.whatwg.org/#link-type-prefetch 11439. https://fetch.spec.whatwg.org/#concept-fetch 11440. https://html.spec.whatwg.org/#link-type-prefetch 11441. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 11442. https://html.spec.whatwg.org/#external-resource-link 11443. https://html.spec.whatwg.org/#the-link-element 11444. https://html.spec.whatwg.org/#browsing-context-connected 11445. https://html.spec.whatwg.org/#external-resource-link 11446. https://html.spec.whatwg.org/#the-link-element 11447. https://html.spec.whatwg.org/#becomes-browsing-context-connected 11448. https://html.spec.whatwg.org/#attr-link-href 11449. https://html.spec.whatwg.org/#the-link-element 11450. https://html.spec.whatwg.org/#external-resource-link 11451. https://html.spec.whatwg.org/#browsing-context-connected 11452. https://html.spec.whatwg.org/#attr-link-crossorigin 11453. https://html.spec.whatwg.org/#the-link-element 11454. https://html.spec.whatwg.org/#external-resource-link 11455. https://html.spec.whatwg.org/#browsing-context-connected 11456. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 11457. https://html.spec.whatwg.org/#link-type-prefetch 11458. https://html.spec.whatwg.org/#the-link-element 11459. https://html.spec.whatwg.org/#attr-link-href 11460. https://html.spec.whatwg.org/#create-link-options-from-element 11461. https://html.spec.whatwg.org/#link-options-destination 11462. https://html.spec.whatwg.org/#create-a-link-request 11463. https://fetch.spec.whatwg.org/#concept-request-initiator 11464. https://fetch.spec.whatwg.org/#concept-response 11465. https://infra.spec.whatwg.org/#byte-sequence 11466. https://fetch.spec.whatwg.org/#concept-network-error 11467. https://dom.spec.whatwg.org/#concept-event-fire 11468. https://html.spec.whatwg.org/#event-error 11469. https://dom.spec.whatwg.org/#concept-event-fire 11470. https://html.spec.whatwg.org/#event-load 11471. https://fetch.spec.whatwg.org/#concept-fetch 11472. https://fetch.spec.whatwg.org/#process-response-end-of-body 11473. https://html.spec.whatwg.org/#process-a-link-header 11474. https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types/preload 11475. https://html.spec.whatwg.org/#link-type-preload 11476. https://html.spec.whatwg.org/#the-link-element 11477. https://html.spec.whatwg.org/#external-resource-link 11478. https://html.spec.whatwg.org/#body-ok 11479. https://html.spec.whatwg.org/#link-type-preload 11480. https://fetch.spec.whatwg.org/#concept-fetch 11481. https://fetch.spec.whatwg.org/#concept-potential-destination 11482. https://html.spec.whatwg.org/#attr-link-as 11483. https://fetch.spec.whatwg.org/#request-priority 11484. https://html.spec.whatwg.org/#attr-link-fetchpriority 11485. https://html.spec.whatwg.org/#dom-img-decode 11486. https://drafts.csswg.org/cssom/#create-a-css-style-sheet 11487. https://html.spec.whatwg.org/#link-type-preload 11488. https://html.spec.whatwg.org/#delay-the-load-event 11489. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 11490. https://html.spec.whatwg.org/#external-resource-link 11491. https://html.spec.whatwg.org/#the-link-element 11492. https://html.spec.whatwg.org/#browsing-context-connected 11493. https://html.spec.whatwg.org/#external-resource-link 11494. https://html.spec.whatwg.org/#the-link-element 11495. https://html.spec.whatwg.org/#becomes-browsing-context-connected 11496. https://html.spec.whatwg.org/#attr-link-href 11497. https://html.spec.whatwg.org/#the-link-element 11498. https://html.spec.whatwg.org/#external-resource-link 11499. https://html.spec.whatwg.org/#browsing-context-connected 11500. https://html.spec.whatwg.org/#attr-link-as 11501. https://html.spec.whatwg.org/#the-link-element 11502. https://html.spec.whatwg.org/#external-resource-link 11503. https://html.spec.whatwg.org/#browsing-context-connected 11504. https://html.spec.whatwg.org/#attr-link-type 11505. https://html.spec.whatwg.org/#the-link-element 11506. https://html.spec.whatwg.org/#external-resource-link 11507. https://html.spec.whatwg.org/#browsing-context-connected 11508. https://html.spec.whatwg.org/#attr-link-type 11509. https://fetch.spec.whatwg.org/#concept-request-destination 11510. https://html.spec.whatwg.org/#attr-link-media 11511. https://html.spec.whatwg.org/#the-link-element 11512. https://html.spec.whatwg.org/#external-resource-link 11513. https://html.spec.whatwg.org/#browsing-context-connected 11514. https://html.spec.whatwg.org/#attr-link-media 11515. https://html.spec.whatwg.org/#matches-the-environment 11516. https://html.spec.whatwg.org/#document 11517. https://infra.spec.whatwg.org/#ordered-map 11518. https://infra.spec.whatwg.org/#struct 11519. https://infra.spec.whatwg.org/#struct-item 11520. https://url.spec.whatwg.org/#concept-url 11521. https://fetch.spec.whatwg.org/#concept-request-mode 11522. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 11523. https://infra.spec.whatwg.org/#struct 11524. https://infra.spec.whatwg.org/#struct-item 11525. https://fetch.spec.whatwg.org/#concept-response 11526. https://fetch.spec.whatwg.org/#concept-response 11527. https://html.spec.whatwg.org/#window 11528. https://url.spec.whatwg.org/#concept-url 11529. https://fetch.spec.whatwg.org/#concept-response 11530. https://html.spec.whatwg.org/#preload-key 11531. https://html.spec.whatwg.org/#preload-url 11532. https://html.spec.whatwg.org/#preload-destination 11533. https://html.spec.whatwg.org/#preload-mode 11534. https://html.spec.whatwg.org/#preload-credentials-mode 11535. https://html.spec.whatwg.org/#concept-document-window 11536. https://html.spec.whatwg.org/#map-of-preloaded-resources 11537. https://infra.spec.whatwg.org/#map-exists 11538. https://w3c.github.io/webappsec-subresource-integrity/#parse-metadata 11539. https://w3c.github.io/webappsec-subresource-integrity/#parse-metadata 11540. https://html.spec.whatwg.org/#preload-integrity-metadata 11541. https://github.com/w3c/webappsec-subresource-integrity/issues/116 11542. https://fetch.spec.whatwg.org/#concept-network-error 11543. https://html.spec.whatwg.org/#refsSRI 11544. https://infra.spec.whatwg.org/#map-remove 11545. https://html.spec.whatwg.org/#preload-response 11546. https://html.spec.whatwg.org/#preload-on-response-available 11547. https://html.spec.whatwg.org/#preload-response 11548. https://mimesniff.spec.whatwg.org/#parse-a-mime-type 11549. https://mimesniff.spec.whatwg.org/#supported-by-the-user-agent 11550. https://mimesniff.spec.whatwg.org/#audio-or-video-mime-type 11551. https://fetch.spec.whatwg.org/#request-destination-script-like 11552. https://mimesniff.spec.whatwg.org/#javascript-mime-type 11553. https://mimesniff.spec.whatwg.org/#image-mime-type 11554. https://mimesniff.spec.whatwg.org/#font-mime-type 11555. https://mimesniff.spec.whatwg.org/#json-mime-type 11556. https://mimesniff.spec.whatwg.org/#mime-type-essence 11557. https://html.spec.whatwg.org/#text/css 11558. https://mimesniff.spec.whatwg.org/#mime-type-essence 11559. https://html.spec.whatwg.org/#text/vtt 11560. https://fetch.spec.whatwg.org/#concept-request 11561. https://html.spec.whatwg.org/#preload-key 11562. https://html.spec.whatwg.org/#preload-url 11563. https://fetch.spec.whatwg.org/#concept-request-url 11564. https://html.spec.whatwg.org/#preload-destination 11565. https://fetch.spec.whatwg.org/#concept-request-destination 11566. https://html.spec.whatwg.org/#preload-mode 11567. https://fetch.spec.whatwg.org/#concept-request-mode 11568. https://html.spec.whatwg.org/#preload-credentials-mode 11569. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 11570. https://fetch.spec.whatwg.org/#concept-potential-destination-translate 11571. https://html.spec.whatwg.org/#link-processing-options 11572. https://fetch.spec.whatwg.org/#concept-response 11573. https://html.spec.whatwg.org/#link-options-type 11574. https://html.spec.whatwg.org/#match-preload-type 11575. https://html.spec.whatwg.org/#link-options-destination 11576. https://html.spec.whatwg.org/#link-options-destination 11577. https://html.spec.whatwg.org/#link-options-source-set 11578. https://html.spec.whatwg.org/#link-options-href 11579. https://html.spec.whatwg.org/#select-an-image-source-from-a-source-set 11580. https://html.spec.whatwg.org/#link-options-source-set 11581. https://html.spec.whatwg.org/#create-a-link-request 11582. https://html.spec.whatwg.org/#preload-entry 11583. https://html.spec.whatwg.org/#preload-integrity-metadata 11584. https://html.spec.whatwg.org/#link-options-integrity 11585. https://html.spec.whatwg.org/#create-a-preload-key 11586. https://html.spec.whatwg.org/#link-options-document 11587. https://fetch.spec.whatwg.org/#request-initiator-type 11588. https://html.spec.whatwg.org/#document 11589. https://fetch.spec.whatwg.org/#finalize-and-report-timing 11590. https://html.spec.whatwg.org/#concept-relevant-global 11591. https://fetch.spec.whatwg.org/#concept-fetch 11592. https://fetch.spec.whatwg.org/#process-response-end-of-body 11593. https://fetch.spec.whatwg.org/#concept-response 11594. https://infra.spec.whatwg.org/#byte-sequence 11595. https://infra.spec.whatwg.org/#byte-sequence 11596. https://fetch.spec.whatwg.org/#concept-response-body 11597. https://fetch.spec.whatwg.org/#byte-sequence-as-a-body 11598. https://fetch.spec.whatwg.org/#process-response-end-of-body 11599. https://fetch.spec.whatwg.org/#bodyinit-safely-extract 11600. https://fetch.spec.whatwg.org/#concept-response-body 11601. https://fetch.spec.whatwg.org/#concept-network-error 11602. https://w3c.github.io/hr-time/#dfn-unsafe-shared-current-time 11603. https://html.spec.whatwg.org/#link-options-document 11604. https://html.spec.whatwg.org/#link-options-document 11605. https://html.spec.whatwg.org/#preload-on-response-available 11606. https://html.spec.whatwg.org/#preload-response 11607. https://html.spec.whatwg.org/#preload-on-response-available 11608. https://html.spec.whatwg.org/#document 11609. https://html.spec.whatwg.org/#preload-response 11610. https://html.spec.whatwg.org/#map-of-preloaded-resources 11611. https://html.spec.whatwg.org/#link-options-document 11612. https://html.spec.whatwg.org/#link-options-on-document-ready 11613. https://html.spec.whatwg.org/#link-options-document 11614. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 11615. https://html.spec.whatwg.org/#the-link-element 11616. https://html.spec.whatwg.org/#update-the-source-set 11617. https://html.spec.whatwg.org/#create-link-options-from-element 11618. https://html.spec.whatwg.org/#preload 11619. https://fetch.spec.whatwg.org/#concept-response 11620. https://fetch.spec.whatwg.org/#concept-network-error 11621. https://dom.spec.whatwg.org/#concept-event-fire 11622. https://html.spec.whatwg.org/#event-error 11623. https://dom.spec.whatwg.org/#concept-event-fire 11624. https://html.spec.whatwg.org/#event-load 11625. https://github.com/whatwg/html/issues/1142 11626. https://html.spec.whatwg.org/#process-a-link-header 11627. https://html.spec.whatwg.org/#link-processing-options 11628. https://html.spec.whatwg.org/#preload 11629. https://html.spec.whatwg.org/#link-type-privacy-policy 11630. https://html.spec.whatwg.org/#the-link-element 11631. https://html.spec.whatwg.org/#the-a-element 11632. https://html.spec.whatwg.org/#the-area-element 11633. https://html.spec.whatwg.org/#hyperlink 11634. https://html.spec.whatwg.org/#link-type-privacy-policy 11635. https://html.spec.whatwg.org/#refsRFC6903 11636. https://html.spec.whatwg.org/#link-type-search 11637. https://html.spec.whatwg.org/#the-link-element 11638. https://html.spec.whatwg.org/#the-a-element 11639. https://html.spec.whatwg.org/#the-area-element 11640. https://html.spec.whatwg.org/#the-form-element 11641. https://html.spec.whatwg.org/#hyperlink 11642. https://html.spec.whatwg.org/#link-type-search 11643. https://html.spec.whatwg.org/#the-link-element 11644. https://html.spec.whatwg.org/#link-type-search 11645. https://html.spec.whatwg.org/#refsOPENSEARCH 11646. https://html.spec.whatwg.org/#link-type-stylesheet 11647. https://html.spec.whatwg.org/#the-link-element 11648. https://html.spec.whatwg.org/#external-resource-link 11649. https://html.spec.whatwg.org/#body-ok 11650. https://drafts.csswg.org/cssom/#css-style-sheet 11651. https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative_style_sheets 11652. https://html.spec.whatwg.org/#rel-alternate 11653. https://html.spec.whatwg.org/#the-link-element 11654. https://html.spec.whatwg.org/#attr-title 11655. https://html.spec.whatwg.org/#the-link-element 11656. https://html.spec.whatwg.org/#link-type-stylesheet 11657. https://html.spec.whatwg.org/#text/css 11658. https://html.spec.whatwg.org/#the-link-element 11659. https://html.spec.whatwg.org/#implicitly-potentially-render-blocking 11660. https://dom.spec.whatwg.org/#concept-node-document 11661. https://html.spec.whatwg.org/#attr-link-disabled 11662. https://html.spec.whatwg.org/#the-link-element 11663. https://html.spec.whatwg.org/#link-type-stylesheet 11664. https://drafts.csswg.org/cssom/#disable-a-css-style-sheet 11665. https://drafts.csswg.org/cssom/#associated-css-style-sheet 11666. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 11667. https://html.spec.whatwg.org/#external-resource-link 11668. https://html.spec.whatwg.org/#the-link-element 11669. https://html.spec.whatwg.org/#browsing-context-connected 11670. https://html.spec.whatwg.org/#external-resource-link 11671. https://html.spec.whatwg.org/#the-link-element 11672. https://html.spec.whatwg.org/#becomes-browsing-context-connected 11673. https://html.spec.whatwg.org/#attr-link-href 11674. https://html.spec.whatwg.org/#the-link-element 11675. https://html.spec.whatwg.org/#external-resource-link 11676. https://html.spec.whatwg.org/#browsing-context-connected 11677. https://html.spec.whatwg.org/#attr-link-disabled 11678. https://html.spec.whatwg.org/#the-link-element 11679. https://html.spec.whatwg.org/#external-resource-link 11680. https://html.spec.whatwg.org/#browsing-context-connected 11681. https://html.spec.whatwg.org/#attr-link-crossorigin 11682. https://html.spec.whatwg.org/#the-link-element 11683. https://html.spec.whatwg.org/#external-resource-link 11684. https://html.spec.whatwg.org/#browsing-context-connected 11685. https://html.spec.whatwg.org/#attr-link-type 11686. https://html.spec.whatwg.org/#the-link-element 11687. https://html.spec.whatwg.org/#external-resource-link 11688. https://html.spec.whatwg.org/#browsing-context-connected 11689. https://html.spec.whatwg.org/#content-type 11690. https://html.spec.whatwg.org/#attr-link-type 11691. https://html.spec.whatwg.org/#the-link-element 11692. https://html.spec.whatwg.org/#external-resource-link 11693. https://html.spec.whatwg.org/#browsing-context-connected 11694. https://html.spec.whatwg.org/#attr-link-type 11695. https://html.spec.whatwg.org/#external-resource-link 11696. https://html.spec.whatwg.org/#browsing-context-connected 11697. https://html.spec.whatwg.org/#the-link-is-an-alternative-stylesheet 11698. https://dom.spec.whatwg.org/#concept-document-quirks 11699. https://html.spec.whatwg.org/#same-origin 11700. https://url.spec.whatwg.org/#concept-url 11701. https://html.spec.whatwg.org/#content-type 11702. https://html.spec.whatwg.org/#text/css 11703. https://html.spec.whatwg.org/#linked-resource-fetch-setup-steps 11704. https://html.spec.whatwg.org/#the-link-element 11705. https://fetch.spec.whatwg.org/#concept-request 11706. https://html.spec.whatwg.org/#attr-link-disabled 11707. https://html.spec.whatwg.org/#contributes-a-script-blocking-style-sheet 11708. https://infra.spec.whatwg.org/#set-append 11709. https://dom.spec.whatwg.org/#concept-node-document 11710. https://html.spec.whatwg.org/#script-blocking-style-sheet-set 11711. https://html.spec.whatwg.org/#attr-link-media 11712. https://html.spec.whatwg.org/#matches-the-environment 11713. https://html.spec.whatwg.org/#potentially-render-blocking 11714. https://html.spec.whatwg.org/#block-rendering 11715. https://html.spec.whatwg.org/#render-blocking 11716. https://fetch.spec.whatwg.org/#request-render-blocking 11717. https://github.com/whatwg/html/issues/968 11718. https://drafts.csswg.org/cssom/#fetching-css-style-sheets 11719. https://html.spec.whatwg.org/#default-fetch-and-process-the-linked-resource 11720. https://html.spec.whatwg.org/#critical-subresources 11721. https://fetch.spec.whatwg.org/#concept-request 11722. https://fetch.spec.whatwg.org/#request-render-blocking 11723. https://html.spec.whatwg.org/#the-link-element 11724. https://html.spec.whatwg.org/#render-blocking 11725. https://html.spec.whatwg.org/#process-the-linked-resource 11726. https://html.spec.whatwg.org/#the-link-element 11727. https://fetch.spec.whatwg.org/#concept-response 11728. https://infra.spec.whatwg.org/#byte-sequence 11729. https://html.spec.whatwg.org/#content-type 11730. https://html.spec.whatwg.org/#text/css 11731. https://html.spec.whatwg.org/#external-resource-link 11732. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 11733. https://html.spec.whatwg.org/#fetch-and-process-the-linked-resource 11734. https://infra.spec.whatwg.org/#list-remove 11735. https://dom.spec.whatwg.org/#concept-node-document 11736. https://html.spec.whatwg.org/#script-blocking-style-sheet-set 11737. https://drafts.csswg.org/cssom/#associated-css-style-sheet 11738. https://drafts.csswg.org/cssom/#remove-a-css-style-sheet 11739. https://drafts.csswg.org/cssom/#create-a-css-style-sheet 11740. https://drafts.csswg.org/cssom/#concept-css-style-sheet-type 11741. https://html.spec.whatwg.org/#text/css 11742. https://drafts.csswg.org/cssom/#concept-css-style-sheet-location 11743. https://fetch.spec.whatwg.org/#concept-response-url-list 11744. https://github.com/w3c/csswg-drafts/issues/9316 11745. https://drafts.csswg.org/cssom/#concept-css-style-sheet-owner-node 11746. https://drafts.csswg.org/cssom/#concept-css-style-sheet-media 11747. https://html.spec.whatwg.org/#attr-link-media 11748. https://drafts.csswg.org/cssom/#concept-css-style-sheet-title 11749. https://html.spec.whatwg.org/#attr-link-title 11750. https://dom.spec.whatwg.org/#in-a-document-tree 11751. https://drafts.csswg.org/cssom/#concept-css-style-sheet-alternate-flag 11752. https://html.spec.whatwg.org/#the-link-is-an-alternative-stylesheet 11753. https://html.spec.whatwg.org/#explicitly-enabled 11754. https://drafts.csswg.org/cssom/#concept-css-style-sheet-origin-clean-flag 11755. https://html.spec.whatwg.org/#cors-same-origin 11756. https://drafts.csswg.org/cssom/#concept-css-style-sheet-parent-css-style-sheet 11757. https://drafts.csswg.org/cssom/#concept-css-style-sheet-owner-css-rule 11758. https://drafts.csswg.org/cssom/#concept-css-style-sheet-disabled-flag 11759. https://drafts.csswg.org/cssom/#concept-css-style-sheet-css-rules 11760. https://github.com/whatwg/html/issues/2997 11761. https://drafts.csswg.org/css-syntax/#environment-encoding 11762. https://html.spec.whatwg.org/#refsCSSSYNTAX 11763. https://html.spec.whatwg.org/#attr-link-charset 11764. https://encoding.spec.whatwg.org/#concept-encoding-get 11765. https://html.spec.whatwg.org/#refsENCODING 11766. https://dom.spec.whatwg.org/#concept-document-encoding 11767. https://html.spec.whatwg.org/#refsDOM 11768. https://dom.spec.whatwg.org/#concept-event-fire 11769. https://html.spec.whatwg.org/#event-load 11770. https://dom.spec.whatwg.org/#concept-event-fire 11771. https://html.spec.whatwg.org/#event-error 11772. https://html.spec.whatwg.org/#contributes-a-script-blocking-style-sheet 11773. https://infra.spec.whatwg.org/#assert 11774. https://dom.spec.whatwg.org/#concept-node-document 11775. https://html.spec.whatwg.org/#script-blocking-style-sheet-set 11776. https://infra.spec.whatwg.org/#list-contain 11777. https://infra.spec.whatwg.org/#list-remove 11778. https://dom.spec.whatwg.org/#concept-node-document 11779. https://html.spec.whatwg.org/#script-blocking-style-sheet-set 11780. https://html.spec.whatwg.org/#unblock-rendering 11781. https://html.spec.whatwg.org/#process-a-link-header 11782. https://html.spec.whatwg.org/#link-type-tag 11783. https://html.spec.whatwg.org/#the-a-element 11784. https://html.spec.whatwg.org/#the-area-element 11785. https://html.spec.whatwg.org/#hyperlink 11786. https://html.spec.whatwg.org/#link-type-tag 11787. https://html.spec.whatwg.org/#tag-cloud 11788. https://html.spec.whatwg.org/#link-type-tag 11789. https://html.spec.whatwg.org/#the-article-element 11790. https://html.spec.whatwg.org/#link-type-terms-of-service 11791. https://html.spec.whatwg.org/#the-link-element 11792. https://html.spec.whatwg.org/#the-a-element 11793. https://html.spec.whatwg.org/#the-area-element 11794. https://html.spec.whatwg.org/#hyperlink 11795. https://html.spec.whatwg.org/#link-type-terms-of-service 11796. https://html.spec.whatwg.org/#refsRFC6903 11797. https://html.spec.whatwg.org/#link-type-next 11798. https://html.spec.whatwg.org/#the-link-element 11799. https://html.spec.whatwg.org/#the-a-element 11800. https://html.spec.whatwg.org/#the-area-element 11801. https://html.spec.whatwg.org/#the-form-element 11802. https://html.spec.whatwg.org/#hyperlink 11803. https://html.spec.whatwg.org/#link-type-next 11804. https://html.spec.whatwg.org/#link-type-next 11805. https://html.spec.whatwg.org/#the-link-element 11806. https://html.spec.whatwg.org/#link-type-dns-prefetch 11807. https://html.spec.whatwg.org/#link-type-preconnect 11808. https://html.spec.whatwg.org/#link-type-prefetch 11809. https://html.spec.whatwg.org/#link-type-preconnect 11810. https://html.spec.whatwg.org/#link-type-prev 11811. https://html.spec.whatwg.org/#the-link-element 11812. https://html.spec.whatwg.org/#the-a-element 11813. https://html.spec.whatwg.org/#the-area-element 11814. https://html.spec.whatwg.org/#the-form-element 11815. https://html.spec.whatwg.org/#hyperlink 11816. https://html.spec.whatwg.org/#link-type-prev 11817. https://html.spec.whatwg.org/#link-type-prev 11818. https://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions 11819. https://html.spec.whatwg.org/#refsMFREL 11820. https://url.spec.whatwg.org/#syntax-url-absolute 11821. https://html.spec.whatwg.org/#the-link-element 11822. https://html.spec.whatwg.org/#the-link-element 11823. https://html.spec.whatwg.org/#the-link-element 11824. https://html.spec.whatwg.org/#hyperlink 11825. https://html.spec.whatwg.org/#the-link-element 11826. https://html.spec.whatwg.org/#external-resource-link 11827. https://html.spec.whatwg.org/#the-a-element 11828. https://html.spec.whatwg.org/#the-area-element 11829. https://html.spec.whatwg.org/#the-a-element 11830. https://html.spec.whatwg.org/#the-area-element 11831. https://html.spec.whatwg.org/#the-a-element 11832. https://html.spec.whatwg.org/#the-area-element 11833. https://html.spec.whatwg.org/#hyperlink 11834. https://html.spec.whatwg.org/#the-a-element 11835. https://html.spec.whatwg.org/#the-area-element 11836. https://html.spec.whatwg.org/#external-resource-link 11837. https://html.spec.whatwg.org/#the-a-element 11838. https://html.spec.whatwg.org/#the-area-element 11839. https://html.spec.whatwg.org/#hyperlink-annotation 11840. https://html.spec.whatwg.org/#hyperlink 11841. https://html.spec.whatwg.org/#the-form-element 11842. https://html.spec.whatwg.org/#the-form-element 11843. https://html.spec.whatwg.org/#the-form-element 11844. https://html.spec.whatwg.org/#hyperlink 11845. https://html.spec.whatwg.org/#the-form-element 11846. https://html.spec.whatwg.org/#external-resource-link 11847. https://html.spec.whatwg.org/#the-form-element 11848. https://html.spec.whatwg.org/#hyperlink-annotation 11849. https://html.spec.whatwg.org/#hyperlink 11850. https://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions 11851. https://html.spec.whatwg.org/#the-link-element 11852. https://html.spec.whatwg.org/#the-a-element 11853. https://html.spec.whatwg.org/#the-area-element 11854. https://html.spec.whatwg.org/#refsMFREL 11855. https://html.spec.whatwg.org/#the-ins-element 11856. https://html.spec.whatwg.org/#the-del-element 11857. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ins 11858. https://html.spec.whatwg.org/#concept-element-categories 11859. https://html.spec.whatwg.org/#flow-content-2 11860. https://html.spec.whatwg.org/#phrasing-content-2 11861. https://html.spec.whatwg.org/#palpable-content-2 11862. https://html.spec.whatwg.org/#concept-element-contexts 11863. https://html.spec.whatwg.org/#phrasing-content-2 11864. https://html.spec.whatwg.org/#concept-element-content-model 11865. https://html.spec.whatwg.org/#transparent 11866. https://html.spec.whatwg.org/#concept-element-tag-omission 11867. https://html.spec.whatwg.org/#concept-element-attributes 11868. https://html.spec.whatwg.org/#global-attributes 11869. https://html.spec.whatwg.org/#attr-mod-cite 11870. https://html.spec.whatwg.org/#attr-mod-datetime 11871. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 11872. https://w3c.github.io/html-aria/#el-ins 11873. https://w3c.github.io/html-aam/#el-ins 11874. https://html.spec.whatwg.org/#concept-element-dom 11875. https://html.spec.whatwg.org/#htmlmodelement 11876. https://html.spec.whatwg.org/#the-ins-element 11877. https://html.spec.whatwg.org/#represents 11878. https://html.spec.whatwg.org/#the-aside-element 11879. https://html.spec.whatwg.org/#phrasing-content-2 11880. https://html.spec.whatwg.org/#paragraph 11881. https://html.spec.whatwg.org/#the-ins-element 11882. https://html.spec.whatwg.org/#paragraph 11883. https://html.spec.whatwg.org/#the-ins-element 11884. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/del 11885. https://html.spec.whatwg.org/#concept-element-categories 11886. https://html.spec.whatwg.org/#flow-content-2 11887. https://html.spec.whatwg.org/#phrasing-content-2 11888. https://html.spec.whatwg.org/#palpable-content-2 11889. https://html.spec.whatwg.org/#concept-element-contexts 11890. https://html.spec.whatwg.org/#phrasing-content-2 11891. https://html.spec.whatwg.org/#concept-element-content-model 11892. https://html.spec.whatwg.org/#transparent 11893. https://html.spec.whatwg.org/#concept-element-tag-omission 11894. https://html.spec.whatwg.org/#concept-element-attributes 11895. https://html.spec.whatwg.org/#global-attributes 11896. https://html.spec.whatwg.org/#attr-mod-cite 11897. https://html.spec.whatwg.org/#attr-mod-datetime 11898. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 11899. https://w3c.github.io/html-aria/#el-del 11900. https://w3c.github.io/html-aam/#el-del 11901. https://html.spec.whatwg.org/#concept-element-dom 11902. https://html.spec.whatwg.org/#htmlmodelement 11903. https://html.spec.whatwg.org/#the-del-element 11904. https://html.spec.whatwg.org/#represents 11905. https://html.spec.whatwg.org/#the-del-element 11906. https://html.spec.whatwg.org/#paragraph 11907. https://html.spec.whatwg.org/#the-ins-element 11908. https://html.spec.whatwg.org/#the-del-element 11909. https://dom.spec.whatwg.org/#concept-document-url 11910. https://url.spec.whatwg.org/#concept-url-fragment 11911. https://html.spec.whatwg.org/#attr-mod-cite 11912. https://html.spec.whatwg.org/#valid-url-potentially-surrounded-by-spaces 11913. https://html.spec.whatwg.org/#encoding-parsing-a-url 11914. https://dom.spec.whatwg.org/#concept-node-document 11915. https://html.spec.whatwg.org/#attr-mod-datetime 11916. https://html.spec.whatwg.org/#valid-date-string-with-optional-time 11917. https://html.spec.whatwg.org/#attr-mod-datetime 11918. https://html.spec.whatwg.org/#parse-a-date-or-time-string 11919. https://html.spec.whatwg.org/#concept-date 11920. https://html.spec.whatwg.org/#concept-datetime 11921. https://html.spec.whatwg.org/#valid-date-string-with-optional-time 11922. https://html.spec.whatwg.org/#concept-date 11923. https://html.spec.whatwg.org/#concept-datetime 11924. https://html.spec.whatwg.org/#concept-datetime 11925. https://html.spec.whatwg.org/#the-ins-element 11926. https://html.spec.whatwg.org/#the-del-element 11927. https://html.spec.whatwg.org/#htmlmodelement 11928. https://developer.mozilla.org/en-US/docs/Web/API/HTMLModElement 11929. https://html.spec.whatwg.org/#htmlelement 11930. https://html.spec.whatwg.org/#htmlconstructor 11931. https://html.spec.whatwg.org/#cereactions 11932. https://html.spec.whatwg.org/#dom-mod-cite 11933. https://html.spec.whatwg.org/#cereactions 11934. https://html.spec.whatwg.org/#dom-mod-datetime 11935. https://html.spec.whatwg.org/#reflect 11936. https://html.spec.whatwg.org/#attr-mod-cite 11937. https://html.spec.whatwg.org/#reflect 11938. https://html.spec.whatwg.org/#attr-mod-datetime 11939. https://html.spec.whatwg.org/#the-ins-element 11940. https://html.spec.whatwg.org/#the-del-element 11941. https://html.spec.whatwg.org/#paragraph 11942. https://html.spec.whatwg.org/#paragraph 11943. https://html.spec.whatwg.org/#the-p-element 11944. https://html.spec.whatwg.org/#the-ins-element 11945. https://html.spec.whatwg.org/#the-del-element 11946. https://html.spec.whatwg.org/#phrasing-content-2 11947. https://html.spec.whatwg.org/#the-p-element 11948. https://html.spec.whatwg.org/#the-ins-element 11949. https://html.spec.whatwg.org/#the-del-element 11950. https://html.spec.whatwg.org/#paragraph 11951. https://html.spec.whatwg.org/#the-ins-element 11952. https://html.spec.whatwg.org/#the-del-element 11953. https://html.spec.whatwg.org/#the-p-element 11954. https://html.spec.whatwg.org/#the-ins-element 11955. https://html.spec.whatwg.org/#the-del-element 11956. https://html.spec.whatwg.org/#the-p-element 11957. https://html.spec.whatwg.org/#the-ins-element 11958. https://html.spec.whatwg.org/#the-del-element 11959. https://html.spec.whatwg.org/#paragraph 11960. https://html.spec.whatwg.org/#the-ol-element 11961. https://html.spec.whatwg.org/#the-ul-element 11962. https://html.spec.whatwg.org/#the-ins-element 11963. https://html.spec.whatwg.org/#the-del-element 11964. https://html.spec.whatwg.org/#the-ins-element 11965. https://html.spec.whatwg.org/#the-del-element 11966. https://html.spec.whatwg.org/#the-li-element 11967. https://html.spec.whatwg.org/#the-li-element 11968. https://html.spec.whatwg.org/#the-del-element 11969. https://html.spec.whatwg.org/#the-ins-element 11970. https://html.spec.whatwg.org/#the-ins-element 11971. https://html.spec.whatwg.org/#the-del-element 11972. https://html.spec.whatwg.org/#the-ins-element 11973. https://html.spec.whatwg.org/#the-del-element 11974. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture 11975. https://developer.mozilla.org/en-US/docs/Web/API/HTMLPictureElement 11976. https://html.spec.whatwg.org/#concept-element-categories 11977. https://html.spec.whatwg.org/#flow-content-2 11978. https://html.spec.whatwg.org/#phrasing-content-2 11979. https://html.spec.whatwg.org/#embedded-content-category 11980. https://html.spec.whatwg.org/#palpable-content-2 11981. https://html.spec.whatwg.org/#concept-element-contexts 11982. https://html.spec.whatwg.org/#embedded-content-category 11983. https://html.spec.whatwg.org/#concept-element-content-model 11984. https://html.spec.whatwg.org/#the-source-element 11985. https://html.spec.whatwg.org/#the-img-element 11986. https://html.spec.whatwg.org/#script-supporting-elements-2 11987. https://html.spec.whatwg.org/#concept-element-tag-omission 11988. https://html.spec.whatwg.org/#concept-element-attributes 11989. https://html.spec.whatwg.org/#global-attributes 11990. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 11991. https://w3c.github.io/html-aria/#el-picture 11992. https://w3c.github.io/html-aam/#el-picture 11993. https://html.spec.whatwg.org/#concept-element-dom 11994. https://html.spec.whatwg.org/#htmlelement 11995. https://html.spec.whatwg.org/#htmlconstructor 11996. https://html.spec.whatwg.org/#the-picture-element 11997. https://html.spec.whatwg.org/#the-img-element 11998. https://drafts.csswg.org/css2/#viewport 11999. https://html.spec.whatwg.org/#represents 12000. https://html.spec.whatwg.org/#the-picture-element 12001. https://html.spec.whatwg.org/#the-video-element 12002. https://html.spec.whatwg.org/#the-audio-element 12003. https://html.spec.whatwg.org/#the-source-element 12004. https://html.spec.whatwg.org/#the-source-element 12005. https://html.spec.whatwg.org/#attr-source-src 12006. https://html.spec.whatwg.org/#the-picture-element 12007. https://html.spec.whatwg.org/#the-picture-element 12008. https://html.spec.whatwg.org/#the-img-element 12009. https://url.spec.whatwg.org/#concept-url 12010. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source 12011. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSourceElement 12012. https://html.spec.whatwg.org/#concept-element-categories 12013. https://html.spec.whatwg.org/#concept-element-contexts 12014. https://html.spec.whatwg.org/#the-picture-element 12015. https://html.spec.whatwg.org/#the-img-element 12016. https://html.spec.whatwg.org/#media-element 12017. https://html.spec.whatwg.org/#flow-content-2 12018. https://html.spec.whatwg.org/#the-track-element 12019. https://html.spec.whatwg.org/#concept-element-content-model 12020. https://html.spec.whatwg.org/#concept-content-nothing 12021. https://html.spec.whatwg.org/#concept-element-tag-omission 12022. https://html.spec.whatwg.org/#syntax-end-tag 12023. https://html.spec.whatwg.org/#concept-element-attributes 12024. https://html.spec.whatwg.org/#global-attributes 12025. https://html.spec.whatwg.org/#attr-source-type 12026. https://html.spec.whatwg.org/#attr-source-media 12027. https://html.spec.whatwg.org/#attr-source-src 12028. https://html.spec.whatwg.org/#the-audio-element 12029. https://html.spec.whatwg.org/#the-video-element 12030. https://html.spec.whatwg.org/#attr-source-srcset 12031. https://html.spec.whatwg.org/#the-picture-element 12032. https://html.spec.whatwg.org/#attr-source-sizes 12033. https://html.spec.whatwg.org/#the-picture-element 12034. https://html.spec.whatwg.org/#attr-dim-width 12035. https://html.spec.whatwg.org/#the-picture-element 12036. https://html.spec.whatwg.org/#attr-dim-height 12037. https://html.spec.whatwg.org/#the-picture-element 12038. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 12039. https://w3c.github.io/html-aria/#el-source 12040. https://w3c.github.io/html-aam/#el-source 12041. https://html.spec.whatwg.org/#concept-element-dom 12042. https://html.spec.whatwg.org/#htmlelement 12043. https://html.spec.whatwg.org/#htmlconstructor 12044. https://html.spec.whatwg.org/#cereactions 12045. https://html.spec.whatwg.org/#dom-source-src 12046. https://html.spec.whatwg.org/#cereactions 12047. https://html.spec.whatwg.org/#dom-source-type 12048. https://html.spec.whatwg.org/#cereactions 12049. https://html.spec.whatwg.org/#dom-source-srcset 12050. https://html.spec.whatwg.org/#cereactions 12051. https://html.spec.whatwg.org/#dom-source-sizes 12052. https://html.spec.whatwg.org/#cereactions 12053. https://html.spec.whatwg.org/#dom-source-media 12054. https://html.spec.whatwg.org/#cereactions 12055. https://html.spec.whatwg.org/#dom-dim-width 12056. https://html.spec.whatwg.org/#cereactions 12057. https://html.spec.whatwg.org/#dom-dim-height 12058. https://html.spec.whatwg.org/#the-source-element 12059. https://html.spec.whatwg.org/#source-set 12060. https://html.spec.whatwg.org/#the-img-element 12061. https://html.spec.whatwg.org/#media-resource 12062. https://html.spec.whatwg.org/#media-element 12063. https://html.spec.whatwg.org/#represents 12064. https://mimesniff.spec.whatwg.org/#valid-mime-type 12065. https://html.spec.whatwg.org/#valid-media-query-list 12066. https://html.spec.whatwg.org/#the-source-element 12067. https://html.spec.whatwg.org/#matches-the-environment 12068. https://html.spec.whatwg.org/#attr-source-media 12069. https://html.spec.whatwg.org/#concept-media-load-algorithm 12070. https://html.spec.whatwg.org/#media-element 12071. https://html.spec.whatwg.org/#the-picture-element 12072. https://html.spec.whatwg.org/#img-environment-changes 12073. https://html.spec.whatwg.org/#the-picture-element 12074. https://html.spec.whatwg.org/#media-element 12075. https://html.spec.whatwg.org/#the-source-element 12076. https://html.spec.whatwg.org/#the-picture-element 12077. https://html.spec.whatwg.org/#srcset-attribute 12078. https://html.spec.whatwg.org/#attr-source-srcset 12079. https://html.spec.whatwg.org/#image-source 12080. https://html.spec.whatwg.org/#source-set 12081. https://html.spec.whatwg.org/#the-source-element 12082. https://html.spec.whatwg.org/#attr-source-srcset 12083. https://html.spec.whatwg.org/#image-candidate-string 12084. https://html.spec.whatwg.org/#width-descriptor 12085. https://html.spec.whatwg.org/#attr-source-sizes 12086. https://html.spec.whatwg.org/#the-img-element 12087. https://html.spec.whatwg.org/#allows-auto-sizes 12088. https://html.spec.whatwg.org/#attr-source-sizes 12089. https://html.spec.whatwg.org/#sizes-attribute 12090. https://html.spec.whatwg.org/#source-size-2 12091. https://html.spec.whatwg.org/#source-set 12092. https://html.spec.whatwg.org/#the-source-element 12093. https://html.spec.whatwg.org/#the-img-element 12094. https://html.spec.whatwg.org/#allows-auto-sizes 12095. https://html.spec.whatwg.org/#attr-source-sizes 12096. https://html.spec.whatwg.org/#the-source-element 12097. https://html.spec.whatwg.org/#valdef-sizes-auto 12098. https://html.spec.whatwg.org/#the-source-element 12099. https://html.spec.whatwg.org/#dimension-attributes 12100. https://html.spec.whatwg.org/#the-img-element 12101. https://html.spec.whatwg.org/#attr-dim-width 12102. https://html.spec.whatwg.org/#attr-dim-height 12103. https://html.spec.whatwg.org/#the-source-element 12104. https://html.spec.whatwg.org/#the-img-element 12105. https://html.spec.whatwg.org/#dimRendering 12106. https://html.spec.whatwg.org/#attr-source-type 12107. https://html.spec.whatwg.org/#source-set 12108. https://html.spec.whatwg.org/#the-source-element 12109. https://html.spec.whatwg.org/#attr-source-type 12110. https://html.spec.whatwg.org/#the-source-element 12111. https://html.spec.whatwg.org/#the-source-element 12112. https://html.spec.whatwg.org/#the-source-element 12113. https://html.spec.whatwg.org/#the-img-element 12114. https://html.spec.whatwg.org/#attr-img-srcset 12115. https://html.spec.whatwg.org/#attr-source-media 12116. https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace 12117. https://infra.spec.whatwg.org/#ascii-case-insensitive 12118. https://html.spec.whatwg.org/#attr-source-type 12119. https://html.spec.whatwg.org/#attr-source-src 12120. https://html.spec.whatwg.org/#the-source-element 12121. https://html.spec.whatwg.org/#media-element 12122. https://url.spec.whatwg.org/#concept-url 12123. https://html.spec.whatwg.org/#media-resource 12124. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 12125. https://html.spec.whatwg.org/#attr-source-type 12126. https://html.spec.whatwg.org/#media-resource 12127. https://html.spec.whatwg.org/#media-resource 12128. https://html.spec.whatwg.org/#refsRFC6381 12129. https://html.spec.whatwg.org/#the-source-element 12130. https://html.spec.whatwg.org/#attr-source-src 12131. https://html.spec.whatwg.org/#attr-source-type 12132. https://html.spec.whatwg.org/#the-video-element 12133. https://html.spec.whatwg.org/#the-audio-element 12134. https://html.spec.whatwg.org/#attr-media-src 12135. https://html.spec.whatwg.org/#media-element 12136. https://html.spec.whatwg.org/#dom-navigator-canplaytype 12137. https://html.spec.whatwg.org/#the-source-element 12138. https://html.spec.whatwg.org/#attr-source-type 12139. https://html.spec.whatwg.org/#attr-source-srcset 12140. https://html.spec.whatwg.org/#attr-source-sizes 12141. https://html.spec.whatwg.org/#the-source-element 12142. https://html.spec.whatwg.org/#html-element-insertion-steps 12143. https://dom.spec.whatwg.org/#concept-tree-parent 12144. https://html.spec.whatwg.org/#media-element 12145. https://html.spec.whatwg.org/#attr-media-src 12146. https://html.spec.whatwg.org/#dom-media-networkstate 12147. https://html.spec.whatwg.org/#dom-media-network_empty 12148. https://html.spec.whatwg.org/#media-element 12149. https://html.spec.whatwg.org/#concept-media-load-algorithm 12150. https://html.spec.whatwg.org/#the-picture-element 12151. https://infra.spec.whatwg.org/#list-iterate 12152. https://dom.spec.whatwg.org/#concept-tree-child 12153. https://html.spec.whatwg.org/#the-img-element 12154. https://html.spec.whatwg.org/#relevant-mutations 12155. https://html.spec.whatwg.org/#the-source-element 12156. https://html.spec.whatwg.org/#html-element-moving-steps 12157. https://html.spec.whatwg.org/#the-picture-element 12158. https://infra.spec.whatwg.org/#list-iterate 12159. https://dom.spec.whatwg.org/#concept-tree-child 12160. https://html.spec.whatwg.org/#the-img-element 12161. https://html.spec.whatwg.org/#relevant-mutations 12162. https://html.spec.whatwg.org/#the-source-element 12163. https://html.spec.whatwg.org/#html-element-removing-steps 12164. https://html.spec.whatwg.org/#the-picture-element 12165. https://infra.spec.whatwg.org/#list-iterate 12166. https://dom.spec.whatwg.org/#concept-tree-child 12167. https://html.spec.whatwg.org/#the-img-element 12168. https://html.spec.whatwg.org/#relevant-mutations 12169. https://html.spec.whatwg.org/#reflect 12170. https://html.spec.whatwg.org/#event-error 12171. https://html.spec.whatwg.org/#the-source-element 12172. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img 12173. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement 12174. https://html.spec.whatwg.org/#concept-element-categories 12175. https://html.spec.whatwg.org/#flow-content-2 12176. https://html.spec.whatwg.org/#phrasing-content-2 12177. https://html.spec.whatwg.org/#embedded-content-category 12178. https://html.spec.whatwg.org/#form-associated-element 12179. https://html.spec.whatwg.org/#attr-hyperlink-usemap 12180. https://html.spec.whatwg.org/#interactive-content-2 12181. https://html.spec.whatwg.org/#palpable-content-2 12182. https://html.spec.whatwg.org/#concept-element-contexts 12183. https://html.spec.whatwg.org/#embedded-content-category 12184. https://html.spec.whatwg.org/#the-picture-element 12185. https://html.spec.whatwg.org/#the-source-element 12186. https://html.spec.whatwg.org/#concept-element-content-model 12187. https://html.spec.whatwg.org/#concept-content-nothing 12188. https://html.spec.whatwg.org/#concept-element-tag-omission 12189. https://html.spec.whatwg.org/#syntax-end-tag 12190. https://html.spec.whatwg.org/#concept-element-attributes 12191. https://html.spec.whatwg.org/#global-attributes 12192. https://html.spec.whatwg.org/#attr-img-alt 12193. https://html.spec.whatwg.org/#attr-img-src 12194. https://html.spec.whatwg.org/#attr-img-srcset 12195. https://html.spec.whatwg.org/#attr-img-sizes 12196. https://html.spec.whatwg.org/#attr-img-crossorigin 12197. https://html.spec.whatwg.org/#attr-hyperlink-usemap 12198. https://html.spec.whatwg.org/#image-map 12199. https://html.spec.whatwg.org/#attr-img-ismap 12200. https://html.spec.whatwg.org/#attr-dim-width 12201. https://html.spec.whatwg.org/#attr-dim-height 12202. https://html.spec.whatwg.org/#attr-img-referrerpolicy 12203. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 12204. https://fetch.spec.whatwg.org/#concept-fetch 12205. https://html.spec.whatwg.org/#attr-img-decoding 12206. https://html.spec.whatwg.org/#attr-img-loading 12207. https://html.spec.whatwg.org/#attr-img-fetchpriority 12208. https://fetch.spec.whatwg.org/#request-priority 12209. https://fetch.spec.whatwg.org/#concept-fetch 12210. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 12211. https://html.spec.whatwg.org/#attr-img-alt 12212. https://w3c.github.io/html-aria/#el-img 12213. https://w3c.github.io/html-aam/#el-img 12214. https://w3c.github.io/html-aria/#el-img-empty-alt 12215. https://w3c.github.io/html-aam/#el-img-empty-alt 12216. https://html.spec.whatwg.org/#concept-element-dom 12217. https://webidl.spec.whatwg.org/#LegacyFactoryFunction 12218. https://html.spec.whatwg.org/#dom-image 12219. https://html.spec.whatwg.org/#htmlelement 12220. https://html.spec.whatwg.org/#htmlconstructor 12221. https://html.spec.whatwg.org/#cereactions 12222. https://html.spec.whatwg.org/#dom-img-alt 12223. https://html.spec.whatwg.org/#cereactions 12224. https://html.spec.whatwg.org/#dom-img-src 12225. https://html.spec.whatwg.org/#cereactions 12226. https://html.spec.whatwg.org/#dom-img-srcset 12227. https://html.spec.whatwg.org/#cereactions 12228. https://html.spec.whatwg.org/#dom-img-sizes 12229. https://html.spec.whatwg.org/#cereactions 12230. https://html.spec.whatwg.org/#dom-img-crossorigin 12231. https://html.spec.whatwg.org/#cereactions 12232. https://html.spec.whatwg.org/#dom-img-usemap 12233. https://html.spec.whatwg.org/#cereactions 12234. https://html.spec.whatwg.org/#dom-img-ismap 12235. https://html.spec.whatwg.org/#cereactions 12236. https://html.spec.whatwg.org/#dom-img-width 12237. https://html.spec.whatwg.org/#cereactions 12238. https://html.spec.whatwg.org/#dom-img-height 12239. https://html.spec.whatwg.org/#dom-img-naturalwidth 12240. https://html.spec.whatwg.org/#dom-img-naturalheight 12241. https://html.spec.whatwg.org/#dom-img-complete 12242. https://html.spec.whatwg.org/#dom-img-currentsrc 12243. https://html.spec.whatwg.org/#cereactions 12244. https://html.spec.whatwg.org/#dom-img-referrerpolicy 12245. https://html.spec.whatwg.org/#cereactions 12246. https://html.spec.whatwg.org/#dom-img-decoding 12247. https://html.spec.whatwg.org/#cereactions 12248. https://html.spec.whatwg.org/#dom-img-loading 12249. https://html.spec.whatwg.org/#cereactions 12250. https://html.spec.whatwg.org/#dom-img-fetchpriority 12251. https://webidl.spec.whatwg.org/#idl-promise 12252. https://html.spec.whatwg.org/#dom-img-decode 12253. https://html.spec.whatwg.org/#HTMLImageElement-partial 12254. https://html.spec.whatwg.org/#the-img-element 12255. https://html.spec.whatwg.org/#the-img-element 12256. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/src 12257. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-srcset 12258. https://html.spec.whatwg.org/#the-source-element 12259. https://html.spec.whatwg.org/#attr-source-srcset 12260. https://html.spec.whatwg.org/#the-picture-element 12261. https://html.spec.whatwg.org/#the-img-element 12262. https://html.spec.whatwg.org/#fallback-content 12263. https://html.spec.whatwg.org/#attr-img-alt 12264. https://html.spec.whatwg.org/#alt 12265. https://html.spec.whatwg.org/#attr-img-src 12266. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 12267. https://dom.spec.whatwg.org/#document-element 12268. https://html.spec.whatwg.org/#refsPNG 12269. https://html.spec.whatwg.org/#refsGIF 12270. https://html.spec.whatwg.org/#refsJPEG 12271. https://html.spec.whatwg.org/#refsPDF 12272. https://html.spec.whatwg.org/#refsXML 12273. https://html.spec.whatwg.org/#refsAPNG 12274. https://html.spec.whatwg.org/#refsSVG 12275. https://html.spec.whatwg.org/#refsMNG 12276. https://html.spec.whatwg.org/#attr-img-srcset 12277. https://html.spec.whatwg.org/#srcset-attribute 12278. https://html.spec.whatwg.org/#attr-img-srcset 12279. https://html.spec.whatwg.org/#attr-img-src 12280. https://html.spec.whatwg.org/#width-descriptor 12281. https://html.spec.whatwg.org/#image-source 12282. https://html.spec.whatwg.org/#source-set 12283. https://html.spec.whatwg.org/#the-source-element 12284. https://html.spec.whatwg.org/#attr-img-srcset 12285. https://html.spec.whatwg.org/#image-candidate-string 12286. https://html.spec.whatwg.org/#width-descriptor 12287. https://html.spec.whatwg.org/#attr-img-sizes 12288. https://html.spec.whatwg.org/#attr-img-srcset 12289. https://html.spec.whatwg.org/#attr-img-loading 12290. https://html.spec.whatwg.org/#attr-loading-lazy-state 12291. https://html.spec.whatwg.org/#attr-img-sizes 12292. https://infra.spec.whatwg.org/#ascii-case-insensitive 12293. https://html.spec.whatwg.org/#sizes-attribute 12294. https://html.spec.whatwg.org/#source-size-2 12295. https://html.spec.whatwg.org/#source-set 12296. https://html.spec.whatwg.org/#the-source-element 12297. https://html.spec.whatwg.org/#the-img-element 12298. https://html.spec.whatwg.org/#attr-img-loading 12299. https://html.spec.whatwg.org/#attr-loading-lazy-state 12300. https://html.spec.whatwg.org/#attr-img-sizes 12301. https://infra.spec.whatwg.org/#ascii-case-insensitive 12302. https://infra.spec.whatwg.org/#ascii-case-insensitive 12303. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin 12304. https://html.spec.whatwg.org/#cors-settings-attribute 12305. https://html.spec.whatwg.org/#the-canvas-element 12306. https://html.spec.whatwg.org/#referrer-policy-attribute 12307. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 12308. https://fetch.spec.whatwg.org/#concept-fetch 12309. https://html.spec.whatwg.org/#refsREFERRERPOLICY 12310. https://html.spec.whatwg.org/#img-decoding-process 12311. https://html.spec.whatwg.org/#image-decoding-hint 12312. https://html.spec.whatwg.org/#missing-value-default 12313. https://html.spec.whatwg.org/#invalid-value-default 12314. https://html.spec.whatwg.org/#attr-img-decoding-auto-state 12315. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/fetchPriority 12316. https://html.spec.whatwg.org/#fetch-priority-attribute 12317. https://fetch.spec.whatwg.org/#request-priority 12318. https://fetch.spec.whatwg.org/#concept-fetch 12319. https://html.spec.whatwg.org/#lazy-loading-attribute 12320. https://html.spec.whatwg.org/#attr-img-loading 12321. https://html.spec.whatwg.org/#attr-loading-eager-state 12322. https://html.spec.whatwg.org/#the-img-element 12323. https://html.spec.whatwg.org/#lazy-load-resumption-steps 12324. https://html.spec.whatwg.org/#the-img-element 12325. https://html.spec.whatwg.org/#lazy-load-resumption-steps 12326. https://html.spec.whatwg.org/#attr-dim-width 12327. https://html.spec.whatwg.org/#attr-dim-height 12328. https://html.spec.whatwg.org/#the-img-element 12329. https://html.spec.whatwg.org/#html-element-insertion-steps 12330. https://html.spec.whatwg.org/#the-picture-element 12331. https://html.spec.whatwg.org/#relevant-mutations 12332. https://html.spec.whatwg.org/#the-img-element 12333. https://html.spec.whatwg.org/#html-element-moving-steps 12334. https://html.spec.whatwg.org/#the-picture-element 12335. https://html.spec.whatwg.org/#relevant-mutations 12336. https://html.spec.whatwg.org/#the-img-element 12337. https://html.spec.whatwg.org/#html-element-removing-steps 12338. https://html.spec.whatwg.org/#the-picture-element 12339. https://html.spec.whatwg.org/#relevant-mutations 12340. https://html.spec.whatwg.org/#the-img-element 12341. https://html.spec.whatwg.org/#the-img-element 12342. https://html.spec.whatwg.org/#the-img-element 12343. https://html.spec.whatwg.org/#attr-img-src 12344. https://html.spec.whatwg.org/#attr-img-alt 12345. https://html.spec.whatwg.org/#attr-img-src 12346. https://html.spec.whatwg.org/#attr-img-alt 12347. https://html.spec.whatwg.org/#img-available 12348. https://html.spec.whatwg.org/#represents 12349. https://html.spec.whatwg.org/#represents 12350. https://html.spec.whatwg.org/#attr-img-src 12351. https://html.spec.whatwg.org/#attr-img-alt 12352. https://html.spec.whatwg.org/#attr-img-alt 12353. https://html.spec.whatwg.org/#img-available 12354. https://html.spec.whatwg.org/#represents 12355. https://html.spec.whatwg.org/#represents 12356. https://html.spec.whatwg.org/#attr-img-alt 12357. https://html.spec.whatwg.org/#attr-img-src 12358. https://html.spec.whatwg.org/#attr-img-alt 12359. https://html.spec.whatwg.org/#attr-img-alt 12360. https://html.spec.whatwg.org/#img-available 12361. https://html.spec.whatwg.org/#represents 12362. https://html.spec.whatwg.org/#attr-img-src 12363. https://html.spec.whatwg.org/#represents 12364. https://html.spec.whatwg.org/#attr-title 12365. https://html.spec.whatwg.org/#the-figure-element 12366. https://html.spec.whatwg.org/#the-figcaption-element 12367. https://html.spec.whatwg.org/#the-figcaption-element 12368. https://html.spec.whatwg.org/#the-figure-element 12369. https://html.spec.whatwg.org/#flow-content-2 12370. https://html.spec.whatwg.org/#inter-element-whitespace 12371. https://html.spec.whatwg.org/#the-img-element 12372. https://html.spec.whatwg.org/#the-figcaption-element 12373. https://html.spec.whatwg.org/#attr-img-src 12374. https://html.spec.whatwg.org/#attr-img-alt 12375. https://html.spec.whatwg.org/#attr-img-alt 12376. https://html.spec.whatwg.org/#represents 12377. https://html.spec.whatwg.org/#represents 12378. https://html.spec.whatwg.org/#attr-img-alt 12379. https://html.spec.whatwg.org/#attr-img-alt 12380. https://html.spec.whatwg.org/#attr-img-alt 12381. https://html.spec.whatwg.org/#attr-title 12382. https://html.spec.whatwg.org/#attr-img-alt 12383. https://html.spec.whatwg.org/#alt 12384. https://html.spec.whatwg.org/#the-img-element 12385. https://html.spec.whatwg.org/#attr-hyperlink-usemap 12386. https://html.spec.whatwg.org/#image-map 12387. https://html.spec.whatwg.org/#the-a-element 12388. https://html.spec.whatwg.org/#attr-hyperlink-href 12389. https://html.spec.whatwg.org/#the-a-element 12390. https://html.spec.whatwg.org/#attr-img-ismap 12391. https://html.spec.whatwg.org/#boolean-attribute 12392. https://html.spec.whatwg.org/#the-a-element 12393. https://html.spec.whatwg.org/#attr-hyperlink-href 12394. https://html.spec.whatwg.org/#attr-hyperlink-usemap 12395. https://html.spec.whatwg.org/#attr-img-ismap 12396. https://html.spec.whatwg.org/#the-source-element 12397. https://html.spec.whatwg.org/#attr-source-media 12398. https://html.spec.whatwg.org/#the-picture-element 12399. https://html.spec.whatwg.org/#the-img-element 12400. https://html.spec.whatwg.org/#dimension-attributes 12401. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/alt 12402. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/srcset 12403. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/sizes 12404. https://html.spec.whatwg.org/#reflect 12405. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/crossOrigin 12406. https://html.spec.whatwg.org/#reflect 12407. https://html.spec.whatwg.org/#attr-img-crossorigin 12408. https://html.spec.whatwg.org/#limited-to-only-known-values 12409. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/useMap 12410. https://html.spec.whatwg.org/#reflect 12411. https://html.spec.whatwg.org/#attr-hyperlink-usemap 12412. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/isMap 12413. https://html.spec.whatwg.org/#reflect 12414. https://html.spec.whatwg.org/#attr-img-ismap 12415. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/referrerPolicy 12416. https://html.spec.whatwg.org/#reflect 12417. https://html.spec.whatwg.org/#attr-img-referrerpolicy 12418. https://html.spec.whatwg.org/#limited-to-only-known-values 12419. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/decoding 12420. https://developer.mozilla.org/en-US/docs/Web/API/SVGImageElement/decoding 12421. https://html.spec.whatwg.org/#reflect 12422. https://html.spec.whatwg.org/#attr-img-decoding 12423. https://html.spec.whatwg.org/#limited-to-only-known-values 12424. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/loading 12425. https://html.spec.whatwg.org/#reflect 12426. https://html.spec.whatwg.org/#attr-img-loading 12427. https://html.spec.whatwg.org/#limited-to-only-known-values 12428. https://html.spec.whatwg.org/#reflect 12429. https://html.spec.whatwg.org/#attr-img-fetchpriority 12430. https://html.spec.whatwg.org/#limited-to-only-known-values 12431. https://html.spec.whatwg.org/#dom-img-width 12432. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/width 12433. https://html.spec.whatwg.org/#dom-img-height 12434. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/height 12435. https://html.spec.whatwg.org/#dom-img-naturalwidth 12436. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/naturalWidth 12437. https://html.spec.whatwg.org/#dom-img-naturalheight 12438. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/naturalHeight 12439. https://html.spec.whatwg.org/#dom-img-complete 12440. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/complete 12441. https://html.spec.whatwg.org/#dom-img-currentsrc 12442. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/currentSrc 12443. https://url.spec.whatwg.org/#syntax-url-absolute 12444. https://html.spec.whatwg.org/#dom-img-decode 12445. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/decode 12446. https://developer.mozilla.org/en-US/docs/Web/API/SVGImageElement/decode 12447. https://html.spec.whatwg.org/#img-decoding-process 12448. https://html.spec.whatwg.org/#in-parallel 12449. https://webidl.spec.whatwg.org/#encodingerror 12450. https://webidl.spec.whatwg.org/#dfn-DOMException 12451. https://html.spec.whatwg.org/#dom-image 12452. https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/Image 12453. https://html.spec.whatwg.org/#the-img-element 12454. https://html.spec.whatwg.org/#attr-dim-width 12455. https://html.spec.whatwg.org/#attr-dim-height 12456. https://drafts.csswg.org/css-values/#px 12457. https://html.spec.whatwg.org/#being-rendered 12458. https://html.spec.whatwg.org/#density-corrected-intrinsic-width-and-height 12459. https://drafts.csswg.org/css-values/#px 12460. https://html.spec.whatwg.org/#density-corrected-intrinsic-width-and-height 12461. https://html.spec.whatwg.org/#img-available 12462. https://html.spec.whatwg.org/#being-rendered 12463. https://html.spec.whatwg.org/#img-available 12464. https://html.spec.whatwg.org/#density-corrected-intrinsic-width-and-height 12465. https://html.spec.whatwg.org/#refsCSS 12466. https://html.spec.whatwg.org/#reflect 12467. https://html.spec.whatwg.org/#density-corrected-intrinsic-width-and-height 12468. https://drafts.csswg.org/css-values/#px 12469. https://html.spec.whatwg.org/#density-corrected-intrinsic-width-and-height 12470. https://html.spec.whatwg.org/#img-available 12471. https://html.spec.whatwg.org/#refsCSS 12472. https://html.spec.whatwg.org/#density-corrected-intrinsic-width-and-height 12473. https://html.spec.whatwg.org/#dom-img-naturalwidth 12474. https://html.spec.whatwg.org/#dom-img-naturalheight 12475. https://drafts.csswg.org/css-images-3/#the-image-orientation 12476. https://html.spec.whatwg.org/#attr-img-src 12477. https://html.spec.whatwg.org/#attr-img-srcset 12478. https://html.spec.whatwg.org/#attr-img-srcset 12479. https://html.spec.whatwg.org/#attr-img-src 12480. https://html.spec.whatwg.org/#the-img-element 12481. https://html.spec.whatwg.org/#current-request 12482. https://html.spec.whatwg.org/#img-req-state 12483. https://html.spec.whatwg.org/#img-all 12484. https://html.spec.whatwg.org/#pending-request 12485. https://html.spec.whatwg.org/#the-img-element 12486. https://html.spec.whatwg.org/#current-request 12487. https://html.spec.whatwg.org/#img-req-state 12488. https://html.spec.whatwg.org/#img-error 12489. https://html.spec.whatwg.org/#pending-request 12490. https://html.spec.whatwg.org/#the-img-element 12491. https://html.spec.whatwg.org/#current-request 12492. https://html.spec.whatwg.org/#img-req-url 12493. https://html.spec.whatwg.org/#queue-a-microtask 12494. https://html.spec.whatwg.org/#update-the-image-data 12495. https://webidl.spec.whatwg.org/#this 12496. https://html.spec.whatwg.org/#concept-relevant-global 12497. https://webidl.spec.whatwg.org/#this 12498. https://dom.spec.whatwg.org/#concept-node-document 12499. https://html.spec.whatwg.org/#fully-active 12500. https://webidl.spec.whatwg.org/#this 12501. https://html.spec.whatwg.org/#current-request 12502. https://html.spec.whatwg.org/#img-req-state 12503. https://html.spec.whatwg.org/#img-error 12504. https://webidl.spec.whatwg.org/#encodingerror 12505. https://webidl.spec.whatwg.org/#dfn-DOMException 12506. https://html.spec.whatwg.org/#in-parallel 12507. https://html.spec.whatwg.org/#the-img-element 12508. https://dom.spec.whatwg.org/#concept-node-document 12509. https://html.spec.whatwg.org/#fully-active 12510. https://html.spec.whatwg.org/#the-img-element 12511. https://html.spec.whatwg.org/#current-request 12512. https://html.spec.whatwg.org/#the-img-element 12513. https://html.spec.whatwg.org/#current-request 12514. https://html.spec.whatwg.org/#img-req-state 12515. https://html.spec.whatwg.org/#img-error 12516. https://html.spec.whatwg.org/#queue-a-global-task 12517. https://html.spec.whatwg.org/#dom-manipulation-task-source 12518. https://webidl.spec.whatwg.org/#encodingerror 12519. https://webidl.spec.whatwg.org/#dfn-DOMException 12520. https://html.spec.whatwg.org/#the-img-element 12521. https://html.spec.whatwg.org/#current-request 12522. https://html.spec.whatwg.org/#img-req-state 12523. https://html.spec.whatwg.org/#img-all 12524. https://html.spec.whatwg.org/#img-decoding-process 12525. https://html.spec.whatwg.org/#queue-a-global-task 12526. https://html.spec.whatwg.org/#dom-manipulation-task-source 12527. https://html.spec.whatwg.org/#queue-a-global-task 12528. https://html.spec.whatwg.org/#dom-manipulation-task-source 12529. https://webidl.spec.whatwg.org/#encodingerror 12530. https://webidl.spec.whatwg.org/#dfn-DOMException 12531. https://html.spec.whatwg.org/#update-the-rendering 12532. https://html.spec.whatwg.org/#event-loop 12533. https://html.spec.whatwg.org/#img-all 12534. https://html.spec.whatwg.org/#dom-img-decode 12535. https://html.spec.whatwg.org/#the-img-element 12536. https://html.spec.whatwg.org/#dom-img-decode 12537. https://html.spec.whatwg.org/#in-parallel 12538. https://html.spec.whatwg.org/#dom-img-decode 12539. https://html.spec.whatwg.org/#dom-animationframeprovider-requestanimationframe 12540. https://html.spec.whatwg.org/#list-of-animation-frame-callbacks 12541. https://html.spec.whatwg.org/#htmlimageelement 12542. https://dom.spec.whatwg.org/#dom-document-createelement 12543. https://html.spec.whatwg.org/#current-global-object 12544. https://html.spec.whatwg.org/#concept-document-window 12545. https://dom.spec.whatwg.org/#concept-create-element 12546. https://infra.spec.whatwg.org/#html-namespace 12547. https://dom.spec.whatwg.org/#concept-element-attributes-set-value 12548. https://html.spec.whatwg.org/#attr-dim-width 12549. https://dom.spec.whatwg.org/#concept-element-attributes-set-value 12550. https://html.spec.whatwg.org/#attr-dim-height 12551. https://html.spec.whatwg.org/#attr-img-alt 12552. https://html.spec.whatwg.org/#attr-title 12553. https://html.spec.whatwg.org/#the-img-element 12554. https://html.spec.whatwg.org/#attr-img-src 12555. https://drafts.csswg.org/css2/#viewport 12556. https://drafts.csswg.org/css-values/#px 12557. https://drafts.csswg.org/css2/#viewport 12558. https://drafts.csswg.org/css2/#viewport 12559. https://drafts.csswg.org/css2/#viewport 12560. https://html.spec.whatwg.org/#device-pixel-ratio 12561. https://html.spec.whatwg.org/#art-direction 12562. https://html.spec.whatwg.org/#device-pixel-ratio 12563. https://html.spec.whatwg.org/#attr-img-src 12564. https://html.spec.whatwg.org/#attr-img-srcset 12565. https://html.spec.whatwg.org/#the-img-element 12566. https://drafts.csswg.org/css2/#viewport 12567. https://html.spec.whatwg.org/#viewport-based-selection 12568. https://html.spec.whatwg.org/#art-direction 12569. https://html.spec.whatwg.org/#attr-img-srcset 12570. https://html.spec.whatwg.org/#the-img-element 12571. https://html.spec.whatwg.org/#attr-img-src 12572. https://html.spec.whatwg.org/#attr-img-src 12573. https://html.spec.whatwg.org/#attr-img-srcset 12574. https://html.spec.whatwg.org/#attr-dim-width 12575. https://html.spec.whatwg.org/#attr-dim-height 12576. https://html.spec.whatwg.org/#viewport-based-selection 12577. https://html.spec.whatwg.org/#attr-img-srcset 12578. https://html.spec.whatwg.org/#attr-img-sizes 12579. https://drafts.csswg.org/css2/#viewport 12580. https://html.spec.whatwg.org/#attr-img-sizes 12581. https://drafts.csswg.org/css-values/#px 12582. https://drafts.csswg.org/css-values/#px 12583. https://html.spec.whatwg.org/#attr-img-sizes 12584. https://html.spec.whatwg.org/#the-img-element 12585. https://html.spec.whatwg.org/#attr-img-src 12586. https://html.spec.whatwg.org/#attr-img-src 12587. https://html.spec.whatwg.org/#attr-img-srcset 12588. https://drafts.csswg.org/css2/#viewport 12589. https://drafts.csswg.org/css2/#viewport 12590. https://html.spec.whatwg.org/#attr-img-sizes 12591. https://html.spec.whatwg.org/#attr-img-sizes 12592. https://drafts.csswg.org/mediaqueries/#typedef-media-condition 12593. https://drafts.csswg.org/css2/#viewport 12594. https://drafts.csswg.org/css2/#viewport 12595. https://drafts.csswg.org/css2/#viewport 12596. https://drafts.csswg.org/css2/#viewport 12597. https://html.spec.whatwg.org/#attr-loading-lazy-state 12598. https://html.spec.whatwg.org/#attr-img-sizes 12599. https://html.spec.whatwg.org/#valdef-sizes-auto 12600. https://html.spec.whatwg.org/#attr-dim-width 12601. https://html.spec.whatwg.org/#source-size-2 12602. https://html.spec.whatwg.org/#valdef-sizes-auto 12603. https://html.spec.whatwg.org/#art-direction 12604. https://html.spec.whatwg.org/#the-picture-element 12605. https://html.spec.whatwg.org/#the-source-element 12606. https://html.spec.whatwg.org/#attr-source-media 12607. https://html.spec.whatwg.org/#the-source-element 12608. https://html.spec.whatwg.org/#attr-source-media 12609. https://html.spec.whatwg.org/#attr-source-srcset 12610. https://html.spec.whatwg.org/#art-direction 12611. https://html.spec.whatwg.org/#device-pixel-ratio 12612. https://drafts.csswg.org/css2/#viewport 12613. https://html.spec.whatwg.org/#image-format-based-selection 12614. https://html.spec.whatwg.org/#attr-source-type 12615. https://html.spec.whatwg.org/#the-source-element 12616. https://html.spec.whatwg.org/#attr-source-type 12617. https://html.spec.whatwg.org/#the-source-element 12618. https://html.spec.whatwg.org/#the-source-element 12619. https://html.spec.whatwg.org/#the-img-element 12620. https://drafts.csswg.org/css2/#viewport 12621. https://html.spec.whatwg.org/#the-img-element 12622. https://html.spec.whatwg.org/#attr-img-srcset 12623. https://html.spec.whatwg.org/#the-picture-element 12624. https://drafts.csswg.org/css-values/#px 12625. https://drafts.csswg.org/css-values/#px 12626. https://html.spec.whatwg.org/#attr-img-alt 12627. https://html.spec.whatwg.org/#alt 12628. https://html.spec.whatwg.org/#attr-dim-width 12629. https://html.spec.whatwg.org/#attr-dim-height 12630. https://html.spec.whatwg.org/#the-picture-element 12631. https://html.spec.whatwg.org/#the-img-element 12632. https://html.spec.whatwg.org/#attr-img-src 12633. https://html.spec.whatwg.org/#the-picture-element 12634. https://html.spec.whatwg.org/#attr-img-src 12635. https://html.spec.whatwg.org/#the-source-element 12636. https://html.spec.whatwg.org/#attr-img-src 12637. https://html.spec.whatwg.org/#attr-img-src 12638. https://html.spec.whatwg.org/#the-picture-element 12639. https://html.spec.whatwg.org/#attr-img-src 12640. https://drafts.csswg.org/css2/#viewport 12641. https://html.spec.whatwg.org/#the-source-element 12642. https://html.spec.whatwg.org/#the-img-element 12643. https://html.spec.whatwg.org/#the-link-element 12644. https://html.spec.whatwg.org/#image-candidate-string 12645. https://html.spec.whatwg.org/#image-candidate-string 12646. https://infra.spec.whatwg.org/#ascii-whitespace 12647. https://html.spec.whatwg.org/#image-candidate-string 12648. https://infra.spec.whatwg.org/#ascii-whitespace 12649. https://infra.spec.whatwg.org/#ascii-whitespace 12650. https://html.spec.whatwg.org/#valid-non-empty-url 12651. https://infra.spec.whatwg.org/#ascii-whitespace 12652. https://infra.spec.whatwg.org/#ascii-whitespace 12653. https://html.spec.whatwg.org/#valid-non-negative-integer 12654. https://infra.spec.whatwg.org/#ascii-whitespace 12655. https://html.spec.whatwg.org/#valid-floating-point-number 12656. https://infra.spec.whatwg.org/#ascii-whitespace 12657. https://html.spec.whatwg.org/#image-candidate-string 12658. https://html.spec.whatwg.org/#width-descriptor-value 12659. https://html.spec.whatwg.org/#image-candidate-string 12660. https://html.spec.whatwg.org/#width-descriptor-value 12661. https://html.spec.whatwg.org/#image-candidate-string 12662. https://html.spec.whatwg.org/#pixel-density-descriptor-value 12663. https://html.spec.whatwg.org/#image-candidate-string 12664. https://html.spec.whatwg.org/#pixel-density-descriptor-value 12665. https://html.spec.whatwg.org/#image-candidate-string 12666. https://html.spec.whatwg.org/#image-candidate-string 12667. https://html.spec.whatwg.org/#image-candidate-string 12668. https://html.spec.whatwg.org/#width-descriptor 12669. https://html.spec.whatwg.org/#image-candidate-string 12670. https://html.spec.whatwg.org/#width-descriptor 12671. https://html.spec.whatwg.org/#image-candidate-string 12672. https://html.spec.whatwg.org/#width-descriptor 12673. https://drafts.csswg.org/css-images/#natural-width 12674. https://html.spec.whatwg.org/#image-candidate-string 12675. https://drafts.csswg.org/css-images/#natural-width 12676. https://html.spec.whatwg.org/#sizes-attribute 12677. https://html.spec.whatwg.org/#image-candidate-string 12678. https://html.spec.whatwg.org/#width-descriptor 12679. https://html.spec.whatwg.org/#valid-source-size-list 12680. https://html.spec.whatwg.org/#refsCSSVALUES 12681. https://html.spec.whatwg.org/#refsMQ 12682. https://html.spec.whatwg.org/#source-size 12683. https://html.spec.whatwg.org/#source-size-value 12684. https://drafts.csswg.org/mediaqueries/#typedef-media-condition 12685. https://html.spec.whatwg.org/#source-size-value 12686. https://html.spec.whatwg.org/#valdef-sizes-auto 12687. https://drafts.csswg.org/css-values/#lengths 12688. https://html.spec.whatwg.org/#valdef-sizes-auto 12689. https://html.spec.whatwg.org/#source-size-value 12690. https://drafts.csswg.org/css-values/#lengths 12691. https://drafts.csswg.org/css-values/#math-function 12692. https://html.spec.whatwg.org/#parse-a-sizes-attribute 12693. https://html.spec.whatwg.org/#source-size-list 12694. https://infra.spec.whatwg.org/#ascii-case-insensitive 12695. https://infra.spec.whatwg.org/#ascii-case-insensitive 12696. https://html.spec.whatwg.org/#the-img-element 12697. https://html.spec.whatwg.org/#update-the-image-data 12698. https://html.spec.whatwg.org/#img-environment-changes 12699. https://html.spec.whatwg.org/#allows-auto-sizes 12700. https://html.spec.whatwg.org/#being-rendered 12701. https://html.spec.whatwg.org/#valdef-sizes-auto 12702. https://drafts.csswg.org/css-images/#concrete-object-size 12703. https://html.spec.whatwg.org/#valdef-sizes-auto 12704. https://html.spec.whatwg.org/#source-size-2 12705. https://html.spec.whatwg.org/#valdef-sizes-auto 12706. https://html.spec.whatwg.org/#attr-source-sizes 12707. https://html.spec.whatwg.org/#the-source-element 12708. https://html.spec.whatwg.org/#attr-img-sizes 12709. https://html.spec.whatwg.org/#the-img-element 12710. https://html.spec.whatwg.org/#valdef-sizes-auto 12711. https://html.spec.whatwg.org/#the-source-element 12712. https://html.spec.whatwg.org/#the-img-element 12713. https://html.spec.whatwg.org/#the-img-element 12714. https://html.spec.whatwg.org/#the-img-element 12715. https://html.spec.whatwg.org/#allows-auto-sizes 12716. https://html.spec.whatwg.org/#attr-dim-width 12717. https://html.spec.whatwg.org/#attr-dim-height 12718. https://html.spec.whatwg.org/#img-contain-size 12719. https://html.spec.whatwg.org/#source-size-value 12720. https://drafts.csswg.org/mediaqueries/#typedef-media-condition 12721. https://html.spec.whatwg.org/#source-size-value 12722. https://drafts.csswg.org/css-values/#vw 12723. https://drafts.csswg.org/css2/#viewport 12724. https://html.spec.whatwg.org/#the-img-element 12725. https://html.spec.whatwg.org/#current-request 12726. https://html.spec.whatwg.org/#image-request 12727. https://html.spec.whatwg.org/#pending-request 12728. https://html.spec.whatwg.org/#image-request 12729. https://html.spec.whatwg.org/#img-req-state 12730. https://html.spec.whatwg.org/#image-request 12731. https://html.spec.whatwg.org/#img-req-url 12732. https://html.spec.whatwg.org/#image-request 12733. https://html.spec.whatwg.org/#img-req-data 12734. https://html.spec.whatwg.org/#image-request 12735. https://html.spec.whatwg.org/#img-req-state 12736. https://html.spec.whatwg.org/#img-inc 12737. https://html.spec.whatwg.org/#img-all 12738. https://html.spec.whatwg.org/#image-request 12739. https://html.spec.whatwg.org/#the-img-element 12740. https://html.spec.whatwg.org/#current-request 12741. https://html.spec.whatwg.org/#img-req-state 12742. https://html.spec.whatwg.org/#img-all 12743. https://html.spec.whatwg.org/#the-img-element 12744. https://html.spec.whatwg.org/#image-request 12745. https://html.spec.whatwg.org/#img-req-state 12746. https://html.spec.whatwg.org/#img-none 12747. https://html.spec.whatwg.org/#the-img-element 12748. https://html.spec.whatwg.org/#current-request 12749. https://html.spec.whatwg.org/#img-available 12750. https://html.spec.whatwg.org/#the-img-element 12751. https://drafts.csswg.org/css-images-4/#paint-source 12752. https://html.spec.whatwg.org/#density-corrected-intrinsic-width-and-height 12753. https://html.spec.whatwg.org/#density-corrected-intrinsic-width-and-height 12754. https://html.spec.whatwg.org/#the-img-element 12755. https://html.spec.whatwg.org/#attr-img-srcset 12756. https://html.spec.whatwg.org/#the-picture-element 12757. https://html.spec.whatwg.org/#the-img-element 12758. https://html.spec.whatwg.org/#image-request 12759. https://html.spec.whatwg.org/#image-request 12760. https://html.spec.whatwg.org/#the-img-element 12761. https://html.spec.whatwg.org/#current-request 12762. https://html.spec.whatwg.org/#preferred-density-corrected-dimensions 12763. https://html.spec.whatwg.org/#preferred-density-corrected-dimensions 12764. https://html.spec.whatwg.org/#prepare-an-image-for-presentation 12765. https://drafts.csswg.org/css-images/#natural-dimensions 12766. https://html.spec.whatwg.org/#current-request 12767. https://html.spec.whatwg.org/#current-pixel-density 12768. https://html.spec.whatwg.org/#current-request 12769. https://html.spec.whatwg.org/#current-pixel-density 12770. https://html.spec.whatwg.org/#current-pixel-density 12771. https://drafts.csswg.org/css-values/#in 12772. https://html.spec.whatwg.org/#density-corrected-intrinsic-width-and-height 12773. https://drafts.csswg.org/css-values/#px 12774. https://drafts.csswg.org/css-values/#px 12775. https://html.spec.whatwg.org/#the-img-element 12776. https://html.spec.whatwg.org/#the-link-element 12777. https://html.spec.whatwg.org/#source-set 12778. https://html.spec.whatwg.org/#image-source 12779. https://html.spec.whatwg.org/#source-size-2 12780. https://url.spec.whatwg.org/#concept-url 12781. https://html.spec.whatwg.org/#pixel-density-descriptor 12782. https://html.spec.whatwg.org/#width-descriptor 12783. https://html.spec.whatwg.org/#source-size-value 12784. https://html.spec.whatwg.org/#source-size-2 12785. https://drafts.csswg.org/css2/#viewport 12786. https://html.spec.whatwg.org/#the-img-element 12787. https://dom.spec.whatwg.org/#concept-node-document 12788. https://drafts.csswg.org/css2/#viewport 12789. https://html.spec.whatwg.org/#refsMQ 12790. https://html.spec.whatwg.org/#concept-microsyntax-parse-error 12791. https://fetch.spec.whatwg.org/#ok-status 12792. https://mimesniff.spec.whatwg.org/#rules-for-sniffing-images-specifically 12793. https://html.spec.whatwg.org/#content-type 12794. https://html.spec.whatwg.org/#content-type 12795. https://html.spec.whatwg.org/#the-img-element 12796. https://dom.spec.whatwg.org/#document-element 12797. https://html.spec.whatwg.org/#update-the-image-data 12798. https://html.spec.whatwg.org/#the-img-element 12799. https://html.spec.whatwg.org/#relevant-mutations 12800. https://html.spec.whatwg.org/#update-the-image-data 12801. https://html.spec.whatwg.org/#the-img-element 12802. https://html.spec.whatwg.org/#the-img-element 12803. https://html.spec.whatwg.org/#current-request 12804. https://html.spec.whatwg.org/#img-req-state 12805. https://html.spec.whatwg.org/#img-none 12806. https://html.spec.whatwg.org/#the-img-element 12807. https://html.spec.whatwg.org/#relevant-mutations 12808. https://html.spec.whatwg.org/#the-img-element 12809. https://html.spec.whatwg.org/#current-request 12810. https://html.spec.whatwg.org/#img-req-state 12811. https://html.spec.whatwg.org/#img-none 12812. https://html.spec.whatwg.org/#the-img-element 12813. https://html.spec.whatwg.org/#attr-img-src 12814. https://html.spec.whatwg.org/#attr-img-srcset 12815. https://html.spec.whatwg.org/#attr-dim-width 12816. https://html.spec.whatwg.org/#attr-img-sizes 12817. https://html.spec.whatwg.org/#attr-img-src 12818. https://html.spec.whatwg.org/#update-the-image-data 12819. https://html.spec.whatwg.org/#attr-img-crossorigin 12820. https://html.spec.whatwg.org/#attr-img-referrerpolicy 12821. https://html.spec.whatwg.org/#the-img-element 12822. https://html.spec.whatwg.org/#the-source-element 12823. https://html.spec.whatwg.org/#html-element-insertion-steps 12824. https://html.spec.whatwg.org/#html-element-removing-steps 12825. https://html.spec.whatwg.org/#html-element-moving-steps 12826. https://html.spec.whatwg.org/#relevant-mutations 12827. https://html.spec.whatwg.org/#the-picture-element 12828. https://html.spec.whatwg.org/#the-source-element 12829. https://html.spec.whatwg.org/#attr-source-srcset 12830. https://html.spec.whatwg.org/#attr-source-sizes 12831. https://html.spec.whatwg.org/#attr-source-media 12832. https://html.spec.whatwg.org/#attr-source-type 12833. https://html.spec.whatwg.org/#attr-dim-width 12834. https://html.spec.whatwg.org/#attr-dim-height 12835. https://dom.spec.whatwg.org/#concept-node-adopt-ext 12836. https://html.spec.whatwg.org/#allows-auto-sizes 12837. https://html.spec.whatwg.org/#being-rendered 12838. https://drafts.csswg.org/css-images/#concrete-object-size 12839. https://html.spec.whatwg.org/#update-the-image-data 12840. https://html.spec.whatwg.org/#document 12841. https://url.spec.whatwg.org/#syntax-url-absolute 12842. https://html.spec.whatwg.org/#cors-settings-attribute 12843. https://html.spec.whatwg.org/#attr-crossorigin-none 12844. https://html.spec.whatwg.org/#concept-origin 12845. https://html.spec.whatwg.org/#document 12846. https://html.spec.whatwg.org/#list-of-available-images 12847. https://html.spec.whatwg.org/#document 12848. https://html.spec.whatwg.org/#document 12849. https://html.spec.whatwg.org/#ignore-higher-layer-caching 12850. https://html.spec.whatwg.org/#list-of-available-images 12851. https://httpwg.org/specs/rfc7234.html#header.cache-control 12852. https://html.spec.whatwg.org/#ignore-higher-layer-caching 12853. https://html.spec.whatwg.org/#list-of-available-images 12854. https://html.spec.whatwg.org/#attr-img-src 12855. https://html.spec.whatwg.org/#list-of-available-images 12856. https://html.spec.whatwg.org/#ignore-higher-layer-caching 12857. https://html.spec.whatwg.org/#list-of-available-images 12858. https://html.spec.whatwg.org/#attr-img-decoding 12859. https://html.spec.whatwg.org/#the-img-element 12860. https://html.spec.whatwg.org/#attr-img-decoding 12861. https://html.spec.whatwg.org/#img-decoding-process 12862. https://html.spec.whatwg.org/#img-decoding-process 12863. https://html.spec.whatwg.org/#img-decoding-process 12864. https://html.spec.whatwg.org/#attr-img-decoding 12865. https://html.spec.whatwg.org/#attr-img-decoding-auto-state 12866. https://html.spec.whatwg.org/#dom-img-decode 12867. https://html.spec.whatwg.org/#dom-img-decode 12868. https://html.spec.whatwg.org/#img-decoding-process 12869. https://html.spec.whatwg.org/#attr-img-decoding 12870. https://html.spec.whatwg.org/#in-parallel 12871. https://html.spec.whatwg.org/#in-parallel 12872. https://html.spec.whatwg.org/#queue-a-task 12873. https://html.spec.whatwg.org/#the-img-element 12874. https://dom.spec.whatwg.org/#concept-node-document 12875. https://html.spec.whatwg.org/#fully-active 12876. https://html.spec.whatwg.org/#in-parallel 12877. https://dom.spec.whatwg.org/#concept-node-document 12878. https://html.spec.whatwg.org/#fully-active 12879. https://html.spec.whatwg.org/#the-img-element 12880. https://html.spec.whatwg.org/#queue-a-microtask 12881. https://html.spec.whatwg.org/#abort-the-image-request 12882. https://html.spec.whatwg.org/#current-request 12883. https://html.spec.whatwg.org/#pending-request 12884. https://html.spec.whatwg.org/#current-request 12885. https://html.spec.whatwg.org/#img-req-state 12886. https://html.spec.whatwg.org/#img-none 12887. https://html.spec.whatwg.org/#pending-request 12888. https://html.spec.whatwg.org/#current-request 12889. https://html.spec.whatwg.org/#img-req-url 12890. https://html.spec.whatwg.org/#use-srcset-or-picture 12891. https://html.spec.whatwg.org/#attr-img-src 12892. https://html.spec.whatwg.org/#attr-img-src 12893. https://html.spec.whatwg.org/#last-selected-source 12894. https://html.spec.whatwg.org/#encoding-parsing-and-serializing-a-url 12895. https://dom.spec.whatwg.org/#concept-node-document 12896. https://html.spec.whatwg.org/#the-img-element 12897. https://html.spec.whatwg.org/#attr-img-crossorigin 12898. https://html.spec.whatwg.org/#attr-crossorigin-none 12899. https://dom.spec.whatwg.org/#concept-node-document 12900. https://dom.spec.whatwg.org/#concept-document-origin 12901. https://html.spec.whatwg.org/#list-of-available-images 12902. https://html.spec.whatwg.org/#ignore-higher-layer-caching 12903. https://html.spec.whatwg.org/#abort-the-image-request 12904. https://html.spec.whatwg.org/#current-request 12905. https://html.spec.whatwg.org/#pending-request 12906. https://html.spec.whatwg.org/#pending-request 12907. https://html.spec.whatwg.org/#current-request 12908. https://html.spec.whatwg.org/#image-request 12909. https://html.spec.whatwg.org/#img-req-data 12910. https://html.spec.whatwg.org/#img-req-state 12911. https://html.spec.whatwg.org/#img-all 12912. https://html.spec.whatwg.org/#prepare-an-image-for-presentation 12913. https://html.spec.whatwg.org/#the-img-element 12914. https://html.spec.whatwg.org/#current-request 12915. https://html.spec.whatwg.org/#current-pixel-density 12916. https://html.spec.whatwg.org/#queue-an-element-task 12917. https://html.spec.whatwg.org/#dom-manipulation-task-source 12918. https://html.spec.whatwg.org/#the-img-element 12919. https://html.spec.whatwg.org/#restart-the-animation 12920. https://html.spec.whatwg.org/#current-request 12921. https://html.spec.whatwg.org/#img-req-url 12922. https://dom.spec.whatwg.org/#concept-event-fire 12923. https://html.spec.whatwg.org/#event-load 12924. https://html.spec.whatwg.org/#the-img-element 12925. https://html.spec.whatwg.org/#update-the-image-data 12926. https://html.spec.whatwg.org/#queue-a-microtask 12927. https://html.spec.whatwg.org/#concept-task 12928. https://html.spec.whatwg.org/#the-img-element 12929. https://html.spec.whatwg.org/#attr-img-src 12930. https://html.spec.whatwg.org/#attr-img-srcset 12931. https://html.spec.whatwg.org/#attr-img-crossorigin 12932. https://html.spec.whatwg.org/#select-an-image-source 12933. https://html.spec.whatwg.org/#current-request 12934. https://html.spec.whatwg.org/#img-req-state 12935. https://html.spec.whatwg.org/#img-error 12936. https://html.spec.whatwg.org/#abort-the-image-request 12937. https://html.spec.whatwg.org/#current-request 12938. https://html.spec.whatwg.org/#pending-request 12939. https://html.spec.whatwg.org/#pending-request 12940. https://html.spec.whatwg.org/#queue-an-element-task 12941. https://html.spec.whatwg.org/#dom-manipulation-task-source 12942. https://html.spec.whatwg.org/#the-img-element 12943. https://html.spec.whatwg.org/#current-request 12944. https://html.spec.whatwg.org/#img-req-url 12945. https://html.spec.whatwg.org/#attr-img-src 12946. https://html.spec.whatwg.org/#use-srcset-or-picture 12947. https://dom.spec.whatwg.org/#concept-event-fire 12948. https://html.spec.whatwg.org/#event-error 12949. https://html.spec.whatwg.org/#the-img-element 12950. https://html.spec.whatwg.org/#encoding-parsing-and-serializing-a-url 12951. https://dom.spec.whatwg.org/#concept-node-document 12952. https://html.spec.whatwg.org/#abort-the-image-request 12953. https://html.spec.whatwg.org/#current-request 12954. https://html.spec.whatwg.org/#pending-request 12955. https://html.spec.whatwg.org/#current-request 12956. https://html.spec.whatwg.org/#img-req-state 12957. https://html.spec.whatwg.org/#img-error 12958. https://html.spec.whatwg.org/#pending-request 12959. https://html.spec.whatwg.org/#queue-an-element-task 12960. https://html.spec.whatwg.org/#dom-manipulation-task-source 12961. https://html.spec.whatwg.org/#the-img-element 12962. https://html.spec.whatwg.org/#current-request 12963. https://html.spec.whatwg.org/#img-req-url 12964. https://dom.spec.whatwg.org/#concept-event-fire 12965. https://html.spec.whatwg.org/#event-error 12966. https://html.spec.whatwg.org/#the-img-element 12967. https://html.spec.whatwg.org/#pending-request 12968. https://html.spec.whatwg.org/#pending-request 12969. https://html.spec.whatwg.org/#img-req-url 12970. https://html.spec.whatwg.org/#current-request 12971. https://html.spec.whatwg.org/#img-req-url 12972. https://html.spec.whatwg.org/#current-request 12973. https://html.spec.whatwg.org/#img-req-state 12974. https://html.spec.whatwg.org/#img-inc 12975. https://html.spec.whatwg.org/#abort-the-image-request 12976. https://html.spec.whatwg.org/#pending-request 12977. https://html.spec.whatwg.org/#queue-an-element-task 12978. https://html.spec.whatwg.org/#dom-manipulation-task-source 12979. https://html.spec.whatwg.org/#the-img-element 12980. https://html.spec.whatwg.org/#restart-the-animation 12981. https://html.spec.whatwg.org/#abort-the-image-request 12982. https://html.spec.whatwg.org/#pending-request 12983. https://html.spec.whatwg.org/#image-request 12984. https://html.spec.whatwg.org/#img-req-url 12985. https://html.spec.whatwg.org/#current-request 12986. https://html.spec.whatwg.org/#img-req-state 12987. https://html.spec.whatwg.org/#img-none 12988. https://html.spec.whatwg.org/#img-error 12989. https://html.spec.whatwg.org/#current-request 12990. https://html.spec.whatwg.org/#pending-request 12991. https://html.spec.whatwg.org/#create-a-potential-cors-request 12992. https://html.spec.whatwg.org/#attr-img-crossorigin 12993. https://fetch.spec.whatwg.org/#concept-request-client 12994. https://dom.spec.whatwg.org/#concept-node-document 12995. https://html.spec.whatwg.org/#relevant-settings-object 12996. https://html.spec.whatwg.org/#use-srcset-or-picture 12997. https://fetch.spec.whatwg.org/#concept-request-initiator 12998. https://fetch.spec.whatwg.org/#concept-request-referrer-policy 12999. https://html.spec.whatwg.org/#attr-img-referrerpolicy 13000. https://fetch.spec.whatwg.org/#request-priority 13001. https://html.spec.whatwg.org/#attr-img-fetchpriority 13002. https://html.spec.whatwg.org/#the-img-element 13003. https://html.spec.whatwg.org/#lazy-loading-attribute 13004. https://html.spec.whatwg.org/#attr-loading-eager-state 13005. https://html.spec.whatwg.org/#concept-n-noscript 13006. https://html.spec.whatwg.org/#the-img-element 13007. https://html.spec.whatwg.org/#will-lazy-load-element-steps 13008. https://html.spec.whatwg.org/#the-img-element 13009. https://html.spec.whatwg.org/#the-img-element 13010. https://html.spec.whatwg.org/#lazy-load-resumption-steps 13011. https://html.spec.whatwg.org/#start-intersection-observing-a-lazy-loading-element 13012. https://html.spec.whatwg.org/#the-img-element 13013. https://fetch.spec.whatwg.org/#concept-fetch 13014. https://fetch.spec.whatwg.org/#process-response 13015. https://fetch.spec.whatwg.org/#concept-response 13016. https://html.spec.whatwg.org/#img-req-data 13017. https://html.spec.whatwg.org/#cors-same-origin 13018. https://html.spec.whatwg.org/#cors-cross-origin 13019. https://html.spec.whatwg.org/#the-canvas-element 13020. https://html.spec.whatwg.org/#delay-the-load-event 13021. https://dom.spec.whatwg.org/#concept-node-document 13022. https://html.spec.whatwg.org/#concept-task 13023. https://html.spec.whatwg.org/#queue-a-task 13024. https://html.spec.whatwg.org/#networking-task-source 13025. https://html.spec.whatwg.org/#img-load 13026. https://html.spec.whatwg.org/#concept-origin 13027. https://html.spec.whatwg.org/#multipart/x-mixed-replace 13028. https://html.spec.whatwg.org/#concept-task 13029. https://html.spec.whatwg.org/#queue-a-task 13030. https://html.spec.whatwg.org/#networking-task-source 13031. https://html.spec.whatwg.org/#pending-request 13032. https://html.spec.whatwg.org/#abort-the-image-request 13033. https://html.spec.whatwg.org/#current-request 13034. https://html.spec.whatwg.org/#upgrade-the-pending-request-to-the-current-request 13035. https://html.spec.whatwg.org/#pending-request 13036. https://html.spec.whatwg.org/#abort-the-image-request 13037. https://html.spec.whatwg.org/#current-request 13038. https://html.spec.whatwg.org/#upgrade-the-pending-request-to-the-current-request 13039. https://html.spec.whatwg.org/#current-request 13040. https://html.spec.whatwg.org/#img-req-state 13041. https://html.spec.whatwg.org/#img-error 13042. https://html.spec.whatwg.org/#current-request 13043. https://html.spec.whatwg.org/#img-req-state 13044. https://html.spec.whatwg.org/#img-none 13045. https://html.spec.whatwg.org/#current-request 13046. https://html.spec.whatwg.org/#img-req-state 13047. https://html.spec.whatwg.org/#img-inc 13048. https://html.spec.whatwg.org/#current-request 13049. https://html.spec.whatwg.org/#img-req-state 13050. https://html.spec.whatwg.org/#img-none 13051. https://html.spec.whatwg.org/#current-request 13052. https://html.spec.whatwg.org/#img-req-state 13053. https://html.spec.whatwg.org/#img-error 13054. https://html.spec.whatwg.org/#concept-task 13055. https://html.spec.whatwg.org/#queue-a-task 13056. https://html.spec.whatwg.org/#networking-task-source 13057. https://html.spec.whatwg.org/#prepare-an-image-for-presentation 13058. https://html.spec.whatwg.org/#the-img-element 13059. https://html.spec.whatwg.org/#the-img-element 13060. https://html.spec.whatwg.org/#current-request 13061. https://html.spec.whatwg.org/#img-req-state 13062. https://html.spec.whatwg.org/#img-all 13063. https://html.spec.whatwg.org/#queue-an-element-task 13064. https://html.spec.whatwg.org/#dom-manipulation-task-source 13065. https://html.spec.whatwg.org/#the-img-element 13066. https://dom.spec.whatwg.org/#concept-event-fire 13067. https://html.spec.whatwg.org/#event-load 13068. https://html.spec.whatwg.org/#the-img-element 13069. https://html.spec.whatwg.org/#img-determine-type 13070. https://html.spec.whatwg.org/#concept-task 13071. https://html.spec.whatwg.org/#queue-a-task 13072. https://html.spec.whatwg.org/#networking-task-source 13073. https://html.spec.whatwg.org/#pending-request 13074. https://html.spec.whatwg.org/#img-req-state 13075. https://html.spec.whatwg.org/#img-inc 13076. https://html.spec.whatwg.org/#current-request 13077. https://html.spec.whatwg.org/#prepare-an-image-for-presentation 13078. https://html.spec.whatwg.org/#the-img-element 13079. https://html.spec.whatwg.org/#img-req-state 13080. https://html.spec.whatwg.org/#img-inc 13081. https://html.spec.whatwg.org/#pending-request 13082. https://html.spec.whatwg.org/#abort-the-image-request 13083. https://html.spec.whatwg.org/#current-request 13084. https://html.spec.whatwg.org/#pending-request 13085. https://html.spec.whatwg.org/#upgrade-the-pending-request-to-the-current-request 13086. https://html.spec.whatwg.org/#current-request 13087. https://html.spec.whatwg.org/#img-req-state 13088. https://html.spec.whatwg.org/#img-error 13089. https://dom.spec.whatwg.org/#concept-event-fire 13090. https://html.spec.whatwg.org/#event-error 13091. https://html.spec.whatwg.org/#the-img-element 13092. https://html.spec.whatwg.org/#current-request 13093. https://html.spec.whatwg.org/#abort-the-image-request 13094. https://dom.spec.whatwg.org/#concept-event-fire 13095. https://html.spec.whatwg.org/#event-error 13096. https://html.spec.whatwg.org/#the-img-element 13097. https://html.spec.whatwg.org/#concept-task 13098. https://html.spec.whatwg.org/#concept-task 13099. https://html.spec.whatwg.org/#queue-a-task 13100. https://html.spec.whatwg.org/#networking-task-source 13101. https://html.spec.whatwg.org/#current-request 13102. https://html.spec.whatwg.org/#concept-task 13103. https://html.spec.whatwg.org/#queue-a-task 13104. https://html.spec.whatwg.org/#networking-task-source 13105. https://html.spec.whatwg.org/#pending-request 13106. https://html.spec.whatwg.org/#abort-the-image-request 13107. https://html.spec.whatwg.org/#current-request 13108. https://html.spec.whatwg.org/#upgrade-the-pending-request-to-the-current-request 13109. https://html.spec.whatwg.org/#prepare-an-image-for-presentation 13110. https://html.spec.whatwg.org/#the-img-element 13111. https://html.spec.whatwg.org/#img-all 13112. https://html.spec.whatwg.org/#list-of-available-images 13113. https://html.spec.whatwg.org/#ignore-higher-layer-caching 13114. https://dom.spec.whatwg.org/#concept-event-fire 13115. https://html.spec.whatwg.org/#event-load 13116. https://html.spec.whatwg.org/#the-img-element 13117. https://html.spec.whatwg.org/#img-req-state 13118. https://html.spec.whatwg.org/#img-error 13119. https://html.spec.whatwg.org/#abort-the-image-request 13120. https://html.spec.whatwg.org/#current-request 13121. https://html.spec.whatwg.org/#pending-request 13122. https://html.spec.whatwg.org/#upgrade-the-pending-request-to-the-current-request 13123. https://html.spec.whatwg.org/#pending-request 13124. https://html.spec.whatwg.org/#queue-an-element-task 13125. https://html.spec.whatwg.org/#dom-manipulation-task-source 13126. https://html.spec.whatwg.org/#the-img-element 13127. https://dom.spec.whatwg.org/#concept-event-fire 13128. https://html.spec.whatwg.org/#event-error 13129. https://html.spec.whatwg.org/#the-img-element 13130. https://dom.spec.whatwg.org/#concept-node-document 13131. https://dom.spec.whatwg.org/#connected 13132. https://html.spec.whatwg.org/#image-request 13133. https://html.spec.whatwg.org/#img-req-data 13134. https://fetch.spec.whatwg.org/#concept-fetch 13135. https://html.spec.whatwg.org/#the-img-element 13136. https://html.spec.whatwg.org/#the-img-element 13137. https://html.spec.whatwg.org/#current-request 13138. https://html.spec.whatwg.org/#pending-request 13139. https://html.spec.whatwg.org/#the-img-element 13140. https://html.spec.whatwg.org/#pending-request 13141. https://html.spec.whatwg.org/#image-request 13142. https://html.spec.whatwg.org/#img-req-data 13143. https://html.spec.whatwg.org/#refsEXIF 13144. https://html.spec.whatwg.org/#img-req-data 13145. https://html.spec.whatwg.org/#img-req-data 13146. https://html.spec.whatwg.org/#cors-cross-origin 13147. https://drafts.csswg.org/css-images/#natural-dimensions 13148. https://html.spec.whatwg.org/#preferred-density-corrected-dimensions 13149. https://html.spec.whatwg.org/#the-img-element 13150. https://drafts.csswg.org/css-values/#pt 13151. https://github.com/w3c/csswg-drafts/issues/4929 13152. https://html.spec.whatwg.org/#the-img-element 13153. https://html.spec.whatwg.org/#update-the-source-set 13154. https://html.spec.whatwg.org/#source-set 13155. https://html.spec.whatwg.org/#select-an-image-source-from-a-source-set 13156. https://html.spec.whatwg.org/#source-set 13157. https://html.spec.whatwg.org/#source-set 13158. https://html.spec.whatwg.org/#pixel-density-descriptor 13159. https://html.spec.whatwg.org/#pixel-density-descriptor 13160. https://infra.spec.whatwg.org/#implementation-defined 13161. https://html.spec.whatwg.org/#image-source 13162. https://html.spec.whatwg.org/#source-set 13163. https://html.spec.whatwg.org/#parse-a-srcset-attribute 13164. https://html.spec.whatwg.org/#source-size-2 13165. https://html.spec.whatwg.org/#parse-a-sizes-attribute 13166. https://html.spec.whatwg.org/#image-source 13167. https://html.spec.whatwg.org/#pixel-density-descriptor 13168. https://html.spec.whatwg.org/#image-source 13169. https://html.spec.whatwg.org/#width-descriptor 13170. https://html.spec.whatwg.org/#normalise-the-source-densities 13171. https://html.spec.whatwg.org/#the-img-element 13172. https://html.spec.whatwg.org/#the-link-element 13173. https://html.spec.whatwg.org/#source-set 13174. https://html.spec.whatwg.org/#source-set 13175. https://html.spec.whatwg.org/#the-img-element 13176. https://html.spec.whatwg.org/#the-picture-element 13177. https://infra.spec.whatwg.org/#list-replace 13178. https://html.spec.whatwg.org/#the-img-element 13179. https://infra.spec.whatwg.org/#list-iterate 13180. https://html.spec.whatwg.org/#the-img-element 13181. https://html.spec.whatwg.org/#attr-img-srcset 13182. https://html.spec.whatwg.org/#the-link-element 13183. https://html.spec.whatwg.org/#attr-link-imagesrcset 13184. https://html.spec.whatwg.org/#the-img-element 13185. https://html.spec.whatwg.org/#attr-img-sizes 13186. https://html.spec.whatwg.org/#the-link-element 13187. https://html.spec.whatwg.org/#attr-link-imagesizes 13188. https://html.spec.whatwg.org/#the-img-element 13189. https://html.spec.whatwg.org/#attr-img-src 13190. https://html.spec.whatwg.org/#the-link-element 13191. https://html.spec.whatwg.org/#attr-link-href 13192. https://html.spec.whatwg.org/#source-set 13193. https://html.spec.whatwg.org/#create-a-source-set 13194. https://html.spec.whatwg.org/#the-link-element 13195. https://html.spec.whatwg.org/#the-source-element 13196. https://infra.spec.whatwg.org/#iteration-continue 13197. https://html.spec.whatwg.org/#attr-source-srcset 13198. https://infra.spec.whatwg.org/#iteration-continue 13199. https://html.spec.whatwg.org/#parse-a-srcset-attribute 13200. https://html.spec.whatwg.org/#source-set 13201. https://html.spec.whatwg.org/#image-source 13202. https://infra.spec.whatwg.org/#iteration-continue 13203. https://html.spec.whatwg.org/#attr-source-media 13204. https://html.spec.whatwg.org/#matches-the-environment 13205. https://infra.spec.whatwg.org/#iteration-continue 13206. https://html.spec.whatwg.org/#parse-a-sizes-attribute 13207. https://html.spec.whatwg.org/#source-size-2 13208. https://html.spec.whatwg.org/#attr-source-type 13209. https://mimesniff.spec.whatwg.org/#mime-type 13210. https://infra.spec.whatwg.org/#iteration-continue 13211. https://html.spec.whatwg.org/#attr-dim-width 13212. https://html.spec.whatwg.org/#attr-dim-height 13213. https://html.spec.whatwg.org/#concept-img-dimension-attribute-source 13214. https://html.spec.whatwg.org/#concept-img-dimension-attribute-source 13215. https://html.spec.whatwg.org/#normalise-the-source-densities 13216. https://html.spec.whatwg.org/#source-set 13217. https://html.spec.whatwg.org/#the-img-element 13218. https://html.spec.whatwg.org/#the-source-element 13219. https://html.spec.whatwg.org/#the-img-element 13220. https://html.spec.whatwg.org/#image-source 13221. https://html.spec.whatwg.org/#the-img-element 13222. https://html.spec.whatwg.org/#the-picture-element 13223. https://html.spec.whatwg.org/#the-source-element 13224. https://html.spec.whatwg.org/#the-img-element 13225. https://html.spec.whatwg.org/#srcset-attribute 13226. https://html.spec.whatwg.org/#source-set 13227. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 13228. https://infra.spec.whatwg.org/#ascii-whitespace 13229. https://html.spec.whatwg.org/#concept-microsyntax-parse-error 13230. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 13231. https://infra.spec.whatwg.org/#ascii-whitespace 13232. https://html.spec.whatwg.org/#concept-microsyntax-parse-error 13233. https://infra.spec.whatwg.org/#skip-ascii-whitespace 13234. https://infra.spec.whatwg.org/#ascii-whitespace 13235. https://infra.spec.whatwg.org/#ascii-whitespace 13236. https://html.spec.whatwg.org/#valid-non-negative-integer 13237. https://html.spec.whatwg.org/#attr-img-sizes 13238. https://html.spec.whatwg.org/#attr-img-sizes 13239. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 13240. https://html.spec.whatwg.org/#valid-floating-point-number 13241. https://html.spec.whatwg.org/#rules-for-parsing-floating-point-number-values 13242. https://drafts.csswg.org/css-images/#natural-dimensions 13243. https://infra.spec.whatwg.org/#algorithm-limits 13244. https://html.spec.whatwg.org/#valid-non-negative-integer 13245. https://html.spec.whatwg.org/#concept-microsyntax-parse-error 13246. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 13247. https://html.spec.whatwg.org/#image-source 13248. https://html.spec.whatwg.org/#concept-microsyntax-parse-error 13249. https://html.spec.whatwg.org/#the-img-element 13250. https://drafts.csswg.org/css-syntax/#parse-a-comma-separated-list-of-component-values 13251. https://html.spec.whatwg.org/#sizes-attribute 13252. https://html.spec.whatwg.org/#refsCSSSYNTAX 13253. https://drafts.csswg.org/css-syntax/#typedef-whitespace-token 13254. https://html.spec.whatwg.org/#concept-microsyntax-parse-error 13255. https://infra.spec.whatwg.org/#iteration-continue 13256. https://drafts.csswg.org/css-syntax/#component-value 13257. https://html.spec.whatwg.org/#source-size-value 13258. https://drafts.csswg.org/css-syntax/#component-value 13259. https://drafts.csswg.org/css-values/#math-function 13260. https://html.spec.whatwg.org/#concept-microsyntax-parse-error 13261. https://infra.spec.whatwg.org/#iteration-continue 13262. https://html.spec.whatwg.org/#valdef-sizes-auto 13263. https://html.spec.whatwg.org/#being-rendered 13264. https://html.spec.whatwg.org/#allows-auto-sizes 13265. https://drafts.csswg.org/css-images/#concrete-object-size 13266. https://drafts.csswg.org/css-values/#px 13267. https://html.spec.whatwg.org/#valdef-sizes-auto 13268. https://drafts.csswg.org/css-syntax/#typedef-whitespace-token 13269. https://html.spec.whatwg.org/#concept-microsyntax-parse-error 13270. https://html.spec.whatwg.org/#valdef-sizes-auto 13271. https://drafts.csswg.org/css-syntax/#component-value 13272. https://drafts.csswg.org/mediaqueries/#typedef-media-condition 13273. https://drafts.csswg.org/mediaqueries/#typedef-media-condition 13274. https://infra.spec.whatwg.org/#iteration-continue 13275. https://html.spec.whatwg.org/#refsMQ 13276. https://html.spec.whatwg.org/#valdef-sizes-auto 13277. https://html.spec.whatwg.org/#source-size-value 13278. https://drafts.csswg.org/css-values/#lengths 13279. https://drafts.csswg.org/mediaqueries/#typedef-media-condition 13280. https://html.spec.whatwg.org/#source-size-list 13281. https://html.spec.whatwg.org/#source-size-list 13282. https://html.spec.whatwg.org/#valdef-sizes-auto 13283. https://html.spec.whatwg.org/#image-source 13284. https://html.spec.whatwg.org/#pixel-density-descriptor 13285. https://html.spec.whatwg.org/#width-descriptor 13286. https://html.spec.whatwg.org/#source-set 13287. https://html.spec.whatwg.org/#image-source 13288. https://html.spec.whatwg.org/#pixel-density-descriptor 13289. https://html.spec.whatwg.org/#source-set 13290. https://html.spec.whatwg.org/#source-size-2 13291. https://html.spec.whatwg.org/#image-source 13292. https://html.spec.whatwg.org/#image-source 13293. https://html.spec.whatwg.org/#pixel-density-descriptor 13294. https://infra.spec.whatwg.org/#iteration-continue 13295. https://html.spec.whatwg.org/#image-source 13296. https://html.spec.whatwg.org/#image-source 13297. https://html.spec.whatwg.org/#width-descriptor 13298. https://html.spec.whatwg.org/#width-descriptor 13299. https://html.spec.whatwg.org/#pixel-density-descriptor 13300. https://html.spec.whatwg.org/#pixel-density-descriptor-value 13301. https://html.spec.whatwg.org/#width-descriptor-value 13302. https://html.spec.whatwg.org/#source-size-2 13303. https://drafts.csswg.org/css-images/#natural-dimensions 13304. https://html.spec.whatwg.org/#image-source 13305. https://html.spec.whatwg.org/#pixel-density-descriptor 13306. https://html.spec.whatwg.org/#the-img-element 13307. https://drafts.csswg.org/css2/#viewport 13308. https://html.spec.whatwg.org/#the-img-element 13309. https://html.spec.whatwg.org/#insert-an-element-into-a-document 13310. https://html.spec.whatwg.org/#density-corrected-intrinsic-width-and-height 13311. https://drafts.csswg.org/css2/#viewport 13312. https://html.spec.whatwg.org/#art-direction 13313. https://html.spec.whatwg.org/#await-a-stable-state 13314. https://html.spec.whatwg.org/#synchronous-section 13315. https://html.spec.whatwg.org/#synchronous-section 13316. https://html.spec.whatwg.org/#synchronous-section 13317. https://html.spec.whatwg.org/#the-img-element 13318. https://html.spec.whatwg.org/#use-srcset-or-picture 13319. https://dom.spec.whatwg.org/#concept-node-document 13320. https://html.spec.whatwg.org/#fully-active 13321. https://html.spec.whatwg.org/#multipart/x-mixed-replace 13322. https://html.spec.whatwg.org/#pending-request 13323. https://html.spec.whatwg.org/#select-an-image-source 13324. https://html.spec.whatwg.org/#last-selected-source 13325. https://html.spec.whatwg.org/#current-pixel-density 13326. https://html.spec.whatwg.org/#encoding-parsing-and-serializing-a-url 13327. https://dom.spec.whatwg.org/#concept-node-document 13328. https://html.spec.whatwg.org/#attr-img-crossorigin 13329. https://html.spec.whatwg.org/#the-img-element 13330. https://dom.spec.whatwg.org/#concept-node-document 13331. https://dom.spec.whatwg.org/#concept-document-origin 13332. https://html.spec.whatwg.org/#the-img-element 13333. https://dom.spec.whatwg.org/#concept-node-document 13334. https://html.spec.whatwg.org/#relevant-settings-object 13335. https://html.spec.whatwg.org/#attr-crossorigin-none 13336. https://html.spec.whatwg.org/#image-request 13337. https://html.spec.whatwg.org/#img-req-url 13338. https://html.spec.whatwg.org/#pending-request 13339. https://html.spec.whatwg.org/#synchronous-section 13340. https://html.spec.whatwg.org/#in-parallel 13341. https://html.spec.whatwg.org/#list-of-available-images 13342. https://html.spec.whatwg.org/#img-req-data 13343. https://html.spec.whatwg.org/#create-a-potential-cors-request 13344. https://fetch.spec.whatwg.org/#concept-request-client 13345. https://fetch.spec.whatwg.org/#concept-request-initiator 13346. https://fetch.spec.whatwg.org/#synchronous-flag 13347. https://fetch.spec.whatwg.org/#concept-request-referrer-policy 13348. https://html.spec.whatwg.org/#attr-img-referrerpolicy 13349. https://fetch.spec.whatwg.org/#request-priority 13350. https://html.spec.whatwg.org/#attr-img-fetchpriority 13351. https://fetch.spec.whatwg.org/#concept-fetch 13352. https://html.spec.whatwg.org/#unsafe-response 13353. https://fetch.spec.whatwg.org/#concept-network-error 13354. https://mimesniff.spec.whatwg.org/#rules-for-sniffing-images-specifically 13355. https://html.spec.whatwg.org/#multipart/x-mixed-replace 13356. https://html.spec.whatwg.org/#pending-request 13357. https://html.spec.whatwg.org/#unsafe-response 13358. https://html.spec.whatwg.org/#img-req-data 13359. https://html.spec.whatwg.org/#cors-same-origin 13360. https://html.spec.whatwg.org/#cors-cross-origin 13361. https://html.spec.whatwg.org/#the-canvas-element 13362. https://html.spec.whatwg.org/#queue-an-element-task 13363. https://html.spec.whatwg.org/#dom-manipulation-task-source 13364. https://html.spec.whatwg.org/#the-img-element 13365. https://html.spec.whatwg.org/#the-img-element 13366. https://html.spec.whatwg.org/#relevant-mutations 13367. https://html.spec.whatwg.org/#pending-request 13368. https://html.spec.whatwg.org/#the-img-element 13369. https://html.spec.whatwg.org/#last-selected-source 13370. https://html.spec.whatwg.org/#the-img-element 13371. https://html.spec.whatwg.org/#current-pixel-density 13372. https://html.spec.whatwg.org/#img-req-state 13373. https://html.spec.whatwg.org/#img-all 13374. https://html.spec.whatwg.org/#list-of-available-images 13375. https://html.spec.whatwg.org/#ignore-higher-layer-caching 13376. https://html.spec.whatwg.org/#upgrade-the-pending-request-to-the-current-request 13377. https://html.spec.whatwg.org/#prepare-an-image-for-presentation 13378. https://html.spec.whatwg.org/#the-img-element 13379. https://dom.spec.whatwg.org/#concept-event-fire 13380. https://html.spec.whatwg.org/#event-load 13381. https://html.spec.whatwg.org/#the-img-element 13382. https://html.spec.whatwg.org/#attr-img-alt 13383. https://html.spec.whatwg.org/#attr-img-alt 13384. https://html.spec.whatwg.org/#attr-img-alt 13385. https://html.spec.whatwg.org/#attr-img-alt 13386. https://html.spec.whatwg.org/#attr-title 13387. https://html.spec.whatwg.org/#attr-img-alt 13388. https://html.spec.whatwg.org/#the-a-element 13389. https://html.spec.whatwg.org/#hyperlink 13390. https://html.spec.whatwg.org/#the-button-element 13391. https://html.spec.whatwg.org/#attr-img-alt 13392. https://html.spec.whatwg.org/#the-img-element 13393. https://html.spec.whatwg.org/#attr-img-alt 13394. https://html.spec.whatwg.org/#attr-img-src 13395. https://html.spec.whatwg.org/images/parsing-model-overview.svg 13396. https://html.spec.whatwg.org/#attr-img-alt 13397. https://html.spec.whatwg.org/#attr-title 13398. https://html.spec.whatwg.org/#the-figcaption-element 13399. https://html.spec.whatwg.org/#the-figure-element 13400. https://html.spec.whatwg.org/#attr-img-alt 13401. https://html.spec.whatwg.org/#attr-img-alt 13402. https://html.spec.whatwg.org/#attr-img-alt 13403. https://html.spec.whatwg.org/#attr-img-alt 13404. https://html.spec.whatwg.org/#attr-img-alt 13405. https://html.spec.whatwg.org/#attr-img-alt 13406. https://html.spec.whatwg.org/#img-available 13407. https://html.spec.whatwg.org/#attr-img-alt 13408. https://html.spec.whatwg.org/#attr-img-alt 13409. https://html.spec.whatwg.org/#attr-title 13410. https://html.spec.whatwg.org/#the-figure-element 13411. https://html.spec.whatwg.org/#the-figcaption-element 13412. https://html.spec.whatwg.org/#attr-img-alt 13413. https://html.spec.whatwg.org/#attr-img-alt 13414. https://html.spec.whatwg.org/#the-img-element 13415. https://html.spec.whatwg.org/#attr-img-alt 13416. https://html.spec.whatwg.org/#attr-img-alt 13417. https://html.spec.whatwg.org/#attr-img-alt 13418. https://html.spec.whatwg.org/#image-map 13419. https://html.spec.whatwg.org/#attr-img-alt 13420. https://html.spec.whatwg.org/#attr-img-alt 13421. https://html.spec.whatwg.org/#attr-img-alt 13422. https://html.spec.whatwg.org/#attr-img-alt 13423. https://html.spec.whatwg.org/#the-img-element 13424. https://html.spec.whatwg.org/#the-figure-element 13425. https://html.spec.whatwg.org/#the-figcaption-element 13426. https://html.spec.whatwg.org/#inter-element-whitespace 13427. https://html.spec.whatwg.org/#the-figcaption-element 13428. https://html.spec.whatwg.org/#the-figure-element 13429. https://html.spec.whatwg.org/#flow-content-2 13430. https://html.spec.whatwg.org/#inter-element-whitespace 13431. https://html.spec.whatwg.org/#the-img-element 13432. https://html.spec.whatwg.org/#attr-title 13433. https://html.spec.whatwg.org/#attr-title 13434. https://html.spec.whatwg.org/#attr-img-alt 13435. https://html.spec.whatwg.org/#attr-title 13436. https://html.spec.whatwg.org/#attr-title 13437. https://html.spec.whatwg.org/#attr-img-alt 13438. https://html.spec.whatwg.org/#attr-img-alt 13439. https://html.spec.whatwg.org/#the-img-element 13440. https://html.spec.whatwg.org/#the-img-element 13441. https://html.spec.whatwg.org/#attr-img-alt 13442. https://html.spec.whatwg.org/#attr-dim-width 13443. https://html.spec.whatwg.org/#attr-dim-height 13444. https://html.spec.whatwg.org/#attr-img-alt 13445. https://html.spec.whatwg.org/#the-figure-element 13446. https://html.spec.whatwg.org/#the-figcaption-element 13447. https://html.spec.whatwg.org/#attr-title 13448. https://html.spec.whatwg.org/#attr-img-alt 13449. https://html.spec.whatwg.org/#attr-img-alt 13450. https://html.spec.whatwg.org/#the-img-element 13451. https://html.spec.whatwg.org/#attr-img-alt 13452. https://html.spec.whatwg.org/#guidance-for-conformance-checkers 13453. https://html.spec.whatwg.org/#attr-img-alt 13454. https://html.spec.whatwg.org/#attr-img-alt 13455. https://html.spec.whatwg.org/#the-img-element 13456. https://html.spec.whatwg.org/#the-figure-element 13457. https://html.spec.whatwg.org/#figcaption-as-alt-condition 13458. https://html.spec.whatwg.org/#the-img-element 13459. https://html.spec.whatwg.org/#attr-title 13460. https://html.spec.whatwg.org/#unknown-images 13461. https://html.spec.whatwg.org/#the-img-element 13462. https://html.spec.whatwg.org/#attr-img-generator-unable-to-provide-required-alt 13463. https://html.spec.whatwg.org/#attr-img-alt 13464. https://html.spec.whatwg.org/#attr-img-generator-unable-to-provide-required-alt 13465. https://html.spec.whatwg.org/#attr-img-alt 13466. https://html.spec.whatwg.org/#attr-img-generator-unable-to-provide-required-alt 13467. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe 13468. https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement 13469. https://html.spec.whatwg.org/#concept-element-categories 13470. https://html.spec.whatwg.org/#flow-content-2 13471. https://html.spec.whatwg.org/#phrasing-content-2 13472. https://html.spec.whatwg.org/#embedded-content-category 13473. https://html.spec.whatwg.org/#interactive-content-2 13474. https://html.spec.whatwg.org/#palpable-content-2 13475. https://html.spec.whatwg.org/#concept-element-contexts 13476. https://html.spec.whatwg.org/#embedded-content-category 13477. https://html.spec.whatwg.org/#concept-element-content-model 13478. https://html.spec.whatwg.org/#concept-content-nothing 13479. https://html.spec.whatwg.org/#concept-element-tag-omission 13480. https://html.spec.whatwg.org/#concept-element-attributes 13481. https://html.spec.whatwg.org/#global-attributes 13482. https://html.spec.whatwg.org/#attr-iframe-src 13483. https://html.spec.whatwg.org/#attr-iframe-srcdoc 13484. https://html.spec.whatwg.org/#the-iframe-element 13485. https://html.spec.whatwg.org/#attr-iframe-name 13486. https://html.spec.whatwg.org/#content-navigable 13487. https://html.spec.whatwg.org/#attr-iframe-sandbox 13488. https://html.spec.whatwg.org/#attr-iframe-allow 13489. https://w3c.github.io/webappsec-feature-policy/#permissions-policy 13490. https://html.spec.whatwg.org/#the-iframe-element 13491. https://html.spec.whatwg.org/#attr-iframe-allowfullscreen 13492. https://html.spec.whatwg.org/#the-iframe-element 13493. https://fullscreen.spec.whatwg.org/#dom-element-requestfullscreen 13494. https://html.spec.whatwg.org/#attr-dim-width 13495. https://html.spec.whatwg.org/#attr-dim-height 13496. https://html.spec.whatwg.org/#attr-iframe-referrerpolicy 13497. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 13498. https://fetch.spec.whatwg.org/#concept-fetch 13499. https://html.spec.whatwg.org/#attr-iframe-loading 13500. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 13501. https://w3c.github.io/html-aria/#el-iframe 13502. https://w3c.github.io/html-aam/#el-iframe 13503. https://html.spec.whatwg.org/#concept-element-dom 13504. https://html.spec.whatwg.org/#htmlelement 13505. https://html.spec.whatwg.org/#htmlconstructor 13506. https://html.spec.whatwg.org/#cereactions 13507. https://html.spec.whatwg.org/#dom-iframe-src 13508. https://html.spec.whatwg.org/#cereactions 13509. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 13510. https://html.spec.whatwg.org/#dom-iframe-srcdoc 13511. https://html.spec.whatwg.org/#cereactions 13512. https://html.spec.whatwg.org/#dom-iframe-name 13513. https://dom.spec.whatwg.org/#dom-domtokenlist-value 13514. https://dom.spec.whatwg.org/#interface-domtokenlist 13515. https://html.spec.whatwg.org/#dom-iframe-sandbox 13516. https://html.spec.whatwg.org/#cereactions 13517. https://html.spec.whatwg.org/#dom-iframe-allow 13518. https://html.spec.whatwg.org/#cereactions 13519. https://html.spec.whatwg.org/#dom-iframe-allowfullscreen 13520. https://html.spec.whatwg.org/#cereactions 13521. https://html.spec.whatwg.org/#dom-dim-width 13522. https://html.spec.whatwg.org/#cereactions 13523. https://html.spec.whatwg.org/#dom-dim-height 13524. https://html.spec.whatwg.org/#cereactions 13525. https://html.spec.whatwg.org/#dom-iframe-referrerpolicy 13526. https://html.spec.whatwg.org/#cereactions 13527. https://html.spec.whatwg.org/#dom-iframe-loading 13528. https://html.spec.whatwg.org/#document 13529. https://html.spec.whatwg.org/#dom-iframe-contentdocument 13530. https://html.spec.whatwg.org/#windowproxy 13531. https://html.spec.whatwg.org/#dom-iframe-contentwindow 13532. https://html.spec.whatwg.org/#document 13533. https://html.spec.whatwg.org/#dom-media-getsvgdocument 13534. https://html.spec.whatwg.org/#HTMLIFrameElement-partial 13535. https://html.spec.whatwg.org/#the-iframe-element 13536. https://html.spec.whatwg.org/#represents 13537. https://html.spec.whatwg.org/#content-navigable 13538. https://url.spec.whatwg.org/#concept-url 13539. https://html.spec.whatwg.org/#content-navigable 13540. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 13541. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 13542. https://html.spec.whatwg.org/#the-iframe-element 13543. https://html.spec.whatwg.org/#attr-iframe-src 13544. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-srcdoc 13545. https://html.spec.whatwg.org/#content-navigable 13546. https://html.spec.whatwg.org/#create-navigation-params-from-a-srcdoc-resource 13547. https://html.spec.whatwg.org/#document 13548. https://dom.spec.whatwg.org/#concept-document-url 13549. https://html.spec.whatwg.org/#matches-about:srcdoc 13550. https://html.spec.whatwg.org/#attr-iframe-srcdoc 13551. https://html.spec.whatwg.org/#syntax 13552. https://html.spec.whatwg.org/#syntax-comments 13553. https://infra.spec.whatwg.org/#ascii-whitespace 13554. https://html.spec.whatwg.org/#syntax-doctype 13555. https://html.spec.whatwg.org/#syntax-comments 13556. https://infra.spec.whatwg.org/#ascii-whitespace 13557. https://dom.spec.whatwg.org/#document-element 13558. https://html.spec.whatwg.org/#the-html-element 13559. https://html.spec.whatwg.org/#syntax-elements 13560. https://html.spec.whatwg.org/#syntax-comments 13561. https://infra.spec.whatwg.org/#ascii-whitespace 13562. https://dom.spec.whatwg.org/#xml-document 13563. https://html.spec.whatwg.org/#attr-iframe-srcdoc 13564. https://html.spec.whatwg.org/#attr-iframe-sandbox 13565. https://html.spec.whatwg.org/#attr-iframe-srcdoc 13566. https://html.spec.whatwg.org/#attr-iframe-srcdoc 13567. https://html.spec.whatwg.org/#syntax-doctype 13568. https://html.spec.whatwg.org/#an-iframe-srcdoc-document 13569. https://html.spec.whatwg.org/#the-html-element 13570. https://html.spec.whatwg.org/#the-head-element 13571. https://html.spec.whatwg.org/#the-body-element 13572. https://html.spec.whatwg.org/#syntax-tag-omission 13573. https://html.spec.whatwg.org/#the-title-element 13574. https://html.spec.whatwg.org/#an-iframe-srcdoc-document 13575. https://html.spec.whatwg.org/#attr-iframe-srcdoc 13576. https://html.spec.whatwg.org/#the-body-element 13577. https://html.spec.whatwg.org/#syntax 13578. https://html.spec.whatwg.org/#attr-iframe-sandbox 13579. https://www.w3.org/TR/xml/#AVNormalize 13580. https://html.spec.whatwg.org/#refsXML 13581. https://html.spec.whatwg.org/#attr-iframe-src 13582. https://html.spec.whatwg.org/#attr-iframe-srcdoc 13583. https://html.spec.whatwg.org/#attr-iframe-srcdoc 13584. https://url.spec.whatwg.org/#concept-url 13585. https://html.spec.whatwg.org/#attr-iframe-srcdoc 13586. https://html.spec.whatwg.org/#the-iframe-element 13587. https://html.spec.whatwg.org/#html-element-post-connection-steps 13588. https://html.spec.whatwg.org/#create-a-new-child-navigable 13589. https://html.spec.whatwg.org/#attr-iframe-sandbox 13590. https://html.spec.whatwg.org/#parse-a-sandboxing-directive 13591. https://html.spec.whatwg.org/#iframe-sandboxing-flag-set 13592. https://html.spec.whatwg.org/#process-the-iframe-attributes 13593. https://html.spec.whatwg.org/#process-iframe-initial-insertion 13594. https://html.spec.whatwg.org/#the-iframe-element 13595. https://html.spec.whatwg.org/#html-element-removing-steps 13596. https://html.spec.whatwg.org/#destroy-a-child-navigable 13597. https://html.spec.whatwg.org/#event-unload 13598. https://html.spec.whatwg.org/#concept-bcc-content-document 13599. https://html.spec.whatwg.org/#destroy-a-child-navigable 13600. https://html.spec.whatwg.org/#unload-a-document 13601. https://html.spec.whatwg.org/#the-iframe-element 13602. https://dom.spec.whatwg.org/#concept-shadow-tree 13603. https://github.com/whatwg/html/issues/763 13604. https://html.spec.whatwg.org/#the-iframe-element 13605. https://html.spec.whatwg.org/#content-navigable 13606. https://html.spec.whatwg.org/#attr-iframe-srcdoc 13607. https://html.spec.whatwg.org/#process-the-iframe-attributes 13608. https://html.spec.whatwg.org/#the-iframe-element 13609. https://html.spec.whatwg.org/#content-navigable 13610. https://html.spec.whatwg.org/#attr-iframe-srcdoc 13611. https://html.spec.whatwg.org/#attr-iframe-src 13612. https://html.spec.whatwg.org/#process-the-iframe-attributes 13613. https://html.spec.whatwg.org/#attr-iframe-srcdoc 13614. https://html.spec.whatwg.org/#current-navigation-was-lazy-loaded 13615. https://html.spec.whatwg.org/#will-lazy-load-element-steps 13616. https://html.spec.whatwg.org/#lazy-load-resumption-steps 13617. https://html.spec.whatwg.org/#current-navigation-was-lazy-loaded 13618. https://html.spec.whatwg.org/#start-intersection-observing-a-lazy-loading-element 13619. https://html.spec.whatwg.org/#navigate-an-iframe-or-frame 13620. https://html.spec.whatwg.org/#about:srcdoc 13621. https://html.spec.whatwg.org/#attr-iframe-srcdoc 13622. https://html.spec.whatwg.org/#document 13623. https://html.spec.whatwg.org/#an-iframe-srcdoc-document 13624. https://html.spec.whatwg.org/#shared-attribute-processing-steps-for-iframe-and-frame-elements 13625. https://html.spec.whatwg.org/#matches-about:blank 13626. https://html.spec.whatwg.org/#iframe-load-event-steps 13627. https://html.spec.whatwg.org/#attr-iframe-referrerpolicy 13628. https://html.spec.whatwg.org/#current-navigation-was-lazy-loaded 13629. https://html.spec.whatwg.org/#will-lazy-load-element-steps 13630. https://html.spec.whatwg.org/#lazy-load-resumption-steps 13631. https://html.spec.whatwg.org/#current-navigation-was-lazy-loaded 13632. https://html.spec.whatwg.org/#start-intersection-observing-a-lazy-loading-element 13633. https://html.spec.whatwg.org/#navigate-an-iframe-or-frame 13634. https://url.spec.whatwg.org/#concept-url 13635. https://html.spec.whatwg.org/#about:blank 13636. https://html.spec.whatwg.org/#attr-iframe-src 13637. https://html.spec.whatwg.org/#encoding-parsing-a-url 13638. https://dom.spec.whatwg.org/#concept-node-document 13639. https://html.spec.whatwg.org/#inclusive-ancestor-navigables 13640. https://html.spec.whatwg.org/#node-navigable 13641. https://html.spec.whatwg.org/#navigable 13642. https://html.spec.whatwg.org/#nav-document 13643. https://dom.spec.whatwg.org/#concept-document-url 13644. https://url.spec.whatwg.org/#concept-url-equals 13645. https://url.spec.whatwg.org/#url-equals-exclude-fragments 13646. https://html.spec.whatwg.org/#matches-about:blank 13647. https://html.spec.whatwg.org/#url-and-history-update-steps 13648. https://html.spec.whatwg.org/#content-navigable 13649. https://html.spec.whatwg.org/#nav-document 13650. https://url.spec.whatwg.org/#concept-url 13651. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 13652. https://html.spec.whatwg.org/#navigationhistorybehavior-auto 13653. https://html.spec.whatwg.org/#content-navigable 13654. https://html.spec.whatwg.org/#nav-document 13655. https://html.spec.whatwg.org/#completely-loaded 13656. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 13657. https://html.spec.whatwg.org/#the-iframe-element 13658. https://html.spec.whatwg.org/#iframe-pending-resource-timing-start-time 13659. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 13660. https://dom.spec.whatwg.org/#concept-node-document 13661. https://html.spec.whatwg.org/#concept-relevant-global 13662. https://html.spec.whatwg.org/#navigate 13663. https://html.spec.whatwg.org/#content-navigable 13664. https://dom.spec.whatwg.org/#concept-node-document 13665. https://html.spec.whatwg.org/#navigation-hh 13666. https://html.spec.whatwg.org/#navigation-referrer-policy 13667. https://html.spec.whatwg.org/#navigation-resource 13668. https://html.spec.whatwg.org/#document 13669. https://html.spec.whatwg.org/#document 13670. https://html.spec.whatwg.org/#document 13671. https://html.spec.whatwg.org/#the-iframe-element 13672. https://infra.spec.whatwg.org/#assert 13673. https://html.spec.whatwg.org/#content-navigable 13674. https://html.spec.whatwg.org/#content-navigable 13675. https://html.spec.whatwg.org/#nav-document 13676. https://html.spec.whatwg.org/#mute-iframe-load 13677. https://html.spec.whatwg.org/#iframe-pending-resource-timing-start-time 13678. https://dom.spec.whatwg.org/#concept-node-document 13679. https://html.spec.whatwg.org/#concept-relevant-global 13680. https://fetch.spec.whatwg.org/#fetch-timing-info 13681. https://fetch.spec.whatwg.org/#fetch-timing-info-start-time 13682. https://html.spec.whatwg.org/#iframe-pending-resource-timing-start-time 13683. https://fetch.spec.whatwg.org/#fetch-timing-info-end-time 13684. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 13685. https://w3c.github.io/resource-timing/#dfn-mark-resource-timing 13686. https://html.spec.whatwg.org/#the-iframe-element 13687. https://fetch.spec.whatwg.org/#response-body-info 13688. https://html.spec.whatwg.org/#iframe-pending-resource-timing-start-time 13689. https://html.spec.whatwg.org/#iframe-load-in-progress 13690. https://dom.spec.whatwg.org/#concept-event-fire 13691. https://html.spec.whatwg.org/#event-load 13692. https://html.spec.whatwg.org/#iframe-load-in-progress 13693. https://html.spec.whatwg.org/#concept-origin 13694. https://html.spec.whatwg.org/#delay-the-load-event 13695. https://dom.spec.whatwg.org/#concept-node-document 13696. https://html.spec.whatwg.org/#content-navigable 13697. https://html.spec.whatwg.org/#content-navigable 13698. https://html.spec.whatwg.org/#nav-document 13699. https://html.spec.whatwg.org/#ready-for-post-load-tasks 13700. https://html.spec.whatwg.org/#content-navigable 13701. https://html.spec.whatwg.org/#delaying-load-events-mode 13702. https://html.spec.whatwg.org/#delay-the-load-event 13703. https://html.spec.whatwg.org/#content-navigable 13704. https://html.spec.whatwg.org/#nav-document 13705. https://html.spec.whatwg.org/#event-load 13706. https://html.spec.whatwg.org/#content-navigable 13707. https://html.spec.whatwg.org/#navigate 13708. https://html.spec.whatwg.org/#delay-the-load-event 13709. https://html.spec.whatwg.org/#the-iframe-element 13710. https://html.spec.whatwg.org/#process-the-iframe-attributes 13711. https://html.spec.whatwg.org/#the-iframe-element 13712. https://html.spec.whatwg.org/#current-navigation-was-lazy-loaded 13713. https://html.spec.whatwg.org/#potentially-delays-the-load-event 13714. https://html.spec.whatwg.org/#the-iframe-element 13715. https://w3c.github.io/hr-time/#dom-domhighrestimestamp 13716. https://html.spec.whatwg.org/#attr-iframe-srcdoc 13717. https://html.spec.whatwg.org/#attr-iframe-src 13718. https://html.spec.whatwg.org/#encoding-parsing-a-url 13719. https://html.spec.whatwg.org/#content-navigable 13720. https://html.spec.whatwg.org/#is-initial-about:blank 13721. https://html.spec.whatwg.org/#document 13722. https://html.spec.whatwg.org/#navigate 13723. https://html.spec.whatwg.org/#the-iframe-element 13724. https://html.spec.whatwg.org/#content-navigable 13725. https://html.spec.whatwg.org/#nav-wp 13726. https://html.spec.whatwg.org/#window 13727. https://html.spec.whatwg.org/#document 13728. https://html.spec.whatwg.org/#attr-iframe-src 13729. https://html.spec.whatwg.org/#valid-navigable-target-name 13730. https://html.spec.whatwg.org/#content-navigable 13731. https://html.spec.whatwg.org/#create-a-new-child-navigable 13732. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox 13733. https://html.spec.whatwg.org/#the-iframe-element 13734. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 13735. https://infra.spec.whatwg.org/#ascii-case-insensitive 13736. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-downloads 13737. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-forms 13738. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-modals 13739. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-orientation-lock 13740. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-pointer-lock 13741. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-popups 13742. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-popups-to-escape-sandbox 13743. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-presentation 13744. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-same-origin 13745. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-scripts 13746. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation 13747. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation-by-user-activation 13748. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation-to-custom-protocols 13749. https://html.spec.whatwg.org/#concept-origin-opaque 13750. https://html.spec.whatwg.org/#navigable 13751. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-same-origin 13752. https://html.spec.whatwg.org/#concept-origin-opaque 13753. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation 13754. https://html.spec.whatwg.org/#navigate 13755. https://html.spec.whatwg.org/#nav-traversable 13756. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation-by-user-activation 13757. https://html.spec.whatwg.org/#navigate 13758. https://html.spec.whatwg.org/#nav-window 13759. https://html.spec.whatwg.org/#transient-activation 13760. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation-to-custom-protocols 13761. https://fetch.spec.whatwg.org/#fetch-scheme 13762. https://html.spec.whatwg.org/#hand-off-to-external-software 13763. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-forms 13764. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-modals 13765. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-orientation-lock 13766. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-pointer-lock 13767. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-popups 13768. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-presentation 13769. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-scripts 13770. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-popups-to-escape-sandbox 13771. https://html.spec.whatwg.org/#auxiliary-browsing-context 13772. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-downloads 13773. https://html.spec.whatwg.org/#refsPOINTERLOCK 13774. https://html.spec.whatwg.org/#refsSCREENORIENTATION 13775. https://html.spec.whatwg.org/#refsPRESENTATION 13776. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation 13777. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation-by-user-activation 13778. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation 13779. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation-to-custom-protocols 13780. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation 13781. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-popups 13782. https://html.spec.whatwg.org/#dom-alert 13783. https://html.spec.whatwg.org/#dom-confirm 13784. https://html.spec.whatwg.org/#dom-prompt 13785. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-modals 13786. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-same-origin 13787. https://html.spec.whatwg.org/#same-origin 13788. https://html.spec.whatwg.org/#concept-environment-top-level-origin 13789. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-same-origin 13790. https://html.spec.whatwg.org/#cannot-show-simple-dialogs 13791. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-scripts 13792. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-same-origin 13793. https://html.spec.whatwg.org/#same-origin 13794. https://html.spec.whatwg.org/#the-iframe-element 13795. https://html.spec.whatwg.org/#attr-iframe-sandbox 13796. https://html.spec.whatwg.org/#content-navigable 13797. https://html.spec.whatwg.org/#the-iframe-element 13798. https://html.spec.whatwg.org/#navigate 13799. https://html.spec.whatwg.org/#attr-iframe-sandbox 13800. https://html.spec.whatwg.org/#the-iframe-element 13801. https://html.spec.whatwg.org/#the-iframe-element 13802. https://html.spec.whatwg.org/#attr-iframe-sandbox 13803. https://html.spec.whatwg.org/#the-iframe-element 13804. https://html.spec.whatwg.org/#attr-iframe-sandbox 13805. https://html.spec.whatwg.org/#content-navigable 13806. https://html.spec.whatwg.org/#parse-a-sandboxing-directive 13807. https://html.spec.whatwg.org/#the-iframe-element 13808. https://html.spec.whatwg.org/#iframe-sandboxing-flag-set 13809. https://html.spec.whatwg.org/#the-iframe-element 13810. https://html.spec.whatwg.org/#attr-iframe-sandbox 13811. https://html.spec.whatwg.org/#content-navigable 13812. https://html.spec.whatwg.org/#the-iframe-element 13813. https://html.spec.whatwg.org/#iframe-sandboxing-flag-set 13814. https://html.spec.whatwg.org/#text/html 13815. https://html.spec.whatwg.org/#the-iframe-element 13816. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-scripts 13817. https://html.spec.whatwg.org/#the-iframe-element 13818. https://html.spec.whatwg.org/#the-iframe-element 13819. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-forms 13820. https://html.spec.whatwg.org/#attr-iframe-sandbox 13821. https://html.spec.whatwg.org/#the-iframe-element 13822. https://html.spec.whatwg.org/#the-iframe-element 13823. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-same-origin 13824. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-forms 13825. https://html.spec.whatwg.org/#content-navigable 13826. https://html.spec.whatwg.org/#the-iframe-element 13827. https://html.spec.whatwg.org/#attr-iframe-sandbox 13828. https://w3c.github.io/webappsec-feature-policy/#container-policy 13829. https://html.spec.whatwg.org/#concept-document-permissions-policy 13830. https://html.spec.whatwg.org/#document 13831. https://html.spec.whatwg.org/#the-iframe-element 13832. https://html.spec.whatwg.org/#content-navigable 13833. https://w3c.github.io/webappsec-feature-policy/#serialized-permissions-policy 13834. https://html.spec.whatwg.org/#refsPERMISSIONSPOLICY 13835. https://html.spec.whatwg.org/#the-iframe-element 13836. https://html.spec.whatwg.org/#attr-iframe-allow 13837. https://html.spec.whatwg.org/#boolean-attribute 13838. https://html.spec.whatwg.org/#document 13839. https://html.spec.whatwg.org/#the-iframe-element 13840. https://html.spec.whatwg.org/#content-navigable 13841. https://html.spec.whatwg.org/#concept-document-permissions-policy 13842. https://html.spec.whatwg.org/#concept-origin 13843. https://w3c.github.io/webappsec-feature-policy/#process-permissions-policy-attributes 13844. https://html.spec.whatwg.org/#refsPERMISSIONSPOLICY 13845. https://html.spec.whatwg.org/#the-iframe-element 13846. https://html.spec.whatwg.org/#attr-iframe-allowfullscreen 13847. https://html.spec.whatwg.org/#attr-iframe-allow 13848. https://html.spec.whatwg.org/#attr-iframe-allowfullscreen 13849. https://html.spec.whatwg.org/#the-iframe-element 13850. https://html.spec.whatwg.org/#content-navigable 13851. https://dom.spec.whatwg.org/#concept-node-document 13852. https://html.spec.whatwg.org/#document 13853. https://html.spec.whatwg.org/#concept-document-bc 13854. https://html.spec.whatwg.org/#fully-active 13855. https://w3c.github.io/webappsec-feature-policy/#is-feature-enabled 13856. https://dom.spec.whatwg.org/#concept-document-origin 13857. https://html.spec.whatwg.org/#concept-document-permissions-policy 13858. https://html.spec.whatwg.org/#content-navigable 13859. https://html.spec.whatwg.org/#nav-document 13860. https://html.spec.whatwg.org/#attr-iframe-allow 13861. https://html.spec.whatwg.org/#attr-iframe-allowfullscreen 13862. https://html.spec.whatwg.org/#content-navigable 13863. https://html.spec.whatwg.org/#the-iframe-element 13864. https://html.spec.whatwg.org/#navigate 13865. https://html.spec.whatwg.org/#the-iframe-element 13866. https://html.spec.whatwg.org/#dimension-attributes 13867. https://html.spec.whatwg.org/#the-iframe-element 13868. https://html.spec.whatwg.org/#fallback-content 13869. https://html.spec.whatwg.org/#create-a-new-child-navigable 13870. https://html.spec.whatwg.org/#referrer-policy-attribute 13871. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 13872. https://html.spec.whatwg.org/#process-the-iframe-attributes 13873. https://html.spec.whatwg.org/#refsREFERRERPOLICY 13874. https://html.spec.whatwg.org/#lazy-loading-attribute 13875. https://html.spec.whatwg.org/#the-iframe-element 13876. https://html.spec.whatwg.org/#attr-iframe-loading 13877. https://html.spec.whatwg.org/#attr-loading-eager-state 13878. https://html.spec.whatwg.org/#the-iframe-element 13879. https://html.spec.whatwg.org/#lazy-load-resumption-steps 13880. https://html.spec.whatwg.org/#the-iframe-element 13881. https://html.spec.whatwg.org/#lazy-load-resumption-steps 13882. https://html.spec.whatwg.org/#the-iframe-element 13883. https://html.spec.whatwg.org/#the-iframe-element 13884. https://html.spec.whatwg.org/#html-parser 13885. https://html.spec.whatwg.org/#the-iframe-element 13886. https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/src 13887. https://html.spec.whatwg.org/#reflect 13888. https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/srcdoc 13889. https://dom.spec.whatwg.org/#concept-element-attributes-get-by-namespace 13890. https://html.spec.whatwg.org/#attr-iframe-srcdoc 13891. https://dom.spec.whatwg.org/#concept-attribute-local-name 13892. https://webidl.spec.whatwg.org/#this 13893. https://dom.spec.whatwg.org/#concept-attribute-value 13894. https://html.spec.whatwg.org/#dom-iframe-srcdoc 13895. https://w3c.github.io/trusted-types/dist/spec/#get-trusted-type-compliant-string-algorithm 13896. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 13897. https://webidl.spec.whatwg.org/#this 13898. https://html.spec.whatwg.org/#concept-relevant-global 13899. https://dom.spec.whatwg.org/#concept-element-attributes-set-value 13900. https://webidl.spec.whatwg.org/#this 13901. https://html.spec.whatwg.org/#attr-iframe-srcdoc 13902. https://dom.spec.whatwg.org/#concept-attribute-local-name 13903. https://dom.spec.whatwg.org/#concept-supported-tokens 13904. https://html.spec.whatwg.org/#dom-iframe-sandbox 13905. https://dom.spec.whatwg.org/#interface-domtokenlist 13906. https://html.spec.whatwg.org/#attr-iframe-sandbox 13907. https://html.spec.whatwg.org/#reflect 13908. https://html.spec.whatwg.org/#attr-iframe-allowfullscreen 13909. https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/referrerPolicy 13910. https://html.spec.whatwg.org/#reflect 13911. https://html.spec.whatwg.org/#attr-iframe-referrerpolicy 13912. https://html.spec.whatwg.org/#limited-to-only-known-values 13913. https://html.spec.whatwg.org/#reflect 13914. https://html.spec.whatwg.org/#attr-iframe-loading 13915. https://html.spec.whatwg.org/#limited-to-only-known-values 13916. https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/contentDocument 13917. https://webidl.spec.whatwg.org/#this 13918. https://html.spec.whatwg.org/#concept-bcc-content-document 13919. https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/contentWindow 13920. https://webidl.spec.whatwg.org/#this 13921. https://html.spec.whatwg.org/#content-window 13922. https://html.spec.whatwg.org/#the-iframe-element 13923. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/embed 13924. https://developer.mozilla.org/en-US/docs/Web/API/HTMLEmbedElement 13925. https://html.spec.whatwg.org/#concept-element-categories 13926. https://html.spec.whatwg.org/#flow-content-2 13927. https://html.spec.whatwg.org/#phrasing-content-2 13928. https://html.spec.whatwg.org/#embedded-content-category 13929. https://html.spec.whatwg.org/#interactive-content-2 13930. https://html.spec.whatwg.org/#palpable-content-2 13931. https://html.spec.whatwg.org/#concept-element-contexts 13932. https://html.spec.whatwg.org/#embedded-content-category 13933. https://html.spec.whatwg.org/#concept-element-content-model 13934. https://html.spec.whatwg.org/#concept-content-nothing 13935. https://html.spec.whatwg.org/#concept-element-tag-omission 13936. https://html.spec.whatwg.org/#syntax-end-tag 13937. https://html.spec.whatwg.org/#concept-element-attributes 13938. https://html.spec.whatwg.org/#global-attributes 13939. https://html.spec.whatwg.org/#attr-embed-src 13940. https://html.spec.whatwg.org/#attr-embed-type 13941. https://html.spec.whatwg.org/#attr-dim-width 13942. https://html.spec.whatwg.org/#attr-dim-height 13943. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 13944. https://w3c.github.io/html-aria/#el-embed 13945. https://w3c.github.io/html-aam/#el-embed 13946. https://html.spec.whatwg.org/#concept-element-dom 13947. https://html.spec.whatwg.org/#htmlelement 13948. https://html.spec.whatwg.org/#htmlconstructor 13949. https://html.spec.whatwg.org/#cereactions 13950. https://html.spec.whatwg.org/#dom-embed-src 13951. https://html.spec.whatwg.org/#cereactions 13952. https://html.spec.whatwg.org/#dom-embed-type 13953. https://html.spec.whatwg.org/#cereactions 13954. https://html.spec.whatwg.org/#dom-dim-width 13955. https://html.spec.whatwg.org/#cereactions 13956. https://html.spec.whatwg.org/#dom-dim-height 13957. https://html.spec.whatwg.org/#document 13958. https://html.spec.whatwg.org/#dom-media-getsvgdocument 13959. https://html.spec.whatwg.org/#HTMLEmbedElement-partial 13960. https://html.spec.whatwg.org/#the-embed-element 13961. https://url.spec.whatwg.org/#concept-url 13962. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 13963. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 13964. https://html.spec.whatwg.org/#the-embed-element 13965. https://html.spec.whatwg.org/#attr-embed-src 13966. https://mimesniff.spec.whatwg.org/#mime-type 13967. https://mimesniff.spec.whatwg.org/#valid-mime-type 13968. https://html.spec.whatwg.org/#attr-embed-type 13969. https://html.spec.whatwg.org/#attr-embed-src 13970. https://html.spec.whatwg.org/#attr-embed-type 13971. https://html.spec.whatwg.org/#content-type 13972. https://html.spec.whatwg.org/#attr-embed-src 13973. https://html.spec.whatwg.org/#plugin 13974. https://html.spec.whatwg.org/#the-embed-element 13975. https://html.spec.whatwg.org/#represents 13976. https://html.spec.whatwg.org/#attr-embed-src 13977. https://html.spec.whatwg.org/#attr-embed-type 13978. https://html.spec.whatwg.org/#media-element 13979. https://html.spec.whatwg.org/#the-object-element 13980. https://html.spec.whatwg.org/#fallback-content 13981. https://html.spec.whatwg.org/#the-embed-element 13982. https://dom.spec.whatwg.org/#in-a-document 13983. https://dom.spec.whatwg.org/#in-a-document 13984. https://html.spec.whatwg.org/#event-loop 13985. https://html.spec.whatwg.org/#step1 13986. https://dom.spec.whatwg.org/#concept-node-document 13987. https://html.spec.whatwg.org/#fully-active 13988. https://html.spec.whatwg.org/#attr-embed-src 13989. https://html.spec.whatwg.org/#attr-embed-type 13990. https://html.spec.whatwg.org/#attr-embed-src 13991. https://html.spec.whatwg.org/#media-element 13992. https://html.spec.whatwg.org/#the-object-element 13993. https://html.spec.whatwg.org/#fallback-content 13994. https://html.spec.whatwg.org/#being-rendered 13995. https://html.spec.whatwg.org/#being-rendered 13996. https://html.spec.whatwg.org/#event-loop 13997. https://html.spec.whatwg.org/#step1 13998. https://html.spec.whatwg.org/#the-embed-element 13999. https://html.spec.whatwg.org/#concept-embed-active 14000. https://html.spec.whatwg.org/#concept-embed-active 14001. https://html.spec.whatwg.org/#concept-embed-active 14002. https://html.spec.whatwg.org/#the-embed-element 14003. https://html.spec.whatwg.org/#concept-embed-active 14004. https://html.spec.whatwg.org/#attr-embed-type 14005. https://html.spec.whatwg.org/#attr-embed-type 14006. https://html.spec.whatwg.org/#queue-an-element-task 14007. https://html.spec.whatwg.org/#the-embed-element-setup-steps 14008. https://html.spec.whatwg.org/#the-embed-element 14009. https://html.spec.whatwg.org/#concept-task 14010. https://html.spec.whatwg.org/#the-embed-element-setup-steps 14011. https://html.spec.whatwg.org/#attr-embed-src 14012. https://html.spec.whatwg.org/#encoding-parsing-a-url 14013. https://html.spec.whatwg.org/#attr-embed-src 14014. https://dom.spec.whatwg.org/#concept-node-document 14015. https://fetch.spec.whatwg.org/#concept-request 14016. https://fetch.spec.whatwg.org/#concept-request-url 14017. https://fetch.spec.whatwg.org/#concept-request-client 14018. https://dom.spec.whatwg.org/#concept-node-document 14019. https://html.spec.whatwg.org/#relevant-settings-object 14020. https://fetch.spec.whatwg.org/#concept-request-destination 14021. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 14022. https://fetch.spec.whatwg.org/#concept-request-mode 14023. https://fetch.spec.whatwg.org/#request-initiator-type 14024. https://fetch.spec.whatwg.org/#concept-request-use-url-credentials-flag 14025. https://fetch.spec.whatwg.org/#concept-fetch 14026. https://fetch.spec.whatwg.org/#process-response 14027. https://fetch.spec.whatwg.org/#concept-response 14028. https://html.spec.whatwg.org/#concept-task 14029. https://html.spec.whatwg.org/#the-embed-element-setup-steps 14030. https://fetch.spec.whatwg.org/#concept-network-error 14031. https://dom.spec.whatwg.org/#concept-event-fire 14032. https://html.spec.whatwg.org/#event-load 14033. https://html.spec.whatwg.org/#concept-embed-type 14034. https://html.spec.whatwg.org/#display-no-plugin 14035. https://html.spec.whatwg.org/#content-navigable 14036. https://html.spec.whatwg.org/#create-a-new-child-navigable 14037. https://html.spec.whatwg.org/#navigate 14038. https://html.spec.whatwg.org/#content-navigable 14039. https://fetch.spec.whatwg.org/#concept-response-url 14040. https://dom.spec.whatwg.org/#concept-node-document 14041. https://html.spec.whatwg.org/#navigation-response 14042. https://html.spec.whatwg.org/#navigation-hh 14043. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 14044. https://html.spec.whatwg.org/#attr-embed-src 14045. https://html.spec.whatwg.org/#content-navigable 14046. https://html.spec.whatwg.org/#represents 14047. https://html.spec.whatwg.org/#content-navigable 14048. https://html.spec.whatwg.org/#delay-the-load-event 14049. https://dom.spec.whatwg.org/#concept-node-document 14050. https://html.spec.whatwg.org/#display-no-plugin 14051. https://html.spec.whatwg.org/#the-embed-element 14052. https://fetch.spec.whatwg.org/#concept-response 14053. https://html.spec.whatwg.org/#attr-embed-type 14054. https://html.spec.whatwg.org/#plugin 14055. https://html.spec.whatwg.org/#attr-embed-type 14056. https://url.spec.whatwg.org/#concept-url-path 14057. https://fetch.spec.whatwg.org/#concept-response-url 14058. https://html.spec.whatwg.org/#plugin 14059. https://url.spec.whatwg.org/#concept-url-path 14060. https://html.spec.whatwg.org/#content-type 14061. https://html.spec.whatwg.org/#plugin 14062. https://fetch.spec.whatwg.org/#ok-status 14063. https://html.spec.whatwg.org/#the-embed-element 14064. https://html.spec.whatwg.org/#destroy-a-child-navigable 14065. https://html.spec.whatwg.org/#plugin 14066. https://html.spec.whatwg.org/#represents 14067. https://html.spec.whatwg.org/#the-embed-element 14068. https://html.spec.whatwg.org/#fallback-content 14069. https://html.spec.whatwg.org/#the-embed-element 14070. https://html.spec.whatwg.org/#concept-embed-active 14071. https://html.spec.whatwg.org/#concept-embed-active 14072. https://html.spec.whatwg.org/#plugin 14073. https://html.spec.whatwg.org/#the-embed-element 14074. https://html.spec.whatwg.org/#potentially-delays-the-load-event 14075. https://html.spec.whatwg.org/#the-embed-element 14076. https://html.spec.whatwg.org/#dimension-attributes 14077. https://html.spec.whatwg.org/#reflect 14078. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object 14079. https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement 14080. https://html.spec.whatwg.org/#concept-element-categories 14081. https://html.spec.whatwg.org/#flow-content-2 14082. https://html.spec.whatwg.org/#phrasing-content-2 14083. https://html.spec.whatwg.org/#embedded-content-category 14084. https://html.spec.whatwg.org/#category-listed 14085. https://html.spec.whatwg.org/#form-associated-element 14086. https://html.spec.whatwg.org/#palpable-content-2 14087. https://html.spec.whatwg.org/#concept-element-contexts 14088. https://html.spec.whatwg.org/#embedded-content-category 14089. https://html.spec.whatwg.org/#concept-element-content-model 14090. https://html.spec.whatwg.org/#transparent 14091. https://html.spec.whatwg.org/#concept-element-tag-omission 14092. https://html.spec.whatwg.org/#concept-element-attributes 14093. https://html.spec.whatwg.org/#global-attributes 14094. https://html.spec.whatwg.org/#attr-object-data 14095. https://html.spec.whatwg.org/#attr-object-type 14096. https://html.spec.whatwg.org/#attr-object-name 14097. https://html.spec.whatwg.org/#content-navigable 14098. https://html.spec.whatwg.org/#attr-fae-form 14099. https://html.spec.whatwg.org/#the-form-element 14100. https://html.spec.whatwg.org/#attr-dim-width 14101. https://html.spec.whatwg.org/#attr-dim-height 14102. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 14103. https://w3c.github.io/html-aria/#el-object 14104. https://w3c.github.io/html-aam/#el-object 14105. https://html.spec.whatwg.org/#concept-element-dom 14106. https://html.spec.whatwg.org/#htmlelement 14107. https://html.spec.whatwg.org/#htmlconstructor 14108. https://html.spec.whatwg.org/#cereactions 14109. https://html.spec.whatwg.org/#dom-object-data 14110. https://html.spec.whatwg.org/#cereactions 14111. https://html.spec.whatwg.org/#dom-object-type 14112. https://html.spec.whatwg.org/#cereactions 14113. https://html.spec.whatwg.org/#dom-object-name 14114. https://html.spec.whatwg.org/#htmlformelement 14115. https://html.spec.whatwg.org/#dom-fae-form 14116. https://html.spec.whatwg.org/#cereactions 14117. https://html.spec.whatwg.org/#dom-dim-width 14118. https://html.spec.whatwg.org/#cereactions 14119. https://html.spec.whatwg.org/#dom-dim-height 14120. https://html.spec.whatwg.org/#document 14121. https://html.spec.whatwg.org/#dom-object-contentdocument 14122. https://html.spec.whatwg.org/#windowproxy 14123. https://html.spec.whatwg.org/#dom-object-contentwindow 14124. https://html.spec.whatwg.org/#document 14125. https://html.spec.whatwg.org/#dom-media-getsvgdocument 14126. https://html.spec.whatwg.org/#dom-cva-willvalidate 14127. https://html.spec.whatwg.org/#validitystate 14128. https://html.spec.whatwg.org/#dom-cva-validity 14129. https://html.spec.whatwg.org/#dom-cva-validationmessage 14130. https://html.spec.whatwg.org/#dom-cva-checkvalidity 14131. https://html.spec.whatwg.org/#dom-cva-reportvalidity 14132. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 14133. https://html.spec.whatwg.org/#HTMLObjectElement-partial 14134. https://html.spec.whatwg.org/#the-object-element 14135. https://html.spec.whatwg.org/#the-object-element 14136. https://html.spec.whatwg.org/#child-navigable 14137. https://url.spec.whatwg.org/#concept-url 14138. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 14139. https://mimesniff.spec.whatwg.org/#valid-mime-type 14140. https://html.spec.whatwg.org/#valid-navigable-target-name 14141. https://html.spec.whatwg.org/#content-navigable 14142. https://html.spec.whatwg.org/#content-navigable 14143. https://html.spec.whatwg.org/#create-a-new-child-navigable 14144. https://html.spec.whatwg.org/#stack-of-open-elements 14145. https://html.spec.whatwg.org/#html-parser 14146. https://html.spec.whatwg.org/#xml-parser 14147. https://html.spec.whatwg.org/#stack-of-open-elements 14148. https://html.spec.whatwg.org/#html-parser 14149. https://html.spec.whatwg.org/#xml-parser 14150. https://html.spec.whatwg.org/#insert-an-element-into-a-document 14151. https://html.spec.whatwg.org/#remove-an-element-from-a-document 14152. https://dom.spec.whatwg.org/#concept-node-document 14153. https://html.spec.whatwg.org/#fully-active 14154. https://html.spec.whatwg.org/#the-object-element 14155. https://html.spec.whatwg.org/#fallback-content 14156. https://html.spec.whatwg.org/#attr-object-classid 14157. https://html.spec.whatwg.org/#attr-object-classid 14158. https://html.spec.whatwg.org/#attr-object-data 14159. https://html.spec.whatwg.org/#attr-object-classid 14160. https://html.spec.whatwg.org/#attr-object-data 14161. https://html.spec.whatwg.org/#attr-object-type 14162. https://html.spec.whatwg.org/#being-rendered 14163. https://html.spec.whatwg.org/#queue-an-element-task 14164. https://html.spec.whatwg.org/#dom-manipulation-task-source 14165. https://html.spec.whatwg.org/#the-object-element 14166. https://html.spec.whatwg.org/#the-object-element 14167. https://html.spec.whatwg.org/#concept-task 14168. https://html.spec.whatwg.org/#queue-a-task 14169. https://html.spec.whatwg.org/#delay-the-load-event 14170. https://dom.spec.whatwg.org/#concept-node-document 14171. https://html.spec.whatwg.org/#the-object-element 14172. https://html.spec.whatwg.org/#fallback-content 14173. https://html.spec.whatwg.org/#fallback-content 14174. https://html.spec.whatwg.org/#media-element 14175. https://html.spec.whatwg.org/#the-object-element 14176. https://html.spec.whatwg.org/#fallback-content 14177. https://dom.spec.whatwg.org/#in-a-document 14178. https://html.spec.whatwg.org/#concept-document-bc 14179. https://dom.spec.whatwg.org/#concept-node-document 14180. https://html.spec.whatwg.org/#fully-active 14181. https://html.spec.whatwg.org/#stack-of-open-elements 14182. https://html.spec.whatwg.org/#html-parser 14183. https://html.spec.whatwg.org/#xml-parser 14184. https://html.spec.whatwg.org/#being-rendered 14185. https://html.spec.whatwg.org/#attr-object-data 14186. https://html.spec.whatwg.org/#attr-object-type 14187. https://html.spec.whatwg.org/#encoding-parsing-a-url 14188. https://html.spec.whatwg.org/#attr-object-data 14189. https://dom.spec.whatwg.org/#concept-node-document 14190. https://dom.spec.whatwg.org/#concept-event-fire 14191. https://html.spec.whatwg.org/#event-error 14192. https://fetch.spec.whatwg.org/#concept-request 14193. https://fetch.spec.whatwg.org/#concept-request-url 14194. https://fetch.spec.whatwg.org/#concept-request-client 14195. https://dom.spec.whatwg.org/#concept-node-document 14196. https://html.spec.whatwg.org/#relevant-settings-object 14197. https://fetch.spec.whatwg.org/#concept-request-destination 14198. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 14199. https://fetch.spec.whatwg.org/#concept-request-mode 14200. https://fetch.spec.whatwg.org/#request-initiator-type 14201. https://fetch.spec.whatwg.org/#concept-request-use-url-credentials-flag 14202. https://fetch.spec.whatwg.org/#concept-fetch 14203. https://html.spec.whatwg.org/#delay-the-load-event 14204. https://dom.spec.whatwg.org/#concept-node-document 14205. https://html.spec.whatwg.org/#concept-task 14206. https://html.spec.whatwg.org/#queue-a-task 14207. https://html.spec.whatwg.org/#networking-task-source 14208. https://html.spec.whatwg.org/#concept-task 14209. https://html.spec.whatwg.org/#queue-a-task 14210. https://html.spec.whatwg.org/#networking-task-source 14211. https://dom.spec.whatwg.org/#concept-event-fire 14212. https://html.spec.whatwg.org/#event-error 14213. https://html.spec.whatwg.org/#content-type 14214. https://html.spec.whatwg.org/#content-type 14215. https://html.spec.whatwg.org/#content-type 14216. https://html.spec.whatwg.org/#content-type 14217. https://www.rfc-editor.org/rfc/rfc2046#section-4.1.3 14218. https://mimesniff.spec.whatwg.org/#rules-for-text-or-binary 14219. https://www.rfc-editor.org/rfc/rfc2046#section-4.1.3 14220. https://html.spec.whatwg.org/#content-type 14221. https://www.rfc-editor.org/rfc/rfc2046#section-4.5.1 14222. https://html.spec.whatwg.org/#content-type 14223. https://html.spec.whatwg.org/#attr-object-type 14224. https://html.spec.whatwg.org/#the-object-element 14225. https://www.rfc-editor.org/rfc/rfc2046#section-4.5.1 14226. https://mimesniff.spec.whatwg.org/#xml-mime-type 14227. https://html.spec.whatwg.org/#attr-object-type 14228. https://html.spec.whatwg.org/#content-type 14229. https://html.spec.whatwg.org/#attr-object-type 14230. https://html.spec.whatwg.org/#the-object-element 14231. https://html.spec.whatwg.org/#attr-object-type 14232. https://mimesniff.spec.whatwg.org/#computed-mime-type 14233. https://www.rfc-editor.org/rfc/rfc2046#section-4.5.1 14234. https://url.spec.whatwg.org/#concept-url-parser 14235. https://url.spec.whatwg.org/#concept-url 14236. https://url.spec.whatwg.org/#concept-url 14237. https://url.spec.whatwg.org/#concept-url-path 14238. https://html.spec.whatwg.org/#plugin 14239. https://url.spec.whatwg.org/#concept-url-path 14240. https://mimesniff.spec.whatwg.org/#xml-mime-type 14241. https://html.spec.whatwg.org/#the-object-element 14242. https://html.spec.whatwg.org/#content-navigable 14243. https://html.spec.whatwg.org/#create-a-new-child-navigable 14244. https://fetch.spec.whatwg.org/#concept-response 14245. https://fetch.spec.whatwg.org/#concept-fetch 14246. https://fetch.spec.whatwg.org/#concept-response-url 14247. https://html.spec.whatwg.org/#matches-about:blank 14248. https://html.spec.whatwg.org/#navigate 14249. https://html.spec.whatwg.org/#content-navigable 14250. https://fetch.spec.whatwg.org/#concept-response-url 14251. https://dom.spec.whatwg.org/#concept-node-document 14252. https://html.spec.whatwg.org/#navigation-hh 14253. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 14254. https://html.spec.whatwg.org/#attr-object-data 14255. https://html.spec.whatwg.org/#the-object-element 14256. https://html.spec.whatwg.org/#content-navigable 14257. https://html.spec.whatwg.org/#navigate 14258. https://html.spec.whatwg.org/#the-object-element 14259. https://html.spec.whatwg.org/#represents 14260. https://html.spec.whatwg.org/#content-navigable 14261. https://html.spec.whatwg.org/#destroy-a-child-navigable 14262. https://html.spec.whatwg.org/#the-object-element 14263. https://mimesniff.spec.whatwg.org/#rules-for-sniffing-images-specifically 14264. https://html.spec.whatwg.org/#the-object-element 14265. https://html.spec.whatwg.org/#represents 14266. https://html.spec.whatwg.org/#the-object-element 14267. https://html.spec.whatwg.org/#the-object-element 14268. https://html.spec.whatwg.org/#content-navigable 14269. https://html.spec.whatwg.org/#queue-an-element-task 14270. https://html.spec.whatwg.org/#dom-manipulation-task-source 14271. https://html.spec.whatwg.org/#the-object-element 14272. https://dom.spec.whatwg.org/#concept-event-fire 14273. https://html.spec.whatwg.org/#event-load 14274. https://html.spec.whatwg.org/#content-navigable 14275. https://html.spec.whatwg.org/#document 14276. https://html.spec.whatwg.org/#completely-finish-loading 14277. https://html.spec.whatwg.org/#the-object-element 14278. https://html.spec.whatwg.org/#represents 14279. https://html.spec.whatwg.org/#fallback-content 14280. https://html.spec.whatwg.org/#destroy-a-child-navigable 14281. https://html.spec.whatwg.org/#the-object-element 14282. https://html.spec.whatwg.org/#fallback-content 14283. https://html.spec.whatwg.org/#the-object-element 14284. https://html.spec.whatwg.org/#the-object-element 14285. https://html.spec.whatwg.org/#potentially-delays-the-load-event 14286. https://html.spec.whatwg.org/#attr-fae-form 14287. https://html.spec.whatwg.org/#the-object-element 14288. https://html.spec.whatwg.org/#form-owner 14289. https://html.spec.whatwg.org/#the-object-element 14290. https://html.spec.whatwg.org/#dimension-attributes 14291. https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/data 14292. https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/type 14293. https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/name 14294. https://html.spec.whatwg.org/#reflect 14295. https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/contentDocument 14296. https://webidl.spec.whatwg.org/#this 14297. https://html.spec.whatwg.org/#concept-bcc-content-document 14298. https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/contentWindow 14299. https://webidl.spec.whatwg.org/#this 14300. https://html.spec.whatwg.org/#content-window 14301. https://html.spec.whatwg.org/#dom-cva-willvalidate 14302. https://html.spec.whatwg.org/#dom-cva-validity 14303. https://html.spec.whatwg.org/#dom-cva-validationmessage 14304. https://html.spec.whatwg.org/#dom-cva-checkvalidity 14305. https://html.spec.whatwg.org/#dom-cva-reportvalidity 14306. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 14307. https://html.spec.whatwg.org/#the-constraint-validation-api 14308. https://html.spec.whatwg.org/#dom-fae-form 14309. https://html.spec.whatwg.org/#the-object-element 14310. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video 14311. https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement 14312. https://html.spec.whatwg.org/#concept-element-categories 14313. https://html.spec.whatwg.org/#flow-content-2 14314. https://html.spec.whatwg.org/#phrasing-content-2 14315. https://html.spec.whatwg.org/#embedded-content-category 14316. https://html.spec.whatwg.org/#attr-media-controls 14317. https://html.spec.whatwg.org/#interactive-content-2 14318. https://html.spec.whatwg.org/#palpable-content-2 14319. https://html.spec.whatwg.org/#concept-element-contexts 14320. https://html.spec.whatwg.org/#embedded-content-category 14321. https://html.spec.whatwg.org/#concept-element-content-model 14322. https://html.spec.whatwg.org/#attr-media-src 14323. https://html.spec.whatwg.org/#the-track-element 14324. https://html.spec.whatwg.org/#transparent 14325. https://html.spec.whatwg.org/#media-element 14326. https://html.spec.whatwg.org/#attr-media-src 14327. https://html.spec.whatwg.org/#the-source-element 14328. https://html.spec.whatwg.org/#the-track-element 14329. https://html.spec.whatwg.org/#transparent 14330. https://html.spec.whatwg.org/#media-element 14331. https://html.spec.whatwg.org/#concept-element-tag-omission 14332. https://html.spec.whatwg.org/#concept-element-attributes 14333. https://html.spec.whatwg.org/#global-attributes 14334. https://html.spec.whatwg.org/#attr-media-src 14335. https://html.spec.whatwg.org/#attr-media-crossorigin 14336. https://html.spec.whatwg.org/#attr-video-poster 14337. https://html.spec.whatwg.org/#attr-media-preload 14338. https://html.spec.whatwg.org/#media-resource 14339. https://html.spec.whatwg.org/#attr-media-autoplay 14340. https://html.spec.whatwg.org/#media-resource 14341. https://html.spec.whatwg.org/#attr-video-playsinline 14342. https://html.spec.whatwg.org/#attr-media-loop 14343. https://html.spec.whatwg.org/#media-resource 14344. https://html.spec.whatwg.org/#attr-media-muted 14345. https://html.spec.whatwg.org/#media-resource 14346. https://html.spec.whatwg.org/#attr-media-controls 14347. https://html.spec.whatwg.org/#attr-dim-width 14348. https://html.spec.whatwg.org/#attr-dim-height 14349. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 14350. https://w3c.github.io/html-aria/#el-video 14351. https://w3c.github.io/html-aam/#el-video 14352. https://html.spec.whatwg.org/#concept-element-dom 14353. https://html.spec.whatwg.org/#htmlmediaelement 14354. https://html.spec.whatwg.org/#htmlconstructor 14355. https://html.spec.whatwg.org/#cereactions 14356. https://html.spec.whatwg.org/#dom-dim-width 14357. https://html.spec.whatwg.org/#cereactions 14358. https://html.spec.whatwg.org/#dom-dim-height 14359. https://html.spec.whatwg.org/#dom-video-videowidth 14360. https://html.spec.whatwg.org/#dom-video-videoheight 14361. https://html.spec.whatwg.org/#cereactions 14362. https://html.spec.whatwg.org/#dom-video-poster 14363. https://html.spec.whatwg.org/#cereactions 14364. https://html.spec.whatwg.org/#dom-video-playsinline 14365. https://html.spec.whatwg.org/#the-video-element 14366. https://html.spec.whatwg.org/#the-video-element 14367. https://html.spec.whatwg.org/#the-video-element 14368. https://html.spec.whatwg.org/#the-track-element 14369. https://w3c.github.io/webvtt/#webvtt-file 14370. https://html.spec.whatwg.org/#the-track-element 14371. https://html.spec.whatwg.org/#the-video-element 14372. https://html.spec.whatwg.org/#refsWEBVTT 14373. https://html.spec.whatwg.org/#the-video-element 14374. https://html.spec.whatwg.org/#media-element 14375. https://html.spec.whatwg.org/#media-data 14376. https://html.spec.whatwg.org/#attr-media-src 14377. https://html.spec.whatwg.org/#attr-media-crossorigin 14378. https://html.spec.whatwg.org/#attr-media-preload 14379. https://html.spec.whatwg.org/#attr-media-autoplay 14380. https://html.spec.whatwg.org/#attr-media-loop 14381. https://html.spec.whatwg.org/#attr-media-muted 14382. https://html.spec.whatwg.org/#attr-media-controls 14383. https://html.spec.whatwg.org/#media-element-attributes 14384. https://url.spec.whatwg.org/#concept-url 14385. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 14386. https://html.spec.whatwg.org/#attr-video-poster 14387. https://html.spec.whatwg.org/#show-poster-flag 14388. https://html.spec.whatwg.org/#the-video-element 14389. https://html.spec.whatwg.org/#poster-frame 14390. https://html.spec.whatwg.org/#attr-video-poster 14391. https://html.spec.whatwg.org/#poster-frame 14392. https://html.spec.whatwg.org/#encoding-parsing-a-url 14393. https://html.spec.whatwg.org/#attr-video-poster 14394. https://dom.spec.whatwg.org/#concept-node-document 14395. https://html.spec.whatwg.org/#poster-frame 14396. https://fetch.spec.whatwg.org/#concept-request 14397. https://fetch.spec.whatwg.org/#concept-request-url 14398. https://fetch.spec.whatwg.org/#concept-request-client 14399. https://dom.spec.whatwg.org/#concept-node-document 14400. https://html.spec.whatwg.org/#relevant-settings-object 14401. https://fetch.spec.whatwg.org/#concept-request-destination 14402. https://fetch.spec.whatwg.org/#request-initiator-type 14403. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 14404. https://fetch.spec.whatwg.org/#concept-request-use-url-credentials-flag 14405. https://fetch.spec.whatwg.org/#concept-fetch 14406. https://html.spec.whatwg.org/#delay-the-load-event 14407. https://dom.spec.whatwg.org/#concept-node-document 14408. https://html.spec.whatwg.org/#poster-frame 14409. https://html.spec.whatwg.org/#poster-frame 14410. https://html.spec.whatwg.org/#attr-video-poster 14411. https://html.spec.whatwg.org/#poster-frame 14412. https://html.spec.whatwg.org/#boolean-attribute 14413. https://html.spec.whatwg.org/#attr-video-playsinline 14414. https://html.spec.whatwg.org/#attr-video-playsinline 14415. https://html.spec.whatwg.org/#the-video-element 14416. https://html.spec.whatwg.org/#dom-media-readystate 14417. https://html.spec.whatwg.org/#dom-media-have_nothing 14418. https://html.spec.whatwg.org/#dom-media-have_metadata 14419. https://html.spec.whatwg.org/#dom-media-readystate 14420. https://html.spec.whatwg.org/#media-resource 14421. https://html.spec.whatwg.org/#the-video-element 14422. https://html.spec.whatwg.org/#represents 14423. https://html.spec.whatwg.org/#poster-frame 14424. https://drafts.csswg.org/css-color/#transparent-black 14425. https://drafts.csswg.org/css-images/#natural-dimensions 14426. https://html.spec.whatwg.org/#the-video-element 14427. https://html.spec.whatwg.org/#dom-media-paused 14428. https://html.spec.whatwg.org/#current-playback-position 14429. https://html.spec.whatwg.org/#show-poster-flag 14430. https://html.spec.whatwg.org/#the-video-element 14431. https://html.spec.whatwg.org/#represents 14432. https://html.spec.whatwg.org/#poster-frame 14433. https://html.spec.whatwg.org/#the-video-element 14434. https://html.spec.whatwg.org/#dom-media-paused 14435. https://html.spec.whatwg.org/#current-playback-position 14436. https://html.spec.whatwg.org/#the-video-element 14437. https://html.spec.whatwg.org/#potentially-playing 14438. https://html.spec.whatwg.org/#dom-media-paused 14439. https://html.spec.whatwg.org/#the-video-element 14440. https://html.spec.whatwg.org/#represents 14441. https://html.spec.whatwg.org/#the-video-element 14442. https://html.spec.whatwg.org/#dom-media-paused 14443. https://html.spec.whatwg.org/#the-video-element 14444. https://html.spec.whatwg.org/#represents 14445. https://html.spec.whatwg.org/#current-playback-position 14446. https://html.spec.whatwg.org/#the-video-element 14447. https://html.spec.whatwg.org/#potentially-playing 14448. https://html.spec.whatwg.org/#the-video-element 14449. https://html.spec.whatwg.org/#represents 14450. https://html.spec.whatwg.org/#current-playback-position 14451. https://html.spec.whatwg.org/#current-playback-position 14452. https://html.spec.whatwg.org/#current-playback-position 14453. https://html.spec.whatwg.org/#dom-videotrack-selected 14454. https://html.spec.whatwg.org/#event-loop 14455. https://html.spec.whatwg.org/#step1 14456. https://html.spec.whatwg.org/#the-video-element 14457. https://html.spec.whatwg.org/#represents 14458. https://html.spec.whatwg.org/#text-track-cue 14459. https://html.spec.whatwg.org/#text-track-cue-active-flag 14460. https://html.spec.whatwg.org/#text-track 14461. https://html.spec.whatwg.org/#text-track-showing 14462. https://html.spec.whatwg.org/#media-resource 14463. https://html.spec.whatwg.org/#current-playback-position 14464. https://html.spec.whatwg.org/#media-resource 14465. https://html.spec.whatwg.org/#current-playback-position 14466. https://html.spec.whatwg.org/#effective-media-volume 14467. https://html.spec.whatwg.org/#dom-audiotrack-enabled 14468. https://html.spec.whatwg.org/#event-loop 14469. https://html.spec.whatwg.org/#represents 14470. https://html.spec.whatwg.org/#the-video-element 14471. https://html.spec.whatwg.org/#media-resource 14472. https://drafts.csswg.org/css-images-4/#paint-source 14473. https://html.spec.whatwg.org/#media-resource 14474. https://html.spec.whatwg.org/#concept-video-intrinsic-width 14475. https://html.spec.whatwg.org/#media-resource 14476. https://html.spec.whatwg.org/#concept-video-intrinsic-height 14477. https://html.spec.whatwg.org/#current-playback-position 14478. https://html.spec.whatwg.org/#dom-video-videowidth 14479. https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement/videoWidth 14480. https://html.spec.whatwg.org/#dom-video-videoheight 14481. https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement/videoHeight 14482. https://html.spec.whatwg.org/#media-resource 14483. https://drafts.csswg.org/css-values/#px 14484. https://html.spec.whatwg.org/#concept-video-intrinsic-width 14485. https://drafts.csswg.org/css-values/#px 14486. https://html.spec.whatwg.org/#concept-video-intrinsic-height 14487. https://drafts.csswg.org/css-values/#px 14488. https://html.spec.whatwg.org/#dom-media-readystate 14489. https://html.spec.whatwg.org/#dom-media-have_nothing 14490. https://html.spec.whatwg.org/#concept-video-intrinsic-width 14491. https://html.spec.whatwg.org/#concept-video-intrinsic-height 14492. https://html.spec.whatwg.org/#dom-videotrack-selected 14493. https://html.spec.whatwg.org/#dom-media-readystate 14494. https://html.spec.whatwg.org/#dom-media-have_nothing 14495. https://html.spec.whatwg.org/#queue-a-media-element-task 14496. https://html.spec.whatwg.org/#media-element 14497. https://dom.spec.whatwg.org/#concept-event-fire 14498. https://html.spec.whatwg.org/#event-media-resize 14499. https://html.spec.whatwg.org/#media-element 14500. https://html.spec.whatwg.org/#the-video-element 14501. https://html.spec.whatwg.org/#dimension-attributes 14502. https://html.spec.whatwg.org/#video-object-fit 14503. https://drafts.csswg.org/css-images/#natural-width 14504. https://html.spec.whatwg.org/#the-video-element 14505. https://drafts.csswg.org/css-images/#natural-width 14506. https://html.spec.whatwg.org/#poster-frame 14507. https://html.spec.whatwg.org/#represents 14508. https://html.spec.whatwg.org/#concept-video-intrinsic-width 14509. https://drafts.csswg.org/css-images/#natural-width 14510. https://drafts.csswg.org/css-images/#natural-height 14511. https://html.spec.whatwg.org/#the-video-element 14512. https://drafts.csswg.org/css-images/#natural-height 14513. https://html.spec.whatwg.org/#poster-frame 14514. https://html.spec.whatwg.org/#represents 14515. https://html.spec.whatwg.org/#concept-video-intrinsic-height 14516. https://drafts.csswg.org/css-images/#natural-height 14517. https://drafts.csswg.org/css-images/#default-object-size 14518. https://drafts.csswg.org/css-values/#px 14519. https://drafts.csswg.org/css-values/#px 14520. https://html.spec.whatwg.org/#refsCSSIMAGES 14521. https://html.spec.whatwg.org/#attr-video-playsinline 14522. https://html.spec.whatwg.org/#expose-a-user-interface-to-the-user 14523. https://html.spec.whatwg.org/#attr-media-controls 14524. https://html.spec.whatwg.org/#reflect 14525. https://html.spec.whatwg.org/#attr-video-poster 14526. https://html.spec.whatwg.org/#reflect 14527. https://html.spec.whatwg.org/#attr-video-playsinline 14528. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio 14529. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement 14530. https://html.spec.whatwg.org/#concept-element-categories 14531. https://html.spec.whatwg.org/#flow-content-2 14532. https://html.spec.whatwg.org/#phrasing-content-2 14533. https://html.spec.whatwg.org/#embedded-content-category 14534. https://html.spec.whatwg.org/#attr-media-controls 14535. https://html.spec.whatwg.org/#interactive-content-2 14536. https://html.spec.whatwg.org/#attr-media-controls 14537. https://html.spec.whatwg.org/#palpable-content-2 14538. https://html.spec.whatwg.org/#concept-element-contexts 14539. https://html.spec.whatwg.org/#embedded-content-category 14540. https://html.spec.whatwg.org/#concept-element-content-model 14541. https://html.spec.whatwg.org/#attr-media-src 14542. https://html.spec.whatwg.org/#the-track-element 14543. https://html.spec.whatwg.org/#transparent 14544. https://html.spec.whatwg.org/#media-element 14545. https://html.spec.whatwg.org/#attr-media-src 14546. https://html.spec.whatwg.org/#the-source-element 14547. https://html.spec.whatwg.org/#the-track-element 14548. https://html.spec.whatwg.org/#transparent 14549. https://html.spec.whatwg.org/#media-element 14550. https://html.spec.whatwg.org/#concept-element-tag-omission 14551. https://html.spec.whatwg.org/#concept-element-attributes 14552. https://html.spec.whatwg.org/#global-attributes 14553. https://html.spec.whatwg.org/#attr-media-src 14554. https://html.spec.whatwg.org/#attr-media-crossorigin 14555. https://html.spec.whatwg.org/#attr-media-preload 14556. https://html.spec.whatwg.org/#media-resource 14557. https://html.spec.whatwg.org/#attr-media-autoplay 14558. https://html.spec.whatwg.org/#media-resource 14559. https://html.spec.whatwg.org/#attr-media-loop 14560. https://html.spec.whatwg.org/#media-resource 14561. https://html.spec.whatwg.org/#attr-media-muted 14562. https://html.spec.whatwg.org/#media-resource 14563. https://html.spec.whatwg.org/#attr-media-controls 14564. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 14565. https://w3c.github.io/html-aria/#el-audio 14566. https://w3c.github.io/html-aam/#el-audio 14567. https://html.spec.whatwg.org/#concept-element-dom 14568. https://webidl.spec.whatwg.org/#LegacyFactoryFunction 14569. https://html.spec.whatwg.org/#dom-audio 14570. https://html.spec.whatwg.org/#htmlmediaelement 14571. https://html.spec.whatwg.org/#htmlconstructor 14572. https://html.spec.whatwg.org/#the-audio-element 14573. https://html.spec.whatwg.org/#represents 14574. https://html.spec.whatwg.org/#the-audio-element 14575. https://html.spec.whatwg.org/#the-audio-element 14576. https://html.spec.whatwg.org/#the-video-element 14577. https://html.spec.whatwg.org/#the-audio-element 14578. https://html.spec.whatwg.org/#the-track-element 14579. https://w3c.github.io/webvtt/#webvtt-file 14580. https://html.spec.whatwg.org/#the-audio-element 14581. https://html.spec.whatwg.org/#refsWEBVTT 14582. https://html.spec.whatwg.org/#the-audio-element 14583. https://html.spec.whatwg.org/#media-element 14584. https://html.spec.whatwg.org/#media-data 14585. https://html.spec.whatwg.org/#attr-media-src 14586. https://html.spec.whatwg.org/#attr-media-crossorigin 14587. https://html.spec.whatwg.org/#attr-media-preload 14588. https://html.spec.whatwg.org/#attr-media-autoplay 14589. https://html.spec.whatwg.org/#attr-media-loop 14590. https://html.spec.whatwg.org/#attr-media-muted 14591. https://html.spec.whatwg.org/#attr-media-controls 14592. https://html.spec.whatwg.org/#media-element-attributes 14593. https://html.spec.whatwg.org/#dom-audio 14594. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement/Audio 14595. https://html.spec.whatwg.org/#the-audio-element 14596. https://html.spec.whatwg.org/#attr-media-src 14597. https://html.spec.whatwg.org/#htmlaudioelement 14598. https://dom.spec.whatwg.org/#dom-document-createelement 14599. https://html.spec.whatwg.org/#current-global-object 14600. https://html.spec.whatwg.org/#concept-document-window 14601. https://dom.spec.whatwg.org/#concept-create-element 14602. https://infra.spec.whatwg.org/#html-namespace 14603. https://dom.spec.whatwg.org/#concept-element-attributes-set-value 14604. https://html.spec.whatwg.org/#attr-media-preload 14605. https://html.spec.whatwg.org/#attr-media-preload-auto 14606. https://dom.spec.whatwg.org/#concept-element-attributes-set-value 14607. https://html.spec.whatwg.org/#attr-media-src 14608. https://html.spec.whatwg.org/#concept-media-load-algorithm-at-creation 14609. https://html.spec.whatwg.org/#concept-media-load-algorithm 14610. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/track 14611. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTrackElement 14612. https://html.spec.whatwg.org/#concept-element-categories 14613. https://html.spec.whatwg.org/#concept-element-contexts 14614. https://html.spec.whatwg.org/#media-element 14615. https://html.spec.whatwg.org/#flow-content-2 14616. https://html.spec.whatwg.org/#concept-element-content-model 14617. https://html.spec.whatwg.org/#concept-content-nothing 14618. https://html.spec.whatwg.org/#concept-element-tag-omission 14619. https://html.spec.whatwg.org/#syntax-end-tag 14620. https://html.spec.whatwg.org/#concept-element-attributes 14621. https://html.spec.whatwg.org/#global-attributes 14622. https://html.spec.whatwg.org/#attr-track-kind 14623. https://html.spec.whatwg.org/#attr-track-src 14624. https://html.spec.whatwg.org/#attr-track-srclang 14625. https://html.spec.whatwg.org/#attr-track-label 14626. https://html.spec.whatwg.org/#attr-track-default 14627. https://html.spec.whatwg.org/#text-track 14628. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 14629. https://w3c.github.io/html-aria/#el-track 14630. https://w3c.github.io/html-aam/#el-track 14631. https://html.spec.whatwg.org/#concept-element-dom 14632. https://html.spec.whatwg.org/#htmlelement 14633. https://html.spec.whatwg.org/#htmlconstructor 14634. https://html.spec.whatwg.org/#cereactions 14635. https://html.spec.whatwg.org/#dom-track-kind 14636. https://html.spec.whatwg.org/#cereactions 14637. https://html.spec.whatwg.org/#dom-track-src 14638. https://html.spec.whatwg.org/#cereactions 14639. https://html.spec.whatwg.org/#dom-track-srclang 14640. https://html.spec.whatwg.org/#cereactions 14641. https://html.spec.whatwg.org/#dom-track-label 14642. https://html.spec.whatwg.org/#cereactions 14643. https://html.spec.whatwg.org/#dom-track-default 14644. https://html.spec.whatwg.org/#dom-track-none 14645. https://html.spec.whatwg.org/#dom-track-loading 14646. https://html.spec.whatwg.org/#dom-track-loaded 14647. https://html.spec.whatwg.org/#dom-track-error 14648. https://html.spec.whatwg.org/#dom-track-readystate 14649. https://html.spec.whatwg.org/#texttrack 14650. https://html.spec.whatwg.org/#dom-track-track 14651. https://html.spec.whatwg.org/#the-track-element 14652. https://html.spec.whatwg.org/#text-track 14653. https://html.spec.whatwg.org/#media-element 14654. https://html.spec.whatwg.org/#represents 14655. https://html.spec.whatwg.org/#enumerated-attribute 14656. https://html.spec.whatwg.org/#media-resource 14657. https://html.spec.whatwg.org/#media-resource 14658. https://html.spec.whatwg.org/#missing-value-default 14659. https://html.spec.whatwg.org/#attr-track-kind-subtitles 14660. https://html.spec.whatwg.org/#invalid-value-default 14661. https://html.spec.whatwg.org/#attr-track-kind-metadata 14662. https://url.spec.whatwg.org/#concept-url 14663. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 14664. https://html.spec.whatwg.org/#attr-track-src 14665. https://html.spec.whatwg.org/#attr-track-src 14666. https://html.spec.whatwg.org/#encoding-parsing-and-serializing-a-url 14667. https://dom.spec.whatwg.org/#concept-node-document 14668. https://html.spec.whatwg.org/#track-url 14669. https://html.spec.whatwg.org/#track-url 14670. https://html.spec.whatwg.org/#attr-track-kind 14671. https://html.spec.whatwg.org/#attr-track-kind-chapters 14672. https://html.spec.whatwg.org/#attr-track-kind-metadata 14673. https://w3c.github.io/webvtt/#webvtt-file-using-cue-text 14674. https://html.spec.whatwg.org/#refsWEBVTT 14675. https://html.spec.whatwg.org/#attr-track-kind 14676. https://html.spec.whatwg.org/#attr-track-kind-subtitles 14677. https://html.spec.whatwg.org/#refsBCP47 14678. https://html.spec.whatwg.org/#attr-track-srclang 14679. https://html.spec.whatwg.org/#track-language 14680. https://html.spec.whatwg.org/#attr-track-kind-subtitles 14681. https://html.spec.whatwg.org/#attr-track-kind-captions 14682. https://html.spec.whatwg.org/#attr-track-kind-descriptions 14683. https://html.spec.whatwg.org/#attr-track-label 14684. https://html.spec.whatwg.org/#the-track-element 14685. https://html.spec.whatwg.org/#media-element 14686. https://html.spec.whatwg.org/#attr-track-kind 14687. https://html.spec.whatwg.org/#attr-track-srclang 14688. https://html.spec.whatwg.org/#attr-track-label 14689. https://html.spec.whatwg.org/#attr-track-label 14690. https://html.spec.whatwg.org/#track-label 14691. https://html.spec.whatwg.org/#boolean-attribute 14692. https://html.spec.whatwg.org/#media-element 14693. https://html.spec.whatwg.org/#the-track-element 14694. https://html.spec.whatwg.org/#attr-track-kind 14695. https://html.spec.whatwg.org/#attr-track-kind-subtitles 14696. https://html.spec.whatwg.org/#attr-track-kind-captions 14697. https://html.spec.whatwg.org/#attr-track-default 14698. https://html.spec.whatwg.org/#media-element 14699. https://html.spec.whatwg.org/#the-track-element 14700. https://html.spec.whatwg.org/#attr-track-kind 14701. https://html.spec.whatwg.org/#attr-track-kind-descriptions 14702. https://html.spec.whatwg.org/#attr-track-default 14703. https://html.spec.whatwg.org/#media-element 14704. https://html.spec.whatwg.org/#the-track-element 14705. https://html.spec.whatwg.org/#attr-track-kind 14706. https://html.spec.whatwg.org/#attr-track-kind-chapters 14707. https://html.spec.whatwg.org/#attr-track-default 14708. https://html.spec.whatwg.org/#the-track-element 14709. https://html.spec.whatwg.org/#attr-track-kind 14710. https://html.spec.whatwg.org/#attr-track-kind-metadata 14711. https://html.spec.whatwg.org/#attr-track-default 14712. https://html.spec.whatwg.org/#dom-track-readystate 14713. https://html.spec.whatwg.org/#text-track-readiness-state 14714. https://html.spec.whatwg.org/#dom-track-none 14715. https://html.spec.whatwg.org/#text-track-not-loaded 14716. https://html.spec.whatwg.org/#dom-track-loading 14717. https://html.spec.whatwg.org/#text-track-loading 14718. https://html.spec.whatwg.org/#dom-track-loaded 14719. https://html.spec.whatwg.org/#text-track-loaded 14720. https://html.spec.whatwg.org/#dom-track-error 14721. https://html.spec.whatwg.org/#text-track-failed-to-load 14722. https://html.spec.whatwg.org/#dom-track-track 14723. https://html.spec.whatwg.org/#texttrack 14724. https://html.spec.whatwg.org/#text-track 14725. https://html.spec.whatwg.org/#the-track-element 14726. https://html.spec.whatwg.org/#text-track-readiness-state 14727. https://html.spec.whatwg.org/#the-track-element 14728. https://html.spec.whatwg.org/#text-track 14729. https://html.spec.whatwg.org/#text-track-not-loaded 14730. https://html.spec.whatwg.org/#text-track-loading 14731. https://html.spec.whatwg.org/#text-track-loaded 14732. https://html.spec.whatwg.org/#text-track-failed-to-load 14733. https://html.spec.whatwg.org/#the-track-element 14734. https://html.spec.whatwg.org/#text-track 14735. https://html.spec.whatwg.org/#texttrack 14736. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTrackElement/src 14737. https://html.spec.whatwg.org/#reflect 14738. https://html.spec.whatwg.org/#reflect 14739. https://html.spec.whatwg.org/#limited-to-only-known-values 14740. https://html.spec.whatwg.org/#attr-lang 14741. https://html.spec.whatwg.org/#attr-track-label 14742. https://html.spec.whatwg.org/#attr-track-srclang 14743. https://html.spec.whatwg.org/#htmlmediaelement 14744. https://html.spec.whatwg.org/#the-audio-element 14745. https://html.spec.whatwg.org/#the-video-element 14746. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement 14747. https://html.spec.whatwg.org/#dom-canplaytyperesult-nil 14748. https://html.spec.whatwg.org/#dom-canplaytyperesult-maybe 14749. https://html.spec.whatwg.org/#dom-canplaytyperesult-probably 14750. https://w3c.github.io/mediacapture-main/getusermedia.html#idl-def-mediastream 14751. https://w3c.github.io/media-source/#idl-def-mediasource 14752. https://w3c.github.io/FileAPI/#dfn-Blob 14753. https://html.spec.whatwg.org/#htmlelement 14754. https://html.spec.whatwg.org/#mediaerror 14755. https://html.spec.whatwg.org/#dom-media-error 14756. https://html.spec.whatwg.org/#cereactions 14757. https://html.spec.whatwg.org/#dom-media-src 14758. https://html.spec.whatwg.org/#mediaprovider 14759. https://html.spec.whatwg.org/#dom-media-srcobject 14760. https://html.spec.whatwg.org/#dom-media-currentsrc 14761. https://html.spec.whatwg.org/#cereactions 14762. https://html.spec.whatwg.org/#dom-media-crossorigin 14763. https://html.spec.whatwg.org/#dom-media-network_empty 14764. https://html.spec.whatwg.org/#dom-media-network_idle 14765. https://html.spec.whatwg.org/#dom-media-network_loading 14766. https://html.spec.whatwg.org/#dom-media-network_no_source 14767. https://html.spec.whatwg.org/#dom-media-networkstate 14768. https://html.spec.whatwg.org/#cereactions 14769. https://html.spec.whatwg.org/#dom-media-preload 14770. https://html.spec.whatwg.org/#timeranges 14771. https://html.spec.whatwg.org/#dom-media-buffered 14772. https://html.spec.whatwg.org/#dom-media-load 14773. https://html.spec.whatwg.org/#canplaytyperesult 14774. https://html.spec.whatwg.org/#dom-navigator-canplaytype 14775. https://html.spec.whatwg.org/#dom-media-have_nothing 14776. https://html.spec.whatwg.org/#dom-media-have_metadata 14777. https://html.spec.whatwg.org/#dom-media-have_current_data 14778. https://html.spec.whatwg.org/#dom-media-have_future_data 14779. https://html.spec.whatwg.org/#dom-media-have_enough_data 14780. https://html.spec.whatwg.org/#dom-media-readystate 14781. https://html.spec.whatwg.org/#dom-media-seeking 14782. https://html.spec.whatwg.org/#dom-media-currenttime 14783. https://html.spec.whatwg.org/#dom-media-fastseek 14784. https://html.spec.whatwg.org/#dom-media-duration 14785. https://webidl.spec.whatwg.org/#idl-object 14786. https://html.spec.whatwg.org/#dom-media-getstartdate 14787. https://html.spec.whatwg.org/#dom-media-paused 14788. https://html.spec.whatwg.org/#dom-media-defaultplaybackrate 14789. https://html.spec.whatwg.org/#dom-media-playbackrate 14790. https://html.spec.whatwg.org/#dom-media-preservespitch 14791. https://html.spec.whatwg.org/#timeranges 14792. https://html.spec.whatwg.org/#dom-media-played 14793. https://html.spec.whatwg.org/#timeranges 14794. https://html.spec.whatwg.org/#dom-media-seekable 14795. https://html.spec.whatwg.org/#dom-media-ended 14796. https://html.spec.whatwg.org/#cereactions 14797. https://html.spec.whatwg.org/#dom-media-autoplay 14798. https://html.spec.whatwg.org/#cereactions 14799. https://html.spec.whatwg.org/#dom-media-loop 14800. https://webidl.spec.whatwg.org/#idl-promise 14801. https://html.spec.whatwg.org/#dom-media-play 14802. https://html.spec.whatwg.org/#dom-media-pause 14803. https://html.spec.whatwg.org/#cereactions 14804. https://html.spec.whatwg.org/#dom-media-controls 14805. https://html.spec.whatwg.org/#dom-media-volume 14806. https://html.spec.whatwg.org/#dom-media-muted 14807. https://html.spec.whatwg.org/#cereactions 14808. https://html.spec.whatwg.org/#dom-media-defaultmuted 14809. https://html.spec.whatwg.org/#audiotracklist 14810. https://html.spec.whatwg.org/#dom-media-audiotracks 14811. https://html.spec.whatwg.org/#videotracklist 14812. https://html.spec.whatwg.org/#dom-media-videotracks 14813. https://html.spec.whatwg.org/#texttracklist 14814. https://html.spec.whatwg.org/#dom-media-texttracks 14815. https://html.spec.whatwg.org/#texttrack 14816. https://html.spec.whatwg.org/#dom-media-addtexttrack 14817. https://html.spec.whatwg.org/#texttrackkind 14818. https://html.spec.whatwg.org/#attr-media-src 14819. https://html.spec.whatwg.org/#attr-media-crossorigin 14820. https://html.spec.whatwg.org/#attr-media-preload 14821. https://html.spec.whatwg.org/#attr-media-autoplay 14822. https://html.spec.whatwg.org/#attr-media-loop 14823. https://html.spec.whatwg.org/#attr-media-muted 14824. https://html.spec.whatwg.org/#attr-media-controls 14825. https://html.spec.whatwg.org/#media-element 14826. https://html.spec.whatwg.org/#media-element 14827. https://html.spec.whatwg.org/#media-element 14828. https://html.spec.whatwg.org/#media-resource 14829. https://html.spec.whatwg.org/#concept-origin 14830. https://html.spec.whatwg.org/#media-resource 14831. https://html.spec.whatwg.org/#media-element 14832. https://html.spec.whatwg.org/#media-resource 14833. https://html.spec.whatwg.org/#dom-media-videotracks 14834. https://html.spec.whatwg.org/#event-loop 14835. https://html.spec.whatwg.org/#step1 14836. https://html.spec.whatwg.org/#media-resource 14837. https://html.spec.whatwg.org/#dom-media-audiotracks 14838. https://html.spec.whatwg.org/#event-loop 14839. https://html.spec.whatwg.org/#step1 14840. https://html.spec.whatwg.org/#the-audio-element 14841. https://html.spec.whatwg.org/#the-video-element 14842. https://html.spec.whatwg.org/#the-audio-element 14843. https://html.spec.whatwg.org/#the-video-element 14844. https://html.spec.whatwg.org/#media-element 14845. https://html.spec.whatwg.org/#media-element 14846. https://html.spec.whatwg.org/#queue-an-element-task 14847. https://html.spec.whatwg.org/#media-element 14848. https://html.spec.whatwg.org/#media-element-event-task-source 14849. https://developer.mozilla.org/en-US/docs/Web/API/MediaError 14850. https://html.spec.whatwg.org/#dom-media-error 14851. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/error 14852. https://html.spec.whatwg.org/#mediaerror 14853. https://html.spec.whatwg.org/#media-element 14854. https://html.spec.whatwg.org/#concept-media-load-algorithm 14855. https://html.spec.whatwg.org/#mediaerror 14856. https://html.spec.whatwg.org/#dom-mediaerror-media_err_aborted 14857. https://html.spec.whatwg.org/#dom-mediaerror-media_err_network 14858. https://html.spec.whatwg.org/#dom-mediaerror-media_err_decode 14859. https://html.spec.whatwg.org/#dom-mediaerror-media_err_src_not_supported 14860. https://html.spec.whatwg.org/#dom-mediaerror-code 14861. https://html.spec.whatwg.org/#dom-mediaerror-message 14862. https://html.spec.whatwg.org/#dom-media-error 14863. https://html.spec.whatwg.org/#dom-mediaerror-code 14864. https://developer.mozilla.org/en-US/docs/Web/API/MediaError/code 14865. https://html.spec.whatwg.org/#dom-media-error 14866. https://html.spec.whatwg.org/#dom-mediaerror-message 14867. https://developer.mozilla.org/en-US/docs/Web/API/MediaError/message 14868. https://html.spec.whatwg.org/#mediaerror 14869. https://html.spec.whatwg.org/#media-resource 14870. https://html.spec.whatwg.org/#media-resource 14871. https://html.spec.whatwg.org/#media-resource 14872. https://html.spec.whatwg.org/#media-resource 14873. https://html.spec.whatwg.org/#attr-media-src 14874. https://html.spec.whatwg.org/#assigned-media-provider-object 14875. https://html.spec.whatwg.org/#mediaerror 14876. https://html.spec.whatwg.org/#concept-mediaerror-code 14877. https://html.spec.whatwg.org/#concept-mediaerror-message 14878. https://html.spec.whatwg.org/#concept-mediaerror-message 14879. https://webidl.spec.whatwg.org/#this 14880. https://html.spec.whatwg.org/#concept-mediaerror-code 14881. https://webidl.spec.whatwg.org/#this 14882. https://html.spec.whatwg.org/#concept-mediaerror-message 14883. https://html.spec.whatwg.org/#media-element 14884. https://url.spec.whatwg.org/#concept-url 14885. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 14886. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 14887. https://html.spec.whatwg.org/#media-element 14888. https://html.spec.whatwg.org/#attr-media-src 14889. https://html.spec.whatwg.org/#media-element 14890. https://html.spec.whatwg.org/#cors-settings-attribute 14891. https://html.spec.whatwg.org/#media-element 14892. https://html.spec.whatwg.org/#attr-media-src 14893. https://html.spec.whatwg.org/#immediately 14894. https://html.spec.whatwg.org/#media-element 14895. https://html.spec.whatwg.org/#concept-media-load-algorithm 14896. https://html.spec.whatwg.org/#attr-media-src 14897. https://html.spec.whatwg.org/#media-element 14898. https://html.spec.whatwg.org/#media-element 14899. https://html.spec.whatwg.org/#media-element-load-algorithm 14900. https://html.spec.whatwg.org/#attr-media-src 14901. https://html.spec.whatwg.org/#the-source-element 14902. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/src 14903. https://html.spec.whatwg.org/#media-element 14904. https://html.spec.whatwg.org/#reflect 14905. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/crossOrigin 14906. https://html.spec.whatwg.org/#reflect 14907. https://html.spec.whatwg.org/#attr-media-crossorigin 14908. https://html.spec.whatwg.org/#limited-to-only-known-values 14909. https://html.spec.whatwg.org/#media-resource 14910. https://url.spec.whatwg.org/#concept-url 14911. https://w3c.github.io/mediacapture-main/getusermedia.html#idl-def-mediastream 14912. https://w3c.github.io/media-source/#idl-def-mediasource 14913. https://w3c.github.io/FileAPI/#dfn-Blob 14914. https://html.spec.whatwg.org/#media-provider-object 14915. https://html.spec.whatwg.org/#media-element 14916. https://html.spec.whatwg.org/#media-provider-object 14917. https://html.spec.whatwg.org/#media-element 14918. https://html.spec.whatwg.org/#assigned-media-provider-object 14919. https://html.spec.whatwg.org/#dom-media-srcobject 14920. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/srcObject 14921. https://html.spec.whatwg.org/#media-element 14922. https://html.spec.whatwg.org/#media-provider-object 14923. https://html.spec.whatwg.org/#dom-media-currentsrc 14924. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/currentSrc 14925. https://url.spec.whatwg.org/#concept-url 14926. https://html.spec.whatwg.org/#media-resource 14927. https://html.spec.whatwg.org/#media-resource 14928. https://url.spec.whatwg.org/#concept-url 14929. https://html.spec.whatwg.org/#concept-media-load-algorithm 14930. https://html.spec.whatwg.org/#assigned-media-provider-object 14931. https://html.spec.whatwg.org/#assigned-media-provider-object 14932. https://html.spec.whatwg.org/#media-element-load-algorithm 14933. https://html.spec.whatwg.org/#media-resource 14934. https://html.spec.whatwg.org/#dom-media-srcobject 14935. https://html.spec.whatwg.org/#attr-media-src 14936. https://html.spec.whatwg.org/#the-source-element 14937. https://html.spec.whatwg.org/#media-resource 14938. https://mimesniff.spec.whatwg.org/#mime-type 14939. https://html.spec.whatwg.org/#refsRFC6381 14940. https://mimesniff.spec.whatwg.org/#mime-type 14941. https://www.rfc-editor.org/rfc/rfc2046#section-4.5.1 14942. https://html.spec.whatwg.org/#a-type-that-the-user-agent-knows-it-cannot-render 14943. https://html.spec.whatwg.org/#content-type 14944. https://html.spec.whatwg.org/#media-resource 14945. https://mimesniff.spec.whatwg.org/#mime-type 14946. https://www.rfc-editor.org/rfc/rfc2046#section-4.5.1 14947. https://mimesniff.spec.whatwg.org/#mime-type 14948. https://mimesniff.spec.whatwg.org/#mime-type 14949. https://html.spec.whatwg.org/#dom-navigator-canplaytype 14950. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/canPlayType 14951. https://html.spec.whatwg.org/#a-type-that-the-user-agent-knows-it-cannot-render 14952. https://www.rfc-editor.org/rfc/rfc2046#section-4.5.1 14953. https://html.spec.whatwg.org/#media-resource 14954. https://html.spec.whatwg.org/#the-audio-element 14955. https://html.spec.whatwg.org/#the-video-element 14956. https://html.spec.whatwg.org/#dom-canplaytyperesult-maybe 14957. https://html.spec.whatwg.org/#dom-canplaytyperesult-probably 14958. https://html.spec.whatwg.org/#the-video-element 14959. https://html.spec.whatwg.org/#attr-source-type 14960. https://html.spec.whatwg.org/#the-source-element 14961. https://html.spec.whatwg.org/#dom-media-networkstate 14962. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/networkState 14963. https://html.spec.whatwg.org/#media-element 14964. https://html.spec.whatwg.org/#concept-media-load-algorithm 14965. https://html.spec.whatwg.org/#media-resource 14966. https://html.spec.whatwg.org/#concept-media-load-algorithm 14967. https://html.spec.whatwg.org/#media-resource 14968. https://html.spec.whatwg.org/#concept-media-load-algorithm 14969. https://html.spec.whatwg.org/#dom-media-networkstate 14970. https://html.spec.whatwg.org/#dom-media-load 14971. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/load 14972. https://html.spec.whatwg.org/#media-resource 14973. https://html.spec.whatwg.org/#media-element 14974. https://html.spec.whatwg.org/#delaying-the-load-event-flag 14975. https://html.spec.whatwg.org/#delay-the-load-event 14976. https://html.spec.whatwg.org/#media-element 14977. https://html.spec.whatwg.org/#media-element-load-algorithm 14978. https://html.spec.whatwg.org/#media-element 14979. https://html.spec.whatwg.org/#is-currently-stalled 14980. https://html.spec.whatwg.org/#concept-media-load-algorithm 14981. https://html.spec.whatwg.org/#concept-task 14982. https://html.spec.whatwg.org/#media-element 14983. https://html.spec.whatwg.org/#media-element-event-task-source 14984. https://html.spec.whatwg.org/#task-queue 14985. https://html.spec.whatwg.org/#resolve-pending-play-promises 14986. https://html.spec.whatwg.org/#reject-pending-play-promises 14987. https://html.spec.whatwg.org/#concept-task 14988. https://html.spec.whatwg.org/#task-queue 14989. https://html.spec.whatwg.org/#media-element 14990. https://html.spec.whatwg.org/#dom-media-networkstate 14991. https://html.spec.whatwg.org/#dom-media-network_loading 14992. https://html.spec.whatwg.org/#dom-media-network_idle 14993. https://html.spec.whatwg.org/#queue-a-media-element-task 14994. https://html.spec.whatwg.org/#media-element 14995. https://dom.spec.whatwg.org/#concept-event-fire 14996. https://html.spec.whatwg.org/#event-media-abort 14997. https://html.spec.whatwg.org/#media-element 14998. https://html.spec.whatwg.org/#media-element 14999. https://html.spec.whatwg.org/#dom-media-networkstate 15000. https://html.spec.whatwg.org/#dom-media-network_empty 15001. https://html.spec.whatwg.org/#queue-a-media-element-task 15002. https://html.spec.whatwg.org/#media-element 15003. https://dom.spec.whatwg.org/#concept-event-fire 15004. https://html.spec.whatwg.org/#event-media-emptied 15005. https://html.spec.whatwg.org/#media-element 15006. https://html.spec.whatwg.org/#media-element 15007. https://html.spec.whatwg.org/#media-element 15008. https://html.spec.whatwg.org/#assigned-media-provider-object 15009. https://w3c.github.io/media-source/#idl-def-mediasource 15010. https://w3c.github.io/media-source/#mediasource-detach 15011. https://html.spec.whatwg.org/#forget-the-media-element's-media-resource-specific-tracks 15012. https://html.spec.whatwg.org/#dom-media-readystate 15013. https://html.spec.whatwg.org/#dom-media-have_nothing 15014. https://html.spec.whatwg.org/#dom-media-paused 15015. https://html.spec.whatwg.org/#dom-media-paused 15016. https://html.spec.whatwg.org/#take-pending-play-promises 15017. https://html.spec.whatwg.org/#reject-pending-play-promises 15018. https://webidl.spec.whatwg.org/#aborterror 15019. https://webidl.spec.whatwg.org/#dfn-DOMException 15020. https://html.spec.whatwg.org/#dom-media-seeking 15021. https://html.spec.whatwg.org/#current-playback-position 15022. https://html.spec.whatwg.org/#official-playback-position 15023. https://html.spec.whatwg.org/#official-playback-position 15024. https://html.spec.whatwg.org/#queue-a-media-element-task 15025. https://html.spec.whatwg.org/#media-element 15026. https://dom.spec.whatwg.org/#concept-event-fire 15027. https://html.spec.whatwg.org/#event-media-timeupdate 15028. https://html.spec.whatwg.org/#media-element 15029. https://html.spec.whatwg.org/#timeline-offset 15030. https://html.spec.whatwg.org/#dom-media-duration 15031. https://html.spec.whatwg.org/#durationChange 15032. https://html.spec.whatwg.org/#event-media-durationchange 15033. https://html.spec.whatwg.org/#dom-media-playbackrate 15034. https://html.spec.whatwg.org/#dom-media-defaultplaybackrate 15035. https://html.spec.whatwg.org/#dom-media-error 15036. https://html.spec.whatwg.org/#can-autoplay-flag 15037. https://html.spec.whatwg.org/#media-element 15038. https://html.spec.whatwg.org/#concept-media-load-algorithm 15039. https://html.spec.whatwg.org/#media-resource 15040. https://html.spec.whatwg.org/#media-element 15041. https://html.spec.whatwg.org/#concept-task 15042. https://html.spec.whatwg.org/#in-parallel 15043. https://html.spec.whatwg.org/#event-loop 15044. https://html.spec.whatwg.org/#synchronous-section 15045. https://html.spec.whatwg.org/#event-loop 15046. https://html.spec.whatwg.org/#dom-media-networkstate 15047. https://html.spec.whatwg.org/#dom-media-network_no_source 15048. https://html.spec.whatwg.org/#show-poster-flag 15049. https://html.spec.whatwg.org/#media-element 15050. https://html.spec.whatwg.org/#delaying-the-load-event-flag 15051. https://html.spec.whatwg.org/#delay-the-load-event 15052. https://html.spec.whatwg.org/#await-a-stable-state 15053. https://html.spec.whatwg.org/#concept-task 15054. https://html.spec.whatwg.org/#synchronous-section 15055. https://html.spec.whatwg.org/#synchronous-section 15056. https://html.spec.whatwg.org/#synchronous-section 15057. https://html.spec.whatwg.org/#media-element 15058. https://html.spec.whatwg.org/#blocked-on-parser 15059. https://html.spec.whatwg.org/#populate-the-list-of-pending-text-tracks 15060. https://html.spec.whatwg.org/#media-element 15061. https://html.spec.whatwg.org/#assigned-media-provider-object 15062. https://html.spec.whatwg.org/#media-element 15063. https://html.spec.whatwg.org/#assigned-media-provider-object 15064. https://html.spec.whatwg.org/#attr-media-src 15065. https://html.spec.whatwg.org/#media-element 15066. https://html.spec.whatwg.org/#assigned-media-provider-object 15067. https://html.spec.whatwg.org/#attr-media-src 15068. https://html.spec.whatwg.org/#the-source-element 15069. https://html.spec.whatwg.org/#the-source-element 15070. https://dom.spec.whatwg.org/#concept-tree-order 15071. https://html.spec.whatwg.org/#media-element 15072. https://html.spec.whatwg.org/#assigned-media-provider-object 15073. https://html.spec.whatwg.org/#attr-media-src 15074. https://html.spec.whatwg.org/#the-source-element 15075. https://html.spec.whatwg.org/#dom-media-networkstate 15076. https://html.spec.whatwg.org/#dom-media-network_empty 15077. https://html.spec.whatwg.org/#delaying-the-load-event-flag 15078. https://html.spec.whatwg.org/#delay-the-load-event 15079. https://html.spec.whatwg.org/#synchronous-section 15080. https://html.spec.whatwg.org/#media-element 15081. https://html.spec.whatwg.org/#dom-media-networkstate 15082. https://html.spec.whatwg.org/#dom-media-network_loading 15083. https://html.spec.whatwg.org/#queue-a-media-element-task 15084. https://html.spec.whatwg.org/#media-element 15085. https://dom.spec.whatwg.org/#concept-event-fire 15086. https://html.spec.whatwg.org/#event-media-loadstart 15087. https://html.spec.whatwg.org/#media-element 15088. https://html.spec.whatwg.org/#dom-media-currentsrc 15089. https://html.spec.whatwg.org/#synchronous-section 15090. https://html.spec.whatwg.org/#in-parallel 15091. https://html.spec.whatwg.org/#concept-media-load-resource 15092. https://html.spec.whatwg.org/#assigned-media-provider-object 15093. https://html.spec.whatwg.org/#take-pending-play-promises 15094. https://html.spec.whatwg.org/#queue-a-media-element-task 15095. https://html.spec.whatwg.org/#media-element 15096. https://html.spec.whatwg.org/#dedicated-media-source-failure-steps 15097. https://html.spec.whatwg.org/#concept-task 15098. https://html.spec.whatwg.org/#attr-media-src 15099. https://html.spec.whatwg.org/#synchronous-section 15100. https://html.spec.whatwg.org/#encoding-parsing-a-url 15101. https://html.spec.whatwg.org/#attr-media-src 15102. https://html.spec.whatwg.org/#media-element 15103. https://dom.spec.whatwg.org/#concept-node-document 15104. https://html.spec.whatwg.org/#attr-media-src 15105. https://html.spec.whatwg.org/#dom-media-currentsrc 15106. https://url.spec.whatwg.org/#concept-url-serializer 15107. https://html.spec.whatwg.org/#synchronous-section 15108. https://html.spec.whatwg.org/#in-parallel 15109. https://html.spec.whatwg.org/#concept-media-load-resource 15110. https://html.spec.whatwg.org/#take-pending-play-promises 15111. https://html.spec.whatwg.org/#queue-a-media-element-task 15112. https://html.spec.whatwg.org/#media-element 15113. https://html.spec.whatwg.org/#dedicated-media-source-failure-steps 15114. https://html.spec.whatwg.org/#concept-task 15115. https://html.spec.whatwg.org/#media-element 15116. https://dom.spec.whatwg.org/#concept-node-insert-ext 15117. https://dom.spec.whatwg.org/#concept-node-remove-ext 15118. https://dom.spec.whatwg.org/#concept-node-move-ext 15119. https://html.spec.whatwg.org/#media-element 15120. https://dom.spec.whatwg.org/#concept-node-insert-ext 15121. https://dom.spec.whatwg.org/#concept-node-move-ext 15122. https://html.spec.whatwg.org/#attr-source-src 15123. https://html.spec.whatwg.org/#attr-source-src 15124. https://html.spec.whatwg.org/#synchronous-section 15125. https://html.spec.whatwg.org/#attr-source-media 15126. https://html.spec.whatwg.org/#matches-the-environment 15127. https://html.spec.whatwg.org/#synchronous-section 15128. https://html.spec.whatwg.org/#encoding-parsing-a-url 15129. https://html.spec.whatwg.org/#attr-media-src 15130. https://dom.spec.whatwg.org/#concept-node-document 15131. https://html.spec.whatwg.org/#attr-media-src 15132. https://html.spec.whatwg.org/#synchronous-section 15133. https://html.spec.whatwg.org/#attr-source-type 15134. https://mimesniff.spec.whatwg.org/#mime-type 15135. https://html.spec.whatwg.org/#a-type-that-the-user-agent-knows-it-cannot-render 15136. https://html.spec.whatwg.org/#synchronous-section 15137. https://html.spec.whatwg.org/#dom-media-currentsrc 15138. https://url.spec.whatwg.org/#concept-url-serializer 15139. https://html.spec.whatwg.org/#synchronous-section 15140. https://html.spec.whatwg.org/#in-parallel 15141. https://html.spec.whatwg.org/#concept-media-load-resource 15142. https://html.spec.whatwg.org/#queue-a-media-element-task 15143. https://html.spec.whatwg.org/#media-element 15144. https://dom.spec.whatwg.org/#concept-event-fire 15145. https://html.spec.whatwg.org/#event-source-error 15146. https://html.spec.whatwg.org/#await-a-stable-state 15147. https://html.spec.whatwg.org/#synchronous-section 15148. https://html.spec.whatwg.org/#synchronous-section 15149. https://html.spec.whatwg.org/#synchronous-section 15150. https://html.spec.whatwg.org/#forget-the-media-element's-media-resource-specific-tracks 15151. https://html.spec.whatwg.org/#the-source-element 15152. https://html.spec.whatwg.org/#dom-media-networkstate 15153. https://html.spec.whatwg.org/#dom-media-network_no_source 15154. https://html.spec.whatwg.org/#show-poster-flag 15155. https://html.spec.whatwg.org/#queue-a-media-element-task 15156. https://html.spec.whatwg.org/#media-element 15157. https://html.spec.whatwg.org/#delaying-the-load-event-flag 15158. https://html.spec.whatwg.org/#delay-the-load-event 15159. https://html.spec.whatwg.org/#synchronous-section 15160. https://html.spec.whatwg.org/#in-parallel 15161. https://html.spec.whatwg.org/#await-a-stable-state 15162. https://html.spec.whatwg.org/#synchronous-section 15163. https://html.spec.whatwg.org/#synchronous-section 15164. https://html.spec.whatwg.org/#synchronous-section 15165. https://html.spec.whatwg.org/#delaying-the-load-event-flag 15166. https://html.spec.whatwg.org/#delay-the-load-event 15167. https://html.spec.whatwg.org/#dom-media-networkstate 15168. https://html.spec.whatwg.org/#dom-media-network_loading 15169. https://html.spec.whatwg.org/#dom-media-error 15170. https://html.spec.whatwg.org/#creating-a-mediaerror 15171. https://html.spec.whatwg.org/#dom-mediaerror-media_err_src_not_supported 15172. https://html.spec.whatwg.org/#forget-the-media-element's-media-resource-specific-tracks 15173. https://html.spec.whatwg.org/#dom-media-networkstate 15174. https://html.spec.whatwg.org/#dom-media-network_no_source 15175. https://html.spec.whatwg.org/#show-poster-flag 15176. https://dom.spec.whatwg.org/#concept-event-fire 15177. https://html.spec.whatwg.org/#event-media-error 15178. https://html.spec.whatwg.org/#media-element 15179. https://html.spec.whatwg.org/#reject-pending-play-promises 15180. https://webidl.spec.whatwg.org/#notsupportederror 15181. https://webidl.spec.whatwg.org/#dfn-DOMException 15182. https://html.spec.whatwg.org/#delaying-the-load-event-flag 15183. https://html.spec.whatwg.org/#delay-the-load-event 15184. https://fetch.spec.whatwg.org/#concept-response 15185. https://html.spec.whatwg.org/#media-resource 15186. https://fetch.spec.whatwg.org/#concept-network-error 15187. https://html.spec.whatwg.org/#unsafe-response 15188. https://fetch.spec.whatwg.org/#concept-response-status 15189. https://fetch.spec.whatwg.org/#concept-response-status 15190. https://wicg.github.io/background-fetch/#extract-content-range-values 15191. https://httpwg.org/specs/rfc7233.html#header.content-range 15192. https://httpwg.org/specs/rfc7233.html#header.content-range 15193. https://httpwg.org/specs/rfc7233.html#header.range 15194. https://fetch.spec.whatwg.org/#concept-response-url 15195. https://fetch.spec.whatwg.org/#concept-response-url 15196. https://url.spec.whatwg.org/#concept-url-origin 15197. https://html.spec.whatwg.org/#media-resource-origin 15198. https://html.spec.whatwg.org/#concept-origin 15199. https://html.spec.whatwg.org/#same-origin 15200. https://html.spec.whatwg.org/#media-resource-origin 15201. https://html.spec.whatwg.org/#cors-cross-origin 15202. https://html.spec.whatwg.org/#media-resource-origin 15203. https://html.spec.whatwg.org/#media-element 15204. https://url.spec.whatwg.org/#concept-url 15205. https://html.spec.whatwg.org/#media-provider-object 15206. https://html.spec.whatwg.org/#media-provider-object 15207. https://w3c.github.io/FileAPI/#blob-url-obtain-object 15208. https://url.spec.whatwg.org/#concept-url 15209. https://url.spec.whatwg.org/#concept-url-blob-entry 15210. https://html.spec.whatwg.org/#media-element 15211. https://dom.spec.whatwg.org/#concept-node-document 15212. https://html.spec.whatwg.org/#relevant-settings-object 15213. https://html.spec.whatwg.org/#media-provider-object 15214. https://url.spec.whatwg.org/#concept-url 15215. https://html.spec.whatwg.org/#media-provider-object 15216. https://html.spec.whatwg.org/#media-resource 15217. https://html.spec.whatwg.org/#media-resource-specific-text-track 15218. https://html.spec.whatwg.org/#media-element 15219. https://html.spec.whatwg.org/#list-of-pending-text-tracks 15220. https://html.spec.whatwg.org/#attr-media-preload 15221. https://html.spec.whatwg.org/#attr-media-preload-none 15222. https://html.spec.whatwg.org/#dom-media-networkstate 15223. https://html.spec.whatwg.org/#dom-media-network_idle 15224. https://html.spec.whatwg.org/#queue-a-media-element-task 15225. https://html.spec.whatwg.org/#media-element 15226. https://dom.spec.whatwg.org/#concept-event-fire 15227. https://html.spec.whatwg.org/#event-media-suspend 15228. https://html.spec.whatwg.org/#queue-a-media-element-task 15229. https://html.spec.whatwg.org/#media-element 15230. https://html.spec.whatwg.org/#delaying-the-load-event-flag 15231. https://html.spec.whatwg.org/#delay-the-load-event 15232. https://infra.spec.whatwg.org/#implementation-defined 15233. https://html.spec.whatwg.org/#delaying-the-load-event-flag 15234. https://html.spec.whatwg.org/#delay-the-load-event 15235. https://html.spec.whatwg.org/#dom-media-networkstate 15236. https://html.spec.whatwg.org/#dom-media-network_loading 15237. https://html.spec.whatwg.org/#media-element 15238. https://html.spec.whatwg.org/#the-audio-element 15239. https://html.spec.whatwg.org/#create-a-potential-cors-request 15240. https://url.spec.whatwg.org/#concept-url 15241. https://html.spec.whatwg.org/#media-element 15242. https://html.spec.whatwg.org/#attr-script-crossorigin 15243. https://fetch.spec.whatwg.org/#concept-request-client 15244. https://html.spec.whatwg.org/#media-element 15245. https://dom.spec.whatwg.org/#concept-node-document 15246. https://html.spec.whatwg.org/#relevant-settings-object 15247. https://fetch.spec.whatwg.org/#request-initiator-type 15248. https://html.spec.whatwg.org/#media-data 15249. https://infra.spec.whatwg.org/#implementation-defined 15250. https://fetch.spec.whatwg.org/#concept-request-add-range-header 15251. https://fetch.spec.whatwg.org/#concept-request-add-range-header 15252. https://fetch.spec.whatwg.org/#concept-fetch 15253. https://fetch.spec.whatwg.org/#process-response 15254. https://fetch.spec.whatwg.org/#concept-response 15255. https://html.spec.whatwg.org/#media-element 15256. https://dom.spec.whatwg.org/#concept-node-document 15257. https://html.spec.whatwg.org/#concept-relevant-global 15258. https://html.spec.whatwg.org/#queue-a-media-element-task 15259. https://html.spec.whatwg.org/#media-element 15260. https://html.spec.whatwg.org/#media-data-processing-steps-list 15261. https://html.spec.whatwg.org/#media-element-event-task-source 15262. https://html.spec.whatwg.org/#networking-task-source 15263. https://html.spec.whatwg.org/#verify-a-media-response 15264. https://fetch.spec.whatwg.org/#body-incrementally-read 15265. https://fetch.spec.whatwg.org/#concept-response-body 15266. https://html.spec.whatwg.org/#media-data 15267. https://html.spec.whatwg.org/#unsafe-response 15268. https://html.spec.whatwg.org/#cors-same-origin 15269. https://html.spec.whatwg.org/#cors-cross-origin 15270. https://html.spec.whatwg.org/#media-data 15271. https://html.spec.whatwg.org/#the-video-element 15272. https://html.spec.whatwg.org/#the-canvas-element 15273. https://infra.spec.whatwg.org/#implementation-defined 15274. https://html.spec.whatwg.org/#media-element 15275. https://html.spec.whatwg.org/#media-data 15276. https://html.spec.whatwg.org/#stall-timeout 15277. https://html.spec.whatwg.org/#queue-a-media-element-task 15278. https://html.spec.whatwg.org/#media-element 15279. https://dom.spec.whatwg.org/#concept-event-fire 15280. https://html.spec.whatwg.org/#event-media-stalled 15281. https://html.spec.whatwg.org/#is-currently-stalled 15282. https://html.spec.whatwg.org/#media-data 15283. https://html.spec.whatwg.org/#media-element 15284. https://html.spec.whatwg.org/#media-element 15285. https://html.spec.whatwg.org/#queue-a-media-element-task 15286. https://html.spec.whatwg.org/#media-element 15287. https://html.spec.whatwg.org/#dom-media-networkstate 15288. https://html.spec.whatwg.org/#dom-media-network_idle 15289. https://dom.spec.whatwg.org/#concept-event-fire 15290. https://html.spec.whatwg.org/#event-media-suspend 15291. https://html.spec.whatwg.org/#queue-a-media-element-task 15292. https://html.spec.whatwg.org/#media-element 15293. https://html.spec.whatwg.org/#dom-media-networkstate 15294. https://html.spec.whatwg.org/#dom-media-network_loading 15295. https://html.spec.whatwg.org/#event-media-progress 15296. https://html.spec.whatwg.org/#attr-media-preload 15297. https://html.spec.whatwg.org/#attr-media-autoplay 15298. https://html.spec.whatwg.org/#queue-a-media-element-task 15299. https://html.spec.whatwg.org/#media-element 15300. https://html.spec.whatwg.org/#delaying-the-load-event-flag 15301. https://html.spec.whatwg.org/#delay-the-load-event 15302. https://html.spec.whatwg.org/#media-resource 15303. https://mimesniff.spec.whatwg.org/#rules-for-sniffing-audio-and-video-specifically 15304. https://html.spec.whatwg.org/#queue-a-media-element-task 15305. https://html.spec.whatwg.org/#media-element 15306. https://dom.spec.whatwg.org/#concept-event-fire 15307. https://html.spec.whatwg.org/#event-media-progress 15308. https://html.spec.whatwg.org/#is-currently-stalled 15309. https://html.spec.whatwg.org/#media-resource 15310. https://html.spec.whatwg.org/#ended-playback 15311. https://html.spec.whatwg.org/#ended-playback 15312. https://html.spec.whatwg.org/#event-media-suspend 15313. https://html.spec.whatwg.org/#media-data 15314. https://html.spec.whatwg.org/#cors-same-origin 15315. https://w3c.github.io/FileAPI/#dfn-file 15316. https://html.spec.whatwg.org/#media-resource 15317. https://mimesniff.spec.whatwg.org/#rules-for-sniffing-audio-and-video-specifically 15318. https://html.spec.whatwg.org/#queue-a-media-element-task 15319. https://html.spec.whatwg.org/#media-element 15320. https://html.spec.whatwg.org/#media-data-processing-steps-list 15321. https://w3c.github.io/FileAPI/#dfn-Blob 15322. https://w3c.github.io/mediacapture-main/getusermedia.html#idl-def-mediastream 15323. https://html.spec.whatwg.org/#media-data 15324. https://html.spec.whatwg.org/#media-data 15325. https://html.spec.whatwg.org/#concept-media-load-algorithm 15326. https://html.spec.whatwg.org/#media-resource 15327. https://html.spec.whatwg.org/#audiotrack 15328. https://html.spec.whatwg.org/#media-element 15329. https://html.spec.whatwg.org/#dom-media-audiotracks 15330. https://html.spec.whatwg.org/#audiotracklist 15331. https://html.spec.whatwg.org/#audiotrack 15332. https://html.spec.whatwg.org/#media-resource 15333. https://url.spec.whatwg.org/#concept-url 15334. https://www.w3.org/TR/media-frags/#media-fragment-syntax 15335. https://html.spec.whatwg.org/#media-element 15336. https://html.spec.whatwg.org/#dom-audiotrack-enabled 15337. https://dom.spec.whatwg.org/#concept-event-fire 15338. https://html.spec.whatwg.org/#event-media-addtrack 15339. https://html.spec.whatwg.org/#audiotracklist 15340. https://html.spec.whatwg.org/#trackevent 15341. https://html.spec.whatwg.org/#dom-trackevent-track 15342. https://html.spec.whatwg.org/#audiotrack 15343. https://html.spec.whatwg.org/#media-resource 15344. https://html.spec.whatwg.org/#videotrack 15345. https://html.spec.whatwg.org/#media-element 15346. https://html.spec.whatwg.org/#dom-media-videotracks 15347. https://html.spec.whatwg.org/#videotracklist 15348. https://html.spec.whatwg.org/#videotrack 15349. https://html.spec.whatwg.org/#media-resource 15350. https://url.spec.whatwg.org/#concept-url 15351. https://www.w3.org/TR/media-frags/#media-fragment-syntax 15352. https://html.spec.whatwg.org/#media-element 15353. https://html.spec.whatwg.org/#dom-videotrack-selected 15354. https://html.spec.whatwg.org/#toggle-video-track 15355. https://dom.spec.whatwg.org/#concept-event-fire 15356. https://html.spec.whatwg.org/#event-media-addtrack 15357. https://html.spec.whatwg.org/#videotracklist 15358. https://html.spec.whatwg.org/#trackevent 15359. https://html.spec.whatwg.org/#dom-trackevent-track 15360. https://html.spec.whatwg.org/#videotrack 15361. https://html.spec.whatwg.org/#media-data 15362. https://html.spec.whatwg.org/#media-resource 15363. https://html.spec.whatwg.org/#defineTimeline 15364. https://html.spec.whatwg.org/#current-playback-position 15365. https://html.spec.whatwg.org/#earliest-possible-position 15366. https://html.spec.whatwg.org/#media-data 15367. https://html.spec.whatwg.org/#timeline-offset 15368. https://html.spec.whatwg.org/#media-timeline 15369. https://html.spec.whatwg.org/#media-resource 15370. https://html.spec.whatwg.org/#timeline-offset 15371. https://html.spec.whatwg.org/#current-playback-position 15372. https://html.spec.whatwg.org/#official-playback-position 15373. https://html.spec.whatwg.org/#earliest-possible-position 15374. https://html.spec.whatwg.org/#dom-media-duration 15375. https://html.spec.whatwg.org/#media-timeline 15376. https://html.spec.whatwg.org/#dom-media-duration 15377. https://html.spec.whatwg.org/#durationChange 15378. https://html.spec.whatwg.org/#queue-a-media-element-task 15379. https://html.spec.whatwg.org/#media-element 15380. https://dom.spec.whatwg.org/#concept-event-fire 15381. https://html.spec.whatwg.org/#event-media-durationchange 15382. https://html.spec.whatwg.org/#the-video-element 15383. https://html.spec.whatwg.org/#dom-video-videowidth 15384. https://html.spec.whatwg.org/#dom-video-videoheight 15385. https://html.spec.whatwg.org/#queue-a-media-element-task 15386. https://html.spec.whatwg.org/#media-element 15387. https://dom.spec.whatwg.org/#concept-event-fire 15388. https://html.spec.whatwg.org/#event-media-resize 15389. https://html.spec.whatwg.org/#media-element 15390. https://html.spec.whatwg.org/#event-media-resize 15391. https://html.spec.whatwg.org/#dom-media-readystate 15392. https://html.spec.whatwg.org/#dom-media-have_metadata 15393. https://html.spec.whatwg.org/#event-media-loadedmetadata 15394. https://html.spec.whatwg.org/#fire-loadedmetadata 15395. https://html.spec.whatwg.org/#dom-media-readystate 15396. https://html.spec.whatwg.org/#media-element 15397. https://html.spec.whatwg.org/#default-playback-start-position 15398. https://html.spec.whatwg.org/#dom-media-seek 15399. https://html.spec.whatwg.org/#media-element 15400. https://html.spec.whatwg.org/#default-playback-start-position 15401. https://html.spec.whatwg.org/#media-resource 15402. https://url.spec.whatwg.org/#concept-url 15403. https://html.spec.whatwg.org/#dom-media-seek 15404. https://www.w3.org/TR/media-frags/#media-fragment-syntax 15405. https://url.spec.whatwg.org/#concept-url-fragment 15406. https://html.spec.whatwg.org/#dom-audiotrack-enabled 15407. https://html.spec.whatwg.org/#toggle-audio-track 15408. https://html.spec.whatwg.org/#dom-videotrack-selected 15409. https://html.spec.whatwg.org/#toggle-video-track 15410. https://html.spec.whatwg.org/#dom-media-readystate 15411. https://html.spec.whatwg.org/#dom-media-have_current_data 15412. https://html.spec.whatwg.org/#fire-loadeddata 15413. https://html.spec.whatwg.org/#delaying-the-load-event-flag 15414. https://html.spec.whatwg.org/#delay-the-load-event 15415. https://html.spec.whatwg.org/#media-resource 15416. https://html.spec.whatwg.org/#resourceSuspend 15417. https://html.spec.whatwg.org/#dom-media-networkstate 15418. https://html.spec.whatwg.org/#dom-media-network_idle 15419. https://html.spec.whatwg.org/#event-media-suspend 15420. https://html.spec.whatwg.org/#media-resource 15421. https://html.spec.whatwg.org/#media-resource 15422. https://dom.spec.whatwg.org/#concept-event-fire 15423. https://html.spec.whatwg.org/#event-media-progress 15424. https://html.spec.whatwg.org/#media-element 15425. https://html.spec.whatwg.org/#dom-media-networkstate 15426. https://html.spec.whatwg.org/#dom-media-network_idle 15427. https://dom.spec.whatwg.org/#concept-event-fire 15428. https://html.spec.whatwg.org/#event-media-suspend 15429. https://html.spec.whatwg.org/#media-element 15430. https://html.spec.whatwg.org/#media-data 15431. https://html.spec.whatwg.org/#queue-a-media-element-task 15432. https://html.spec.whatwg.org/#media-element 15433. https://html.spec.whatwg.org/#dom-media-networkstate 15434. https://html.spec.whatwg.org/#dom-media-network_loading 15435. https://html.spec.whatwg.org/#media-resource 15436. https://html.spec.whatwg.org/#media-data 15437. https://html.spec.whatwg.org/#media-element 15438. https://html.spec.whatwg.org/#dom-media-readystate 15439. https://html.spec.whatwg.org/#dom-media-have_nothing 15440. https://html.spec.whatwg.org/#dom-media-error 15441. https://html.spec.whatwg.org/#creating-a-mediaerror 15442. https://html.spec.whatwg.org/#dom-mediaerror-media_err_network 15443. https://html.spec.whatwg.org/#dom-media-networkstate 15444. https://html.spec.whatwg.org/#dom-media-network_idle 15445. https://html.spec.whatwg.org/#delaying-the-load-event-flag 15446. https://html.spec.whatwg.org/#delay-the-load-event 15447. https://dom.spec.whatwg.org/#concept-event-fire 15448. https://html.spec.whatwg.org/#event-media-error 15449. https://html.spec.whatwg.org/#media-element 15450. https://html.spec.whatwg.org/#concept-media-load-algorithm 15451. https://html.spec.whatwg.org/#media-data 15452. https://html.spec.whatwg.org/#media-data 15453. https://html.spec.whatwg.org/#media-element 15454. https://html.spec.whatwg.org/#dom-media-readystate 15455. https://html.spec.whatwg.org/#dom-media-have_nothing 15456. https://html.spec.whatwg.org/#dom-media-error 15457. https://html.spec.whatwg.org/#creating-a-mediaerror 15458. https://html.spec.whatwg.org/#dom-mediaerror-media_err_decode 15459. https://html.spec.whatwg.org/#dom-media-networkstate 15460. https://html.spec.whatwg.org/#dom-media-network_idle 15461. https://html.spec.whatwg.org/#delaying-the-load-event-flag 15462. https://html.spec.whatwg.org/#delay-the-load-event 15463. https://dom.spec.whatwg.org/#concept-event-fire 15464. https://html.spec.whatwg.org/#event-media-error 15465. https://html.spec.whatwg.org/#media-element 15466. https://html.spec.whatwg.org/#concept-media-load-algorithm 15467. https://html.spec.whatwg.org/#media-data 15468. https://html.spec.whatwg.org/#dom-media-load 15469. https://html.spec.whatwg.org/#dom-media-error 15470. https://html.spec.whatwg.org/#creating-a-mediaerror 15471. https://html.spec.whatwg.org/#dom-mediaerror-media_err_aborted 15472. https://dom.spec.whatwg.org/#concept-event-fire 15473. https://html.spec.whatwg.org/#event-media-abort 15474. https://html.spec.whatwg.org/#media-element 15475. https://html.spec.whatwg.org/#media-element 15476. https://html.spec.whatwg.org/#dom-media-readystate 15477. https://html.spec.whatwg.org/#dom-media-have_nothing 15478. https://html.spec.whatwg.org/#dom-media-networkstate 15479. https://html.spec.whatwg.org/#dom-media-network_empty 15480. https://html.spec.whatwg.org/#show-poster-flag 15481. https://dom.spec.whatwg.org/#concept-event-fire 15482. https://html.spec.whatwg.org/#event-media-emptied 15483. https://html.spec.whatwg.org/#dom-media-networkstate 15484. https://html.spec.whatwg.org/#dom-media-network_idle 15485. https://html.spec.whatwg.org/#delaying-the-load-event-flag 15486. https://html.spec.whatwg.org/#delay-the-load-event 15487. https://html.spec.whatwg.org/#concept-media-load-algorithm 15488. https://html.spec.whatwg.org/#media-data 15489. https://html.spec.whatwg.org/#media-resource 15490. https://html.spec.whatwg.org/#media-resource-specific-text-track 15491. https://html.spec.whatwg.org/#media-data 15492. https://html.spec.whatwg.org/#cors-same-origin 15493. https://html.spec.whatwg.org/#steps-to-expose-a-media-resource-specific-text-track 15494. https://html.spec.whatwg.org/#concept-media-load-algorithm 15495. https://html.spec.whatwg.org/#media-element 15496. https://html.spec.whatwg.org/#media-element 15497. https://html.spec.whatwg.org/#list-of-text-tracks 15498. https://html.spec.whatwg.org/#media-resource-specific-text-track 15499. https://html.spec.whatwg.org/#media-element 15500. https://html.spec.whatwg.org/#dom-media-audiotracks 15501. https://html.spec.whatwg.org/#audiotracklist 15502. https://html.spec.whatwg.org/#media-element 15503. https://html.spec.whatwg.org/#dom-media-videotracks 15504. https://html.spec.whatwg.org/#videotracklist 15505. https://html.spec.whatwg.org/#event-media-removetrack 15506. https://html.spec.whatwg.org/#event-media-error 15507. https://html.spec.whatwg.org/#event-media-emptied 15508. https://html.spec.whatwg.org/#enumerated-attribute 15509. https://html.spec.whatwg.org/#media-element 15510. https://html.spec.whatwg.org/#dom-media-readystate 15511. https://html.spec.whatwg.org/#dom-media-have_metadata 15512. https://html.spec.whatwg.org/#dom-media-have_current_data 15513. https://html.spec.whatwg.org/#dom-media-have_future_data 15514. https://html.spec.whatwg.org/#missing-value-default 15515. https://html.spec.whatwg.org/#invalid-value-default 15516. https://infra.spec.whatwg.org/#implementation-defined 15517. https://html.spec.whatwg.org/#attr-media-preload-metadata-state 15518. https://html.spec.whatwg.org/#media-resource 15519. https://html.spec.whatwg.org/#attr-media-preload-none 15520. https://html.spec.whatwg.org/#attr-media-preload-metadata 15521. https://html.spec.whatwg.org/#attr-media-preload-auto 15522. https://html.spec.whatwg.org/#attr-media-preload 15523. https://html.spec.whatwg.org/#reflect 15524. https://html.spec.whatwg.org/#limited-to-only-known-values 15525. https://html.spec.whatwg.org/#attr-media-autoplay 15526. https://html.spec.whatwg.org/#attr-media-preload 15527. https://html.spec.whatwg.org/#attr-media-preload 15528. https://html.spec.whatwg.org/#dom-media-buffered 15529. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/buffered 15530. https://html.spec.whatwg.org/#timeranges 15531. https://html.spec.whatwg.org/#media-resource 15532. https://html.spec.whatwg.org/#normalised-timeranges-object 15533. https://html.spec.whatwg.org/#media-resource 15534. https://html.spec.whatwg.org/#dom-media-buffered 15535. https://html.spec.whatwg.org/#dom-media-duration 15536. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/duration 15537. https://html.spec.whatwg.org/#media-resource 15538. https://html.spec.whatwg.org/#media-resource 15539. https://html.spec.whatwg.org/#dom-media-currenttime 15540. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/currentTime 15541. https://html.spec.whatwg.org/#official-playback-position 15542. https://html.spec.whatwg.org/#media-resource 15543. https://html.spec.whatwg.org/#media-resource 15544. https://html.spec.whatwg.org/#media-resource 15545. https://html.spec.whatwg.org/#media-timeline 15546. https://html.spec.whatwg.org/#media-resource 15547. https://html.spec.whatwg.org/#media-resource 15548. https://html.spec.whatwg.org/#media-resource 15549. https://html.spec.whatwg.org/#media-timeline 15550. https://html.spec.whatwg.org/#timeline-offset 15551. https://html.spec.whatwg.org/#dom-media-getstartdate 15552. https://html.spec.whatwg.org/#media-resource 15553. https://html.spec.whatwg.org/#media-timeline 15554. https://html.spec.whatwg.org/#media-resource 15555. https://html.spec.whatwg.org/#earliest-possible-position 15556. https://html.spec.whatwg.org/#media-data 15557. https://infra.spec.whatwg.org/#tracking-vector 15558. https://html.spec.whatwg.org/#media-resource 15559. https://html.spec.whatwg.org/#media-timeline 15560. https://html.spec.whatwg.org/#media-resource 15561. https://html.spec.whatwg.org/#media-resource 15562. https://infra.spec.whatwg.org/#implementation-defined 15563. https://html.spec.whatwg.org/#multipart/x-mixed-replace 15564. https://html.spec.whatwg.org/#media-resource 15565. https://html.spec.whatwg.org/#media-resource 15566. https://html.spec.whatwg.org/#dom-media-getstartdate 15567. https://html.spec.whatwg.org/#media-timeline 15568. https://html.spec.whatwg.org/#dom-media-duration 15569. https://html.spec.whatwg.org/#dom-media-getstartdate 15570. https://tc39.es/ecma262/#sec-date-objects 15571. https://html.spec.whatwg.org/#media-timeline 15572. https://html.spec.whatwg.org/#dom-media-getstartdate 15573. https://tc39.es/ecma262/#sec-date-objects 15574. https://html.spec.whatwg.org/#dom-media-seekable 15575. https://html.spec.whatwg.org/#earliest-possible-position 15576. https://html.spec.whatwg.org/#media-timeline 15577. https://html.spec.whatwg.org/#media-timeline 15578. https://html.spec.whatwg.org/#media-resource 15579. https://html.spec.whatwg.org/#media-element 15580. https://html.spec.whatwg.org/#media-data 15581. https://html.spec.whatwg.org/#current-playback-position 15582. https://html.spec.whatwg.org/#media-timeline 15583. https://html.spec.whatwg.org/#media-element 15584. https://html.spec.whatwg.org/#official-playback-position 15585. https://html.spec.whatwg.org/#current-playback-position 15586. https://html.spec.whatwg.org/#media-element 15587. https://html.spec.whatwg.org/#media-element 15588. https://html.spec.whatwg.org/#media-element 15589. https://html.spec.whatwg.org/#the-video-element 15590. https://html.spec.whatwg.org/#media-element 15591. https://html.spec.whatwg.org/#default-playback-start-position 15592. https://html.spec.whatwg.org/#official-playback-position 15593. https://html.spec.whatwg.org/#media-element 15594. https://html.spec.whatwg.org/#dom-media-readystate 15595. https://html.spec.whatwg.org/#dom-media-have_nothing 15596. https://html.spec.whatwg.org/#media-element 15597. https://html.spec.whatwg.org/#default-playback-start-position 15598. https://html.spec.whatwg.org/#official-playback-position 15599. https://html.spec.whatwg.org/#dom-media-seek 15600. https://html.spec.whatwg.org/#media-resource 15601. https://html.spec.whatwg.org/#media-resource 15602. https://html.spec.whatwg.org/#media-timeline 15603. https://html.spec.whatwg.org/#media-timeline 15604. https://html.spec.whatwg.org/#earliest-possible-position 15605. https://html.spec.whatwg.org/#dom-media-seekable 15606. https://html.spec.whatwg.org/#timeranges 15607. https://html.spec.whatwg.org/#current-playback-position 15608. https://html.spec.whatwg.org/#earliest-possible-position 15609. https://html.spec.whatwg.org/#current-playback-position 15610. https://html.spec.whatwg.org/#earliest-possible-position 15611. https://html.spec.whatwg.org/#dom-media-seek 15612. https://html.spec.whatwg.org/#earliest-possible-position 15613. https://html.spec.whatwg.org/#event-media-timeupdate 15614. https://html.spec.whatwg.org/#queue-a-media-element-task 15615. https://html.spec.whatwg.org/#media-element 15616. https://dom.spec.whatwg.org/#concept-event-fire 15617. https://html.spec.whatwg.org/#event-media-timeupdate 15618. https://html.spec.whatwg.org/#concept-media-load-resource 15619. https://html.spec.whatwg.org/#getting-media-metadata 15620. https://html.spec.whatwg.org/#current-playback-position 15621. https://html.spec.whatwg.org/#earliest-possible-position 15622. https://html.spec.whatwg.org/#media-data 15623. https://html.spec.whatwg.org/#media-timeline 15624. https://html.spec.whatwg.org/#earliest-possible-position 15625. https://html.spec.whatwg.org/#queue-a-media-element-task 15626. https://html.spec.whatwg.org/#media-element 15627. https://html.spec.whatwg.org/#dom-media-audiotracks 15628. https://html.spec.whatwg.org/#audiotracklist 15629. https://html.spec.whatwg.org/#dom-media-videotracks 15630. https://html.spec.whatwg.org/#videotracklist 15631. https://dom.spec.whatwg.org/#concept-event-fire 15632. https://html.spec.whatwg.org/#event-media-removetrack 15633. https://html.spec.whatwg.org/#media-element 15634. https://html.spec.whatwg.org/#audiotracklist 15635. https://html.spec.whatwg.org/#videotracklist 15636. https://html.spec.whatwg.org/#trackevent 15637. https://html.spec.whatwg.org/#dom-trackevent-track 15638. https://html.spec.whatwg.org/#audiotrack 15639. https://html.spec.whatwg.org/#videotrack 15640. https://html.spec.whatwg.org/#media-resource 15641. https://html.spec.whatwg.org/#media-timeline 15642. https://html.spec.whatwg.org/#media-data 15643. https://html.spec.whatwg.org/#media-resource 15644. https://html.spec.whatwg.org/#media-resource 15645. https://html.spec.whatwg.org/#media-data 15646. https://html.spec.whatwg.org/#dom-media-readystate 15647. https://html.spec.whatwg.org/#dom-media-have_metadata 15648. https://html.spec.whatwg.org/#media-resource 15649. https://html.spec.whatwg.org/#queue-a-media-element-task 15650. https://html.spec.whatwg.org/#media-element 15651. https://dom.spec.whatwg.org/#concept-event-fire 15652. https://html.spec.whatwg.org/#event-media-durationchange 15653. https://html.spec.whatwg.org/#media-element 15654. https://html.spec.whatwg.org/#current-playback-position 15655. https://html.spec.whatwg.org/#media-resource 15656. https://html.spec.whatwg.org/#dom-media-seek 15657. https://html.spec.whatwg.org/#media-resource 15658. https://html.spec.whatwg.org/#event-media-durationchange 15659. https://html.spec.whatwg.org/#media-resource 15660. https://html.spec.whatwg.org/#event-media-durationchange 15661. https://html.spec.whatwg.org/#media-timeline 15662. https://html.spec.whatwg.org/#timeline-offset 15663. https://html.spec.whatwg.org/#create-a-date-object 15664. https://html.spec.whatwg.org/#timeline-offset 15665. https://html.spec.whatwg.org/#boolean-attribute 15666. https://html.spec.whatwg.org/#media-element 15667. https://html.spec.whatwg.org/#media-resource 15668. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/loop 15669. https://html.spec.whatwg.org/#reflect 15670. https://html.spec.whatwg.org/#dom-media-readystate 15671. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/readyState 15672. https://html.spec.whatwg.org/#current-playback-position 15673. https://html.spec.whatwg.org/#media-element 15674. https://html.spec.whatwg.org/#current-playback-position 15675. https://html.spec.whatwg.org/#media-resource 15676. https://html.spec.whatwg.org/#current-playback-position 15677. https://html.spec.whatwg.org/#media-element 15678. https://html.spec.whatwg.org/#dom-media-networkstate 15679. https://html.spec.whatwg.org/#dom-media-network_empty 15680. https://html.spec.whatwg.org/#dom-media-have_nothing 15681. https://html.spec.whatwg.org/#the-video-element 15682. https://html.spec.whatwg.org/#media-data 15683. https://html.spec.whatwg.org/#current-playback-position 15684. https://html.spec.whatwg.org/#current-playback-position 15685. https://html.spec.whatwg.org/#current-playback-position 15686. https://html.spec.whatwg.org/#direction-of-playback 15687. https://html.spec.whatwg.org/#dom-media-have_metadata 15688. https://html.spec.whatwg.org/#direction-of-playback 15689. https://html.spec.whatwg.org/#current-playback-position 15690. https://html.spec.whatwg.org/#ended-playback 15691. https://html.spec.whatwg.org/#current-playback-position 15692. https://html.spec.whatwg.org/#current-playback-position 15693. https://html.spec.whatwg.org/#direction-of-playback 15694. https://html.spec.whatwg.org/#dom-media-have_metadata 15695. https://html.spec.whatwg.org/#the-text-tracks-are-ready 15696. https://html.spec.whatwg.org/#current-playback-position 15697. https://html.spec.whatwg.org/#current-playback-position 15698. https://html.spec.whatwg.org/#ended-playback 15699. https://html.spec.whatwg.org/#current-playback-position 15700. https://html.spec.whatwg.org/#dom-media-have_future_data 15701. https://html.spec.whatwg.org/#current-playback-position 15702. https://html.spec.whatwg.org/#dom-media-playbackrate 15703. https://html.spec.whatwg.org/#media-resource 15704. https://html.spec.whatwg.org/#dom-media-have_metadata 15705. https://html.spec.whatwg.org/#dom-media-have_current_data 15706. https://html.spec.whatwg.org/#the-video-element 15707. https://html.spec.whatwg.org/#the-canvas-element 15708. https://html.spec.whatwg.org/#dom-media-have_current_data 15709. https://html.spec.whatwg.org/#dom-media-have_metadata 15710. https://html.spec.whatwg.org/#dom-media-have_current_data 15711. https://html.spec.whatwg.org/#dom-media-have_future_data 15712. https://html.spec.whatwg.org/#media-element 15713. https://html.spec.whatwg.org/#dom-media-networkstate 15714. https://html.spec.whatwg.org/#dom-media-network_empty 15715. https://html.spec.whatwg.org/#dom-media-have_nothing 15716. https://html.spec.whatwg.org/#dom-media-have_metadata 15717. https://html.spec.whatwg.org/#queue-a-media-element-task 15718. https://html.spec.whatwg.org/#media-element 15719. https://dom.spec.whatwg.org/#concept-event-fire 15720. https://html.spec.whatwg.org/#event-media-loadedmetadata 15721. https://html.spec.whatwg.org/#event-loop 15722. https://html.spec.whatwg.org/#the-video-element 15723. https://html.spec.whatwg.org/#dom-media-have_metadata 15724. https://html.spec.whatwg.org/#dom-media-have_current_data 15725. https://html.spec.whatwg.org/#media-element 15726. https://html.spec.whatwg.org/#dom-media-load 15727. https://html.spec.whatwg.org/#queue-a-media-element-task 15728. https://html.spec.whatwg.org/#media-element 15729. https://dom.spec.whatwg.org/#concept-event-fire 15730. https://html.spec.whatwg.org/#event-media-loadeddata 15731. https://html.spec.whatwg.org/#dom-media-have_future_data 15732. https://html.spec.whatwg.org/#dom-media-have_enough_data 15733. https://html.spec.whatwg.org/#dom-media-have_future_data 15734. https://html.spec.whatwg.org/#dom-media-have_current_data 15735. https://html.spec.whatwg.org/#media-element 15736. https://html.spec.whatwg.org/#potentially-playing 15737. https://html.spec.whatwg.org/#dom-media-readystate 15738. https://html.spec.whatwg.org/#dom-media-have_future_data 15739. https://html.spec.whatwg.org/#ended-playback 15740. https://html.spec.whatwg.org/#stopped-due-to-errors 15741. https://html.spec.whatwg.org/#paused-for-user-interaction 15742. https://html.spec.whatwg.org/#paused-for-in-band-content 15743. https://html.spec.whatwg.org/#queue-a-media-element-task 15744. https://html.spec.whatwg.org/#media-element 15745. https://dom.spec.whatwg.org/#concept-event-fire 15746. https://html.spec.whatwg.org/#event-media-timeupdate 15747. https://html.spec.whatwg.org/#queue-a-media-element-task 15748. https://html.spec.whatwg.org/#media-element 15749. https://dom.spec.whatwg.org/#concept-event-fire 15750. https://html.spec.whatwg.org/#event-media-waiting 15751. https://html.spec.whatwg.org/#dom-media-have_current_data 15752. https://html.spec.whatwg.org/#dom-media-have_future_data 15753. https://html.spec.whatwg.org/#queue-a-media-element-task 15754. https://html.spec.whatwg.org/#media-element 15755. https://dom.spec.whatwg.org/#concept-event-fire 15756. https://html.spec.whatwg.org/#event-media-canplay 15757. https://html.spec.whatwg.org/#dom-media-paused 15758. https://html.spec.whatwg.org/#notify-about-playing 15759. https://html.spec.whatwg.org/#dom-media-have_enough_data 15760. https://html.spec.whatwg.org/#dom-media-have_current_data 15761. https://html.spec.whatwg.org/#queue-a-media-element-task 15762. https://html.spec.whatwg.org/#media-element 15763. https://dom.spec.whatwg.org/#concept-event-fire 15764. https://html.spec.whatwg.org/#event-media-canplay 15765. https://html.spec.whatwg.org/#dom-media-paused 15766. https://html.spec.whatwg.org/#notify-about-playing 15767. https://html.spec.whatwg.org/#queue-a-media-element-task 15768. https://html.spec.whatwg.org/#media-element 15769. https://dom.spec.whatwg.org/#concept-event-fire 15770. https://html.spec.whatwg.org/#event-media-canplaythrough 15771. https://html.spec.whatwg.org/#eligible-for-autoplay 15772. https://html.spec.whatwg.org/#dom-media-paused 15773. https://html.spec.whatwg.org/#show-poster-flag 15774. https://html.spec.whatwg.org/#time-marches-on 15775. https://html.spec.whatwg.org/#queue-a-media-element-task 15776. https://dom.spec.whatwg.org/#concept-event-fire 15777. https://html.spec.whatwg.org/#event-media-play 15778. https://html.spec.whatwg.org/#notify-about-playing 15779. https://html.spec.whatwg.org/#the-video-element 15780. https://html.spec.whatwg.org/#intersect-the-viewport 15781. https://html.spec.whatwg.org/#intersect-the-viewport 15782. https://html.spec.whatwg.org/#eligible-for-autoplay 15783. https://html.spec.whatwg.org/#intersect-the-viewport 15784. https://html.spec.whatwg.org/#can-autoplay-flag 15785. https://html.spec.whatwg.org/#attr-media-autoplay 15786. https://html.spec.whatwg.org/#internal-pause-steps 15787. https://html.spec.whatwg.org/#can-autoplay-flag 15788. https://html.spec.whatwg.org/#queue-a-media-element-task 15789. https://dom.spec.whatwg.org/#concept-event-fire 15790. https://html.spec.whatwg.org/#event-media-pause 15791. https://html.spec.whatwg.org/#intersect-the-viewport 15792. https://html.spec.whatwg.org/#can-autoplay-flag 15793. https://html.spec.whatwg.org/#attr-media-autoplay 15794. https://html.spec.whatwg.org/#dom-media-have_metadata 15795. https://html.spec.whatwg.org/#dom-media-have_enough_data 15796. https://html.spec.whatwg.org/#dom-media-have_current_data 15797. https://html.spec.whatwg.org/#dom-media-have_future_data 15798. https://html.spec.whatwg.org/#media-element 15799. https://html.spec.whatwg.org/#boolean-attribute 15800. https://html.spec.whatwg.org/#media-resource 15801. https://html.spec.whatwg.org/#attr-media-autoplay 15802. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/autoplay 15803. https://html.spec.whatwg.org/#reflect 15804. https://html.spec.whatwg.org/#dom-media-paused 15805. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/paused 15806. https://html.spec.whatwg.org/#dom-media-ended 15807. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/ended 15808. https://html.spec.whatwg.org/#media-resource 15809. https://html.spec.whatwg.org/#dom-media-defaultplaybackrate 15810. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/defaultPlaybackRate 15811. https://html.spec.whatwg.org/#media-resource 15812. https://html.spec.whatwg.org/#dom-media-playbackrate 15813. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/playbackRate 15814. https://html.spec.whatwg.org/#dom-media-preservespitch 15815. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/preservesPitch 15816. https://html.spec.whatwg.org/#dom-media-playbackrate 15817. https://html.spec.whatwg.org/#media-resource 15818. https://html.spec.whatwg.org/#dom-media-playbackrate 15819. https://html.spec.whatwg.org/#dom-media-played 15820. https://html.spec.whatwg.org/#timeranges 15821. https://html.spec.whatwg.org/#media-resource 15822. https://html.spec.whatwg.org/#dom-media-play 15823. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/play 15824. https://html.spec.whatwg.org/#dom-media-paused 15825. https://html.spec.whatwg.org/#media-resource 15826. https://html.spec.whatwg.org/#dom-media-pause 15827. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/pause 15828. https://html.spec.whatwg.org/#dom-media-paused 15829. https://html.spec.whatwg.org/#media-resource 15830. https://html.spec.whatwg.org/#media-element 15831. https://html.spec.whatwg.org/#media-element 15832. https://html.spec.whatwg.org/#dom-media-readystate 15833. https://html.spec.whatwg.org/#dom-media-have_nothing 15834. https://html.spec.whatwg.org/#dom-media-have_metadata 15835. https://html.spec.whatwg.org/#dom-media-have_current_data 15836. https://html.spec.whatwg.org/#paused-for-user-interaction 15837. https://html.spec.whatwg.org/#paused-for-in-band-content 15838. https://html.spec.whatwg.org/#media-element 15839. https://html.spec.whatwg.org/#dom-media-paused 15840. https://html.spec.whatwg.org/#ended-playback 15841. https://html.spec.whatwg.org/#stopped-due-to-errors 15842. https://html.spec.whatwg.org/#blocked-media-element 15843. https://html.spec.whatwg.org/#event-media-waiting 15844. https://html.spec.whatwg.org/#fire-waiting-when-waiting 15845. https://html.spec.whatwg.org/#potentially-playing 15846. https://html.spec.whatwg.org/#dom-media-readystate 15847. https://html.spec.whatwg.org/#dom-media-have_future_data 15848. https://html.spec.whatwg.org/#media-element 15849. https://html.spec.whatwg.org/#can-autoplay-flag 15850. https://html.spec.whatwg.org/#dom-media-paused 15851. https://html.spec.whatwg.org/#attr-media-autoplay 15852. https://dom.spec.whatwg.org/#concept-node-document 15853. https://html.spec.whatwg.org/#active-sandboxing-flag-set 15854. https://html.spec.whatwg.org/#sandboxed-automatic-features-browsing-context-flag 15855. https://dom.spec.whatwg.org/#concept-node-document 15856. https://html.spec.whatwg.org/#allowed-to-use 15857. https://html.spec.whatwg.org/#autoplay-feature 15858. https://html.spec.whatwg.org/#media-element 15859. https://html.spec.whatwg.org/#media-element 15860. https://html.spec.whatwg.org/#window 15861. https://html.spec.whatwg.org/#transient-activation 15862. https://html.spec.whatwg.org/#concept-media-muted 15863. https://html.spec.whatwg.org/#media-element 15864. https://html.spec.whatwg.org/#dom-media-readystate 15865. https://html.spec.whatwg.org/#dom-media-have_metadata 15866. https://html.spec.whatwg.org/#current-playback-position 15867. https://html.spec.whatwg.org/#media-resource 15868. https://html.spec.whatwg.org/#direction-of-playback 15869. https://html.spec.whatwg.org/#media-element 15870. https://html.spec.whatwg.org/#attr-media-loop 15871. https://html.spec.whatwg.org/#current-playback-position 15872. https://html.spec.whatwg.org/#earliest-possible-position 15873. https://html.spec.whatwg.org/#direction-of-playback 15874. https://html.spec.whatwg.org/#event-loop 15875. https://html.spec.whatwg.org/#step1 15876. https://html.spec.whatwg.org/#media-element 15877. https://html.spec.whatwg.org/#ended-playback 15878. https://html.spec.whatwg.org/#direction-of-playback 15879. https://html.spec.whatwg.org/#media-element 15880. https://html.spec.whatwg.org/#dom-media-readystate 15881. https://html.spec.whatwg.org/#dom-media-have_metadata 15882. https://html.spec.whatwg.org/#non-fatal-media-error 15883. https://html.spec.whatwg.org/#media-data 15884. https://html.spec.whatwg.org/#current-playback-position 15885. https://html.spec.whatwg.org/#media-element 15886. https://html.spec.whatwg.org/#dom-media-paused 15887. https://html.spec.whatwg.org/#dom-media-readystate 15888. https://html.spec.whatwg.org/#dom-media-have_future_data 15889. https://html.spec.whatwg.org/#dom-media-have_enough_data 15890. https://html.spec.whatwg.org/#media-resource 15891. https://html.spec.whatwg.org/#media-element 15892. https://html.spec.whatwg.org/#ended-playback 15893. https://html.spec.whatwg.org/#paused-for-user-interaction 15894. https://html.spec.whatwg.org/#media-element 15895. https://html.spec.whatwg.org/#potentially-playing 15896. https://html.spec.whatwg.org/#paused-for-user-interaction 15897. https://html.spec.whatwg.org/#queue-a-media-element-task 15898. https://html.spec.whatwg.org/#media-element 15899. https://dom.spec.whatwg.org/#concept-event-fire 15900. https://html.spec.whatwg.org/#event-media-timeupdate 15901. https://html.spec.whatwg.org/#media-element 15902. https://html.spec.whatwg.org/#dom-media-paused 15903. https://html.spec.whatwg.org/#dom-media-readystate 15904. https://html.spec.whatwg.org/#dom-media-have_future_data 15905. https://html.spec.whatwg.org/#dom-media-have_enough_data 15906. https://html.spec.whatwg.org/#media-resource 15907. https://html.spec.whatwg.org/#media-resource 15908. https://html.spec.whatwg.org/#media-resource 15909. https://html.spec.whatwg.org/#media-element 15910. https://html.spec.whatwg.org/#paused-for-in-band-content 15911. https://html.spec.whatwg.org/#attr-track-kind-descriptions 15912. https://html.spec.whatwg.org/#text-track-cue-start-time 15913. https://html.spec.whatwg.org/#text-track-cue-end-time 15914. https://html.spec.whatwg.org/#current-playback-position 15915. https://html.spec.whatwg.org/#media-resource 15916. https://html.spec.whatwg.org/#direction-of-playback 15917. https://html.spec.whatwg.org/#media-element 15918. https://html.spec.whatwg.org/#attr-media-loop 15919. https://html.spec.whatwg.org/#dom-media-seek 15920. https://html.spec.whatwg.org/#earliest-possible-position 15921. https://html.spec.whatwg.org/#media-resource 15922. https://html.spec.whatwg.org/#dom-media-ended 15923. https://html.spec.whatwg.org/#event-loop 15924. https://html.spec.whatwg.org/#step1 15925. https://html.spec.whatwg.org/#queue-a-media-element-task 15926. https://html.spec.whatwg.org/#media-element 15927. https://dom.spec.whatwg.org/#concept-event-fire 15928. https://html.spec.whatwg.org/#event-media-timeupdate 15929. https://html.spec.whatwg.org/#media-element 15930. https://html.spec.whatwg.org/#media-element 15931. https://html.spec.whatwg.org/#ended-playback 15932. https://html.spec.whatwg.org/#direction-of-playback 15933. https://html.spec.whatwg.org/#dom-media-paused 15934. https://html.spec.whatwg.org/#dom-media-paused 15935. https://dom.spec.whatwg.org/#concept-event-fire 15936. https://html.spec.whatwg.org/#event-media-pause 15937. https://html.spec.whatwg.org/#media-element 15938. https://html.spec.whatwg.org/#take-pending-play-promises 15939. https://html.spec.whatwg.org/#reject-pending-play-promises 15940. https://webidl.spec.whatwg.org/#aborterror 15941. https://webidl.spec.whatwg.org/#dfn-DOMException 15942. https://dom.spec.whatwg.org/#concept-event-fire 15943. https://html.spec.whatwg.org/#event-media-ended 15944. https://html.spec.whatwg.org/#media-element 15945. https://html.spec.whatwg.org/#current-playback-position 15946. https://html.spec.whatwg.org/#earliest-possible-position 15947. https://html.spec.whatwg.org/#media-resource 15948. https://html.spec.whatwg.org/#direction-of-playback 15949. https://html.spec.whatwg.org/#queue-a-media-element-task 15950. https://html.spec.whatwg.org/#media-element 15951. https://dom.spec.whatwg.org/#concept-event-fire 15952. https://html.spec.whatwg.org/#event-media-timeupdate 15953. https://html.spec.whatwg.org/#current-playback-position 15954. https://html.spec.whatwg.org/#dom-media-seek 15955. https://html.spec.whatwg.org/#media-resource 15956. https://html.spec.whatwg.org/#dom-media-defaultplaybackrate 15957. https://html.spec.whatwg.org/#expose-a-user-interface-to-the-user 15958. https://html.spec.whatwg.org/#media-resource 15959. https://html.spec.whatwg.org/#dom-media-defaultplaybackrate 15960. https://webidl.spec.whatwg.org/#notsupportederror 15961. https://webidl.spec.whatwg.org/#dfn-DOMException 15962. https://html.spec.whatwg.org/#dom-media-playbackrate 15963. https://html.spec.whatwg.org/#potentially-playing 15964. https://html.spec.whatwg.org/#dom-media-defaultplaybackrate 15965. https://html.spec.whatwg.org/#dom-media-playbackrate 15966. https://html.spec.whatwg.org/#queue-a-media-element-task 15967. https://html.spec.whatwg.org/#media-element 15968. https://dom.spec.whatwg.org/#concept-event-fire 15969. https://html.spec.whatwg.org/#event-media-ratechange 15970. https://html.spec.whatwg.org/#media-element 15971. https://html.spec.whatwg.org/#normalised-timeranges-object 15972. https://html.spec.whatwg.org/#media-timeline 15973. https://html.spec.whatwg.org/#media-resource 15974. https://html.spec.whatwg.org/#current-playback-position 15975. https://html.spec.whatwg.org/#media-element 15976. https://html.spec.whatwg.org/#media-element 15977. https://html.spec.whatwg.org/#media-element 15978. https://html.spec.whatwg.org/#list-of-pending-play-promises 15979. https://html.spec.whatwg.org/#media-element 15980. https://html.spec.whatwg.org/#list-of-pending-play-promises 15981. https://html.spec.whatwg.org/#media-element 15982. https://html.spec.whatwg.org/#media-element 15983. https://html.spec.whatwg.org/#media-element 15984. https://html.spec.whatwg.org/#take-pending-play-promises 15985. https://html.spec.whatwg.org/#queue-a-media-element-task 15986. https://dom.spec.whatwg.org/#concept-event-fire 15987. https://html.spec.whatwg.org/#event-media-playing 15988. https://html.spec.whatwg.org/#resolve-pending-play-promises 15989. https://html.spec.whatwg.org/#media-element 15990. https://html.spec.whatwg.org/#media-element 15991. https://html.spec.whatwg.org/#allowed-to-play 15992. https://webidl.spec.whatwg.org/#a-promise-rejected-with 15993. https://webidl.spec.whatwg.org/#notallowederror 15994. https://webidl.spec.whatwg.org/#dfn-DOMException 15995. https://html.spec.whatwg.org/#media-element 15996. https://html.spec.whatwg.org/#dom-media-error 15997. https://html.spec.whatwg.org/#concept-mediaerror-code 15998. https://html.spec.whatwg.org/#dom-mediaerror-media_err_src_not_supported 15999. https://webidl.spec.whatwg.org/#a-promise-rejected-with 16000. https://webidl.spec.whatwg.org/#notsupportederror 16001. https://webidl.spec.whatwg.org/#dfn-DOMException 16002. https://html.spec.whatwg.org/#dedicated-media-source-failure-steps 16003. https://html.spec.whatwg.org/#media-element-load-algorithm 16004. https://html.spec.whatwg.org/#dom-media-error 16005. https://html.spec.whatwg.org/#list-of-pending-play-promises 16006. https://html.spec.whatwg.org/#internal-play-steps 16007. https://html.spec.whatwg.org/#media-element 16008. https://html.spec.whatwg.org/#media-element 16009. https://html.spec.whatwg.org/#media-element 16010. https://html.spec.whatwg.org/#dom-media-networkstate 16011. https://html.spec.whatwg.org/#dom-media-network_empty 16012. https://html.spec.whatwg.org/#media-element 16013. https://html.spec.whatwg.org/#concept-media-load-algorithm 16014. https://html.spec.whatwg.org/#ended-playback 16015. https://html.spec.whatwg.org/#direction-of-playback 16016. https://html.spec.whatwg.org/#dom-media-seek 16017. https://html.spec.whatwg.org/#earliest-possible-position 16018. https://html.spec.whatwg.org/#media-resource 16019. https://html.spec.whatwg.org/#seekUpdate 16020. https://html.spec.whatwg.org/#queue-a-media-element-task 16021. https://html.spec.whatwg.org/#media-element 16022. https://dom.spec.whatwg.org/#concept-event-fire 16023. https://html.spec.whatwg.org/#event-media-timeupdate 16024. https://html.spec.whatwg.org/#media-element 16025. https://html.spec.whatwg.org/#media-element 16026. https://html.spec.whatwg.org/#dom-media-paused 16027. https://html.spec.whatwg.org/#dom-media-paused 16028. https://html.spec.whatwg.org/#show-poster-flag 16029. https://html.spec.whatwg.org/#show-poster-flag 16030. https://html.spec.whatwg.org/#time-marches-on 16031. https://html.spec.whatwg.org/#queue-a-media-element-task 16032. https://html.spec.whatwg.org/#media-element 16033. https://dom.spec.whatwg.org/#concept-event-fire 16034. https://html.spec.whatwg.org/#event-media-play 16035. https://html.spec.whatwg.org/#media-element 16036. https://html.spec.whatwg.org/#dom-media-readystate 16037. https://html.spec.whatwg.org/#dom-media-have_nothing 16038. https://html.spec.whatwg.org/#dom-media-have_metadata 16039. https://html.spec.whatwg.org/#dom-media-have_current_data 16040. https://html.spec.whatwg.org/#queue-a-media-element-task 16041. https://html.spec.whatwg.org/#media-element 16042. https://dom.spec.whatwg.org/#concept-event-fire 16043. https://html.spec.whatwg.org/#event-media-waiting 16044. https://html.spec.whatwg.org/#media-element 16045. https://html.spec.whatwg.org/#dom-media-readystate 16046. https://html.spec.whatwg.org/#dom-media-have_future_data 16047. https://html.spec.whatwg.org/#dom-media-have_enough_data 16048. https://html.spec.whatwg.org/#notify-about-playing 16049. https://html.spec.whatwg.org/#media-element 16050. https://html.spec.whatwg.org/#dom-media-readystate 16051. https://html.spec.whatwg.org/#dom-media-have_future_data 16052. https://html.spec.whatwg.org/#dom-media-have_enough_data 16053. https://html.spec.whatwg.org/#take-pending-play-promises 16054. https://html.spec.whatwg.org/#queue-a-media-element-task 16055. https://html.spec.whatwg.org/#media-element 16056. https://html.spec.whatwg.org/#resolve-pending-play-promises 16057. https://html.spec.whatwg.org/#reject-pending-play-promises 16058. https://html.spec.whatwg.org/#media-element 16059. https://html.spec.whatwg.org/#can-autoplay-flag 16060. https://html.spec.whatwg.org/#media-element 16061. https://html.spec.whatwg.org/#media-element 16062. https://html.spec.whatwg.org/#dom-media-networkstate 16063. https://html.spec.whatwg.org/#dom-media-network_empty 16064. https://html.spec.whatwg.org/#media-element 16065. https://html.spec.whatwg.org/#concept-media-load-algorithm 16066. https://html.spec.whatwg.org/#internal-pause-steps 16067. https://html.spec.whatwg.org/#media-element 16068. https://html.spec.whatwg.org/#media-element 16069. https://html.spec.whatwg.org/#media-element 16070. https://html.spec.whatwg.org/#can-autoplay-flag 16071. https://html.spec.whatwg.org/#media-element 16072. https://html.spec.whatwg.org/#dom-media-paused 16073. https://html.spec.whatwg.org/#dom-media-paused 16074. https://html.spec.whatwg.org/#take-pending-play-promises 16075. https://html.spec.whatwg.org/#queue-a-media-element-task 16076. https://html.spec.whatwg.org/#media-element 16077. https://dom.spec.whatwg.org/#concept-event-fire 16078. https://html.spec.whatwg.org/#event-media-timeupdate 16079. https://dom.spec.whatwg.org/#concept-event-fire 16080. https://html.spec.whatwg.org/#event-media-pause 16081. https://html.spec.whatwg.org/#reject-pending-play-promises 16082. https://webidl.spec.whatwg.org/#aborterror 16083. https://webidl.spec.whatwg.org/#dfn-DOMException 16084. https://html.spec.whatwg.org/#official-playback-position 16085. https://html.spec.whatwg.org/#current-playback-position 16086. https://html.spec.whatwg.org/#dom-media-playbackrate 16087. https://html.spec.whatwg.org/#media-element 16088. https://html.spec.whatwg.org/#potentially-playing 16089. https://html.spec.whatwg.org/#document 16090. https://html.spec.whatwg.org/#fully-active 16091. https://html.spec.whatwg.org/#document 16092. https://html.spec.whatwg.org/#current-playback-position 16093. https://html.spec.whatwg.org/#dom-media-playbackrate 16094. https://html.spec.whatwg.org/#media-timeline 16095. https://html.spec.whatwg.org/#dom-media-playbackrate 16096. https://html.spec.whatwg.org/#dom-media-playbackrate 16097. https://html.spec.whatwg.org/#current-playback-position 16098. https://html.spec.whatwg.org/#dom-media-paused 16099. https://html.spec.whatwg.org/#event-media-pause 16100. https://html.spec.whatwg.org/#await-a-stable-state 16101. https://html.spec.whatwg.org/#official-playback-position 16102. https://html.spec.whatwg.org/#current-playback-position 16103. https://html.spec.whatwg.org/#direction-of-playback 16104. https://html.spec.whatwg.org/#concept-media-muted 16105. https://html.spec.whatwg.org/#dom-media-playbackrate 16106. https://html.spec.whatwg.org/#concept-media-muted 16107. https://html.spec.whatwg.org/#dom-media-playbackrate 16108. https://html.spec.whatwg.org/#dom-media-preservespitch 16109. https://html.spec.whatwg.org/#media-element 16110. https://html.spec.whatwg.org/#potentially-playing 16111. https://html.spec.whatwg.org/#current-playback-position 16112. https://html.spec.whatwg.org/#effective-media-volume 16113. https://html.spec.whatwg.org/#event-loop 16114. https://html.spec.whatwg.org/#step1 16115. https://html.spec.whatwg.org/#media-element 16116. https://html.spec.whatwg.org/#potentially-playing 16117. https://html.spec.whatwg.org/#media-element 16118. https://html.spec.whatwg.org/#potentially-playing 16119. https://dom.spec.whatwg.org/#in-a-document 16120. https://html.spec.whatwg.org/#event-media-suspend 16121. https://html.spec.whatwg.org/#media-resource 16122. https://html.spec.whatwg.org/#media-resource 16123. https://html.spec.whatwg.org/#media-element 16124. https://html.spec.whatwg.org/#text-track-cue 16125. https://html.spec.whatwg.org/#text-track-list-of-cues 16126. https://html.spec.whatwg.org/#text-track 16127. https://html.spec.whatwg.org/#list-of-text-tracks 16128. https://html.spec.whatwg.org/#media-element 16129. https://html.spec.whatwg.org/#text-track-cue 16130. https://html.spec.whatwg.org/#media-element 16131. https://html.spec.whatwg.org/#list-of-newly-introduced-cues 16132. https://html.spec.whatwg.org/#text-track 16133. https://html.spec.whatwg.org/#list-of-text-tracks 16134. https://html.spec.whatwg.org/#media-element 16135. https://html.spec.whatwg.org/#text-track-cue 16136. https://html.spec.whatwg.org/#text-track 16137. https://html.spec.whatwg.org/#text-track-list-of-cues 16138. https://html.spec.whatwg.org/#media-element 16139. https://html.spec.whatwg.org/#list-of-newly-introduced-cues 16140. https://html.spec.whatwg.org/#media-element 16141. https://html.spec.whatwg.org/#list-of-newly-introduced-cues 16142. https://html.spec.whatwg.org/#media-element 16143. https://html.spec.whatwg.org/#show-poster-flag 16144. https://html.spec.whatwg.org/#time-marches-on 16145. https://html.spec.whatwg.org/#text-track-cue 16146. https://html.spec.whatwg.org/#text-track-list-of-cues 16147. https://html.spec.whatwg.org/#text-track 16148. https://html.spec.whatwg.org/#list-of-text-tracks 16149. https://html.spec.whatwg.org/#media-element 16150. https://html.spec.whatwg.org/#text-track 16151. https://html.spec.whatwg.org/#list-of-text-tracks 16152. https://html.spec.whatwg.org/#media-element 16153. https://html.spec.whatwg.org/#media-element 16154. https://html.spec.whatwg.org/#show-poster-flag 16155. https://html.spec.whatwg.org/#time-marches-on 16156. https://html.spec.whatwg.org/#current-playback-position 16157. https://html.spec.whatwg.org/#media-element 16158. https://html.spec.whatwg.org/#time-marches-on 16159. https://html.spec.whatwg.org/#current-playback-position 16160. https://html.spec.whatwg.org/#text-track-cue 16161. https://html.spec.whatwg.org/#dom-texttrack-activecues 16162. https://html.spec.whatwg.org/#text-track-cue 16163. https://html.spec.whatwg.org/#text-track-cue 16164. https://html.spec.whatwg.org/#text-track-hidden 16165. https://html.spec.whatwg.org/#text-track-showing 16166. https://html.spec.whatwg.org/#text-track 16167. https://html.spec.whatwg.org/#media-element 16168. https://html.spec.whatwg.org/#text-track-disabled 16169. https://html.spec.whatwg.org/#text-track-cue-start-time 16170. https://html.spec.whatwg.org/#current-playback-position 16171. https://html.spec.whatwg.org/#text-track-cue-end-time 16172. https://html.spec.whatwg.org/#current-playback-position 16173. https://html.spec.whatwg.org/#text-track-cue 16174. https://html.spec.whatwg.org/#text-track-cue 16175. https://html.spec.whatwg.org/#text-track-hidden 16176. https://html.spec.whatwg.org/#text-track-showing 16177. https://html.spec.whatwg.org/#text-track 16178. https://html.spec.whatwg.org/#media-element 16179. https://html.spec.whatwg.org/#current-playback-position 16180. https://html.spec.whatwg.org/#media-element 16181. https://html.spec.whatwg.org/#current-playback-position 16182. https://html.spec.whatwg.org/#text-track-cue 16183. https://html.spec.whatwg.org/#text-track-cue-start-time 16184. https://html.spec.whatwg.org/#text-track-cue-end-time 16185. https://html.spec.whatwg.org/#current-playback-position 16186. https://html.spec.whatwg.org/#text-track-cue 16187. https://html.spec.whatwg.org/#media-element 16188. https://html.spec.whatwg.org/#list-of-newly-introduced-cues 16189. https://html.spec.whatwg.org/#list-of-newly-introduced-cues 16190. https://html.spec.whatwg.org/#current-playback-position 16191. https://html.spec.whatwg.org/#event-media-timeupdate 16192. https://html.spec.whatwg.org/#queue-a-media-element-task 16193. https://html.spec.whatwg.org/#media-element 16194. https://dom.spec.whatwg.org/#concept-event-fire 16195. https://html.spec.whatwg.org/#event-media-timeupdate 16196. https://html.spec.whatwg.org/#current-playback-position 16197. https://html.spec.whatwg.org/#text-track-cue 16198. https://html.spec.whatwg.org/#text-track-cue-active-flag 16199. https://html.spec.whatwg.org/#text-track-cue 16200. https://html.spec.whatwg.org/#text-track-cue-active-flag 16201. https://html.spec.whatwg.org/#current-playback-position 16202. https://html.spec.whatwg.org/#text-track-cue 16203. https://html.spec.whatwg.org/#text-track-cue-pause-on-exit-flag 16204. https://html.spec.whatwg.org/#text-track-cue-active-flag 16205. https://html.spec.whatwg.org/#immediately 16206. https://html.spec.whatwg.org/#dom-media-pause 16207. https://html.spec.whatwg.org/#media-element 16208. https://html.spec.whatwg.org/#text-track-cue 16209. https://html.spec.whatwg.org/#text-track-cue 16210. https://html.spec.whatwg.org/#text-track-cue-pause-on-exit-flag 16211. https://html.spec.whatwg.org/#concept-task 16212. https://html.spec.whatwg.org/#concept-task 16213. https://html.spec.whatwg.org/#text-track 16214. https://html.spec.whatwg.org/#text-track-cue 16215. https://html.spec.whatwg.org/#concept-task 16216. https://html.spec.whatwg.org/#text-track 16217. https://html.spec.whatwg.org/#text-track-cue 16218. https://html.spec.whatwg.org/#text-track 16219. https://html.spec.whatwg.org/#text-track-cue 16220. https://html.spec.whatwg.org/#concept-task 16221. https://dom.spec.whatwg.org/#concept-event-fire 16222. https://html.spec.whatwg.org/#concept-task 16223. https://html.spec.whatwg.org/#text-track 16224. https://html.spec.whatwg.org/#text-track-cue 16225. https://html.spec.whatwg.org/#text-track-cue 16226. https://html.spec.whatwg.org/#prepare-an-event 16227. https://html.spec.whatwg.org/#event-media-enter 16228. https://html.spec.whatwg.org/#texttrackcue 16229. https://html.spec.whatwg.org/#text-track-cue-start-time 16230. https://html.spec.whatwg.org/#text-track-cue 16231. https://html.spec.whatwg.org/#text-track-cue-active-flag 16232. https://html.spec.whatwg.org/#prepare-an-event 16233. https://html.spec.whatwg.org/#event-media-exit 16234. https://html.spec.whatwg.org/#texttrackcue 16235. https://html.spec.whatwg.org/#text-track-cue-end-time 16236. https://html.spec.whatwg.org/#text-track-cue-start-time 16237. https://html.spec.whatwg.org/#text-track-cue 16238. https://html.spec.whatwg.org/#text-track-cue-active-flag 16239. https://html.spec.whatwg.org/#prepare-an-event 16240. https://html.spec.whatwg.org/#event-media-enter 16241. https://html.spec.whatwg.org/#texttrackcue 16242. https://html.spec.whatwg.org/#text-track-cue-start-time 16243. https://html.spec.whatwg.org/#concept-task 16244. https://html.spec.whatwg.org/#concept-task 16245. https://html.spec.whatwg.org/#concept-task 16246. https://html.spec.whatwg.org/#text-track-cue-order 16247. https://html.spec.whatwg.org/#text-track-cue 16248. https://html.spec.whatwg.org/#concept-task 16249. https://html.spec.whatwg.org/#concept-task 16250. https://html.spec.whatwg.org/#text-track-cue-order 16251. https://html.spec.whatwg.org/#concept-task 16252. https://html.spec.whatwg.org/#event-media-enter 16253. https://html.spec.whatwg.org/#event-media-exit 16254. https://html.spec.whatwg.org/#queue-a-media-element-task 16255. https://html.spec.whatwg.org/#media-element 16256. https://html.spec.whatwg.org/#concept-task 16257. https://html.spec.whatwg.org/#text-track 16258. https://html.spec.whatwg.org/#media-element 16259. https://html.spec.whatwg.org/#list-of-text-tracks 16260. https://html.spec.whatwg.org/#text-track 16261. https://html.spec.whatwg.org/#queue-a-media-element-task 16262. https://html.spec.whatwg.org/#media-element 16263. https://dom.spec.whatwg.org/#concept-event-fire 16264. https://html.spec.whatwg.org/#event-media-cuechange 16265. https://html.spec.whatwg.org/#texttrack 16266. https://html.spec.whatwg.org/#text-track 16267. https://html.spec.whatwg.org/#the-track-element 16268. https://dom.spec.whatwg.org/#concept-event-fire 16269. https://html.spec.whatwg.org/#event-media-cuechange 16270. https://html.spec.whatwg.org/#the-track-element 16271. https://html.spec.whatwg.org/#text-track-cue-active-flag 16272. https://html.spec.whatwg.org/#text-track-cue 16273. https://html.spec.whatwg.org/#text-track-cue-active-flag 16274. https://html.spec.whatwg.org/#text-track-cue 16275. https://html.spec.whatwg.org/#rules-for-updating-the-text-track-rendering 16276. https://html.spec.whatwg.org/#text-track 16277. https://html.spec.whatwg.org/#text-track-showing 16278. https://html.spec.whatwg.org/#text-track 16279. https://html.spec.whatwg.org/#text-track-language 16280. https://html.spec.whatwg.org/#text-track 16281. https://w3c.github.io/webvtt/#rules-for-updating-the-display-of-webvtt-text-tracks 16282. https://html.spec.whatwg.org/#refsWEBVTT 16283. https://html.spec.whatwg.org/#text-track-cue 16284. https://html.spec.whatwg.org/#text-track 16285. https://html.spec.whatwg.org/#text-track-list-of-cues 16286. https://html.spec.whatwg.org/#text-track 16287. https://html.spec.whatwg.org/#media-element 16288. https://dom.spec.whatwg.org/#concept-node-document 16289. https://html.spec.whatwg.org/#fully-active 16290. https://html.spec.whatwg.org/#media-playback 16291. https://html.spec.whatwg.org/#media-element 16292. https://html.spec.whatwg.org/#remove-an-element-from-a-document 16293. https://html.spec.whatwg.org/#await-a-stable-state 16294. https://html.spec.whatwg.org/#concept-task 16295. https://html.spec.whatwg.org/#media-element 16296. https://html.spec.whatwg.org/#document 16297. https://html.spec.whatwg.org/#synchronous-section 16298. https://html.spec.whatwg.org/#synchronous-section 16299. https://html.spec.whatwg.org/#media-element 16300. https://dom.spec.whatwg.org/#in-a-document 16301. https://html.spec.whatwg.org/#internal-pause-steps 16302. https://html.spec.whatwg.org/#media-element 16303. https://html.spec.whatwg.org/#dom-media-seeking 16304. https://html.spec.whatwg.org/#dom-media-seekable 16305. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/seekable 16306. https://html.spec.whatwg.org/#timeranges 16307. https://html.spec.whatwg.org/#media-resource 16308. https://html.spec.whatwg.org/#dom-media-fastseek 16309. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/fastSeek 16310. https://html.spec.whatwg.org/#dom-media-currenttime 16311. https://html.spec.whatwg.org/#dom-media-seek 16312. https://html.spec.whatwg.org/#media-resource 16313. https://html.spec.whatwg.org/#event-loop 16314. https://html.spec.whatwg.org/#synchronous-section 16315. https://html.spec.whatwg.org/#event-loop 16316. https://html.spec.whatwg.org/#media-element 16317. https://html.spec.whatwg.org/#show-poster-flag 16318. https://html.spec.whatwg.org/#media-element 16319. https://html.spec.whatwg.org/#dom-media-readystate 16320. https://html.spec.whatwg.org/#dom-media-have_nothing 16321. https://html.spec.whatwg.org/#dom-media-seeking 16322. https://html.spec.whatwg.org/#dom-media-seeking 16323. https://html.spec.whatwg.org/#in-parallel 16324. https://html.spec.whatwg.org/#media-resource 16325. https://html.spec.whatwg.org/#media-resource 16326. https://html.spec.whatwg.org/#earliest-possible-position 16327. https://html.spec.whatwg.org/#dom-media-seekable 16328. https://html.spec.whatwg.org/#dom-media-seekable 16329. https://html.spec.whatwg.org/#dom-media-seekable 16330. https://html.spec.whatwg.org/#current-playback-position 16331. https://html.spec.whatwg.org/#dom-media-seekable 16332. https://html.spec.whatwg.org/#dom-media-seeking 16333. https://html.spec.whatwg.org/#current-playback-position 16334. https://html.spec.whatwg.org/#current-playback-position 16335. https://html.spec.whatwg.org/#current-playback-position 16336. https://html.spec.whatwg.org/#current-playback-position 16337. https://html.spec.whatwg.org/#queue-a-media-element-task 16338. https://html.spec.whatwg.org/#media-element 16339. https://dom.spec.whatwg.org/#concept-event-fire 16340. https://html.spec.whatwg.org/#event-media-seeking 16341. https://html.spec.whatwg.org/#current-playback-position 16342. https://html.spec.whatwg.org/#media-element 16343. https://html.spec.whatwg.org/#potentially-playing 16344. https://html.spec.whatwg.org/#dom-media-readystate 16345. https://html.spec.whatwg.org/#dom-media-have_future_data 16346. https://html.spec.whatwg.org/#event-media-waiting 16347. https://html.spec.whatwg.org/#fire-waiting-when-waiting 16348. https://html.spec.whatwg.org/#current-playback-position 16349. https://html.spec.whatwg.org/#reaches-the-end 16350. https://html.spec.whatwg.org/#dom-media-currenttime 16351. https://html.spec.whatwg.org/#official-playback-position 16352. https://html.spec.whatwg.org/#current-playback-position 16353. https://html.spec.whatwg.org/#media-data 16354. https://html.spec.whatwg.org/#await-a-stable-state 16355. https://html.spec.whatwg.org/#synchronous-section 16356. https://html.spec.whatwg.org/#synchronous-section 16357. https://html.spec.whatwg.org/#dom-media-seeking 16358. https://html.spec.whatwg.org/#time-marches-on 16359. https://html.spec.whatwg.org/#queue-a-media-element-task 16360. https://html.spec.whatwg.org/#media-element 16361. https://dom.spec.whatwg.org/#concept-event-fire 16362. https://html.spec.whatwg.org/#event-media-timeupdate 16363. https://html.spec.whatwg.org/#queue-a-media-element-task 16364. https://html.spec.whatwg.org/#media-element 16365. https://dom.spec.whatwg.org/#concept-event-fire 16366. https://html.spec.whatwg.org/#event-media-seeked 16367. https://html.spec.whatwg.org/#normalised-timeranges-object 16368. https://html.spec.whatwg.org/#media-resource 16369. https://html.spec.whatwg.org/#media-resource 16370. https://html.spec.whatwg.org/#earliest-possible-position 16371. https://html.spec.whatwg.org/#dom-media-duration 16372. https://html.spec.whatwg.org/#media-resource 16373. https://html.spec.whatwg.org/#media-element 16374. https://html.spec.whatwg.org/#dom-media-seek 16375. https://html.spec.whatwg.org/#current-playback-position 16376. https://html.spec.whatwg.org/#media-resource 16377. https://html.spec.whatwg.org/#media-resource 16378. https://html.spec.whatwg.org/#dom-media-audiotracks 16379. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/audioTracks 16380. https://html.spec.whatwg.org/#audiotracklist 16381. https://html.spec.whatwg.org/#media-resource 16382. https://html.spec.whatwg.org/#dom-media-videotracks 16383. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/videoTracks 16384. https://html.spec.whatwg.org/#videotracklist 16385. https://html.spec.whatwg.org/#media-resource 16386. https://html.spec.whatwg.org/#media-element 16387. https://html.spec.whatwg.org/#live 16388. https://html.spec.whatwg.org/#audiotracklist 16389. https://html.spec.whatwg.org/#media-element 16390. https://html.spec.whatwg.org/#media-resource 16391. https://html.spec.whatwg.org/#media-element 16392. https://html.spec.whatwg.org/#live 16393. https://html.spec.whatwg.org/#videotracklist 16394. https://html.spec.whatwg.org/#media-element 16395. https://html.spec.whatwg.org/#media-resource 16396. https://html.spec.whatwg.org/#audiotracklist 16397. https://html.spec.whatwg.org/#videotracklist 16398. https://html.spec.whatwg.org/#media-element 16399. https://html.spec.whatwg.org/#media-resource 16400. https://html.spec.whatwg.org/#audiotrack 16401. https://html.spec.whatwg.org/#videotrack 16402. https://html.spec.whatwg.org/#audiotracklist 16403. https://html.spec.whatwg.org/#videotracklist 16404. https://developer.mozilla.org/en-US/docs/Web/API/AudioTrackList 16405. https://developer.mozilla.org/en-US/docs/Web/API/VideoTrackList 16406. https://developer.mozilla.org/en-US/docs/Web/API/AudioTrackList 16407. https://caniuse.com/#feat=audiotracks 16408. https://html.spec.whatwg.org/#audiotracklist 16409. https://html.spec.whatwg.org/#videotracklist 16410. https://developer.mozilla.org/en-US/docs/Web/API/AudioTrack 16411. https://developer.mozilla.org/en-US/docs/Web/API/VideoTrack 16412. https://dom.spec.whatwg.org/#interface-eventtarget 16413. https://html.spec.whatwg.org/#dom-audiotracklist-length 16414. https://html.spec.whatwg.org/#dom-tracklist-item 16415. https://html.spec.whatwg.org/#audiotrack 16416. https://html.spec.whatwg.org/#audiotrack 16417. https://html.spec.whatwg.org/#dom-audiotracklist-gettrackbyid 16418. https://html.spec.whatwg.org/#eventhandler 16419. https://html.spec.whatwg.org/#handler-tracklist-onchange 16420. https://html.spec.whatwg.org/#eventhandler 16421. https://html.spec.whatwg.org/#handler-tracklist-onaddtrack 16422. https://html.spec.whatwg.org/#eventhandler 16423. https://html.spec.whatwg.org/#handler-tracklist-onremovetrack 16424. https://html.spec.whatwg.org/#dom-audiotrack-id 16425. https://html.spec.whatwg.org/#dom-audiotrack-kind 16426. https://html.spec.whatwg.org/#dom-audiotrack-label 16427. https://html.spec.whatwg.org/#dom-audiotrack-language 16428. https://html.spec.whatwg.org/#dom-audiotrack-enabled 16429. https://dom.spec.whatwg.org/#interface-eventtarget 16430. https://html.spec.whatwg.org/#dom-videotracklist-length 16431. https://html.spec.whatwg.org/#dom-tracklist-item 16432. https://html.spec.whatwg.org/#videotrack 16433. https://html.spec.whatwg.org/#videotrack 16434. https://html.spec.whatwg.org/#dom-videotracklist-gettrackbyid 16435. https://html.spec.whatwg.org/#dom-videotracklist-selectedindex 16436. https://html.spec.whatwg.org/#eventhandler 16437. https://html.spec.whatwg.org/#handler-tracklist-onchange 16438. https://html.spec.whatwg.org/#eventhandler 16439. https://html.spec.whatwg.org/#handler-tracklist-onaddtrack 16440. https://html.spec.whatwg.org/#eventhandler 16441. https://html.spec.whatwg.org/#handler-tracklist-onremovetrack 16442. https://html.spec.whatwg.org/#dom-videotrack-id 16443. https://html.spec.whatwg.org/#dom-videotrack-kind 16444. https://html.spec.whatwg.org/#dom-videotrack-label 16445. https://html.spec.whatwg.org/#dom-videotrack-language 16446. https://html.spec.whatwg.org/#dom-videotrack-selected 16447. https://html.spec.whatwg.org/#dom-media-audiotracks 16448. https://html.spec.whatwg.org/#dom-audiotracklist-length 16449. https://developer.mozilla.org/en-US/docs/Web/API/AudioTrackList/length 16450. https://html.spec.whatwg.org/#dom-media-videotracks 16451. https://html.spec.whatwg.org/#dom-videotracklist-length 16452. https://developer.mozilla.org/en-US/docs/Web/API/VideoTrackList/length 16453. https://html.spec.whatwg.org/#dom-media-audiotracks 16454. https://html.spec.whatwg.org/#dom-media-videotracks 16455. https://html.spec.whatwg.org/#audiotrack 16456. https://html.spec.whatwg.org/#videotrack 16457. https://html.spec.whatwg.org/#dom-media-audiotracks 16458. https://html.spec.whatwg.org/#dom-audiotracklist-gettrackbyid 16459. https://developer.mozilla.org/en-US/docs/Web/API/AudioTrackList/getTrackById 16460. https://html.spec.whatwg.org/#dom-media-videotracks 16461. https://html.spec.whatwg.org/#dom-videotracklist-gettrackbyid 16462. https://developer.mozilla.org/en-US/docs/Web/API/VideoTrackList/getTrackById 16463. https://html.spec.whatwg.org/#audiotrack 16464. https://html.spec.whatwg.org/#videotrack 16465. https://html.spec.whatwg.org/#dom-audiotrack-id 16466. https://developer.mozilla.org/en-US/docs/Web/API/AudioTrack/id 16467. https://html.spec.whatwg.org/#dom-videotrack-id 16468. https://developer.mozilla.org/en-US/docs/Web/API/VideoTrack/id 16469. https://url.spec.whatwg.org/#concept-url-fragment 16470. https://www.w3.org/TR/media-frags/#media-fragment-syntax 16471. https://html.spec.whatwg.org/#dom-audiotrack-kind 16472. https://developer.mozilla.org/en-US/docs/Web/API/AudioTrack/kind 16473. https://html.spec.whatwg.org/#dom-videotrack-kind 16474. https://developer.mozilla.org/en-US/docs/Web/API/VideoTrack/kind 16475. https://html.spec.whatwg.org/#dom-TrackList-getKind-categories 16476. https://html.spec.whatwg.org/#dom-audiotrack-label 16477. https://developer.mozilla.org/en-US/docs/Web/API/AudioTrack/label 16478. https://html.spec.whatwg.org/#dom-videotrack-label 16479. https://developer.mozilla.org/en-US/docs/Web/API/VideoTrack/label 16480. https://html.spec.whatwg.org/#dom-audiotrack-language 16481. https://developer.mozilla.org/en-US/docs/Web/API/AudioTrack/language 16482. https://html.spec.whatwg.org/#dom-videotrack-language 16483. https://developer.mozilla.org/en-US/docs/Web/API/VideoTrack/language 16484. https://html.spec.whatwg.org/#dom-audiotrack-enabled 16485. https://developer.mozilla.org/en-US/docs/Web/API/AudioTrack/enabled 16486. https://html.spec.whatwg.org/#dom-media-videotracks 16487. https://html.spec.whatwg.org/#dom-videotracklist-selectedindex 16488. https://developer.mozilla.org/en-US/docs/Web/API/VideoTrackList/selectedIndex 16489. https://html.spec.whatwg.org/#dom-videotrack-selected 16490. https://developer.mozilla.org/en-US/docs/Web/API/VideoTrack/selected 16491. https://html.spec.whatwg.org/#audiotracklist 16492. https://html.spec.whatwg.org/#audiotrack 16493. https://html.spec.whatwg.org/#videotracklist 16494. https://html.spec.whatwg.org/#videotrack 16495. https://html.spec.whatwg.org/#audiotracklist 16496. https://html.spec.whatwg.org/#videotracklist 16497. https://html.spec.whatwg.org/#media-resource 16498. https://html.spec.whatwg.org/#media-resource 16499. https://html.spec.whatwg.org/#media-resource 16500. https://html.spec.whatwg.org/#media-resource 16501. https://html.spec.whatwg.org/#audiotracklist 16502. https://html.spec.whatwg.org/#videotracklist 16503. https://webidl.spec.whatwg.org/#dfn-supported-property-indices 16504. https://html.spec.whatwg.org/#audiotracklist 16505. https://html.spec.whatwg.org/#videotracklist 16506. https://html.spec.whatwg.org/#audiotracklist 16507. https://html.spec.whatwg.org/#videotracklist 16508. https://webidl.spec.whatwg.org/#dfn-supported-property-indices 16509. https://webidl.spec.whatwg.org/#dfn-determine-the-value-of-an-indexed-property 16510. https://html.spec.whatwg.org/#audiotracklist 16511. https://html.spec.whatwg.org/#videotracklist 16512. https://html.spec.whatwg.org/#audiotrack 16513. https://html.spec.whatwg.org/#videotrack 16514. https://html.spec.whatwg.org/#audiotracklist 16515. https://html.spec.whatwg.org/#videotracklist 16516. https://html.spec.whatwg.org/#audiotrack 16517. https://html.spec.whatwg.org/#videotrack 16518. https://html.spec.whatwg.org/#audiotracklist 16519. https://html.spec.whatwg.org/#videotracklist 16520. https://html.spec.whatwg.org/#audiotrack 16521. https://html.spec.whatwg.org/#videotrack 16522. https://html.spec.whatwg.org/#media-resource 16523. https://html.spec.whatwg.org/#media-resource 16524. https://html.spec.whatwg.org/#audiotracklist 16525. https://html.spec.whatwg.org/#videotracklist 16526. https://html.spec.whatwg.org/#audiotrack 16527. https://html.spec.whatwg.org/#audiotrack 16528. https://html.spec.whatwg.org/#concept-media-load-resource 16529. https://html.spec.whatwg.org/#videotrack 16530. https://html.spec.whatwg.org/#videotracklist 16531. https://html.spec.whatwg.org/#videotrack 16532. https://html.spec.whatwg.org/#concept-media-load-resource 16533. https://html.spec.whatwg.org/#audiotrack 16534. https://html.spec.whatwg.org/#videotrack 16535. https://html.spec.whatwg.org/#media-resource 16536. https://www.w3.org/TR/media-frags/#media-fragment-syntax 16537. https://url.spec.whatwg.org/#concept-url-fragment 16538. https://html.spec.whatwg.org/#refsINBAND 16539. https://html.spec.whatwg.org/#refsOGGSKELETONHEADERS 16540. https://html.spec.whatwg.org/#audiotrack 16541. https://html.spec.whatwg.org/#videotrack 16542. https://html.spec.whatwg.org/#media-resource 16543. https://html.spec.whatwg.org/#audiotrack 16544. https://html.spec.whatwg.org/#videotrack 16545. https://html.spec.whatwg.org/#refsOGGSKELETONHEADERS 16546. https://html.spec.whatwg.org/#refsDASH 16547. https://html.spec.whatwg.org/#refsWEBMCG 16548. https://html.spec.whatwg.org/#refsINBAND 16549. https://html.spec.whatwg.org/#audiotrack 16550. https://html.spec.whatwg.org/#dom-audiotrack-kind 16551. https://html.spec.whatwg.org/#videotrack 16552. https://html.spec.whatwg.org/#dom-videotrack-kind 16553. https://html.spec.whatwg.org/#audiotrack 16554. https://html.spec.whatwg.org/#videotrack 16555. https://html.spec.whatwg.org/#refsINBAND 16556. https://html.spec.whatwg.org/#audiotrack 16557. https://html.spec.whatwg.org/#videotrack 16558. https://html.spec.whatwg.org/#media-resource 16559. https://html.spec.whatwg.org/#refsINBAND 16560. https://html.spec.whatwg.org/#audiotrack 16561. https://html.spec.whatwg.org/#audiotracklist 16562. https://html.spec.whatwg.org/#audiotrack 16563. https://html.spec.whatwg.org/#audiotracklist 16564. https://html.spec.whatwg.org/#queue-a-media-element-task 16565. https://html.spec.whatwg.org/#media-element 16566. https://dom.spec.whatwg.org/#concept-event-fire 16567. https://html.spec.whatwg.org/#event-media-change 16568. https://html.spec.whatwg.org/#audiotracklist 16569. https://html.spec.whatwg.org/#media-timeline 16570. https://html.spec.whatwg.org/#videotracklist 16571. https://html.spec.whatwg.org/#videotracklist 16572. https://html.spec.whatwg.org/#videotrack 16573. https://html.spec.whatwg.org/#videotracklist 16574. https://html.spec.whatwg.org/#videotrack 16575. https://html.spec.whatwg.org/#videotracklist 16576. https://html.spec.whatwg.org/#videotrack 16577. https://html.spec.whatwg.org/#videotracklist 16578. https://html.spec.whatwg.org/#videotracklist 16579. https://html.spec.whatwg.org/#queue-a-media-element-task 16580. https://html.spec.whatwg.org/#media-element 16581. https://dom.spec.whatwg.org/#concept-event-fire 16582. https://html.spec.whatwg.org/#event-media-change 16583. https://html.spec.whatwg.org/#videotracklist 16584. https://html.spec.whatwg.org/#concept-task 16585. https://html.spec.whatwg.org/#queue-an-element-task 16586. https://html.spec.whatwg.org/#concept-task 16587. https://html.spec.whatwg.org/#event-media-resize 16588. https://html.spec.whatwg.org/#media-timeline 16589. https://drafts.csswg.org/css-color/#transparent-black 16590. https://html.spec.whatwg.org/#media-resource 16591. https://html.spec.whatwg.org/#event-handlers 16592. https://html.spec.whatwg.org/#event-handler-event-type 16593. https://html.spec.whatwg.org/#event-handler-idl-attributes 16594. https://html.spec.whatwg.org/#audiotracklist 16595. https://html.spec.whatwg.org/#videotracklist 16596. https://html.spec.whatwg.org/#event-handlers 16597. https://html.spec.whatwg.org/#event-handler-event-type 16598. https://developer.mozilla.org/en-US/docs/Web/API/AudioTrackList/change_event 16599. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackList/change_event 16600. https://developer.mozilla.org/en-US/docs/Web/API/VideoTrackList/change_event 16601. https://html.spec.whatwg.org/#event-media-change 16602. https://developer.mozilla.org/en-US/docs/Web/API/AudioTrackList/addtrack_event 16603. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackList/addtrack_event 16604. https://developer.mozilla.org/en-US/docs/Web/API/VideoTrackList/addtrack_event 16605. https://html.spec.whatwg.org/#event-media-addtrack 16606. https://developer.mozilla.org/en-US/docs/Web/API/AudioTrackList/removetrack_event 16607. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackList/removetrack_event 16608. https://developer.mozilla.org/en-US/docs/Web/API/VideoTrackList/removetrack_event 16609. https://html.spec.whatwg.org/#event-media-removetrack 16610. https://html.spec.whatwg.org/#dom-media-audiotracks 16611. https://html.spec.whatwg.org/#dom-media-videotracks 16612. https://url.spec.whatwg.org/#concept-url-fragment 16613. https://url.spec.whatwg.org/#concept-url 16614. https://html.spec.whatwg.org/#media-resource 16615. https://url.spec.whatwg.org/#concept-url-fragment 16616. https://mimesniff.spec.whatwg.org/#mime-type 16617. https://html.spec.whatwg.org/#media-resource 16618. https://html.spec.whatwg.org/#refsRFC2046 16619. https://html.spec.whatwg.org/#refsURL 16620. https://www.w3.org/TR/media-frags/#media-fragment-syntax 16621. https://html.spec.whatwg.org/#media-element 16622. https://html.spec.whatwg.org/#media-element 16623. https://html.spec.whatwg.org/#text-track 16624. https://html.spec.whatwg.org/#text-track 16625. https://html.spec.whatwg.org/#the-track-element 16626. https://html.spec.whatwg.org/#media-element 16627. https://dom.spec.whatwg.org/#concept-tree-order 16628. https://html.spec.whatwg.org/#text-track 16629. https://html.spec.whatwg.org/#dom-media-addtexttrack 16630. https://html.spec.whatwg.org/#media-resource-specific-text-track 16631. https://html.spec.whatwg.org/#text-track 16632. https://html.spec.whatwg.org/#media-resource 16633. https://html.spec.whatwg.org/#media-resource 16634. https://html.spec.whatwg.org/#text-track 16635. https://html.spec.whatwg.org/#text-track-kind 16636. https://html.spec.whatwg.org/#text-track 16637. https://html.spec.whatwg.org/#the-track-element 16638. https://html.spec.whatwg.org/#text-track-label 16639. https://html.spec.whatwg.org/#text-track 16640. https://html.spec.whatwg.org/#the-track-element 16641. https://html.spec.whatwg.org/#text-track-label 16642. https://html.spec.whatwg.org/#media-resource 16643. https://html.spec.whatwg.org/#text-track-in-band-metadata-track-dispatch-type 16644. https://html.spec.whatwg.org/#steps-to-expose-a-media-resource-specific-text-track 16645. https://html.spec.whatwg.org/#refsBCP47 16646. https://html.spec.whatwg.org/#text-track-language 16647. https://html.spec.whatwg.org/#text-track 16648. https://html.spec.whatwg.org/#the-track-element 16649. https://url.spec.whatwg.org/#concept-url 16650. https://html.spec.whatwg.org/#encoding-parsing-a-url 16651. https://html.spec.whatwg.org/#text-track-readiness-state 16652. https://html.spec.whatwg.org/#text-track 16653. https://html.spec.whatwg.org/#text-track-kind 16654. https://html.spec.whatwg.org/#dom-texttrack-kind-subtitles 16655. https://html.spec.whatwg.org/#dom-texttrack-kind-captions 16656. https://html.spec.whatwg.org/#text-track-kind 16657. https://html.spec.whatwg.org/#dom-texttrack-kind-descriptions 16658. https://html.spec.whatwg.org/#text-track-kind 16659. https://html.spec.whatwg.org/#dom-texttrack-kind-chapters 16660. https://html.spec.whatwg.org/#media-resource 16661. https://html.spec.whatwg.org/#text-track-cue 16662. https://w3c.github.io/webvtt/#rules-for-updating-the-display-of-webvtt-text-tracks 16663. https://html.spec.whatwg.org/#refsWEBVTT 16664. https://html.spec.whatwg.org/#text-track-list-of-cues 16665. https://html.spec.whatwg.org/#text-track 16666. https://html.spec.whatwg.org/#text-track-not-loaded 16667. https://html.spec.whatwg.org/#text-track-loading 16668. https://html.spec.whatwg.org/#text-track 16669. https://html.spec.whatwg.org/#texttrack 16670. https://html.spec.whatwg.org/#media-element 16671. https://html.spec.whatwg.org/#media-element 16672. https://html.spec.whatwg.org/#list-of-pending-text-tracks 16673. https://html.spec.whatwg.org/#text-track 16674. https://html.spec.whatwg.org/#list-of-text-tracks 16675. https://html.spec.whatwg.org/#text-track-mode 16676. https://html.spec.whatwg.org/#text-track-disabled 16677. https://html.spec.whatwg.org/#text-track-readiness-state 16678. https://html.spec.whatwg.org/#text-track-loading 16679. https://html.spec.whatwg.org/#the-track-element 16680. https://html.spec.whatwg.org/#text-track 16681. https://html.spec.whatwg.org/#list-of-pending-text-tracks 16682. https://html.spec.whatwg.org/#text-track 16683. https://html.spec.whatwg.org/#text-track-readiness-state 16684. https://html.spec.whatwg.org/#text-track-loaded 16685. https://html.spec.whatwg.org/#text-track-failed-to-load 16686. https://html.spec.whatwg.org/#list-of-pending-text-tracks 16687. https://html.spec.whatwg.org/#media-element 16688. https://html.spec.whatwg.org/#html-parser 16689. https://html.spec.whatwg.org/#xml-parser 16690. https://html.spec.whatwg.org/#blocked-on-parser 16691. https://html.spec.whatwg.org/#media-element 16692. https://html.spec.whatwg.org/#stack-of-open-elements 16693. https://html.spec.whatwg.org/#html-parser 16694. https://html.spec.whatwg.org/#xml-parser 16695. https://html.spec.whatwg.org/#honor-user-preferences-for-automatic-text-track-selection 16696. https://html.spec.whatwg.org/#populate-the-list-of-pending-text-tracks 16697. https://html.spec.whatwg.org/#blocked-on-parser 16698. https://html.spec.whatwg.org/#text-track 16699. https://html.spec.whatwg.org/#media-element 16700. https://html.spec.whatwg.org/#list-of-pending-text-tracks 16701. https://html.spec.whatwg.org/#blocked-on-parser 16702. https://html.spec.whatwg.org/#media-element 16703. https://html.spec.whatwg.org/#text-track 16704. https://html.spec.whatwg.org/#media-element 16705. https://html.spec.whatwg.org/#list-of-text-tracks 16706. https://html.spec.whatwg.org/#text-track-mode 16707. https://html.spec.whatwg.org/#media-element 16708. https://html.spec.whatwg.org/#media-element 16709. https://html.spec.whatwg.org/#pending-text-track-change-notification-flag 16710. https://html.spec.whatwg.org/#media-element 16711. https://html.spec.whatwg.org/#pending-text-track-change-notification-flag 16712. https://html.spec.whatwg.org/#queue-a-media-element-task 16713. https://html.spec.whatwg.org/#media-element 16714. https://html.spec.whatwg.org/#media-element 16715. https://html.spec.whatwg.org/#pending-text-track-change-notification-flag 16716. https://dom.spec.whatwg.org/#concept-event-fire 16717. https://html.spec.whatwg.org/#event-media-change 16718. https://html.spec.whatwg.org/#media-element 16719. https://html.spec.whatwg.org/#dom-media-texttracks 16720. https://html.spec.whatwg.org/#texttracklist 16721. https://html.spec.whatwg.org/#media-element 16722. https://html.spec.whatwg.org/#show-poster-flag 16723. https://html.spec.whatwg.org/#time-marches-on 16724. https://html.spec.whatwg.org/#task-source 16725. https://html.spec.whatwg.org/#concept-task 16726. https://html.spec.whatwg.org/#dom-manipulation-task-source 16727. https://html.spec.whatwg.org/#text-track 16728. https://html.spec.whatwg.org/#text-track-cue 16729. https://html.spec.whatwg.org/#media-data 16730. https://html.spec.whatwg.org/#media-data 16731. https://html.spec.whatwg.org/#unbounded-text-track-cue 16732. https://html.spec.whatwg.org/#media-resource 16733. https://w3c.github.io/webvtt/#webvtt-cue-writing-direction 16734. https://html.spec.whatwg.org/#refsWEBVTT 16735. https://html.spec.whatwg.org/#text-track-cue-end-time 16736. https://html.spec.whatwg.org/#unbounded-text-track-cue 16737. https://html.spec.whatwg.org/#current-playback-position 16738. https://html.spec.whatwg.org/#text-track-cue-start-time 16739. https://html.spec.whatwg.org/#text-track-cue-end-time 16740. https://html.spec.whatwg.org/#current-playback-position 16741. https://html.spec.whatwg.org/#text-track-cue 16742. https://html.spec.whatwg.org/#texttrackcue 16743. https://html.spec.whatwg.org/#texttrackcue 16744. https://w3c.github.io/webvtt/#vttcue 16745. https://html.spec.whatwg.org/#text-track-cue 16746. https://html.spec.whatwg.org/#texttrackcue 16747. https://html.spec.whatwg.org/#refsWEBVTT 16748. https://html.spec.whatwg.org/#text-track-cue 16749. https://html.spec.whatwg.org/#rules-for-updating-the-text-track-rendering 16750. https://html.spec.whatwg.org/#text-track-cue 16751. https://html.spec.whatwg.org/#texttrack 16752. https://html.spec.whatwg.org/#dom-texttrack-addcue 16753. https://html.spec.whatwg.org/#text-track-cue 16754. https://html.spec.whatwg.org/#text-track-cue 16755. https://html.spec.whatwg.org/#text-track 16756. https://html.spec.whatwg.org/#text-track-list-of-cues 16757. https://html.spec.whatwg.org/#text-track 16758. https://html.spec.whatwg.org/#media-element 16759. https://html.spec.whatwg.org/#list-of-text-tracks 16760. https://html.spec.whatwg.org/#text-track-mode 16761. https://html.spec.whatwg.org/#text-track-disabled 16762. https://html.spec.whatwg.org/#media-element 16763. https://html.spec.whatwg.org/#dom-media-readystate 16764. https://html.spec.whatwg.org/#dom-media-have_nothing 16765. https://html.spec.whatwg.org/#text-track 16766. https://html.spec.whatwg.org/#text-track-showing 16767. https://html.spec.whatwg.org/#rules-for-updating-the-text-track-rendering 16768. https://html.spec.whatwg.org/#text-track 16769. https://html.spec.whatwg.org/#text-track 16770. https://w3c.github.io/webvtt/#rules-for-updating-the-display-of-webvtt-text-tracks 16771. https://html.spec.whatwg.org/#refsWEBVTT 16772. https://html.spec.whatwg.org/#text-track-cue-active-flag 16773. https://html.spec.whatwg.org/#text-track-cue-display-state 16774. https://html.spec.whatwg.org/#text-track-cue 16775. https://html.spec.whatwg.org/#media-element 16776. https://html.spec.whatwg.org/#text-track 16777. https://html.spec.whatwg.org/#text-track-cue 16778. https://html.spec.whatwg.org/#text-track 16779. https://html.spec.whatwg.org/#text-track 16780. https://html.spec.whatwg.org/#media-element 16781. https://html.spec.whatwg.org/#list-of-text-tracks 16782. https://html.spec.whatwg.org/#text-track-cue 16783. https://html.spec.whatwg.org/#text-track-cue-start-time 16784. https://html.spec.whatwg.org/#text-track-cue 16785. https://html.spec.whatwg.org/#text-track-cue-start-time 16786. https://html.spec.whatwg.org/#text-track-cue-end-time 16787. https://html.spec.whatwg.org/#text-track-cue 16788. https://html.spec.whatwg.org/#text-track-cue-end-time 16789. https://html.spec.whatwg.org/#text-track-list-of-cues 16790. https://html.spec.whatwg.org/#refsWEBVTT 16791. https://html.spec.whatwg.org/#text-track 16792. https://html.spec.whatwg.org/#media-resource 16793. https://html.spec.whatwg.org/#media-resource 16794. https://html.spec.whatwg.org/#refsINBAND 16795. https://html.spec.whatwg.org/#media-resource 16796. https://html.spec.whatwg.org/#text-track 16797. https://html.spec.whatwg.org/#found-a-media-resource-specific-timed-track 16798. https://html.spec.whatwg.org/#text-track 16799. https://html.spec.whatwg.org/#texttrack 16800. https://html.spec.whatwg.org/#text-track 16801. https://html.spec.whatwg.org/#media-resource-specific-text-track 16802. https://html.spec.whatwg.org/#text-track 16803. https://html.spec.whatwg.org/#text-track-kind 16804. https://html.spec.whatwg.org/#text-track-label 16805. https://html.spec.whatwg.org/#text-track-language 16806. https://html.spec.whatwg.org/#text-track-label 16807. https://html.spec.whatwg.org/#text-track-list-of-cues 16808. https://html.spec.whatwg.org/#rules-for-updating-the-text-track-rendering 16809. https://html.spec.whatwg.org/#text-track 16810. https://html.spec.whatwg.org/#text-track-kind 16811. https://html.spec.whatwg.org/#dom-texttrack-kind-chapters 16812. https://html.spec.whatwg.org/#dom-texttrack-kind-metadata 16813. https://html.spec.whatwg.org/#text-track-in-band-metadata-track-dispatch-type 16814. https://html.spec.whatwg.org/#media-resource 16815. https://html.spec.whatwg.org/#media-resource 16816. https://html.spec.whatwg.org/#text-track-in-band-metadata-track-dispatch-type 16817. https://html.spec.whatwg.org/#refsOGGSKELETONHEADERS 16818. https://html.spec.whatwg.org/#media-resource 16819. https://html.spec.whatwg.org/#text-track-in-band-metadata-track-dispatch-type 16820. https://html.spec.whatwg.org/#refsWEBMCG 16821. https://html.spec.whatwg.org/#media-resource 16822. https://html.spec.whatwg.org/#text-track-in-band-metadata-track-dispatch-type 16823. https://infra.spec.whatwg.org/#ascii-upper-hex-digit 16824. https://html.spec.whatwg.org/#refsMPEG2 16825. https://html.spec.whatwg.org/#media-resource 16826. https://html.spec.whatwg.org/#text-track 16827. https://html.spec.whatwg.org/#text-track-in-band-metadata-track-dispatch-type 16828. https://html.spec.whatwg.org/#text-track-in-band-metadata-track-dispatch-type 16829. https://html.spec.whatwg.org/#text-track-in-band-metadata-track-dispatch-type 16830. https://html.spec.whatwg.org/#refsMPEG4 16831. https://html.spec.whatwg.org/#text-track 16832. https://html.spec.whatwg.org/#text-track-list-of-cues 16833. https://html.spec.whatwg.org/#guidelines-for-exposing-cues-in-various-formats-as-text-track-cues 16834. https://html.spec.whatwg.org/#text-track 16835. https://html.spec.whatwg.org/#text-track-readiness-state 16836. https://html.spec.whatwg.org/#text-track-loaded 16837. https://html.spec.whatwg.org/#text-track 16838. https://html.spec.whatwg.org/#text-track-mode 16839. https://html.spec.whatwg.org/#text-track 16840. https://html.spec.whatwg.org/#media-element 16841. https://html.spec.whatwg.org/#list-of-text-tracks 16842. https://dom.spec.whatwg.org/#concept-event-fire 16843. https://html.spec.whatwg.org/#event-media-addtrack 16844. https://html.spec.whatwg.org/#media-element 16845. https://html.spec.whatwg.org/#dom-media-texttracks 16846. https://html.spec.whatwg.org/#texttracklist 16847. https://html.spec.whatwg.org/#trackevent 16848. https://html.spec.whatwg.org/#dom-trackevent-track 16849. https://html.spec.whatwg.org/#text-track 16850. https://html.spec.whatwg.org/#texttrack 16851. https://html.spec.whatwg.org/#the-track-element 16852. https://html.spec.whatwg.org/#text-track 16853. https://html.spec.whatwg.org/#texttrack 16854. https://html.spec.whatwg.org/#text-track-kind 16855. https://html.spec.whatwg.org/#attr-track-kind 16856. https://html.spec.whatwg.org/#text-track-kind 16857. https://html.spec.whatwg.org/#attr-track-kind-subtitles 16858. https://html.spec.whatwg.org/#dom-texttrack-kind-subtitles 16859. https://html.spec.whatwg.org/#attr-track-kind-captions 16860. https://html.spec.whatwg.org/#dom-texttrack-kind-captions 16861. https://html.spec.whatwg.org/#attr-track-kind-descriptions 16862. https://html.spec.whatwg.org/#dom-texttrack-kind-descriptions 16863. https://html.spec.whatwg.org/#attr-track-kind-chapters 16864. https://html.spec.whatwg.org/#dom-texttrack-kind-chapters 16865. https://html.spec.whatwg.org/#attr-track-kind-metadata 16866. https://html.spec.whatwg.org/#dom-texttrack-kind-metadata 16867. https://html.spec.whatwg.org/#text-track-label 16868. https://html.spec.whatwg.org/#track-label 16869. https://html.spec.whatwg.org/#text-track-language 16870. https://html.spec.whatwg.org/#track-language 16871. https://html.spec.whatwg.org/#attr-track-kind 16872. https://html.spec.whatwg.org/#attr-track-label 16873. https://html.spec.whatwg.org/#attr-track-srclang 16874. https://html.spec.whatwg.org/#text-track 16875. https://html.spec.whatwg.org/#track-url 16876. https://html.spec.whatwg.org/#text-track-readiness-state 16877. https://html.spec.whatwg.org/#text-track-not-loaded 16878. https://html.spec.whatwg.org/#text-track-mode 16879. https://html.spec.whatwg.org/#text-track-disabled 16880. https://html.spec.whatwg.org/#text-track-list-of-cues 16881. https://html.spec.whatwg.org/#rules-for-updating-the-text-track-rendering 16882. https://w3c.github.io/webvtt/#rules-for-updating-the-display-of-webvtt-text-tracks 16883. https://html.spec.whatwg.org/#refsWEBVTT 16884. https://html.spec.whatwg.org/#the-track-element 16885. https://html.spec.whatwg.org/#media-element 16886. https://html.spec.whatwg.org/#the-track-element 16887. https://html.spec.whatwg.org/#text-track 16888. https://html.spec.whatwg.org/#media-element 16889. https://html.spec.whatwg.org/#list-of-text-tracks 16890. https://html.spec.whatwg.org/#queue-a-media-element-task 16891. https://html.spec.whatwg.org/#media-element 16892. https://dom.spec.whatwg.org/#concept-event-fire 16893. https://html.spec.whatwg.org/#event-media-addtrack 16894. https://html.spec.whatwg.org/#media-element 16895. https://html.spec.whatwg.org/#dom-media-texttracks 16896. https://html.spec.whatwg.org/#texttracklist 16897. https://html.spec.whatwg.org/#trackevent 16898. https://html.spec.whatwg.org/#dom-trackevent-track 16899. https://html.spec.whatwg.org/#text-track 16900. https://html.spec.whatwg.org/#texttrack 16901. https://html.spec.whatwg.org/#the-track-element 16902. https://html.spec.whatwg.org/#media-element 16903. https://html.spec.whatwg.org/#the-track-element 16904. https://html.spec.whatwg.org/#text-track 16905. https://html.spec.whatwg.org/#media-element 16906. https://html.spec.whatwg.org/#list-of-text-tracks 16907. https://html.spec.whatwg.org/#queue-a-media-element-task 16908. https://html.spec.whatwg.org/#media-element 16909. https://dom.spec.whatwg.org/#concept-event-fire 16910. https://html.spec.whatwg.org/#event-media-removetrack 16911. https://html.spec.whatwg.org/#media-element 16912. https://html.spec.whatwg.org/#dom-media-texttracks 16913. https://html.spec.whatwg.org/#texttracklist 16914. https://html.spec.whatwg.org/#trackevent 16915. https://html.spec.whatwg.org/#dom-trackevent-track 16916. https://html.spec.whatwg.org/#text-track 16917. https://html.spec.whatwg.org/#texttrack 16918. https://html.spec.whatwg.org/#text-track 16919. https://html.spec.whatwg.org/#the-track-element 16920. https://html.spec.whatwg.org/#media-element 16921. https://html.spec.whatwg.org/#list-of-text-tracks 16922. https://html.spec.whatwg.org/#queue-a-media-element-task 16923. https://html.spec.whatwg.org/#media-element 16924. https://html.spec.whatwg.org/#media-element 16925. https://html.spec.whatwg.org/#blocked-on-parser 16926. https://html.spec.whatwg.org/#did-perform-automatic-track-selection 16927. https://html.spec.whatwg.org/#honor-user-preferences-for-automatic-text-track-selection 16928. https://html.spec.whatwg.org/#media-element 16929. https://html.spec.whatwg.org/#perform-automatic-text-track-selection 16930. https://html.spec.whatwg.org/#dom-texttrack-kind-subtitles 16931. https://html.spec.whatwg.org/#dom-texttrack-kind-captions 16932. https://html.spec.whatwg.org/#perform-automatic-text-track-selection 16933. https://html.spec.whatwg.org/#dom-texttrack-kind-descriptions 16934. https://html.spec.whatwg.org/#text-track 16935. https://html.spec.whatwg.org/#media-element 16936. https://html.spec.whatwg.org/#list-of-text-tracks 16937. https://html.spec.whatwg.org/#text-track-kind 16938. https://html.spec.whatwg.org/#dom-texttrack-kind-metadata 16939. https://html.spec.whatwg.org/#dom-texttrack-kind-metadata 16940. https://html.spec.whatwg.org/#the-track-element 16941. https://html.spec.whatwg.org/#attr-track-default 16942. https://html.spec.whatwg.org/#text-track-mode 16943. https://html.spec.whatwg.org/#text-track-disabled 16944. https://html.spec.whatwg.org/#text-track-mode 16945. https://html.spec.whatwg.org/#text-track-hidden 16946. https://html.spec.whatwg.org/#did-perform-automatic-track-selection 16947. https://html.spec.whatwg.org/#text-track-kind 16948. https://html.spec.whatwg.org/#text-track 16949. https://html.spec.whatwg.org/#media-element 16950. https://html.spec.whatwg.org/#list-of-text-tracks 16951. https://html.spec.whatwg.org/#text-track-kind 16952. https://html.spec.whatwg.org/#list-of-text-tracks 16953. https://html.spec.whatwg.org/#text-track 16954. https://html.spec.whatwg.org/#text-track-mode 16955. https://html.spec.whatwg.org/#text-track-showing 16956. https://html.spec.whatwg.org/#text-track-kind 16957. https://html.spec.whatwg.org/#text-track-language 16958. https://html.spec.whatwg.org/#text-track-label 16959. https://html.spec.whatwg.org/#text-track-mode 16960. https://html.spec.whatwg.org/#text-track-showing 16961. https://html.spec.whatwg.org/#text-track 16962. https://html.spec.whatwg.org/#the-track-element 16963. https://html.spec.whatwg.org/#attr-track-default 16964. https://html.spec.whatwg.org/#text-track-mode 16965. https://html.spec.whatwg.org/#text-track-disabled 16966. https://html.spec.whatwg.org/#text-track-mode 16967. https://html.spec.whatwg.org/#text-track-showing 16968. https://html.spec.whatwg.org/#text-track 16969. https://html.spec.whatwg.org/#the-track-element 16970. https://html.spec.whatwg.org/#start-the-track-processing-model 16971. https://html.spec.whatwg.org/#text-track 16972. https://html.spec.whatwg.org/#the-track-element 16973. https://html.spec.whatwg.org/#the-track-element 16974. https://html.spec.whatwg.org/#text-track 16975. https://html.spec.whatwg.org/#text-track-mode 16976. https://html.spec.whatwg.org/#the-track-element 16977. https://html.spec.whatwg.org/#media-element 16978. https://html.spec.whatwg.org/#text-track 16979. https://html.spec.whatwg.org/#the-track-element 16980. https://html.spec.whatwg.org/#event-loop 16981. https://html.spec.whatwg.org/#synchronous-section 16982. https://html.spec.whatwg.org/#event-loop 16983. https://html.spec.whatwg.org/#text-track 16984. https://html.spec.whatwg.org/#the-track-element 16985. https://html.spec.whatwg.org/#text-track 16986. https://html.spec.whatwg.org/#text-track-mode 16987. https://html.spec.whatwg.org/#text-track-hidden 16988. https://html.spec.whatwg.org/#text-track-showing 16989. https://html.spec.whatwg.org/#text-track 16990. https://html.spec.whatwg.org/#the-track-element 16991. https://html.spec.whatwg.org/#media-element 16992. https://html.spec.whatwg.org/#in-parallel 16993. https://html.spec.whatwg.org/#await-a-stable-state 16994. https://html.spec.whatwg.org/#synchronous-section 16995. https://html.spec.whatwg.org/#synchronous-section 16996. https://html.spec.whatwg.org/#text-track-readiness-state 16997. https://html.spec.whatwg.org/#text-track-loading 16998. https://html.spec.whatwg.org/#track-url 16999. https://html.spec.whatwg.org/#the-track-element 17000. https://html.spec.whatwg.org/#the-track-element 17001. https://html.spec.whatwg.org/#media-element 17002. https://html.spec.whatwg.org/#media-element 17003. https://html.spec.whatwg.org/#attr-media-crossorigin 17004. https://html.spec.whatwg.org/#attr-crossorigin-none 17005. https://html.spec.whatwg.org/#synchronous-section 17006. https://html.spec.whatwg.org/#in-parallel 17007. https://html.spec.whatwg.org/#create-a-potential-cors-request 17008. https://fetch.spec.whatwg.org/#concept-request-client 17009. https://html.spec.whatwg.org/#the-track-element 17010. https://dom.spec.whatwg.org/#concept-node-document 17011. https://html.spec.whatwg.org/#relevant-settings-object 17012. https://fetch.spec.whatwg.org/#request-initiator-type 17013. https://fetch.spec.whatwg.org/#concept-fetch 17014. https://html.spec.whatwg.org/#concept-task 17015. https://html.spec.whatwg.org/#queue-a-task 17016. https://html.spec.whatwg.org/#networking-task-source 17017. https://w3c.github.io/webvtt/#webvtt-parser 17018. https://html.spec.whatwg.org/#text-track-list-of-cues 17019. https://html.spec.whatwg.org/#refsWEBVTT 17020. https://html.spec.whatwg.org/#text-track-list-of-cues 17021. https://html.spec.whatwg.org/#networking-task-source 17022. https://html.spec.whatwg.org/#concept-task 17023. https://html.spec.whatwg.org/#queue-an-element-task 17024. https://html.spec.whatwg.org/#dom-manipulation-task-source 17025. https://html.spec.whatwg.org/#media-element 17026. https://html.spec.whatwg.org/#text-track-readiness-state 17027. https://html.spec.whatwg.org/#text-track-failed-to-load 17028. https://dom.spec.whatwg.org/#concept-event-fire 17029. https://html.spec.whatwg.org/#event-track-error 17030. https://html.spec.whatwg.org/#the-track-element 17031. https://html.spec.whatwg.org/#concept-task 17032. https://html.spec.whatwg.org/#queue-an-element-task 17033. https://html.spec.whatwg.org/#networking-task-source 17034. https://html.spec.whatwg.org/#text-track-readiness-state 17035. https://html.spec.whatwg.org/#text-track-failed-to-load 17036. https://dom.spec.whatwg.org/#concept-event-fire 17037. https://html.spec.whatwg.org/#event-track-error 17038. https://html.spec.whatwg.org/#the-track-element 17039. https://html.spec.whatwg.org/#concept-task 17040. https://html.spec.whatwg.org/#queue-an-element-task 17041. https://html.spec.whatwg.org/#networking-task-source 17042. https://html.spec.whatwg.org/#text-track-readiness-state 17043. https://html.spec.whatwg.org/#text-track-loaded 17044. https://dom.spec.whatwg.org/#concept-event-fire 17045. https://html.spec.whatwg.org/#event-track-load 17046. https://html.spec.whatwg.org/#the-track-element 17047. https://html.spec.whatwg.org/#track-url 17048. https://html.spec.whatwg.org/#text-track-mode 17049. https://html.spec.whatwg.org/#text-track-hidden 17050. https://html.spec.whatwg.org/#text-track-showing 17051. https://html.spec.whatwg.org/#text-track-mode 17052. https://html.spec.whatwg.org/#text-track-hidden 17053. https://html.spec.whatwg.org/#text-track-showing 17054. https://html.spec.whatwg.org/#track-url 17055. https://fetch.spec.whatwg.org/#concept-fetch 17056. https://html.spec.whatwg.org/#concept-task 17057. https://html.spec.whatwg.org/#text-track-list-of-cues 17058. https://html.spec.whatwg.org/#queue-an-element-task 17059. https://html.spec.whatwg.org/#dom-manipulation-task-source 17060. https://html.spec.whatwg.org/#the-track-element 17061. https://html.spec.whatwg.org/#text-track-readiness-state 17062. https://html.spec.whatwg.org/#text-track-failed-to-load 17063. https://dom.spec.whatwg.org/#concept-event-fire 17064. https://html.spec.whatwg.org/#event-track-error 17065. https://html.spec.whatwg.org/#the-track-element 17066. https://html.spec.whatwg.org/#text-track-readiness-state 17067. https://html.spec.whatwg.org/#text-track-loading 17068. https://html.spec.whatwg.org/#track-url 17069. https://html.spec.whatwg.org/#text-track-mode 17070. https://html.spec.whatwg.org/#text-track-hidden 17071. https://html.spec.whatwg.org/#text-track-showing 17072. https://html.spec.whatwg.org/#the-track-element 17073. https://html.spec.whatwg.org/#attr-track-src 17074. https://html.spec.whatwg.org/#immediately 17075. https://html.spec.whatwg.org/#text-track 17076. https://html.spec.whatwg.org/#text-track-list-of-cues 17077. https://html.spec.whatwg.org/#text-track-cue 17078. https://html.spec.whatwg.org/#text-track 17079. https://html.spec.whatwg.org/#text-track-cue 17080. https://html.spec.whatwg.org/#text-track-cue 17081. https://html.spec.whatwg.org/#text-track-cue 17082. https://html.spec.whatwg.org/#text-track-cue-identifier 17083. https://html.spec.whatwg.org/#text-track-cue-pause-on-exit-flag 17084. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackList 17085. https://dom.spec.whatwg.org/#interface-eventtarget 17086. https://html.spec.whatwg.org/#dom-texttracklist-length 17087. https://html.spec.whatwg.org/#dom-texttracklist-item 17088. https://html.spec.whatwg.org/#texttrack 17089. https://html.spec.whatwg.org/#texttrack 17090. https://html.spec.whatwg.org/#dom-texttracklist-gettrackbyid 17091. https://html.spec.whatwg.org/#eventhandler 17092. https://html.spec.whatwg.org/#handler-texttracklist-onchange 17093. https://html.spec.whatwg.org/#eventhandler 17094. https://html.spec.whatwg.org/#handler-texttracklist-onaddtrack 17095. https://html.spec.whatwg.org/#eventhandler 17096. https://html.spec.whatwg.org/#handler-texttracklist-onremovetrack 17097. https://html.spec.whatwg.org/#dom-media-texttracks 17098. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/textTracks 17099. https://html.spec.whatwg.org/#text-track 17100. https://html.spec.whatwg.org/#media-element 17101. https://html.spec.whatwg.org/#the-track-element 17102. https://html.spec.whatwg.org/#text-track 17103. https://html.spec.whatwg.org/#media-element 17104. https://html.spec.whatwg.org/#list-of-text-tracks 17105. https://html.spec.whatwg.org/#dom-media-texttracks 17106. https://html.spec.whatwg.org/#texttrack 17107. https://html.spec.whatwg.org/#text-track 17108. https://html.spec.whatwg.org/#media-element 17109. https://html.spec.whatwg.org/#list-of-text-tracks 17110. https://html.spec.whatwg.org/#dom-media-texttracks 17111. https://html.spec.whatwg.org/#dom-texttracklist-gettrackbyid 17112. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackList/getTrackById 17113. https://html.spec.whatwg.org/#texttrack 17114. https://html.spec.whatwg.org/#texttracklist 17115. https://html.spec.whatwg.org/#text-track 17116. https://html.spec.whatwg.org/#media-element 17117. https://html.spec.whatwg.org/#texttracklist 17118. https://html.spec.whatwg.org/#texttrack 17119. https://html.spec.whatwg.org/#text-track 17120. https://html.spec.whatwg.org/#media-element 17121. https://html.spec.whatwg.org/#list-of-text-tracks 17122. https://html.spec.whatwg.org/#list-of-text-tracks 17123. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackList/length 17124. https://html.spec.whatwg.org/#texttracklist 17125. https://html.spec.whatwg.org/#text-track 17126. https://html.spec.whatwg.org/#texttracklist 17127. https://webidl.spec.whatwg.org/#dfn-supported-property-indices 17128. https://html.spec.whatwg.org/#texttracklist 17129. https://html.spec.whatwg.org/#text-track 17130. https://html.spec.whatwg.org/#texttracklist 17131. https://html.spec.whatwg.org/#text-track 17132. https://webidl.spec.whatwg.org/#dfn-supported-property-indices 17133. https://webidl.spec.whatwg.org/#dfn-determine-the-value-of-an-indexed-property 17134. https://html.spec.whatwg.org/#texttracklist 17135. https://html.spec.whatwg.org/#text-track 17136. https://html.spec.whatwg.org/#texttracklist 17137. https://html.spec.whatwg.org/#texttrack 17138. https://html.spec.whatwg.org/#texttracklist 17139. https://html.spec.whatwg.org/#dom-texttrack-id 17140. https://developer.mozilla.org/en-US/docs/Web/API/TextTrack 17141. https://html.spec.whatwg.org/#dom-texttrack-disabled 17142. https://html.spec.whatwg.org/#dom-texttrack-hidden 17143. https://html.spec.whatwg.org/#dom-texttrack-showing 17144. https://html.spec.whatwg.org/#dom-texttrack-kind-subtitles 17145. https://html.spec.whatwg.org/#dom-texttrack-kind-captions 17146. https://html.spec.whatwg.org/#dom-texttrack-kind-descriptions 17147. https://html.spec.whatwg.org/#dom-texttrack-kind-chapters 17148. https://html.spec.whatwg.org/#dom-texttrack-kind-metadata 17149. https://dom.spec.whatwg.org/#interface-eventtarget 17150. https://html.spec.whatwg.org/#texttrackkind 17151. https://html.spec.whatwg.org/#dom-texttrack-kind 17152. https://html.spec.whatwg.org/#dom-texttrack-label 17153. https://html.spec.whatwg.org/#dom-texttrack-language 17154. https://html.spec.whatwg.org/#dom-texttrack-id 17155. https://html.spec.whatwg.org/#dom-texttrack-inbandmetadatatrackdispatchtype 17156. https://html.spec.whatwg.org/#texttrackmode 17157. https://html.spec.whatwg.org/#dom-texttrack-mode 17158. https://html.spec.whatwg.org/#texttrackcuelist 17159. https://html.spec.whatwg.org/#dom-texttrack-cues 17160. https://html.spec.whatwg.org/#texttrackcuelist 17161. https://html.spec.whatwg.org/#dom-texttrack-activecues 17162. https://html.spec.whatwg.org/#dom-texttrack-addcue 17163. https://html.spec.whatwg.org/#texttrackcue 17164. https://html.spec.whatwg.org/#dom-texttrack-removecue 17165. https://html.spec.whatwg.org/#texttrackcue 17166. https://html.spec.whatwg.org/#eventhandler 17167. https://html.spec.whatwg.org/#handler-texttrack-oncuechange 17168. https://html.spec.whatwg.org/#dom-media-addtexttrack 17169. https://html.spec.whatwg.org/#texttrack 17170. https://html.spec.whatwg.org/#media-element 17171. https://html.spec.whatwg.org/#list-of-text-tracks 17172. https://html.spec.whatwg.org/#dom-texttrack-kind 17173. https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/kind 17174. https://html.spec.whatwg.org/#text-track-kind 17175. https://html.spec.whatwg.org/#dom-texttrack-label 17176. https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/label 17177. https://html.spec.whatwg.org/#text-track-label 17178. https://html.spec.whatwg.org/#dom-texttrack-language 17179. https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/language 17180. https://html.spec.whatwg.org/#text-track-language 17181. https://html.spec.whatwg.org/#dom-texttrack-id 17182. https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/id 17183. https://url.spec.whatwg.org/#concept-url-fragment 17184. https://www.w3.org/TR/media-frags/#media-fragment-syntax 17185. https://html.spec.whatwg.org/#dom-texttracklist-gettrackbyid 17186. https://html.spec.whatwg.org/#texttrack 17187. https://html.spec.whatwg.org/#the-track-element 17188. https://html.spec.whatwg.org/#the-track-element 17189. https://html.spec.whatwg.org/#dom-texttrack-inbandmetadatatrackdispatchtype 17190. https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/inBandMetadataTrackDispatchType 17191. https://html.spec.whatwg.org/#text-track-in-band-metadata-track-dispatch-type 17192. https://html.spec.whatwg.org/#dom-texttrack-mode 17193. https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/mode 17194. https://html.spec.whatwg.org/#text-track-mode 17195. https://html.spec.whatwg.org/#dom-texttrack-disabled 17196. https://html.spec.whatwg.org/#text-track-disabled 17197. https://html.spec.whatwg.org/#dom-texttrack-hidden 17198. https://html.spec.whatwg.org/#text-track-hidden 17199. https://html.spec.whatwg.org/#dom-texttrack-showing 17200. https://html.spec.whatwg.org/#text-track-showing 17201. https://html.spec.whatwg.org/#dom-texttrack-cues 17202. https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/cues 17203. https://html.spec.whatwg.org/#text-track-list-of-cues 17204. https://html.spec.whatwg.org/#texttrackcuelist 17205. https://html.spec.whatwg.org/#dom-texttrack-activecues 17206. https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/activeCues 17207. https://html.spec.whatwg.org/#text-track-cue 17208. https://html.spec.whatwg.org/#text-track-list-of-cues 17209. https://html.spec.whatwg.org/#current-playback-position 17210. https://html.spec.whatwg.org/#texttrackcuelist 17211. https://html.spec.whatwg.org/#dom-texttrack-addcue 17212. https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/addCue 17213. https://html.spec.whatwg.org/#text-track-list-of-cues 17214. https://html.spec.whatwg.org/#dom-texttrack-removecue 17215. https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/removeCue 17216. https://html.spec.whatwg.org/#text-track-list-of-cues 17217. https://html.spec.whatwg.org/#media-element 17218. https://html.spec.whatwg.org/#texttrack 17219. https://html.spec.whatwg.org/#text-track 17220. https://html.spec.whatwg.org/#text-track-kind 17221. https://html.spec.whatwg.org/#text-track-label 17222. https://html.spec.whatwg.org/#text-track-language 17223. https://html.spec.whatwg.org/#text-track-readiness-state 17224. https://html.spec.whatwg.org/#text-track-loaded 17225. https://html.spec.whatwg.org/#text-track-mode 17226. https://html.spec.whatwg.org/#text-track-hidden 17227. https://html.spec.whatwg.org/#text-track-list-of-cues 17228. https://html.spec.whatwg.org/#text-track-list-of-cues 17229. https://html.spec.whatwg.org/#rules-for-updating-the-text-track-rendering 17230. https://html.spec.whatwg.org/#text-track-cue 17231. https://html.spec.whatwg.org/#text-track-list-of-cues 17232. https://html.spec.whatwg.org/#text-track 17233. https://html.spec.whatwg.org/#media-element 17234. https://html.spec.whatwg.org/#list-of-text-tracks 17235. https://html.spec.whatwg.org/#queue-a-media-element-task 17236. https://html.spec.whatwg.org/#media-element 17237. https://dom.spec.whatwg.org/#concept-event-fire 17238. https://html.spec.whatwg.org/#event-media-addtrack 17239. https://html.spec.whatwg.org/#media-element 17240. https://html.spec.whatwg.org/#dom-media-texttracks 17241. https://html.spec.whatwg.org/#texttracklist 17242. https://html.spec.whatwg.org/#trackevent 17243. https://html.spec.whatwg.org/#dom-trackevent-track 17244. https://html.spec.whatwg.org/#text-track 17245. https://html.spec.whatwg.org/#texttrack 17246. https://html.spec.whatwg.org/#texttrack 17247. https://html.spec.whatwg.org/#text-track-kind 17248. https://html.spec.whatwg.org/#text-track 17249. https://html.spec.whatwg.org/#texttrack 17250. https://html.spec.whatwg.org/#text-track-label 17251. https://html.spec.whatwg.org/#text-track 17252. https://html.spec.whatwg.org/#texttrack 17253. https://html.spec.whatwg.org/#text-track-language 17254. https://html.spec.whatwg.org/#text-track 17255. https://html.spec.whatwg.org/#texttrack 17256. https://html.spec.whatwg.org/#the-track-element 17257. https://html.spec.whatwg.org/#the-id-attribute 17258. https://html.spec.whatwg.org/#media-resource 17259. https://html.spec.whatwg.org/#media-resource 17260. https://www.w3.org/TR/media-frags/#media-fragment-syntax 17261. https://url.spec.whatwg.org/#concept-url-fragment 17262. https://html.spec.whatwg.org/#text-track-in-band-metadata-track-dispatch-type 17263. https://html.spec.whatwg.org/#text-track 17264. https://html.spec.whatwg.org/#texttrack 17265. https://html.spec.whatwg.org/#text-track-mode 17266. https://html.spec.whatwg.org/#text-track 17267. https://html.spec.whatwg.org/#texttrack 17268. https://html.spec.whatwg.org/#text-track-disabled 17269. https://html.spec.whatwg.org/#text-track-hidden 17270. https://html.spec.whatwg.org/#text-track-showing 17271. https://html.spec.whatwg.org/#dom-texttrack-disabled 17272. https://html.spec.whatwg.org/#text-track-mode 17273. https://html.spec.whatwg.org/#text-track 17274. https://html.spec.whatwg.org/#texttrack 17275. https://html.spec.whatwg.org/#text-track-disabled 17276. https://html.spec.whatwg.org/#dom-texttrack-hidden 17277. https://html.spec.whatwg.org/#text-track-mode 17278. https://html.spec.whatwg.org/#text-track 17279. https://html.spec.whatwg.org/#texttrack 17280. https://html.spec.whatwg.org/#text-track-hidden 17281. https://html.spec.whatwg.org/#dom-texttrack-showing 17282. https://html.spec.whatwg.org/#text-track-mode 17283. https://html.spec.whatwg.org/#text-track 17284. https://html.spec.whatwg.org/#texttrack 17285. https://html.spec.whatwg.org/#text-track-showing 17286. https://html.spec.whatwg.org/#text-track-mode 17287. https://html.spec.whatwg.org/#text-track 17288. https://html.spec.whatwg.org/#texttrack 17289. https://html.spec.whatwg.org/#text-track-disabled 17290. https://html.spec.whatwg.org/#live 17291. https://html.spec.whatwg.org/#texttrackcuelist 17292. https://html.spec.whatwg.org/#text-track-list-of-cues 17293. https://html.spec.whatwg.org/#text-track 17294. https://html.spec.whatwg.org/#texttrack 17295. https://html.spec.whatwg.org/#text-track-cue-end-time 17296. https://html.spec.whatwg.org/#earliest-possible-position-when-the-script-started 17297. https://html.spec.whatwg.org/#text-track-cue-order 17298. https://html.spec.whatwg.org/#texttrack 17299. https://html.spec.whatwg.org/#texttrackcuelist 17300. https://html.spec.whatwg.org/#earliest-possible-position 17301. https://html.spec.whatwg.org/#event-loop 17302. https://html.spec.whatwg.org/#text-track-mode 17303. https://html.spec.whatwg.org/#text-track 17304. https://html.spec.whatwg.org/#texttrack 17305. https://html.spec.whatwg.org/#text-track-disabled 17306. https://html.spec.whatwg.org/#live 17307. https://html.spec.whatwg.org/#texttrackcuelist 17308. https://html.spec.whatwg.org/#text-track-list-of-cues 17309. https://html.spec.whatwg.org/#text-track 17310. https://html.spec.whatwg.org/#texttrack 17311. https://html.spec.whatwg.org/#active-flag-was-set-when-the-script-started 17312. https://html.spec.whatwg.org/#text-track-cue-order 17313. https://html.spec.whatwg.org/#texttrack 17314. https://html.spec.whatwg.org/#texttrackcuelist 17315. https://html.spec.whatwg.org/#text-track-cue 17316. https://html.spec.whatwg.org/#text-track-cue-active-flag 17317. https://html.spec.whatwg.org/#event-loop 17318. https://html.spec.whatwg.org/#step1 17319. https://html.spec.whatwg.org/#texttrack 17320. https://html.spec.whatwg.org/#text-track-list-of-cues 17321. https://html.spec.whatwg.org/#rules-for-updating-the-text-track-rendering 17322. https://html.spec.whatwg.org/#text-track-list-of-cues 17323. https://html.spec.whatwg.org/#rules-for-updating-the-text-track-rendering 17324. https://html.spec.whatwg.org/#text-track-list-of-cues 17325. https://html.spec.whatwg.org/#rules-for-updating-the-text-track-rendering 17326. https://html.spec.whatwg.org/#rules-for-updating-the-text-track-rendering 17327. https://webidl.spec.whatwg.org/#invalidstateerror 17328. https://webidl.spec.whatwg.org/#dfn-DOMException 17329. https://html.spec.whatwg.org/#text-track-list-of-cues 17330. https://html.spec.whatwg.org/#text-track-list-of-cues 17331. https://html.spec.whatwg.org/#texttrack 17332. https://html.spec.whatwg.org/#text-track 17333. https://html.spec.whatwg.org/#text-track-list-of-cues 17334. https://html.spec.whatwg.org/#texttrack 17335. https://html.spec.whatwg.org/#texttrack 17336. https://html.spec.whatwg.org/#text-track 17337. https://html.spec.whatwg.org/#text-track-list-of-cues 17338. https://webidl.spec.whatwg.org/#notfounderror 17339. https://webidl.spec.whatwg.org/#dfn-DOMException 17340. https://html.spec.whatwg.org/#texttrack 17341. https://html.spec.whatwg.org/#text-track 17342. https://html.spec.whatwg.org/#text-track-list-of-cues 17343. https://html.spec.whatwg.org/#the-audio-element 17344. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackCueList 17345. https://html.spec.whatwg.org/#dom-texttrackcuelist-length 17346. https://html.spec.whatwg.org/#dom-texttrackcuelist-item 17347. https://html.spec.whatwg.org/#texttrackcue 17348. https://html.spec.whatwg.org/#texttrackcue 17349. https://html.spec.whatwg.org/#dom-texttrackcuelist-getcuebyid 17350. https://html.spec.whatwg.org/#dom-texttrackcuelist-length 17351. https://html.spec.whatwg.org/#text-track-cue 17352. https://html.spec.whatwg.org/#text-track-cue 17353. https://html.spec.whatwg.org/#text-track-cue-order 17354. https://html.spec.whatwg.org/#dom-texttrackcuelist-getcuebyid 17355. https://html.spec.whatwg.org/#text-track-cue 17356. https://html.spec.whatwg.org/#text-track-cue-order 17357. https://html.spec.whatwg.org/#text-track-cue-identifier 17358. https://html.spec.whatwg.org/#texttrackcuelist 17359. https://html.spec.whatwg.org/#text-track-cue 17360. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackCueList/length 17361. https://html.spec.whatwg.org/#text-track-cue 17362. https://html.spec.whatwg.org/#texttrackcuelist 17363. https://webidl.spec.whatwg.org/#dfn-supported-property-indices 17364. https://html.spec.whatwg.org/#texttrackcuelist 17365. https://html.spec.whatwg.org/#text-track-cue 17366. https://html.spec.whatwg.org/#texttrackcuelist 17367. https://html.spec.whatwg.org/#text-track-cue 17368. https://webidl.spec.whatwg.org/#dfn-supported-property-indices 17369. https://webidl.spec.whatwg.org/#dfn-determine-the-value-of-an-indexed-property 17370. https://html.spec.whatwg.org/#text-track-cue 17371. https://html.spec.whatwg.org/#texttrackcuelist 17372. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackCueList/getCueById 17373. https://html.spec.whatwg.org/#text-track-cue 17374. https://html.spec.whatwg.org/#texttrackcuelist 17375. https://html.spec.whatwg.org/#text-track-cue-identifier 17376. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackCue 17377. https://dom.spec.whatwg.org/#interface-eventtarget 17378. https://html.spec.whatwg.org/#texttrack 17379. https://html.spec.whatwg.org/#dom-texttrackcue-track 17380. https://html.spec.whatwg.org/#dom-texttrackcue-id 17381. https://html.spec.whatwg.org/#dom-texttrackcue-starttime 17382. https://html.spec.whatwg.org/#dom-texttrackcue-endtime 17383. https://html.spec.whatwg.org/#dom-texttrackcue-pauseonexit 17384. https://html.spec.whatwg.org/#eventhandler 17385. https://html.spec.whatwg.org/#handler-texttrackcue-onenter 17386. https://html.spec.whatwg.org/#eventhandler 17387. https://html.spec.whatwg.org/#handler-texttrackcue-onexit 17388. https://html.spec.whatwg.org/#dom-texttrackcue-track 17389. https://html.spec.whatwg.org/#texttrack 17390. https://html.spec.whatwg.org/#text-track-cue 17391. https://html.spec.whatwg.org/#dom-texttrackcue-id 17392. https://html.spec.whatwg.org/#text-track-cue-identifier 17393. https://html.spec.whatwg.org/#dom-texttrackcue-starttime 17394. https://html.spec.whatwg.org/#text-track-cue-start-time 17395. https://html.spec.whatwg.org/#dom-texttrackcue-endtime 17396. https://html.spec.whatwg.org/#text-track-cue-end-time 17397. https://html.spec.whatwg.org/#unbounded-text-track-cue 17398. https://html.spec.whatwg.org/#dom-texttrackcue-pauseonexit 17399. https://html.spec.whatwg.org/#text-track-cue-pause-on-exit-flag 17400. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackCue/track 17401. https://html.spec.whatwg.org/#texttrack 17402. https://html.spec.whatwg.org/#text-track 17403. https://html.spec.whatwg.org/#text-track-list-of-cues 17404. https://html.spec.whatwg.org/#text-track-cue 17405. https://html.spec.whatwg.org/#texttrackcue 17406. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackCue/id 17407. https://html.spec.whatwg.org/#text-track-cue-identifier 17408. https://html.spec.whatwg.org/#text-track-cue 17409. https://html.spec.whatwg.org/#texttrackcue 17410. https://html.spec.whatwg.org/#text-track-cue-identifier 17411. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackCue/startTime 17412. https://html.spec.whatwg.org/#text-track-cue-start-time 17413. https://html.spec.whatwg.org/#text-track-cue 17414. https://html.spec.whatwg.org/#texttrackcue 17415. https://html.spec.whatwg.org/#text-track-cue-start-time 17416. https://html.spec.whatwg.org/#texttrackcue 17417. https://html.spec.whatwg.org/#text-track-cue 17418. https://html.spec.whatwg.org/#text-track 17419. https://html.spec.whatwg.org/#text-track-list-of-cues 17420. https://html.spec.whatwg.org/#text-track 17421. https://html.spec.whatwg.org/#media-element 17422. https://html.spec.whatwg.org/#list-of-text-tracks 17423. https://html.spec.whatwg.org/#media-element 17424. https://html.spec.whatwg.org/#show-poster-flag 17425. https://html.spec.whatwg.org/#time-marches-on 17426. https://html.spec.whatwg.org/#media-element 17427. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackCue/endTime 17428. https://html.spec.whatwg.org/#text-track-cue-end-time 17429. https://html.spec.whatwg.org/#text-track-cue 17430. https://html.spec.whatwg.org/#texttrackcue 17431. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 17432. https://html.spec.whatwg.org/#text-track-cue-end-time 17433. https://html.spec.whatwg.org/#texttrackcue 17434. https://html.spec.whatwg.org/#text-track-cue 17435. https://html.spec.whatwg.org/#text-track 17436. https://html.spec.whatwg.org/#text-track-list-of-cues 17437. https://html.spec.whatwg.org/#text-track 17438. https://html.spec.whatwg.org/#media-element 17439. https://html.spec.whatwg.org/#list-of-text-tracks 17440. https://html.spec.whatwg.org/#media-element 17441. https://html.spec.whatwg.org/#show-poster-flag 17442. https://html.spec.whatwg.org/#time-marches-on 17443. https://html.spec.whatwg.org/#media-element 17444. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackCue/pauseOnExit 17445. https://html.spec.whatwg.org/#text-track-cue-pause-on-exit-flag 17446. https://html.spec.whatwg.org/#text-track-cue 17447. https://html.spec.whatwg.org/#texttrackcue 17448. https://html.spec.whatwg.org/#text-track-cue-pause-on-exit-flag 17449. https://html.spec.whatwg.org/#event-handlers 17450. https://html.spec.whatwg.org/#event-handler-event-type 17451. https://html.spec.whatwg.org/#event-handler-idl-attributes 17452. https://html.spec.whatwg.org/#texttracklist 17453. https://html.spec.whatwg.org/#event-handlers 17454. https://html.spec.whatwg.org/#event-handler-event-type 17455. https://html.spec.whatwg.org/#event-media-change 17456. https://html.spec.whatwg.org/#event-media-addtrack 17457. https://html.spec.whatwg.org/#event-media-removetrack 17458. https://html.spec.whatwg.org/#event-handlers 17459. https://html.spec.whatwg.org/#event-handler-event-type 17460. https://html.spec.whatwg.org/#event-handler-idl-attributes 17461. https://html.spec.whatwg.org/#texttrack 17462. https://html.spec.whatwg.org/#event-handlers 17463. https://html.spec.whatwg.org/#event-handler-event-type 17464. https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/cuechange_event 17465. https://html.spec.whatwg.org/#event-media-cuechange 17466. https://html.spec.whatwg.org/#event-handlers 17467. https://html.spec.whatwg.org/#event-handler-event-type 17468. https://html.spec.whatwg.org/#event-handler-idl-attributes 17469. https://html.spec.whatwg.org/#texttrackcue 17470. https://html.spec.whatwg.org/#event-handlers 17471. https://html.spec.whatwg.org/#event-handler-event-type 17472. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackCue/enter_event 17473. https://html.spec.whatwg.org/#event-media-enter 17474. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackCue/exit_event 17475. https://html.spec.whatwg.org/#event-media-exit 17476. data:text/html;charset=utf-8,<!DOCTYPE html> <style> body, html { margin: 0; padding: 0; overflow: hidden; } div { width: 600px; height: 400px; position: relative; } p { position: absolute; top: 0; margin: 0.25em; font: small-caps 900 2em sans-serif; text-shadow: white 0 0 4px; } span { display: block; } .left { color: red; left: 0; text-align: left; } .right { color: blue; right: 0; text-align: right; } .middle { color: white; top: auto; bottom: 0; left: 0; right: 0; text-align: center; text-shadow: black 0 0 4px; } .middle span { display: inline-block; margin: 0 1em; font-size: 0.75em; text-transform: uppercase; } </style> <div> <img src="https://html.spec.whatwg.org/images/robots.jpeg"> <p class="score left"><span>Red Alliance</span> <span>78</span></p> <p class="score right"><span>Blue Alliance</span> <span>66</span></p> <p class="score middle"><span>Qual Match 37</span> <span>Friday 14:21</span> </div> 17477. https://html.spec.whatwg.org/#event-media-cuechange 17478. https://html.spec.whatwg.org/#event-media-timeupdate 17479. https://html.spec.whatwg.org/#event-media-timeupdate 17480. https://url.spec.whatwg.org/#concept-url 17481. https://html.spec.whatwg.org/#audiotrack 17482. https://html.spec.whatwg.org/#dom-audiotrack-kind 17483. https://html.spec.whatwg.org/#videotrack 17484. https://html.spec.whatwg.org/#dom-videotrack-kind 17485. https://html.spec.whatwg.org/#text-track-kind 17486. https://html.spec.whatwg.org/#about:html-kind 17487. https://url.spec.whatwg.org/#concept-url 17488. https://html.spec.whatwg.org/#boolean-attribute 17489. https://html.spec.whatwg.org/#concept-n-noscript 17490. https://html.spec.whatwg.org/#media-element 17491. https://html.spec.whatwg.org/#media-element 17492. https://html.spec.whatwg.org/#expose-a-user-interface-to-the-user 17493. https://html.spec.whatwg.org/#attr-media-controls 17494. https://html.spec.whatwg.org/#expose-a-user-interface-to-the-user 17495. https://html.spec.whatwg.org/#media-element 17496. https://w3c.github.io/uievents/#event-type-mousedown 17497. https://html.spec.whatwg.org/#dom-media-seek 17498. https://html.spec.whatwg.org/#media-element 17499. https://html.spec.whatwg.org/#media-timeline 17500. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/controls 17501. https://html.spec.whatwg.org/#reflect 17502. https://html.spec.whatwg.org/#dom-media-volume 17503. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/volume 17504. https://webidl.spec.whatwg.org/#indexsizeerror 17505. https://webidl.spec.whatwg.org/#dfn-DOMException 17506. https://html.spec.whatwg.org/#dom-media-muted 17507. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/muted 17508. https://html.spec.whatwg.org/#dom-media-volume 17509. https://html.spec.whatwg.org/#dom-media-volume 17510. https://html.spec.whatwg.org/#media-element 17511. https://html.spec.whatwg.org/#concept-media-volume 17512. https://html.spec.whatwg.org/#media-element 17513. https://html.spec.whatwg.org/#media-element 17514. https://html.spec.whatwg.org/#concept-media-volume 17515. https://webidl.spec.whatwg.org/#indexsizeerror 17516. https://webidl.spec.whatwg.org/#dfn-DOMException 17517. https://html.spec.whatwg.org/#media-element 17518. https://html.spec.whatwg.org/#direction-of-playback 17519. https://html.spec.whatwg.org/#media-element 17520. https://html.spec.whatwg.org/#attr-media-muted 17521. https://html.spec.whatwg.org/#dom-media-muted 17522. https://html.spec.whatwg.org/#dom-media-muted 17523. https://html.spec.whatwg.org/#media-element 17524. https://html.spec.whatwg.org/#concept-media-muted 17525. https://html.spec.whatwg.org/#dom-media-volume 17526. https://html.spec.whatwg.org/#dom-media-muted 17527. https://html.spec.whatwg.org/#queue-a-media-element-task 17528. https://html.spec.whatwg.org/#media-element 17529. https://dom.spec.whatwg.org/#concept-event-fire 17530. https://html.spec.whatwg.org/#event-media-volumechange 17531. https://html.spec.whatwg.org/#media-element 17532. https://html.spec.whatwg.org/#media-element 17533. https://html.spec.whatwg.org/#allowed-to-play 17534. https://html.spec.whatwg.org/#internal-pause-steps 17535. https://html.spec.whatwg.org/#media-element 17536. https://infra.spec.whatwg.org/#implementation-defined 17537. https://html.spec.whatwg.org/#concept-media-volume 17538. https://html.spec.whatwg.org/#volume-locked 17539. https://html.spec.whatwg.org/#concept-media-muted 17540. https://html.spec.whatwg.org/#concept-media-volume 17541. https://html.spec.whatwg.org/#media-element 17542. https://html.spec.whatwg.org/#media-element 17543. https://html.spec.whatwg.org/#boolean-attribute 17544. https://html.spec.whatwg.org/#media-resource 17545. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/defaultMuted 17546. https://html.spec.whatwg.org/#reflect 17547. https://html.spec.whatwg.org/#attr-media-muted 17548. https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges 17549. https://html.spec.whatwg.org/#timeranges 17550. https://html.spec.whatwg.org/#dom-timeranges-length 17551. https://html.spec.whatwg.org/#dom-timeranges-start 17552. https://html.spec.whatwg.org/#dom-timeranges-end 17553. https://html.spec.whatwg.org/#dom-timeranges-length 17554. https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges/length 17555. https://html.spec.whatwg.org/#dom-timeranges-start 17556. https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges/start 17557. https://webidl.spec.whatwg.org/#indexsizeerror 17558. https://webidl.spec.whatwg.org/#dfn-DOMException 17559. https://html.spec.whatwg.org/#dom-timeranges-end 17560. https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges/end 17561. https://webidl.spec.whatwg.org/#indexsizeerror 17562. https://webidl.spec.whatwg.org/#dfn-DOMException 17563. https://webidl.spec.whatwg.org/#indexsizeerror 17564. https://webidl.spec.whatwg.org/#dfn-DOMException 17565. https://html.spec.whatwg.org/#timeranges 17566. https://html.spec.whatwg.org/#media-resource 17567. https://html.spec.whatwg.org/#media-element 17568. https://html.spec.whatwg.org/#timeranges 17569. https://html.spec.whatwg.org/#dom-media-buffered 17570. https://html.spec.whatwg.org/#dom-media-seekable 17571. https://html.spec.whatwg.org/#dom-media-played 17572. https://html.spec.whatwg.org/#media-element 17573. https://html.spec.whatwg.org/#media-timeline 17574. https://html.spec.whatwg.org/#trackevent 17575. https://developer.mozilla.org/en-US/docs/Web/API/TrackEvent 17576. https://dom.spec.whatwg.org/#interface-event 17577. https://html.spec.whatwg.org/#trackeventinit 17578. https://html.spec.whatwg.org/#videotrack 17579. https://html.spec.whatwg.org/#audiotrack 17580. https://html.spec.whatwg.org/#texttrack 17581. https://html.spec.whatwg.org/#dom-trackevent-track 17582. https://dom.spec.whatwg.org/#dictdef-eventinit 17583. https://html.spec.whatwg.org/#videotrack 17584. https://html.spec.whatwg.org/#audiotrack 17585. https://html.spec.whatwg.org/#texttrack 17586. https://html.spec.whatwg.org/#dom-trackevent-track 17587. https://developer.mozilla.org/en-US/docs/Web/API/TrackEvent/track 17588. https://html.spec.whatwg.org/#texttrack 17589. https://html.spec.whatwg.org/#audiotrack 17590. https://html.spec.whatwg.org/#videotrack 17591. https://html.spec.whatwg.org/#media-element 17592. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/loadstart_event 17593. https://dom.spec.whatwg.org/#interface-event 17594. https://html.spec.whatwg.org/#media-data 17595. https://html.spec.whatwg.org/#concept-media-load-algorithm 17596. https://html.spec.whatwg.org/#dom-media-networkstate 17597. https://html.spec.whatwg.org/#dom-media-network_loading 17598. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/progress_event 17599. https://dom.spec.whatwg.org/#interface-event 17600. https://html.spec.whatwg.org/#media-data 17601. https://html.spec.whatwg.org/#dom-media-networkstate 17602. https://html.spec.whatwg.org/#dom-media-network_loading 17603. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/suspend_event 17604. https://dom.spec.whatwg.org/#interface-event 17605. https://html.spec.whatwg.org/#media-data 17606. https://html.spec.whatwg.org/#dom-media-networkstate 17607. https://html.spec.whatwg.org/#dom-media-network_idle 17608. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/abort_event 17609. https://dom.spec.whatwg.org/#interface-event 17610. https://html.spec.whatwg.org/#media-data 17611. https://html.spec.whatwg.org/#dom-media-error 17612. https://html.spec.whatwg.org/#dom-mediaerror-media_err_aborted 17613. https://html.spec.whatwg.org/#dom-media-networkstate 17614. https://html.spec.whatwg.org/#dom-media-network_empty 17615. https://html.spec.whatwg.org/#dom-media-network_idle 17616. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/error_event 17617. https://dom.spec.whatwg.org/#interface-event 17618. https://html.spec.whatwg.org/#media-data 17619. https://html.spec.whatwg.org/#dom-media-error 17620. https://html.spec.whatwg.org/#dom-mediaerror-media_err_network 17621. https://html.spec.whatwg.org/#dom-media-networkstate 17622. https://html.spec.whatwg.org/#dom-media-network_empty 17623. https://html.spec.whatwg.org/#dom-media-network_idle 17624. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/emptied_event 17625. https://dom.spec.whatwg.org/#interface-event 17626. https://html.spec.whatwg.org/#media-element 17627. https://html.spec.whatwg.org/#dom-media-networkstate 17628. https://html.spec.whatwg.org/#dom-media-network_empty 17629. https://html.spec.whatwg.org/#dom-media-load 17630. https://html.spec.whatwg.org/#concept-media-load-algorithm 17631. https://html.spec.whatwg.org/#dom-media-networkstate 17632. https://html.spec.whatwg.org/#dom-media-network_empty 17633. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/stalled_event 17634. https://dom.spec.whatwg.org/#interface-event 17635. https://html.spec.whatwg.org/#media-data 17636. https://html.spec.whatwg.org/#dom-media-networkstate 17637. https://html.spec.whatwg.org/#dom-media-network_loading 17638. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/loadedmetadata_event 17639. https://dom.spec.whatwg.org/#interface-event 17640. https://html.spec.whatwg.org/#media-resource 17641. https://html.spec.whatwg.org/#the-text-tracks-are-ready 17642. https://html.spec.whatwg.org/#dom-media-readystate 17643. https://html.spec.whatwg.org/#dom-media-have_metadata 17644. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/loadeddata_event 17645. https://dom.spec.whatwg.org/#interface-event 17646. https://html.spec.whatwg.org/#media-data 17647. https://html.spec.whatwg.org/#current-playback-position 17648. https://html.spec.whatwg.org/#dom-media-readystate 17649. https://html.spec.whatwg.org/#dom-media-have_current_data 17650. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/canplay_event 17651. https://dom.spec.whatwg.org/#interface-event 17652. https://html.spec.whatwg.org/#media-data 17653. https://html.spec.whatwg.org/#media-resource 17654. https://html.spec.whatwg.org/#dom-media-readystate 17655. https://html.spec.whatwg.org/#dom-media-have_future_data 17656. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/canplaythrough_event 17657. https://dom.spec.whatwg.org/#interface-event 17658. https://html.spec.whatwg.org/#media-resource 17659. https://html.spec.whatwg.org/#dom-media-readystate 17660. https://html.spec.whatwg.org/#dom-media-have_enough_data 17661. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/playing_event 17662. https://dom.spec.whatwg.org/#interface-event 17663. https://html.spec.whatwg.org/#media-data 17664. https://html.spec.whatwg.org/#dom-media-readystate 17665. https://html.spec.whatwg.org/#dom-media-have_future_data 17666. https://html.spec.whatwg.org/#dom-media-paused 17667. https://html.spec.whatwg.org/#dom-media-paused 17668. https://html.spec.whatwg.org/#dom-media-readystate 17669. https://html.spec.whatwg.org/#dom-media-have_future_data 17670. https://html.spec.whatwg.org/#potentially-playing 17671. https://html.spec.whatwg.org/#paused-for-user-interaction 17672. https://html.spec.whatwg.org/#paused-for-in-band-content 17673. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/waiting_event 17674. https://dom.spec.whatwg.org/#interface-event 17675. https://html.spec.whatwg.org/#dom-media-readystate 17676. https://html.spec.whatwg.org/#dom-media-have_current_data 17677. https://html.spec.whatwg.org/#dom-media-paused 17678. https://html.spec.whatwg.org/#dom-media-seeking 17679. https://html.spec.whatwg.org/#current-playback-position 17680. https://html.spec.whatwg.org/#dom-media-buffered 17681. https://html.spec.whatwg.org/#dom-media-paused 17682. https://html.spec.whatwg.org/#event-media-playing 17683. https://html.spec.whatwg.org/#ended-playback 17684. https://html.spec.whatwg.org/#stopped-due-to-errors 17685. https://html.spec.whatwg.org/#paused-for-user-interaction 17686. https://html.spec.whatwg.org/#paused-for-in-band-content 17687. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/seeking_event 17688. https://dom.spec.whatwg.org/#interface-event 17689. https://html.spec.whatwg.org/#dom-media-seeking 17690. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/seeked_event 17691. https://dom.spec.whatwg.org/#interface-event 17692. https://html.spec.whatwg.org/#dom-media-seeking 17693. https://html.spec.whatwg.org/#current-playback-position 17694. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/ended_event 17695. https://dom.spec.whatwg.org/#interface-event 17696. https://html.spec.whatwg.org/#media-resource 17697. https://html.spec.whatwg.org/#dom-media-currenttime 17698. https://html.spec.whatwg.org/#media-resource 17699. https://html.spec.whatwg.org/#dom-media-ended 17700. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/durationchange_event 17701. https://dom.spec.whatwg.org/#interface-event 17702. https://html.spec.whatwg.org/#dom-media-duration 17703. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/timeupdate_event 17704. https://dom.spec.whatwg.org/#interface-event 17705. https://html.spec.whatwg.org/#current-playback-position 17706. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/play_event 17707. https://dom.spec.whatwg.org/#interface-event 17708. https://html.spec.whatwg.org/#dom-media-play 17709. https://html.spec.whatwg.org/#attr-media-autoplay 17710. https://html.spec.whatwg.org/#dom-media-paused 17711. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/pause_event 17712. https://dom.spec.whatwg.org/#interface-event 17713. https://html.spec.whatwg.org/#dom-media-pause 17714. https://html.spec.whatwg.org/#dom-media-paused 17715. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/ratechange_event 17716. https://dom.spec.whatwg.org/#interface-event 17717. https://html.spec.whatwg.org/#dom-media-defaultplaybackrate 17718. https://html.spec.whatwg.org/#dom-media-playbackrate 17719. https://dom.spec.whatwg.org/#interface-event 17720. https://html.spec.whatwg.org/#dom-video-videowidth 17721. https://html.spec.whatwg.org/#dom-video-videoheight 17722. https://html.spec.whatwg.org/#media-element 17723. https://html.spec.whatwg.org/#the-video-element 17724. https://html.spec.whatwg.org/#dom-media-readystate 17725. https://html.spec.whatwg.org/#dom-media-have_nothing 17726. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/volumechange_event 17727. https://dom.spec.whatwg.org/#interface-event 17728. https://html.spec.whatwg.org/#dom-media-volume 17729. https://html.spec.whatwg.org/#dom-media-muted 17730. https://html.spec.whatwg.org/#the-source-element 17731. https://dom.spec.whatwg.org/#interface-event 17732. https://html.spec.whatwg.org/#media-data 17733. https://html.spec.whatwg.org/#audiotracklist 17734. https://html.spec.whatwg.org/#videotracklist 17735. https://html.spec.whatwg.org/#texttracklist 17736. https://developer.mozilla.org/en-US/docs/Web/API/AudioTrackList/change_event 17737. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackList/change_event 17738. https://developer.mozilla.org/en-US/docs/Web/API/VideoTrackList/change_event 17739. https://dom.spec.whatwg.org/#interface-event 17740. https://developer.mozilla.org/en-US/docs/Web/API/AudioTrackList/addtrack_event 17741. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackList/addtrack_event 17742. https://developer.mozilla.org/en-US/docs/Web/API/VideoTrackList/addtrack_event 17743. https://html.spec.whatwg.org/#trackevent 17744. https://developer.mozilla.org/en-US/docs/Web/API/AudioTrackList/removetrack_event 17745. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackList/removetrack_event 17746. https://developer.mozilla.org/en-US/docs/Web/API/VideoTrackList/removetrack_event 17747. https://html.spec.whatwg.org/#trackevent 17748. https://html.spec.whatwg.org/#texttrack 17749. https://html.spec.whatwg.org/#the-track-element 17750. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTrackElement/cuechange_event 17751. https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/cuechange_event 17752. https://dom.spec.whatwg.org/#interface-event 17753. https://html.spec.whatwg.org/#the-track-element 17754. https://dom.spec.whatwg.org/#interface-event 17755. https://dom.spec.whatwg.org/#interface-event 17756. https://html.spec.whatwg.org/#texttrackcue 17757. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackCue/enter_event 17758. https://dom.spec.whatwg.org/#interface-event 17759. https://developer.mozilla.org/en-US/docs/Web/API/TextTrackCue/exit_event 17760. https://dom.spec.whatwg.org/#interface-event 17761. https://html.spec.whatwg.org/#the-video-element 17762. https://html.spec.whatwg.org/#the-audio-element 17763. https://html.spec.whatwg.org/#document 17764. https://html.spec.whatwg.org/#top-level-traversable 17765. https://html.spec.whatwg.org/#the-video-element 17766. https://html.spec.whatwg.org/#the-img-element 17767. https://html.spec.whatwg.org/#attr-media-crossorigin 17768. https://html.spec.whatwg.org/#refsFETCH 17769. https://html.spec.whatwg.org/#media-element 17770. https://html.spec.whatwg.org/#attr-media-src 17771. https://html.spec.whatwg.org/#dom-media-srcobject 17772. https://html.spec.whatwg.org/#dom-media-srcobject 17773. https://html.spec.whatwg.org/#media-element 17774. https://html.spec.whatwg.org/#dom-media-buffered 17775. https://html.spec.whatwg.org/#media-element 17776. https://html.spec.whatwg.org/#remove-an-element-from-a-document 17777. https://html.spec.whatwg.org/#event-loop 17778. https://html.spec.whatwg.org/#step1 17779. https://html.spec.whatwg.org/#media-element 17780. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/map 17781. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMapElement 17782. https://html.spec.whatwg.org/#concept-element-categories 17783. https://html.spec.whatwg.org/#flow-content-2 17784. https://html.spec.whatwg.org/#phrasing-content-2 17785. https://html.spec.whatwg.org/#palpable-content-2 17786. https://html.spec.whatwg.org/#concept-element-contexts 17787. https://html.spec.whatwg.org/#phrasing-content-2 17788. https://html.spec.whatwg.org/#concept-element-content-model 17789. https://html.spec.whatwg.org/#transparent 17790. https://html.spec.whatwg.org/#concept-element-tag-omission 17791. https://html.spec.whatwg.org/#concept-element-attributes 17792. https://html.spec.whatwg.org/#global-attributes 17793. https://html.spec.whatwg.org/#attr-map-name 17794. https://html.spec.whatwg.org/#image-map 17795. https://html.spec.whatwg.org/#referenced 17796. https://html.spec.whatwg.org/#attr-hyperlink-usemap 17797. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 17798. https://w3c.github.io/html-aria/#el-map 17799. https://w3c.github.io/html-aam/#el-map 17800. https://html.spec.whatwg.org/#concept-element-dom 17801. https://html.spec.whatwg.org/#htmlelement 17802. https://html.spec.whatwg.org/#htmlconstructor 17803. https://html.spec.whatwg.org/#cereactions 17804. https://html.spec.whatwg.org/#dom-map-name 17805. https://dom.spec.whatwg.org/#interface-htmlcollection 17806. https://html.spec.whatwg.org/#dom-map-areas 17807. https://html.spec.whatwg.org/#the-map-element 17808. https://html.spec.whatwg.org/#the-img-element 17809. https://html.spec.whatwg.org/#the-area-element 17810. https://html.spec.whatwg.org/#image-map 17811. https://html.spec.whatwg.org/#represents 17812. https://html.spec.whatwg.org/#referenced 17813. https://infra.spec.whatwg.org/#ascii-whitespace 17814. https://html.spec.whatwg.org/#attr-map-name 17815. https://html.spec.whatwg.org/#attr-map-name 17816. https://html.spec.whatwg.org/#the-map-element 17817. https://dom.spec.whatwg.org/#concept-tree 17818. https://html.spec.whatwg.org/#the-id-attribute 17819. https://html.spec.whatwg.org/#dom-map-areas 17820. https://dom.spec.whatwg.org/#interface-htmlcollection 17821. https://html.spec.whatwg.org/#the-area-element 17822. https://html.spec.whatwg.org/#the-map-element 17823. https://dom.spec.whatwg.org/#interface-htmlcollection 17824. https://html.spec.whatwg.org/#the-map-element 17825. https://html.spec.whatwg.org/#the-area-element 17826. https://html.spec.whatwg.org/#reflect 17827. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/area 17828. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement 17829. https://html.spec.whatwg.org/#concept-element-categories 17830. https://html.spec.whatwg.org/#flow-content-2 17831. https://html.spec.whatwg.org/#phrasing-content-2 17832. https://html.spec.whatwg.org/#concept-element-contexts 17833. https://html.spec.whatwg.org/#phrasing-content-2 17834. https://html.spec.whatwg.org/#the-map-element 17835. https://html.spec.whatwg.org/#concept-element-content-model 17836. https://html.spec.whatwg.org/#concept-content-nothing 17837. https://html.spec.whatwg.org/#concept-element-tag-omission 17838. https://html.spec.whatwg.org/#syntax-end-tag 17839. https://html.spec.whatwg.org/#concept-element-attributes 17840. https://html.spec.whatwg.org/#global-attributes 17841. https://html.spec.whatwg.org/#attr-area-alt 17842. https://html.spec.whatwg.org/#attr-area-coords 17843. https://html.spec.whatwg.org/#image-map 17844. https://html.spec.whatwg.org/#attr-area-shape 17845. https://html.spec.whatwg.org/#image-map 17846. https://html.spec.whatwg.org/#attr-hyperlink-href 17847. https://html.spec.whatwg.org/#hyperlink 17848. https://html.spec.whatwg.org/#attr-hyperlink-target 17849. https://html.spec.whatwg.org/#navigable 17850. https://html.spec.whatwg.org/#hyperlink 17851. https://html.spec.whatwg.org/#navigate 17852. https://html.spec.whatwg.org/#attr-hyperlink-download 17853. https://html.spec.whatwg.org/#ping 17854. https://url.spec.whatwg.org/#concept-url 17855. https://html.spec.whatwg.org/#attr-hyperlink-rel 17856. https://html.spec.whatwg.org/#hyperlink 17857. https://html.spec.whatwg.org/#attr-hyperlink-referrerpolicy 17858. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 17859. https://fetch.spec.whatwg.org/#concept-fetch 17860. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 17861. https://html.spec.whatwg.org/#attr-hyperlink-href 17862. https://w3c.github.io/html-aria/#el-area 17863. https://w3c.github.io/html-aam/#el-area 17864. https://w3c.github.io/html-aria/#el-area-no-href 17865. https://w3c.github.io/html-aam/#el-area-no-href 17866. https://html.spec.whatwg.org/#concept-element-dom 17867. https://html.spec.whatwg.org/#htmlelement 17868. https://html.spec.whatwg.org/#htmlconstructor 17869. https://html.spec.whatwg.org/#cereactions 17870. https://html.spec.whatwg.org/#dom-area-alt 17871. https://html.spec.whatwg.org/#cereactions 17872. https://html.spec.whatwg.org/#dom-area-coords 17873. https://html.spec.whatwg.org/#cereactions 17874. https://html.spec.whatwg.org/#dom-area-shape 17875. https://html.spec.whatwg.org/#cereactions 17876. https://html.spec.whatwg.org/#dom-area-target 17877. https://html.spec.whatwg.org/#cereactions 17878. https://html.spec.whatwg.org/#dom-area-download 17879. https://html.spec.whatwg.org/#cereactions 17880. https://html.spec.whatwg.org/#dom-area-ping 17881. https://html.spec.whatwg.org/#cereactions 17882. https://html.spec.whatwg.org/#dom-area-rel 17883. https://dom.spec.whatwg.org/#dom-domtokenlist-value 17884. https://dom.spec.whatwg.org/#interface-domtokenlist 17885. https://html.spec.whatwg.org/#dom-area-rellist 17886. https://html.spec.whatwg.org/#cereactions 17887. https://html.spec.whatwg.org/#dom-area-referrerpolicy 17888. https://html.spec.whatwg.org/#HTMLAreaElement-partial 17889. https://html.spec.whatwg.org/#htmlareaelement 17890. https://html.spec.whatwg.org/#htmlhyperlinkelementutils 17891. https://html.spec.whatwg.org/#the-area-element 17892. https://html.spec.whatwg.org/#represents 17893. https://html.spec.whatwg.org/#image-map 17894. https://html.spec.whatwg.org/#the-area-element 17895. https://html.spec.whatwg.org/#the-map-element 17896. https://html.spec.whatwg.org/#the-area-element 17897. https://html.spec.whatwg.org/#attr-hyperlink-href 17898. https://html.spec.whatwg.org/#the-area-element 17899. https://html.spec.whatwg.org/#hyperlink 17900. https://html.spec.whatwg.org/#image-map 17901. https://html.spec.whatwg.org/#attr-area-alt 17902. https://html.spec.whatwg.org/#the-area-element 17903. https://html.spec.whatwg.org/#image-map 17904. https://html.spec.whatwg.org/#attr-area-alt 17905. https://html.spec.whatwg.org/#the-area-element 17906. https://html.spec.whatwg.org/#attr-hyperlink-href 17907. https://html.spec.whatwg.org/#attr-area-alt 17908. https://html.spec.whatwg.org/#attr-area-shape 17909. https://html.spec.whatwg.org/#attr-area-coords 17910. https://html.spec.whatwg.org/#enumerated-attribute 17911. https://html.spec.whatwg.org/#attr-area-shape-circle 17912. https://html.spec.whatwg.org/#attr-area-coords 17913. https://html.spec.whatwg.org/#attr-area-shape-default 17914. https://html.spec.whatwg.org/#attr-area-coords 17915. https://html.spec.whatwg.org/#attr-area-shape-poly 17916. https://html.spec.whatwg.org/#attr-area-coords 17917. https://html.spec.whatwg.org/#attr-area-shape-rect 17918. https://html.spec.whatwg.org/#attr-area-coords 17919. https://html.spec.whatwg.org/#missing-value-default 17920. https://html.spec.whatwg.org/#invalid-value-default 17921. https://html.spec.whatwg.org/#attr-area-shape-rect 17922. https://html.spec.whatwg.org/#valid-list-of-floating-point-numbers 17923. https://html.spec.whatwg.org/#attr-area-shape 17924. https://html.spec.whatwg.org/#image-map 17925. https://html.spec.whatwg.org/#the-area-element 17926. https://html.spec.whatwg.org/#attr-area-coords 17927. https://drafts.csswg.org/css-values/#px 17928. https://drafts.csswg.org/css-values/#px 17929. https://drafts.csswg.org/css-values/#px 17930. https://html.spec.whatwg.org/#the-area-element 17931. https://html.spec.whatwg.org/#attr-area-coords 17932. https://html.spec.whatwg.org/#the-area-element 17933. https://html.spec.whatwg.org/#attr-area-coords 17934. https://drafts.csswg.org/css-values/#px 17935. https://html.spec.whatwg.org/#the-area-element 17936. https://html.spec.whatwg.org/#attr-area-coords 17937. https://drafts.csswg.org/css-values/#px 17938. https://html.spec.whatwg.org/#following-hyperlinks-2 17939. https://html.spec.whatwg.org/#downloading-hyperlinks 17940. https://html.spec.whatwg.org/#the-area-element 17941. https://html.spec.whatwg.org/#attr-hyperlink-href 17942. https://html.spec.whatwg.org/#attr-hyperlink-target 17943. https://html.spec.whatwg.org/#attr-hyperlink-download 17944. https://html.spec.whatwg.org/#ping 17945. https://html.spec.whatwg.org/#attr-hyperlink-rel 17946. https://html.spec.whatwg.org/#attr-hyperlink-target 17947. https://html.spec.whatwg.org/#attr-hyperlink-download 17948. https://html.spec.whatwg.org/#ping 17949. https://html.spec.whatwg.org/#attr-hyperlink-rel 17950. https://html.spec.whatwg.org/#attr-hyperlink-referrerpolicy 17951. https://html.spec.whatwg.org/#attr-hyperlink-href 17952. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 17953. https://html.spec.whatwg.org/#the-area-element 17954. https://html.spec.whatwg.org/#attr-hyperlink-href 17955. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement/rel 17956. https://html.spec.whatwg.org/#reflect 17957. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement/relList 17958. https://html.spec.whatwg.org/#reflect 17959. https://html.spec.whatwg.org/#attr-hyperlink-rel 17960. https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement/referrerPolicy 17961. https://html.spec.whatwg.org/#reflect 17962. https://html.spec.whatwg.org/#attr-hyperlink-referrerpolicy 17963. https://html.spec.whatwg.org/#limited-to-only-known-values 17964. https://html.spec.whatwg.org/#hyperlink 17965. https://html.spec.whatwg.org/#the-img-element 17966. https://html.spec.whatwg.org/#the-map-element 17967. https://html.spec.whatwg.org/#the-img-element 17968. https://html.spec.whatwg.org/#attr-hyperlink-usemap 17969. https://html.spec.whatwg.org/#valid-hash-name-reference 17970. https://html.spec.whatwg.org/#the-map-element 17971. https://html.spec.whatwg.org/#the-img-element 17972. https://html.spec.whatwg.org/#attr-hyperlink-usemap 17973. https://html.spec.whatwg.org/#rules-for-parsing-a-hash-name-reference 17974. https://html.spec.whatwg.org/#the-map-element 17975. https://html.spec.whatwg.org/#the-area-element 17976. https://html.spec.whatwg.org/#the-area-element 17977. https://html.spec.whatwg.org/#the-img-element 17978. https://html.spec.whatwg.org/#the-area-element 17979. https://html.spec.whatwg.org/#attr-hyperlink-href 17980. https://html.spec.whatwg.org/#the-area-element 17981. https://html.spec.whatwg.org/#attr-area-alt 17982. https://html.spec.whatwg.org/#attr-area-alt 17983. https://html.spec.whatwg.org/#the-area-element 17984. https://html.spec.whatwg.org/#attr-hyperlink-href 17985. https://html.spec.whatwg.org/#attr-area-alt 17986. https://html.spec.whatwg.org/#the-area-element 17987. https://html.spec.whatwg.org/#hyperlink 17988. https://html.spec.whatwg.org/#the-img-element 17989. https://html.spec.whatwg.org/#the-area-element 17990. https://html.spec.whatwg.org/#the-img-element 17991. https://infra.spec.whatwg.org/#implementation-defined 17992. https://html.spec.whatwg.org/#the-area-element 17993. https://dom.spec.whatwg.org/#concept-tree-order 17994. https://html.spec.whatwg.org/#the-area-element 17995. https://dom.spec.whatwg.org/#concept-tree-order 17996. https://html.spec.whatwg.org/#the-area-element 17997. https://html.spec.whatwg.org/#attr-area-shape 17998. https://html.spec.whatwg.org/#rules-for-parsing-a-list-of-floating-point-numbers 17999. https://html.spec.whatwg.org/#attr-area-coords 18000. https://html.spec.whatwg.org/#the-area-element 18001. https://html.spec.whatwg.org/#attr-area-shape-circle 18002. https://html.spec.whatwg.org/#attr-area-shape-default 18003. https://html.spec.whatwg.org/#attr-area-shape-poly 18004. https://html.spec.whatwg.org/#attr-area-shape-rect 18005. https://html.spec.whatwg.org/#attr-area-shape 18006. https://html.spec.whatwg.org/#attr-area-shape-circle 18007. https://html.spec.whatwg.org/#attr-area-shape-default 18008. https://html.spec.whatwg.org/#attr-area-shape-poly 18009. https://html.spec.whatwg.org/#attr-area-shape-rect 18010. https://html.spec.whatwg.org/#attr-area-shape 18011. https://html.spec.whatwg.org/#attr-area-shape-rect 18012. https://html.spec.whatwg.org/#attr-area-shape 18013. https://html.spec.whatwg.org/#attr-area-shape-rect 18014. https://html.spec.whatwg.org/#attr-area-shape 18015. https://html.spec.whatwg.org/#attr-area-shape-circle 18016. https://html.spec.whatwg.org/#attr-area-shape 18017. https://html.spec.whatwg.org/#attr-area-shape-circle 18018. https://drafts.csswg.org/css-values/#px 18019. https://drafts.csswg.org/css-values/#px 18020. https://drafts.csswg.org/css-values/#px 18021. https://html.spec.whatwg.org/#attr-area-shape-default 18022. https://html.spec.whatwg.org/#attr-area-shape-poly 18023. https://drafts.csswg.org/css-values/#px 18024. https://html.spec.whatwg.org/#refsGRAPHICS 18025. https://html.spec.whatwg.org/#attr-area-shape-rect 18026. https://drafts.csswg.org/css-values/#px 18027. https://drafts.csswg.org/css2/#the-width-property 18028. https://drafts.csswg.org/css2/#the-height-property 18029. https://html.spec.whatwg.org/#the-area-element 18030. https://html.spec.whatwg.org/#hyperlink 18031. https://html.spec.whatwg.org/#the-map-element 18032. https://html.spec.whatwg.org/#the-area-element 18033. https://html.spec.whatwg.org/#the-img-element 18034. https://html.spec.whatwg.org/#the-area-element 18035. https://html.spec.whatwg.org/#focusable-area 18036. https://html.spec.whatwg.org/#live 18037. https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5/HTML5_Parser#Inline_SVG_and_MathML_support 18038. https://w3c.github.io/mathml-core/#the-top-level-math-element 18039. https://html.spec.whatwg.org/#embedded-content-category 18040. https://html.spec.whatwg.org/#phrasing-content-2 18041. https://html.spec.whatwg.org/#flow-content-2 18042. https://html.spec.whatwg.org/#palpable-content-2 18043. https://w3c.github.io/mathml-core/#dfn-annotation-xml 18044. https://infra.spec.whatwg.org/#html-namespace 18045. https://html.spec.whatwg.org/#flow-content-2 18046. https://w3c.github.io/mathml-core/#the-mi-element 18047. https://w3c.github.io/mathml-core/#operator-fence-separator-or-accent-mo 18048. https://w3c.github.io/mathml-core/#number-mn 18049. https://w3c.github.io/mathml-core/#string-literal-ms 18050. https://w3c.github.io/mathml-core/#text-mtext 18051. https://html.spec.whatwg.org/#phrasing-content-2 18052. https://infra.spec.whatwg.org/#html-namespace 18053. https://html.spec.whatwg.org/#inter-element-whitespace 18054. https://w3c.github.io/mathml-core/#text-mtext 18055. https://w3c.github.io/mathml-core/#error-message-merror 18056. https://html.spec.whatwg.org/#other-applicable-specifications 18057. https://html.spec.whatwg.org/#refsMATHML 18058. https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5/HTML5_Parser#Inline_SVG_and_MathML_support 18059. https://svgwg.org/svg2-draft/struct.html#SVGElement 18060. https://html.spec.whatwg.org/#embedded-content-category 18061. https://html.spec.whatwg.org/#phrasing-content-2 18062. https://html.spec.whatwg.org/#flow-content-2 18063. https://html.spec.whatwg.org/#palpable-content-2 18064. https://svgwg.org/svg2-draft/embedded.html#ForeignObjectElement 18065. https://infra.spec.whatwg.org/#html-namespace 18066. https://html.spec.whatwg.org/#flow-content-2 18067. https://svgwg.org/svg2-draft/struct.html#TitleElement 18068. https://dom.spec.whatwg.org/#html-document 18069. https://html.spec.whatwg.org/#phrasing-content-2 18070. https://html.spec.whatwg.org/#other-applicable-specifications 18071. https://html.spec.whatwg.org/#refsSVG 18072. https://html.spec.whatwg.org/#dom-media-getsvgdocument 18073. https://html.spec.whatwg.org/#dom-media-getsvgdocument 18074. https://html.spec.whatwg.org/#dom-media-getsvgdocument 18075. https://html.spec.whatwg.org/#document 18076. https://html.spec.whatwg.org/#the-iframe-element 18077. https://html.spec.whatwg.org/#the-embed-element 18078. https://html.spec.whatwg.org/#the-object-element 18079. https://webidl.spec.whatwg.org/#this 18080. https://html.spec.whatwg.org/#concept-bcc-content-document 18081. https://html.spec.whatwg.org/#read-xml 18082. https://mimesniff.spec.whatwg.org/#computed-mime-type 18083. https://html.spec.whatwg.org/#navigate 18084. https://html.spec.whatwg.org/#image/svg+xml 18085. https://html.spec.whatwg.org/#the-img-element 18086. https://html.spec.whatwg.org/#the-iframe-element 18087. https://html.spec.whatwg.org/#the-embed-element 18088. https://html.spec.whatwg.org/#the-object-element 18089. https://html.spec.whatwg.org/#the-video-element 18090. https://html.spec.whatwg.org/#the-source-element 18091. https://html.spec.whatwg.org/#the-picture-element 18092. https://html.spec.whatwg.org/#attr-input-type 18093. https://html.spec.whatwg.org/#image-button-state-(type=image) 18094. https://html.spec.whatwg.org/#the-input-element 18095. https://drafts.csswg.org/css-values/#px 18096. https://html.spec.whatwg.org/#valid-non-negative-integer 18097. https://drafts.csswg.org/css-values/#px 18098. https://drafts.csswg.org/css-images/#natural-width 18099. https://drafts.csswg.org/css-images/#natural-height 18100. https://html.spec.whatwg.org/#attr-dim-width 18101. https://html.spec.whatwg.org/#attr-dim-height 18102. https://drafts.csswg.org/css-images/#natural-width 18103. https://drafts.csswg.org/css-images/#natural-height 18104. https://html.spec.whatwg.org/#dimRendering 18105. https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/width 18106. https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/height 18107. https://html.spec.whatwg.org/#the-iframe-element 18108. https://html.spec.whatwg.org/#the-embed-element 18109. https://html.spec.whatwg.org/#the-object-element 18110. https://html.spec.whatwg.org/#the-source-element 18111. https://html.spec.whatwg.org/#the-video-element 18112. https://html.spec.whatwg.org/#reflect 18113. https://html.spec.whatwg.org/#the-iframe-element 18114. https://html.spec.whatwg.org/#the-embed-element 18115. https://html.spec.whatwg.org/#the-object-element 18116. https://webidl.spec.whatwg.org/#idl-DOMString 18117. https://html.spec.whatwg.org/#the-video-element 18118. https://html.spec.whatwg.org/#the-source-element 18119. https://webidl.spec.whatwg.org/#idl-unsigned-long 18120. https://html.spec.whatwg.org/#dom-img-height 18121. https://html.spec.whatwg.org/#dom-input-height 18122. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table 18123. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement 18124. https://html.spec.whatwg.org/#concept-element-categories 18125. https://html.spec.whatwg.org/#flow-content-2 18126. https://html.spec.whatwg.org/#palpable-content-2 18127. https://html.spec.whatwg.org/#concept-element-contexts 18128. https://html.spec.whatwg.org/#flow-content-2 18129. https://html.spec.whatwg.org/#concept-element-content-model 18130. https://html.spec.whatwg.org/#the-caption-element 18131. https://html.spec.whatwg.org/#the-colgroup-element 18132. https://html.spec.whatwg.org/#the-thead-element 18133. https://html.spec.whatwg.org/#the-tbody-element 18134. https://html.spec.whatwg.org/#the-tr-element 18135. https://html.spec.whatwg.org/#the-tfoot-element 18136. https://html.spec.whatwg.org/#script-supporting-elements-2 18137. https://html.spec.whatwg.org/#concept-element-tag-omission 18138. https://html.spec.whatwg.org/#concept-element-attributes 18139. https://html.spec.whatwg.org/#global-attributes 18140. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 18141. https://w3c.github.io/html-aria/#el-table 18142. https://w3c.github.io/html-aam/#el-table 18143. https://html.spec.whatwg.org/#concept-element-dom 18144. https://html.spec.whatwg.org/#htmlelement 18145. https://html.spec.whatwg.org/#htmlconstructor 18146. https://html.spec.whatwg.org/#cereactions 18147. https://html.spec.whatwg.org/#htmltablecaptionelement 18148. https://html.spec.whatwg.org/#dom-table-caption 18149. https://html.spec.whatwg.org/#htmltablecaptionelement 18150. https://html.spec.whatwg.org/#dom-table-createcaption 18151. https://html.spec.whatwg.org/#cereactions 18152. https://html.spec.whatwg.org/#dom-table-deletecaption 18153. https://html.spec.whatwg.org/#cereactions 18154. https://html.spec.whatwg.org/#htmltablesectionelement 18155. https://html.spec.whatwg.org/#dom-table-thead 18156. https://html.spec.whatwg.org/#htmltablesectionelement 18157. https://html.spec.whatwg.org/#dom-table-createthead 18158. https://html.spec.whatwg.org/#cereactions 18159. https://html.spec.whatwg.org/#dom-table-deletethead 18160. https://html.spec.whatwg.org/#cereactions 18161. https://html.spec.whatwg.org/#htmltablesectionelement 18162. https://html.spec.whatwg.org/#dom-table-tfoot 18163. https://html.spec.whatwg.org/#htmltablesectionelement 18164. https://html.spec.whatwg.org/#dom-table-createtfoot 18165. https://html.spec.whatwg.org/#cereactions 18166. https://html.spec.whatwg.org/#dom-table-deletetfoot 18167. https://dom.spec.whatwg.org/#interface-htmlcollection 18168. https://html.spec.whatwg.org/#dom-table-tbodies 18169. https://html.spec.whatwg.org/#htmltablesectionelement 18170. https://html.spec.whatwg.org/#dom-table-createtbody 18171. https://dom.spec.whatwg.org/#interface-htmlcollection 18172. https://html.spec.whatwg.org/#dom-table-rows 18173. https://html.spec.whatwg.org/#htmltablerowelement 18174. https://html.spec.whatwg.org/#dom-table-insertrow 18175. https://html.spec.whatwg.org/#cereactions 18176. https://html.spec.whatwg.org/#dom-table-deleterow 18177. https://html.spec.whatwg.org/#HTMLTableElement-partial 18178. https://html.spec.whatwg.org/#the-table-element 18179. https://html.spec.whatwg.org/#represents 18180. https://html.spec.whatwg.org/#concept-table 18181. https://html.spec.whatwg.org/#the-table-element 18182. https://html.spec.whatwg.org/#table-model 18183. https://html.spec.whatwg.org/#table-model 18184. https://html.spec.whatwg.org/#table-descriptions-techniques 18185. https://html.spec.whatwg.org/#refsCSS 18186. https://html.spec.whatwg.org/#table-layout-techniques 18187. https://html.spec.whatwg.org/#attr-aria-role 18188. https://w3c.github.io/aria/#presentation 18189. https://html.spec.whatwg.org/#attr-table-border 18190. https://html.spec.whatwg.org/#attr-table-cellspacing 18191. https://html.spec.whatwg.org/#attr-table-cellpadding 18192. https://html.spec.whatwg.org/#the-caption-element 18193. https://html.spec.whatwg.org/#the-thead-element 18194. https://html.spec.whatwg.org/#the-th-element 18195. https://html.spec.whatwg.org/#attr-tdth-headers 18196. https://html.spec.whatwg.org/#attr-th-scope 18197. https://html.spec.whatwg.org/#attr-table-border 18198. https://html.spec.whatwg.org/#attr-table-summary 18199. https://html.spec.whatwg.org/#the-table-element 18200. https://html.spec.whatwg.org/#attr-table-summary 18201. https://html.spec.whatwg.org/#dom-table-caption 18202. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/caption 18203. https://html.spec.whatwg.org/#the-caption-element 18204. https://html.spec.whatwg.org/#the-caption-element 18205. https://html.spec.whatwg.org/#dom-table-createcaption 18206. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/createCaption 18207. https://html.spec.whatwg.org/#the-caption-element 18208. https://html.spec.whatwg.org/#dom-table-deletecaption 18209. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/deleteCaption 18210. https://html.spec.whatwg.org/#the-caption-element 18211. https://html.spec.whatwg.org/#dom-table-thead 18212. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/tHead 18213. https://html.spec.whatwg.org/#the-thead-element 18214. https://html.spec.whatwg.org/#the-thead-element 18215. https://html.spec.whatwg.org/#the-thead-element 18216. https://webidl.spec.whatwg.org/#hierarchyrequesterror 18217. https://webidl.spec.whatwg.org/#dfn-DOMException 18218. https://html.spec.whatwg.org/#dom-table-createthead 18219. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/createTHead 18220. https://html.spec.whatwg.org/#the-thead-element 18221. https://html.spec.whatwg.org/#dom-table-deletethead 18222. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/deleteTHead 18223. https://html.spec.whatwg.org/#the-thead-element 18224. https://html.spec.whatwg.org/#dom-table-tfoot 18225. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/tFoot 18226. https://html.spec.whatwg.org/#the-tfoot-element 18227. https://html.spec.whatwg.org/#the-tfoot-element 18228. https://html.spec.whatwg.org/#the-tfoot-element 18229. https://webidl.spec.whatwg.org/#hierarchyrequesterror 18230. https://webidl.spec.whatwg.org/#dfn-DOMException 18231. https://html.spec.whatwg.org/#dom-table-createtfoot 18232. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/createTFoot 18233. https://html.spec.whatwg.org/#the-tfoot-element 18234. https://html.spec.whatwg.org/#dom-table-deletetfoot 18235. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/deleteTFoot 18236. https://html.spec.whatwg.org/#the-tfoot-element 18237. https://html.spec.whatwg.org/#dom-table-tbodies 18238. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/tBodies 18239. https://dom.spec.whatwg.org/#interface-htmlcollection 18240. https://html.spec.whatwg.org/#the-tbody-element 18241. https://html.spec.whatwg.org/#dom-table-createtbody 18242. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/createTBody 18243. https://html.spec.whatwg.org/#the-tbody-element 18244. https://html.spec.whatwg.org/#dom-table-rows 18245. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/rows 18246. https://dom.spec.whatwg.org/#interface-htmlcollection 18247. https://html.spec.whatwg.org/#the-tr-element 18248. https://html.spec.whatwg.org/#dom-table-insertrow 18249. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/insertRow 18250. https://html.spec.whatwg.org/#the-tr-element 18251. https://html.spec.whatwg.org/#the-tbody-element 18252. https://html.spec.whatwg.org/#the-tr-element 18253. https://webidl.spec.whatwg.org/#indexsizeerror 18254. https://webidl.spec.whatwg.org/#dfn-DOMException 18255. https://html.spec.whatwg.org/#dom-table-deleterow 18256. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/deleteRow 18257. https://html.spec.whatwg.org/#the-tr-element 18258. https://webidl.spec.whatwg.org/#indexsizeerror 18259. https://webidl.spec.whatwg.org/#dfn-DOMException 18260. https://dom.spec.whatwg.org/#concept-create-element 18261. https://html.spec.whatwg.org/#the-table-element 18262. https://dom.spec.whatwg.org/#concept-node-document 18263. https://infra.spec.whatwg.org/#html-namespace 18264. https://html.spec.whatwg.org/#the-caption-element 18265. https://html.spec.whatwg.org/#the-table-element 18266. https://html.spec.whatwg.org/#the-caption-element 18267. https://html.spec.whatwg.org/#the-table-element 18268. https://html.spec.whatwg.org/#the-table-element 18269. https://html.spec.whatwg.org/#the-caption-element 18270. https://html.spec.whatwg.org/#the-table-element 18271. https://html.spec.whatwg.org/#the-caption-element 18272. https://html.spec.whatwg.org/#table-created 18273. https://html.spec.whatwg.org/#the-table-element 18274. https://html.spec.whatwg.org/#the-caption-element 18275. https://html.spec.whatwg.org/#the-table-element 18276. https://html.spec.whatwg.org/#the-thead-element 18277. https://html.spec.whatwg.org/#the-table-element 18278. https://html.spec.whatwg.org/#the-thead-element 18279. https://html.spec.whatwg.org/#the-thead-element 18280. https://html.spec.whatwg.org/#the-table-element 18281. https://html.spec.whatwg.org/#the-table-element 18282. https://html.spec.whatwg.org/#the-caption-element 18283. https://html.spec.whatwg.org/#the-colgroup-element 18284. https://html.spec.whatwg.org/#the-thead-element 18285. https://webidl.spec.whatwg.org/#hierarchyrequesterror 18286. https://webidl.spec.whatwg.org/#dfn-DOMException 18287. https://html.spec.whatwg.org/#the-thead-element 18288. https://html.spec.whatwg.org/#the-table-element 18289. https://html.spec.whatwg.org/#the-thead-element 18290. https://html.spec.whatwg.org/#table-created 18291. https://html.spec.whatwg.org/#the-table-element 18292. https://html.spec.whatwg.org/#the-caption-element 18293. https://html.spec.whatwg.org/#the-colgroup-element 18294. https://html.spec.whatwg.org/#the-thead-element 18295. https://html.spec.whatwg.org/#the-table-element 18296. https://html.spec.whatwg.org/#the-tfoot-element 18297. https://html.spec.whatwg.org/#the-table-element 18298. https://html.spec.whatwg.org/#the-tfoot-element 18299. https://html.spec.whatwg.org/#the-tfoot-element 18300. https://html.spec.whatwg.org/#the-table-element 18301. https://html.spec.whatwg.org/#the-tfoot-element 18302. https://webidl.spec.whatwg.org/#hierarchyrequesterror 18303. https://webidl.spec.whatwg.org/#dfn-DOMException 18304. https://html.spec.whatwg.org/#the-tfoot-element 18305. https://html.spec.whatwg.org/#the-table-element 18306. https://html.spec.whatwg.org/#the-tfoot-element 18307. https://html.spec.whatwg.org/#table-created 18308. https://html.spec.whatwg.org/#the-tfoot-element 18309. https://html.spec.whatwg.org/#the-table-element 18310. https://dom.spec.whatwg.org/#interface-htmlcollection 18311. https://html.spec.whatwg.org/#the-table-element 18312. https://html.spec.whatwg.org/#the-tbody-element 18313. https://html.spec.whatwg.org/#the-table-element 18314. https://html.spec.whatwg.org/#table-created 18315. https://html.spec.whatwg.org/#the-tbody-element 18316. https://html.spec.whatwg.org/#the-tbody-element 18317. https://html.spec.whatwg.org/#the-table-element 18318. https://html.spec.whatwg.org/#the-table-element 18319. https://html.spec.whatwg.org/#the-table-element 18320. https://html.spec.whatwg.org/#the-tbody-element 18321. https://html.spec.whatwg.org/#the-tbody-element 18322. https://dom.spec.whatwg.org/#interface-htmlcollection 18323. https://html.spec.whatwg.org/#the-table-element 18324. https://html.spec.whatwg.org/#the-tr-element 18325. https://html.spec.whatwg.org/#the-table-element 18326. https://html.spec.whatwg.org/#the-thead-element 18327. https://html.spec.whatwg.org/#the-tbody-element 18328. https://html.spec.whatwg.org/#the-tfoot-element 18329. https://html.spec.whatwg.org/#the-table-element 18330. https://html.spec.whatwg.org/#the-thead-element 18331. https://dom.spec.whatwg.org/#concept-tree-order 18332. https://html.spec.whatwg.org/#the-table-element 18333. https://html.spec.whatwg.org/#the-tbody-element 18334. https://dom.spec.whatwg.org/#concept-tree-order 18335. https://html.spec.whatwg.org/#the-tfoot-element 18336. https://dom.spec.whatwg.org/#concept-tree-order 18337. https://html.spec.whatwg.org/#dom-table-rows 18338. https://webidl.spec.whatwg.org/#indexsizeerror 18339. https://webidl.spec.whatwg.org/#dfn-DOMException 18340. https://html.spec.whatwg.org/#dom-table-rows 18341. https://html.spec.whatwg.org/#the-table-element 18342. https://html.spec.whatwg.org/#the-tbody-element 18343. https://html.spec.whatwg.org/#table-created 18344. https://html.spec.whatwg.org/#the-tbody-element 18345. https://html.spec.whatwg.org/#table-created 18346. https://html.spec.whatwg.org/#the-tr-element 18347. https://html.spec.whatwg.org/#the-tr-element 18348. https://html.spec.whatwg.org/#the-tbody-element 18349. https://html.spec.whatwg.org/#the-tbody-element 18350. https://html.spec.whatwg.org/#the-table-element 18351. https://html.spec.whatwg.org/#the-tr-element 18352. https://html.spec.whatwg.org/#dom-table-rows 18353. https://html.spec.whatwg.org/#table-created 18354. https://html.spec.whatwg.org/#the-tr-element 18355. https://html.spec.whatwg.org/#the-tbody-element 18356. https://html.spec.whatwg.org/#the-tr-element 18357. https://html.spec.whatwg.org/#dom-table-rows 18358. https://html.spec.whatwg.org/#table-created 18359. https://html.spec.whatwg.org/#the-tr-element 18360. https://html.spec.whatwg.org/#the-tr-element 18361. https://html.spec.whatwg.org/#dom-table-rows 18362. https://html.spec.whatwg.org/#the-tr-element 18363. https://html.spec.whatwg.org/#table-created 18364. https://html.spec.whatwg.org/#the-tr-element 18365. https://html.spec.whatwg.org/#the-tr-element 18366. https://html.spec.whatwg.org/#dom-table-rows 18367. https://html.spec.whatwg.org/#the-tr-element 18368. https://html.spec.whatwg.org/#dom-table-rows 18369. https://webidl.spec.whatwg.org/#indexsizeerror 18370. https://webidl.spec.whatwg.org/#dfn-DOMException 18371. https://dom.spec.whatwg.org/#concept-node-remove 18372. https://html.spec.whatwg.org/#dom-table-rows 18373. https://html.spec.whatwg.org/#dom-table-rows 18374. https://dom.spec.whatwg.org/#concept-node-remove 18375. https://html.spec.whatwg.org/#dom-table-rows 18376. https://html.spec.whatwg.org/#the-caption-element 18377. https://html.spec.whatwg.org/#the-caption-element 18378. https://html.spec.whatwg.org/#the-details-element 18379. https://html.spec.whatwg.org/#the-figure-element 18380. https://html.spec.whatwg.org/#the-figure-element 18381. https://html.spec.whatwg.org/#the-figcaption-element 18382. https://html.spec.whatwg.org/#attr-tdth-headers 18383. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption 18384. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableCaptionElement 18385. https://html.spec.whatwg.org/#concept-element-categories 18386. https://html.spec.whatwg.org/#concept-element-contexts 18387. https://html.spec.whatwg.org/#the-table-element 18388. https://html.spec.whatwg.org/#concept-element-content-model 18389. https://html.spec.whatwg.org/#flow-content-2 18390. https://html.spec.whatwg.org/#the-table-element 18391. https://html.spec.whatwg.org/#concept-element-tag-omission 18392. https://html.spec.whatwg.org/#the-caption-element 18393. https://html.spec.whatwg.org/#syntax-end-tag 18394. https://html.spec.whatwg.org/#the-caption-element 18395. https://infra.spec.whatwg.org/#ascii-whitespace 18396. https://html.spec.whatwg.org/#syntax-comments 18397. https://html.spec.whatwg.org/#concept-element-attributes 18398. https://html.spec.whatwg.org/#global-attributes 18399. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 18400. https://w3c.github.io/html-aria/#el-caption 18401. https://w3c.github.io/html-aam/#el-caption 18402. https://html.spec.whatwg.org/#concept-element-dom 18403. https://html.spec.whatwg.org/#htmlelement 18404. https://html.spec.whatwg.org/#htmlconstructor 18405. https://html.spec.whatwg.org/#HTMLTableCaptionElement-partial 18406. https://html.spec.whatwg.org/#the-caption-element 18407. https://html.spec.whatwg.org/#represents 18408. https://html.spec.whatwg.org/#the-table-element 18409. https://html.spec.whatwg.org/#the-table-element 18410. https://html.spec.whatwg.org/#the-caption-element 18411. https://html.spec.whatwg.org/#table-model 18412. https://html.spec.whatwg.org/#the-table-element 18413. https://html.spec.whatwg.org/#the-figure-element 18414. https://html.spec.whatwg.org/#the-figcaption-element 18415. https://html.spec.whatwg.org/#the-caption-element 18416. https://html.spec.whatwg.org/#the-figcaption-element 18417. https://html.spec.whatwg.org/#referenced 18418. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup 18419. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableColElement 18420. https://html.spec.whatwg.org/#concept-element-categories 18421. https://html.spec.whatwg.org/#concept-element-contexts 18422. https://html.spec.whatwg.org/#the-table-element 18423. https://html.spec.whatwg.org/#the-caption-element 18424. https://html.spec.whatwg.org/#the-thead-element 18425. https://html.spec.whatwg.org/#the-tbody-element 18426. https://html.spec.whatwg.org/#the-tfoot-element 18427. https://html.spec.whatwg.org/#the-tr-element 18428. https://html.spec.whatwg.org/#concept-element-content-model 18429. https://html.spec.whatwg.org/#attr-colgroup-span 18430. https://html.spec.whatwg.org/#concept-content-nothing 18431. https://html.spec.whatwg.org/#attr-colgroup-span 18432. https://html.spec.whatwg.org/#the-col-element 18433. https://html.spec.whatwg.org/#the-template-element 18434. https://html.spec.whatwg.org/#concept-element-tag-omission 18435. https://html.spec.whatwg.org/#the-colgroup-element 18436. https://html.spec.whatwg.org/#syntax-start-tag 18437. https://html.spec.whatwg.org/#the-colgroup-element 18438. https://html.spec.whatwg.org/#the-col-element 18439. https://html.spec.whatwg.org/#the-colgroup-element 18440. https://html.spec.whatwg.org/#syntax-end-tag 18441. https://html.spec.whatwg.org/#the-colgroup-element 18442. https://html.spec.whatwg.org/#syntax-end-tag 18443. https://html.spec.whatwg.org/#the-colgroup-element 18444. https://infra.spec.whatwg.org/#ascii-whitespace 18445. https://html.spec.whatwg.org/#syntax-comments 18446. https://html.spec.whatwg.org/#concept-element-attributes 18447. https://html.spec.whatwg.org/#global-attributes 18448. https://html.spec.whatwg.org/#attr-colgroup-span 18449. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 18450. https://w3c.github.io/html-aria/#el-colgroup 18451. https://w3c.github.io/html-aam/#el-colgroup 18452. https://html.spec.whatwg.org/#concept-element-dom 18453. https://html.spec.whatwg.org/#htmlelement 18454. https://html.spec.whatwg.org/#htmlconstructor 18455. https://html.spec.whatwg.org/#cereactions 18456. https://html.spec.whatwg.org/#dom-colgroup-span 18457. https://html.spec.whatwg.org/#HTMLTableColElement-partial 18458. https://html.spec.whatwg.org/#the-colgroup-element 18459. https://html.spec.whatwg.org/#represents 18460. https://html.spec.whatwg.org/#concept-column-group 18461. https://html.spec.whatwg.org/#concept-column 18462. https://html.spec.whatwg.org/#the-table-element 18463. https://html.spec.whatwg.org/#the-table-element 18464. https://html.spec.whatwg.org/#the-colgroup-element 18465. https://html.spec.whatwg.org/#the-col-element 18466. https://html.spec.whatwg.org/#valid-non-negative-integer 18467. https://html.spec.whatwg.org/#the-colgroup-element 18468. https://html.spec.whatwg.org/#attr-colgroup-span 18469. https://html.spec.whatwg.org/#table-model 18470. https://html.spec.whatwg.org/#reflect 18471. https://html.spec.whatwg.org/#clamped-to-the-range 18472. https://html.spec.whatwg.org/#default-value 18473. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col 18474. https://html.spec.whatwg.org/#concept-element-categories 18475. https://html.spec.whatwg.org/#concept-element-contexts 18476. https://html.spec.whatwg.org/#the-colgroup-element 18477. https://html.spec.whatwg.org/#attr-col-span 18478. https://html.spec.whatwg.org/#concept-element-content-model 18479. https://html.spec.whatwg.org/#concept-content-nothing 18480. https://html.spec.whatwg.org/#concept-element-tag-omission 18481. https://html.spec.whatwg.org/#syntax-end-tag 18482. https://html.spec.whatwg.org/#concept-element-attributes 18483. https://html.spec.whatwg.org/#global-attributes 18484. https://html.spec.whatwg.org/#attr-col-span 18485. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 18486. https://w3c.github.io/html-aria/#el-col 18487. https://w3c.github.io/html-aam/#el-col 18488. https://html.spec.whatwg.org/#concept-element-dom 18489. https://html.spec.whatwg.org/#htmltablecolelement 18490. https://html.spec.whatwg.org/#the-colgroup-element 18491. https://html.spec.whatwg.org/#the-col-element 18492. https://html.spec.whatwg.org/#the-colgroup-element 18493. https://html.spec.whatwg.org/#the-table-element 18494. https://html.spec.whatwg.org/#the-col-element 18495. https://html.spec.whatwg.org/#represents 18496. https://html.spec.whatwg.org/#concept-column 18497. https://html.spec.whatwg.org/#concept-column-group 18498. https://html.spec.whatwg.org/#the-colgroup-element 18499. https://html.spec.whatwg.org/#valid-non-negative-integer 18500. https://html.spec.whatwg.org/#the-col-element 18501. https://html.spec.whatwg.org/#attr-col-span 18502. https://html.spec.whatwg.org/#table-model 18503. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody 18504. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableSectionElement 18505. https://html.spec.whatwg.org/#concept-element-categories 18506. https://html.spec.whatwg.org/#concept-element-contexts 18507. https://html.spec.whatwg.org/#the-table-element 18508. https://html.spec.whatwg.org/#the-caption-element 18509. https://html.spec.whatwg.org/#the-colgroup-element 18510. https://html.spec.whatwg.org/#the-thead-element 18511. https://html.spec.whatwg.org/#the-tr-element 18512. https://html.spec.whatwg.org/#the-table-element 18513. https://html.spec.whatwg.org/#concept-element-content-model 18514. https://html.spec.whatwg.org/#the-tr-element 18515. https://html.spec.whatwg.org/#script-supporting-elements-2 18516. https://html.spec.whatwg.org/#concept-element-tag-omission 18517. https://html.spec.whatwg.org/#the-tbody-element 18518. https://html.spec.whatwg.org/#syntax-start-tag 18519. https://html.spec.whatwg.org/#the-tbody-element 18520. https://html.spec.whatwg.org/#the-tr-element 18521. https://html.spec.whatwg.org/#the-tbody-element 18522. https://html.spec.whatwg.org/#the-thead-element 18523. https://html.spec.whatwg.org/#the-tfoot-element 18524. https://html.spec.whatwg.org/#syntax-end-tag 18525. https://html.spec.whatwg.org/#the-tbody-element 18526. https://html.spec.whatwg.org/#syntax-end-tag 18527. https://html.spec.whatwg.org/#the-tbody-element 18528. https://html.spec.whatwg.org/#the-tbody-element 18529. https://html.spec.whatwg.org/#the-tfoot-element 18530. https://html.spec.whatwg.org/#concept-element-attributes 18531. https://html.spec.whatwg.org/#global-attributes 18532. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 18533. https://w3c.github.io/html-aria/#el-tbody 18534. https://w3c.github.io/html-aam/#el-tbody 18535. https://html.spec.whatwg.org/#concept-element-dom 18536. https://html.spec.whatwg.org/#htmlelement 18537. https://html.spec.whatwg.org/#htmlconstructor 18538. https://dom.spec.whatwg.org/#interface-htmlcollection 18539. https://html.spec.whatwg.org/#dom-tbody-rows 18540. https://html.spec.whatwg.org/#htmltablerowelement 18541. https://html.spec.whatwg.org/#dom-tbody-insertrow 18542. https://html.spec.whatwg.org/#cereactions 18543. https://html.spec.whatwg.org/#dom-tbody-deleterow 18544. https://html.spec.whatwg.org/#HTMLTableSectionElement-partial 18545. https://html.spec.whatwg.org/#htmltablesectionelement 18546. https://html.spec.whatwg.org/#the-thead-element 18547. https://html.spec.whatwg.org/#the-tfoot-element 18548. https://html.spec.whatwg.org/#the-tbody-element 18549. https://html.spec.whatwg.org/#represents 18550. https://html.spec.whatwg.org/#concept-row-group 18551. https://html.spec.whatwg.org/#concept-row 18552. https://html.spec.whatwg.org/#the-table-element 18553. https://html.spec.whatwg.org/#the-tbody-element 18554. https://html.spec.whatwg.org/#the-table-element 18555. https://html.spec.whatwg.org/#the-tbody-element 18556. https://html.spec.whatwg.org/#table-model 18557. https://html.spec.whatwg.org/#dom-tbody-rows 18558. https://dom.spec.whatwg.org/#interface-htmlcollection 18559. https://html.spec.whatwg.org/#the-tr-element 18560. https://html.spec.whatwg.org/#dom-tbody-insertrow 18561. https://html.spec.whatwg.org/#the-tr-element 18562. https://html.spec.whatwg.org/#the-tr-element 18563. https://webidl.spec.whatwg.org/#indexsizeerror 18564. https://webidl.spec.whatwg.org/#dfn-DOMException 18565. https://html.spec.whatwg.org/#dom-tbody-deleterow 18566. https://html.spec.whatwg.org/#the-tr-element 18567. https://webidl.spec.whatwg.org/#indexsizeerror 18568. https://webidl.spec.whatwg.org/#dfn-DOMException 18569. https://dom.spec.whatwg.org/#interface-htmlcollection 18570. https://html.spec.whatwg.org/#the-tr-element 18571. https://html.spec.whatwg.org/#dom-tbody-rows 18572. https://webidl.spec.whatwg.org/#indexsizeerror 18573. https://webidl.spec.whatwg.org/#dfn-DOMException 18574. https://dom.spec.whatwg.org/#concept-create-element 18575. https://dom.spec.whatwg.org/#concept-node-document 18576. https://infra.spec.whatwg.org/#html-namespace 18577. https://html.spec.whatwg.org/#dom-tbody-rows 18578. https://dom.spec.whatwg.org/#concept-node-append 18579. https://dom.spec.whatwg.org/#concept-node-insert 18580. https://html.spec.whatwg.org/#the-tr-element 18581. https://html.spec.whatwg.org/#dom-tbody-rows 18582. https://html.spec.whatwg.org/#dom-tbody-rows 18583. https://webidl.spec.whatwg.org/#indexsizeerror 18584. https://webidl.spec.whatwg.org/#dfn-DOMException 18585. https://dom.spec.whatwg.org/#concept-node-remove 18586. https://html.spec.whatwg.org/#dom-tbody-rows 18587. https://html.spec.whatwg.org/#dom-tbody-rows 18588. https://dom.spec.whatwg.org/#concept-node-remove 18589. https://html.spec.whatwg.org/#dom-tbody-rows 18590. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead 18591. https://html.spec.whatwg.org/#concept-element-categories 18592. https://html.spec.whatwg.org/#concept-element-contexts 18593. https://html.spec.whatwg.org/#the-table-element 18594. https://html.spec.whatwg.org/#the-caption-element 18595. https://html.spec.whatwg.org/#the-colgroup-element 18596. https://html.spec.whatwg.org/#the-tbody-element 18597. https://html.spec.whatwg.org/#the-tfoot-element 18598. https://html.spec.whatwg.org/#the-tr-element 18599. https://html.spec.whatwg.org/#the-thead-element 18600. https://html.spec.whatwg.org/#the-table-element 18601. https://html.spec.whatwg.org/#concept-element-content-model 18602. https://html.spec.whatwg.org/#the-tr-element 18603. https://html.spec.whatwg.org/#script-supporting-elements-2 18604. https://html.spec.whatwg.org/#concept-element-tag-omission 18605. https://html.spec.whatwg.org/#the-thead-element 18606. https://html.spec.whatwg.org/#syntax-end-tag 18607. https://html.spec.whatwg.org/#the-thead-element 18608. https://html.spec.whatwg.org/#the-tbody-element 18609. https://html.spec.whatwg.org/#the-tfoot-element 18610. https://html.spec.whatwg.org/#concept-element-attributes 18611. https://html.spec.whatwg.org/#global-attributes 18612. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 18613. https://w3c.github.io/html-aria/#el-thead 18614. https://w3c.github.io/html-aam/#el-thead 18615. https://html.spec.whatwg.org/#concept-element-dom 18616. https://html.spec.whatwg.org/#htmltablesectionelement 18617. https://html.spec.whatwg.org/#the-tbody-element 18618. https://html.spec.whatwg.org/#the-thead-element 18619. https://html.spec.whatwg.org/#represents 18620. https://html.spec.whatwg.org/#concept-row-group 18621. https://html.spec.whatwg.org/#concept-row 18622. https://html.spec.whatwg.org/#the-table-element 18623. https://html.spec.whatwg.org/#the-thead-element 18624. https://html.spec.whatwg.org/#the-table-element 18625. https://html.spec.whatwg.org/#the-thead-element 18626. https://html.spec.whatwg.org/#table-model 18627. https://html.spec.whatwg.org/#the-thead-element 18628. https://html.spec.whatwg.org/#the-th-element 18629. https://html.spec.whatwg.org/#the-td-element 18630. https://html.spec.whatwg.org/#the-thead-element 18631. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tfoot 18632. https://html.spec.whatwg.org/#concept-element-categories 18633. https://html.spec.whatwg.org/#concept-element-contexts 18634. https://html.spec.whatwg.org/#the-table-element 18635. https://html.spec.whatwg.org/#the-caption-element 18636. https://html.spec.whatwg.org/#the-colgroup-element 18637. https://html.spec.whatwg.org/#the-thead-element 18638. https://html.spec.whatwg.org/#the-tbody-element 18639. https://html.spec.whatwg.org/#the-tr-element 18640. https://html.spec.whatwg.org/#the-tfoot-element 18641. https://html.spec.whatwg.org/#the-table-element 18642. https://html.spec.whatwg.org/#concept-element-content-model 18643. https://html.spec.whatwg.org/#the-tr-element 18644. https://html.spec.whatwg.org/#script-supporting-elements-2 18645. https://html.spec.whatwg.org/#concept-element-tag-omission 18646. https://html.spec.whatwg.org/#the-tfoot-element 18647. https://html.spec.whatwg.org/#syntax-end-tag 18648. https://html.spec.whatwg.org/#concept-element-attributes 18649. https://html.spec.whatwg.org/#global-attributes 18650. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 18651. https://w3c.github.io/html-aria/#el-tfoot 18652. https://w3c.github.io/html-aam/#el-tfoot 18653. https://html.spec.whatwg.org/#concept-element-dom 18654. https://html.spec.whatwg.org/#htmltablesectionelement 18655. https://html.spec.whatwg.org/#the-tbody-element 18656. https://html.spec.whatwg.org/#the-tfoot-element 18657. https://html.spec.whatwg.org/#represents 18658. https://html.spec.whatwg.org/#concept-row-group 18659. https://html.spec.whatwg.org/#concept-row 18660. https://html.spec.whatwg.org/#the-table-element 18661. https://html.spec.whatwg.org/#the-tfoot-element 18662. https://html.spec.whatwg.org/#the-table-element 18663. https://html.spec.whatwg.org/#the-tfoot-element 18664. https://html.spec.whatwg.org/#table-model 18665. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr 18666. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableRowElement 18667. https://html.spec.whatwg.org/#concept-element-categories 18668. https://html.spec.whatwg.org/#concept-element-contexts 18669. https://html.spec.whatwg.org/#the-thead-element 18670. https://html.spec.whatwg.org/#the-tbody-element 18671. https://html.spec.whatwg.org/#the-tfoot-element 18672. https://html.spec.whatwg.org/#the-table-element 18673. https://html.spec.whatwg.org/#the-caption-element 18674. https://html.spec.whatwg.org/#the-colgroup-element 18675. https://html.spec.whatwg.org/#the-thead-element 18676. https://html.spec.whatwg.org/#the-tbody-element 18677. https://html.spec.whatwg.org/#the-table-element 18678. https://html.spec.whatwg.org/#concept-element-content-model 18679. https://html.spec.whatwg.org/#the-td-element 18680. https://html.spec.whatwg.org/#the-th-element 18681. https://html.spec.whatwg.org/#script-supporting-elements-2 18682. https://html.spec.whatwg.org/#concept-element-tag-omission 18683. https://html.spec.whatwg.org/#the-tr-element 18684. https://html.spec.whatwg.org/#syntax-end-tag 18685. https://html.spec.whatwg.org/#the-tr-element 18686. https://html.spec.whatwg.org/#the-tr-element 18687. https://html.spec.whatwg.org/#concept-element-attributes 18688. https://html.spec.whatwg.org/#global-attributes 18689. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 18690. https://w3c.github.io/html-aria/#el-tr 18691. https://w3c.github.io/html-aam/#el-tr 18692. https://html.spec.whatwg.org/#concept-element-dom 18693. https://html.spec.whatwg.org/#htmlelement 18694. https://html.spec.whatwg.org/#htmlconstructor 18695. https://html.spec.whatwg.org/#dom-tr-rowindex 18696. https://html.spec.whatwg.org/#dom-tr-sectionrowindex 18697. https://dom.spec.whatwg.org/#interface-htmlcollection 18698. https://html.spec.whatwg.org/#dom-tr-cells 18699. https://html.spec.whatwg.org/#htmltablecellelement 18700. https://html.spec.whatwg.org/#dom-tr-insertcell 18701. https://html.spec.whatwg.org/#cereactions 18702. https://html.spec.whatwg.org/#dom-tr-deletecell 18703. https://html.spec.whatwg.org/#HTMLTableRowElement-partial 18704. https://html.spec.whatwg.org/#the-tr-element 18705. https://html.spec.whatwg.org/#represents 18706. https://html.spec.whatwg.org/#concept-row 18707. https://html.spec.whatwg.org/#concept-cell 18708. https://html.spec.whatwg.org/#concept-table 18709. https://html.spec.whatwg.org/#the-tr-element 18710. https://html.spec.whatwg.org/#table-model 18711. https://html.spec.whatwg.org/#dom-tr-rowindex 18712. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableRowElement/rowIndex 18713. https://html.spec.whatwg.org/#dom-table-rows 18714. https://html.spec.whatwg.org/#dom-tr-sectionrowindex 18715. https://html.spec.whatwg.org/#dom-tbody-rows 18716. https://html.spec.whatwg.org/#dom-tr-cells 18717. https://dom.spec.whatwg.org/#interface-htmlcollection 18718. https://html.spec.whatwg.org/#the-td-element 18719. https://html.spec.whatwg.org/#the-th-element 18720. https://html.spec.whatwg.org/#dom-tr-insertcell 18721. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableRowElement/insertCell 18722. https://html.spec.whatwg.org/#the-td-element 18723. https://html.spec.whatwg.org/#the-td-element 18724. https://webidl.spec.whatwg.org/#indexsizeerror 18725. https://webidl.spec.whatwg.org/#dfn-DOMException 18726. https://html.spec.whatwg.org/#dom-tr-deletecell 18727. https://html.spec.whatwg.org/#the-td-element 18728. https://html.spec.whatwg.org/#the-th-element 18729. https://webidl.spec.whatwg.org/#indexsizeerror 18730. https://webidl.spec.whatwg.org/#dfn-DOMException 18731. https://html.spec.whatwg.org/#the-table-element 18732. https://html.spec.whatwg.org/#the-tbody-element 18733. https://html.spec.whatwg.org/#the-thead-element 18734. https://html.spec.whatwg.org/#the-tfoot-element 18735. https://html.spec.whatwg.org/#the-table-element 18736. https://html.spec.whatwg.org/#the-tr-element 18737. https://html.spec.whatwg.org/#the-table-element 18738. https://html.spec.whatwg.org/#dom-table-rows 18739. https://html.spec.whatwg.org/#the-table-element 18740. https://html.spec.whatwg.org/#the-table-element 18741. https://html.spec.whatwg.org/#the-tbody-element 18742. https://html.spec.whatwg.org/#the-thead-element 18743. https://html.spec.whatwg.org/#the-tfoot-element 18744. https://html.spec.whatwg.org/#the-tr-element 18745. https://html.spec.whatwg.org/#htmltableelement 18746. https://html.spec.whatwg.org/#dom-table-rows 18747. https://html.spec.whatwg.org/#htmltablesectionelement 18748. https://html.spec.whatwg.org/#dom-tbody-rows 18749. https://dom.spec.whatwg.org/#interface-htmlcollection 18750. https://html.spec.whatwg.org/#the-tr-element 18751. https://html.spec.whatwg.org/#the-td-element 18752. https://html.spec.whatwg.org/#the-th-element 18753. https://html.spec.whatwg.org/#the-tr-element 18754. https://html.spec.whatwg.org/#dom-tr-cells 18755. https://webidl.spec.whatwg.org/#indexsizeerror 18756. https://webidl.spec.whatwg.org/#dfn-DOMException 18757. https://dom.spec.whatwg.org/#concept-create-element 18758. https://html.spec.whatwg.org/#the-tr-element 18759. https://dom.spec.whatwg.org/#concept-node-document 18760. https://infra.spec.whatwg.org/#html-namespace 18761. https://html.spec.whatwg.org/#dom-tr-cells 18762. https://dom.spec.whatwg.org/#concept-node-append 18763. https://html.spec.whatwg.org/#the-tr-element 18764. https://dom.spec.whatwg.org/#concept-node-insert 18765. https://html.spec.whatwg.org/#the-tr-element 18766. https://html.spec.whatwg.org/#the-td-element 18767. https://html.spec.whatwg.org/#the-th-element 18768. https://html.spec.whatwg.org/#dom-tr-cells 18769. https://html.spec.whatwg.org/#dom-tr-cells 18770. https://webidl.spec.whatwg.org/#indexsizeerror 18771. https://webidl.spec.whatwg.org/#dfn-DOMException 18772. https://dom.spec.whatwg.org/#concept-node-remove 18773. https://html.spec.whatwg.org/#dom-tr-cells 18774. https://html.spec.whatwg.org/#dom-tr-cells 18775. https://dom.spec.whatwg.org/#concept-node-remove 18776. https://html.spec.whatwg.org/#dom-tr-cells 18777. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td 18778. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableCellElement 18779. https://html.spec.whatwg.org/#concept-element-categories 18780. https://html.spec.whatwg.org/#concept-element-contexts 18781. https://html.spec.whatwg.org/#the-tr-element 18782. https://html.spec.whatwg.org/#concept-element-content-model 18783. https://html.spec.whatwg.org/#flow-content-2 18784. https://html.spec.whatwg.org/#concept-element-tag-omission 18785. https://html.spec.whatwg.org/#the-td-element 18786. https://html.spec.whatwg.org/#syntax-end-tag 18787. https://html.spec.whatwg.org/#the-td-element 18788. https://html.spec.whatwg.org/#the-td-element 18789. https://html.spec.whatwg.org/#the-th-element 18790. https://html.spec.whatwg.org/#concept-element-attributes 18791. https://html.spec.whatwg.org/#global-attributes 18792. https://html.spec.whatwg.org/#attr-tdth-colspan 18793. https://html.spec.whatwg.org/#attr-tdth-rowspan 18794. https://html.spec.whatwg.org/#attr-tdth-headers 18795. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 18796. https://w3c.github.io/html-aria/#el-td 18797. https://w3c.github.io/html-aam/#el-td 18798. https://html.spec.whatwg.org/#concept-element-dom 18799. https://html.spec.whatwg.org/#htmlelement 18800. https://html.spec.whatwg.org/#htmlconstructor 18801. https://html.spec.whatwg.org/#cereactions 18802. https://html.spec.whatwg.org/#dom-tdth-colspan 18803. https://html.spec.whatwg.org/#cereactions 18804. https://html.spec.whatwg.org/#dom-tdth-rowspan 18805. https://html.spec.whatwg.org/#cereactions 18806. https://html.spec.whatwg.org/#dom-tdth-headers 18807. https://html.spec.whatwg.org/#dom-tdth-cellindex 18808. https://html.spec.whatwg.org/#cereactions 18809. https://html.spec.whatwg.org/#dom-th-scope 18810. https://html.spec.whatwg.org/#cereactions 18811. https://html.spec.whatwg.org/#dom-th-abbr 18812. https://html.spec.whatwg.org/#HTMLTableCellElement-partial 18813. https://html.spec.whatwg.org/#htmltablecellelement 18814. https://html.spec.whatwg.org/#the-th-element 18815. https://html.spec.whatwg.org/#the-td-element 18816. https://html.spec.whatwg.org/#represents 18817. https://html.spec.whatwg.org/#concept-cell 18818. https://html.spec.whatwg.org/#the-td-element 18819. https://html.spec.whatwg.org/#attr-tdth-colspan 18820. https://html.spec.whatwg.org/#attr-tdth-rowspan 18821. https://html.spec.whatwg.org/#attr-tdth-headers 18822. https://html.spec.whatwg.org/#table-model 18823. https://html.spec.whatwg.org/#table-model 18824. https://html.spec.whatwg.org/#algorithm-for-assigning-header-cells 18825. https://html.spec.whatwg.org/#attr-th-abbr 18826. https://html.spec.whatwg.org/#the-th-element 18827. https://html.spec.whatwg.org/#the-td-element 18828. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th 18829. https://html.spec.whatwg.org/#concept-element-categories 18830. https://html.spec.whatwg.org/#concept-element-contexts 18831. https://html.spec.whatwg.org/#the-tr-element 18832. https://html.spec.whatwg.org/#concept-element-content-model 18833. https://html.spec.whatwg.org/#flow-content-2 18834. https://html.spec.whatwg.org/#the-header-element 18835. https://html.spec.whatwg.org/#the-footer-element 18836. https://html.spec.whatwg.org/#sectioning-content-2 18837. https://html.spec.whatwg.org/#heading-content-2 18838. https://html.spec.whatwg.org/#concept-element-tag-omission 18839. https://html.spec.whatwg.org/#the-th-element 18840. https://html.spec.whatwg.org/#syntax-end-tag 18841. https://html.spec.whatwg.org/#the-th-element 18842. https://html.spec.whatwg.org/#the-td-element 18843. https://html.spec.whatwg.org/#the-th-element 18844. https://html.spec.whatwg.org/#concept-element-attributes 18845. https://html.spec.whatwg.org/#global-attributes 18846. https://html.spec.whatwg.org/#attr-tdth-colspan 18847. https://html.spec.whatwg.org/#attr-tdth-rowspan 18848. https://html.spec.whatwg.org/#attr-tdth-headers 18849. https://html.spec.whatwg.org/#attr-th-scope 18850. https://html.spec.whatwg.org/#attr-th-abbr 18851. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 18852. https://w3c.github.io/html-aria/#el-th 18853. https://w3c.github.io/html-aam/#el-th 18854. https://html.spec.whatwg.org/#concept-element-dom 18855. https://html.spec.whatwg.org/#htmltablecellelement 18856. https://html.spec.whatwg.org/#the-td-element 18857. https://html.spec.whatwg.org/#the-th-element 18858. https://html.spec.whatwg.org/#represents 18859. https://html.spec.whatwg.org/#concept-cell 18860. https://html.spec.whatwg.org/#the-th-element 18861. https://html.spec.whatwg.org/#attr-th-scope 18862. https://html.spec.whatwg.org/#enumerated-attribute 18863. https://html.spec.whatwg.org/#missing-value-default 18864. https://html.spec.whatwg.org/#invalid-value-default 18865. https://html.spec.whatwg.org/#the-th-element 18866. https://html.spec.whatwg.org/#attr-th-scope 18867. https://html.spec.whatwg.org/#attr-th-scope-rowgroup-state 18868. https://html.spec.whatwg.org/#concept-row-group 18869. https://html.spec.whatwg.org/#attr-th-scope-colgroup-state 18870. https://html.spec.whatwg.org/#concept-column-group 18871. https://html.spec.whatwg.org/#the-th-element 18872. https://html.spec.whatwg.org/#the-th-element 18873. https://html.spec.whatwg.org/#attr-tdth-colspan 18874. https://html.spec.whatwg.org/#attr-tdth-rowspan 18875. https://html.spec.whatwg.org/#attr-tdth-headers 18876. https://html.spec.whatwg.org/#attr-th-scope 18877. https://html.spec.whatwg.org/#table-model 18878. https://html.spec.whatwg.org/#attr-th-scope 18879. https://html.spec.whatwg.org/#attr-th-scope-rowgroup 18880. https://html.spec.whatwg.org/#attr-th-scope 18881. https://html.spec.whatwg.org/#attr-th-scope-rowgroup-state 18882. https://html.spec.whatwg.org/#the-td-element 18883. https://html.spec.whatwg.org/#the-th-element 18884. https://html.spec.whatwg.org/#the-td-element 18885. https://html.spec.whatwg.org/#the-th-element 18886. https://html.spec.whatwg.org/#valid-non-negative-integer 18887. https://html.spec.whatwg.org/#the-td-element 18888. https://html.spec.whatwg.org/#the-th-element 18889. https://html.spec.whatwg.org/#valid-non-negative-integer 18890. https://html.spec.whatwg.org/#table-model 18891. https://html.spec.whatwg.org/#the-td-element 18892. https://html.spec.whatwg.org/#the-th-element 18893. https://html.spec.whatwg.org/#attr-tdth-headers 18894. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 18895. https://infra.spec.whatwg.org/#string-is 18896. https://dom.spec.whatwg.org/#concept-id 18897. https://html.spec.whatwg.org/#the-th-element 18898. https://html.spec.whatwg.org/#concept-table 18899. https://html.spec.whatwg.org/#the-td-element 18900. https://html.spec.whatwg.org/#the-th-element 18901. https://html.spec.whatwg.org/#table-model 18902. https://html.spec.whatwg.org/#the-th-element 18903. https://dom.spec.whatwg.org/#concept-id 18904. https://html.spec.whatwg.org/#the-td-element 18905. https://html.spec.whatwg.org/#the-th-element 18906. https://html.spec.whatwg.org/#concept-table 18907. https://html.spec.whatwg.org/#attr-tdth-headers 18908. https://dom.spec.whatwg.org/#concept-id 18909. https://html.spec.whatwg.org/#the-th-element 18910. https://html.spec.whatwg.org/#the-th-element 18911. https://html.spec.whatwg.org/#the-td-element 18912. https://html.spec.whatwg.org/#the-th-element 18913. https://html.spec.whatwg.org/#attr-tdth-colspan 18914. https://html.spec.whatwg.org/#attr-tdth-rowspan 18915. https://html.spec.whatwg.org/#attr-tdth-headers 18916. https://html.spec.whatwg.org/#table-model 18917. https://html.spec.whatwg.org/#dom-tdth-cellindex 18918. https://html.spec.whatwg.org/#dom-tr-cells 18919. https://html.spec.whatwg.org/#reflect 18920. https://html.spec.whatwg.org/#attr-tdth-colspan 18921. https://html.spec.whatwg.org/#clamped-to-the-range 18922. https://html.spec.whatwg.org/#default-value 18923. https://html.spec.whatwg.org/#reflect 18924. https://html.spec.whatwg.org/#attr-tdth-rowspan 18925. https://html.spec.whatwg.org/#clamped-to-the-range 18926. https://html.spec.whatwg.org/#default-value 18927. https://html.spec.whatwg.org/#reflect 18928. https://html.spec.whatwg.org/#the-tr-element 18929. https://html.spec.whatwg.org/#dom-tr-cells 18930. https://html.spec.whatwg.org/#reflect 18931. https://html.spec.whatwg.org/#limited-to-only-known-values 18932. https://html.spec.whatwg.org/#reflect 18933. https://html.spec.whatwg.org/#the-table-element 18934. https://html.spec.whatwg.org/#the-td-element 18935. https://html.spec.whatwg.org/#the-th-element 18936. https://html.spec.whatwg.org/#the-tr-element 18937. https://html.spec.whatwg.org/#concept-row-group 18938. https://html.spec.whatwg.org/#concept-row 18939. https://html.spec.whatwg.org/#concept-cell 18940. https://html.spec.whatwg.org/#the-col-element 18941. https://html.spec.whatwg.org/#the-col-element 18942. https://html.spec.whatwg.org/#concept-row 18943. https://html.spec.whatwg.org/#the-tbody-element 18944. https://html.spec.whatwg.org/#the-thead-element 18945. https://html.spec.whatwg.org/#the-tfoot-element 18946. https://html.spec.whatwg.org/#concept-column 18947. https://html.spec.whatwg.org/#the-colgroup-element 18948. https://html.spec.whatwg.org/#concept-row-group 18949. https://html.spec.whatwg.org/#concept-column-group 18950. https://html.spec.whatwg.org/#concept-cell 18951. https://html.spec.whatwg.org/#concept-row-group 18952. https://html.spec.whatwg.org/#concept-column-group 18953. https://html.spec.whatwg.org/#concept-row-group 18954. https://html.spec.whatwg.org/#concept-column-group 18955. https://html.spec.whatwg.org/#concept-cell 18956. https://html.spec.whatwg.org/#concept-column 18957. https://html.spec.whatwg.org/#concept-row 18958. https://html.spec.whatwg.org/#concept-row-group 18959. https://html.spec.whatwg.org/#concept-column-group 18960. https://html.spec.whatwg.org/#concept-table 18961. https://html.spec.whatwg.org/#the-caption-element 18962. https://html.spec.whatwg.org/#the-table-element 18963. https://html.spec.whatwg.org/#concept-table 18964. https://html.spec.whatwg.org/#the-table-element 18965. https://html.spec.whatwg.org/#table-model-error 18966. https://html.spec.whatwg.org/#the-tfoot-element 18967. https://html.spec.whatwg.org/#the-tfoot-element 18968. https://html.spec.whatwg.org/#concept-table 18969. https://html.spec.whatwg.org/#the-table-element 18970. https://html.spec.whatwg.org/#the-table-element 18971. https://html.spec.whatwg.org/#the-caption-element 18972. https://html.spec.whatwg.org/#the-table-element 18973. https://html.spec.whatwg.org/#the-caption-element 18974. https://html.spec.whatwg.org/#the-table-element 18975. https://html.spec.whatwg.org/#concept-table-advance 18976. https://html.spec.whatwg.org/#the-table-element 18977. https://html.spec.whatwg.org/#the-colgroup-element 18978. https://html.spec.whatwg.org/#the-thead-element 18979. https://html.spec.whatwg.org/#the-tbody-element 18980. https://html.spec.whatwg.org/#the-tfoot-element 18981. https://html.spec.whatwg.org/#the-tr-element 18982. https://html.spec.whatwg.org/#the-colgroup-element 18983. https://html.spec.whatwg.org/#the-col-element 18984. https://html.spec.whatwg.org/#the-col-element 18985. https://html.spec.whatwg.org/#the-colgroup-element 18986. https://html.spec.whatwg.org/#the-col-element 18987. https://html.spec.whatwg.org/#attr-col-span 18988. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 18989. https://html.spec.whatwg.org/#the-col-element 18990. https://html.spec.whatwg.org/#attr-col-span 18991. https://html.spec.whatwg.org/#concept-column 18992. https://html.spec.whatwg.org/#the-col-element 18993. https://html.spec.whatwg.org/#the-col-element 18994. https://html.spec.whatwg.org/#the-colgroup-element 18995. https://html.spec.whatwg.org/#the-col-element 18996. https://html.spec.whatwg.org/#the-colgroup-element 18997. https://html.spec.whatwg.org/#concept-column 18998. https://html.spec.whatwg.org/#concept-column-group 18999. https://html.spec.whatwg.org/#the-colgroup-element 19000. https://html.spec.whatwg.org/#the-col-element 19001. https://html.spec.whatwg.org/#the-colgroup-element 19002. https://html.spec.whatwg.org/#attr-colgroup-span 19003. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 19004. https://html.spec.whatwg.org/#the-colgroup-element 19005. https://html.spec.whatwg.org/#attr-colgroup-span 19006. https://html.spec.whatwg.org/#concept-column 19007. https://html.spec.whatwg.org/#concept-column-group 19008. https://html.spec.whatwg.org/#the-colgroup-element 19009. https://html.spec.whatwg.org/#concept-table-advance 19010. https://html.spec.whatwg.org/#the-table-element 19011. https://html.spec.whatwg.org/#concept-table-advance 19012. https://html.spec.whatwg.org/#the-table-element 19013. https://html.spec.whatwg.org/#the-colgroup-element 19014. https://html.spec.whatwg.org/#the-thead-element 19015. https://html.spec.whatwg.org/#the-tbody-element 19016. https://html.spec.whatwg.org/#the-tfoot-element 19017. https://html.spec.whatwg.org/#the-tr-element 19018. https://html.spec.whatwg.org/#the-colgroup-element 19019. https://html.spec.whatwg.org/#concept-table-advance 19020. https://html.spec.whatwg.org/#the-table-element 19021. https://html.spec.whatwg.org/#the-thead-element 19022. https://html.spec.whatwg.org/#the-tbody-element 19023. https://html.spec.whatwg.org/#the-tfoot-element 19024. https://html.spec.whatwg.org/#the-tr-element 19025. https://html.spec.whatwg.org/#the-tr-element 19026. https://html.spec.whatwg.org/#algorithm-for-processing-rows 19027. https://html.spec.whatwg.org/#concept-table-advance 19028. https://html.spec.whatwg.org/#the-table-element 19029. https://html.spec.whatwg.org/#algorithm-for-ending-a-row-group 19030. https://html.spec.whatwg.org/#the-tfoot-element 19031. https://html.spec.whatwg.org/#the-tfoot-element 19032. https://html.spec.whatwg.org/#concept-table-advance 19033. https://html.spec.whatwg.org/#the-table-element 19034. https://html.spec.whatwg.org/#the-thead-element 19035. https://html.spec.whatwg.org/#the-tbody-element 19036. https://html.spec.whatwg.org/#algorithm-for-processing-row-groups 19037. https://html.spec.whatwg.org/#concept-table-advance 19038. https://html.spec.whatwg.org/#the-table-element 19039. https://html.spec.whatwg.org/#the-tfoot-element 19040. https://html.spec.whatwg.org/#the-tfoot-element 19041. https://dom.spec.whatwg.org/#concept-tree-order 19042. https://html.spec.whatwg.org/#algorithm-for-processing-row-groups 19043. https://html.spec.whatwg.org/#concept-row 19044. https://html.spec.whatwg.org/#concept-column 19045. https://html.spec.whatwg.org/#concept-slots 19046. https://html.spec.whatwg.org/#concept-cell 19047. https://html.spec.whatwg.org/#table-model-error 19048. https://html.spec.whatwg.org/#the-thead-element 19049. https://html.spec.whatwg.org/#the-tbody-element 19050. https://html.spec.whatwg.org/#the-tfoot-element 19051. https://html.spec.whatwg.org/#the-tr-element 19052. https://html.spec.whatwg.org/#algorithm-for-processing-rows 19053. https://html.spec.whatwg.org/#concept-row 19054. https://html.spec.whatwg.org/#concept-row-group 19055. https://html.spec.whatwg.org/#algorithm-for-ending-a-row-group 19056. https://html.spec.whatwg.org/#algorithm-for-growing-downward-growing-cells 19057. https://html.spec.whatwg.org/#the-tr-element 19058. https://html.spec.whatwg.org/#algorithm-for-growing-downward-growing-cells 19059. https://html.spec.whatwg.org/#the-tr-element 19060. https://html.spec.whatwg.org/#the-td-element 19061. https://html.spec.whatwg.org/#the-th-element 19062. https://html.spec.whatwg.org/#the-td-element 19063. https://html.spec.whatwg.org/#the-th-element 19064. https://html.spec.whatwg.org/#the-tr-element 19065. https://html.spec.whatwg.org/#attr-tdth-colspan 19066. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 19067. https://html.spec.whatwg.org/#attr-tdth-rowspan 19068. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 19069. https://html.spec.whatwg.org/#the-table-element 19070. https://dom.spec.whatwg.org/#concept-node-document 19071. https://dom.spec.whatwg.org/#concept-document-quirks 19072. https://html.spec.whatwg.org/#concept-cell 19073. https://html.spec.whatwg.org/#the-th-element 19074. https://html.spec.whatwg.org/#algorithm-for-assigning-header-cells 19075. https://html.spec.whatwg.org/#concept-cell 19076. https://html.spec.whatwg.org/#table-model-error 19077. https://html.spec.whatwg.org/#the-td-element 19078. https://html.spec.whatwg.org/#the-th-element 19079. https://html.spec.whatwg.org/#the-tr-element 19080. https://html.spec.whatwg.org/#the-td-element 19081. https://html.spec.whatwg.org/#the-th-element 19082. https://html.spec.whatwg.org/#the-tr-element 19083. https://html.spec.whatwg.org/#concept-cell 19084. https://html.spec.whatwg.org/#attr-tdth-headers 19085. https://html.spec.whatwg.org/#attr-tdth-headers 19086. https://infra.spec.whatwg.org/#split-on-ascii-whitespace 19087. https://html.spec.whatwg.org/#document 19088. https://dom.spec.whatwg.org/#concept-id 19089. https://html.spec.whatwg.org/#concept-table 19090. https://html.spec.whatwg.org/#attr-tdth-headers 19091. https://html.spec.whatwg.org/#internal-algorithm-for-scanning-and-assigning-header-cells 19092. https://html.spec.whatwg.org/#internal-algorithm-for-scanning-and-assigning-header-cells 19093. https://html.spec.whatwg.org/#concept-row-group 19094. https://html.spec.whatwg.org/#row-group-header 19095. https://html.spec.whatwg.org/#concept-column-group 19096. https://html.spec.whatwg.org/#column-group-header 19097. https://html.spec.whatwg.org/#empty-cell 19098. https://html.spec.whatwg.org/#column-header 19099. https://html.spec.whatwg.org/#row-header 19100. https://html.spec.whatwg.org/#attr-th-scope 19101. https://html.spec.whatwg.org/#attr-th-scope-column-state 19102. https://html.spec.whatwg.org/#attr-th-scope 19103. https://html.spec.whatwg.org/#attr-th-scope-auto-state 19104. https://html.spec.whatwg.org/#attr-th-scope 19105. https://html.spec.whatwg.org/#attr-th-scope-row-state 19106. https://html.spec.whatwg.org/#attr-th-scope 19107. https://html.spec.whatwg.org/#attr-th-scope-auto-state 19108. https://html.spec.whatwg.org/#column-header 19109. https://html.spec.whatwg.org/#attr-th-scope 19110. https://html.spec.whatwg.org/#attr-th-scope-colgroup-state 19111. https://html.spec.whatwg.org/#attr-th-scope 19112. https://html.spec.whatwg.org/#attr-th-scope-rowgroup-state 19113. https://dom.spec.whatwg.org/#concept-child-text-content 19114. https://infra.spec.whatwg.org/#ascii-whitespace 19115. https://developer.mozilla.org/en-US/docs/Web/HTML/Element#Forms 19116. https://html.spec.whatwg.org/#the-form-element 19117. https://html.spec.whatwg.org/#the-input-element 19118. https://html.spec.whatwg.org/#the-label-element 19119. https://html.spec.whatwg.org/#the-label-element 19120. https://html.spec.whatwg.org/#paragraph 19121. https://html.spec.whatwg.org/#the-p-element 19122. https://html.spec.whatwg.org/#the-input-element 19123. https://html.spec.whatwg.org/#attr-input-type 19124. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 19125. https://html.spec.whatwg.org/#attr-fe-name 19126. https://html.spec.whatwg.org/#the-fieldset-element 19127. https://html.spec.whatwg.org/#the-fieldset-element 19128. https://html.spec.whatwg.org/#the-legend-element 19129. https://html.spec.whatwg.org/#the-input-element 19130. https://html.spec.whatwg.org/#attr-input-type 19131. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 19132. https://html.spec.whatwg.org/#the-input-element 19133. https://html.spec.whatwg.org/#attr-input-type 19134. https://html.spec.whatwg.org/#telephone-state-(type=tel) 19135. https://html.spec.whatwg.org/#the-input-element 19136. https://html.spec.whatwg.org/#attr-input-type 19137. https://html.spec.whatwg.org/#email-state-(type=email) 19138. https://html.spec.whatwg.org/#the-input-element 19139. https://html.spec.whatwg.org/#attr-input-type 19140. https://html.spec.whatwg.org/#time-state-(type=time) 19141. https://html.spec.whatwg.org/#attr-input-min 19142. https://html.spec.whatwg.org/#attr-input-max 19143. https://html.spec.whatwg.org/#attr-input-step 19144. https://html.spec.whatwg.org/#the-textarea-element 19145. https://html.spec.whatwg.org/#the-button-element 19146. https://html.spec.whatwg.org/#attr-fs-enctype-urlencoded 19147. https://html.spec.whatwg.org/#attr-fs-method 19148. https://html.spec.whatwg.org/#the-form-element 19149. https://html.spec.whatwg.org/#attr-fs-enctype 19150. https://url.spec.whatwg.org/#concept-url 19151. https://html.spec.whatwg.org/#attr-fs-action 19152. https://html.spec.whatwg.org/#attr-fe-name 19153. https://html.spec.whatwg.org/#attr-input-value 19154. https://html.spec.whatwg.org/#attr-input-value 19155. https://html.spec.whatwg.org/#syntax-attributes 19156. https://developer.mozilla.org/en-US/docs/Web/Forms/Form_validation 19157. https://html.spec.whatwg.org/#attr-input-required 19158. https://html.spec.whatwg.org/#the-input-element 19159. https://html.spec.whatwg.org/#attr-fe-maxlength 19160. https://html.spec.whatwg.org/#the-textarea-element 19161. https://html.spec.whatwg.org/#event-invalid 19162. https://html.spec.whatwg.org/#attr-fe-autocomplete 19163. https://html.spec.whatwg.org/#attr-inputmode 19164. https://html.spec.whatwg.org/#attr-input-type 19165. https://html.spec.whatwg.org/#attr-fe-autocomplete 19166. https://html.spec.whatwg.org/#attr-inputmode 19167. https://html.spec.whatwg.org/#attr-input-type 19168. https://html.spec.whatwg.org/#the-input-element 19169. https://html.spec.whatwg.org/#the-input-element 19170. https://html.spec.whatwg.org/#the-textarea-element 19171. https://html.spec.whatwg.org/#the-select-element 19172. https://html.spec.whatwg.org/#attr-fe-autocomplete 19173. https://html.spec.whatwg.org/#telephone-state-(type=tel) 19174. https://html.spec.whatwg.org/#attr-fe-autocomplete 19175. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel-national 19176. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel 19177. https://html.spec.whatwg.org/#attr-fe-autocomplete 19178. https://html.spec.whatwg.org/#attr-fe-autocomplete-language 19179. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 19180. https://html.spec.whatwg.org/#the-select-element 19181. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 19182. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 19183. https://html.spec.whatwg.org/#attr-fe-autocomplete 19184. https://html.spec.whatwg.org/#attr-fe-autocomplete-name 19185. https://html.spec.whatwg.org/#attr-fe-autocomplete-section 19186. https://html.spec.whatwg.org/#attr-fe-autocomplete 19187. https://html.spec.whatwg.org/#attr-input-type 19188. https://html.spec.whatwg.org/#attr-fe-autocomplete 19189. https://html.spec.whatwg.org/#attr-inputmode 19190. https://html.spec.whatwg.org/#number-state-(type=number) 19191. https://html.spec.whatwg.org/#when-number-is-not-appropriate 19192. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 19193. https://html.spec.whatwg.org/#input-impl-notes 19194. https://html.spec.whatwg.org/#flow-content-2 19195. https://html.spec.whatwg.org/#phrasing-content-2 19196. https://html.spec.whatwg.org/#interactive-content-2 19197. https://html.spec.whatwg.org/#form-owner 19198. https://html.spec.whatwg.org/#the-button-element 19199. https://html.spec.whatwg.org/#the-fieldset-element 19200. https://html.spec.whatwg.org/#the-input-element 19201. https://html.spec.whatwg.org/#the-object-element 19202. https://html.spec.whatwg.org/#the-output-element 19203. https://html.spec.whatwg.org/#the-select-element 19204. https://html.spec.whatwg.org/#the-textarea-element 19205. https://html.spec.whatwg.org/#the-img-element 19206. https://html.spec.whatwg.org/#form-associated-custom-element 19207. https://html.spec.whatwg.org/#form-associated-element 19208. https://html.spec.whatwg.org/#dom-form-elements 19209. https://html.spec.whatwg.org/#dom-fieldset-elements 19210. https://html.spec.whatwg.org/#attr-fae-form 19211. https://html.spec.whatwg.org/#dom-fae-form 19212. https://html.spec.whatwg.org/#form-owner 19213. https://html.spec.whatwg.org/#the-button-element 19214. https://html.spec.whatwg.org/#the-fieldset-element 19215. https://html.spec.whatwg.org/#the-input-element 19216. https://html.spec.whatwg.org/#the-object-element 19217. https://html.spec.whatwg.org/#the-output-element 19218. https://html.spec.whatwg.org/#the-select-element 19219. https://html.spec.whatwg.org/#the-textarea-element 19220. https://html.spec.whatwg.org/#form-associated-custom-element 19221. https://html.spec.whatwg.org/#constructing-the-form-data-set 19222. https://html.spec.whatwg.org/#the-form-element 19223. https://html.spec.whatwg.org/#concept-form-submit 19224. https://html.spec.whatwg.org/#the-button-element 19225. https://html.spec.whatwg.org/#the-input-element 19226. https://html.spec.whatwg.org/#the-select-element 19227. https://html.spec.whatwg.org/#the-textarea-element 19228. https://html.spec.whatwg.org/#form-associated-custom-element 19229. https://html.spec.whatwg.org/#category-submit 19230. https://html.spec.whatwg.org/#the-form-element 19231. https://html.spec.whatwg.org/#concept-form-reset 19232. https://html.spec.whatwg.org/#the-input-element 19233. https://html.spec.whatwg.org/#the-output-element 19234. https://html.spec.whatwg.org/#the-select-element 19235. https://html.spec.whatwg.org/#the-textarea-element 19236. https://html.spec.whatwg.org/#form-associated-custom-element 19237. https://html.spec.whatwg.org/#attr-autocapitalize 19238. https://html.spec.whatwg.org/#attr-autocorrect 19239. https://html.spec.whatwg.org/#form-owner 19240. https://html.spec.whatwg.org/#the-button-element 19241. https://html.spec.whatwg.org/#the-fieldset-element 19242. https://html.spec.whatwg.org/#the-input-element 19243. https://html.spec.whatwg.org/#the-output-element 19244. https://html.spec.whatwg.org/#the-select-element 19245. https://html.spec.whatwg.org/#the-textarea-element 19246. https://html.spec.whatwg.org/#form-associated-element 19247. https://html.spec.whatwg.org/#the-label-element 19248. https://html.spec.whatwg.org/#the-button-element 19249. https://html.spec.whatwg.org/#the-input-element 19250. https://html.spec.whatwg.org/#attr-input-type 19251. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 19252. https://html.spec.whatwg.org/#the-meter-element 19253. https://html.spec.whatwg.org/#the-output-element 19254. https://html.spec.whatwg.org/#the-progress-element 19255. https://html.spec.whatwg.org/#the-select-element 19256. https://html.spec.whatwg.org/#the-textarea-element 19257. https://html.spec.whatwg.org/#form-associated-custom-element 19258. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form 19259. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement 19260. https://html.spec.whatwg.org/#concept-element-categories 19261. https://html.spec.whatwg.org/#flow-content-2 19262. https://html.spec.whatwg.org/#palpable-content-2 19263. https://html.spec.whatwg.org/#concept-element-contexts 19264. https://html.spec.whatwg.org/#flow-content-2 19265. https://html.spec.whatwg.org/#concept-element-content-model 19266. https://html.spec.whatwg.org/#flow-content-2 19267. https://html.spec.whatwg.org/#the-form-element 19268. https://html.spec.whatwg.org/#concept-element-tag-omission 19269. https://html.spec.whatwg.org/#concept-element-attributes 19270. https://html.spec.whatwg.org/#global-attributes 19271. https://html.spec.whatwg.org/#attr-form-accept-charset 19272. https://html.spec.whatwg.org/#form-submission-2 19273. https://html.spec.whatwg.org/#attr-fs-action 19274. https://url.spec.whatwg.org/#concept-url 19275. https://html.spec.whatwg.org/#form-submission-2 19276. https://html.spec.whatwg.org/#attr-form-autocomplete 19277. https://html.spec.whatwg.org/#attr-fs-enctype 19278. https://html.spec.whatwg.org/#entry-list 19279. https://html.spec.whatwg.org/#form-submission-2 19280. https://html.spec.whatwg.org/#attr-fs-method 19281. https://html.spec.whatwg.org/#form-submission-2 19282. https://html.spec.whatwg.org/#attr-form-name 19283. https://html.spec.whatwg.org/#dom-document-forms 19284. https://html.spec.whatwg.org/#attr-fs-novalidate 19285. https://html.spec.whatwg.org/#form-submission-2 19286. https://html.spec.whatwg.org/#attr-fs-target 19287. https://html.spec.whatwg.org/#navigable 19288. https://html.spec.whatwg.org/#form-submission-2 19289. https://html.spec.whatwg.org/#attr-form-rel 19290. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 19291. https://w3c.github.io/html-aria/#el-form 19292. https://w3c.github.io/html-aam/#el-form 19293. https://html.spec.whatwg.org/#concept-element-dom 19294. https://webidl.spec.whatwg.org/#LegacyOverrideBuiltIns 19295. https://webidl.spec.whatwg.org/#LegacyUnenumerableNamedProperties 19296. https://html.spec.whatwg.org/#htmlelement 19297. https://html.spec.whatwg.org/#htmlconstructor 19298. https://html.spec.whatwg.org/#cereactions 19299. https://html.spec.whatwg.org/#dom-form-acceptcharset 19300. https://html.spec.whatwg.org/#cereactions 19301. https://html.spec.whatwg.org/#dom-fs-action 19302. https://html.spec.whatwg.org/#cereactions 19303. https://html.spec.whatwg.org/#dom-form-autocomplete 19304. https://html.spec.whatwg.org/#cereactions 19305. https://html.spec.whatwg.org/#dom-fs-enctype 19306. https://html.spec.whatwg.org/#cereactions 19307. https://html.spec.whatwg.org/#dom-fs-encoding 19308. https://html.spec.whatwg.org/#cereactions 19309. https://html.spec.whatwg.org/#dom-fs-method 19310. https://html.spec.whatwg.org/#cereactions 19311. https://html.spec.whatwg.org/#dom-form-name 19312. https://html.spec.whatwg.org/#cereactions 19313. https://html.spec.whatwg.org/#dom-fs-novalidate 19314. https://html.spec.whatwg.org/#cereactions 19315. https://html.spec.whatwg.org/#dom-fs-target 19316. https://html.spec.whatwg.org/#cereactions 19317. https://html.spec.whatwg.org/#dom-form-rel 19318. https://dom.spec.whatwg.org/#dom-domtokenlist-value 19319. https://dom.spec.whatwg.org/#interface-domtokenlist 19320. https://html.spec.whatwg.org/#dom-form-rellist 19321. https://html.spec.whatwg.org/#htmlformcontrolscollection 19322. https://html.spec.whatwg.org/#dom-form-elements 19323. https://html.spec.whatwg.org/#dom-form-length 19324. https://html.spec.whatwg.org/#dom-form-item 19325. https://dom.spec.whatwg.org/#interface-element 19326. https://html.spec.whatwg.org/#dom-form-nameditem 19327. https://html.spec.whatwg.org/#radionodelist 19328. https://dom.spec.whatwg.org/#interface-element 19329. https://html.spec.whatwg.org/#dom-form-submit 19330. https://html.spec.whatwg.org/#dom-form-requestsubmit 19331. https://html.spec.whatwg.org/#htmlelement 19332. https://html.spec.whatwg.org/#cereactions 19333. https://html.spec.whatwg.org/#dom-form-reset 19334. https://html.spec.whatwg.org/#dom-form-checkvalidity 19335. https://html.spec.whatwg.org/#dom-form-reportvalidity 19336. https://html.spec.whatwg.org/#the-form-element 19337. https://html.spec.whatwg.org/#represents 19338. https://html.spec.whatwg.org/#hyperlink 19339. https://html.spec.whatwg.org/#form-associated-element 19340. https://infra.spec.whatwg.org/#ascii-case-insensitive 19341. https://html.spec.whatwg.org/#refsENCODING 19342. https://html.spec.whatwg.org/#the-form-element 19343. https://html.spec.whatwg.org/#dom-document-forms 19344. https://html.spec.whatwg.org/#the-form-element 19345. https://html.spec.whatwg.org/#dom-document-forms 19346. https://html.spec.whatwg.org/#enumerated-attribute 19347. https://html.spec.whatwg.org/#autofill-field-name 19348. https://html.spec.whatwg.org/#attr-fe-autocomplete-on 19349. https://html.spec.whatwg.org/#autofill-field-name 19350. https://html.spec.whatwg.org/#attr-fe-autocomplete-off 19351. https://html.spec.whatwg.org/#missing-value-default 19352. https://html.spec.whatwg.org/#invalid-value-default 19353. https://html.spec.whatwg.org/#attr-form-autocomplete-on-state 19354. https://html.spec.whatwg.org/#attr-fs-action 19355. https://html.spec.whatwg.org/#attr-fs-enctype 19356. https://html.spec.whatwg.org/#attr-fs-method 19357. https://html.spec.whatwg.org/#attr-fs-novalidate 19358. https://html.spec.whatwg.org/#attr-fs-target 19359. https://html.spec.whatwg.org/#attributes-for-form-submission 19360. https://html.spec.whatwg.org/#the-form-element 19361. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 19362. https://html.spec.whatwg.org/#linkTypes 19363. https://html.spec.whatwg.org/#attr-form-rel 19364. https://dom.spec.whatwg.org/#concept-supported-tokens 19365. https://html.spec.whatwg.org/#linkTypes 19366. https://html.spec.whatwg.org/#the-form-element 19367. https://dom.spec.whatwg.org/#concept-supported-tokens 19368. https://html.spec.whatwg.org/#link-type-noreferrer 19369. https://html.spec.whatwg.org/#link-type-noopener 19370. https://html.spec.whatwg.org/#link-type-opener 19371. https://html.spec.whatwg.org/#attr-form-rel 19372. https://dom.spec.whatwg.org/#concept-supported-tokens 19373. https://html.spec.whatwg.org/#dom-form-elements 19374. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/elements 19375. https://html.spec.whatwg.org/#htmlformcontrolscollection 19376. https://html.spec.whatwg.org/#dom-form-length 19377. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/length 19378. https://html.spec.whatwg.org/#radionodelist 19379. https://dom.spec.whatwg.org/#concept-id 19380. https://html.spec.whatwg.org/#attr-fe-name 19381. https://html.spec.whatwg.org/#the-img-element 19382. https://dom.spec.whatwg.org/#concept-id 19383. https://html.spec.whatwg.org/#attr-fe-name 19384. https://dom.spec.whatwg.org/#concept-tree 19385. https://html.spec.whatwg.org/#radionodelist 19386. https://html.spec.whatwg.org/#dom-form-submit 19387. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/submit 19388. https://html.spec.whatwg.org/#interactively-validate-the-constraints 19389. https://html.spec.whatwg.org/#event-submit 19390. https://html.spec.whatwg.org/#dom-form-requestsubmit 19391. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/requestSubmit 19392. https://html.spec.whatwg.org/#dom-form-submit 19393. https://html.spec.whatwg.org/#interactively-validate-the-constraints 19394. https://html.spec.whatwg.org/#event-submit 19395. https://html.spec.whatwg.org/#concept-submit-button 19396. https://html.spec.whatwg.org/#attr-fs-formaction 19397. https://html.spec.whatwg.org/#attr-fs-formenctype 19398. https://html.spec.whatwg.org/#attr-fs-formmethod 19399. https://html.spec.whatwg.org/#attr-fs-formnovalidate 19400. https://html.spec.whatwg.org/#attr-fs-formtarget 19401. https://html.spec.whatwg.org/#constructing-the-form-data-set 19402. https://html.spec.whatwg.org/#dom-form-reset 19403. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/reset 19404. https://html.spec.whatwg.org/#dom-form-checkvalidity 19405. https://html.spec.whatwg.org/#dom-form-reportvalidity 19406. https://html.spec.whatwg.org/#reflect 19407. https://html.spec.whatwg.org/#limited-to-only-known-values 19408. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/name 19409. https://html.spec.whatwg.org/#reflect 19410. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/acceptCharset 19411. https://html.spec.whatwg.org/#reflect 19412. https://html.spec.whatwg.org/#attr-form-accept-charset 19413. https://html.spec.whatwg.org/#reflect 19414. https://html.spec.whatwg.org/#attr-form-rel 19415. https://html.spec.whatwg.org/#htmlformcontrolscollection 19416. https://html.spec.whatwg.org/#the-form-element 19417. https://dom.spec.whatwg.org/#concept-tree-root 19418. https://html.spec.whatwg.org/#category-listed 19419. https://html.spec.whatwg.org/#form-owner 19420. https://html.spec.whatwg.org/#the-form-element 19421. https://html.spec.whatwg.org/#the-input-element 19422. https://html.spec.whatwg.org/#attr-input-type 19423. https://html.spec.whatwg.org/#image-button-state-(type=image) 19424. https://dom.spec.whatwg.org/#represented-by-the-collection 19425. https://html.spec.whatwg.org/#dom-form-elements 19426. https://webidl.spec.whatwg.org/#dfn-supported-property-indices 19427. https://html.spec.whatwg.org/#dom-form-elements 19428. https://webidl.spec.whatwg.org/#dfn-determine-the-value-of-an-indexed-property 19429. https://html.spec.whatwg.org/#the-form-element 19430. https://dom.spec.whatwg.org/#dom-htmlcollection-item 19431. https://html.spec.whatwg.org/#dom-form-elements 19432. https://html.spec.whatwg.org/#the-form-element 19433. https://webidl.spec.whatwg.org/#dfn-supported-property-names 19434. https://html.spec.whatwg.org/#category-listed 19435. https://html.spec.whatwg.org/#form-owner 19436. https://html.spec.whatwg.org/#the-form-element 19437. https://html.spec.whatwg.org/#the-input-element 19438. https://html.spec.whatwg.org/#attr-input-type 19439. https://html.spec.whatwg.org/#image-button-state-(type=image) 19440. https://html.spec.whatwg.org/#the-id-attribute 19441. https://html.spec.whatwg.org/#the-id-attribute 19442. https://html.spec.whatwg.org/#attr-fe-name 19443. https://html.spec.whatwg.org/#attr-fe-name 19444. https://html.spec.whatwg.org/#the-img-element 19445. https://html.spec.whatwg.org/#form-owner 19446. https://html.spec.whatwg.org/#the-form-element 19447. https://html.spec.whatwg.org/#the-id-attribute 19448. https://html.spec.whatwg.org/#the-id-attribute 19449. https://html.spec.whatwg.org/#attr-img-name 19450. https://html.spec.whatwg.org/#attr-img-name 19451. https://html.spec.whatwg.org/#past-names-map 19452. https://html.spec.whatwg.org/#past-names-map 19453. https://dom.spec.whatwg.org/#concept-tree-order 19454. https://webidl.spec.whatwg.org/#dfn-determine-the-value-of-a-named-property 19455. https://html.spec.whatwg.org/#the-form-element 19456. https://html.spec.whatwg.org/#live 19457. https://html.spec.whatwg.org/#radionodelist 19458. https://html.spec.whatwg.org/#category-listed 19459. https://html.spec.whatwg.org/#form-owner 19460. https://html.spec.whatwg.org/#the-form-element 19461. https://html.spec.whatwg.org/#the-id-attribute 19462. https://html.spec.whatwg.org/#attr-fe-name 19463. https://html.spec.whatwg.org/#the-input-element 19464. https://html.spec.whatwg.org/#attr-input-type 19465. https://html.spec.whatwg.org/#image-button-state-(type=image) 19466. https://dom.spec.whatwg.org/#concept-tree-order 19467. https://html.spec.whatwg.org/#live 19468. https://html.spec.whatwg.org/#radionodelist 19469. https://html.spec.whatwg.org/#the-img-element 19470. https://html.spec.whatwg.org/#form-owner 19471. https://html.spec.whatwg.org/#the-form-element 19472. https://html.spec.whatwg.org/#the-id-attribute 19473. https://html.spec.whatwg.org/#attr-img-name 19474. https://dom.spec.whatwg.org/#concept-tree-order 19475. https://html.spec.whatwg.org/#the-form-element 19476. https://html.spec.whatwg.org/#past-names-map 19477. https://html.spec.whatwg.org/#the-form-element 19478. https://html.spec.whatwg.org/#past-names-map 19479. https://html.spec.whatwg.org/#the-form-element 19480. https://html.spec.whatwg.org/#past-names-map 19481. https://html.spec.whatwg.org/#form-owner 19482. https://html.spec.whatwg.org/#concept-form-submit 19483. https://webidl.spec.whatwg.org/#this 19484. https://webidl.spec.whatwg.org/#this 19485. https://html.spec.whatwg.org/#submit-subbmitted-from-method 19486. https://html.spec.whatwg.org/#concept-submit-button 19487. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 19488. https://html.spec.whatwg.org/#form-owner 19489. https://html.spec.whatwg.org/#the-form-element 19490. https://webidl.spec.whatwg.org/#notfounderror 19491. https://webidl.spec.whatwg.org/#dfn-DOMException 19492. https://html.spec.whatwg.org/#the-form-element 19493. https://html.spec.whatwg.org/#concept-form-submit 19494. https://html.spec.whatwg.org/#the-form-element 19495. https://html.spec.whatwg.org/#the-form-element 19496. https://html.spec.whatwg.org/#locked-for-reset 19497. https://html.spec.whatwg.org/#the-form-element 19498. https://html.spec.whatwg.org/#concept-form-reset 19499. https://html.spec.whatwg.org/#the-form-element 19500. https://html.spec.whatwg.org/#the-form-element 19501. https://html.spec.whatwg.org/#locked-for-reset 19502. https://html.spec.whatwg.org/#statically-validate-the-constraints 19503. https://html.spec.whatwg.org/#the-form-element 19504. https://html.spec.whatwg.org/#interactively-validate-the-constraints 19505. https://html.spec.whatwg.org/#the-form-element 19506. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label 19507. https://developer.mozilla.org/en-US/docs/Web/API/HTMLLabelElement 19508. https://html.spec.whatwg.org/#concept-element-categories 19509. https://html.spec.whatwg.org/#flow-content-2 19510. https://html.spec.whatwg.org/#phrasing-content-2 19511. https://html.spec.whatwg.org/#interactive-content-2 19512. https://html.spec.whatwg.org/#palpable-content-2 19513. https://html.spec.whatwg.org/#concept-element-contexts 19514. https://html.spec.whatwg.org/#phrasing-content-2 19515. https://html.spec.whatwg.org/#concept-element-content-model 19516. https://html.spec.whatwg.org/#phrasing-content-2 19517. https://html.spec.whatwg.org/#category-label 19518. https://html.spec.whatwg.org/#labeled-control 19519. https://html.spec.whatwg.org/#the-label-element 19520. https://html.spec.whatwg.org/#concept-element-tag-omission 19521. https://html.spec.whatwg.org/#concept-element-attributes 19522. https://html.spec.whatwg.org/#global-attributes 19523. https://html.spec.whatwg.org/#attr-label-for 19524. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 19525. https://w3c.github.io/html-aria/#el-label 19526. https://w3c.github.io/html-aam/#el-label 19527. https://html.spec.whatwg.org/#concept-element-dom 19528. https://html.spec.whatwg.org/#htmlelement 19529. https://html.spec.whatwg.org/#htmlconstructor 19530. https://html.spec.whatwg.org/#htmlformelement 19531. https://html.spec.whatwg.org/#dom-label-form 19532. https://html.spec.whatwg.org/#cereactions 19533. https://html.spec.whatwg.org/#dom-label-htmlfor 19534. https://html.spec.whatwg.org/#htmlelement 19535. https://html.spec.whatwg.org/#dom-label-control 19536. https://html.spec.whatwg.org/#the-label-element 19537. https://html.spec.whatwg.org/#represents 19538. https://html.spec.whatwg.org/#the-label-element 19539. https://html.spec.whatwg.org/#attr-label-for 19540. https://html.spec.whatwg.org/#the-label-element 19541. https://html.spec.whatwg.org/#the-label-element 19542. https://html.spec.whatwg.org/#labeled-control 19543. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/for 19544. https://dom.spec.whatwg.org/#concept-id 19545. https://html.spec.whatwg.org/#category-label 19546. https://dom.spec.whatwg.org/#concept-tree 19547. https://html.spec.whatwg.org/#the-label-element 19548. https://dom.spec.whatwg.org/#concept-tree 19549. https://dom.spec.whatwg.org/#concept-id 19550. https://html.spec.whatwg.org/#attr-label-for 19551. https://dom.spec.whatwg.org/#concept-tree-order 19552. https://html.spec.whatwg.org/#category-label 19553. https://html.spec.whatwg.org/#the-label-element 19554. https://html.spec.whatwg.org/#labeled-control 19555. https://html.spec.whatwg.org/#attr-label-for 19556. https://html.spec.whatwg.org/#the-label-element 19557. https://html.spec.whatwg.org/#category-label 19558. https://dom.spec.whatwg.org/#concept-tree-order 19559. https://html.spec.whatwg.org/#the-label-element 19560. https://html.spec.whatwg.org/#labeled-control 19561. https://html.spec.whatwg.org/#the-label-element 19562. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 19563. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 19564. https://html.spec.whatwg.org/#the-label-element 19565. https://html.spec.whatwg.org/#interactive-content-2 19566. https://html.spec.whatwg.org/#the-label-element 19567. https://html.spec.whatwg.org/#interactive-content-2 19568. https://html.spec.whatwg.org/#form-associated-custom-element 19569. https://html.spec.whatwg.org/#category-label 19570. https://html.spec.whatwg.org/#the-label-element 19571. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 19572. https://html.spec.whatwg.org/#labeled-control 19573. https://html.spec.whatwg.org/#the-label-element 19574. https://html.spec.whatwg.org/#fire-a-click-event 19575. https://html.spec.whatwg.org/#the-input-element 19576. https://html.spec.whatwg.org/#form-associated-custom-element 19577. https://html.spec.whatwg.org/#custom-elements-face-example 19578. https://html.spec.whatwg.org/#fire-a-click-event 19579. https://html.spec.whatwg.org/#dom-label-control 19580. https://developer.mozilla.org/en-US/docs/Web/API/HTMLLabelElement/control 19581. https://html.spec.whatwg.org/#dom-label-form 19582. https://developer.mozilla.org/en-US/docs/Web/API/HTMLLabelElement/form 19583. https://html.spec.whatwg.org/#form-owner 19584. https://developer.mozilla.org/en-US/docs/Web/API/HTMLLabelElement/htmlFor 19585. https://html.spec.whatwg.org/#reflect 19586. https://html.spec.whatwg.org/#attr-label-for 19587. https://html.spec.whatwg.org/#the-label-element 19588. https://html.spec.whatwg.org/#labeled-control 19589. https://html.spec.whatwg.org/#the-label-element 19590. https://html.spec.whatwg.org/#labeled-control 19591. https://html.spec.whatwg.org/#the-label-element 19592. https://html.spec.whatwg.org/#labeled-control 19593. https://html.spec.whatwg.org/#form-associated-element 19594. https://html.spec.whatwg.org/#the-label-element 19595. https://html.spec.whatwg.org/#labeled-control 19596. https://html.spec.whatwg.org/#form-owner 19597. https://html.spec.whatwg.org/#dom-label-form 19598. https://html.spec.whatwg.org/#the-label-element 19599. https://html.spec.whatwg.org/#attr-fae-form 19600. https://html.spec.whatwg.org/#category-listed 19601. https://html.spec.whatwg.org/#form-associated-element 19602. https://html.spec.whatwg.org/#the-label-element 19603. https://html.spec.whatwg.org/#attr-fae-form 19604. https://html.spec.whatwg.org/#dom-lfe-labels 19605. https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement/labels 19606. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/labels 19607. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMeterElement/labels 19608. https://developer.mozilla.org/en-US/docs/Web/API/HTMLOutputElement/labels 19609. https://developer.mozilla.org/en-US/docs/Web/API/HTMLProgressElement/labels 19610. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/labels 19611. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement/labels 19612. https://dom.spec.whatwg.org/#interface-nodelist 19613. https://html.spec.whatwg.org/#the-label-element 19614. https://html.spec.whatwg.org/#category-label 19615. https://html.spec.whatwg.org/#the-input-element 19616. https://html.spec.whatwg.org/#live 19617. https://dom.spec.whatwg.org/#interface-nodelist 19618. https://html.spec.whatwg.org/#the-label-element 19619. https://dom.spec.whatwg.org/#concept-tree-order 19620. https://html.spec.whatwg.org/#labeled-control 19621. https://html.spec.whatwg.org/#category-label 19622. https://html.spec.whatwg.org/#form-associated-custom-element 19623. https://html.spec.whatwg.org/#dom-lfe-labels 19624. https://html.spec.whatwg.org/#the-input-element 19625. https://dom.spec.whatwg.org/#interface-nodelist 19626. https://html.spec.whatwg.org/#the-input-element 19627. https://html.spec.whatwg.org/#attr-input-type 19628. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 19629. https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/labels 19630. https://html.spec.whatwg.org/#form-associated-custom-element 19631. https://html.spec.whatwg.org/#dom-lfe-labels 19632. https://html.spec.whatwg.org/#elementinternals 19633. https://webidl.spec.whatwg.org/#notsupportederror 19634. https://webidl.spec.whatwg.org/#dfn-DOMException 19635. https://html.spec.whatwg.org/#internals-target 19636. https://html.spec.whatwg.org/#form-associated-custom-element 19637. https://dom.spec.whatwg.org/#interface-nodelist 19638. https://dom.spec.whatwg.org/#interface-nodelist 19639. https://html.spec.whatwg.org/#dom-lfe-labels 19640. https://html.spec.whatwg.org/#the-input-element 19641. https://html.spec.whatwg.org/#attr-input-type 19642. https://html.spec.whatwg.org/#labeled-control 19643. https://html.spec.whatwg.org/#labeled-control 19644. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input 19645. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input 19646. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement 19647. https://html.spec.whatwg.org/#concept-element-categories 19648. https://html.spec.whatwg.org/#flow-content-2 19649. https://html.spec.whatwg.org/#phrasing-content-2 19650. https://html.spec.whatwg.org/#attr-input-type 19651. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 19652. https://html.spec.whatwg.org/#interactive-content-2 19653. https://html.spec.whatwg.org/#attr-input-type 19654. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 19655. https://html.spec.whatwg.org/#category-listed 19656. https://html.spec.whatwg.org/#category-label 19657. https://html.spec.whatwg.org/#category-submit 19658. https://html.spec.whatwg.org/#category-reset 19659. https://html.spec.whatwg.org/#category-autocapitalize 19660. https://html.spec.whatwg.org/#form-associated-element 19661. https://html.spec.whatwg.org/#attr-input-type 19662. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 19663. https://html.spec.whatwg.org/#category-listed 19664. https://html.spec.whatwg.org/#category-submit 19665. https://html.spec.whatwg.org/#category-reset 19666. https://html.spec.whatwg.org/#category-autocapitalize 19667. https://html.spec.whatwg.org/#form-associated-element 19668. https://html.spec.whatwg.org/#attr-input-type 19669. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 19670. https://html.spec.whatwg.org/#palpable-content-2 19671. https://html.spec.whatwg.org/#concept-element-contexts 19672. https://html.spec.whatwg.org/#phrasing-content-2 19673. https://html.spec.whatwg.org/#concept-element-content-model 19674. https://html.spec.whatwg.org/#concept-content-nothing 19675. https://html.spec.whatwg.org/#concept-element-tag-omission 19676. https://html.spec.whatwg.org/#syntax-end-tag 19677. https://html.spec.whatwg.org/#concept-element-attributes 19678. https://html.spec.whatwg.org/#global-attributes 19679. https://html.spec.whatwg.org/#attr-input-accept 19680. https://html.spec.whatwg.org/#file-upload-state-(type=file) 19681. https://html.spec.whatwg.org/#attr-input-alpha 19682. https://html.spec.whatwg.org/#attr-input-alt 19683. https://html.spec.whatwg.org/#attr-fe-autocomplete 19684. https://html.spec.whatwg.org/#attr-input-checked 19685. https://html.spec.whatwg.org/#attr-input-colorspace 19686. https://html.spec.whatwg.org/#attr-fe-dirname 19687. https://html.spec.whatwg.org/#the-directionality 19688. https://html.spec.whatwg.org/#form-submission-2 19689. https://html.spec.whatwg.org/#attr-fe-disabled 19690. https://html.spec.whatwg.org/#attr-fae-form 19691. https://html.spec.whatwg.org/#the-form-element 19692. https://html.spec.whatwg.org/#attr-fs-formaction 19693. https://url.spec.whatwg.org/#concept-url 19694. https://html.spec.whatwg.org/#form-submission-2 19695. https://html.spec.whatwg.org/#attr-fs-formenctype 19696. https://html.spec.whatwg.org/#entry-list 19697. https://html.spec.whatwg.org/#form-submission-2 19698. https://html.spec.whatwg.org/#attr-fs-formmethod 19699. https://html.spec.whatwg.org/#form-submission-2 19700. https://html.spec.whatwg.org/#attr-fs-formnovalidate 19701. https://html.spec.whatwg.org/#form-submission-2 19702. https://html.spec.whatwg.org/#attr-fs-formtarget 19703. https://html.spec.whatwg.org/#navigable 19704. https://html.spec.whatwg.org/#form-submission-2 19705. https://html.spec.whatwg.org/#attr-dim-height 19706. https://html.spec.whatwg.org/#attr-input-list 19707. https://html.spec.whatwg.org/#attr-input-max 19708. https://html.spec.whatwg.org/#attr-input-maxlength 19709. https://infra.spec.whatwg.org/#string-length 19710. https://html.spec.whatwg.org/#attr-input-min 19711. https://html.spec.whatwg.org/#attr-input-minlength 19712. https://infra.spec.whatwg.org/#string-length 19713. https://html.spec.whatwg.org/#attr-input-multiple 19714. https://html.spec.whatwg.org/#attr-fe-name 19715. https://html.spec.whatwg.org/#form-submission-2 19716. https://html.spec.whatwg.org/#dom-form-elements 19717. https://html.spec.whatwg.org/#attr-input-pattern 19718. https://html.spec.whatwg.org/#attr-input-placeholder 19719. https://html.spec.whatwg.org/#attr-popovertarget 19720. https://html.spec.whatwg.org/#attr-popovertargetaction 19721. https://html.spec.whatwg.org/#attr-input-readonly 19722. https://html.spec.whatwg.org/#attr-input-required 19723. https://html.spec.whatwg.org/#form-submission-2 19724. https://html.spec.whatwg.org/#attr-input-size 19725. https://html.spec.whatwg.org/#attr-input-src 19726. https://html.spec.whatwg.org/#attr-input-step 19727. https://html.spec.whatwg.org/#attr-input-type 19728. https://html.spec.whatwg.org/#attr-input-value 19729. https://html.spec.whatwg.org/#attr-dim-width 19730. https://html.spec.whatwg.org/#attr-input-title 19731. https://html.spec.whatwg.org/#attr-input-title 19732. https://html.spec.whatwg.org/#attr-input-pattern 19733. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 19734. https://html.spec.whatwg.org/#attr-input-type 19735. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 19736. https://w3c.github.io/html-aria/#el-input-hidden 19737. https://w3c.github.io/html-aam/#el-input-hidden 19738. https://html.spec.whatwg.org/#attr-input-type 19739. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 19740. https://w3c.github.io/html-aria/#el-input-text 19741. https://w3c.github.io/html-aam/#el-input-text 19742. https://html.spec.whatwg.org/#attr-input-type 19743. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 19744. https://w3c.github.io/html-aria/#el-input-search 19745. https://w3c.github.io/html-aam/#el-input-search 19746. https://html.spec.whatwg.org/#attr-input-type 19747. https://html.spec.whatwg.org/#telephone-state-(type=tel) 19748. https://w3c.github.io/html-aria/#el-input-tel 19749. https://w3c.github.io/html-aam/#el-input-tel 19750. https://html.spec.whatwg.org/#attr-input-type 19751. https://html.spec.whatwg.org/#url-state-(type=url) 19752. https://w3c.github.io/html-aria/#el-input-url 19753. https://w3c.github.io/html-aam/#el-input-url 19754. https://html.spec.whatwg.org/#attr-input-type 19755. https://html.spec.whatwg.org/#email-state-(type=email) 19756. https://w3c.github.io/html-aria/#el-input-email 19757. https://w3c.github.io/html-aam/#el-input-email 19758. https://html.spec.whatwg.org/#attr-input-type 19759. https://html.spec.whatwg.org/#password-state-(type=password) 19760. https://w3c.github.io/html-aria/#el-input-password 19761. https://w3c.github.io/html-aam/#el-input-password 19762. https://html.spec.whatwg.org/#attr-input-type 19763. https://html.spec.whatwg.org/#date-state-(type=date) 19764. https://w3c.github.io/html-aria/#el-input-date 19765. https://w3c.github.io/html-aam/#el-input-date 19766. https://html.spec.whatwg.org/#attr-input-type 19767. https://html.spec.whatwg.org/#month-state-(type=month) 19768. https://w3c.github.io/html-aria/#el-input-month 19769. https://w3c.github.io/html-aam/#el-input-month 19770. https://html.spec.whatwg.org/#attr-input-type 19771. https://html.spec.whatwg.org/#week-state-(type=week) 19772. https://w3c.github.io/html-aria/#el-input-week 19773. https://w3c.github.io/html-aam/#el-input-week 19774. https://html.spec.whatwg.org/#attr-input-type 19775. https://html.spec.whatwg.org/#time-state-(type=time) 19776. https://w3c.github.io/html-aria/#el-input-time 19777. https://w3c.github.io/html-aam/#el-input-time 19778. https://html.spec.whatwg.org/#attr-input-type 19779. https://html.spec.whatwg.org/#local-date-and-time-state-(type=datetime-local) 19780. https://w3c.github.io/html-aria/#el-input-datetime-local 19781. https://w3c.github.io/html-aam/#el-input-datetime-local 19782. https://html.spec.whatwg.org/#attr-input-type 19783. https://html.spec.whatwg.org/#number-state-(type=number) 19784. https://w3c.github.io/html-aria/#el-input-number 19785. https://w3c.github.io/html-aam/#el-input-number 19786. https://html.spec.whatwg.org/#attr-input-type 19787. https://html.spec.whatwg.org/#range-state-(type=range) 19788. https://w3c.github.io/html-aria/#el-input-range 19789. https://w3c.github.io/html-aam/#el-input-range 19790. https://html.spec.whatwg.org/#attr-input-type 19791. https://html.spec.whatwg.org/#color-state-(type=color) 19792. https://w3c.github.io/html-aria/#el-input-color 19793. https://w3c.github.io/html-aam/#el-input-color 19794. https://html.spec.whatwg.org/#attr-input-type 19795. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 19796. https://w3c.github.io/html-aria/#el-input-checkbox 19797. https://w3c.github.io/html-aam/#el-input-checkbox 19798. https://html.spec.whatwg.org/#attr-input-type 19799. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 19800. https://w3c.github.io/html-aria/#el-input-radio 19801. https://w3c.github.io/html-aam/#el-input-radio 19802. https://html.spec.whatwg.org/#attr-input-type 19803. https://html.spec.whatwg.org/#file-upload-state-(type=file) 19804. https://w3c.github.io/html-aria/#el-input-file 19805. https://w3c.github.io/html-aam/#el-input-file 19806. https://html.spec.whatwg.org/#attr-input-type 19807. https://html.spec.whatwg.org/#submit-button-state-(type=submit) 19808. https://w3c.github.io/html-aria/#el-input-submit 19809. https://w3c.github.io/html-aam/#el-input-submit 19810. https://html.spec.whatwg.org/#attr-input-type 19811. https://html.spec.whatwg.org/#image-button-state-(type=image) 19812. https://w3c.github.io/html-aria/#el-input-image 19813. https://w3c.github.io/html-aam/#el-input-image 19814. https://html.spec.whatwg.org/#attr-input-type 19815. https://html.spec.whatwg.org/#reset-button-state-(type=reset) 19816. https://w3c.github.io/html-aria/#el-input-reset 19817. https://w3c.github.io/html-aam/#el-input-reset 19818. https://html.spec.whatwg.org/#attr-input-type 19819. https://html.spec.whatwg.org/#button-state-(type=button) 19820. https://w3c.github.io/html-aria/#el-input-button 19821. https://w3c.github.io/html-aam/#el-input-button 19822. https://html.spec.whatwg.org/#concept-element-dom 19823. https://html.spec.whatwg.org/#htmlelement 19824. https://html.spec.whatwg.org/#htmlconstructor 19825. https://html.spec.whatwg.org/#cereactions 19826. https://html.spec.whatwg.org/#dom-input-accept 19827. https://html.spec.whatwg.org/#cereactions 19828. https://html.spec.whatwg.org/#dom-input-alpha 19829. https://html.spec.whatwg.org/#cereactions 19830. https://html.spec.whatwg.org/#dom-input-alt 19831. https://html.spec.whatwg.org/#cereactions 19832. https://html.spec.whatwg.org/#dom-fe-autocomplete 19833. https://html.spec.whatwg.org/#cereactions 19834. https://html.spec.whatwg.org/#dom-input-defaultchecked 19835. https://html.spec.whatwg.org/#dom-input-checked 19836. https://html.spec.whatwg.org/#cereactions 19837. https://html.spec.whatwg.org/#dom-input-colorspace 19838. https://html.spec.whatwg.org/#cereactions 19839. https://html.spec.whatwg.org/#dom-input-dirname 19840. https://html.spec.whatwg.org/#cereactions 19841. https://html.spec.whatwg.org/#dom-fe-disabled 19842. https://html.spec.whatwg.org/#htmlformelement 19843. https://html.spec.whatwg.org/#dom-fae-form 19844. https://w3c.github.io/FileAPI/#filelist-section 19845. https://html.spec.whatwg.org/#dom-input-files 19846. https://html.spec.whatwg.org/#cereactions 19847. https://html.spec.whatwg.org/#dom-fs-formaction 19848. https://html.spec.whatwg.org/#cereactions 19849. https://html.spec.whatwg.org/#dom-fs-formenctype 19850. https://html.spec.whatwg.org/#cereactions 19851. https://html.spec.whatwg.org/#dom-fs-formmethod 19852. https://html.spec.whatwg.org/#cereactions 19853. https://html.spec.whatwg.org/#dom-fs-formnovalidate 19854. https://html.spec.whatwg.org/#cereactions 19855. https://html.spec.whatwg.org/#dom-fs-formtarget 19856. https://html.spec.whatwg.org/#cereactions 19857. https://html.spec.whatwg.org/#dom-input-height 19858. https://html.spec.whatwg.org/#dom-input-indeterminate 19859. https://html.spec.whatwg.org/#htmldatalistelement 19860. https://html.spec.whatwg.org/#dom-input-list 19861. https://html.spec.whatwg.org/#cereactions 19862. https://html.spec.whatwg.org/#dom-input-max 19863. https://html.spec.whatwg.org/#cereactions 19864. https://html.spec.whatwg.org/#dom-input-maxlength 19865. https://html.spec.whatwg.org/#cereactions 19866. https://html.spec.whatwg.org/#dom-input-min 19867. https://html.spec.whatwg.org/#cereactions 19868. https://html.spec.whatwg.org/#dom-input-minlength 19869. https://html.spec.whatwg.org/#cereactions 19870. https://html.spec.whatwg.org/#dom-input-multiple 19871. https://html.spec.whatwg.org/#cereactions 19872. https://html.spec.whatwg.org/#dom-fe-name 19873. https://html.spec.whatwg.org/#cereactions 19874. https://html.spec.whatwg.org/#dom-input-pattern 19875. https://html.spec.whatwg.org/#cereactions 19876. https://html.spec.whatwg.org/#dom-input-placeholder 19877. https://html.spec.whatwg.org/#cereactions 19878. https://html.spec.whatwg.org/#dom-input-readonly 19879. https://html.spec.whatwg.org/#cereactions 19880. https://html.spec.whatwg.org/#dom-input-required 19881. https://html.spec.whatwg.org/#cereactions 19882. https://html.spec.whatwg.org/#dom-input-size 19883. https://html.spec.whatwg.org/#cereactions 19884. https://html.spec.whatwg.org/#dom-input-src 19885. https://html.spec.whatwg.org/#cereactions 19886. https://html.spec.whatwg.org/#dom-input-step 19887. https://html.spec.whatwg.org/#cereactions 19888. https://html.spec.whatwg.org/#dom-input-type 19889. https://html.spec.whatwg.org/#cereactions 19890. https://html.spec.whatwg.org/#dom-input-defaultvalue 19891. https://html.spec.whatwg.org/#cereactions 19892. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 19893. https://html.spec.whatwg.org/#dom-input-value 19894. https://webidl.spec.whatwg.org/#idl-object 19895. https://html.spec.whatwg.org/#dom-input-valueasdate 19896. https://html.spec.whatwg.org/#dom-input-valueasnumber 19897. https://html.spec.whatwg.org/#cereactions 19898. https://html.spec.whatwg.org/#dom-input-width 19899. https://html.spec.whatwg.org/#dom-input-stepup 19900. https://html.spec.whatwg.org/#dom-input-stepdown 19901. https://html.spec.whatwg.org/#dom-cva-willvalidate 19902. https://html.spec.whatwg.org/#validitystate 19903. https://html.spec.whatwg.org/#dom-cva-validity 19904. https://html.spec.whatwg.org/#dom-cva-validationmessage 19905. https://html.spec.whatwg.org/#dom-cva-checkvalidity 19906. https://html.spec.whatwg.org/#dom-cva-reportvalidity 19907. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 19908. https://dom.spec.whatwg.org/#interface-nodelist 19909. https://html.spec.whatwg.org/#dom-lfe-labels 19910. https://html.spec.whatwg.org/#dom-textarea/input-select 19911. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 19912. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 19913. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 19914. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 19915. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 19916. https://html.spec.whatwg.org/#selectionmode 19917. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 19918. https://html.spec.whatwg.org/#dom-input-showpicker 19919. https://html.spec.whatwg.org/#HTMLInputElement-partial 19920. https://html.spec.whatwg.org/#htmlinputelement 19921. https://html.spec.whatwg.org/#popoverinvokerelement 19922. https://html.spec.whatwg.org/#the-input-element 19923. https://html.spec.whatwg.org/#represents 19924. https://html.spec.whatwg.org/#enumerated-attribute 19925. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 19926. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 19927. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 19928. https://html.spec.whatwg.org/#telephone-state-(type=tel) 19929. https://html.spec.whatwg.org/#url-state-(type=url) 19930. https://html.spec.whatwg.org/#email-state-(type=email) 19931. https://html.spec.whatwg.org/#password-state-(type=password) 19932. https://html.spec.whatwg.org/#date-state-(type=date) 19933. https://html.spec.whatwg.org/#month-state-(type=month) 19934. https://html.spec.whatwg.org/#week-state-(type=week) 19935. https://html.spec.whatwg.org/#time-state-(type=time) 19936. https://html.spec.whatwg.org/#local-date-and-time-state-(type=datetime-local) 19937. https://html.spec.whatwg.org/#number-state-(type=number) 19938. https://html.spec.whatwg.org/#range-state-(type=range) 19939. https://html.spec.whatwg.org/#color-state-(type=color) 19940. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 19941. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 19942. https://html.spec.whatwg.org/#file-upload-state-(type=file) 19943. https://mimesniff.spec.whatwg.org/#mime-type 19944. https://html.spec.whatwg.org/#submit-button-state-(type=submit) 19945. https://html.spec.whatwg.org/#image-button-state-(type=image) 19946. https://html.spec.whatwg.org/#reset-button-state-(type=reset) 19947. https://html.spec.whatwg.org/#button-state-(type=button) 19948. https://html.spec.whatwg.org/#missing-value-default 19949. https://html.spec.whatwg.org/#invalid-value-default 19950. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 19951. https://html.spec.whatwg.org/#attr-input-accept 19952. https://html.spec.whatwg.org/#attr-input-alpha 19953. https://html.spec.whatwg.org/#attr-input-alt 19954. https://html.spec.whatwg.org/#attr-fe-autocomplete 19955. https://html.spec.whatwg.org/#attr-input-checked 19956. https://html.spec.whatwg.org/#attr-input-colorspace 19957. https://html.spec.whatwg.org/#attr-fe-dirname 19958. https://html.spec.whatwg.org/#attr-fs-formaction 19959. https://html.spec.whatwg.org/#attr-fs-formenctype 19960. https://html.spec.whatwg.org/#attr-fs-formmethod 19961. https://html.spec.whatwg.org/#attr-fs-formnovalidate 19962. https://html.spec.whatwg.org/#attr-fs-formtarget 19963. https://html.spec.whatwg.org/#attr-dim-height 19964. https://html.spec.whatwg.org/#attr-input-list 19965. https://html.spec.whatwg.org/#attr-input-max 19966. https://html.spec.whatwg.org/#attr-input-maxlength 19967. https://html.spec.whatwg.org/#attr-input-min 19968. https://html.spec.whatwg.org/#attr-input-minlength 19969. https://html.spec.whatwg.org/#attr-input-multiple 19970. https://html.spec.whatwg.org/#attr-input-pattern 19971. https://html.spec.whatwg.org/#attr-input-placeholder 19972. https://html.spec.whatwg.org/#attr-input-readonly 19973. https://html.spec.whatwg.org/#attr-input-required 19974. https://html.spec.whatwg.org/#attr-input-size 19975. https://html.spec.whatwg.org/#attr-input-src 19976. https://html.spec.whatwg.org/#attr-input-step 19977. https://html.spec.whatwg.org/#attr-dim-width 19978. https://html.spec.whatwg.org/#dom-input-checked 19979. https://html.spec.whatwg.org/#dom-input-files 19980. https://html.spec.whatwg.org/#dom-input-valueasdate 19981. https://html.spec.whatwg.org/#dom-input-valueasnumber 19982. https://html.spec.whatwg.org/#dom-input-list 19983. https://html.spec.whatwg.org/#dom-textarea/input-select 19984. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 19985. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 19986. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 19987. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 19988. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 19989. https://html.spec.whatwg.org/#dom-input-stepup 19990. https://html.spec.whatwg.org/#dom-input-stepdown 19991. https://w3c.github.io/uievents/#event-type-input 19992. https://html.spec.whatwg.org/#event-change 19993. https://html.spec.whatwg.org/#the-input-element 19994. https://html.spec.whatwg.org/#attr-input-type 19995. https://html.spec.whatwg.org/#common-input-element-attributes 19996. https://html.spec.whatwg.org/#common-input-element-apis 19997. https://html.spec.whatwg.org/#common-input-element-events 19998. https://html.spec.whatwg.org/#concept-input-apply 19999. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 20000. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 20001. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 20002. https://html.spec.whatwg.org/#telephone-state-(type=tel) 20003. https://html.spec.whatwg.org/#url-state-(type=url) 20004. https://html.spec.whatwg.org/#email-state-(type=email) 20005. https://html.spec.whatwg.org/#password-state-(type=password) 20006. https://html.spec.whatwg.org/#date-state-(type=date) 20007. https://html.spec.whatwg.org/#month-state-(type=month) 20008. https://html.spec.whatwg.org/#week-state-(type=week) 20009. https://html.spec.whatwg.org/#time-state-(type=time) 20010. https://html.spec.whatwg.org/#local-date-and-time-state-(type=datetime-local) 20011. https://html.spec.whatwg.org/#number-state-(type=number) 20012. https://html.spec.whatwg.org/#range-state-(type=range) 20013. https://html.spec.whatwg.org/#color-state-(type=color) 20014. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 20015. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 20016. https://html.spec.whatwg.org/#file-upload-state-(type=file) 20017. https://html.spec.whatwg.org/#submit-button-state-(type=submit) 20018. https://html.spec.whatwg.org/#image-button-state-(type=image) 20019. https://html.spec.whatwg.org/#reset-button-state-(type=reset) 20020. https://html.spec.whatwg.org/#button-state-(type=button) 20021. https://html.spec.whatwg.org/#attr-input-accept 20022. https://html.spec.whatwg.org/#attr-input-alpha 20023. https://html.spec.whatwg.org/#attr-input-alt 20024. https://html.spec.whatwg.org/#attr-fe-autocomplete 20025. https://html.spec.whatwg.org/#attr-input-checked 20026. https://html.spec.whatwg.org/#attr-input-colorspace 20027. https://html.spec.whatwg.org/#attr-fe-dirname 20028. https://html.spec.whatwg.org/#attr-fs-formaction 20029. https://html.spec.whatwg.org/#attr-fs-formenctype 20030. https://html.spec.whatwg.org/#attr-fs-formmethod 20031. https://html.spec.whatwg.org/#attr-fs-formnovalidate 20032. https://html.spec.whatwg.org/#attr-fs-formtarget 20033. https://html.spec.whatwg.org/#attr-dim-height 20034. https://html.spec.whatwg.org/#attr-input-list 20035. https://html.spec.whatwg.org/#attr-input-max 20036. https://html.spec.whatwg.org/#attr-input-maxlength 20037. https://html.spec.whatwg.org/#attr-input-min 20038. https://html.spec.whatwg.org/#attr-input-minlength 20039. https://html.spec.whatwg.org/#attr-input-multiple 20040. https://html.spec.whatwg.org/#attr-input-pattern 20041. https://html.spec.whatwg.org/#attr-input-placeholder 20042. https://html.spec.whatwg.org/#attr-popovertarget 20043. https://html.spec.whatwg.org/#attr-popovertargetaction 20044. https://html.spec.whatwg.org/#attr-input-readonly 20045. https://html.spec.whatwg.org/#attr-input-required 20046. https://html.spec.whatwg.org/#attr-input-size 20047. https://html.spec.whatwg.org/#attr-input-src 20048. https://html.spec.whatwg.org/#attr-input-step 20049. https://html.spec.whatwg.org/#attr-dim-width 20050. https://html.spec.whatwg.org/#dom-input-checked 20051. https://html.spec.whatwg.org/#dom-input-files 20052. https://html.spec.whatwg.org/#dom-input-value 20053. https://html.spec.whatwg.org/#dom-input-value-default 20054. https://html.spec.whatwg.org/#dom-input-value-value 20055. https://html.spec.whatwg.org/#dom-input-value-value 20056. https://html.spec.whatwg.org/#dom-input-value-value 20057. https://html.spec.whatwg.org/#dom-input-value-value 20058. https://html.spec.whatwg.org/#dom-input-value-value 20059. https://html.spec.whatwg.org/#dom-input-value-value 20060. https://html.spec.whatwg.org/#dom-input-value-value 20061. https://html.spec.whatwg.org/#dom-input-value-value 20062. https://html.spec.whatwg.org/#dom-input-value-value 20063. https://html.spec.whatwg.org/#dom-input-value-default-on 20064. https://html.spec.whatwg.org/#dom-input-value-filename 20065. https://html.spec.whatwg.org/#dom-input-value-default 20066. https://html.spec.whatwg.org/#dom-input-value-default 20067. https://html.spec.whatwg.org/#dom-input-value-default 20068. https://html.spec.whatwg.org/#dom-input-valueasdate 20069. https://html.spec.whatwg.org/#dom-input-valueasnumber 20070. https://html.spec.whatwg.org/#dom-input-list 20071. https://html.spec.whatwg.org/#dom-textarea/input-select 20072. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 20073. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 20074. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 20075. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 20076. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 20077. https://html.spec.whatwg.org/#dom-input-stepdown 20078. https://html.spec.whatwg.org/#dom-input-stepup 20079. https://w3c.github.io/uievents/#event-type-input 20080. https://html.spec.whatwg.org/#event-change 20081. https://html.spec.whatwg.org/#dom-textarea/input-select 20082. https://webidl.spec.whatwg.org/#invalidstateerror 20083. https://webidl.spec.whatwg.org/#dfn-DOMException 20084. https://html.spec.whatwg.org/#attr-input-type 20085. https://html.spec.whatwg.org/#the-input-element 20086. https://html.spec.whatwg.org/#concept-fe-value 20087. https://html.spec.whatwg.org/#dom-input-value 20088. https://html.spec.whatwg.org/#attr-input-max 20089. https://html.spec.whatwg.org/#attr-input-min 20090. https://html.spec.whatwg.org/#attr-input-step 20091. https://html.spec.whatwg.org/#dom-input-valueasdate 20092. https://html.spec.whatwg.org/#dom-input-valueasnumber 20093. https://html.spec.whatwg.org/#dom-input-stepup 20094. https://html.spec.whatwg.org/#the-input-element 20095. https://html.spec.whatwg.org/#concept-fe-dirty 20096. https://html.spec.whatwg.org/#concept-fe-value 20097. https://html.spec.whatwg.org/#dom-input-value 20098. https://html.spec.whatwg.org/#concept-fe-value 20099. https://html.spec.whatwg.org/#the-input-element 20100. https://html.spec.whatwg.org/#attr-input-value 20101. https://html.spec.whatwg.org/#concept-fe-dirty 20102. https://html.spec.whatwg.org/#concept-fe-value 20103. https://html.spec.whatwg.org/#attr-input-value 20104. https://html.spec.whatwg.org/#value-sanitization-algorithm 20105. https://html.spec.whatwg.org/#the-input-element 20106. https://html.spec.whatwg.org/#concept-fe-checked 20107. https://html.spec.whatwg.org/#dom-input-checked 20108. https://html.spec.whatwg.org/#the-input-element 20109. https://html.spec.whatwg.org/#concept-input-checked-dirty-flag 20110. https://html.spec.whatwg.org/#concept-fe-checked 20111. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#checked 20112. https://html.spec.whatwg.org/#boolean-attribute 20113. https://html.spec.whatwg.org/#concept-fe-checked 20114. https://html.spec.whatwg.org/#the-input-element 20115. https://html.spec.whatwg.org/#attr-input-checked 20116. https://html.spec.whatwg.org/#concept-input-checked-dirty 20117. https://html.spec.whatwg.org/#concept-fe-checked 20118. https://html.spec.whatwg.org/#attr-input-checked 20119. https://html.spec.whatwg.org/#concept-input-checked-dirty 20120. https://html.spec.whatwg.org/#concept-fe-checked 20121. https://html.spec.whatwg.org/#concept-form-reset-control 20122. https://html.spec.whatwg.org/#the-input-element 20123. https://html.spec.whatwg.org/#user-validity 20124. https://html.spec.whatwg.org/#concept-fe-dirty 20125. https://html.spec.whatwg.org/#concept-input-checked-dirty-flag 20126. https://html.spec.whatwg.org/#concept-fe-value 20127. https://html.spec.whatwg.org/#attr-input-value 20128. https://html.spec.whatwg.org/#concept-fe-checked 20129. https://html.spec.whatwg.org/#attr-input-checked 20130. https://html.spec.whatwg.org/#concept-input-type-file-selected 20131. https://html.spec.whatwg.org/#value-sanitization-algorithm 20132. https://html.spec.whatwg.org/#attr-input-type 20133. https://html.spec.whatwg.org/#the-input-element 20134. https://html.spec.whatwg.org/#concept-fe-mutable 20135. https://html.spec.whatwg.org/#the-input-element 20136. https://html.spec.whatwg.org/#concept-fe-mutable 20137. https://html.spec.whatwg.org/#concept-fe-value 20138. https://html.spec.whatwg.org/#concept-fe-checked 20139. https://html.spec.whatwg.org/#the-input-element 20140. https://html.spec.whatwg.org/#concept-fe-disabled 20141. https://html.spec.whatwg.org/#concept-fe-mutable 20142. https://html.spec.whatwg.org/#attr-input-readonly 20143. https://html.spec.whatwg.org/#date-state-(type=date) 20144. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 20145. https://html.spec.whatwg.org/#the-input-element 20146. https://html.spec.whatwg.org/#concept-fe-mutable 20147. https://html.spec.whatwg.org/#the-input-element 20148. https://html.spec.whatwg.org/#the-input-element 20149. https://html.spec.whatwg.org/#attr-input-type 20150. https://infra.spec.whatwg.org/#implementation-defined 20151. https://html.spec.whatwg.org/#the-input-element 20152. https://html.spec.whatwg.org/#attr-input-type 20153. https://html.spec.whatwg.org/#file-upload-state-(type=file) 20154. https://html.spec.whatwg.org/#the-input-element 20155. https://html.spec.whatwg.org/#attr-input-type 20156. https://html.spec.whatwg.org/#date-state-(type=date) 20157. https://html.spec.whatwg.org/#month-state-(type=month) 20158. https://html.spec.whatwg.org/#week-state-(type=week) 20159. https://html.spec.whatwg.org/#time-state-(type=time) 20160. https://html.spec.whatwg.org/#local-date-and-time-state-(type=datetime-local) 20161. https://html.spec.whatwg.org/#color-state-(type=color) 20162. https://html.spec.whatwg.org/#the-input-element 20163. https://html.spec.whatwg.org/#concept-input-list 20164. https://html.spec.whatwg.org/#the-input-element 20165. https://html.spec.whatwg.org/#attr-input-type 20166. https://html.spec.whatwg.org/#file-upload-state-(type=file) 20167. https://html.spec.whatwg.org/#the-select-element 20168. https://dom.spec.whatwg.org/#concept-node-clone-ext 20169. https://html.spec.whatwg.org/#the-input-element 20170. https://html.spec.whatwg.org/#concept-fe-value 20171. https://html.spec.whatwg.org/#concept-fe-dirty 20172. https://html.spec.whatwg.org/#concept-fe-checked 20173. https://html.spec.whatwg.org/#concept-input-checked-dirty-flag 20174. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 20175. https://html.spec.whatwg.org/#the-input-element 20176. https://html.spec.whatwg.org/#concept-fe-mutable 20177. https://html.spec.whatwg.org/#attr-input-type 20178. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 20179. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 20180. https://html.spec.whatwg.org/#form-owner 20181. https://html.spec.whatwg.org/#attr-input-type 20182. https://html.spec.whatwg.org/#button-state-(type=button) 20183. https://html.spec.whatwg.org/#popover-target-attribute-activation-behavior 20184. https://dom.spec.whatwg.org/#concept-event-target 20185. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 20186. https://html.spec.whatwg.org/#show-the-picker,-if-applicable 20187. https://html.spec.whatwg.org/#input-activation-behavior 20188. https://html.spec.whatwg.org/#file-upload-state-(type=file) 20189. https://html.spec.whatwg.org/#color-state-(type=color) 20190. https://dom.spec.whatwg.org/#eventtarget-legacy-pre-activation-behavior 20191. https://html.spec.whatwg.org/#the-input-element 20192. https://html.spec.whatwg.org/#attr-input-type 20193. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 20194. https://html.spec.whatwg.org/#concept-fe-checked 20195. https://html.spec.whatwg.org/#dom-input-indeterminate 20196. https://html.spec.whatwg.org/#attr-input-type 20197. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 20198. https://html.spec.whatwg.org/#radio-button-group 20199. https://html.spec.whatwg.org/#concept-fe-checked 20200. https://html.spec.whatwg.org/#concept-fe-checked 20201. https://dom.spec.whatwg.org/#eventtarget-legacy-canceled-activation-behavior 20202. https://html.spec.whatwg.org/#the-input-element 20203. https://html.spec.whatwg.org/#attr-input-type 20204. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 20205. https://html.spec.whatwg.org/#concept-fe-checked 20206. https://html.spec.whatwg.org/#dom-input-indeterminate 20207. https://dom.spec.whatwg.org/#eventtarget-legacy-pre-activation-behavior 20208. https://html.spec.whatwg.org/#attr-input-type 20209. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 20210. https://dom.spec.whatwg.org/#eventtarget-legacy-pre-activation-behavior 20211. https://html.spec.whatwg.org/#radio-button-group 20212. https://html.spec.whatwg.org/#concept-fe-checked 20213. https://html.spec.whatwg.org/#radio-button-group 20214. https://html.spec.whatwg.org/#radio-button-group 20215. https://html.spec.whatwg.org/#concept-fe-checked 20216. https://html.spec.whatwg.org/#the-input-element 20217. https://html.spec.whatwg.org/#attr-input-type 20218. https://html.spec.whatwg.org/#value-sanitization-algorithm 20219. https://html.spec.whatwg.org/#attr-input-type 20220. https://html.spec.whatwg.org/#the-input-element 20221. https://html.spec.whatwg.org/#attr-input-type 20222. https://html.spec.whatwg.org/#attr-input-type 20223. https://html.spec.whatwg.org/#dom-input-value 20224. https://html.spec.whatwg.org/#dom-input-value-value 20225. https://html.spec.whatwg.org/#concept-fe-value 20226. https://html.spec.whatwg.org/#attr-input-type 20227. https://html.spec.whatwg.org/#dom-input-value 20228. https://html.spec.whatwg.org/#dom-input-value-default 20229. https://html.spec.whatwg.org/#dom-input-value-default-on 20230. https://html.spec.whatwg.org/#attr-input-value 20231. https://html.spec.whatwg.org/#concept-fe-value 20232. https://html.spec.whatwg.org/#attr-input-type 20233. https://html.spec.whatwg.org/#dom-input-value 20234. https://html.spec.whatwg.org/#dom-input-value-value 20235. https://html.spec.whatwg.org/#attr-input-type 20236. https://html.spec.whatwg.org/#dom-input-value 20237. https://html.spec.whatwg.org/#dom-input-value-value 20238. https://html.spec.whatwg.org/#concept-fe-value 20239. https://html.spec.whatwg.org/#attr-input-value 20240. https://html.spec.whatwg.org/#concept-fe-dirty 20241. https://html.spec.whatwg.org/#attr-input-type 20242. https://html.spec.whatwg.org/#dom-input-value 20243. https://html.spec.whatwg.org/#dom-input-value-filename 20244. https://html.spec.whatwg.org/#attr-input-type 20245. https://html.spec.whatwg.org/#dom-input-value 20246. https://html.spec.whatwg.org/#dom-input-value-filename 20247. https://html.spec.whatwg.org/#concept-fe-value 20248. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 20249. https://html.spec.whatwg.org/#value-sanitization-algorithm 20250. https://html.spec.whatwg.org/#attr-input-type 20251. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 20252. https://html.spec.whatwg.org/#concept-input-apply 20253. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 20254. https://html.spec.whatwg.org/#concept-input-apply 20255. https://html.spec.whatwg.org/#concept-textarea/input-cursor 20256. https://html.spec.whatwg.org/#set-the-selection-direction 20257. https://html.spec.whatwg.org/#attr-fe-name 20258. https://html.spec.whatwg.org/#attr-fe-dirname 20259. https://html.spec.whatwg.org/#the-directionality 20260. https://html.spec.whatwg.org/#attr-fe-disabled 20261. https://html.spec.whatwg.org/#attr-fae-form 20262. https://html.spec.whatwg.org/#the-input-element 20263. https://html.spec.whatwg.org/#form-owner 20264. https://html.spec.whatwg.org/#attr-fe-autocomplete 20265. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement#indeterminate 20266. https://caniuse.com/#feat=indeterminate-checkbox 20267. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 20268. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/multiple 20269. https://html.spec.whatwg.org/#reflect 20270. https://html.spec.whatwg.org/#reflect 20271. https://html.spec.whatwg.org/#attr-fe-dirname 20272. https://html.spec.whatwg.org/#reflect 20273. https://html.spec.whatwg.org/#attr-input-readonly 20274. https://html.spec.whatwg.org/#reflect 20275. https://html.spec.whatwg.org/#attr-input-checked 20276. https://html.spec.whatwg.org/#reflect 20277. https://html.spec.whatwg.org/#attr-input-value 20278. https://html.spec.whatwg.org/#reflect 20279. https://html.spec.whatwg.org/#attr-input-colorspace 20280. https://html.spec.whatwg.org/#limited-to-only-known-values 20281. https://html.spec.whatwg.org/#reflect 20282. https://html.spec.whatwg.org/#limited-to-only-known-values 20283. https://html.spec.whatwg.org/#reflect 20284. https://html.spec.whatwg.org/#attr-input-maxlength 20285. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers 20286. https://html.spec.whatwg.org/#reflect 20287. https://html.spec.whatwg.org/#attr-input-minlength 20288. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers 20289. https://drafts.csswg.org/css-values/#px 20290. https://html.spec.whatwg.org/#being-rendered 20291. https://drafts.csswg.org/css-images/#natural-dimensions 20292. https://drafts.csswg.org/css-values/#px 20293. https://html.spec.whatwg.org/#input-img-available 20294. https://html.spec.whatwg.org/#being-rendered 20295. https://html.spec.whatwg.org/#input-img-available 20296. https://html.spec.whatwg.org/#the-input-element 20297. https://html.spec.whatwg.org/#attr-input-type 20298. https://html.spec.whatwg.org/#image-button-state-(type=image) 20299. https://html.spec.whatwg.org/#input-img-available 20300. https://html.spec.whatwg.org/#refsCSS 20301. https://html.spec.whatwg.org/#reflect 20302. https://html.spec.whatwg.org/#dom-cva-willvalidate 20303. https://html.spec.whatwg.org/#dom-cva-validity 20304. https://html.spec.whatwg.org/#dom-cva-validationmessage 20305. https://html.spec.whatwg.org/#dom-cva-checkvalidity 20306. https://html.spec.whatwg.org/#dom-cva-reportvalidity 20307. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 20308. https://html.spec.whatwg.org/#the-constraint-validation-api 20309. https://html.spec.whatwg.org/#dom-lfe-labels 20310. https://html.spec.whatwg.org/#the-label-element 20311. https://html.spec.whatwg.org/#dom-textarea/input-select 20312. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 20313. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 20314. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 20315. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 20316. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 20317. https://html.spec.whatwg.org/#dom-fe-disabled 20318. https://html.spec.whatwg.org/#dom-fae-form 20319. https://html.spec.whatwg.org/#dom-fe-name 20320. https://html.spec.whatwg.org/#attr-input-type 20321. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/hidden 20322. https://html.spec.whatwg.org/#the-input-element 20323. https://html.spec.whatwg.org/#attr-input-type 20324. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 20325. https://html.spec.whatwg.org/#the-input-element 20326. https://html.spec.whatwg.org/#represents 20327. https://html.spec.whatwg.org/#the-input-element 20328. https://html.spec.whatwg.org/#attr-input-type 20329. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 20330. https://html.spec.whatwg.org/#barred-from-constraint-validation 20331. https://html.spec.whatwg.org/#attr-fe-name 20332. https://infra.spec.whatwg.org/#ascii-case-insensitive 20333. https://html.spec.whatwg.org/#attr-fe-name-charset 20334. https://html.spec.whatwg.org/#attr-input-value 20335. https://html.spec.whatwg.org/#attr-fe-autocomplete 20336. https://html.spec.whatwg.org/#attr-fe-dirname 20337. https://html.spec.whatwg.org/#concept-input-apply 20338. https://html.spec.whatwg.org/#dom-input-value 20339. https://html.spec.whatwg.org/#concept-input-apply 20340. https://html.spec.whatwg.org/#dom-input-value-default 20341. https://html.spec.whatwg.org/#do-not-apply 20342. https://html.spec.whatwg.org/#attr-input-accept 20343. https://html.spec.whatwg.org/#attr-input-alpha 20344. https://html.spec.whatwg.org/#attr-input-alt 20345. https://html.spec.whatwg.org/#attr-input-checked 20346. https://html.spec.whatwg.org/#attr-input-colorspace 20347. https://html.spec.whatwg.org/#attr-fs-formaction 20348. https://html.spec.whatwg.org/#attr-fs-formenctype 20349. https://html.spec.whatwg.org/#attr-fs-formmethod 20350. https://html.spec.whatwg.org/#attr-fs-formnovalidate 20351. https://html.spec.whatwg.org/#attr-fs-formtarget 20352. https://html.spec.whatwg.org/#attr-dim-height 20353. https://html.spec.whatwg.org/#attr-input-list 20354. https://html.spec.whatwg.org/#attr-input-max 20355. https://html.spec.whatwg.org/#attr-input-maxlength 20356. https://html.spec.whatwg.org/#attr-input-min 20357. https://html.spec.whatwg.org/#attr-input-minlength 20358. https://html.spec.whatwg.org/#attr-input-multiple 20359. https://html.spec.whatwg.org/#attr-input-pattern 20360. https://html.spec.whatwg.org/#attr-input-placeholder 20361. https://html.spec.whatwg.org/#attr-popovertarget 20362. https://html.spec.whatwg.org/#attr-popovertargetaction 20363. https://html.spec.whatwg.org/#attr-input-readonly 20364. https://html.spec.whatwg.org/#attr-input-required 20365. https://html.spec.whatwg.org/#attr-input-size 20366. https://html.spec.whatwg.org/#attr-input-src 20367. https://html.spec.whatwg.org/#attr-input-step 20368. https://html.spec.whatwg.org/#attr-dim-width 20369. https://html.spec.whatwg.org/#do-not-apply 20370. https://html.spec.whatwg.org/#dom-input-checked 20371. https://html.spec.whatwg.org/#dom-input-files 20372. https://html.spec.whatwg.org/#dom-input-list 20373. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 20374. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 20375. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 20376. https://html.spec.whatwg.org/#dom-input-valueasdate 20377. https://html.spec.whatwg.org/#dom-input-valueasnumber 20378. https://html.spec.whatwg.org/#dom-textarea/input-select 20379. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 20380. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 20381. https://html.spec.whatwg.org/#dom-input-stepdown 20382. https://html.spec.whatwg.org/#dom-input-stepup 20383. https://w3c.github.io/uievents/#event-type-input 20384. https://html.spec.whatwg.org/#event-change 20385. https://html.spec.whatwg.org/#do-not-apply 20386. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/search 20387. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/text 20388. https://html.spec.whatwg.org/#the-input-element 20389. https://html.spec.whatwg.org/#attr-input-type 20390. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 20391. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 20392. https://html.spec.whatwg.org/#the-input-element 20393. https://html.spec.whatwg.org/#represents 20394. https://html.spec.whatwg.org/#concept-fe-value 20395. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 20396. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 20397. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 20398. https://html.spec.whatwg.org/#concept-fe-mutable 20399. https://html.spec.whatwg.org/#concept-fe-value 20400. https://html.spec.whatwg.org/#concept-fe-value 20401. https://html.spec.whatwg.org/#concept-fe-mutable 20402. https://html.spec.whatwg.org/#attr-dir 20403. https://html.spec.whatwg.org/#attr-dir-ltr 20404. https://html.spec.whatwg.org/#attr-dir-rtl 20405. https://html.spec.whatwg.org/#queue-an-element-task 20406. https://html.spec.whatwg.org/#user-interaction-task-source 20407. https://dom.spec.whatwg.org/#concept-event-fire 20408. https://w3c.github.io/uievents/#event-type-input 20409. https://dom.spec.whatwg.org/#dom-event-bubbles 20410. https://dom.spec.whatwg.org/#dom-event-composed 20411. https://html.spec.whatwg.org/#attr-input-value 20412. https://html.spec.whatwg.org/#value-sanitization-algorithm 20413. https://infra.spec.whatwg.org/#strip-newlines 20414. https://html.spec.whatwg.org/#concept-fe-value 20415. https://html.spec.whatwg.org/#the-input-element 20416. https://html.spec.whatwg.org/#concept-input-apply 20417. https://html.spec.whatwg.org/#attr-fe-autocomplete 20418. https://html.spec.whatwg.org/#attr-fe-dirname 20419. https://html.spec.whatwg.org/#attr-input-list 20420. https://html.spec.whatwg.org/#attr-input-maxlength 20421. https://html.spec.whatwg.org/#attr-input-minlength 20422. https://html.spec.whatwg.org/#attr-input-pattern 20423. https://html.spec.whatwg.org/#attr-input-placeholder 20424. https://html.spec.whatwg.org/#attr-input-readonly 20425. https://html.spec.whatwg.org/#attr-input-required 20426. https://html.spec.whatwg.org/#attr-input-size 20427. https://html.spec.whatwg.org/#dom-input-list 20428. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 20429. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 20430. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 20431. https://html.spec.whatwg.org/#dom-input-value 20432. https://html.spec.whatwg.org/#dom-textarea/input-select 20433. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 20434. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 20435. https://html.spec.whatwg.org/#dom-input-value 20436. https://html.spec.whatwg.org/#dom-input-value-value 20437. https://w3c.github.io/uievents/#event-type-input 20438. https://html.spec.whatwg.org/#event-change 20439. https://html.spec.whatwg.org/#concept-input-apply 20440. https://html.spec.whatwg.org/#do-not-apply 20441. https://html.spec.whatwg.org/#attr-input-accept 20442. https://html.spec.whatwg.org/#attr-input-alpha 20443. https://html.spec.whatwg.org/#attr-input-alt 20444. https://html.spec.whatwg.org/#attr-input-checked 20445. https://html.spec.whatwg.org/#attr-input-colorspace 20446. https://html.spec.whatwg.org/#attr-fs-formaction 20447. https://html.spec.whatwg.org/#attr-fs-formenctype 20448. https://html.spec.whatwg.org/#attr-fs-formmethod 20449. https://html.spec.whatwg.org/#attr-fs-formnovalidate 20450. https://html.spec.whatwg.org/#attr-fs-formtarget 20451. https://html.spec.whatwg.org/#attr-dim-height 20452. https://html.spec.whatwg.org/#attr-input-max 20453. https://html.spec.whatwg.org/#attr-input-min 20454. https://html.spec.whatwg.org/#attr-input-multiple 20455. https://html.spec.whatwg.org/#attr-popovertarget 20456. https://html.spec.whatwg.org/#attr-popovertargetaction 20457. https://html.spec.whatwg.org/#attr-input-src 20458. https://html.spec.whatwg.org/#attr-input-step 20459. https://html.spec.whatwg.org/#attr-dim-width 20460. https://html.spec.whatwg.org/#do-not-apply 20461. https://html.spec.whatwg.org/#dom-input-checked 20462. https://html.spec.whatwg.org/#dom-input-files 20463. https://html.spec.whatwg.org/#dom-input-valueasdate 20464. https://html.spec.whatwg.org/#dom-input-valueasnumber 20465. https://html.spec.whatwg.org/#dom-input-stepdown 20466. https://html.spec.whatwg.org/#dom-input-stepup 20467. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/tel 20468. https://html.spec.whatwg.org/#the-input-element 20469. https://html.spec.whatwg.org/#attr-input-type 20470. https://html.spec.whatwg.org/#telephone-state-(type=tel) 20471. https://html.spec.whatwg.org/#the-input-element 20472. https://html.spec.whatwg.org/#represents 20473. https://html.spec.whatwg.org/#concept-fe-value 20474. https://html.spec.whatwg.org/#concept-fe-mutable 20475. https://html.spec.whatwg.org/#concept-fe-value 20476. https://html.spec.whatwg.org/#concept-fe-value 20477. https://html.spec.whatwg.org/#concept-fe-value 20478. https://html.spec.whatwg.org/#attr-input-value 20479. https://html.spec.whatwg.org/#value-sanitization-algorithm 20480. https://infra.spec.whatwg.org/#strip-newlines 20481. https://html.spec.whatwg.org/#concept-fe-value 20482. https://html.spec.whatwg.org/#url-state-(type=url) 20483. https://html.spec.whatwg.org/#email-state-(type=email) 20484. https://html.spec.whatwg.org/#telephone-state-(type=tel) 20485. https://html.spec.whatwg.org/#attr-input-pattern 20486. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 20487. https://html.spec.whatwg.org/#the-input-element 20488. https://html.spec.whatwg.org/#concept-input-apply 20489. https://html.spec.whatwg.org/#attr-fe-autocomplete 20490. https://html.spec.whatwg.org/#attr-fe-dirname 20491. https://html.spec.whatwg.org/#attr-input-list 20492. https://html.spec.whatwg.org/#attr-input-maxlength 20493. https://html.spec.whatwg.org/#attr-input-minlength 20494. https://html.spec.whatwg.org/#attr-input-pattern 20495. https://html.spec.whatwg.org/#attr-input-placeholder 20496. https://html.spec.whatwg.org/#attr-input-readonly 20497. https://html.spec.whatwg.org/#attr-input-required 20498. https://html.spec.whatwg.org/#attr-input-size 20499. https://html.spec.whatwg.org/#dom-input-list 20500. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 20501. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 20502. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 20503. https://html.spec.whatwg.org/#dom-input-value 20504. https://html.spec.whatwg.org/#dom-textarea/input-select 20505. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 20506. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 20507. https://html.spec.whatwg.org/#dom-input-value 20508. https://html.spec.whatwg.org/#dom-input-value-value 20509. https://w3c.github.io/uievents/#event-type-input 20510. https://html.spec.whatwg.org/#event-change 20511. https://html.spec.whatwg.org/#concept-input-apply 20512. https://html.spec.whatwg.org/#do-not-apply 20513. https://html.spec.whatwg.org/#attr-input-accept 20514. https://html.spec.whatwg.org/#attr-input-alpha 20515. https://html.spec.whatwg.org/#attr-input-alt 20516. https://html.spec.whatwg.org/#attr-input-checked 20517. https://html.spec.whatwg.org/#attr-input-colorspace 20518. https://html.spec.whatwg.org/#attr-fs-formaction 20519. https://html.spec.whatwg.org/#attr-fs-formenctype 20520. https://html.spec.whatwg.org/#attr-fs-formmethod 20521. https://html.spec.whatwg.org/#attr-fs-formnovalidate 20522. https://html.spec.whatwg.org/#attr-fs-formtarget 20523. https://html.spec.whatwg.org/#attr-dim-height 20524. https://html.spec.whatwg.org/#attr-input-max 20525. https://html.spec.whatwg.org/#attr-input-min 20526. https://html.spec.whatwg.org/#attr-input-multiple 20527. https://html.spec.whatwg.org/#attr-popovertarget 20528. https://html.spec.whatwg.org/#attr-popovertargetaction 20529. https://html.spec.whatwg.org/#attr-input-src 20530. https://html.spec.whatwg.org/#attr-input-step 20531. https://html.spec.whatwg.org/#attr-dim-width 20532. https://html.spec.whatwg.org/#do-not-apply 20533. https://html.spec.whatwg.org/#dom-input-checked 20534. https://html.spec.whatwg.org/#dom-input-files 20535. https://html.spec.whatwg.org/#dom-input-valueasdate 20536. https://html.spec.whatwg.org/#dom-input-valueasnumber 20537. https://html.spec.whatwg.org/#dom-input-stepdown 20538. https://html.spec.whatwg.org/#dom-input-stepup 20539. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/url 20540. https://html.spec.whatwg.org/#the-input-element 20541. https://html.spec.whatwg.org/#attr-input-type 20542. https://html.spec.whatwg.org/#url-state-(type=url) 20543. https://html.spec.whatwg.org/#the-input-element 20544. https://html.spec.whatwg.org/#represents 20545. https://url.spec.whatwg.org/#syntax-url-absolute 20546. https://html.spec.whatwg.org/#concept-fe-value 20547. https://html.spec.whatwg.org/#concept-fe-mutable 20548. https://html.spec.whatwg.org/#concept-fe-value 20549. https://html.spec.whatwg.org/#concept-fe-value 20550. https://url.spec.whatwg.org/#valid-url-string 20551. https://url.spec.whatwg.org/#syntax-url-absolute 20552. https://html.spec.whatwg.org/#concept-fe-value 20553. https://url.spec.whatwg.org/#valid-url-string 20554. https://url.spec.whatwg.org/#syntax-url-absolute 20555. https://html.spec.whatwg.org/#concept-fe-value 20556. https://html.spec.whatwg.org/#concept-fe-value 20557. https://html.spec.whatwg.org/#attr-input-value 20558. https://html.spec.whatwg.org/#valid-url-potentially-surrounded-by-spaces 20559. https://url.spec.whatwg.org/#syntax-url-absolute 20560. https://html.spec.whatwg.org/#value-sanitization-algorithm 20561. https://infra.spec.whatwg.org/#strip-newlines 20562. https://html.spec.whatwg.org/#concept-fe-value 20563. https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace 20564. https://html.spec.whatwg.org/#concept-fe-value 20565. https://html.spec.whatwg.org/#concept-fe-value 20566. https://url.spec.whatwg.org/#valid-url-string 20567. https://url.spec.whatwg.org/#syntax-url-absolute 20568. https://html.spec.whatwg.org/#suffering-from-a-type-mismatch 20569. https://html.spec.whatwg.org/#the-input-element 20570. https://html.spec.whatwg.org/#concept-input-apply 20571. https://html.spec.whatwg.org/#attr-fe-autocomplete 20572. https://html.spec.whatwg.org/#attr-fe-dirname 20573. https://html.spec.whatwg.org/#attr-input-list 20574. https://html.spec.whatwg.org/#attr-input-maxlength 20575. https://html.spec.whatwg.org/#attr-input-minlength 20576. https://html.spec.whatwg.org/#attr-input-pattern 20577. https://html.spec.whatwg.org/#attr-input-placeholder 20578. https://html.spec.whatwg.org/#attr-input-readonly 20579. https://html.spec.whatwg.org/#attr-input-required 20580. https://html.spec.whatwg.org/#attr-input-size 20581. https://html.spec.whatwg.org/#dom-input-list 20582. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 20583. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 20584. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 20585. https://html.spec.whatwg.org/#dom-input-value 20586. https://html.spec.whatwg.org/#dom-textarea/input-select 20587. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 20588. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 20589. https://html.spec.whatwg.org/#dom-input-value 20590. https://html.spec.whatwg.org/#dom-input-value-value 20591. https://w3c.github.io/uievents/#event-type-input 20592. https://html.spec.whatwg.org/#event-change 20593. https://html.spec.whatwg.org/#concept-input-apply 20594. https://html.spec.whatwg.org/#do-not-apply 20595. https://html.spec.whatwg.org/#attr-input-accept 20596. https://html.spec.whatwg.org/#attr-input-alpha 20597. https://html.spec.whatwg.org/#attr-input-alt 20598. https://html.spec.whatwg.org/#attr-input-checked 20599. https://html.spec.whatwg.org/#attr-input-colorspace 20600. https://html.spec.whatwg.org/#attr-fs-formaction 20601. https://html.spec.whatwg.org/#attr-fs-formenctype 20602. https://html.spec.whatwg.org/#attr-fs-formmethod 20603. https://html.spec.whatwg.org/#attr-fs-formnovalidate 20604. https://html.spec.whatwg.org/#attr-fs-formtarget 20605. https://html.spec.whatwg.org/#attr-dim-height 20606. https://html.spec.whatwg.org/#attr-input-max 20607. https://html.spec.whatwg.org/#attr-input-min 20608. https://html.spec.whatwg.org/#attr-input-multiple 20609. https://html.spec.whatwg.org/#attr-popovertarget 20610. https://html.spec.whatwg.org/#attr-popovertargetaction 20611. https://html.spec.whatwg.org/#attr-input-src 20612. https://html.spec.whatwg.org/#attr-input-step 20613. https://html.spec.whatwg.org/#attr-dim-width 20614. https://html.spec.whatwg.org/#do-not-apply 20615. https://html.spec.whatwg.org/#dom-input-checked 20616. https://html.spec.whatwg.org/#dom-input-files 20617. https://html.spec.whatwg.org/#dom-input-valueasdate 20618. https://html.spec.whatwg.org/#dom-input-valueasnumber 20619. https://html.spec.whatwg.org/#dom-input-stepdown 20620. https://html.spec.whatwg.org/#dom-input-stepup 20621. https://infra.spec.whatwg.org/#implementation-defined 20622. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email 20623. https://html.spec.whatwg.org/#the-input-element 20624. https://html.spec.whatwg.org/#attr-input-type 20625. https://html.spec.whatwg.org/#email-state-(type=email) 20626. https://html.spec.whatwg.org/#email-state-(type=email) 20627. https://html.spec.whatwg.org/#attr-input-multiple 20628. https://html.spec.whatwg.org/#attr-input-multiple 20629. https://html.spec.whatwg.org/#the-input-element 20630. https://html.spec.whatwg.org/#represents 20631. https://html.spec.whatwg.org/#concept-fe-value 20632. https://html.spec.whatwg.org/#concept-fe-mutable 20633. https://html.spec.whatwg.org/#concept-fe-value 20634. https://html.spec.whatwg.org/#concept-fe-value 20635. https://html.spec.whatwg.org/#valid-e-mail-address 20636. https://html.spec.whatwg.org/#concept-fe-value 20637. https://html.spec.whatwg.org/#concept-fe-value 20638. https://html.spec.whatwg.org/#concept-fe-value 20639. https://html.spec.whatwg.org/#concept-fe-value 20640. https://html.spec.whatwg.org/#suffering-from-bad-input 20641. https://html.spec.whatwg.org/#attr-input-value 20642. https://html.spec.whatwg.org/#valid-e-mail-address 20643. https://html.spec.whatwg.org/#value-sanitization-algorithm 20644. https://infra.spec.whatwg.org/#strip-newlines 20645. https://html.spec.whatwg.org/#concept-fe-value 20646. https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace 20647. https://html.spec.whatwg.org/#concept-fe-value 20648. https://html.spec.whatwg.org/#concept-fe-value 20649. https://html.spec.whatwg.org/#valid-e-mail-address 20650. https://html.spec.whatwg.org/#suffering-from-a-type-mismatch 20651. https://html.spec.whatwg.org/#attr-input-multiple 20652. https://html.spec.whatwg.org/#the-input-element 20653. https://html.spec.whatwg.org/#represents 20654. https://html.spec.whatwg.org/#concept-fe-values 20655. https://html.spec.whatwg.org/#concept-fe-mutable 20656. https://html.spec.whatwg.org/#concept-fe-values 20657. https://html.spec.whatwg.org/#concept-fe-value 20658. https://html.spec.whatwg.org/#valid-e-mail-address 20659. https://html.spec.whatwg.org/#concept-fe-values 20660. https://html.spec.whatwg.org/#concept-fe-values 20661. https://html.spec.whatwg.org/#concept-fe-value 20662. https://html.spec.whatwg.org/#suffering-from-bad-input 20663. https://html.spec.whatwg.org/#concept-fe-value 20664. https://html.spec.whatwg.org/#concept-fe-value 20665. https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace 20666. https://html.spec.whatwg.org/#concept-fe-value 20667. https://html.spec.whatwg.org/#attr-input-value 20668. https://html.spec.whatwg.org/#valid-e-mail-address-list 20669. https://html.spec.whatwg.org/#value-sanitization-algorithm 20670. https://infra.spec.whatwg.org/#split-on-commas 20671. https://html.spec.whatwg.org/#concept-fe-value 20672. https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace 20673. https://html.spec.whatwg.org/#concept-fe-values 20674. https://html.spec.whatwg.org/#concept-fe-value 20675. https://html.spec.whatwg.org/#concept-fe-values 20676. https://html.spec.whatwg.org/#concept-fe-value 20677. https://html.spec.whatwg.org/#valid-e-mail-address-list 20678. https://html.spec.whatwg.org/#suffering-from-a-type-mismatch 20679. https://html.spec.whatwg.org/#attr-input-multiple 20680. https://html.spec.whatwg.org/#value-sanitization-algorithm 20681. https://html.spec.whatwg.org/#refsABNF 20682. https://html.spec.whatwg.org/#refsRFC5322 20683. https://html.spec.whatwg.org/#refsRFC1034 20684. https://html.spec.whatwg.org/#refsRFC1123 20685. https://www.rfc-editor.org/rfc/rfc1034#section-3.5 20686. https://www.rfc-editor.org/rfc/rfc5322#section-3.2.3 20687. https://www.rfc-editor.org/rfc/rfc1034#section-3.5 20688. https://www.rfc-editor.org/rfc/rfc1034#section-3.5 20689. https://infra.spec.whatwg.org/#willful-violation 20690. https://html.spec.whatwg.org/#set-of-comma-separated-tokens 20691. https://html.spec.whatwg.org/#valid-e-mail-address 20692. https://html.spec.whatwg.org/#valid-e-mail-address-list 20693. https://infra.spec.whatwg.org/#split-on-commas 20694. https://html.spec.whatwg.org/#the-input-element 20695. https://html.spec.whatwg.org/#concept-input-apply 20696. https://html.spec.whatwg.org/#attr-fe-autocomplete 20697. https://html.spec.whatwg.org/#attr-fe-dirname 20698. https://html.spec.whatwg.org/#attr-input-list 20699. https://html.spec.whatwg.org/#attr-input-maxlength 20700. https://html.spec.whatwg.org/#attr-input-minlength 20701. https://html.spec.whatwg.org/#attr-input-multiple 20702. https://html.spec.whatwg.org/#attr-input-pattern 20703. https://html.spec.whatwg.org/#attr-input-placeholder 20704. https://html.spec.whatwg.org/#attr-input-readonly 20705. https://html.spec.whatwg.org/#attr-input-required 20706. https://html.spec.whatwg.org/#attr-input-size 20707. https://html.spec.whatwg.org/#dom-input-list 20708. https://html.spec.whatwg.org/#dom-input-value 20709. https://html.spec.whatwg.org/#dom-textarea/input-select 20710. https://html.spec.whatwg.org/#dom-input-value 20711. https://html.spec.whatwg.org/#dom-input-value-value 20712. https://w3c.github.io/uievents/#event-type-input 20713. https://html.spec.whatwg.org/#event-change 20714. https://html.spec.whatwg.org/#concept-input-apply 20715. https://html.spec.whatwg.org/#do-not-apply 20716. https://html.spec.whatwg.org/#attr-input-accept 20717. https://html.spec.whatwg.org/#attr-input-alpha 20718. https://html.spec.whatwg.org/#attr-input-alt 20719. https://html.spec.whatwg.org/#attr-input-checked 20720. https://html.spec.whatwg.org/#attr-input-colorspace 20721. https://html.spec.whatwg.org/#attr-fs-formaction 20722. https://html.spec.whatwg.org/#attr-fs-formenctype 20723. https://html.spec.whatwg.org/#attr-fs-formmethod 20724. https://html.spec.whatwg.org/#attr-fs-formnovalidate 20725. https://html.spec.whatwg.org/#attr-fs-formtarget 20726. https://html.spec.whatwg.org/#attr-dim-height 20727. https://html.spec.whatwg.org/#attr-input-max 20728. https://html.spec.whatwg.org/#attr-input-min 20729. https://html.spec.whatwg.org/#attr-popovertarget 20730. https://html.spec.whatwg.org/#attr-popovertargetaction 20731. https://html.spec.whatwg.org/#attr-input-src 20732. https://html.spec.whatwg.org/#attr-input-step 20733. https://html.spec.whatwg.org/#attr-dim-width 20734. https://html.spec.whatwg.org/#do-not-apply 20735. https://html.spec.whatwg.org/#dom-input-checked 20736. https://html.spec.whatwg.org/#dom-input-files 20737. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 20738. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 20739. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 20740. https://html.spec.whatwg.org/#dom-input-valueasdate 20741. https://html.spec.whatwg.org/#dom-input-valueasnumber 20742. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 20743. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 20744. https://html.spec.whatwg.org/#dom-input-stepdown 20745. https://html.spec.whatwg.org/#dom-input-stepup 20746. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/password 20747. https://html.spec.whatwg.org/#the-input-element 20748. https://html.spec.whatwg.org/#attr-input-type 20749. https://html.spec.whatwg.org/#password-state-(type=password) 20750. https://html.spec.whatwg.org/#the-input-element 20751. https://html.spec.whatwg.org/#represents 20752. https://html.spec.whatwg.org/#concept-fe-value 20753. https://html.spec.whatwg.org/#concept-fe-mutable 20754. https://html.spec.whatwg.org/#concept-fe-value 20755. https://html.spec.whatwg.org/#concept-fe-value 20756. https://html.spec.whatwg.org/#attr-input-value 20757. https://html.spec.whatwg.org/#value-sanitization-algorithm 20758. https://infra.spec.whatwg.org/#strip-newlines 20759. https://html.spec.whatwg.org/#concept-fe-value 20760. https://html.spec.whatwg.org/#the-input-element 20761. https://html.spec.whatwg.org/#concept-input-apply 20762. https://html.spec.whatwg.org/#attr-fe-autocomplete 20763. https://html.spec.whatwg.org/#attr-fe-dirname 20764. https://html.spec.whatwg.org/#attr-input-maxlength 20765. https://html.spec.whatwg.org/#attr-input-minlength 20766. https://html.spec.whatwg.org/#attr-input-pattern 20767. https://html.spec.whatwg.org/#attr-input-placeholder 20768. https://html.spec.whatwg.org/#attr-input-readonly 20769. https://html.spec.whatwg.org/#attr-input-required 20770. https://html.spec.whatwg.org/#attr-input-size 20771. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 20772. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 20773. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 20774. https://html.spec.whatwg.org/#dom-input-value 20775. https://html.spec.whatwg.org/#dom-textarea/input-select 20776. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 20777. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 20778. https://html.spec.whatwg.org/#dom-input-value 20779. https://html.spec.whatwg.org/#dom-input-value-value 20780. https://w3c.github.io/uievents/#event-type-input 20781. https://html.spec.whatwg.org/#event-change 20782. https://html.spec.whatwg.org/#concept-input-apply 20783. https://html.spec.whatwg.org/#do-not-apply 20784. https://html.spec.whatwg.org/#attr-input-accept 20785. https://html.spec.whatwg.org/#attr-input-alpha 20786. https://html.spec.whatwg.org/#attr-input-alt 20787. https://html.spec.whatwg.org/#attr-input-checked 20788. https://html.spec.whatwg.org/#attr-input-colorspace 20789. https://html.spec.whatwg.org/#attr-fs-formaction 20790. https://html.spec.whatwg.org/#attr-fs-formenctype 20791. https://html.spec.whatwg.org/#attr-fs-formmethod 20792. https://html.spec.whatwg.org/#attr-fs-formnovalidate 20793. https://html.spec.whatwg.org/#attr-fs-formtarget 20794. https://html.spec.whatwg.org/#attr-dim-height 20795. https://html.spec.whatwg.org/#attr-input-list 20796. https://html.spec.whatwg.org/#attr-input-max 20797. https://html.spec.whatwg.org/#attr-input-min 20798. https://html.spec.whatwg.org/#attr-input-multiple 20799. https://html.spec.whatwg.org/#attr-popovertarget 20800. https://html.spec.whatwg.org/#attr-popovertargetaction 20801. https://html.spec.whatwg.org/#attr-input-src 20802. https://html.spec.whatwg.org/#attr-input-step 20803. https://html.spec.whatwg.org/#attr-dim-width 20804. https://html.spec.whatwg.org/#do-not-apply 20805. https://html.spec.whatwg.org/#dom-input-checked 20806. https://html.spec.whatwg.org/#dom-input-files 20807. https://html.spec.whatwg.org/#dom-input-list 20808. https://html.spec.whatwg.org/#dom-input-valueasdate 20809. https://html.spec.whatwg.org/#dom-input-valueasnumber 20810. https://html.spec.whatwg.org/#dom-input-stepdown 20811. https://html.spec.whatwg.org/#dom-input-stepup 20812. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date 20813. https://html.spec.whatwg.org/#the-input-element 20814. https://html.spec.whatwg.org/#attr-input-type 20815. https://html.spec.whatwg.org/#date-state-(type=date) 20816. https://html.spec.whatwg.org/#the-input-element 20817. https://html.spec.whatwg.org/#represents 20818. https://html.spec.whatwg.org/#concept-fe-value 20819. https://html.spec.whatwg.org/#concept-date 20820. https://html.spec.whatwg.org/#concept-fe-mutable 20821. https://html.spec.whatwg.org/#concept-date 20822. https://html.spec.whatwg.org/#concept-fe-value 20823. https://html.spec.whatwg.org/#parse-a-date-string 20824. https://html.spec.whatwg.org/#concept-fe-value 20825. https://html.spec.whatwg.org/#valid-date-string 20826. https://html.spec.whatwg.org/#concept-date 20827. https://html.spec.whatwg.org/#concept-fe-value 20828. https://html.spec.whatwg.org/#valid-date-string 20829. https://html.spec.whatwg.org/#concept-fe-value 20830. https://html.spec.whatwg.org/#valid-date-string 20831. https://html.spec.whatwg.org/#suffering-from-bad-input 20832. https://html.spec.whatwg.org/#input-author-notes 20833. https://html.spec.whatwg.org/#input-impl-notes 20834. https://html.spec.whatwg.org/#attr-input-value 20835. https://html.spec.whatwg.org/#valid-date-string 20836. https://html.spec.whatwg.org/#value-sanitization-algorithm 20837. https://html.spec.whatwg.org/#concept-fe-value 20838. https://html.spec.whatwg.org/#valid-date-string 20839. https://html.spec.whatwg.org/#attr-input-min 20840. https://html.spec.whatwg.org/#valid-date-string 20841. https://html.spec.whatwg.org/#attr-input-max 20842. https://html.spec.whatwg.org/#valid-date-string 20843. https://html.spec.whatwg.org/#attr-input-step 20844. https://html.spec.whatwg.org/#concept-input-step-scale 20845. https://html.spec.whatwg.org/#concept-input-step-default 20846. https://html.spec.whatwg.org/#suffering-from-a-step-mismatch 20847. https://html.spec.whatwg.org/#concept-fe-value 20848. https://html.spec.whatwg.org/#concept-date 20849. https://html.spec.whatwg.org/#suffering-from-a-step-mismatch 20850. https://html.spec.whatwg.org/#concept-input-value-string-number 20851. https://html.spec.whatwg.org/#parse-a-date-string 20852. https://html.spec.whatwg.org/#concept-date 20853. https://html.spec.whatwg.org/#concept-input-value-number-string 20854. https://html.spec.whatwg.org/#valid-date-string 20855. https://html.spec.whatwg.org/#concept-date 20856. https://html.spec.whatwg.org/#concept-input-value-string-date 20857. https://html.spec.whatwg.org/#parse-a-date-string 20858. https://html.spec.whatwg.org/#create-a-date-object 20859. https://html.spec.whatwg.org/#concept-date 20860. https://html.spec.whatwg.org/#concept-input-value-date-string 20861. https://tc39.es/ecma262/#sec-date-objects 20862. https://html.spec.whatwg.org/#valid-date-string 20863. https://html.spec.whatwg.org/#concept-date 20864. https://html.spec.whatwg.org/#date-state-(type=date) 20865. https://html.spec.whatwg.org/#date-state-(type=date) 20866. https://html.spec.whatwg.org/#the-select-element 20867. https://html.spec.whatwg.org/#the-input-element 20868. https://html.spec.whatwg.org/#number-state-(type=number) 20869. https://html.spec.whatwg.org/#the-input-element 20870. https://html.spec.whatwg.org/#concept-input-apply 20871. https://html.spec.whatwg.org/#attr-fe-autocomplete 20872. https://html.spec.whatwg.org/#attr-input-list 20873. https://html.spec.whatwg.org/#attr-input-max 20874. https://html.spec.whatwg.org/#attr-input-min 20875. https://html.spec.whatwg.org/#attr-input-readonly 20876. https://html.spec.whatwg.org/#attr-input-required 20877. https://html.spec.whatwg.org/#attr-input-step 20878. https://html.spec.whatwg.org/#dom-input-list 20879. https://html.spec.whatwg.org/#dom-input-value 20880. https://html.spec.whatwg.org/#dom-input-valueasdate 20881. https://html.spec.whatwg.org/#dom-input-valueasnumber 20882. https://html.spec.whatwg.org/#dom-textarea/input-select 20883. https://html.spec.whatwg.org/#dom-input-stepdown 20884. https://html.spec.whatwg.org/#dom-input-stepup 20885. https://html.spec.whatwg.org/#dom-input-value 20886. https://html.spec.whatwg.org/#dom-input-value-value 20887. https://w3c.github.io/uievents/#event-type-input 20888. https://html.spec.whatwg.org/#event-change 20889. https://html.spec.whatwg.org/#concept-input-apply 20890. https://html.spec.whatwg.org/#do-not-apply 20891. https://html.spec.whatwg.org/#attr-input-accept 20892. https://html.spec.whatwg.org/#attr-input-alpha 20893. https://html.spec.whatwg.org/#attr-input-alt 20894. https://html.spec.whatwg.org/#attr-input-checked 20895. https://html.spec.whatwg.org/#attr-input-colorspace 20896. https://html.spec.whatwg.org/#attr-fe-dirname 20897. https://html.spec.whatwg.org/#attr-fs-formaction 20898. https://html.spec.whatwg.org/#attr-fs-formenctype 20899. https://html.spec.whatwg.org/#attr-fs-formmethod 20900. https://html.spec.whatwg.org/#attr-fs-formnovalidate 20901. https://html.spec.whatwg.org/#attr-fs-formtarget 20902. https://html.spec.whatwg.org/#attr-dim-height 20903. https://html.spec.whatwg.org/#attr-input-maxlength 20904. https://html.spec.whatwg.org/#attr-input-minlength 20905. https://html.spec.whatwg.org/#attr-input-multiple 20906. https://html.spec.whatwg.org/#attr-input-pattern 20907. https://html.spec.whatwg.org/#attr-input-placeholder 20908. https://html.spec.whatwg.org/#attr-popovertarget 20909. https://html.spec.whatwg.org/#attr-popovertargetaction 20910. https://html.spec.whatwg.org/#attr-input-size 20911. https://html.spec.whatwg.org/#attr-input-src 20912. https://html.spec.whatwg.org/#attr-dim-width 20913. https://html.spec.whatwg.org/#do-not-apply 20914. https://html.spec.whatwg.org/#dom-input-checked 20915. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 20916. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 20917. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 20918. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 20919. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 20920. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/month 20921. https://html.spec.whatwg.org/#the-input-element 20922. https://html.spec.whatwg.org/#attr-input-type 20923. https://html.spec.whatwg.org/#month-state-(type=month) 20924. https://html.spec.whatwg.org/#the-input-element 20925. https://html.spec.whatwg.org/#represents 20926. https://html.spec.whatwg.org/#concept-fe-value 20927. https://html.spec.whatwg.org/#concept-month 20928. https://html.spec.whatwg.org/#concept-fe-mutable 20929. https://html.spec.whatwg.org/#concept-month 20930. https://html.spec.whatwg.org/#concept-fe-value 20931. https://html.spec.whatwg.org/#parse-a-month-string 20932. https://html.spec.whatwg.org/#concept-fe-value 20933. https://html.spec.whatwg.org/#valid-month-string 20934. https://html.spec.whatwg.org/#concept-month 20935. https://html.spec.whatwg.org/#concept-fe-value 20936. https://html.spec.whatwg.org/#valid-month-string 20937. https://html.spec.whatwg.org/#concept-fe-value 20938. https://html.spec.whatwg.org/#valid-month-string 20939. https://html.spec.whatwg.org/#suffering-from-bad-input 20940. https://html.spec.whatwg.org/#input-author-notes 20941. https://html.spec.whatwg.org/#input-impl-notes 20942. https://html.spec.whatwg.org/#attr-input-value 20943. https://html.spec.whatwg.org/#valid-month-string 20944. https://html.spec.whatwg.org/#value-sanitization-algorithm 20945. https://html.spec.whatwg.org/#concept-fe-value 20946. https://html.spec.whatwg.org/#valid-month-string 20947. https://html.spec.whatwg.org/#attr-input-min 20948. https://html.spec.whatwg.org/#valid-month-string 20949. https://html.spec.whatwg.org/#attr-input-max 20950. https://html.spec.whatwg.org/#valid-month-string 20951. https://html.spec.whatwg.org/#attr-input-step 20952. https://html.spec.whatwg.org/#concept-input-step-scale 20953. https://html.spec.whatwg.org/#concept-input-step-default 20954. https://html.spec.whatwg.org/#suffering-from-a-step-mismatch 20955. https://html.spec.whatwg.org/#concept-fe-value 20956. https://html.spec.whatwg.org/#concept-month 20957. https://html.spec.whatwg.org/#suffering-from-a-step-mismatch 20958. https://html.spec.whatwg.org/#concept-input-value-string-number 20959. https://html.spec.whatwg.org/#parse-a-month-string 20960. https://html.spec.whatwg.org/#concept-month 20961. https://html.spec.whatwg.org/#concept-input-value-number-string 20962. https://html.spec.whatwg.org/#valid-month-string 20963. https://html.spec.whatwg.org/#concept-month 20964. https://html.spec.whatwg.org/#concept-input-value-string-date 20965. https://html.spec.whatwg.org/#parse-a-month-string 20966. https://html.spec.whatwg.org/#create-a-date-object 20967. https://html.spec.whatwg.org/#concept-month 20968. https://html.spec.whatwg.org/#concept-input-value-date-string 20969. https://tc39.es/ecma262/#sec-date-objects 20970. https://html.spec.whatwg.org/#valid-month-string 20971. https://html.spec.whatwg.org/#concept-month 20972. https://html.spec.whatwg.org/#the-input-element 20973. https://html.spec.whatwg.org/#concept-input-apply 20974. https://html.spec.whatwg.org/#attr-fe-autocomplete 20975. https://html.spec.whatwg.org/#attr-input-list 20976. https://html.spec.whatwg.org/#attr-input-max 20977. https://html.spec.whatwg.org/#attr-input-min 20978. https://html.spec.whatwg.org/#attr-input-readonly 20979. https://html.spec.whatwg.org/#attr-input-required 20980. https://html.spec.whatwg.org/#attr-input-step 20981. https://html.spec.whatwg.org/#dom-input-list 20982. https://html.spec.whatwg.org/#dom-input-value 20983. https://html.spec.whatwg.org/#dom-input-valueasdate 20984. https://html.spec.whatwg.org/#dom-input-valueasnumber 20985. https://html.spec.whatwg.org/#dom-textarea/input-select 20986. https://html.spec.whatwg.org/#dom-input-stepdown 20987. https://html.spec.whatwg.org/#dom-input-stepup 20988. https://html.spec.whatwg.org/#dom-input-value 20989. https://html.spec.whatwg.org/#dom-input-value-value 20990. https://w3c.github.io/uievents/#event-type-input 20991. https://html.spec.whatwg.org/#event-change 20992. https://html.spec.whatwg.org/#concept-input-apply 20993. https://html.spec.whatwg.org/#do-not-apply 20994. https://html.spec.whatwg.org/#attr-input-accept 20995. https://html.spec.whatwg.org/#attr-input-alpha 20996. https://html.spec.whatwg.org/#attr-input-alt 20997. https://html.spec.whatwg.org/#attr-input-checked 20998. https://html.spec.whatwg.org/#attr-input-colorspace 20999. https://html.spec.whatwg.org/#attr-fe-dirname 21000. https://html.spec.whatwg.org/#attr-fs-formaction 21001. https://html.spec.whatwg.org/#attr-fs-formenctype 21002. https://html.spec.whatwg.org/#attr-fs-formmethod 21003. https://html.spec.whatwg.org/#attr-fs-formnovalidate 21004. https://html.spec.whatwg.org/#attr-fs-formtarget 21005. https://html.spec.whatwg.org/#attr-dim-height 21006. https://html.spec.whatwg.org/#attr-input-maxlength 21007. https://html.spec.whatwg.org/#attr-input-minlength 21008. https://html.spec.whatwg.org/#attr-input-multiple 21009. https://html.spec.whatwg.org/#attr-input-pattern 21010. https://html.spec.whatwg.org/#attr-input-placeholder 21011. https://html.spec.whatwg.org/#attr-popovertarget 21012. https://html.spec.whatwg.org/#attr-popovertargetaction 21013. https://html.spec.whatwg.org/#attr-input-size 21014. https://html.spec.whatwg.org/#attr-input-src 21015. https://html.spec.whatwg.org/#attr-dim-width 21016. https://html.spec.whatwg.org/#do-not-apply 21017. https://html.spec.whatwg.org/#dom-input-checked 21018. https://html.spec.whatwg.org/#dom-input-files 21019. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 21020. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 21021. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 21022. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 21023. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 21024. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/week 21025. https://html.spec.whatwg.org/#the-input-element 21026. https://html.spec.whatwg.org/#attr-input-type 21027. https://html.spec.whatwg.org/#week-state-(type=week) 21028. https://html.spec.whatwg.org/#the-input-element 21029. https://html.spec.whatwg.org/#represents 21030. https://html.spec.whatwg.org/#concept-fe-value 21031. https://html.spec.whatwg.org/#concept-week 21032. https://html.spec.whatwg.org/#concept-fe-mutable 21033. https://html.spec.whatwg.org/#concept-week 21034. https://html.spec.whatwg.org/#concept-fe-value 21035. https://html.spec.whatwg.org/#parse-a-week-string 21036. https://html.spec.whatwg.org/#concept-fe-value 21037. https://html.spec.whatwg.org/#valid-week-string 21038. https://html.spec.whatwg.org/#concept-week 21039. https://html.spec.whatwg.org/#concept-fe-value 21040. https://html.spec.whatwg.org/#valid-week-string 21041. https://html.spec.whatwg.org/#concept-fe-value 21042. https://html.spec.whatwg.org/#valid-week-string 21043. https://html.spec.whatwg.org/#suffering-from-bad-input 21044. https://html.spec.whatwg.org/#input-author-notes 21045. https://html.spec.whatwg.org/#input-impl-notes 21046. https://html.spec.whatwg.org/#attr-input-value 21047. https://html.spec.whatwg.org/#valid-week-string 21048. https://html.spec.whatwg.org/#value-sanitization-algorithm 21049. https://html.spec.whatwg.org/#concept-fe-value 21050. https://html.spec.whatwg.org/#valid-week-string 21051. https://html.spec.whatwg.org/#attr-input-min 21052. https://html.spec.whatwg.org/#valid-week-string 21053. https://html.spec.whatwg.org/#attr-input-max 21054. https://html.spec.whatwg.org/#valid-week-string 21055. https://html.spec.whatwg.org/#attr-input-step 21056. https://html.spec.whatwg.org/#concept-input-step-scale 21057. https://html.spec.whatwg.org/#concept-input-step-default 21058. https://html.spec.whatwg.org/#concept-input-step-default-base 21059. https://html.spec.whatwg.org/#suffering-from-a-step-mismatch 21060. https://html.spec.whatwg.org/#concept-fe-value 21061. https://html.spec.whatwg.org/#concept-week 21062. https://html.spec.whatwg.org/#suffering-from-a-step-mismatch 21063. https://html.spec.whatwg.org/#concept-input-value-string-number 21064. https://html.spec.whatwg.org/#parse-a-week-string 21065. https://html.spec.whatwg.org/#concept-week 21066. https://html.spec.whatwg.org/#concept-input-value-number-string 21067. https://html.spec.whatwg.org/#valid-week-string 21068. https://html.spec.whatwg.org/#concept-week 21069. https://html.spec.whatwg.org/#concept-input-value-string-date 21070. https://html.spec.whatwg.org/#parse-a-week-string 21071. https://html.spec.whatwg.org/#create-a-date-object 21072. https://html.spec.whatwg.org/#concept-week 21073. https://html.spec.whatwg.org/#concept-input-value-date-string 21074. https://tc39.es/ecma262/#sec-date-objects 21075. https://html.spec.whatwg.org/#valid-week-string 21076. https://html.spec.whatwg.org/#concept-week 21077. https://html.spec.whatwg.org/#the-input-element 21078. https://html.spec.whatwg.org/#concept-input-apply 21079. https://html.spec.whatwg.org/#attr-fe-autocomplete 21080. https://html.spec.whatwg.org/#attr-input-list 21081. https://html.spec.whatwg.org/#attr-input-max 21082. https://html.spec.whatwg.org/#attr-input-min 21083. https://html.spec.whatwg.org/#attr-input-readonly 21084. https://html.spec.whatwg.org/#attr-input-required 21085. https://html.spec.whatwg.org/#attr-input-step 21086. https://html.spec.whatwg.org/#dom-input-list 21087. https://html.spec.whatwg.org/#dom-input-value 21088. https://html.spec.whatwg.org/#dom-input-valueasdate 21089. https://html.spec.whatwg.org/#dom-input-valueasnumber 21090. https://html.spec.whatwg.org/#dom-textarea/input-select 21091. https://html.spec.whatwg.org/#dom-input-stepdown 21092. https://html.spec.whatwg.org/#dom-input-stepup 21093. https://html.spec.whatwg.org/#dom-input-value 21094. https://html.spec.whatwg.org/#dom-input-value-value 21095. https://w3c.github.io/uievents/#event-type-input 21096. https://html.spec.whatwg.org/#event-change 21097. https://html.spec.whatwg.org/#concept-input-apply 21098. https://html.spec.whatwg.org/#do-not-apply 21099. https://html.spec.whatwg.org/#attr-input-accept 21100. https://html.spec.whatwg.org/#attr-input-alpha 21101. https://html.spec.whatwg.org/#attr-input-alt 21102. https://html.spec.whatwg.org/#attr-input-checked 21103. https://html.spec.whatwg.org/#attr-input-colorspace 21104. https://html.spec.whatwg.org/#attr-fe-dirname 21105. https://html.spec.whatwg.org/#attr-fs-formaction 21106. https://html.spec.whatwg.org/#attr-fs-formenctype 21107. https://html.spec.whatwg.org/#attr-fs-formmethod 21108. https://html.spec.whatwg.org/#attr-fs-formnovalidate 21109. https://html.spec.whatwg.org/#attr-fs-formtarget 21110. https://html.spec.whatwg.org/#attr-dim-height 21111. https://html.spec.whatwg.org/#attr-input-maxlength 21112. https://html.spec.whatwg.org/#attr-input-minlength 21113. https://html.spec.whatwg.org/#attr-input-multiple 21114. https://html.spec.whatwg.org/#attr-input-pattern 21115. https://html.spec.whatwg.org/#attr-input-placeholder 21116. https://html.spec.whatwg.org/#attr-popovertarget 21117. https://html.spec.whatwg.org/#attr-popovertargetaction 21118. https://html.spec.whatwg.org/#attr-input-size 21119. https://html.spec.whatwg.org/#attr-input-src 21120. https://html.spec.whatwg.org/#attr-dim-width 21121. https://html.spec.whatwg.org/#do-not-apply 21122. https://html.spec.whatwg.org/#dom-input-checked 21123. https://html.spec.whatwg.org/#dom-input-files 21124. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 21125. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 21126. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 21127. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 21128. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 21129. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/time 21130. https://html.spec.whatwg.org/#the-input-element 21131. https://html.spec.whatwg.org/#attr-input-type 21132. https://html.spec.whatwg.org/#time-state-(type=time) 21133. https://html.spec.whatwg.org/#the-input-element 21134. https://html.spec.whatwg.org/#represents 21135. https://html.spec.whatwg.org/#concept-fe-value 21136. https://html.spec.whatwg.org/#concept-time 21137. https://html.spec.whatwg.org/#concept-fe-mutable 21138. https://html.spec.whatwg.org/#concept-time 21139. https://html.spec.whatwg.org/#concept-fe-value 21140. https://html.spec.whatwg.org/#parse-a-time-string 21141. https://html.spec.whatwg.org/#concept-fe-value 21142. https://html.spec.whatwg.org/#valid-time-string 21143. https://html.spec.whatwg.org/#concept-time 21144. https://html.spec.whatwg.org/#concept-fe-value 21145. https://html.spec.whatwg.org/#valid-time-string 21146. https://html.spec.whatwg.org/#concept-fe-value 21147. https://html.spec.whatwg.org/#valid-time-string 21148. https://html.spec.whatwg.org/#suffering-from-bad-input 21149. https://html.spec.whatwg.org/#input-author-notes 21150. https://html.spec.whatwg.org/#input-impl-notes 21151. https://html.spec.whatwg.org/#attr-input-value 21152. https://html.spec.whatwg.org/#valid-time-string 21153. https://html.spec.whatwg.org/#value-sanitization-algorithm 21154. https://html.spec.whatwg.org/#concept-fe-value 21155. https://html.spec.whatwg.org/#valid-time-string 21156. https://html.spec.whatwg.org/#has-a-periodic-domain 21157. https://html.spec.whatwg.org/#attr-input-min 21158. https://html.spec.whatwg.org/#valid-time-string 21159. https://html.spec.whatwg.org/#attr-input-max 21160. https://html.spec.whatwg.org/#valid-time-string 21161. https://html.spec.whatwg.org/#attr-input-step 21162. https://html.spec.whatwg.org/#concept-input-step-scale 21163. https://html.spec.whatwg.org/#concept-input-step-default 21164. https://html.spec.whatwg.org/#suffering-from-a-step-mismatch 21165. https://html.spec.whatwg.org/#concept-fe-value 21166. https://html.spec.whatwg.org/#concept-time 21167. https://html.spec.whatwg.org/#suffering-from-a-step-mismatch 21168. https://html.spec.whatwg.org/#concept-input-value-string-number 21169. https://html.spec.whatwg.org/#parse-a-time-string 21170. https://html.spec.whatwg.org/#concept-time 21171. https://html.spec.whatwg.org/#concept-input-value-number-string 21172. https://html.spec.whatwg.org/#valid-time-string 21173. https://html.spec.whatwg.org/#concept-time 21174. https://html.spec.whatwg.org/#concept-input-value-string-date 21175. https://html.spec.whatwg.org/#parse-a-time-string 21176. https://html.spec.whatwg.org/#create-a-date-object 21177. https://html.spec.whatwg.org/#concept-time 21178. https://html.spec.whatwg.org/#concept-input-value-date-string 21179. https://tc39.es/ecma262/#sec-date-objects 21180. https://html.spec.whatwg.org/#valid-time-string 21181. https://html.spec.whatwg.org/#concept-time 21182. https://html.spec.whatwg.org/#the-input-element 21183. https://html.spec.whatwg.org/#concept-input-apply 21184. https://html.spec.whatwg.org/#attr-fe-autocomplete 21185. https://html.spec.whatwg.org/#attr-input-list 21186. https://html.spec.whatwg.org/#attr-input-max 21187. https://html.spec.whatwg.org/#attr-input-min 21188. https://html.spec.whatwg.org/#attr-input-readonly 21189. https://html.spec.whatwg.org/#attr-input-required 21190. https://html.spec.whatwg.org/#attr-input-step 21191. https://html.spec.whatwg.org/#dom-input-list 21192. https://html.spec.whatwg.org/#dom-input-value 21193. https://html.spec.whatwg.org/#dom-input-valueasdate 21194. https://html.spec.whatwg.org/#dom-input-valueasnumber 21195. https://html.spec.whatwg.org/#dom-textarea/input-select 21196. https://html.spec.whatwg.org/#dom-input-stepdown 21197. https://html.spec.whatwg.org/#dom-input-stepup 21198. https://html.spec.whatwg.org/#dom-input-value 21199. https://html.spec.whatwg.org/#dom-input-value-value 21200. https://w3c.github.io/uievents/#event-type-input 21201. https://html.spec.whatwg.org/#event-change 21202. https://html.spec.whatwg.org/#concept-input-apply 21203. https://html.spec.whatwg.org/#do-not-apply 21204. https://html.spec.whatwg.org/#attr-input-accept 21205. https://html.spec.whatwg.org/#attr-input-alpha 21206. https://html.spec.whatwg.org/#attr-input-alt 21207. https://html.spec.whatwg.org/#attr-input-checked 21208. https://html.spec.whatwg.org/#attr-input-colorspace 21209. https://html.spec.whatwg.org/#attr-fe-dirname 21210. https://html.spec.whatwg.org/#attr-fs-formaction 21211. https://html.spec.whatwg.org/#attr-fs-formenctype 21212. https://html.spec.whatwg.org/#attr-fs-formmethod 21213. https://html.spec.whatwg.org/#attr-fs-formnovalidate 21214. https://html.spec.whatwg.org/#attr-fs-formtarget 21215. https://html.spec.whatwg.org/#attr-dim-height 21216. https://html.spec.whatwg.org/#attr-input-maxlength 21217. https://html.spec.whatwg.org/#attr-input-minlength 21218. https://html.spec.whatwg.org/#attr-input-multiple 21219. https://html.spec.whatwg.org/#attr-input-pattern 21220. https://html.spec.whatwg.org/#attr-input-placeholder 21221. https://html.spec.whatwg.org/#attr-popovertarget 21222. https://html.spec.whatwg.org/#attr-popovertargetaction 21223. https://html.spec.whatwg.org/#attr-input-size 21224. https://html.spec.whatwg.org/#attr-input-src 21225. https://html.spec.whatwg.org/#attr-dim-width 21226. https://html.spec.whatwg.org/#do-not-apply 21227. https://html.spec.whatwg.org/#dom-input-checked 21228. https://html.spec.whatwg.org/#dom-input-files 21229. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 21230. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 21231. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 21232. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 21233. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 21234. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local 21235. https://html.spec.whatwg.org/#the-input-element 21236. https://html.spec.whatwg.org/#attr-input-type 21237. https://html.spec.whatwg.org/#local-date-and-time-state-(type=datetime-local) 21238. https://html.spec.whatwg.org/#the-input-element 21239. https://html.spec.whatwg.org/#represents 21240. https://html.spec.whatwg.org/#concept-fe-value 21241. https://html.spec.whatwg.org/#concept-datetime-local 21242. https://html.spec.whatwg.org/#concept-fe-mutable 21243. https://html.spec.whatwg.org/#concept-datetime-local 21244. https://html.spec.whatwg.org/#concept-fe-value 21245. https://html.spec.whatwg.org/#parse-a-local-date-and-time-string 21246. https://html.spec.whatwg.org/#concept-fe-value 21247. https://html.spec.whatwg.org/#valid-normalised-local-date-and-time-string 21248. https://html.spec.whatwg.org/#concept-datetime-local 21249. https://html.spec.whatwg.org/#concept-fe-value 21250. https://html.spec.whatwg.org/#valid-normalised-local-date-and-time-string 21251. https://html.spec.whatwg.org/#concept-fe-value 21252. https://html.spec.whatwg.org/#valid-normalised-local-date-and-time-string 21253. https://html.spec.whatwg.org/#suffering-from-bad-input 21254. https://html.spec.whatwg.org/#input-author-notes 21255. https://html.spec.whatwg.org/#input-impl-notes 21256. https://html.spec.whatwg.org/#attr-input-value 21257. https://html.spec.whatwg.org/#valid-local-date-and-time-string 21258. https://html.spec.whatwg.org/#value-sanitization-algorithm 21259. https://html.spec.whatwg.org/#concept-fe-value 21260. https://html.spec.whatwg.org/#valid-local-date-and-time-string 21261. https://html.spec.whatwg.org/#valid-normalised-local-date-and-time-string 21262. https://html.spec.whatwg.org/#attr-input-min 21263. https://html.spec.whatwg.org/#valid-local-date-and-time-string 21264. https://html.spec.whatwg.org/#attr-input-max 21265. https://html.spec.whatwg.org/#valid-local-date-and-time-string 21266. https://html.spec.whatwg.org/#attr-input-step 21267. https://html.spec.whatwg.org/#concept-input-step-scale 21268. https://html.spec.whatwg.org/#concept-input-step-default 21269. https://html.spec.whatwg.org/#suffering-from-a-step-mismatch 21270. https://html.spec.whatwg.org/#concept-fe-value 21271. https://html.spec.whatwg.org/#concept-datetime-local 21272. https://html.spec.whatwg.org/#suffering-from-a-step-mismatch 21273. https://html.spec.whatwg.org/#concept-input-value-string-number 21274. https://html.spec.whatwg.org/#parse-a-local-date-and-time-string 21275. https://html.spec.whatwg.org/#concept-datetime-local 21276. https://html.spec.whatwg.org/#concept-input-value-number-string 21277. https://html.spec.whatwg.org/#valid-normalised-local-date-and-time-string 21278. https://html.spec.whatwg.org/#only-contemporary-times 21279. https://html.spec.whatwg.org/#date-state-(type=date) 21280. https://html.spec.whatwg.org/#the-input-element 21281. https://html.spec.whatwg.org/#concept-input-apply 21282. https://html.spec.whatwg.org/#attr-fe-autocomplete 21283. https://html.spec.whatwg.org/#attr-input-list 21284. https://html.spec.whatwg.org/#attr-input-max 21285. https://html.spec.whatwg.org/#attr-input-min 21286. https://html.spec.whatwg.org/#attr-input-readonly 21287. https://html.spec.whatwg.org/#attr-input-required 21288. https://html.spec.whatwg.org/#attr-input-step 21289. https://html.spec.whatwg.org/#dom-input-list 21290. https://html.spec.whatwg.org/#dom-input-value 21291. https://html.spec.whatwg.org/#dom-input-valueasnumber 21292. https://html.spec.whatwg.org/#dom-textarea/input-select 21293. https://html.spec.whatwg.org/#dom-input-stepdown 21294. https://html.spec.whatwg.org/#dom-input-stepup 21295. https://html.spec.whatwg.org/#dom-input-value 21296. https://html.spec.whatwg.org/#dom-input-value-value 21297. https://w3c.github.io/uievents/#event-type-input 21298. https://html.spec.whatwg.org/#event-change 21299. https://html.spec.whatwg.org/#concept-input-apply 21300. https://html.spec.whatwg.org/#do-not-apply 21301. https://html.spec.whatwg.org/#attr-input-accept 21302. https://html.spec.whatwg.org/#attr-input-alpha 21303. https://html.spec.whatwg.org/#attr-input-alt 21304. https://html.spec.whatwg.org/#attr-input-checked 21305. https://html.spec.whatwg.org/#attr-input-colorspace 21306. https://html.spec.whatwg.org/#attr-fe-dirname 21307. https://html.spec.whatwg.org/#attr-fs-formaction 21308. https://html.spec.whatwg.org/#attr-fs-formenctype 21309. https://html.spec.whatwg.org/#attr-fs-formmethod 21310. https://html.spec.whatwg.org/#attr-fs-formnovalidate 21311. https://html.spec.whatwg.org/#attr-fs-formtarget 21312. https://html.spec.whatwg.org/#attr-dim-height 21313. https://html.spec.whatwg.org/#attr-input-maxlength 21314. https://html.spec.whatwg.org/#attr-input-minlength 21315. https://html.spec.whatwg.org/#attr-input-multiple 21316. https://html.spec.whatwg.org/#attr-input-pattern 21317. https://html.spec.whatwg.org/#attr-input-placeholder 21318. https://html.spec.whatwg.org/#attr-popovertarget 21319. https://html.spec.whatwg.org/#attr-popovertargetaction 21320. https://html.spec.whatwg.org/#attr-input-size 21321. https://html.spec.whatwg.org/#attr-input-src 21322. https://html.spec.whatwg.org/#attr-dim-width 21323. https://html.spec.whatwg.org/#do-not-apply 21324. https://html.spec.whatwg.org/#dom-input-checked 21325. https://html.spec.whatwg.org/#dom-input-files 21326. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 21327. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 21328. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 21329. https://html.spec.whatwg.org/#dom-input-valueasdate 21330. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 21331. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 21332. https://html.spec.whatwg.org/#the-input-element 21333. https://html.spec.whatwg.org/#attr-input-type 21334. https://html.spec.whatwg.org/#local-date-and-time-state-(type=datetime-local) 21335. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number 21336. https://html.spec.whatwg.org/#the-input-element 21337. https://html.spec.whatwg.org/#attr-input-type 21338. https://html.spec.whatwg.org/#number-state-(type=number) 21339. https://html.spec.whatwg.org/#the-input-element 21340. https://html.spec.whatwg.org/#represents 21341. https://html.spec.whatwg.org/#concept-fe-value 21342. https://html.spec.whatwg.org/#concept-fe-mutable 21343. https://html.spec.whatwg.org/#concept-fe-value 21344. https://html.spec.whatwg.org/#rules-for-parsing-floating-point-number-values 21345. https://html.spec.whatwg.org/#concept-fe-value 21346. https://html.spec.whatwg.org/#valid-floating-point-number 21347. https://html.spec.whatwg.org/#concept-fe-value 21348. https://html.spec.whatwg.org/#best-representation-of-the-number-as-a-floating-point-number 21349. https://html.spec.whatwg.org/#concept-fe-value 21350. https://html.spec.whatwg.org/#valid-floating-point-number 21351. https://html.spec.whatwg.org/#suffering-from-bad-input 21352. https://html.spec.whatwg.org/#attr-input-value 21353. https://html.spec.whatwg.org/#valid-floating-point-number 21354. https://html.spec.whatwg.org/#value-sanitization-algorithm 21355. https://html.spec.whatwg.org/#concept-fe-value 21356. https://html.spec.whatwg.org/#valid-floating-point-number 21357. https://html.spec.whatwg.org/#attr-input-min 21358. https://html.spec.whatwg.org/#valid-floating-point-number 21359. https://html.spec.whatwg.org/#attr-input-max 21360. https://html.spec.whatwg.org/#valid-floating-point-number 21361. https://html.spec.whatwg.org/#concept-input-step-scale 21362. https://html.spec.whatwg.org/#concept-input-step-default 21363. https://html.spec.whatwg.org/#concept-input-min-zero 21364. https://html.spec.whatwg.org/#suffering-from-a-step-mismatch 21365. https://html.spec.whatwg.org/#concept-fe-value 21366. https://html.spec.whatwg.org/#suffering-from-a-step-mismatch 21367. https://html.spec.whatwg.org/#concept-input-value-string-number 21368. https://html.spec.whatwg.org/#rules-for-parsing-floating-point-number-values 21369. https://html.spec.whatwg.org/#concept-input-value-number-string 21370. https://html.spec.whatwg.org/#valid-floating-point-number 21371. https://html.spec.whatwg.org/#the-input-element 21372. https://html.spec.whatwg.org/#concept-input-apply 21373. https://html.spec.whatwg.org/#attr-fe-autocomplete 21374. https://html.spec.whatwg.org/#attr-input-list 21375. https://html.spec.whatwg.org/#attr-input-max 21376. https://html.spec.whatwg.org/#attr-input-min 21377. https://html.spec.whatwg.org/#attr-input-placeholder 21378. https://html.spec.whatwg.org/#attr-input-readonly 21379. https://html.spec.whatwg.org/#attr-input-required 21380. https://html.spec.whatwg.org/#attr-input-step 21381. https://html.spec.whatwg.org/#dom-input-list 21382. https://html.spec.whatwg.org/#dom-input-value 21383. https://html.spec.whatwg.org/#dom-input-valueasnumber 21384. https://html.spec.whatwg.org/#dom-textarea/input-select 21385. https://html.spec.whatwg.org/#dom-input-stepdown 21386. https://html.spec.whatwg.org/#dom-input-stepup 21387. https://html.spec.whatwg.org/#dom-input-value 21388. https://html.spec.whatwg.org/#dom-input-value-value 21389. https://w3c.github.io/uievents/#event-type-input 21390. https://html.spec.whatwg.org/#event-change 21391. https://html.spec.whatwg.org/#concept-input-apply 21392. https://html.spec.whatwg.org/#do-not-apply 21393. https://html.spec.whatwg.org/#attr-input-accept 21394. https://html.spec.whatwg.org/#attr-input-alpha 21395. https://html.spec.whatwg.org/#attr-input-alt 21396. https://html.spec.whatwg.org/#attr-input-checked 21397. https://html.spec.whatwg.org/#attr-input-colorspace 21398. https://html.spec.whatwg.org/#attr-fe-dirname 21399. https://html.spec.whatwg.org/#attr-fs-formaction 21400. https://html.spec.whatwg.org/#attr-fs-formenctype 21401. https://html.spec.whatwg.org/#attr-fs-formmethod 21402. https://html.spec.whatwg.org/#attr-fs-formnovalidate 21403. https://html.spec.whatwg.org/#attr-fs-formtarget 21404. https://html.spec.whatwg.org/#attr-dim-height 21405. https://html.spec.whatwg.org/#attr-input-maxlength 21406. https://html.spec.whatwg.org/#attr-input-minlength 21407. https://html.spec.whatwg.org/#attr-input-multiple 21408. https://html.spec.whatwg.org/#attr-input-pattern 21409. https://html.spec.whatwg.org/#attr-popovertarget 21410. https://html.spec.whatwg.org/#attr-popovertargetaction 21411. https://html.spec.whatwg.org/#attr-input-size 21412. https://html.spec.whatwg.org/#attr-input-src 21413. https://html.spec.whatwg.org/#attr-dim-width 21414. https://html.spec.whatwg.org/#do-not-apply 21415. https://html.spec.whatwg.org/#dom-input-checked 21416. https://html.spec.whatwg.org/#dom-input-files 21417. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 21418. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 21419. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 21420. https://html.spec.whatwg.org/#dom-input-valueasdate 21421. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 21422. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 21423. https://html.spec.whatwg.org/#attr-inputmode 21424. https://html.spec.whatwg.org/#attr-input-pattern 21425. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range 21426. https://html.spec.whatwg.org/#the-input-element 21427. https://html.spec.whatwg.org/#attr-input-type 21428. https://html.spec.whatwg.org/#range-state-(type=range) 21429. https://html.spec.whatwg.org/#the-input-element 21430. https://html.spec.whatwg.org/#represents 21431. https://html.spec.whatwg.org/#concept-fe-value 21432. https://html.spec.whatwg.org/#number-state-(type=number) 21433. https://html.spec.whatwg.org/#concept-fe-mutable 21434. https://html.spec.whatwg.org/#concept-fe-value 21435. https://html.spec.whatwg.org/#rules-for-parsing-floating-point-number-values 21436. https://html.spec.whatwg.org/#concept-fe-value 21437. https://html.spec.whatwg.org/#valid-floating-point-number 21438. https://html.spec.whatwg.org/#concept-fe-value 21439. https://html.spec.whatwg.org/#best-representation-of-the-number-as-a-floating-point-number 21440. https://html.spec.whatwg.org/#concept-fe-value 21441. https://html.spec.whatwg.org/#valid-floating-point-number 21442. https://html.spec.whatwg.org/#suffering-from-bad-input 21443. https://html.spec.whatwg.org/#attr-input-value 21444. https://html.spec.whatwg.org/#valid-floating-point-number 21445. https://html.spec.whatwg.org/#value-sanitization-algorithm 21446. https://html.spec.whatwg.org/#concept-fe-value 21447. https://html.spec.whatwg.org/#valid-floating-point-number 21448. https://html.spec.whatwg.org/#best-representation-of-the-number-as-a-floating-point-number 21449. https://html.spec.whatwg.org/#concept-input-value-default-range 21450. https://html.spec.whatwg.org/#concept-input-min 21451. https://html.spec.whatwg.org/#concept-input-min 21452. https://html.spec.whatwg.org/#concept-input-max 21453. https://html.spec.whatwg.org/#concept-input-max 21454. https://html.spec.whatwg.org/#concept-input-min 21455. https://html.spec.whatwg.org/#concept-input-value-default-range 21456. https://html.spec.whatwg.org/#concept-input-min 21457. https://html.spec.whatwg.org/#suffering-from-an-underflow 21458. https://html.spec.whatwg.org/#concept-fe-value 21459. https://html.spec.whatwg.org/#best-representation-of-the-number-as-a-floating-point-number 21460. https://html.spec.whatwg.org/#concept-input-min 21461. https://html.spec.whatwg.org/#suffering-from-an-overflow 21462. https://html.spec.whatwg.org/#concept-input-max 21463. https://html.spec.whatwg.org/#concept-input-min 21464. https://html.spec.whatwg.org/#concept-fe-value 21465. https://html.spec.whatwg.org/#valid-floating-point-number 21466. https://html.spec.whatwg.org/#concept-input-max 21467. https://html.spec.whatwg.org/#suffering-from-a-step-mismatch 21468. https://html.spec.whatwg.org/#concept-fe-value 21469. https://html.spec.whatwg.org/#suffering-from-a-step-mismatch 21470. https://html.spec.whatwg.org/#concept-input-min 21471. https://html.spec.whatwg.org/#concept-input-max 21472. https://html.spec.whatwg.org/#concept-input-min 21473. https://html.spec.whatwg.org/#concept-input-max 21474. https://html.spec.whatwg.org/#attr-input-list 21475. https://html.spec.whatwg.org/#attr-input-step 21476. https://html.spec.whatwg.org/#attr-input-min 21477. https://html.spec.whatwg.org/#valid-floating-point-number 21478. https://html.spec.whatwg.org/#concept-input-min-default 21479. https://html.spec.whatwg.org/#attr-input-max 21480. https://html.spec.whatwg.org/#valid-floating-point-number 21481. https://html.spec.whatwg.org/#concept-input-max-default 21482. https://html.spec.whatwg.org/#concept-input-step-scale 21483. https://html.spec.whatwg.org/#concept-input-step-default 21484. https://html.spec.whatwg.org/#attr-input-min 21485. https://html.spec.whatwg.org/#concept-input-value-string-number 21486. https://html.spec.whatwg.org/#rules-for-parsing-floating-point-number-values 21487. https://html.spec.whatwg.org/#concept-input-value-number-string 21488. https://html.spec.whatwg.org/#best-representation-of-the-number-as-a-floating-point-number 21489. https://html.spec.whatwg.org/#the-input-element 21490. https://html.spec.whatwg.org/#concept-input-apply 21491. https://html.spec.whatwg.org/#attr-fe-autocomplete 21492. https://html.spec.whatwg.org/#attr-input-list 21493. https://html.spec.whatwg.org/#attr-input-max 21494. https://html.spec.whatwg.org/#attr-input-min 21495. https://html.spec.whatwg.org/#attr-input-step 21496. https://html.spec.whatwg.org/#dom-input-list 21497. https://html.spec.whatwg.org/#dom-input-value 21498. https://html.spec.whatwg.org/#dom-input-valueasnumber 21499. https://html.spec.whatwg.org/#dom-input-stepdown 21500. https://html.spec.whatwg.org/#dom-input-stepup 21501. https://html.spec.whatwg.org/#dom-input-value 21502. https://html.spec.whatwg.org/#dom-input-value-value 21503. https://w3c.github.io/uievents/#event-type-input 21504. https://html.spec.whatwg.org/#event-change 21505. https://html.spec.whatwg.org/#concept-input-apply 21506. https://html.spec.whatwg.org/#do-not-apply 21507. https://html.spec.whatwg.org/#attr-input-accept 21508. https://html.spec.whatwg.org/#attr-input-alpha 21509. https://html.spec.whatwg.org/#attr-input-alt 21510. https://html.spec.whatwg.org/#attr-input-checked 21511. https://html.spec.whatwg.org/#attr-input-colorspace 21512. https://html.spec.whatwg.org/#attr-fe-dirname 21513. https://html.spec.whatwg.org/#attr-fs-formaction 21514. https://html.spec.whatwg.org/#attr-fs-formenctype 21515. https://html.spec.whatwg.org/#attr-fs-formmethod 21516. https://html.spec.whatwg.org/#attr-fs-formnovalidate 21517. https://html.spec.whatwg.org/#attr-fs-formtarget 21518. https://html.spec.whatwg.org/#attr-dim-height 21519. https://html.spec.whatwg.org/#attr-input-maxlength 21520. https://html.spec.whatwg.org/#attr-input-minlength 21521. https://html.spec.whatwg.org/#attr-input-multiple 21522. https://html.spec.whatwg.org/#attr-input-pattern 21523. https://html.spec.whatwg.org/#attr-input-placeholder 21524. https://html.spec.whatwg.org/#attr-popovertarget 21525. https://html.spec.whatwg.org/#attr-popovertargetaction 21526. https://html.spec.whatwg.org/#attr-input-readonly 21527. https://html.spec.whatwg.org/#attr-input-required 21528. https://html.spec.whatwg.org/#attr-input-size 21529. https://html.spec.whatwg.org/#attr-input-src 21530. https://html.spec.whatwg.org/#attr-dim-width 21531. https://html.spec.whatwg.org/#do-not-apply 21532. https://html.spec.whatwg.org/#dom-input-checked 21533. https://html.spec.whatwg.org/#dom-input-files 21534. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 21535. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 21536. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 21537. https://html.spec.whatwg.org/#dom-input-valueasdate 21538. https://html.spec.whatwg.org/#dom-textarea/input-select 21539. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 21540. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 21541. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/color 21542. https://html.spec.whatwg.org/#the-input-element 21543. https://html.spec.whatwg.org/#attr-input-type 21544. https://html.spec.whatwg.org/#color-state-(type=color) 21545. https://html.spec.whatwg.org/#the-input-element 21546. https://html.spec.whatwg.org/#represents 21547. https://html.spec.whatwg.org/#concept-fe-value 21548. https://html.spec.whatwg.org/#boolean-attribute 21549. https://html.spec.whatwg.org/#enumerated-attribute 21550. https://drafts.csswg.org/css-color/#valdef-color-srgb 21551. https://drafts.csswg.org/css-color/#valdef-color-display-p3 21552. https://html.spec.whatwg.org/#missing-value-default 21553. https://html.spec.whatwg.org/#invalid-value-default 21554. https://html.spec.whatwg.org/#attr-input-colorspace-limited-srgb-state 21555. https://html.spec.whatwg.org/#attr-input-alpha 21556. https://html.spec.whatwg.org/#attr-input-colorspace 21557. https://html.spec.whatwg.org/#update-a-color-well-control-color 21558. https://html.spec.whatwg.org/#concept-fe-mutable 21559. https://html.spec.whatwg.org/#concept-fe-value 21560. https://drafts.csswg.org/css-color/#parse-a-css-color-value 21561. https://html.spec.whatwg.org/#concept-fe-value 21562. https://html.spec.whatwg.org/#update-a-color-well-control-color 21563. https://html.spec.whatwg.org/#concept-fe-value 21564. https://html.spec.whatwg.org/#serialize-a-color-well-control-color 21565. https://html.spec.whatwg.org/#input-activation-behavior 21566. https://html.spec.whatwg.org/#show-the-picker,-if-applicable 21567. https://html.spec.whatwg.org/#concept-fe-value 21568. https://drafts.csswg.org/css-color/#parse-a-css-color-value 21569. https://html.spec.whatwg.org/#suffering-from-bad-input 21570. https://html.spec.whatwg.org/#attr-input-value 21571. https://html.spec.whatwg.org/#value-sanitization-algorithm 21572. https://html.spec.whatwg.org/#update-a-color-well-control-color 21573. https://infra.spec.whatwg.org/#assert 21574. https://html.spec.whatwg.org/#the-input-element 21575. https://html.spec.whatwg.org/#attr-input-type 21576. https://html.spec.whatwg.org/#color-state-(type=color) 21577. https://drafts.csswg.org/css-color/#parse-a-css-color-value 21578. https://html.spec.whatwg.org/#concept-fe-value 21579. https://drafts.csswg.org/css-color/#opaque-black 21580. https://html.spec.whatwg.org/#concept-fe-value 21581. https://html.spec.whatwg.org/#serialize-a-color-well-control-color 21582. https://infra.spec.whatwg.org/#assert 21583. https://html.spec.whatwg.org/#the-input-element 21584. https://html.spec.whatwg.org/#attr-input-type 21585. https://html.spec.whatwg.org/#color-state-(type=color) 21586. https://html.spec.whatwg.org/#attr-input-alpha 21587. https://html.spec.whatwg.org/#attr-input-colorspace 21588. https://html.spec.whatwg.org/#attr-input-colorspace-limited-srgb-state 21589. https://drafts.csswg.org/css-color/#color-conversion 21590. https://drafts.csswg.org/css-color/#valdef-color-srgb 21591. https://drafts.csswg.org/css-values-4/#combine-integers 21592. https://html.spec.whatwg.org/#attr-input-alpha 21593. https://drafts.csswg.org/css-color/#color-function 21594. https://infra.spec.whatwg.org/#assert 21595. https://html.spec.whatwg.org/#attr-input-colorspace 21596. https://html.spec.whatwg.org/#attr-input-colorspace-display-p3-state 21597. https://drafts.csswg.org/css-color/#color-conversion 21598. https://drafts.csswg.org/css-color/#valdef-color-display-p3 21599. https://drafts.csswg.org/css-color/#serializing-color-values 21600. https://drafts.csswg.org/css-color/#color-serialization-html-compatible-serialization-is-requested 21601. https://html.spec.whatwg.org/#the-input-element 21602. https://html.spec.whatwg.org/#concept-input-apply 21603. https://html.spec.whatwg.org/#attr-input-alpha 21604. https://html.spec.whatwg.org/#attr-fe-autocomplete 21605. https://html.spec.whatwg.org/#attr-input-colorspace 21606. https://html.spec.whatwg.org/#attr-input-list 21607. https://html.spec.whatwg.org/#dom-input-list 21608. https://html.spec.whatwg.org/#dom-input-value 21609. https://html.spec.whatwg.org/#dom-textarea/input-select 21610. https://html.spec.whatwg.org/#dom-input-value 21611. https://html.spec.whatwg.org/#dom-input-value-value 21612. https://w3c.github.io/uievents/#event-type-input 21613. https://html.spec.whatwg.org/#event-change 21614. https://html.spec.whatwg.org/#concept-input-apply 21615. https://html.spec.whatwg.org/#do-not-apply 21616. https://html.spec.whatwg.org/#attr-input-accept 21617. https://html.spec.whatwg.org/#attr-input-alt 21618. https://html.spec.whatwg.org/#attr-input-checked 21619. https://html.spec.whatwg.org/#attr-fe-dirname 21620. https://html.spec.whatwg.org/#attr-fs-formaction 21621. https://html.spec.whatwg.org/#attr-fs-formenctype 21622. https://html.spec.whatwg.org/#attr-fs-formmethod 21623. https://html.spec.whatwg.org/#attr-fs-formnovalidate 21624. https://html.spec.whatwg.org/#attr-fs-formtarget 21625. https://html.spec.whatwg.org/#attr-dim-height 21626. https://html.spec.whatwg.org/#attr-input-max 21627. https://html.spec.whatwg.org/#attr-input-maxlength 21628. https://html.spec.whatwg.org/#attr-input-min 21629. https://html.spec.whatwg.org/#attr-input-minlength 21630. https://html.spec.whatwg.org/#attr-input-multiple 21631. https://html.spec.whatwg.org/#attr-input-pattern 21632. https://html.spec.whatwg.org/#attr-input-placeholder 21633. https://html.spec.whatwg.org/#attr-popovertarget 21634. https://html.spec.whatwg.org/#attr-popovertargetaction 21635. https://html.spec.whatwg.org/#attr-input-readonly 21636. https://html.spec.whatwg.org/#attr-input-required 21637. https://html.spec.whatwg.org/#attr-input-size 21638. https://html.spec.whatwg.org/#attr-input-src 21639. https://html.spec.whatwg.org/#attr-input-step 21640. https://html.spec.whatwg.org/#attr-dim-width 21641. https://html.spec.whatwg.org/#do-not-apply 21642. https://html.spec.whatwg.org/#dom-input-checked 21643. https://html.spec.whatwg.org/#dom-input-files 21644. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 21645. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 21646. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 21647. https://html.spec.whatwg.org/#dom-input-valueasdate 21648. https://html.spec.whatwg.org/#dom-input-valueasnumber 21649. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 21650. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 21651. https://html.spec.whatwg.org/#dom-input-stepdown 21652. https://html.spec.whatwg.org/#dom-input-stepup 21653. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox 21654. https://html.spec.whatwg.org/#the-input-element 21655. https://html.spec.whatwg.org/#attr-input-type 21656. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 21657. https://html.spec.whatwg.org/#the-input-element 21658. https://html.spec.whatwg.org/#represents 21659. https://html.spec.whatwg.org/#concept-fe-checked 21660. https://html.spec.whatwg.org/#concept-fe-checked 21661. https://html.spec.whatwg.org/#dom-input-indeterminate 21662. https://html.spec.whatwg.org/#dom-input-indeterminate 21663. https://html.spec.whatwg.org/#dom-input-indeterminate 21664. https://html.spec.whatwg.org/#input-activation-behavior 21665. https://dom.spec.whatwg.org/#connected 21666. https://dom.spec.whatwg.org/#concept-event-fire 21667. https://w3c.github.io/uievents/#event-type-input 21668. https://dom.spec.whatwg.org/#dom-event-bubbles 21669. https://dom.spec.whatwg.org/#dom-event-composed 21670. https://dom.spec.whatwg.org/#concept-event-fire 21671. https://html.spec.whatwg.org/#event-change 21672. https://dom.spec.whatwg.org/#dom-event-bubbles 21673. https://html.spec.whatwg.org/#concept-input-required 21674. https://html.spec.whatwg.org/#concept-fe-checked 21675. https://html.spec.whatwg.org/#suffering-from-being-missing 21676. https://html.spec.whatwg.org/#dom-input-indeterminate 21677. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 21678. https://html.spec.whatwg.org/#the-input-element 21679. https://html.spec.whatwg.org/#concept-input-apply 21680. https://html.spec.whatwg.org/#attr-input-checked 21681. https://html.spec.whatwg.org/#attr-input-required 21682. https://html.spec.whatwg.org/#dom-input-checked 21683. https://html.spec.whatwg.org/#dom-input-value 21684. https://html.spec.whatwg.org/#dom-input-value 21685. https://html.spec.whatwg.org/#dom-input-value-default-on 21686. https://w3c.github.io/uievents/#event-type-input 21687. https://html.spec.whatwg.org/#event-change 21688. https://html.spec.whatwg.org/#concept-input-apply 21689. https://html.spec.whatwg.org/#do-not-apply 21690. https://html.spec.whatwg.org/#attr-input-accept 21691. https://html.spec.whatwg.org/#attr-input-alpha 21692. https://html.spec.whatwg.org/#attr-input-alt 21693. https://html.spec.whatwg.org/#attr-fe-autocomplete 21694. https://html.spec.whatwg.org/#attr-input-colorspace 21695. https://html.spec.whatwg.org/#attr-fe-dirname 21696. https://html.spec.whatwg.org/#attr-fs-formaction 21697. https://html.spec.whatwg.org/#attr-fs-formenctype 21698. https://html.spec.whatwg.org/#attr-fs-formmethod 21699. https://html.spec.whatwg.org/#attr-fs-formnovalidate 21700. https://html.spec.whatwg.org/#attr-fs-formtarget 21701. https://html.spec.whatwg.org/#attr-dim-height 21702. https://html.spec.whatwg.org/#attr-input-list 21703. https://html.spec.whatwg.org/#attr-input-max 21704. https://html.spec.whatwg.org/#attr-input-maxlength 21705. https://html.spec.whatwg.org/#attr-input-min 21706. https://html.spec.whatwg.org/#attr-input-minlength 21707. https://html.spec.whatwg.org/#attr-input-multiple 21708. https://html.spec.whatwg.org/#attr-input-pattern 21709. https://html.spec.whatwg.org/#attr-input-placeholder 21710. https://html.spec.whatwg.org/#attr-popovertarget 21711. https://html.spec.whatwg.org/#attr-popovertargetaction 21712. https://html.spec.whatwg.org/#attr-input-readonly 21713. https://html.spec.whatwg.org/#attr-input-size 21714. https://html.spec.whatwg.org/#attr-input-src 21715. https://html.spec.whatwg.org/#attr-input-step 21716. https://html.spec.whatwg.org/#attr-dim-width 21717. https://html.spec.whatwg.org/#do-not-apply 21718. https://html.spec.whatwg.org/#dom-input-files 21719. https://html.spec.whatwg.org/#dom-input-list 21720. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 21721. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 21722. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 21723. https://html.spec.whatwg.org/#dom-input-valueasdate 21724. https://html.spec.whatwg.org/#dom-input-valueasnumber 21725. https://html.spec.whatwg.org/#dom-textarea/input-select 21726. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 21727. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 21728. https://html.spec.whatwg.org/#dom-input-stepdown 21729. https://html.spec.whatwg.org/#dom-input-stepup 21730. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/radio 21731. https://html.spec.whatwg.org/#the-input-element 21732. https://html.spec.whatwg.org/#attr-input-type 21733. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 21734. https://html.spec.whatwg.org/#the-input-element 21735. https://html.spec.whatwg.org/#represents 21736. https://html.spec.whatwg.org/#the-input-element 21737. https://html.spec.whatwg.org/#radio-button-group 21738. https://html.spec.whatwg.org/#concept-fe-checked 21739. https://html.spec.whatwg.org/#concept-fe-checked 21740. https://html.spec.whatwg.org/#the-input-element 21741. https://html.spec.whatwg.org/#the-input-element 21742. https://html.spec.whatwg.org/#the-input-element 21743. https://html.spec.whatwg.org/#attr-input-type 21744. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 21745. https://html.spec.whatwg.org/#form-owner 21746. https://html.spec.whatwg.org/#form-owner 21747. https://dom.spec.whatwg.org/#concept-tree 21748. https://html.spec.whatwg.org/#attr-fe-name 21749. https://html.spec.whatwg.org/#attr-fe-name 21750. https://html.spec.whatwg.org/#attr-fe-name 21751. https://html.spec.whatwg.org/#attr-fe-name 21752. https://dom.spec.whatwg.org/#concept-tree 21753. https://html.spec.whatwg.org/#the-input-element 21754. https://html.spec.whatwg.org/#radio-button-group 21755. https://html.spec.whatwg.org/#concept-fe-checked 21756. https://html.spec.whatwg.org/#concept-fe-checked 21757. https://html.spec.whatwg.org/#radio-button-group 21758. https://html.spec.whatwg.org/#concept-fe-checked 21759. https://html.spec.whatwg.org/#attr-fe-name 21760. https://html.spec.whatwg.org/#form-owner 21761. https://html.spec.whatwg.org/#signal-a-type-change 21762. https://html.spec.whatwg.org/#becomes-connected 21763. https://html.spec.whatwg.org/#input-activation-behavior 21764. https://dom.spec.whatwg.org/#connected 21765. https://dom.spec.whatwg.org/#concept-event-fire 21766. https://w3c.github.io/uievents/#event-type-input 21767. https://dom.spec.whatwg.org/#dom-event-bubbles 21768. https://dom.spec.whatwg.org/#dom-event-composed 21769. https://dom.spec.whatwg.org/#concept-event-fire 21770. https://html.spec.whatwg.org/#event-change 21771. https://dom.spec.whatwg.org/#dom-event-bubbles 21772. https://html.spec.whatwg.org/#radio-button-group 21773. https://html.spec.whatwg.org/#concept-input-required 21774. https://html.spec.whatwg.org/#the-input-element 21775. https://html.spec.whatwg.org/#radio-button-group 21776. https://html.spec.whatwg.org/#concept-fe-checked 21777. https://html.spec.whatwg.org/#suffering-from-being-missing 21778. https://html.spec.whatwg.org/#concept-input-required 21779. https://html.spec.whatwg.org/#concept-fe-disabled 21780. https://html.spec.whatwg.org/#the-input-element 21781. https://html.spec.whatwg.org/#suffering-from-being-missing 21782. https://html.spec.whatwg.org/#radio-button-group 21783. https://html.spec.whatwg.org/#concept-input-required 21784. https://html.spec.whatwg.org/#concept-fe-checked 21785. https://html.spec.whatwg.org/#the-input-element 21786. https://html.spec.whatwg.org/#suffering-from-being-missing 21787. https://html.spec.whatwg.org/#concept-input-required 21788. https://html.spec.whatwg.org/#concept-fe-checked 21789. https://html.spec.whatwg.org/#radio-button-group 21790. https://html.spec.whatwg.org/#the-input-element 21791. https://html.spec.whatwg.org/#concept-input-apply 21792. https://html.spec.whatwg.org/#attr-input-checked 21793. https://html.spec.whatwg.org/#attr-input-required 21794. https://html.spec.whatwg.org/#dom-input-checked 21795. https://html.spec.whatwg.org/#dom-input-value 21796. https://html.spec.whatwg.org/#dom-input-value 21797. https://html.spec.whatwg.org/#dom-input-value-default-on 21798. https://w3c.github.io/uievents/#event-type-input 21799. https://html.spec.whatwg.org/#event-change 21800. https://html.spec.whatwg.org/#concept-input-apply 21801. https://html.spec.whatwg.org/#do-not-apply 21802. https://html.spec.whatwg.org/#attr-input-accept 21803. https://html.spec.whatwg.org/#attr-input-alpha 21804. https://html.spec.whatwg.org/#attr-input-alt 21805. https://html.spec.whatwg.org/#attr-fe-autocomplete 21806. https://html.spec.whatwg.org/#attr-input-colorspace 21807. https://html.spec.whatwg.org/#attr-fe-dirname 21808. https://html.spec.whatwg.org/#attr-fs-formaction 21809. https://html.spec.whatwg.org/#attr-fs-formenctype 21810. https://html.spec.whatwg.org/#attr-fs-formmethod 21811. https://html.spec.whatwg.org/#attr-fs-formnovalidate 21812. https://html.spec.whatwg.org/#attr-fs-formtarget 21813. https://html.spec.whatwg.org/#attr-dim-height 21814. https://html.spec.whatwg.org/#attr-input-list 21815. https://html.spec.whatwg.org/#attr-input-max 21816. https://html.spec.whatwg.org/#attr-input-maxlength 21817. https://html.spec.whatwg.org/#attr-input-min 21818. https://html.spec.whatwg.org/#attr-input-minlength 21819. https://html.spec.whatwg.org/#attr-input-multiple 21820. https://html.spec.whatwg.org/#attr-input-pattern 21821. https://html.spec.whatwg.org/#attr-input-placeholder 21822. https://html.spec.whatwg.org/#attr-popovertarget 21823. https://html.spec.whatwg.org/#attr-popovertargetaction 21824. https://html.spec.whatwg.org/#attr-input-readonly 21825. https://html.spec.whatwg.org/#attr-input-size 21826. https://html.spec.whatwg.org/#attr-input-src 21827. https://html.spec.whatwg.org/#attr-input-step 21828. https://html.spec.whatwg.org/#attr-dim-width 21829. https://html.spec.whatwg.org/#do-not-apply 21830. https://html.spec.whatwg.org/#dom-input-files 21831. https://html.spec.whatwg.org/#dom-input-list 21832. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 21833. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 21834. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 21835. https://html.spec.whatwg.org/#dom-input-valueasdate 21836. https://html.spec.whatwg.org/#dom-input-valueasnumber 21837. https://html.spec.whatwg.org/#dom-textarea/input-select 21838. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 21839. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 21840. https://html.spec.whatwg.org/#dom-input-stepdown 21841. https://html.spec.whatwg.org/#dom-input-stepup 21842. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file 21843. https://html.spec.whatwg.org/#the-input-element 21844. https://html.spec.whatwg.org/#attr-input-type 21845. https://html.spec.whatwg.org/#file-upload-state-(type=file) 21846. https://html.spec.whatwg.org/#the-input-element 21847. https://html.spec.whatwg.org/#represents 21848. https://html.spec.whatwg.org/#concept-input-file-path 21849. https://html.spec.whatwg.org/#file-upload-state-(type=file) 21850. https://html.spec.whatwg.org/#attr-input-multiple 21851. https://html.spec.whatwg.org/#concept-input-type-file-selected 21852. https://html.spec.whatwg.org/#input-activation-behavior 21853. https://html.spec.whatwg.org/#show-the-picker,-if-applicable 21854. https://html.spec.whatwg.org/#concept-fe-mutable 21855. https://html.spec.whatwg.org/#update-the-file-selection 21856. https://html.spec.whatwg.org/#concept-fe-mutable 21857. https://html.spec.whatwg.org/#queue-an-element-task 21858. https://html.spec.whatwg.org/#user-interaction-task-source 21859. https://html.spec.whatwg.org/#concept-input-type-file-selected 21860. https://dom.spec.whatwg.org/#concept-event-fire 21861. https://w3c.github.io/uievents/#event-type-input 21862. https://html.spec.whatwg.org/#the-input-element 21863. https://dom.spec.whatwg.org/#dom-event-bubbles 21864. https://dom.spec.whatwg.org/#dom-event-composed 21865. https://dom.spec.whatwg.org/#concept-event-fire 21866. https://html.spec.whatwg.org/#event-change 21867. https://html.spec.whatwg.org/#the-input-element 21868. https://dom.spec.whatwg.org/#dom-event-bubbles 21869. https://html.spec.whatwg.org/#concept-input-required 21870. https://html.spec.whatwg.org/#concept-input-type-file-selected 21871. https://html.spec.whatwg.org/#suffering-from-being-missing 21872. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept 21873. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-accept 21874. https://html.spec.whatwg.org/#set-of-comma-separated-tokens 21875. https://infra.spec.whatwg.org/#ascii-case-insensitive 21876. https://mimesniff.spec.whatwg.org/#valid-mime-type-with-no-parameters 21877. https://infra.spec.whatwg.org/#ascii-case-insensitive 21878. https://infra.spec.whatwg.org/#split-on-commas 21879. https://html.spec.whatwg.org/#attr-input-accept 21880. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file 21881. https://html.spec.whatwg.org/#dom-input-value 21882. https://html.spec.whatwg.org/#dom-input-value 21883. https://html.spec.whatwg.org/#the-input-element 21884. https://html.spec.whatwg.org/#concept-input-apply 21885. https://html.spec.whatwg.org/#attr-input-accept 21886. https://html.spec.whatwg.org/#attr-input-multiple 21887. https://html.spec.whatwg.org/#attr-input-required 21888. https://html.spec.whatwg.org/#dom-input-files 21889. https://html.spec.whatwg.org/#dom-input-value 21890. https://html.spec.whatwg.org/#dom-textarea/input-select 21891. https://html.spec.whatwg.org/#dom-input-value 21892. https://html.spec.whatwg.org/#dom-input-value-filename 21893. https://w3c.github.io/uievents/#event-type-input 21894. https://html.spec.whatwg.org/#event-change 21895. https://html.spec.whatwg.org/#concept-input-apply 21896. https://html.spec.whatwg.org/#do-not-apply 21897. https://html.spec.whatwg.org/#attr-input-alpha 21898. https://html.spec.whatwg.org/#attr-input-alt 21899. https://html.spec.whatwg.org/#attr-fe-autocomplete 21900. https://html.spec.whatwg.org/#attr-input-checked 21901. https://html.spec.whatwg.org/#attr-input-colorspace 21902. https://html.spec.whatwg.org/#attr-fe-dirname 21903. https://html.spec.whatwg.org/#attr-fs-formaction 21904. https://html.spec.whatwg.org/#attr-fs-formenctype 21905. https://html.spec.whatwg.org/#attr-fs-formmethod 21906. https://html.spec.whatwg.org/#attr-fs-formnovalidate 21907. https://html.spec.whatwg.org/#attr-fs-formtarget 21908. https://html.spec.whatwg.org/#attr-dim-height 21909. https://html.spec.whatwg.org/#attr-input-list 21910. https://html.spec.whatwg.org/#attr-input-max 21911. https://html.spec.whatwg.org/#attr-input-maxlength 21912. https://html.spec.whatwg.org/#attr-input-min 21913. https://html.spec.whatwg.org/#attr-input-minlength 21914. https://html.spec.whatwg.org/#attr-input-pattern 21915. https://html.spec.whatwg.org/#attr-popovertarget 21916. https://html.spec.whatwg.org/#attr-popovertargetaction 21917. https://html.spec.whatwg.org/#attr-input-placeholder 21918. https://html.spec.whatwg.org/#attr-input-readonly 21919. https://html.spec.whatwg.org/#attr-input-size 21920. https://html.spec.whatwg.org/#attr-input-src 21921. https://html.spec.whatwg.org/#attr-input-step 21922. https://html.spec.whatwg.org/#attr-dim-width 21923. https://html.spec.whatwg.org/#attr-input-value 21924. https://html.spec.whatwg.org/#do-not-apply 21925. https://html.spec.whatwg.org/#dom-input-checked 21926. https://html.spec.whatwg.org/#dom-input-list 21927. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 21928. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 21929. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 21930. https://html.spec.whatwg.org/#dom-input-valueasdate 21931. https://html.spec.whatwg.org/#dom-input-valueasnumber 21932. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 21933. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 21934. https://html.spec.whatwg.org/#dom-input-stepdown 21935. https://html.spec.whatwg.org/#dom-input-stepup 21936. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/submit 21937. https://html.spec.whatwg.org/#the-input-element 21938. https://html.spec.whatwg.org/#attr-input-type 21939. https://html.spec.whatwg.org/#submit-button-state-(type=submit) 21940. https://infra.spec.whatwg.org/#tracking-vector 21941. https://html.spec.whatwg.org/#the-input-element 21942. https://html.spec.whatwg.org/#represents 21943. https://html.spec.whatwg.org/#attr-input-value 21944. https://infra.spec.whatwg.org/#implementation-defined 21945. https://html.spec.whatwg.org/#concept-button 21946. https://html.spec.whatwg.org/#concept-submit-button 21947. https://infra.spec.whatwg.org/#implementation-defined 21948. https://html.spec.whatwg.org/#input-activation-behavior 21949. https://html.spec.whatwg.org/#form-owner 21950. https://dom.spec.whatwg.org/#concept-node-document 21951. https://html.spec.whatwg.org/#fully-active 21952. https://html.spec.whatwg.org/#concept-form-submit 21953. https://html.spec.whatwg.org/#form-owner 21954. https://html.spec.whatwg.org/#submit-user-involvement 21955. https://html.spec.whatwg.org/#event-uni 21956. https://html.spec.whatwg.org/#attr-fs-formaction 21957. https://html.spec.whatwg.org/#attr-fs-formenctype 21958. https://html.spec.whatwg.org/#attr-fs-formmethod 21959. https://html.spec.whatwg.org/#attr-fs-formnovalidate 21960. https://html.spec.whatwg.org/#attr-fs-formtarget 21961. https://html.spec.whatwg.org/#attributes-for-form-submission 21962. https://html.spec.whatwg.org/#attr-fs-formnovalidate 21963. https://html.spec.whatwg.org/#the-input-element 21964. https://html.spec.whatwg.org/#concept-input-apply 21965. https://html.spec.whatwg.org/#attr-fe-dirname 21966. https://html.spec.whatwg.org/#attr-fs-formaction 21967. https://html.spec.whatwg.org/#attr-fs-formenctype 21968. https://html.spec.whatwg.org/#attr-fs-formmethod 21969. https://html.spec.whatwg.org/#attr-fs-formnovalidate 21970. https://html.spec.whatwg.org/#attr-fs-formtarget 21971. https://html.spec.whatwg.org/#attr-popovertarget 21972. https://html.spec.whatwg.org/#attr-popovertargetaction 21973. https://html.spec.whatwg.org/#dom-input-value 21974. https://html.spec.whatwg.org/#dom-input-value 21975. https://html.spec.whatwg.org/#dom-input-value-default 21976. https://html.spec.whatwg.org/#do-not-apply 21977. https://html.spec.whatwg.org/#attr-input-accept 21978. https://html.spec.whatwg.org/#attr-input-alpha 21979. https://html.spec.whatwg.org/#attr-input-alt 21980. https://html.spec.whatwg.org/#attr-fe-autocomplete 21981. https://html.spec.whatwg.org/#attr-input-checked 21982. https://html.spec.whatwg.org/#attr-input-colorspace 21983. https://html.spec.whatwg.org/#attr-dim-height 21984. https://html.spec.whatwg.org/#attr-input-list 21985. https://html.spec.whatwg.org/#attr-input-max 21986. https://html.spec.whatwg.org/#attr-input-maxlength 21987. https://html.spec.whatwg.org/#attr-input-min 21988. https://html.spec.whatwg.org/#attr-input-minlength 21989. https://html.spec.whatwg.org/#attr-input-multiple 21990. https://html.spec.whatwg.org/#attr-input-pattern 21991. https://html.spec.whatwg.org/#attr-input-placeholder 21992. https://html.spec.whatwg.org/#attr-input-readonly 21993. https://html.spec.whatwg.org/#attr-input-required 21994. https://html.spec.whatwg.org/#attr-input-size 21995. https://html.spec.whatwg.org/#attr-input-src 21996. https://html.spec.whatwg.org/#attr-input-step 21997. https://html.spec.whatwg.org/#attr-dim-width 21998. https://html.spec.whatwg.org/#do-not-apply 21999. https://html.spec.whatwg.org/#dom-input-checked 22000. https://html.spec.whatwg.org/#dom-input-files 22001. https://html.spec.whatwg.org/#dom-input-list 22002. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 22003. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 22004. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 22005. https://html.spec.whatwg.org/#dom-input-valueasdate 22006. https://html.spec.whatwg.org/#dom-input-valueasnumber 22007. https://html.spec.whatwg.org/#dom-textarea/input-select 22008. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 22009. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 22010. https://html.spec.whatwg.org/#dom-input-stepdown 22011. https://html.spec.whatwg.org/#dom-input-stepup 22012. https://w3c.github.io/uievents/#event-type-input 22013. https://html.spec.whatwg.org/#event-change 22014. https://html.spec.whatwg.org/#do-not-apply 22015. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/image 22016. https://html.spec.whatwg.org/#the-input-element 22017. https://html.spec.whatwg.org/#attr-input-type 22018. https://html.spec.whatwg.org/#image-button-state-(type=image) 22019. https://html.spec.whatwg.org/#the-input-element 22020. https://html.spec.whatwg.org/#represents 22021. https://html.spec.whatwg.org/#concept-button 22022. https://html.spec.whatwg.org/#concept-submit-button 22023. https://html.spec.whatwg.org/#constructing-the-form-data-set 22024. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#src 22025. https://html.spec.whatwg.org/#attr-input-src 22026. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 22027. https://html.spec.whatwg.org/#the-input-element 22028. https://html.spec.whatwg.org/#attr-input-type 22029. https://html.spec.whatwg.org/#image-button-state-(type=image) 22030. https://html.spec.whatwg.org/#attr-input-src 22031. https://html.spec.whatwg.org/#the-input-element 22032. https://html.spec.whatwg.org/#attr-input-type 22033. https://html.spec.whatwg.org/#image-button-state-(type=image) 22034. https://html.spec.whatwg.org/#attr-input-src 22035. https://html.spec.whatwg.org/#attr-input-type 22036. https://html.spec.whatwg.org/#image-button-state-(type=image) 22037. https://html.spec.whatwg.org/#the-input-element 22038. https://html.spec.whatwg.org/#attr-input-type 22039. https://html.spec.whatwg.org/#image-button-state-(type=image) 22040. https://html.spec.whatwg.org/#attr-input-src 22041. https://html.spec.whatwg.org/#attr-input-src 22042. https://html.spec.whatwg.org/#encoding-parsing-a-url 22043. https://html.spec.whatwg.org/#attr-input-src 22044. https://dom.spec.whatwg.org/#concept-node-document 22045. https://fetch.spec.whatwg.org/#concept-request 22046. https://fetch.spec.whatwg.org/#concept-request-url 22047. https://fetch.spec.whatwg.org/#concept-request-client 22048. https://dom.spec.whatwg.org/#concept-node-document 22049. https://html.spec.whatwg.org/#relevant-settings-object 22050. https://fetch.spec.whatwg.org/#concept-request-destination 22051. https://fetch.spec.whatwg.org/#request-initiator-type 22052. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 22053. https://fetch.spec.whatwg.org/#concept-request-use-url-credentials-flag 22054. https://fetch.spec.whatwg.org/#concept-fetch 22055. https://fetch.spec.whatwg.org/#fetch-processresponseendofbody 22056. https://fetch.spec.whatwg.org/#concept-response 22057. https://html.spec.whatwg.org/#input-img-available 22058. https://html.spec.whatwg.org/#queue-an-element-task 22059. https://html.spec.whatwg.org/#user-interaction-task-source 22060. https://html.spec.whatwg.org/#the-input-element 22061. https://dom.spec.whatwg.org/#concept-event-fire 22062. https://html.spec.whatwg.org/#event-load 22063. https://html.spec.whatwg.org/#the-input-element 22064. https://html.spec.whatwg.org/#queue-an-element-task 22065. https://html.spec.whatwg.org/#user-interaction-task-source 22066. https://html.spec.whatwg.org/#the-input-element 22067. https://dom.spec.whatwg.org/#concept-event-fire 22068. https://html.spec.whatwg.org/#event-error 22069. https://html.spec.whatwg.org/#the-input-element 22070. https://html.spec.whatwg.org/#delay-the-load-event 22071. https://dom.spec.whatwg.org/#concept-node-document 22072. https://html.spec.whatwg.org/#concept-task 22073. https://html.spec.whatwg.org/#queue-a-task 22074. https://html.spec.whatwg.org/#networking-task-source 22075. https://html.spec.whatwg.org/#concept-task 22076. https://html.spec.whatwg.org/#queue-a-task 22077. https://html.spec.whatwg.org/#networking-task-source 22078. https://mimesniff.spec.whatwg.org/#rules-for-sniffing-images-specifically 22079. https://html.spec.whatwg.org/#content-type 22080. https://html.spec.whatwg.org/#content-type 22081. https://html.spec.whatwg.org/#the-input-element 22082. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#alt 22083. https://html.spec.whatwg.org/#attr-input-alt 22084. https://html.spec.whatwg.org/#the-input-element 22085. https://html.spec.whatwg.org/#dimension-attributes 22086. https://html.spec.whatwg.org/#attr-input-src 22087. https://html.spec.whatwg.org/#input-img-available 22088. https://html.spec.whatwg.org/#represents 22089. https://html.spec.whatwg.org/#concept-input-type-image-coordinate 22090. https://html.spec.whatwg.org/#attr-input-src 22091. https://html.spec.whatwg.org/#concept-fe-mutable 22092. https://html.spec.whatwg.org/#concept-input-type-image-coordinate 22093. https://html.spec.whatwg.org/#represents 22094. https://html.spec.whatwg.org/#attr-input-alt 22095. https://html.spec.whatwg.org/#input-activation-behavior 22096. https://html.spec.whatwg.org/#form-owner 22097. https://dom.spec.whatwg.org/#concept-node-document 22098. https://html.spec.whatwg.org/#fully-active 22099. https://html.spec.whatwg.org/#concept-input-type-image-coordinate 22100. https://html.spec.whatwg.org/#represents 22101. https://html.spec.whatwg.org/#concept-form-submit 22102. https://html.spec.whatwg.org/#form-owner 22103. https://html.spec.whatwg.org/#submit-user-involvement 22104. https://html.spec.whatwg.org/#event-uni 22105. https://html.spec.whatwg.org/#valid-integer 22106. https://drafts.csswg.org/css-values/#px 22107. https://html.spec.whatwg.org/#valid-integer 22108. https://drafts.csswg.org/css-values/#px 22109. https://drafts.csswg.org/css-values/#px 22110. https://html.spec.whatwg.org/#attr-fs-formaction 22111. https://html.spec.whatwg.org/#attr-fs-formenctype 22112. https://html.spec.whatwg.org/#attr-fs-formmethod 22113. https://html.spec.whatwg.org/#attr-fs-formnovalidate 22114. https://html.spec.whatwg.org/#attr-fs-formtarget 22115. https://html.spec.whatwg.org/#attributes-for-form-submission 22116. https://html.spec.whatwg.org/#dom-input-width 22117. https://html.spec.whatwg.org/#dom-input-height 22118. https://html.spec.whatwg.org/#the-input-element 22119. https://html.spec.whatwg.org/#concept-input-apply 22120. https://html.spec.whatwg.org/#attr-input-alt 22121. https://html.spec.whatwg.org/#attr-fs-formaction 22122. https://html.spec.whatwg.org/#attr-fs-formenctype 22123. https://html.spec.whatwg.org/#attr-fs-formmethod 22124. https://html.spec.whatwg.org/#attr-fs-formnovalidate 22125. https://html.spec.whatwg.org/#attr-fs-formtarget 22126. https://html.spec.whatwg.org/#attr-dim-height 22127. https://html.spec.whatwg.org/#attr-popovertarget 22128. https://html.spec.whatwg.org/#attr-popovertargetaction 22129. https://html.spec.whatwg.org/#attr-input-src 22130. https://html.spec.whatwg.org/#attr-dim-width 22131. https://html.spec.whatwg.org/#dom-input-value 22132. https://html.spec.whatwg.org/#dom-input-value 22133. https://html.spec.whatwg.org/#dom-input-value-default 22134. https://html.spec.whatwg.org/#do-not-apply 22135. https://html.spec.whatwg.org/#attr-input-accept 22136. https://html.spec.whatwg.org/#attr-input-alpha 22137. https://html.spec.whatwg.org/#attr-fe-autocomplete 22138. https://html.spec.whatwg.org/#attr-input-checked 22139. https://html.spec.whatwg.org/#attr-input-colorspace 22140. https://html.spec.whatwg.org/#attr-fe-dirname 22141. https://html.spec.whatwg.org/#attr-input-list 22142. https://html.spec.whatwg.org/#attr-input-max 22143. https://html.spec.whatwg.org/#attr-input-maxlength 22144. https://html.spec.whatwg.org/#attr-input-min 22145. https://html.spec.whatwg.org/#attr-input-minlength 22146. https://html.spec.whatwg.org/#attr-input-multiple 22147. https://html.spec.whatwg.org/#attr-input-pattern 22148. https://html.spec.whatwg.org/#attr-input-placeholder 22149. https://html.spec.whatwg.org/#attr-input-readonly 22150. https://html.spec.whatwg.org/#attr-input-required 22151. https://html.spec.whatwg.org/#attr-input-size 22152. https://html.spec.whatwg.org/#attr-input-step 22153. https://html.spec.whatwg.org/#attr-input-value 22154. https://html.spec.whatwg.org/#do-not-apply 22155. https://html.spec.whatwg.org/#dom-input-checked 22156. https://html.spec.whatwg.org/#dom-input-files 22157. https://html.spec.whatwg.org/#dom-input-list 22158. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 22159. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 22160. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 22161. https://html.spec.whatwg.org/#dom-input-valueasdate 22162. https://html.spec.whatwg.org/#dom-input-valueasnumber 22163. https://html.spec.whatwg.org/#dom-textarea/input-select 22164. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 22165. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 22166. https://html.spec.whatwg.org/#dom-input-stepdown 22167. https://html.spec.whatwg.org/#dom-input-stepup 22168. https://w3c.github.io/uievents/#event-type-input 22169. https://html.spec.whatwg.org/#event-change 22170. https://html.spec.whatwg.org/#do-not-apply 22171. https://html.spec.whatwg.org/#the-img-element 22172. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/reset 22173. https://html.spec.whatwg.org/#the-input-element 22174. https://html.spec.whatwg.org/#attr-input-type 22175. https://html.spec.whatwg.org/#reset-button-state-(type=reset) 22176. https://infra.spec.whatwg.org/#tracking-vector 22177. https://html.spec.whatwg.org/#the-input-element 22178. https://html.spec.whatwg.org/#represents 22179. https://html.spec.whatwg.org/#attr-input-value 22180. https://infra.spec.whatwg.org/#implementation-defined 22181. https://html.spec.whatwg.org/#concept-button 22182. https://infra.spec.whatwg.org/#implementation-defined 22183. https://html.spec.whatwg.org/#input-activation-behavior 22184. https://html.spec.whatwg.org/#form-owner 22185. https://dom.spec.whatwg.org/#concept-node-document 22186. https://html.spec.whatwg.org/#fully-active 22187. https://html.spec.whatwg.org/#concept-form-reset 22188. https://html.spec.whatwg.org/#form-owner 22189. https://html.spec.whatwg.org/#barred-from-constraint-validation 22190. https://html.spec.whatwg.org/#dom-input-value 22191. https://html.spec.whatwg.org/#concept-input-apply 22192. https://html.spec.whatwg.org/#dom-input-value-default 22193. https://html.spec.whatwg.org/#the-input-element 22194. https://html.spec.whatwg.org/#concept-input-apply 22195. https://html.spec.whatwg.org/#attr-popovertarget 22196. https://html.spec.whatwg.org/#attr-popovertargetaction 22197. https://html.spec.whatwg.org/#do-not-apply 22198. https://html.spec.whatwg.org/#attr-input-accept 22199. https://html.spec.whatwg.org/#attr-input-alpha 22200. https://html.spec.whatwg.org/#attr-input-alt 22201. https://html.spec.whatwg.org/#attr-fe-autocomplete 22202. https://html.spec.whatwg.org/#attr-input-checked 22203. https://html.spec.whatwg.org/#attr-input-colorspace 22204. https://html.spec.whatwg.org/#attr-fe-dirname 22205. https://html.spec.whatwg.org/#attr-fs-formaction 22206. https://html.spec.whatwg.org/#attr-fs-formenctype 22207. https://html.spec.whatwg.org/#attr-fs-formmethod 22208. https://html.spec.whatwg.org/#attr-fs-formnovalidate 22209. https://html.spec.whatwg.org/#attr-fs-formtarget 22210. https://html.spec.whatwg.org/#attr-dim-height 22211. https://html.spec.whatwg.org/#attr-input-list 22212. https://html.spec.whatwg.org/#attr-input-max 22213. https://html.spec.whatwg.org/#attr-input-maxlength 22214. https://html.spec.whatwg.org/#attr-input-min 22215. https://html.spec.whatwg.org/#attr-input-minlength 22216. https://html.spec.whatwg.org/#attr-input-multiple 22217. https://html.spec.whatwg.org/#attr-input-pattern 22218. https://html.spec.whatwg.org/#attr-input-placeholder 22219. https://html.spec.whatwg.org/#attr-input-readonly 22220. https://html.spec.whatwg.org/#attr-input-required 22221. https://html.spec.whatwg.org/#attr-input-size 22222. https://html.spec.whatwg.org/#attr-input-src 22223. https://html.spec.whatwg.org/#attr-input-step 22224. https://html.spec.whatwg.org/#attr-dim-width 22225. https://html.spec.whatwg.org/#do-not-apply 22226. https://html.spec.whatwg.org/#dom-input-checked 22227. https://html.spec.whatwg.org/#dom-input-files 22228. https://html.spec.whatwg.org/#dom-input-list 22229. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 22230. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 22231. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 22232. https://html.spec.whatwg.org/#dom-input-valueasdate 22233. https://html.spec.whatwg.org/#dom-input-valueasnumber 22234. https://html.spec.whatwg.org/#dom-textarea/input-select 22235. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 22236. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 22237. https://html.spec.whatwg.org/#dom-input-stepdown 22238. https://html.spec.whatwg.org/#dom-input-stepup 22239. https://w3c.github.io/uievents/#event-type-input 22240. https://html.spec.whatwg.org/#event-change 22241. https://html.spec.whatwg.org/#do-not-apply 22242. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/button 22243. https://html.spec.whatwg.org/#the-input-element 22244. https://html.spec.whatwg.org/#attr-input-type 22245. https://html.spec.whatwg.org/#button-state-(type=button) 22246. https://html.spec.whatwg.org/#the-input-element 22247. https://html.spec.whatwg.org/#represents 22248. https://html.spec.whatwg.org/#attr-input-value 22249. https://html.spec.whatwg.org/#attr-input-value 22250. https://html.spec.whatwg.org/#concept-button 22251. https://html.spec.whatwg.org/#input-activation-behavior 22252. https://html.spec.whatwg.org/#barred-from-constraint-validation 22253. https://html.spec.whatwg.org/#dom-input-value 22254. https://html.spec.whatwg.org/#concept-input-apply 22255. https://html.spec.whatwg.org/#dom-input-value-default 22256. https://html.spec.whatwg.org/#the-input-element 22257. https://html.spec.whatwg.org/#concept-input-apply 22258. https://html.spec.whatwg.org/#attr-popovertarget 22259. https://html.spec.whatwg.org/#attr-popovertargetaction 22260. https://html.spec.whatwg.org/#do-not-apply 22261. https://html.spec.whatwg.org/#attr-input-accept 22262. https://html.spec.whatwg.org/#attr-input-alpha 22263. https://html.spec.whatwg.org/#attr-input-alt 22264. https://html.spec.whatwg.org/#attr-fe-autocomplete 22265. https://html.spec.whatwg.org/#attr-input-checked 22266. https://html.spec.whatwg.org/#attr-input-colorspace 22267. https://html.spec.whatwg.org/#attr-fe-dirname 22268. https://html.spec.whatwg.org/#attr-fs-formaction 22269. https://html.spec.whatwg.org/#attr-fs-formenctype 22270. https://html.spec.whatwg.org/#attr-fs-formmethod 22271. https://html.spec.whatwg.org/#attr-fs-formnovalidate 22272. https://html.spec.whatwg.org/#attr-fs-formtarget 22273. https://html.spec.whatwg.org/#attr-dim-height 22274. https://html.spec.whatwg.org/#attr-input-list 22275. https://html.spec.whatwg.org/#attr-input-max 22276. https://html.spec.whatwg.org/#attr-input-maxlength 22277. https://html.spec.whatwg.org/#attr-input-min 22278. https://html.spec.whatwg.org/#attr-input-minlength 22279. https://html.spec.whatwg.org/#attr-input-multiple 22280. https://html.spec.whatwg.org/#attr-input-pattern 22281. https://html.spec.whatwg.org/#attr-input-placeholder 22282. https://html.spec.whatwg.org/#attr-input-readonly 22283. https://html.spec.whatwg.org/#attr-input-required 22284. https://html.spec.whatwg.org/#attr-input-size 22285. https://html.spec.whatwg.org/#attr-input-src 22286. https://html.spec.whatwg.org/#attr-input-step 22287. https://html.spec.whatwg.org/#attr-dim-width 22288. https://html.spec.whatwg.org/#do-not-apply 22289. https://html.spec.whatwg.org/#dom-input-checked 22290. https://html.spec.whatwg.org/#dom-input-files 22291. https://html.spec.whatwg.org/#dom-input-list 22292. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 22293. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 22294. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 22295. https://html.spec.whatwg.org/#dom-input-valueasdate 22296. https://html.spec.whatwg.org/#dom-input-valueasnumber 22297. https://html.spec.whatwg.org/#dom-textarea/input-select 22298. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 22299. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 22300. https://html.spec.whatwg.org/#dom-input-stepdown 22301. https://html.spec.whatwg.org/#dom-input-stepup 22302. https://w3c.github.io/uievents/#event-type-input 22303. https://html.spec.whatwg.org/#event-change 22304. https://html.spec.whatwg.org/#do-not-apply 22305. https://html.spec.whatwg.org/#the-input-element 22306. https://html.spec.whatwg.org/#language 22307. https://html.spec.whatwg.org/#the-input-element 22308. https://html.spec.whatwg.org/#concept-input-apply 22309. https://html.spec.whatwg.org/#the-input-element 22310. https://html.spec.whatwg.org/#attr-input-type 22311. https://html.spec.whatwg.org/#concept-input-apply 22312. https://html.spec.whatwg.org/#do-not-apply 22313. https://html.spec.whatwg.org/#the-input-element 22314. https://html.spec.whatwg.org/#ignore 22315. https://html.spec.whatwg.org/#attr-input-maxlength 22316. https://html.spec.whatwg.org/#attr-input-minlength 22317. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/maxlength 22318. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/minlength 22319. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/maxlength 22320. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/minlength 22321. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-maxlength 22322. https://caniuse.com/#feat=maxlength 22323. https://html.spec.whatwg.org/#concept-input-apply 22324. https://html.spec.whatwg.org/#attr-fe-maxlength 22325. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-minlength 22326. https://caniuse.com/#feat=input-minlength 22327. https://html.spec.whatwg.org/#concept-input-apply 22328. https://html.spec.whatwg.org/#attr-fe-minlength 22329. https://html.spec.whatwg.org/#the-input-element 22330. https://html.spec.whatwg.org/#maximum-allowed-value-length 22331. https://infra.spec.whatwg.org/#string-length 22332. https://html.spec.whatwg.org/#attr-input-value 22333. https://html.spec.whatwg.org/#maximum-allowed-value-length 22334. https://html.spec.whatwg.org/#attr-input-size 22335. https://html.spec.whatwg.org/#concept-fe-value 22336. https://html.spec.whatwg.org/#attr-input-size 22337. https://html.spec.whatwg.org/#valid-non-negative-integer 22338. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 22339. https://html.spec.whatwg.org/#dom-input-size 22340. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers-greater-than-zero 22341. https://html.spec.whatwg.org/#default-value 22342. https://html.spec.whatwg.org/#attr-input-readonly 22343. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/readonly 22344. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/readonly 22345. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/readonly 22346. https://html.spec.whatwg.org/#boolean-attribute 22347. https://html.spec.whatwg.org/#concept-fe-mutable 22348. https://html.spec.whatwg.org/#attr-input-readonly 22349. https://html.spec.whatwg.org/#the-input-element 22350. https://html.spec.whatwg.org/#barred-from-constraint-validation 22351. https://html.spec.whatwg.org/#attr-fe-disabled 22352. https://html.spec.whatwg.org/#attr-input-readonly 22353. https://html.spec.whatwg.org/#concept-fe-disabled 22354. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 22355. https://html.spec.whatwg.org/#focusable-area 22356. https://html.spec.whatwg.org/#constructing-the-form-data-set 22357. https://html.spec.whatwg.org/#attr-input-readonly 22358. https://html.spec.whatwg.org/#do-not-apply 22359. https://html.spec.whatwg.org/#attr-input-required 22360. https://html.spec.whatwg.org/#boolean-attribute 22361. https://html.spec.whatwg.org/#concept-input-required 22362. https://html.spec.whatwg.org/#dom-input-value 22363. https://html.spec.whatwg.org/#concept-input-apply 22364. https://html.spec.whatwg.org/#dom-input-value-value 22365. https://html.spec.whatwg.org/#concept-fe-mutable 22366. https://html.spec.whatwg.org/#concept-fe-value 22367. https://html.spec.whatwg.org/#suffering-from-being-missing 22368. https://html.spec.whatwg.org/#attr-input-required 22369. https://html.spec.whatwg.org/#radio-button-group 22370. https://html.spec.whatwg.org/#radio-button-group 22371. https://html.spec.whatwg.org/#attr-input-multiple 22372. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/multiple 22373. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-multiple 22374. https://html.spec.whatwg.org/#boolean-attribute 22375. https://html.spec.whatwg.org/#the-datalist-element 22376. https://html.spec.whatwg.org/#attr-input-pattern 22377. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern 22378. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern 22379. https://html.spec.whatwg.org/#concept-fe-value 22380. https://html.spec.whatwg.org/#attr-input-multiple 22381. https://html.spec.whatwg.org/#concept-input-apply 22382. https://html.spec.whatwg.org/#concept-fe-values 22383. https://tc39.es/ecma262/#prod-Pattern 22384. https://html.spec.whatwg.org/#the-input-element 22385. https://tc39.es/ecma262/#sec-regexp-regular-expression-objects 22386. https://html.spec.whatwg.org/#attr-input-pattern 22387. https://html.spec.whatwg.org/#compiled-pattern-regular-expression 22388. https://html.spec.whatwg.org/#attr-input-pattern 22389. https://tc39.es/ecma262/#sec-regexpcreate 22390. https://tc39.es/ecma262/#sec-completion-record-specification-type 22391. https://html.spec.whatwg.org/#compiled-pattern-regular-expression 22392. https://tc39.es/ecma262/#sec-regexpcreate 22393. https://html.spec.whatwg.org/#attr-input-pattern 22394. https://tc39.es/ecma262/#sec-regexp-regular-expression-objects 22395. https://tc39.es/ecma262/#sec-regexpbuiltinexec 22396. https://html.spec.whatwg.org/#concept-fe-value 22397. https://html.spec.whatwg.org/#attr-input-multiple 22398. https://html.spec.whatwg.org/#do-not-apply 22399. https://html.spec.whatwg.org/#the-input-element 22400. https://html.spec.whatwg.org/#attr-input-type 22401. https://html.spec.whatwg.org/#compiled-pattern-regular-expression 22402. https://html.spec.whatwg.org/#regexp-match-a-string 22403. https://html.spec.whatwg.org/#concept-fe-value 22404. https://html.spec.whatwg.org/#suffering-from-a-pattern-mismatch 22405. https://html.spec.whatwg.org/#concept-fe-value 22406. https://html.spec.whatwg.org/#attr-input-multiple 22407. https://html.spec.whatwg.org/#concept-input-apply 22408. https://html.spec.whatwg.org/#the-input-element 22409. https://html.spec.whatwg.org/#compiled-pattern-regular-expression 22410. https://html.spec.whatwg.org/#regexp-match-a-string 22411. https://html.spec.whatwg.org/#concept-fe-values 22412. https://html.spec.whatwg.org/#suffering-from-a-pattern-mismatch 22413. https://html.spec.whatwg.org/#the-input-element 22414. https://html.spec.whatwg.org/#attr-input-pattern 22415. https://html.spec.whatwg.org/#gains-focus 22416. https://html.spec.whatwg.org/#attr-input-pattern 22417. https://html.spec.whatwg.org/#attr-input-title 22418. https://html.spec.whatwg.org/#attr-title 22419. https://html.spec.whatwg.org/#attr-input-title 22420. https://html.spec.whatwg.org/#attr-input-min 22421. https://html.spec.whatwg.org/#attr-input-max 22422. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/max 22423. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/min 22424. https://html.spec.whatwg.org/#time-state-(type=time) 22425. https://html.spec.whatwg.org/#attr-input-type 22426. https://html.spec.whatwg.org/#attr-input-min 22427. https://html.spec.whatwg.org/#concept-input-value-string-number 22428. https://html.spec.whatwg.org/#attr-input-min 22429. https://html.spec.whatwg.org/#attr-input-type 22430. https://html.spec.whatwg.org/#concept-input-min 22431. https://html.spec.whatwg.org/#concept-input-min 22432. https://html.spec.whatwg.org/#attr-input-min 22433. https://html.spec.whatwg.org/#concept-input-min-zero 22434. https://html.spec.whatwg.org/#attr-input-max 22435. https://html.spec.whatwg.org/#concept-input-value-string-number 22436. https://html.spec.whatwg.org/#attr-input-max 22437. https://html.spec.whatwg.org/#attr-input-type 22438. https://html.spec.whatwg.org/#concept-input-max 22439. https://html.spec.whatwg.org/#concept-input-max 22440. https://html.spec.whatwg.org/#has-a-periodic-domain 22441. https://html.spec.whatwg.org/#attr-input-max 22442. https://html.spec.whatwg.org/#concept-input-max 22443. https://html.spec.whatwg.org/#attr-input-min 22444. https://html.spec.whatwg.org/#concept-input-min 22445. https://html.spec.whatwg.org/#has-a-periodic-domain 22446. https://html.spec.whatwg.org/#attr-input-max 22447. https://html.spec.whatwg.org/#attr-input-min 22448. https://html.spec.whatwg.org/#concept-fe-value 22449. https://html.spec.whatwg.org/#suffering-from-an-underflow 22450. https://html.spec.whatwg.org/#suffering-from-an-overflow 22451. https://html.spec.whatwg.org/#has-a-periodic-domain 22452. https://html.spec.whatwg.org/#concept-input-max 22453. https://html.spec.whatwg.org/#concept-input-min 22454. https://html.spec.whatwg.org/#concept-input-min 22455. https://html.spec.whatwg.org/#concept-input-max 22456. https://html.spec.whatwg.org/#attr-input-min 22457. https://html.spec.whatwg.org/#has-a-reversed-range 22458. https://html.spec.whatwg.org/#concept-input-value-string-number 22459. https://html.spec.whatwg.org/#concept-fe-value 22460. https://html.spec.whatwg.org/#attr-input-min 22461. https://html.spec.whatwg.org/#suffering-from-an-underflow 22462. https://html.spec.whatwg.org/#attr-input-max 22463. https://html.spec.whatwg.org/#has-a-reversed-range 22464. https://html.spec.whatwg.org/#concept-input-value-string-number 22465. https://html.spec.whatwg.org/#concept-fe-value 22466. https://html.spec.whatwg.org/#attr-input-max 22467. https://html.spec.whatwg.org/#suffering-from-an-overflow 22468. https://html.spec.whatwg.org/#has-a-reversed-range 22469. https://html.spec.whatwg.org/#concept-input-value-string-number 22470. https://html.spec.whatwg.org/#concept-fe-value 22471. https://html.spec.whatwg.org/#attr-input-max 22472. https://html.spec.whatwg.org/#attr-input-min 22473. https://html.spec.whatwg.org/#suffering-from-an-underflow 22474. https://html.spec.whatwg.org/#suffering-from-an-overflow 22475. https://html.spec.whatwg.org/#attr-input-step 22476. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/step 22477. https://html.spec.whatwg.org/#concept-fe-value 22478. https://html.spec.whatwg.org/#concept-fe-values 22479. https://html.spec.whatwg.org/#attr-input-type 22480. https://html.spec.whatwg.org/#attr-input-step 22481. https://html.spec.whatwg.org/#valid-floating-point-number 22482. https://html.spec.whatwg.org/#rules-for-parsing-floating-point-number-values 22483. https://infra.spec.whatwg.org/#ascii-case-insensitive 22484. https://html.spec.whatwg.org/#concept-input-apply 22485. https://html.spec.whatwg.org/#concept-input-step 22486. https://html.spec.whatwg.org/#concept-input-step 22487. https://html.spec.whatwg.org/#concept-input-step-default 22488. https://html.spec.whatwg.org/#concept-input-step-scale 22489. https://infra.spec.whatwg.org/#ascii-case-insensitive 22490. https://html.spec.whatwg.org/#concept-input-step 22491. https://html.spec.whatwg.org/#rules-for-parsing-floating-point-number-values 22492. https://html.spec.whatwg.org/#concept-input-step 22493. https://html.spec.whatwg.org/#concept-input-step-default 22494. https://html.spec.whatwg.org/#concept-input-step-scale 22495. https://html.spec.whatwg.org/#concept-input-step 22496. https://html.spec.whatwg.org/#rules-for-parsing-floating-point-number-values 22497. https://html.spec.whatwg.org/#concept-input-step-scale 22498. https://html.spec.whatwg.org/#attr-input-min 22499. https://html.spec.whatwg.org/#concept-input-value-string-number 22500. https://html.spec.whatwg.org/#attr-input-min 22501. https://html.spec.whatwg.org/#attr-input-value 22502. https://html.spec.whatwg.org/#concept-input-value-string-number 22503. https://html.spec.whatwg.org/#attr-input-value 22504. https://html.spec.whatwg.org/#concept-input-step-default-base 22505. https://html.spec.whatwg.org/#attr-input-type 22506. https://html.spec.whatwg.org/#concept-input-step 22507. https://html.spec.whatwg.org/#concept-input-value-string-number 22508. https://html.spec.whatwg.org/#concept-fe-value 22509. https://html.spec.whatwg.org/#concept-input-min-zero 22510. https://html.spec.whatwg.org/#concept-input-step 22511. https://html.spec.whatwg.org/#suffering-from-a-step-mismatch 22512. https://html.spec.whatwg.org/#attr-input-list 22513. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#list 22514. https://dom.spec.whatwg.org/#concept-id 22515. https://html.spec.whatwg.org/#the-datalist-element 22516. https://dom.spec.whatwg.org/#concept-tree 22517. https://dom.spec.whatwg.org/#concept-tree 22518. https://dom.spec.whatwg.org/#concept-tree-order 22519. https://dom.spec.whatwg.org/#concept-id 22520. https://html.spec.whatwg.org/#attr-input-list 22521. https://html.spec.whatwg.org/#the-datalist-element 22522. https://html.spec.whatwg.org/#attr-input-list 22523. https://dom.spec.whatwg.org/#concept-id 22524. https://dom.spec.whatwg.org/#concept-id 22525. https://html.spec.whatwg.org/#the-datalist-element 22526. https://html.spec.whatwg.org/#concept-input-list 22527. https://html.spec.whatwg.org/#concept-input-list 22528. https://html.spec.whatwg.org/#the-input-element 22529. https://html.spec.whatwg.org/#concept-fe-value 22530. https://html.spec.whatwg.org/#concept-input-list 22531. https://html.spec.whatwg.org/#concept-option-label 22532. https://html.spec.whatwg.org/#concept-option-value 22533. https://html.spec.whatwg.org/#concept-input-list 22534. https://html.spec.whatwg.org/#concept-option-label 22535. https://html.spec.whatwg.org/#concept-option-value 22536. https://html.spec.whatwg.org/#refsCHARMODNORM 22537. https://html.spec.whatwg.org/#concept-option-label 22538. https://html.spec.whatwg.org/#concept-option-value 22539. https://html.spec.whatwg.org/#attr-input-multiple 22540. https://html.spec.whatwg.org/#attr-input-multiple 22541. https://html.spec.whatwg.org/#do-not-apply 22542. https://html.spec.whatwg.org/#the-input-element 22543. https://html.spec.whatwg.org/#concept-fe-value 22544. https://html.spec.whatwg.org/#concept-option-value 22545. https://html.spec.whatwg.org/#attr-input-type 22546. https://html.spec.whatwg.org/#email-state-(type=email) 22547. https://html.spec.whatwg.org/#attr-input-multiple 22548. https://html.spec.whatwg.org/#the-input-element 22549. https://html.spec.whatwg.org/#concept-fe-values 22550. https://html.spec.whatwg.org/#concept-option-value 22551. https://html.spec.whatwg.org/#the-input-element 22552. https://html.spec.whatwg.org/#concept-fe-values 22553. https://html.spec.whatwg.org/#concept-option-value 22554. https://infra.spec.whatwg.org/#implementation-defined 22555. https://html.spec.whatwg.org/#attr-input-list 22556. https://html.spec.whatwg.org/#do-not-apply 22557. https://html.spec.whatwg.org/#concept-input-list 22558. https://html.spec.whatwg.org/#the-datalist-element 22559. https://html.spec.whatwg.org/#the-option-element 22560. https://html.spec.whatwg.org/#attr-option-value 22561. https://html.spec.whatwg.org/#the-datalist-element 22562. https://html.spec.whatwg.org/#the-datalist-element 22563. https://html.spec.whatwg.org/#the-datalist-element 22564. https://html.spec.whatwg.org/#the-option-element 22565. https://html.spec.whatwg.org/#the-datalist-element 22566. https://html.spec.whatwg.org/#attr-option-selected 22567. https://html.spec.whatwg.org/#the-select-element 22568. https://html.spec.whatwg.org/#the-input-element 22569. https://html.spec.whatwg.org/#the-datalist-element 22570. https://html.spec.whatwg.org/#attr-input-placeholder 22571. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#placeholder 22572. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-placeholder 22573. https://html.spec.whatwg.org/#attr-input-placeholder 22574. https://html.spec.whatwg.org/#the-label-element 22575. https://html.spec.whatwg.org/#attr-title 22576. https://html.spec.whatwg.org/#the-label-element 22577. https://html.spec.whatwg.org/#attr-input-placeholder 22578. https://html.spec.whatwg.org/#attr-title 22579. https://infra.spec.whatwg.org/#strip-newlines 22580. https://html.spec.whatwg.org/#concept-fe-value 22581. https://html.spec.whatwg.org/#focused 22582. https://html.spec.whatwg.org/#focused 22583. https://html.spec.whatwg.org/#attr-fe-autofocus 22584. https://html.spec.whatwg.org/#attr-input-placeholder 22585. https://html.spec.whatwg.org/#the-input-element 22586. https://html.spec.whatwg.org/#dom-input-value 22587. https://html.spec.whatwg.org/#concept-fe-value 22588. https://webidl.spec.whatwg.org/#invalidstateerror 22589. https://webidl.spec.whatwg.org/#dfn-DOMException 22590. https://html.spec.whatwg.org/#dom-input-checked 22591. https://html.spec.whatwg.org/#concept-fe-checked 22592. https://html.spec.whatwg.org/#concept-fe-checked 22593. https://html.spec.whatwg.org/#dom-input-files 22594. https://developer.mozilla.org/en-US/docs/Web/API/FileList 22595. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/files 22596. https://w3c.github.io/FileAPI/#filelist-section 22597. https://html.spec.whatwg.org/#concept-input-type-file-selected 22598. https://w3c.github.io/FileAPI/#filelist-section 22599. https://html.spec.whatwg.org/#concept-input-type-file-selected 22600. https://html.spec.whatwg.org/#dom-input-valueasdate 22601. https://tc39.es/ecma262/#sec-date-objects 22602. https://html.spec.whatwg.org/#concept-fe-value 22603. https://webidl.spec.whatwg.org/#invalidstateerror 22604. https://webidl.spec.whatwg.org/#dfn-DOMException 22605. https://html.spec.whatwg.org/#dom-input-valueasnumber 22606. https://html.spec.whatwg.org/#concept-fe-value 22607. https://webidl.spec.whatwg.org/#invalidstateerror 22608. https://webidl.spec.whatwg.org/#dfn-DOMException 22609. https://html.spec.whatwg.org/#dom-input-stepup 22610. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/stepUp 22611. https://html.spec.whatwg.org/#dom-input-stepdown 22612. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/stepDown 22613. https://html.spec.whatwg.org/#concept-fe-value 22614. https://html.spec.whatwg.org/#attr-input-step 22615. https://webidl.spec.whatwg.org/#invalidstateerror 22616. https://webidl.spec.whatwg.org/#dfn-DOMException 22617. https://html.spec.whatwg.org/#attr-input-step 22618. https://html.spec.whatwg.org/#dom-input-list 22619. https://html.spec.whatwg.org/#the-datalist-element 22620. https://html.spec.whatwg.org/#attr-input-list 22621. https://html.spec.whatwg.org/#dom-input-showpicker 22622. https://html.spec.whatwg.org/#input-support-picker 22623. https://webidl.spec.whatwg.org/#invalidstateerror 22624. https://webidl.spec.whatwg.org/#dfn-DOMException 22625. https://html.spec.whatwg.org/#concept-fe-mutable 22626. https://webidl.spec.whatwg.org/#notallowederror 22627. https://webidl.spec.whatwg.org/#dfn-DOMException 22628. https://html.spec.whatwg.org/#transient-activation 22629. https://webidl.spec.whatwg.org/#securityerror 22630. https://webidl.spec.whatwg.org/#dfn-DOMException 22631. https://html.spec.whatwg.org/#the-iframe-element 22632. https://html.spec.whatwg.org/#file-upload-state-(type=file) 22633. https://html.spec.whatwg.org/#color-state-(type=color) 22634. https://html.spec.whatwg.org/#concept-fe-value 22635. https://html.spec.whatwg.org/#the-input-element 22636. https://html.spec.whatwg.org/#concept-fe-value 22637. https://html.spec.whatwg.org/#concept-fe-value 22638. https://html.spec.whatwg.org/#concept-fe-value 22639. https://html.spec.whatwg.org/#concept-fe-dirty 22640. https://html.spec.whatwg.org/#value-sanitization-algorithm 22641. https://html.spec.whatwg.org/#attr-input-type 22642. https://html.spec.whatwg.org/#concept-fe-value 22643. https://html.spec.whatwg.org/#value-sanitization-algorithm 22644. https://html.spec.whatwg.org/#concept-textarea/input-cursor 22645. https://html.spec.whatwg.org/#concept-textarea/input-cursor 22646. https://html.spec.whatwg.org/#set-the-selection-direction 22647. https://html.spec.whatwg.org/#attr-input-value 22648. https://html.spec.whatwg.org/#attr-input-value 22649. https://html.spec.whatwg.org/#attr-input-value 22650. https://html.spec.whatwg.org/#attr-input-value 22651. https://html.spec.whatwg.org/#concept-input-type-file-selected 22652. https://html.spec.whatwg.org/#concept-input-type-file-selected 22653. https://webidl.spec.whatwg.org/#invalidstateerror 22654. https://webidl.spec.whatwg.org/#dfn-DOMException 22655. https://html.spec.whatwg.org/#fakepath-srsly 22656. https://html.spec.whatwg.org/#concept-input-file-path 22657. https://html.spec.whatwg.org/#concept-input-type-file-selected 22658. https://html.spec.whatwg.org/#concept-fe-checked 22659. https://html.spec.whatwg.org/#the-input-element 22660. https://html.spec.whatwg.org/#concept-fe-checked 22661. https://html.spec.whatwg.org/#concept-fe-checked 22662. https://html.spec.whatwg.org/#concept-input-checked-dirty-flag 22663. https://html.spec.whatwg.org/#concept-input-type-file-selected 22664. https://html.spec.whatwg.org/#concept-input-apply 22665. https://w3c.github.io/FileAPI/#filelist-section 22666. https://html.spec.whatwg.org/#concept-input-type-file-selected 22667. https://html.spec.whatwg.org/#concept-input-type-file-selected 22668. https://html.spec.whatwg.org/#do-not-apply 22669. https://html.spec.whatwg.org/#refsFILEAPI 22670. https://html.spec.whatwg.org/#do-not-apply 22671. https://html.spec.whatwg.org/#concept-input-type-file-selected 22672. https://html.spec.whatwg.org/#concept-fe-value 22673. https://html.spec.whatwg.org/#dom-input-valueasdate 22674. https://html.spec.whatwg.org/#do-not-apply 22675. https://html.spec.whatwg.org/#the-input-element 22676. https://html.spec.whatwg.org/#attr-input-type 22677. https://html.spec.whatwg.org/#concept-input-value-string-date 22678. https://html.spec.whatwg.org/#concept-fe-value 22679. https://tc39.es/ecma262/#sec-date-objects 22680. https://html.spec.whatwg.org/#dom-input-valueasdate 22681. https://html.spec.whatwg.org/#do-not-apply 22682. https://html.spec.whatwg.org/#the-input-element 22683. https://html.spec.whatwg.org/#attr-input-type 22684. https://webidl.spec.whatwg.org/#invalidstateerror 22685. https://webidl.spec.whatwg.org/#dfn-DOMException 22686. https://tc39.es/ecma262/#sec-date-objects 22687. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 22688. https://tc39.es/ecma262/#sec-date-objects 22689. https://html.spec.whatwg.org/#concept-fe-value 22690. https://html.spec.whatwg.org/#concept-input-value-date-string 22691. https://html.spec.whatwg.org/#concept-fe-value 22692. https://html.spec.whatwg.org/#concept-fe-value 22693. https://html.spec.whatwg.org/#dom-input-valueasnumber 22694. https://html.spec.whatwg.org/#do-not-apply 22695. https://html.spec.whatwg.org/#the-input-element 22696. https://html.spec.whatwg.org/#attr-input-type 22697. https://html.spec.whatwg.org/#concept-input-value-string-number 22698. https://html.spec.whatwg.org/#concept-fe-value 22699. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 22700. https://html.spec.whatwg.org/#dom-input-valueasnumber 22701. https://html.spec.whatwg.org/#do-not-apply 22702. https://html.spec.whatwg.org/#the-input-element 22703. https://html.spec.whatwg.org/#attr-input-type 22704. https://webidl.spec.whatwg.org/#invalidstateerror 22705. https://webidl.spec.whatwg.org/#dfn-DOMException 22706. https://html.spec.whatwg.org/#concept-fe-value 22707. https://html.spec.whatwg.org/#concept-input-value-number-string 22708. https://html.spec.whatwg.org/#concept-fe-value 22709. https://html.spec.whatwg.org/#dom-input-stepdown 22710. https://html.spec.whatwg.org/#dom-input-stepup 22711. https://html.spec.whatwg.org/#do-not-apply 22712. https://html.spec.whatwg.org/#the-input-element 22713. https://html.spec.whatwg.org/#attr-input-type 22714. https://webidl.spec.whatwg.org/#invalidstateerror 22715. https://webidl.spec.whatwg.org/#dfn-DOMException 22716. https://html.spec.whatwg.org/#concept-input-step 22717. https://webidl.spec.whatwg.org/#invalidstateerror 22718. https://webidl.spec.whatwg.org/#dfn-DOMException 22719. https://html.spec.whatwg.org/#concept-input-min 22720. https://html.spec.whatwg.org/#concept-input-max 22721. https://html.spec.whatwg.org/#concept-input-min 22722. https://html.spec.whatwg.org/#concept-input-max 22723. https://html.spec.whatwg.org/#concept-input-min 22724. https://html.spec.whatwg.org/#concept-input-max 22725. https://html.spec.whatwg.org/#concept-input-min 22726. https://html.spec.whatwg.org/#concept-input-max 22727. https://html.spec.whatwg.org/#concept-input-min-zero 22728. https://html.spec.whatwg.org/#concept-input-step 22729. https://html.spec.whatwg.org/#concept-input-value-string-number 22730. https://html.spec.whatwg.org/#concept-fe-value 22731. https://html.spec.whatwg.org/#concept-input-min-zero 22732. https://html.spec.whatwg.org/#concept-input-step 22733. https://html.spec.whatwg.org/#concept-input-min-zero 22734. https://html.spec.whatwg.org/#concept-input-step 22735. https://html.spec.whatwg.org/#dom-input-stepdown 22736. https://html.spec.whatwg.org/#concept-input-min-zero 22737. https://html.spec.whatwg.org/#concept-input-step 22738. https://html.spec.whatwg.org/#concept-input-step 22739. https://html.spec.whatwg.org/#dom-input-stepdown 22740. https://html.spec.whatwg.org/#concept-input-min 22741. https://html.spec.whatwg.org/#concept-input-min 22742. https://html.spec.whatwg.org/#concept-input-min-zero 22743. https://html.spec.whatwg.org/#concept-input-step 22744. https://html.spec.whatwg.org/#concept-input-min 22745. https://html.spec.whatwg.org/#concept-input-max 22746. https://html.spec.whatwg.org/#concept-input-max 22747. https://html.spec.whatwg.org/#concept-input-min-zero 22748. https://html.spec.whatwg.org/#concept-input-step 22749. https://html.spec.whatwg.org/#concept-input-max 22750. https://html.spec.whatwg.org/#dom-input-stepdown 22751. https://html.spec.whatwg.org/#dom-input-stepup 22752. https://html.spec.whatwg.org/#dom-input-stepup 22753. https://html.spec.whatwg.org/#the-input-element 22754. https://html.spec.whatwg.org/#concept-fe-value 22755. https://html.spec.whatwg.org/#concept-input-value-number-string 22756. https://html.spec.whatwg.org/#the-input-element 22757. https://html.spec.whatwg.org/#attr-input-type 22758. https://html.spec.whatwg.org/#concept-fe-value 22759. https://html.spec.whatwg.org/#concept-input-list 22760. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/showPicker 22761. https://html.spec.whatwg.org/#htmlinputelement 22762. https://html.spec.whatwg.org/#htmlselectelement 22763. https://webidl.spec.whatwg.org/#this 22764. https://html.spec.whatwg.org/#concept-fe-mutable 22765. https://webidl.spec.whatwg.org/#invalidstateerror 22766. https://webidl.spec.whatwg.org/#dfn-DOMException 22767. https://webidl.spec.whatwg.org/#this 22768. https://html.spec.whatwg.org/#relevant-settings-object 22769. https://html.spec.whatwg.org/#concept-settings-object-origin 22770. https://html.spec.whatwg.org/#same-origin 22771. https://webidl.spec.whatwg.org/#this 22772. https://html.spec.whatwg.org/#relevant-settings-object 22773. https://html.spec.whatwg.org/#concept-environment-top-level-origin 22774. https://webidl.spec.whatwg.org/#this 22775. https://html.spec.whatwg.org/#the-select-element 22776. https://webidl.spec.whatwg.org/#this 22777. https://html.spec.whatwg.org/#attr-input-type 22778. https://html.spec.whatwg.org/#file-upload-state-(type=file) 22779. https://html.spec.whatwg.org/#color-state-(type=color) 22780. https://webidl.spec.whatwg.org/#securityerror 22781. https://webidl.spec.whatwg.org/#dfn-DOMException 22782. https://html.spec.whatwg.org/#file-upload-state-(type=file) 22783. https://html.spec.whatwg.org/#color-state-(type=color) 22784. https://html.spec.whatwg.org/#input-activation-behavior 22785. https://webidl.spec.whatwg.org/#this 22786. https://html.spec.whatwg.org/#concept-relevant-global 22787. https://html.spec.whatwg.org/#transient-activation 22788. https://webidl.spec.whatwg.org/#notallowederror 22789. https://webidl.spec.whatwg.org/#dfn-DOMException 22790. https://webidl.spec.whatwg.org/#this 22791. https://html.spec.whatwg.org/#the-select-element 22792. https://webidl.spec.whatwg.org/#this 22793. https://html.spec.whatwg.org/#being-rendered 22794. https://webidl.spec.whatwg.org/#notsupportederror 22795. https://webidl.spec.whatwg.org/#dfn-DOMException 22796. https://html.spec.whatwg.org/#show-the-picker,-if-applicable 22797. https://webidl.spec.whatwg.org/#this 22798. https://html.spec.whatwg.org/#the-input-element 22799. https://html.spec.whatwg.org/#the-select-element 22800. https://html.spec.whatwg.org/#concept-relevant-global 22801. https://html.spec.whatwg.org/#transient-activation 22802. https://html.spec.whatwg.org/#concept-fe-mutable 22803. https://html.spec.whatwg.org/#consume-user-activation 22804. https://dom.spec.whatwg.org/#interface-element 22805. https://html.spec.whatwg.org/#concept-relevant-global 22806. https://html.spec.whatwg.org/#input-support-picker 22807. https://html.spec.whatwg.org/#the-input-element 22808. https://html.spec.whatwg.org/#attr-input-type 22809. https://html.spec.whatwg.org/#file-upload-state-(type=file) 22810. https://html.spec.whatwg.org/#in-parallel 22811. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-file-dialog-opened 22812. https://html.spec.whatwg.org/#attr-input-multiple 22813. https://html.spec.whatwg.org/#queue-an-element-task 22814. https://html.spec.whatwg.org/#user-interaction-task-source 22815. https://dom.spec.whatwg.org/#concept-event-fire 22816. https://html.spec.whatwg.org/#event-cancel 22817. https://dom.spec.whatwg.org/#dom-event-bubbles 22818. https://html.spec.whatwg.org/#update-the-file-selection 22819. https://w3c.github.io/uievents/#event-type-input 22820. https://html.spec.whatwg.org/#event-change 22821. https://html.spec.whatwg.org/#event-cancel 22822. https://html.spec.whatwg.org/#attr-input-type 22823. https://html.spec.whatwg.org/#concept-fe-value 22824. https://w3c.github.io/uievents/#event-type-input 22825. https://html.spec.whatwg.org/#event-change 22826. https://html.spec.whatwg.org/#event-cancel 22827. https://w3c.github.io/uievents/#event-type-input 22828. https://html.spec.whatwg.org/#event-change 22829. https://html.spec.whatwg.org/#concept-input-apply 22830. https://html.spec.whatwg.org/#the-input-element 22831. https://html.spec.whatwg.org/#concept-button 22832. https://html.spec.whatwg.org/#attr-input-type 22833. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 22834. https://w3c.github.io/uievents/#event-type-input 22835. https://html.spec.whatwg.org/#event-change 22836. https://html.spec.whatwg.org/#unfocus-causes-change-event 22837. https://w3c.github.io/uievents/#event-type-input 22838. https://html.spec.whatwg.org/#event-change 22839. https://html.spec.whatwg.org/#the-input-element 22840. https://html.spec.whatwg.org/#input-activation-behavior 22841. https://html.spec.whatwg.org/#concept-input-apply 22842. https://html.spec.whatwg.org/#attr-input-type 22843. https://html.spec.whatwg.org/#the-input-element 22844. https://html.spec.whatwg.org/#attr-input-type 22845. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 22846. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 22847. https://html.spec.whatwg.org/#file-upload-state-(type=file) 22848. https://html.spec.whatwg.org/#the-input-element 22849. https://html.spec.whatwg.org/#input-activation-behavior 22850. https://html.spec.whatwg.org/#concept-input-apply 22851. https://html.spec.whatwg.org/#concept-fe-value 22852. https://html.spec.whatwg.org/#queue-an-element-task 22853. https://html.spec.whatwg.org/#user-interaction-task-source 22854. https://html.spec.whatwg.org/#the-input-element 22855. https://dom.spec.whatwg.org/#concept-event-fire 22856. https://w3c.github.io/uievents/#event-type-input 22857. https://html.spec.whatwg.org/#the-input-element 22858. https://dom.spec.whatwg.org/#dom-event-bubbles 22859. https://dom.spec.whatwg.org/#dom-event-composed 22860. https://html.spec.whatwg.org/#queue-an-element-task 22861. https://html.spec.whatwg.org/#user-interaction-task-source 22862. https://html.spec.whatwg.org/#the-input-element 22863. https://html.spec.whatwg.org/#user-validity 22864. https://dom.spec.whatwg.org/#concept-event-fire 22865. https://html.spec.whatwg.org/#event-change 22866. https://html.spec.whatwg.org/#the-input-element 22867. https://dom.spec.whatwg.org/#dom-event-bubbles 22868. https://html.spec.whatwg.org/#range-state-(type=range) 22869. https://w3c.github.io/uievents/#event-type-input 22870. https://html.spec.whatwg.org/#event-change 22871. https://html.spec.whatwg.org/#the-input-element 22872. https://html.spec.whatwg.org/#input-activation-behavior 22873. https://html.spec.whatwg.org/#concept-input-apply 22874. https://html.spec.whatwg.org/#concept-fe-value 22875. https://html.spec.whatwg.org/#queue-an-element-task 22876. https://html.spec.whatwg.org/#user-interaction-task-source 22877. https://html.spec.whatwg.org/#the-input-element 22878. https://dom.spec.whatwg.org/#concept-event-fire 22879. https://w3c.github.io/uievents/#event-type-input 22880. https://html.spec.whatwg.org/#the-input-element 22881. https://dom.spec.whatwg.org/#dom-event-bubbles 22882. https://dom.spec.whatwg.org/#dom-event-composed 22883. https://dom.spec.whatwg.org/#concept-event-fire 22884. https://html.spec.whatwg.org/#event-change 22885. https://html.spec.whatwg.org/#the-input-element 22886. https://dom.spec.whatwg.org/#dom-event-bubbles 22887. https://html.spec.whatwg.org/#color-state-(type=color) 22888. https://html.spec.whatwg.org/#concept-fe-value 22889. https://html.spec.whatwg.org/#date-state-(type=date) 22890. https://html.spec.whatwg.org/#the-input-element 22891. https://html.spec.whatwg.org/#input-activation-behavior 22892. https://html.spec.whatwg.org/#concept-input-apply 22893. https://html.spec.whatwg.org/#concept-fe-value 22894. https://html.spec.whatwg.org/#queue-an-element-task 22895. https://html.spec.whatwg.org/#user-interaction-task-source 22896. https://html.spec.whatwg.org/#the-input-element 22897. https://dom.spec.whatwg.org/#concept-event-fire 22898. https://w3c.github.io/uievents/#event-type-input 22899. https://html.spec.whatwg.org/#the-input-element 22900. https://dom.spec.whatwg.org/#dom-event-bubbles 22901. https://dom.spec.whatwg.org/#dom-event-composed 22902. https://html.spec.whatwg.org/#event-change 22903. https://html.spec.whatwg.org/#unfocus-causes-change-event 22904. https://html.spec.whatwg.org/#concept-fe-value 22905. https://html.spec.whatwg.org/#range-state-(type=range) 22906. https://html.spec.whatwg.org/#focused 22907. https://html.spec.whatwg.org/#concept-fe-value 22908. https://html.spec.whatwg.org/#concept-task 22909. https://w3c.github.io/uievents/#event-type-input 22910. https://html.spec.whatwg.org/#queue-an-element-task 22911. https://html.spec.whatwg.org/#the-input-element 22912. https://html.spec.whatwg.org/#concept-fe-value 22913. https://html.spec.whatwg.org/#queue-an-element-task 22914. https://html.spec.whatwg.org/#user-interaction-task-source 22915. https://html.spec.whatwg.org/#the-input-element 22916. https://html.spec.whatwg.org/#concept-fe-value 22917. https://dom.spec.whatwg.org/#concept-event-fire 22918. https://w3c.github.io/uievents/#event-type-input 22919. https://html.spec.whatwg.org/#the-input-element 22920. https://dom.spec.whatwg.org/#dom-event-bubbles 22921. https://dom.spec.whatwg.org/#dom-event-composed 22922. https://dom.spec.whatwg.org/#concept-event-fire 22923. https://html.spec.whatwg.org/#event-change 22924. https://html.spec.whatwg.org/#the-input-element 22925. https://dom.spec.whatwg.org/#dom-event-bubbles 22926. https://html.spec.whatwg.org/#restore-persisted-state 22927. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button 22928. https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement 22929. https://html.spec.whatwg.org/#concept-element-categories 22930. https://html.spec.whatwg.org/#flow-content-2 22931. https://html.spec.whatwg.org/#phrasing-content-2 22932. https://html.spec.whatwg.org/#interactive-content-2 22933. https://html.spec.whatwg.org/#category-listed 22934. https://html.spec.whatwg.org/#category-label 22935. https://html.spec.whatwg.org/#category-submit 22936. https://html.spec.whatwg.org/#category-autocapitalize 22937. https://html.spec.whatwg.org/#form-associated-element 22938. https://html.spec.whatwg.org/#palpable-content-2 22939. https://html.spec.whatwg.org/#concept-element-contexts 22940. https://html.spec.whatwg.org/#phrasing-content-2 22941. https://html.spec.whatwg.org/#concept-element-content-model 22942. https://html.spec.whatwg.org/#phrasing-content-2 22943. https://html.spec.whatwg.org/#interactive-content-2 22944. https://html.spec.whatwg.org/#attr-tabindex 22945. https://html.spec.whatwg.org/#concept-element-tag-omission 22946. https://html.spec.whatwg.org/#concept-element-attributes 22947. https://html.spec.whatwg.org/#global-attributes 22948. https://html.spec.whatwg.org/#attr-button-command 22949. https://html.spec.whatwg.org/#attr-button-commandfor 22950. https://html.spec.whatwg.org/#attr-fe-disabled 22951. https://html.spec.whatwg.org/#attr-fae-form 22952. https://html.spec.whatwg.org/#the-form-element 22953. https://html.spec.whatwg.org/#attr-fs-formaction 22954. https://url.spec.whatwg.org/#concept-url 22955. https://html.spec.whatwg.org/#form-submission-2 22956. https://html.spec.whatwg.org/#attr-fs-formenctype 22957. https://html.spec.whatwg.org/#entry-list 22958. https://html.spec.whatwg.org/#form-submission-2 22959. https://html.spec.whatwg.org/#attr-fs-formmethod 22960. https://html.spec.whatwg.org/#form-submission-2 22961. https://html.spec.whatwg.org/#attr-fs-formnovalidate 22962. https://html.spec.whatwg.org/#form-submission-2 22963. https://html.spec.whatwg.org/#attr-fs-formtarget 22964. https://html.spec.whatwg.org/#navigable 22965. https://html.spec.whatwg.org/#form-submission-2 22966. https://html.spec.whatwg.org/#attr-fe-name 22967. https://html.spec.whatwg.org/#form-submission-2 22968. https://html.spec.whatwg.org/#dom-form-elements 22969. https://html.spec.whatwg.org/#attr-popovertarget 22970. https://html.spec.whatwg.org/#attr-popovertargetaction 22971. https://html.spec.whatwg.org/#attr-button-type 22972. https://html.spec.whatwg.org/#attr-button-value 22973. https://html.spec.whatwg.org/#form-submission-2 22974. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 22975. https://w3c.github.io/html-aria/#el-button 22976. https://w3c.github.io/html-aam/#el-button 22977. https://html.spec.whatwg.org/#concept-element-dom 22978. https://html.spec.whatwg.org/#htmlelement 22979. https://html.spec.whatwg.org/#htmlconstructor 22980. https://html.spec.whatwg.org/#cereactions 22981. https://html.spec.whatwg.org/#dom-button-command 22982. https://html.spec.whatwg.org/#cereactions 22983. https://html.spec.whatwg.org/#dom-button-commandforelement 22984. https://html.spec.whatwg.org/#cereactions 22985. https://html.spec.whatwg.org/#dom-fe-disabled 22986. https://html.spec.whatwg.org/#htmlformelement 22987. https://html.spec.whatwg.org/#dom-fae-form 22988. https://html.spec.whatwg.org/#cereactions 22989. https://html.spec.whatwg.org/#dom-fs-formaction 22990. https://html.spec.whatwg.org/#cereactions 22991. https://html.spec.whatwg.org/#dom-fs-formenctype 22992. https://html.spec.whatwg.org/#cereactions 22993. https://html.spec.whatwg.org/#dom-fs-formmethod 22994. https://html.spec.whatwg.org/#cereactions 22995. https://html.spec.whatwg.org/#dom-fs-formnovalidate 22996. https://html.spec.whatwg.org/#cereactions 22997. https://html.spec.whatwg.org/#dom-fs-formtarget 22998. https://html.spec.whatwg.org/#cereactions 22999. https://html.spec.whatwg.org/#dom-fe-name 23000. https://html.spec.whatwg.org/#cereactions 23001. https://html.spec.whatwg.org/#dom-button-type 23002. https://html.spec.whatwg.org/#cereactions 23003. https://html.spec.whatwg.org/#dom-button-value 23004. https://html.spec.whatwg.org/#dom-cva-willvalidate 23005. https://html.spec.whatwg.org/#validitystate 23006. https://html.spec.whatwg.org/#dom-cva-validity 23007. https://html.spec.whatwg.org/#dom-cva-validationmessage 23008. https://html.spec.whatwg.org/#dom-cva-checkvalidity 23009. https://html.spec.whatwg.org/#dom-cva-reportvalidity 23010. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 23011. https://dom.spec.whatwg.org/#interface-nodelist 23012. https://html.spec.whatwg.org/#dom-lfe-labels 23013. https://html.spec.whatwg.org/#htmlbuttonelement 23014. https://html.spec.whatwg.org/#popoverinvokerelement 23015. https://html.spec.whatwg.org/#the-button-element 23016. https://html.spec.whatwg.org/#represents 23017. https://html.spec.whatwg.org/#concept-button 23018. https://html.spec.whatwg.org/#enumerated-attribute 23019. https://html.spec.whatwg.org/#missing-value-default 23020. https://html.spec.whatwg.org/#invalid-value-default 23021. https://html.spec.whatwg.org/#the-button-element 23022. https://html.spec.whatwg.org/#concept-submit-button 23023. https://html.spec.whatwg.org/#attr-button-type 23024. https://html.spec.whatwg.org/#attr-button-type-auto-state 23025. https://html.spec.whatwg.org/#attr-button-command 23026. https://html.spec.whatwg.org/#attr-button-commandfor 23027. https://html.spec.whatwg.org/#attr-button-type 23028. https://html.spec.whatwg.org/#attr-button-type-submit-state 23029. https://html.spec.whatwg.org/#concept-submit-button 23030. https://html.spec.whatwg.org/#barred-from-constraint-validation 23031. https://dom.spec.whatwg.org/#concept-id 23032. https://dom.spec.whatwg.org/#concept-tree 23033. https://html.spec.whatwg.org/#concept-button 23034. https://html.spec.whatwg.org/#attr-button-commandfor 23035. https://html.spec.whatwg.org/#enumerated-attribute 23036. https://html.spec.whatwg.org/#attr-popover 23037. https://html.spec.whatwg.org/#attr-popover 23038. https://html.spec.whatwg.org/#attr-popover 23039. https://html.spec.whatwg.org/#the-dialog-element 23040. https://html.spec.whatwg.org/#the-dialog-element 23041. https://html.spec.whatwg.org/#attr-button-command-custom 23042. https://html.spec.whatwg.org/#event-command 23043. https://html.spec.whatwg.org/#missing-value-default 23044. https://html.spec.whatwg.org/#invalid-value-default 23045. https://infra.spec.whatwg.org/#string-starts-with 23046. https://html.spec.whatwg.org/#the-button-element 23047. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 23048. https://html.spec.whatwg.org/#concept-fe-disabled 23049. https://dom.spec.whatwg.org/#concept-node-document 23050. https://html.spec.whatwg.org/#fully-active 23051. https://html.spec.whatwg.org/#form-owner 23052. https://html.spec.whatwg.org/#concept-submit-button 23053. https://html.spec.whatwg.org/#concept-form-submit 23054. https://html.spec.whatwg.org/#form-owner 23055. https://html.spec.whatwg.org/#submit-user-involvement 23056. https://html.spec.whatwg.org/#event-uni 23057. https://html.spec.whatwg.org/#attr-button-type 23058. https://html.spec.whatwg.org/#attr-button-type-reset-state 23059. https://html.spec.whatwg.org/#concept-form-reset 23060. https://html.spec.whatwg.org/#form-owner 23061. https://html.spec.whatwg.org/#attr-button-type 23062. https://html.spec.whatwg.org/#attr-button-type-auto-state 23063. https://html.spec.whatwg.org/#attr-associated-element 23064. https://html.spec.whatwg.org/#attr-button-command 23065. https://html.spec.whatwg.org/#attr-button-command-unknown-state 23066. https://html.spec.whatwg.org/#attr-popover 23067. https://html.spec.whatwg.org/#attr-popover-none-state 23068. https://html.spec.whatwg.org/#attr-button-command-custom-state 23069. https://infra.spec.whatwg.org/#assert 23070. https://dom.spec.whatwg.org/#concept-element-namespace 23071. https://infra.spec.whatwg.org/#html-namespace 23072. https://html.spec.whatwg.org/#is-valid-invoker-command-steps 23073. https://dom.spec.whatwg.org/#concept-element-local-name 23074. https://html.spec.whatwg.org/#is-valid-invoker-command-steps 23075. https://dom.spec.whatwg.org/#concept-event-fire 23076. https://html.spec.whatwg.org/#event-command 23077. https://html.spec.whatwg.org/#commandevent 23078. https://html.spec.whatwg.org/#dom-commandevent-command 23079. https://html.spec.whatwg.org/#dom-commandevent-source 23080. https://dom.spec.whatwg.org/#dom-event-cancelable 23081. https://dom.spec.whatwg.org/#dom-event-composed 23082. https://github.com/whatwg/dom/issues/1328 23083. https://dom.spec.whatwg.org/#connected 23084. https://html.spec.whatwg.org/#attr-button-command-custom-state 23085. https://html.spec.whatwg.org/#attr-button-command-hide-popover-state 23086. https://html.spec.whatwg.org/#check-popover-validity 23087. https://html.spec.whatwg.org/#hide-popover-algorithm 23088. https://html.spec.whatwg.org/#attr-button-command-toggle-popover-state 23089. https://html.spec.whatwg.org/#check-popover-validity 23090. https://html.spec.whatwg.org/#show-popover 23091. https://html.spec.whatwg.org/#check-popover-validity 23092. https://html.spec.whatwg.org/#hide-popover-algorithm 23093. https://html.spec.whatwg.org/#attr-button-command-show-popover-state 23094. https://html.spec.whatwg.org/#check-popover-validity 23095. https://html.spec.whatwg.org/#show-popover 23096. https://html.spec.whatwg.org/#invoker-command-steps 23097. https://dom.spec.whatwg.org/#concept-element-local-name 23098. https://html.spec.whatwg.org/#invoker-command-steps 23099. https://html.spec.whatwg.org/#popover-target-attribute-activation-behavior 23100. https://dom.spec.whatwg.org/#concept-event-target 23101. https://html.spec.whatwg.org/#html-elements 23102. https://dom.spec.whatwg.org/#concept-element-local-name 23103. https://html.spec.whatwg.org/#attr-fae-form 23104. https://html.spec.whatwg.org/#the-button-element 23105. https://html.spec.whatwg.org/#form-owner 23106. https://html.spec.whatwg.org/#attr-fe-name 23107. https://html.spec.whatwg.org/#attr-fe-disabled 23108. https://html.spec.whatwg.org/#attr-fs-formaction 23109. https://html.spec.whatwg.org/#attr-fs-formenctype 23110. https://html.spec.whatwg.org/#attr-fs-formmethod 23111. https://html.spec.whatwg.org/#attr-fs-formnovalidate 23112. https://html.spec.whatwg.org/#attr-fs-formtarget 23113. https://html.spec.whatwg.org/#attributes-for-form-submission 23114. https://html.spec.whatwg.org/#attr-fs-formnovalidate 23115. https://html.spec.whatwg.org/#attr-fs-formaction 23116. https://html.spec.whatwg.org/#attr-fs-formenctype 23117. https://html.spec.whatwg.org/#attr-fs-formmethod 23118. https://html.spec.whatwg.org/#attr-fs-formnovalidate 23119. https://html.spec.whatwg.org/#attr-fs-formtarget 23120. https://html.spec.whatwg.org/#concept-submit-button 23121. https://html.spec.whatwg.org/#reflect 23122. https://html.spec.whatwg.org/#attr-button-commandfor 23123. https://webidl.spec.whatwg.org/#this 23124. https://html.spec.whatwg.org/#attr-button-command 23125. https://html.spec.whatwg.org/#attr-button-command-custom-state 23126. https://html.spec.whatwg.org/#attr-button-command-unknown-state 23127. https://html.spec.whatwg.org/#dom-button-command 23128. https://html.spec.whatwg.org/#attr-button-command 23129. https://html.spec.whatwg.org/#concept-fe-value 23130. https://html.spec.whatwg.org/#attr-button-value 23131. https://html.spec.whatwg.org/#reflect 23132. https://html.spec.whatwg.org/#concept-submit-button 23133. https://webidl.spec.whatwg.org/#this 23134. https://html.spec.whatwg.org/#attr-button-type 23135. https://infra.spec.whatwg.org/#assert 23136. https://html.spec.whatwg.org/#attr-button-type-submit-state 23137. https://html.spec.whatwg.org/#attr-button-type-auto-state 23138. https://html.spec.whatwg.org/#dom-button-type 23139. https://html.spec.whatwg.org/#attr-button-type 23140. https://html.spec.whatwg.org/#dom-cva-willvalidate 23141. https://html.spec.whatwg.org/#dom-cva-validity 23142. https://html.spec.whatwg.org/#dom-cva-validationmessage 23143. https://html.spec.whatwg.org/#dom-cva-checkvalidity 23144. https://html.spec.whatwg.org/#dom-cva-reportvalidity 23145. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 23146. https://html.spec.whatwg.org/#the-constraint-validation-api 23147. https://html.spec.whatwg.org/#dom-lfe-labels 23148. https://html.spec.whatwg.org/#the-label-element 23149. https://html.spec.whatwg.org/#dom-fe-disabled 23150. https://html.spec.whatwg.org/#dom-fae-form 23151. https://html.spec.whatwg.org/#dom-fe-name 23152. https://html.spec.whatwg.org/#concept-button 23153. https://html.spec.whatwg.org/#attr-button-commandfor 23154. https://html.spec.whatwg.org/#attr-popover 23155. https://html.spec.whatwg.org/#attr-button-commandfor 23156. https://html.spec.whatwg.org/#attr-button-command-custom 23157. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select 23158. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement 23159. https://html.spec.whatwg.org/#concept-element-categories 23160. https://html.spec.whatwg.org/#flow-content-2 23161. https://html.spec.whatwg.org/#phrasing-content-2 23162. https://html.spec.whatwg.org/#interactive-content-2 23163. https://html.spec.whatwg.org/#category-listed 23164. https://html.spec.whatwg.org/#category-label 23165. https://html.spec.whatwg.org/#category-submit 23166. https://html.spec.whatwg.org/#category-reset 23167. https://html.spec.whatwg.org/#category-autocapitalize 23168. https://html.spec.whatwg.org/#form-associated-element 23169. https://html.spec.whatwg.org/#palpable-content-2 23170. https://html.spec.whatwg.org/#concept-element-contexts 23171. https://html.spec.whatwg.org/#phrasing-content-2 23172. https://html.spec.whatwg.org/#concept-element-content-model 23173. https://html.spec.whatwg.org/#the-option-element 23174. https://html.spec.whatwg.org/#the-optgroup-element 23175. https://html.spec.whatwg.org/#the-hr-element 23176. https://html.spec.whatwg.org/#script-supporting-elements-2 23177. https://html.spec.whatwg.org/#concept-element-tag-omission 23178. https://html.spec.whatwg.org/#concept-element-attributes 23179. https://html.spec.whatwg.org/#global-attributes 23180. https://html.spec.whatwg.org/#attr-fe-autocomplete 23181. https://html.spec.whatwg.org/#attr-fe-disabled 23182. https://html.spec.whatwg.org/#attr-fae-form 23183. https://html.spec.whatwg.org/#the-form-element 23184. https://html.spec.whatwg.org/#attr-select-multiple 23185. https://html.spec.whatwg.org/#attr-fe-name 23186. https://html.spec.whatwg.org/#form-submission-2 23187. https://html.spec.whatwg.org/#dom-form-elements 23188. https://html.spec.whatwg.org/#attr-select-required 23189. https://html.spec.whatwg.org/#form-submission-2 23190. https://html.spec.whatwg.org/#attr-select-size 23191. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 23192. https://html.spec.whatwg.org/#attr-select-multiple 23193. https://html.spec.whatwg.org/#attr-select-size 23194. https://w3c.github.io/html-aria/#el-select-multiple-or-size-greater-1 23195. https://w3c.github.io/html-aam/#el-select-listbox 23196. https://w3c.github.io/html-aria/#el-select 23197. https://w3c.github.io/html-aam/#el-select-combobox 23198. https://html.spec.whatwg.org/#concept-element-dom 23199. https://html.spec.whatwg.org/#htmlelement 23200. https://html.spec.whatwg.org/#htmlconstructor 23201. https://html.spec.whatwg.org/#cereactions 23202. https://html.spec.whatwg.org/#dom-fe-autocomplete 23203. https://html.spec.whatwg.org/#cereactions 23204. https://html.spec.whatwg.org/#dom-fe-disabled 23205. https://html.spec.whatwg.org/#htmlformelement 23206. https://html.spec.whatwg.org/#dom-fae-form 23207. https://html.spec.whatwg.org/#cereactions 23208. https://html.spec.whatwg.org/#dom-select-multiple 23209. https://html.spec.whatwg.org/#cereactions 23210. https://html.spec.whatwg.org/#dom-fe-name 23211. https://html.spec.whatwg.org/#cereactions 23212. https://html.spec.whatwg.org/#dom-select-required 23213. https://html.spec.whatwg.org/#cereactions 23214. https://html.spec.whatwg.org/#dom-select-size 23215. https://html.spec.whatwg.org/#dom-select-type 23216. https://html.spec.whatwg.org/#htmloptionscollection 23217. https://html.spec.whatwg.org/#dom-select-options 23218. https://html.spec.whatwg.org/#cereactions 23219. https://html.spec.whatwg.org/#dom-select-length 23220. https://html.spec.whatwg.org/#htmloptionelement 23221. https://html.spec.whatwg.org/#dom-select-item 23222. https://html.spec.whatwg.org/#htmloptionelement 23223. https://html.spec.whatwg.org/#dom-select-nameditem 23224. https://html.spec.whatwg.org/#cereactions 23225. https://html.spec.whatwg.org/#dom-select-add 23226. https://html.spec.whatwg.org/#htmloptionelement 23227. https://html.spec.whatwg.org/#htmloptgroupelement 23228. https://html.spec.whatwg.org/#htmlelement 23229. https://html.spec.whatwg.org/#cereactions 23230. https://html.spec.whatwg.org/#dom-select-remove 23231. https://html.spec.whatwg.org/#cereactions 23232. https://html.spec.whatwg.org/#dom-select-remove 23233. https://html.spec.whatwg.org/#cereactions 23234. https://html.spec.whatwg.org/#dom-select-setter 23235. https://html.spec.whatwg.org/#htmloptionelement 23236. https://dom.spec.whatwg.org/#interface-htmlcollection 23237. https://html.spec.whatwg.org/#dom-select-selectedoptions 23238. https://html.spec.whatwg.org/#dom-select-selectedindex 23239. https://html.spec.whatwg.org/#dom-select-value 23240. https://html.spec.whatwg.org/#dom-cva-willvalidate 23241. https://html.spec.whatwg.org/#validitystate 23242. https://html.spec.whatwg.org/#dom-cva-validity 23243. https://html.spec.whatwg.org/#dom-cva-validationmessage 23244. https://html.spec.whatwg.org/#dom-cva-checkvalidity 23245. https://html.spec.whatwg.org/#dom-cva-reportvalidity 23246. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 23247. https://html.spec.whatwg.org/#dom-select-showpicker 23248. https://dom.spec.whatwg.org/#interface-nodelist 23249. https://html.spec.whatwg.org/#dom-lfe-labels 23250. https://html.spec.whatwg.org/#the-select-element 23251. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/multiple 23252. https://html.spec.whatwg.org/#boolean-attribute 23253. https://html.spec.whatwg.org/#the-select-element 23254. https://html.spec.whatwg.org/#represents 23255. https://html.spec.whatwg.org/#concept-select-option-list 23256. https://html.spec.whatwg.org/#the-select-element 23257. https://html.spec.whatwg.org/#represents 23258. https://html.spec.whatwg.org/#concept-select-option-list 23259. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/size 23260. https://html.spec.whatwg.org/#attr-select-size 23261. https://html.spec.whatwg.org/#valid-non-negative-integer 23262. https://html.spec.whatwg.org/#the-select-element 23263. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 23264. https://html.spec.whatwg.org/#attr-select-size 23265. https://html.spec.whatwg.org/#attr-select-size 23266. https://html.spec.whatwg.org/#concept-select-size 23267. https://html.spec.whatwg.org/#attr-select-multiple 23268. https://html.spec.whatwg.org/#the-select-element 23269. https://html.spec.whatwg.org/#the-option-element 23270. https://html.spec.whatwg.org/#the-select-element 23271. https://html.spec.whatwg.org/#the-option-element 23272. https://html.spec.whatwg.org/#the-optgroup-element 23273. https://html.spec.whatwg.org/#the-select-element 23274. https://dom.spec.whatwg.org/#concept-tree-order 23275. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/required 23276. https://html.spec.whatwg.org/#boolean-attribute 23277. https://html.spec.whatwg.org/#the-select-element 23278. https://html.spec.whatwg.org/#attr-select-required 23279. https://html.spec.whatwg.org/#attr-select-multiple 23280. https://html.spec.whatwg.org/#concept-select-size 23281. https://html.spec.whatwg.org/#concept-option-value 23282. https://html.spec.whatwg.org/#the-option-element 23283. https://html.spec.whatwg.org/#the-select-element 23284. https://html.spec.whatwg.org/#concept-select-option-list 23285. https://html.spec.whatwg.org/#the-option-element 23286. https://html.spec.whatwg.org/#the-select-element 23287. https://html.spec.whatwg.org/#the-optgroup-element 23288. https://html.spec.whatwg.org/#the-option-element 23289. https://html.spec.whatwg.org/#the-select-element 23290. https://html.spec.whatwg.org/#the-select-element 23291. https://html.spec.whatwg.org/#attr-select-required 23292. https://html.spec.whatwg.org/#attr-select-multiple 23293. https://html.spec.whatwg.org/#concept-select-size 23294. https://html.spec.whatwg.org/#the-select-element 23295. https://html.spec.whatwg.org/#placeholder-label-option 23296. https://html.spec.whatwg.org/#the-select-element 23297. https://html.spec.whatwg.org/#attr-select-size 23298. https://html.spec.whatwg.org/#attr-select-required 23299. https://html.spec.whatwg.org/#the-option-element 23300. https://html.spec.whatwg.org/#the-select-element 23301. https://html.spec.whatwg.org/#concept-select-option-list 23302. https://html.spec.whatwg.org/#concept-option-selectedness 23303. https://html.spec.whatwg.org/#the-option-element 23304. https://html.spec.whatwg.org/#the-select-element 23305. https://html.spec.whatwg.org/#concept-select-option-list 23306. https://html.spec.whatwg.org/#concept-option-selectedness 23307. https://html.spec.whatwg.org/#placeholder-label-option 23308. https://html.spec.whatwg.org/#suffering-from-being-missing 23309. https://html.spec.whatwg.org/#attr-select-multiple 23310. https://html.spec.whatwg.org/#concept-fe-disabled 23311. https://html.spec.whatwg.org/#the-option-element 23312. https://html.spec.whatwg.org/#concept-select-option-list 23313. https://html.spec.whatwg.org/#concept-option-disabled 23314. https://html.spec.whatwg.org/#the-option-element 23315. https://html.spec.whatwg.org/#using-the-option-element-to-define-a-command 23316. https://w3c.github.io/uievents/#event-type-click 23317. https://html.spec.whatwg.org/#concept-option-selectedness 23318. https://html.spec.whatwg.org/#the-option-element 23319. https://html.spec.whatwg.org/#concept-option-dirtiness 23320. https://html.spec.whatwg.org/#send-select-update-notifications 23321. https://html.spec.whatwg.org/#attr-select-multiple 23322. https://html.spec.whatwg.org/#the-option-element 23323. https://html.spec.whatwg.org/#the-select-element 23324. https://html.spec.whatwg.org/#concept-select-option-list 23325. https://html.spec.whatwg.org/#concept-option-selectedness 23326. https://html.spec.whatwg.org/#the-option-element 23327. https://html.spec.whatwg.org/#concept-option-selectedness 23328. https://html.spec.whatwg.org/#the-select-element 23329. https://html.spec.whatwg.org/#concept-select-option-list 23330. https://html.spec.whatwg.org/#concept-option-selectedness 23331. https://html.spec.whatwg.org/#the-option-element 23332. https://html.spec.whatwg.org/#concept-select-option-list 23333. https://html.spec.whatwg.org/#attr-select-multiple 23334. https://html.spec.whatwg.org/#concept-select-size 23335. https://html.spec.whatwg.org/#the-option-element 23336. https://html.spec.whatwg.org/#concept-option-selectedness 23337. https://w3c.github.io/uievents/#event-type-click 23338. https://html.spec.whatwg.org/#concept-option-selectedness 23339. https://html.spec.whatwg.org/#the-option-element 23340. https://html.spec.whatwg.org/#concept-option-dirtiness 23341. https://html.spec.whatwg.org/#send-select-update-notifications 23342. https://html.spec.whatwg.org/#the-select-element 23343. https://html.spec.whatwg.org/#attr-select-multiple 23344. https://html.spec.whatwg.org/#concept-select-size 23345. https://html.spec.whatwg.org/#the-option-element 23346. https://html.spec.whatwg.org/#concept-select-option-list 23347. https://html.spec.whatwg.org/#concept-option-selectedness 23348. https://html.spec.whatwg.org/#concept-option-selectedness 23349. https://html.spec.whatwg.org/#the-option-element 23350. https://html.spec.whatwg.org/#concept-select-option-list 23351. https://dom.spec.whatwg.org/#concept-tree-order 23352. https://html.spec.whatwg.org/#concept-option-disabled 23353. https://html.spec.whatwg.org/#attr-select-multiple 23354. https://html.spec.whatwg.org/#the-option-element 23355. https://html.spec.whatwg.org/#concept-select-option-list 23356. https://html.spec.whatwg.org/#concept-option-selectedness 23357. https://html.spec.whatwg.org/#concept-option-selectedness 23358. https://html.spec.whatwg.org/#the-option-element 23359. https://html.spec.whatwg.org/#concept-option-selectedness 23360. https://html.spec.whatwg.org/#concept-select-option-list 23361. https://dom.spec.whatwg.org/#concept-tree-order 23362. https://html.spec.whatwg.org/#the-option-element 23363. https://html.spec.whatwg.org/#html-element-insertion-steps 23364. https://html.spec.whatwg.org/#the-select-element 23365. https://html.spec.whatwg.org/#the-optgroup-element 23366. https://html.spec.whatwg.org/#the-select-element 23367. https://html.spec.whatwg.org/#the-select-element 23368. https://html.spec.whatwg.org/#selectedness-setting-algorithm 23369. https://html.spec.whatwg.org/#the-option-element 23370. https://html.spec.whatwg.org/#html-element-removing-steps 23371. https://html.spec.whatwg.org/#the-select-element 23372. https://html.spec.whatwg.org/#the-optgroup-element 23373. https://html.spec.whatwg.org/#the-select-element 23374. https://html.spec.whatwg.org/#the-select-element 23375. https://html.spec.whatwg.org/#selectedness-setting-algorithm 23376. https://html.spec.whatwg.org/#the-option-element 23377. https://html.spec.whatwg.org/#html-element-moving-steps 23378. https://html.spec.whatwg.org/#the-option-element 23379. https://html.spec.whatwg.org/#html-element-removing-steps 23380. https://html.spec.whatwg.org/#the-option-element 23381. https://html.spec.whatwg.org/#html-element-insertion-steps 23382. https://html.spec.whatwg.org/#the-optgroup-element 23383. https://html.spec.whatwg.org/#html-element-removing-steps 23384. https://html.spec.whatwg.org/#the-select-element 23385. https://html.spec.whatwg.org/#the-option-element 23386. https://html.spec.whatwg.org/#selectedness-setting-algorithm 23387. https://html.spec.whatwg.org/#the-optgroup-element 23388. https://html.spec.whatwg.org/#html-element-moving-steps 23389. https://html.spec.whatwg.org/#the-optgroup-element 23390. https://html.spec.whatwg.org/#html-element-removing-steps 23391. https://html.spec.whatwg.org/#the-option-element 23392. https://html.spec.whatwg.org/#concept-select-option-list 23393. https://html.spec.whatwg.org/#the-select-element 23394. https://html.spec.whatwg.org/#selectedness-setting-algorithm 23395. https://html.spec.whatwg.org/#attr-select-multiple 23396. https://html.spec.whatwg.org/#concept-fe-disabled 23397. https://html.spec.whatwg.org/#concept-option-selectedness 23398. https://html.spec.whatwg.org/#the-option-element 23399. https://html.spec.whatwg.org/#concept-select-option-list 23400. https://html.spec.whatwg.org/#concept-option-disabled 23401. https://html.spec.whatwg.org/#concept-select-toggle 23402. https://html.spec.whatwg.org/#using-the-option-element-to-define-a-command 23403. https://w3c.github.io/uievents/#event-type-click 23404. https://html.spec.whatwg.org/#concept-option-selectedness 23405. https://html.spec.whatwg.org/#the-option-element 23406. https://html.spec.whatwg.org/#concept-option-dirtiness 23407. https://html.spec.whatwg.org/#send-select-update-notifications 23408. https://html.spec.whatwg.org/#queue-an-element-task 23409. https://html.spec.whatwg.org/#user-interaction-task-source 23410. https://html.spec.whatwg.org/#the-select-element 23411. https://html.spec.whatwg.org/#the-select-element 23412. https://html.spec.whatwg.org/#user-validity 23413. https://dom.spec.whatwg.org/#concept-event-fire 23414. https://w3c.github.io/uievents/#event-type-input 23415. https://html.spec.whatwg.org/#the-select-element 23416. https://dom.spec.whatwg.org/#dom-event-bubbles 23417. https://dom.spec.whatwg.org/#dom-event-composed 23418. https://dom.spec.whatwg.org/#concept-event-fire 23419. https://html.spec.whatwg.org/#event-change 23420. https://html.spec.whatwg.org/#the-select-element 23421. https://dom.spec.whatwg.org/#dom-event-bubbles 23422. https://html.spec.whatwg.org/#concept-form-reset-control 23423. https://html.spec.whatwg.org/#the-select-element 23424. https://html.spec.whatwg.org/#user-validity 23425. https://infra.spec.whatwg.org/#list-iterate 23426. https://html.spec.whatwg.org/#concept-select-option-list 23427. https://html.spec.whatwg.org/#attr-option-selected 23428. https://html.spec.whatwg.org/#concept-option-selectedness 23429. https://html.spec.whatwg.org/#concept-option-dirtiness 23430. https://html.spec.whatwg.org/#selectedness-setting-algorithm 23431. https://html.spec.whatwg.org/#attr-fae-form 23432. https://html.spec.whatwg.org/#the-select-element 23433. https://html.spec.whatwg.org/#form-owner 23434. https://html.spec.whatwg.org/#attr-fe-name 23435. https://html.spec.whatwg.org/#attr-fe-disabled 23436. https://html.spec.whatwg.org/#attr-fe-autocomplete 23437. https://html.spec.whatwg.org/#the-select-element 23438. https://html.spec.whatwg.org/#concept-fe-disabled 23439. https://html.spec.whatwg.org/#concept-fe-mutable 23440. https://html.spec.whatwg.org/#dom-select-type 23441. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/type 23442. https://html.spec.whatwg.org/#attr-select-multiple 23443. https://html.spec.whatwg.org/#dom-select-options 23444. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/options 23445. https://html.spec.whatwg.org/#htmloptionscollection 23446. https://html.spec.whatwg.org/#concept-select-option-list 23447. https://html.spec.whatwg.org/#dom-select-length 23448. https://html.spec.whatwg.org/#concept-select-option-list 23449. https://html.spec.whatwg.org/#the-option-element 23450. https://html.spec.whatwg.org/#the-select-element 23451. https://html.spec.whatwg.org/#the-option-element 23452. https://html.spec.whatwg.org/#the-select-element 23453. https://html.spec.whatwg.org/#dom-select-item 23454. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/item 23455. https://html.spec.whatwg.org/#concept-select-option-list 23456. https://dom.spec.whatwg.org/#concept-tree-order 23457. https://html.spec.whatwg.org/#dom-select-nameditem 23458. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/namedItem 23459. https://dom.spec.whatwg.org/#concept-id 23460. https://html.spec.whatwg.org/#attr-option-name 23461. https://html.spec.whatwg.org/#concept-select-option-list 23462. https://dom.spec.whatwg.org/#concept-id 23463. https://html.spec.whatwg.org/#dom-select-add 23464. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/add 23465. https://html.spec.whatwg.org/#concept-select-option-list 23466. https://webidl.spec.whatwg.org/#hierarchyrequesterror 23467. https://webidl.spec.whatwg.org/#dfn-DOMException 23468. https://html.spec.whatwg.org/#dom-select-selectedoptions 23469. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/selectedOptions 23470. https://dom.spec.whatwg.org/#interface-htmlcollection 23471. https://html.spec.whatwg.org/#concept-select-option-list 23472. https://html.spec.whatwg.org/#dom-select-selectedindex 23473. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/selectedIndex 23474. https://html.spec.whatwg.org/#dom-select-value 23475. https://html.spec.whatwg.org/#concept-option-value 23476. https://html.spec.whatwg.org/#dom-select-showpicker 23477. https://webidl.spec.whatwg.org/#invalidstateerror 23478. https://webidl.spec.whatwg.org/#dfn-DOMException 23479. https://html.spec.whatwg.org/#concept-fe-mutable 23480. https://webidl.spec.whatwg.org/#notallowederror 23481. https://webidl.spec.whatwg.org/#dfn-DOMException 23482. https://html.spec.whatwg.org/#transient-activation 23483. https://webidl.spec.whatwg.org/#securityerror 23484. https://webidl.spec.whatwg.org/#dfn-DOMException 23485. https://html.spec.whatwg.org/#the-iframe-element 23486. https://webidl.spec.whatwg.org/#notsupportederror 23487. https://webidl.spec.whatwg.org/#dfn-DOMException 23488. https://html.spec.whatwg.org/#being-rendered 23489. https://html.spec.whatwg.org/#attr-select-multiple 23490. https://html.spec.whatwg.org/#attr-select-multiple 23491. https://html.spec.whatwg.org/#htmloptionscollection 23492. https://html.spec.whatwg.org/#the-select-element 23493. https://html.spec.whatwg.org/#concept-select-option-list 23494. https://html.spec.whatwg.org/#dom-select-options 23495. https://html.spec.whatwg.org/#htmlselectelement 23496. https://webidl.spec.whatwg.org/#dfn-supported-property-indices 23497. https://html.spec.whatwg.org/#dom-select-options 23498. https://dom.spec.whatwg.org/#represented-by-the-collection 23499. https://html.spec.whatwg.org/#dom-select-options 23500. https://html.spec.whatwg.org/#dom-select-options 23501. https://dom.spec.whatwg.org/#dom-htmlcollection-item 23502. https://html.spec.whatwg.org/#dom-select-options 23503. https://dom.spec.whatwg.org/#dom-htmlcollection-nameditem 23504. https://html.spec.whatwg.org/#dom-select-options 23505. https://webidl.spec.whatwg.org/#dfn-set-the-value-of-a-new-indexed-property 23506. https://webidl.spec.whatwg.org/#dfn-set-the-value-of-an-existing-indexed-property 23507. https://html.spec.whatwg.org/#the-select-element 23508. https://html.spec.whatwg.org/#dom-htmloptionscollection-setter 23509. https://html.spec.whatwg.org/#the-select-element 23510. https://html.spec.whatwg.org/#dom-select-options 23511. https://html.spec.whatwg.org/#dom-select-options 23512. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/remove 23513. https://html.spec.whatwg.org/#dom-select-options 23514. https://dom.spec.whatwg.org/#interface-childnode 23515. https://html.spec.whatwg.org/#htmlselectelement 23516. https://dom.spec.whatwg.org/#interface-element 23517. https://dom.spec.whatwg.org/#interface-htmlcollection 23518. https://html.spec.whatwg.org/#the-select-element 23519. https://html.spec.whatwg.org/#concept-select-option-list 23520. https://html.spec.whatwg.org/#concept-option-selectedness 23521. https://html.spec.whatwg.org/#concept-option-index 23522. https://html.spec.whatwg.org/#the-option-element 23523. https://html.spec.whatwg.org/#concept-select-option-list 23524. https://dom.spec.whatwg.org/#concept-tree-order 23525. https://html.spec.whatwg.org/#concept-option-selectedness 23526. https://html.spec.whatwg.org/#dom-select-selectedindex 23527. https://html.spec.whatwg.org/#concept-option-selectedness 23528. https://html.spec.whatwg.org/#the-option-element 23529. https://html.spec.whatwg.org/#concept-select-option-list 23530. https://html.spec.whatwg.org/#the-option-element 23531. https://html.spec.whatwg.org/#concept-select-option-list 23532. https://html.spec.whatwg.org/#concept-option-index 23533. https://html.spec.whatwg.org/#concept-option-selectedness 23534. https://html.spec.whatwg.org/#concept-option-dirtiness 23535. https://html.spec.whatwg.org/#concept-option-selectedness 23536. https://html.spec.whatwg.org/#the-select-element 23537. https://html.spec.whatwg.org/#attr-select-multiple 23538. https://html.spec.whatwg.org/#concept-select-size 23539. https://html.spec.whatwg.org/#concept-option-value 23540. https://html.spec.whatwg.org/#the-option-element 23541. https://html.spec.whatwg.org/#concept-select-option-list 23542. https://dom.spec.whatwg.org/#concept-tree-order 23543. https://html.spec.whatwg.org/#concept-option-selectedness 23544. https://html.spec.whatwg.org/#dom-select-value 23545. https://html.spec.whatwg.org/#concept-option-selectedness 23546. https://html.spec.whatwg.org/#the-option-element 23547. https://html.spec.whatwg.org/#concept-select-option-list 23548. https://html.spec.whatwg.org/#the-option-element 23549. https://html.spec.whatwg.org/#concept-select-option-list 23550. https://dom.spec.whatwg.org/#concept-tree-order 23551. https://html.spec.whatwg.org/#concept-option-value 23552. https://html.spec.whatwg.org/#concept-option-selectedness 23553. https://html.spec.whatwg.org/#concept-option-dirtiness 23554. https://html.spec.whatwg.org/#concept-option-selectedness 23555. https://html.spec.whatwg.org/#the-select-element 23556. https://html.spec.whatwg.org/#attr-select-multiple 23557. https://html.spec.whatwg.org/#concept-select-size 23558. https://html.spec.whatwg.org/#reflect 23559. https://html.spec.whatwg.org/#dom-select-size 23560. https://html.spec.whatwg.org/#default-value 23561. https://html.spec.whatwg.org/#dom-select-size 23562. https://html.spec.whatwg.org/#attr-select-size 23563. https://html.spec.whatwg.org/#attr-select-multiple 23564. https://html.spec.whatwg.org/#dom-cva-willvalidate 23565. https://html.spec.whatwg.org/#dom-cva-validity 23566. https://html.spec.whatwg.org/#dom-cva-validationmessage 23567. https://html.spec.whatwg.org/#dom-cva-checkvalidity 23568. https://html.spec.whatwg.org/#dom-cva-reportvalidity 23569. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 23570. https://html.spec.whatwg.org/#the-constraint-validation-api 23571. https://html.spec.whatwg.org/#dom-lfe-labels 23572. https://html.spec.whatwg.org/#the-label-element 23573. https://html.spec.whatwg.org/#dom-fe-disabled 23574. https://html.spec.whatwg.org/#dom-fae-form 23575. https://html.spec.whatwg.org/#dom-fe-name 23576. https://html.spec.whatwg.org/#the-select-element 23577. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist 23578. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDataListElement 23579. https://html.spec.whatwg.org/#concept-element-categories 23580. https://html.spec.whatwg.org/#flow-content-2 23581. https://html.spec.whatwg.org/#phrasing-content-2 23582. https://html.spec.whatwg.org/#concept-element-contexts 23583. https://html.spec.whatwg.org/#phrasing-content-2 23584. https://html.spec.whatwg.org/#concept-element-content-model 23585. https://html.spec.whatwg.org/#phrasing-content-2 23586. https://html.spec.whatwg.org/#the-option-element 23587. https://html.spec.whatwg.org/#script-supporting-elements-2 23588. https://html.spec.whatwg.org/#concept-element-tag-omission 23589. https://html.spec.whatwg.org/#concept-element-attributes 23590. https://html.spec.whatwg.org/#global-attributes 23591. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 23592. https://w3c.github.io/html-aria/#el-datalist 23593. https://w3c.github.io/html-aam/#el-datalist 23594. https://html.spec.whatwg.org/#concept-element-dom 23595. https://html.spec.whatwg.org/#htmlelement 23596. https://html.spec.whatwg.org/#htmlconstructor 23597. https://dom.spec.whatwg.org/#interface-htmlcollection 23598. https://html.spec.whatwg.org/#dom-datalist-options 23599. https://html.spec.whatwg.org/#the-datalist-element 23600. https://html.spec.whatwg.org/#the-option-element 23601. https://html.spec.whatwg.org/#the-datalist-element 23602. https://html.spec.whatwg.org/#represents 23603. https://html.spec.whatwg.org/#the-datalist-element 23604. https://html.spec.whatwg.org/#the-datalist-element 23605. https://html.spec.whatwg.org/#the-option-element 23606. https://html.spec.whatwg.org/#the-datalist-element 23607. https://html.spec.whatwg.org/#the-datalist-element 23608. https://html.spec.whatwg.org/#the-option-element 23609. https://html.spec.whatwg.org/#the-select-element 23610. https://html.spec.whatwg.org/#the-datalist-element 23611. https://html.spec.whatwg.org/#the-datalist-element 23612. https://html.spec.whatwg.org/#the-input-element 23613. https://html.spec.whatwg.org/#attr-input-list 23614. https://html.spec.whatwg.org/#the-input-element 23615. https://html.spec.whatwg.org/#the-option-element 23616. https://html.spec.whatwg.org/#the-datalist-element 23617. https://html.spec.whatwg.org/#concept-option-disabled 23618. https://html.spec.whatwg.org/#concept-option-value 23619. https://html.spec.whatwg.org/#concept-option-value 23620. https://html.spec.whatwg.org/#concept-option-label 23621. https://html.spec.whatwg.org/#dom-datalist-options 23622. https://dom.spec.whatwg.org/#interface-htmlcollection 23623. https://html.spec.whatwg.org/#the-option-element 23624. https://html.spec.whatwg.org/#the-datalist-element 23625. https://dom.spec.whatwg.org/#interface-htmlcollection 23626. https://html.spec.whatwg.org/#the-datalist-element 23627. https://html.spec.whatwg.org/#the-option-element 23628. https://html.spec.whatwg.org/#the-datalist-element 23629. https://html.spec.whatwg.org/#barred-from-constraint-validation 23630. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/optgroup 23631. https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptGroupElement 23632. https://html.spec.whatwg.org/#concept-element-categories 23633. https://html.spec.whatwg.org/#concept-element-contexts 23634. https://html.spec.whatwg.org/#the-select-element 23635. https://html.spec.whatwg.org/#concept-element-content-model 23636. https://html.spec.whatwg.org/#the-option-element 23637. https://html.spec.whatwg.org/#script-supporting-elements-2 23638. https://html.spec.whatwg.org/#concept-element-tag-omission 23639. https://html.spec.whatwg.org/#the-optgroup-element 23640. https://html.spec.whatwg.org/#syntax-end-tag 23641. https://html.spec.whatwg.org/#the-optgroup-element 23642. https://html.spec.whatwg.org/#the-optgroup-element 23643. https://html.spec.whatwg.org/#the-hr-element 23644. https://html.spec.whatwg.org/#concept-element-attributes 23645. https://html.spec.whatwg.org/#global-attributes 23646. https://html.spec.whatwg.org/#attr-optgroup-disabled 23647. https://html.spec.whatwg.org/#attr-optgroup-label 23648. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 23649. https://w3c.github.io/html-aria/#el-optgroup 23650. https://w3c.github.io/html-aam/#el-optgroup 23651. https://html.spec.whatwg.org/#concept-element-dom 23652. https://html.spec.whatwg.org/#htmlelement 23653. https://html.spec.whatwg.org/#htmlconstructor 23654. https://html.spec.whatwg.org/#cereactions 23655. https://html.spec.whatwg.org/#dom-optgroup-disabled 23656. https://html.spec.whatwg.org/#cereactions 23657. https://html.spec.whatwg.org/#dom-optgroup-label 23658. https://html.spec.whatwg.org/#the-optgroup-element 23659. https://html.spec.whatwg.org/#represents 23660. https://html.spec.whatwg.org/#the-option-element 23661. https://html.spec.whatwg.org/#the-option-element 23662. https://html.spec.whatwg.org/#the-option-element 23663. https://html.spec.whatwg.org/#the-optgroup-element 23664. https://html.spec.whatwg.org/#the-option-element 23665. https://html.spec.whatwg.org/#the-select-element 23666. https://html.spec.whatwg.org/#the-option-element 23667. https://html.spec.whatwg.org/#the-option-element 23668. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled 23669. https://html.spec.whatwg.org/#boolean-attribute 23670. https://html.spec.whatwg.org/#concept-option-disabled 23671. https://html.spec.whatwg.org/#the-option-element 23672. https://html.spec.whatwg.org/#the-option-element 23673. https://html.spec.whatwg.org/#the-select-element 23674. https://html.spec.whatwg.org/#reflect 23675. https://html.spec.whatwg.org/#the-optgroup-element 23676. https://html.spec.whatwg.org/#the-option-element 23677. https://html.spec.whatwg.org/#the-optgroup-element 23678. https://html.spec.whatwg.org/#the-option-element 23679. https://html.spec.whatwg.org/#the-select-element 23680. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option 23681. https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionElement 23682. https://html.spec.whatwg.org/#concept-element-categories 23683. https://html.spec.whatwg.org/#concept-element-contexts 23684. https://html.spec.whatwg.org/#the-select-element 23685. https://html.spec.whatwg.org/#the-datalist-element 23686. https://html.spec.whatwg.org/#the-optgroup-element 23687. https://html.spec.whatwg.org/#concept-element-content-model 23688. https://html.spec.whatwg.org/#attr-option-label 23689. https://html.spec.whatwg.org/#attr-option-value 23690. https://html.spec.whatwg.org/#concept-content-nothing 23691. https://html.spec.whatwg.org/#attr-option-label 23692. https://html.spec.whatwg.org/#attr-option-value 23693. https://html.spec.whatwg.org/#text-content 23694. https://html.spec.whatwg.org/#attr-option-label 23695. https://html.spec.whatwg.org/#the-datalist-element 23696. https://html.spec.whatwg.org/#text-content 23697. https://html.spec.whatwg.org/#inter-element-whitespace 23698. https://html.spec.whatwg.org/#attr-option-label 23699. https://html.spec.whatwg.org/#the-datalist-element 23700. https://html.spec.whatwg.org/#text-content 23701. https://html.spec.whatwg.org/#concept-element-tag-omission 23702. https://html.spec.whatwg.org/#the-option-element 23703. https://html.spec.whatwg.org/#syntax-end-tag 23704. https://html.spec.whatwg.org/#the-option-element 23705. https://html.spec.whatwg.org/#the-option-element 23706. https://html.spec.whatwg.org/#the-optgroup-element 23707. https://html.spec.whatwg.org/#the-hr-element 23708. https://html.spec.whatwg.org/#concept-element-attributes 23709. https://html.spec.whatwg.org/#global-attributes 23710. https://html.spec.whatwg.org/#attr-option-disabled 23711. https://html.spec.whatwg.org/#attr-option-label 23712. https://html.spec.whatwg.org/#attr-option-selected 23713. https://html.spec.whatwg.org/#attr-option-value 23714. https://html.spec.whatwg.org/#form-submission-2 23715. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 23716. https://w3c.github.io/html-aria/#el-option 23717. https://w3c.github.io/html-aam/#el-option 23718. https://html.spec.whatwg.org/#concept-element-dom 23719. https://webidl.spec.whatwg.org/#LegacyFactoryFunction 23720. https://html.spec.whatwg.org/#dom-option 23721. https://html.spec.whatwg.org/#htmlelement 23722. https://html.spec.whatwg.org/#htmlconstructor 23723. https://html.spec.whatwg.org/#cereactions 23724. https://html.spec.whatwg.org/#dom-option-disabled 23725. https://html.spec.whatwg.org/#htmlformelement 23726. https://html.spec.whatwg.org/#dom-option-form 23727. https://html.spec.whatwg.org/#cereactions 23728. https://html.spec.whatwg.org/#dom-option-label 23729. https://html.spec.whatwg.org/#cereactions 23730. https://html.spec.whatwg.org/#dom-option-defaultselected 23731. https://html.spec.whatwg.org/#dom-option-selected 23732. https://html.spec.whatwg.org/#cereactions 23733. https://html.spec.whatwg.org/#dom-option-value 23734. https://html.spec.whatwg.org/#cereactions 23735. https://html.spec.whatwg.org/#dom-option-text 23736. https://html.spec.whatwg.org/#dom-option-index 23737. https://html.spec.whatwg.org/#the-option-element 23738. https://html.spec.whatwg.org/#represents 23739. https://html.spec.whatwg.org/#the-select-element 23740. https://html.spec.whatwg.org/#the-datalist-element 23741. https://html.spec.whatwg.org/#the-select-element 23742. https://html.spec.whatwg.org/#the-option-element 23743. https://html.spec.whatwg.org/#the-select-element 23744. https://html.spec.whatwg.org/#placeholder-label-option 23745. https://html.spec.whatwg.org/#placeholder-label-option 23746. https://html.spec.whatwg.org/#the-select-element 23747. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled 23748. https://html.spec.whatwg.org/#boolean-attribute 23749. https://html.spec.whatwg.org/#the-option-element 23750. https://html.spec.whatwg.org/#attr-option-disabled 23751. https://html.spec.whatwg.org/#the-optgroup-element 23752. https://html.spec.whatwg.org/#attr-optgroup-disabled 23753. https://html.spec.whatwg.org/#the-option-element 23754. https://html.spec.whatwg.org/#attr-option-disabled 23755. https://w3c.github.io/uievents/#event-type-click 23756. https://html.spec.whatwg.org/#queue-a-task 23757. https://html.spec.whatwg.org/#user-interaction-task-source 23758. https://html.spec.whatwg.org/#the-option-element 23759. https://html.spec.whatwg.org/#attr-option-label 23760. https://html.spec.whatwg.org/#dom-option-text 23761. https://html.spec.whatwg.org/#attr-option-label 23762. https://html.spec.whatwg.org/#the-option-element 23763. https://html.spec.whatwg.org/#attr-option-value 23764. https://html.spec.whatwg.org/#dom-option-text 23765. https://html.spec.whatwg.org/#boolean-attribute 23766. https://html.spec.whatwg.org/#concept-option-selectedness 23767. https://html.spec.whatwg.org/#the-option-element 23768. https://html.spec.whatwg.org/#attr-option-selected 23769. https://html.spec.whatwg.org/#the-option-element 23770. https://html.spec.whatwg.org/#concept-option-selectedness 23771. https://html.spec.whatwg.org/#attr-option-selected 23772. https://html.spec.whatwg.org/#the-option-element 23773. https://html.spec.whatwg.org/#attr-option-selected 23774. https://html.spec.whatwg.org/#concept-option-dirtiness 23775. https://html.spec.whatwg.org/#concept-option-selectedness 23776. https://html.spec.whatwg.org/#the-option-element 23777. https://html.spec.whatwg.org/#attr-option-selected 23778. https://html.spec.whatwg.org/#concept-option-dirtiness 23779. https://html.spec.whatwg.org/#concept-option-selectedness 23780. https://html.spec.whatwg.org/#dom-option 23781. https://html.spec.whatwg.org/#concept-option-selectedness 23782. https://html.spec.whatwg.org/#attr-option-selected 23783. https://html.spec.whatwg.org/#concept-option-selectedness 23784. https://html.spec.whatwg.org/#the-select-element 23785. https://html.spec.whatwg.org/#attr-select-multiple 23786. https://html.spec.whatwg.org/#the-option-element 23787. https://html.spec.whatwg.org/#attr-option-selected 23788. https://html.spec.whatwg.org/#the-option-element 23789. https://html.spec.whatwg.org/#the-option-element 23790. https://html.spec.whatwg.org/#concept-select-option-list 23791. https://dom.spec.whatwg.org/#concept-tree-order 23792. https://html.spec.whatwg.org/#the-option-element 23793. https://html.spec.whatwg.org/#concept-select-option-list 23794. https://html.spec.whatwg.org/#the-option-element 23795. https://html.spec.whatwg.org/#concept-option-index 23796. https://html.spec.whatwg.org/#dom-option-selected 23797. https://html.spec.whatwg.org/#dom-option-index 23798. https://html.spec.whatwg.org/#the-select-element 23799. https://html.spec.whatwg.org/#dom-select-options 23800. https://html.spec.whatwg.org/#dom-option-form 23801. https://html.spec.whatwg.org/#the-form-element 23802. https://html.spec.whatwg.org/#dom-option-text 23803. https://dom.spec.whatwg.org/#dom-node-textcontent 23804. https://html.spec.whatwg.org/#the-script-element 23805. https://html.spec.whatwg.org/#dom-option 23806. https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionElement/Option 23807. https://html.spec.whatwg.org/#the-option-element 23808. https://html.spec.whatwg.org/#attr-option-value 23809. https://html.spec.whatwg.org/#attr-option-selected 23810. https://html.spec.whatwg.org/#reflect 23811. https://html.spec.whatwg.org/#reflect 23812. https://html.spec.whatwg.org/#attr-option-selected 23813. https://html.spec.whatwg.org/#attr-option-label 23814. https://html.spec.whatwg.org/#concept-option-label 23815. https://html.spec.whatwg.org/#attr-option-label 23816. https://html.spec.whatwg.org/#concept-option-value 23817. https://html.spec.whatwg.org/#attr-option-value 23818. https://html.spec.whatwg.org/#concept-option-selectedness 23819. https://html.spec.whatwg.org/#concept-option-selectedness 23820. https://html.spec.whatwg.org/#concept-option-dirtiness 23821. https://html.spec.whatwg.org/#ask-for-a-reset 23822. https://html.spec.whatwg.org/#concept-option-index 23823. https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace 23824. https://dom.spec.whatwg.org/#concept-cd-data 23825. https://dom.spec.whatwg.org/#interface-text 23826. https://html.spec.whatwg.org/#the-option-element 23827. https://dom.spec.whatwg.org/#concept-tree-order 23828. https://html.spec.whatwg.org/#the-option-element 23829. https://html.spec.whatwg.org/#the-script-element 23830. https://svgwg.org/svg2-draft/interact.html#ScriptElement 23831. https://html.spec.whatwg.org/#dom-option-text 23832. https://dom.spec.whatwg.org/#string-replace-all 23833. https://html.spec.whatwg.org/#the-option-element 23834. https://html.spec.whatwg.org/#the-select-element 23835. https://html.spec.whatwg.org/#the-option-element 23836. https://html.spec.whatwg.org/#the-select-element 23837. https://html.spec.whatwg.org/#the-optgroup-element 23838. https://html.spec.whatwg.org/#the-optgroup-element 23839. https://html.spec.whatwg.org/#the-select-element 23840. https://html.spec.whatwg.org/#dom-option-form 23841. https://html.spec.whatwg.org/#dom-fae-form 23842. https://html.spec.whatwg.org/#the-select-element 23843. https://html.spec.whatwg.org/#htmloptionelement 23844. https://dom.spec.whatwg.org/#dom-document-createelement 23845. https://html.spec.whatwg.org/#current-global-object 23846. https://html.spec.whatwg.org/#concept-document-window 23847. https://dom.spec.whatwg.org/#concept-create-element 23848. https://infra.spec.whatwg.org/#html-namespace 23849. https://dom.spec.whatwg.org/#interface-text 23850. https://dom.spec.whatwg.org/#concept-element-attributes-set-value 23851. https://html.spec.whatwg.org/#attr-option-value 23852. https://dom.spec.whatwg.org/#concept-element-attributes-set-value 23853. https://html.spec.whatwg.org/#attr-option-selected 23854. https://html.spec.whatwg.org/#concept-option-selectedness 23855. https://html.spec.whatwg.org/#concept-option-selectedness 23856. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea 23857. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement 23858. https://html.spec.whatwg.org/#concept-element-categories 23859. https://html.spec.whatwg.org/#flow-content-2 23860. https://html.spec.whatwg.org/#phrasing-content-2 23861. https://html.spec.whatwg.org/#interactive-content-2 23862. https://html.spec.whatwg.org/#category-listed 23863. https://html.spec.whatwg.org/#category-label 23864. https://html.spec.whatwg.org/#category-submit 23865. https://html.spec.whatwg.org/#category-reset 23866. https://html.spec.whatwg.org/#category-autocapitalize 23867. https://html.spec.whatwg.org/#form-associated-element 23868. https://html.spec.whatwg.org/#palpable-content-2 23869. https://html.spec.whatwg.org/#concept-element-contexts 23870. https://html.spec.whatwg.org/#phrasing-content-2 23871. https://html.spec.whatwg.org/#concept-element-content-model 23872. https://html.spec.whatwg.org/#text-content 23873. https://html.spec.whatwg.org/#concept-element-tag-omission 23874. https://html.spec.whatwg.org/#concept-element-attributes 23875. https://html.spec.whatwg.org/#global-attributes 23876. https://html.spec.whatwg.org/#attr-fe-autocomplete 23877. https://html.spec.whatwg.org/#attr-textarea-cols 23878. https://html.spec.whatwg.org/#attr-fe-dirname 23879. https://html.spec.whatwg.org/#the-directionality 23880. https://html.spec.whatwg.org/#form-submission-2 23881. https://html.spec.whatwg.org/#attr-fe-disabled 23882. https://html.spec.whatwg.org/#attr-fae-form 23883. https://html.spec.whatwg.org/#the-form-element 23884. https://html.spec.whatwg.org/#attr-textarea-maxlength 23885. https://infra.spec.whatwg.org/#string-length 23886. https://html.spec.whatwg.org/#attr-textarea-minlength 23887. https://infra.spec.whatwg.org/#string-length 23888. https://html.spec.whatwg.org/#attr-fe-name 23889. https://html.spec.whatwg.org/#form-submission-2 23890. https://html.spec.whatwg.org/#dom-form-elements 23891. https://html.spec.whatwg.org/#attr-textarea-placeholder 23892. https://html.spec.whatwg.org/#attr-textarea-readonly 23893. https://html.spec.whatwg.org/#attr-textarea-required 23894. https://html.spec.whatwg.org/#form-submission-2 23895. https://html.spec.whatwg.org/#attr-textarea-rows 23896. https://html.spec.whatwg.org/#attr-textarea-wrap 23897. https://html.spec.whatwg.org/#form-submission-2 23898. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 23899. https://w3c.github.io/html-aria/#el-textarea 23900. https://w3c.github.io/html-aam/#el-textarea 23901. https://html.spec.whatwg.org/#concept-element-dom 23902. https://html.spec.whatwg.org/#htmlelement 23903. https://html.spec.whatwg.org/#htmlconstructor 23904. https://html.spec.whatwg.org/#cereactions 23905. https://html.spec.whatwg.org/#dom-fe-autocomplete 23906. https://html.spec.whatwg.org/#cereactions 23907. https://html.spec.whatwg.org/#dom-textarea-cols 23908. https://html.spec.whatwg.org/#cereactions 23909. https://html.spec.whatwg.org/#dom-textarea-dirname 23910. https://html.spec.whatwg.org/#cereactions 23911. https://html.spec.whatwg.org/#dom-fe-disabled 23912. https://html.spec.whatwg.org/#htmlformelement 23913. https://html.spec.whatwg.org/#dom-fae-form 23914. https://html.spec.whatwg.org/#cereactions 23915. https://html.spec.whatwg.org/#dom-textarea-maxlength 23916. https://html.spec.whatwg.org/#cereactions 23917. https://html.spec.whatwg.org/#dom-textarea-minlength 23918. https://html.spec.whatwg.org/#cereactions 23919. https://html.spec.whatwg.org/#dom-fe-name 23920. https://html.spec.whatwg.org/#cereactions 23921. https://html.spec.whatwg.org/#dom-textarea-placeholder 23922. https://html.spec.whatwg.org/#cereactions 23923. https://html.spec.whatwg.org/#dom-textarea-readonly 23924. https://html.spec.whatwg.org/#cereactions 23925. https://html.spec.whatwg.org/#dom-textarea-required 23926. https://html.spec.whatwg.org/#cereactions 23927. https://html.spec.whatwg.org/#dom-textarea-rows 23928. https://html.spec.whatwg.org/#cereactions 23929. https://html.spec.whatwg.org/#dom-textarea-wrap 23930. https://html.spec.whatwg.org/#dom-textarea-type 23931. https://html.spec.whatwg.org/#cereactions 23932. https://html.spec.whatwg.org/#dom-textarea-defaultvalue 23933. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 23934. https://html.spec.whatwg.org/#dom-textarea-value 23935. https://html.spec.whatwg.org/#dom-textarea-textlength 23936. https://html.spec.whatwg.org/#dom-cva-willvalidate 23937. https://html.spec.whatwg.org/#validitystate 23938. https://html.spec.whatwg.org/#dom-cva-validity 23939. https://html.spec.whatwg.org/#dom-cva-validationmessage 23940. https://html.spec.whatwg.org/#dom-cva-checkvalidity 23941. https://html.spec.whatwg.org/#dom-cva-reportvalidity 23942. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 23943. https://dom.spec.whatwg.org/#interface-nodelist 23944. https://html.spec.whatwg.org/#dom-lfe-labels 23945. https://html.spec.whatwg.org/#dom-textarea/input-select 23946. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 23947. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 23948. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 23949. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 23950. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 23951. https://html.spec.whatwg.org/#selectionmode 23952. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 23953. https://html.spec.whatwg.org/#the-textarea-element 23954. https://html.spec.whatwg.org/#represents 23955. https://html.spec.whatwg.org/#concept-textarea-raw-value 23956. https://html.spec.whatwg.org/#the-textarea-element 23957. https://html.spec.whatwg.org/#bidireq 23958. https://html.spec.whatwg.org/#boolean-attribute 23959. https://html.spec.whatwg.org/#attr-textarea-readonly 23960. https://html.spec.whatwg.org/#the-textarea-element 23961. https://html.spec.whatwg.org/#barred-from-constraint-validation 23962. https://html.spec.whatwg.org/#the-textarea-element 23963. https://html.spec.whatwg.org/#concept-fe-mutable 23964. https://html.spec.whatwg.org/#concept-fe-disabled 23965. https://html.spec.whatwg.org/#attr-textarea-readonly 23966. https://html.spec.whatwg.org/#the-textarea-element 23967. https://html.spec.whatwg.org/#concept-fe-mutable 23968. https://html.spec.whatwg.org/#concept-textarea-raw-value 23969. https://html.spec.whatwg.org/#concept-textarea-raw-value 23970. https://html.spec.whatwg.org/#queue-an-element-task 23971. https://html.spec.whatwg.org/#user-interaction-task-source 23972. https://html.spec.whatwg.org/#the-textarea-element 23973. https://dom.spec.whatwg.org/#concept-event-fire 23974. https://w3c.github.io/uievents/#event-type-input 23975. https://html.spec.whatwg.org/#the-textarea-element 23976. https://dom.spec.whatwg.org/#dom-event-bubbles 23977. https://dom.spec.whatwg.org/#dom-event-composed 23978. https://html.spec.whatwg.org/#the-textarea-element 23979. https://html.spec.whatwg.org/#concept-fe-dirty 23980. https://html.spec.whatwg.org/#concept-textarea-raw-value 23981. https://dom.spec.whatwg.org/#concept-node-clone-ext 23982. https://html.spec.whatwg.org/#the-textarea-element 23983. https://html.spec.whatwg.org/#concept-textarea-raw-value 23984. https://html.spec.whatwg.org/#concept-fe-dirty 23985. https://dom.spec.whatwg.org/#concept-node-children-changed-ext 23986. https://html.spec.whatwg.org/#the-textarea-element 23987. https://html.spec.whatwg.org/#concept-fe-dirty 23988. https://html.spec.whatwg.org/#concept-textarea-raw-value 23989. https://dom.spec.whatwg.org/#concept-child-text-content 23990. https://html.spec.whatwg.org/#concept-form-reset-control 23991. https://html.spec.whatwg.org/#the-textarea-element 23992. https://html.spec.whatwg.org/#user-validity 23993. https://html.spec.whatwg.org/#concept-fe-dirty 23994. https://html.spec.whatwg.org/#concept-textarea-raw-value 23995. https://dom.spec.whatwg.org/#concept-child-text-content 23996. https://html.spec.whatwg.org/#the-textarea-element 23997. https://html.spec.whatwg.org/#stack-of-open-elements 23998. https://html.spec.whatwg.org/#html-parser 23999. https://html.spec.whatwg.org/#xml-parser 24000. https://html.spec.whatwg.org/#concept-form-reset-control 24001. https://html.spec.whatwg.org/#concept-fe-mutable 24002. https://html.spec.whatwg.org/#attr-dir 24003. https://html.spec.whatwg.org/#attr-dir-ltr 24004. https://html.spec.whatwg.org/#attr-dir-rtl 24005. https://html.spec.whatwg.org/#queue-an-element-task 24006. https://html.spec.whatwg.org/#user-interaction-task-source 24007. https://html.spec.whatwg.org/#the-textarea-element 24008. https://dom.spec.whatwg.org/#concept-event-fire 24009. https://w3c.github.io/uievents/#event-type-input 24010. https://html.spec.whatwg.org/#the-textarea-element 24011. https://dom.spec.whatwg.org/#dom-event-bubbles 24012. https://dom.spec.whatwg.org/#dom-event-composed 24013. https://html.spec.whatwg.org/#attr-textarea-cols 24014. https://html.spec.whatwg.org/#valid-non-negative-integer 24015. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 24016. https://html.spec.whatwg.org/#the-textarea-element 24017. https://html.spec.whatwg.org/#attr-textarea-cols-value 24018. https://html.spec.whatwg.org/#attr-textarea-rows 24019. https://html.spec.whatwg.org/#valid-non-negative-integer 24020. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 24021. https://html.spec.whatwg.org/#attr-textarea-rows-value 24022. https://html.spec.whatwg.org/#enumerated-attribute 24023. https://html.spec.whatwg.org/#missing-value-default 24024. https://html.spec.whatwg.org/#invalid-value-default 24025. https://html.spec.whatwg.org/#attr-textarea-wrap-soft-state 24026. https://html.spec.whatwg.org/#attr-textarea-wrap 24027. https://html.spec.whatwg.org/#attr-textarea-wrap-hard-state 24028. https://html.spec.whatwg.org/#attr-textarea-cols 24029. https://html.spec.whatwg.org/#concept-textarea-raw-value 24030. https://html.spec.whatwg.org/#concept-fe-api-value 24031. https://html.spec.whatwg.org/#dom-textarea-value 24032. https://html.spec.whatwg.org/#dom-textarea-textlength 24033. https://html.spec.whatwg.org/#attr-fe-maxlength 24034. https://html.spec.whatwg.org/#attr-fe-minlength 24035. https://html.spec.whatwg.org/#concept-fe-value 24036. https://html.spec.whatwg.org/#concept-fe-api-value 24037. https://html.spec.whatwg.org/#attr-textarea-wrap 24038. https://html.spec.whatwg.org/#concept-fe-api-value 24039. https://html.spec.whatwg.org/#concept-textarea-raw-value 24040. https://infra.spec.whatwg.org/#normalize-newlines 24041. https://html.spec.whatwg.org/#concept-fe-value 24042. https://html.spec.whatwg.org/#concept-textarea-raw-value 24043. https://html.spec.whatwg.org/#textarea-wrapping-transformation 24044. https://html.spec.whatwg.org/#attr-textarea-wrap 24045. https://html.spec.whatwg.org/#attr-textarea-wrap-hard-state 24046. https://infra.spec.whatwg.org/#implementation-defined 24047. https://html.spec.whatwg.org/#attr-textarea-cols-value 24048. https://html.spec.whatwg.org/#attr-fe-maxlength 24049. https://html.spec.whatwg.org/#the-textarea-element 24050. https://html.spec.whatwg.org/#maximum-allowed-value-length 24051. https://infra.spec.whatwg.org/#string-length 24052. https://dom.spec.whatwg.org/#concept-descendant-text-content 24053. https://infra.spec.whatwg.org/#normalize-newlines 24054. https://html.spec.whatwg.org/#maximum-allowed-value-length 24055. https://html.spec.whatwg.org/#attr-fe-minlength 24056. https://html.spec.whatwg.org/#boolean-attribute 24057. https://html.spec.whatwg.org/#attr-textarea-required 24058. https://html.spec.whatwg.org/#concept-fe-mutable 24059. https://html.spec.whatwg.org/#concept-fe-value 24060. https://html.spec.whatwg.org/#suffering-from-being-missing 24061. https://html.spec.whatwg.org/#attr-textarea-placeholder 24062. https://html.spec.whatwg.org/#the-label-element 24063. https://html.spec.whatwg.org/#attr-title 24064. https://html.spec.whatwg.org/#the-label-element 24065. https://html.spec.whatwg.org/#attr-textarea-placeholder 24066. https://html.spec.whatwg.org/#attr-title 24067. https://html.spec.whatwg.org/#concept-fe-value 24068. https://html.spec.whatwg.org/#focused 24069. https://html.spec.whatwg.org/#focused 24070. https://html.spec.whatwg.org/#attr-fe-autofocus 24071. https://html.spec.whatwg.org/#attr-fe-name 24072. https://html.spec.whatwg.org/#attr-fe-dirname 24073. https://html.spec.whatwg.org/#the-directionality 24074. https://html.spec.whatwg.org/#attr-fe-disabled 24075. https://html.spec.whatwg.org/#attr-fae-form 24076. https://html.spec.whatwg.org/#the-textarea-element 24077. https://html.spec.whatwg.org/#form-owner 24078. https://html.spec.whatwg.org/#attr-fe-autocomplete 24079. https://html.spec.whatwg.org/#dom-textarea-type 24080. https://html.spec.whatwg.org/#dom-textarea-value 24081. https://html.spec.whatwg.org/#reflect 24082. https://html.spec.whatwg.org/#dom-textarea-cols 24083. https://html.spec.whatwg.org/#dom-textarea-rows 24084. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers-greater-than-zero-with-fallback 24085. https://html.spec.whatwg.org/#dom-textarea-cols 24086. https://html.spec.whatwg.org/#default-value 24087. https://html.spec.whatwg.org/#dom-textarea-rows 24088. https://html.spec.whatwg.org/#default-value 24089. https://html.spec.whatwg.org/#reflect 24090. https://html.spec.whatwg.org/#attr-fe-dirname 24091. https://html.spec.whatwg.org/#reflect 24092. https://html.spec.whatwg.org/#attr-textarea-maxlength 24093. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers 24094. https://html.spec.whatwg.org/#reflect 24095. https://html.spec.whatwg.org/#attr-textarea-minlength 24096. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers 24097. https://html.spec.whatwg.org/#reflect 24098. https://html.spec.whatwg.org/#attr-textarea-readonly 24099. https://dom.spec.whatwg.org/#concept-child-text-content 24100. https://html.spec.whatwg.org/#dom-textarea-defaultvalue 24101. https://dom.spec.whatwg.org/#string-replace-all 24102. https://html.spec.whatwg.org/#concept-fe-api-value 24103. https://html.spec.whatwg.org/#concept-fe-api-value 24104. https://html.spec.whatwg.org/#concept-textarea-raw-value 24105. https://html.spec.whatwg.org/#concept-fe-dirty 24106. https://html.spec.whatwg.org/#concept-fe-api-value 24107. https://html.spec.whatwg.org/#concept-textarea/input-cursor 24108. https://html.spec.whatwg.org/#set-the-selection-direction 24109. https://infra.spec.whatwg.org/#string-length 24110. https://html.spec.whatwg.org/#concept-fe-api-value 24111. https://html.spec.whatwg.org/#dom-cva-willvalidate 24112. https://html.spec.whatwg.org/#dom-cva-validity 24113. https://html.spec.whatwg.org/#dom-cva-validationmessage 24114. https://html.spec.whatwg.org/#dom-cva-checkvalidity 24115. https://html.spec.whatwg.org/#dom-cva-reportvalidity 24116. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 24117. https://html.spec.whatwg.org/#the-constraint-validation-api 24118. https://html.spec.whatwg.org/#dom-lfe-labels 24119. https://html.spec.whatwg.org/#the-label-element 24120. https://html.spec.whatwg.org/#dom-textarea/input-select 24121. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 24122. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 24123. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 24124. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 24125. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 24126. https://html.spec.whatwg.org/#dom-fe-disabled 24127. https://html.spec.whatwg.org/#dom-fae-form 24128. https://html.spec.whatwg.org/#dom-fe-name 24129. https://html.spec.whatwg.org/#the-textarea-element 24130. https://html.spec.whatwg.org/#attr-textarea-maxlength 24131. https://html.spec.whatwg.org/#the-directionality 24132. https://html.spec.whatwg.org/#attr-fe-dirname 24133. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/output 24134. https://developer.mozilla.org/en-US/docs/Web/API/HTMLOutputElement 24135. https://html.spec.whatwg.org/#concept-element-categories 24136. https://html.spec.whatwg.org/#flow-content-2 24137. https://html.spec.whatwg.org/#phrasing-content-2 24138. https://html.spec.whatwg.org/#category-listed 24139. https://html.spec.whatwg.org/#category-label 24140. https://html.spec.whatwg.org/#category-reset 24141. https://html.spec.whatwg.org/#category-autocapitalize 24142. https://html.spec.whatwg.org/#form-associated-element 24143. https://html.spec.whatwg.org/#palpable-content-2 24144. https://html.spec.whatwg.org/#concept-element-contexts 24145. https://html.spec.whatwg.org/#phrasing-content-2 24146. https://html.spec.whatwg.org/#concept-element-content-model 24147. https://html.spec.whatwg.org/#phrasing-content-2 24148. https://html.spec.whatwg.org/#concept-element-tag-omission 24149. https://html.spec.whatwg.org/#concept-element-attributes 24150. https://html.spec.whatwg.org/#global-attributes 24151. https://html.spec.whatwg.org/#attr-output-for 24152. https://html.spec.whatwg.org/#attr-fae-form 24153. https://html.spec.whatwg.org/#the-form-element 24154. https://html.spec.whatwg.org/#attr-fe-name 24155. https://html.spec.whatwg.org/#dom-form-elements 24156. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 24157. https://w3c.github.io/html-aria/#el-output 24158. https://w3c.github.io/html-aam/#el-output 24159. https://html.spec.whatwg.org/#concept-element-dom 24160. https://html.spec.whatwg.org/#htmlelement 24161. https://html.spec.whatwg.org/#htmlconstructor 24162. https://dom.spec.whatwg.org/#dom-domtokenlist-value 24163. https://dom.spec.whatwg.org/#interface-domtokenlist 24164. https://html.spec.whatwg.org/#dom-output-htmlfor 24165. https://html.spec.whatwg.org/#htmlformelement 24166. https://html.spec.whatwg.org/#dom-fae-form 24167. https://html.spec.whatwg.org/#cereactions 24168. https://html.spec.whatwg.org/#dom-fe-name 24169. https://html.spec.whatwg.org/#dom-output-type 24170. https://html.spec.whatwg.org/#cereactions 24171. https://html.spec.whatwg.org/#dom-output-defaultvalue 24172. https://html.spec.whatwg.org/#cereactions 24173. https://html.spec.whatwg.org/#dom-output-value 24174. https://html.spec.whatwg.org/#dom-cva-willvalidate 24175. https://html.spec.whatwg.org/#validitystate 24176. https://html.spec.whatwg.org/#dom-cva-validity 24177. https://html.spec.whatwg.org/#dom-cva-validationmessage 24178. https://html.spec.whatwg.org/#dom-cva-checkvalidity 24179. https://html.spec.whatwg.org/#dom-cva-reportvalidity 24180. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 24181. https://dom.spec.whatwg.org/#interface-nodelist 24182. https://html.spec.whatwg.org/#dom-lfe-labels 24183. https://html.spec.whatwg.org/#the-output-element 24184. https://html.spec.whatwg.org/#represents 24185. https://html.spec.whatwg.org/#the-samp-element 24186. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/for 24187. https://html.spec.whatwg.org/#attr-output-for 24188. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 24189. https://infra.spec.whatwg.org/#string-is 24190. https://dom.spec.whatwg.org/#concept-id 24191. https://dom.spec.whatwg.org/#concept-tree 24192. https://html.spec.whatwg.org/#attr-fae-form 24193. https://html.spec.whatwg.org/#the-output-element 24194. https://html.spec.whatwg.org/#form-owner 24195. https://html.spec.whatwg.org/#attr-fe-name 24196. https://html.spec.whatwg.org/#the-output-element 24197. https://html.spec.whatwg.org/#referenced 24198. https://html.spec.whatwg.org/#concept-output-default-value-override 24199. https://dom.spec.whatwg.org/#concept-descendant-text-content 24200. https://html.spec.whatwg.org/#concept-form-reset-control 24201. https://html.spec.whatwg.org/#the-output-element 24202. https://dom.spec.whatwg.org/#string-replace-all 24203. https://html.spec.whatwg.org/#concept-output-default-value 24204. https://html.spec.whatwg.org/#concept-output-default-value-override 24205. https://html.spec.whatwg.org/#dom-output-value 24206. https://html.spec.whatwg.org/#dom-output-defaultvalue 24207. https://html.spec.whatwg.org/#dom-output-type 24208. https://webidl.spec.whatwg.org/#this 24209. https://dom.spec.whatwg.org/#concept-descendant-text-content 24210. https://html.spec.whatwg.org/#dom-output-value 24211. https://webidl.spec.whatwg.org/#this 24212. https://html.spec.whatwg.org/#concept-output-default-value-override 24213. https://html.spec.whatwg.org/#concept-output-default-value 24214. https://dom.spec.whatwg.org/#string-replace-all 24215. https://webidl.spec.whatwg.org/#this 24216. https://webidl.spec.whatwg.org/#this 24217. https://html.spec.whatwg.org/#concept-output-default-value 24218. https://html.spec.whatwg.org/#dom-output-defaultvalue 24219. https://webidl.spec.whatwg.org/#this 24220. https://html.spec.whatwg.org/#concept-output-default-value-override 24221. https://dom.spec.whatwg.org/#string-replace-all 24222. https://webidl.spec.whatwg.org/#this 24223. https://webidl.spec.whatwg.org/#this 24224. https://html.spec.whatwg.org/#concept-output-default-value-override 24225. https://html.spec.whatwg.org/#reflect 24226. https://html.spec.whatwg.org/#attr-output-for 24227. https://html.spec.whatwg.org/#dom-cva-willvalidate 24228. https://html.spec.whatwg.org/#dom-cva-validity 24229. https://html.spec.whatwg.org/#dom-cva-validationmessage 24230. https://html.spec.whatwg.org/#dom-cva-checkvalidity 24231. https://html.spec.whatwg.org/#dom-cva-reportvalidity 24232. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 24233. https://html.spec.whatwg.org/#the-constraint-validation-api 24234. https://html.spec.whatwg.org/#dom-lfe-labels 24235. https://html.spec.whatwg.org/#the-label-element 24236. https://html.spec.whatwg.org/#dom-fae-form 24237. https://html.spec.whatwg.org/#dom-fe-name 24238. https://html.spec.whatwg.org/#the-output-element 24239. https://html.spec.whatwg.org/#the-output-element 24240. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress 24241. https://developer.mozilla.org/en-US/docs/Web/API/HTMLProgressElement 24242. https://html.spec.whatwg.org/#concept-element-categories 24243. https://html.spec.whatwg.org/#flow-content-2 24244. https://html.spec.whatwg.org/#phrasing-content-2 24245. https://html.spec.whatwg.org/#category-label 24246. https://html.spec.whatwg.org/#palpable-content-2 24247. https://html.spec.whatwg.org/#concept-element-contexts 24248. https://html.spec.whatwg.org/#phrasing-content-2 24249. https://html.spec.whatwg.org/#concept-element-content-model 24250. https://html.spec.whatwg.org/#phrasing-content-2 24251. https://html.spec.whatwg.org/#the-progress-element 24252. https://html.spec.whatwg.org/#concept-element-tag-omission 24253. https://html.spec.whatwg.org/#concept-element-attributes 24254. https://html.spec.whatwg.org/#global-attributes 24255. https://html.spec.whatwg.org/#attr-progress-value 24256. https://html.spec.whatwg.org/#attr-progress-max 24257. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 24258. https://w3c.github.io/html-aria/#el-progress 24259. https://w3c.github.io/html-aam/#el-progress 24260. https://html.spec.whatwg.org/#concept-element-dom 24261. https://html.spec.whatwg.org/#htmlelement 24262. https://html.spec.whatwg.org/#htmlconstructor 24263. https://html.spec.whatwg.org/#cereactions 24264. https://html.spec.whatwg.org/#dom-progress-value 24265. https://html.spec.whatwg.org/#cereactions 24266. https://html.spec.whatwg.org/#dom-progress-max 24267. https://html.spec.whatwg.org/#dom-progress-position 24268. https://dom.spec.whatwg.org/#interface-nodelist 24269. https://html.spec.whatwg.org/#dom-lfe-labels 24270. https://html.spec.whatwg.org/#the-progress-element 24271. https://html.spec.whatwg.org/#represents 24272. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/max 24273. https://html.spec.whatwg.org/#attr-progress-value 24274. https://html.spec.whatwg.org/#attr-progress-max 24275. https://html.spec.whatwg.org/#attr-progress-max 24276. https://html.spec.whatwg.org/#attr-progress-value 24277. https://html.spec.whatwg.org/#attr-progress-value 24278. https://html.spec.whatwg.org/#attr-progress-max 24279. https://html.spec.whatwg.org/#valid-floating-point-number 24280. https://html.spec.whatwg.org/#attr-progress-value 24281. https://html.spec.whatwg.org/#attr-progress-max 24282. https://html.spec.whatwg.org/#attr-progress-max 24283. https://html.spec.whatwg.org/#the-progress-element 24284. https://html.spec.whatwg.org/#the-progress-element 24285. https://html.spec.whatwg.org/#the-meter-element 24286. https://html.spec.whatwg.org/#attr-progress-value 24287. https://html.spec.whatwg.org/#attr-progress-max 24288. https://html.spec.whatwg.org/#attr-progress-max 24289. https://html.spec.whatwg.org/#rules-for-parsing-floating-point-number-values 24290. https://html.spec.whatwg.org/#attr-progress-max 24291. https://html.spec.whatwg.org/#concept-progress-maximum 24292. https://html.spec.whatwg.org/#attr-progress-value 24293. https://html.spec.whatwg.org/#rules-for-parsing-floating-point-number-values 24294. https://html.spec.whatwg.org/#attr-progress-value 24295. https://html.spec.whatwg.org/#concept-progress-value 24296. https://html.spec.whatwg.org/#concept-progress-maximum 24297. https://html.spec.whatwg.org/#concept-progress-value 24298. https://html.spec.whatwg.org/#concept-progress-maximum 24299. https://html.spec.whatwg.org/#concept-progress-value 24300. https://html.spec.whatwg.org/#the-progress-element 24301. https://html.spec.whatwg.org/#concept-progress-current-value 24302. https://html.spec.whatwg.org/#concept-progress-maximum 24303. https://html.spec.whatwg.org/#dom-progress-position 24304. https://html.spec.whatwg.org/#concept-progress-current-value 24305. https://html.spec.whatwg.org/#concept-progress-maximum 24306. https://html.spec.whatwg.org/#concept-progress-value 24307. https://html.spec.whatwg.org/#best-representation-of-the-number-as-a-floating-point-number 24308. https://html.spec.whatwg.org/#dom-progress-value 24309. https://html.spec.whatwg.org/#dom-progress-value 24310. https://html.spec.whatwg.org/#reflect 24311. https://html.spec.whatwg.org/#limited-to-only-non-negative-numbers-greater-than-zero 24312. https://html.spec.whatwg.org/#default-value 24313. https://html.spec.whatwg.org/#dom-progress-max 24314. https://html.spec.whatwg.org/#dom-lfe-labels 24315. https://html.spec.whatwg.org/#the-label-element 24316. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meter 24317. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMeterElement 24318. https://html.spec.whatwg.org/#concept-element-categories 24319. https://html.spec.whatwg.org/#flow-content-2 24320. https://html.spec.whatwg.org/#phrasing-content-2 24321. https://html.spec.whatwg.org/#category-label 24322. https://html.spec.whatwg.org/#palpable-content-2 24323. https://html.spec.whatwg.org/#concept-element-contexts 24324. https://html.spec.whatwg.org/#phrasing-content-2 24325. https://html.spec.whatwg.org/#concept-element-content-model 24326. https://html.spec.whatwg.org/#phrasing-content-2 24327. https://html.spec.whatwg.org/#the-meter-element 24328. https://html.spec.whatwg.org/#concept-element-tag-omission 24329. https://html.spec.whatwg.org/#concept-element-attributes 24330. https://html.spec.whatwg.org/#global-attributes 24331. https://html.spec.whatwg.org/#attr-meter-value 24332. https://html.spec.whatwg.org/#attr-meter-min 24333. https://html.spec.whatwg.org/#attr-meter-max 24334. https://html.spec.whatwg.org/#attr-meter-low 24335. https://html.spec.whatwg.org/#attr-meter-high 24336. https://html.spec.whatwg.org/#attr-meter-optimum 24337. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 24338. https://w3c.github.io/html-aria/#el-meter 24339. https://w3c.github.io/html-aam/#el-meter 24340. https://html.spec.whatwg.org/#concept-element-dom 24341. https://html.spec.whatwg.org/#htmlelement 24342. https://html.spec.whatwg.org/#htmlconstructor 24343. https://html.spec.whatwg.org/#cereactions 24344. https://html.spec.whatwg.org/#dom-meter-value 24345. https://html.spec.whatwg.org/#cereactions 24346. https://html.spec.whatwg.org/#dom-meter-min 24347. https://html.spec.whatwg.org/#cereactions 24348. https://html.spec.whatwg.org/#dom-meter-max 24349. https://html.spec.whatwg.org/#cereactions 24350. https://html.spec.whatwg.org/#dom-meter-low 24351. https://html.spec.whatwg.org/#cereactions 24352. https://html.spec.whatwg.org/#dom-meter-high 24353. https://html.spec.whatwg.org/#cereactions 24354. https://html.spec.whatwg.org/#dom-meter-optimum 24355. https://dom.spec.whatwg.org/#interface-nodelist 24356. https://html.spec.whatwg.org/#dom-lfe-labels 24357. https://html.spec.whatwg.org/#the-meter-element 24358. https://html.spec.whatwg.org/#represents 24359. https://html.spec.whatwg.org/#the-meter-element 24360. https://html.spec.whatwg.org/#the-progress-element 24361. https://html.spec.whatwg.org/#the-meter-element 24362. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/max 24363. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/min 24364. https://html.spec.whatwg.org/#attr-meter-value 24365. https://html.spec.whatwg.org/#attr-meter-value 24366. https://html.spec.whatwg.org/#attr-meter-min 24367. https://html.spec.whatwg.org/#attr-meter-low 24368. https://html.spec.whatwg.org/#attr-meter-high 24369. https://html.spec.whatwg.org/#attr-meter-max 24370. https://html.spec.whatwg.org/#attr-meter-optimum 24371. https://html.spec.whatwg.org/#valid-floating-point-number 24372. https://html.spec.whatwg.org/#attr-meter-value 24373. https://html.spec.whatwg.org/#attr-meter-min 24374. https://html.spec.whatwg.org/#attr-meter-max 24375. https://html.spec.whatwg.org/#attr-meter-low 24376. https://html.spec.whatwg.org/#attr-meter-low 24377. https://html.spec.whatwg.org/#attr-meter-high 24378. https://html.spec.whatwg.org/#attr-meter-high 24379. https://html.spec.whatwg.org/#attr-meter-optimum 24380. https://html.spec.whatwg.org/#attr-meter-optimum 24381. https://html.spec.whatwg.org/#attr-meter-low 24382. https://html.spec.whatwg.org/#attr-meter-high 24383. https://html.spec.whatwg.org/#attr-meter-low 24384. https://html.spec.whatwg.org/#attr-meter-high 24385. https://html.spec.whatwg.org/#the-meter-element 24386. https://html.spec.whatwg.org/#microdata 24387. https://html.spec.whatwg.org/#the-meter-element 24388. https://html.spec.whatwg.org/#attr-meter-value 24389. https://html.spec.whatwg.org/#the-meter-element 24390. https://html.spec.whatwg.org/#attr-title 24391. https://html.spec.whatwg.org/#attr-meter-min 24392. https://html.spec.whatwg.org/#attr-meter-max 24393. https://html.spec.whatwg.org/#attr-meter-value 24394. https://html.spec.whatwg.org/#attr-meter-low 24395. https://html.spec.whatwg.org/#attr-meter-high 24396. https://html.spec.whatwg.org/#attr-meter-optimum 24397. https://html.spec.whatwg.org/#rules-for-parsing-floating-point-number-values 24398. https://html.spec.whatwg.org/#attr-meter-min 24399. https://html.spec.whatwg.org/#attr-meter-max 24400. https://html.spec.whatwg.org/#attr-meter-value 24401. https://html.spec.whatwg.org/#attr-meter-low 24402. https://html.spec.whatwg.org/#attr-meter-high 24403. https://html.spec.whatwg.org/#attr-meter-optimum 24404. https://html.spec.whatwg.org/#the-meter-element 24405. https://html.spec.whatwg.org/#attr-title 24406. https://html.spec.whatwg.org/#concept-meter-actual 24407. https://html.spec.whatwg.org/#best-representation-of-the-number-as-a-floating-point-number 24408. https://html.spec.whatwg.org/#attr-meter-value 24409. https://html.spec.whatwg.org/#concept-meter-minimum 24410. https://html.spec.whatwg.org/#best-representation-of-the-number-as-a-floating-point-number 24411. https://html.spec.whatwg.org/#attr-meter-min 24412. https://html.spec.whatwg.org/#concept-meter-maximum 24413. https://html.spec.whatwg.org/#best-representation-of-the-number-as-a-floating-point-number 24414. https://html.spec.whatwg.org/#attr-meter-max 24415. https://html.spec.whatwg.org/#concept-meter-low 24416. https://html.spec.whatwg.org/#best-representation-of-the-number-as-a-floating-point-number 24417. https://html.spec.whatwg.org/#attr-meter-low 24418. https://html.spec.whatwg.org/#concept-meter-high 24419. https://html.spec.whatwg.org/#best-representation-of-the-number-as-a-floating-point-number 24420. https://html.spec.whatwg.org/#attr-meter-high 24421. https://html.spec.whatwg.org/#concept-meter-optimum 24422. https://html.spec.whatwg.org/#best-representation-of-the-number-as-a-floating-point-number 24423. https://html.spec.whatwg.org/#attr-meter-optimum 24424. https://html.spec.whatwg.org/#dom-lfe-labels 24425. https://html.spec.whatwg.org/#the-label-element 24426. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset 24427. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement 24428. https://html.spec.whatwg.org/#concept-element-categories 24429. https://html.spec.whatwg.org/#flow-content-2 24430. https://html.spec.whatwg.org/#category-listed 24431. https://html.spec.whatwg.org/#category-autocapitalize 24432. https://html.spec.whatwg.org/#form-associated-element 24433. https://html.spec.whatwg.org/#palpable-content-2 24434. https://html.spec.whatwg.org/#concept-element-contexts 24435. https://html.spec.whatwg.org/#flow-content-2 24436. https://html.spec.whatwg.org/#concept-element-content-model 24437. https://html.spec.whatwg.org/#the-legend-element 24438. https://html.spec.whatwg.org/#flow-content-2 24439. https://html.spec.whatwg.org/#concept-element-tag-omission 24440. https://html.spec.whatwg.org/#concept-element-attributes 24441. https://html.spec.whatwg.org/#global-attributes 24442. https://html.spec.whatwg.org/#attr-fieldset-disabled 24443. https://html.spec.whatwg.org/#the-legend-element 24444. https://html.spec.whatwg.org/#attr-fae-form 24445. https://html.spec.whatwg.org/#the-form-element 24446. https://html.spec.whatwg.org/#attr-fe-name 24447. https://html.spec.whatwg.org/#dom-form-elements 24448. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 24449. https://w3c.github.io/html-aria/#el-fieldset 24450. https://w3c.github.io/html-aam/#el-fieldset 24451. https://html.spec.whatwg.org/#concept-element-dom 24452. https://html.spec.whatwg.org/#htmlelement 24453. https://html.spec.whatwg.org/#htmlconstructor 24454. https://html.spec.whatwg.org/#cereactions 24455. https://html.spec.whatwg.org/#dom-fieldset-disabled 24456. https://html.spec.whatwg.org/#htmlformelement 24457. https://html.spec.whatwg.org/#dom-fae-form 24458. https://html.spec.whatwg.org/#cereactions 24459. https://html.spec.whatwg.org/#dom-fe-name 24460. https://html.spec.whatwg.org/#dom-fieldset-type 24461. https://dom.spec.whatwg.org/#interface-htmlcollection 24462. https://html.spec.whatwg.org/#dom-fieldset-elements 24463. https://html.spec.whatwg.org/#dom-cva-willvalidate 24464. https://html.spec.whatwg.org/#validitystate 24465. https://html.spec.whatwg.org/#dom-cva-validity 24466. https://html.spec.whatwg.org/#dom-cva-validationmessage 24467. https://html.spec.whatwg.org/#dom-cva-checkvalidity 24468. https://html.spec.whatwg.org/#dom-cva-reportvalidity 24469. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 24470. https://html.spec.whatwg.org/#the-fieldset-element 24471. https://html.spec.whatwg.org/#represents 24472. https://html.spec.whatwg.org/#the-legend-element 24473. https://html.spec.whatwg.org/#the-fieldset-element 24474. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset#attr-disabled 24475. https://html.spec.whatwg.org/#the-fieldset-element 24476. https://html.spec.whatwg.org/#the-fieldset-element 24477. https://html.spec.whatwg.org/#the-legend-element 24478. https://html.spec.whatwg.org/#concept-fe-disabled 24479. https://html.spec.whatwg.org/#the-fieldset-element 24480. https://html.spec.whatwg.org/#attr-fieldset-disabled 24481. https://html.spec.whatwg.org/#the-fieldset-element 24482. https://html.spec.whatwg.org/#attr-fieldset-disabled 24483. https://html.spec.whatwg.org/#the-fieldset-element 24484. https://html.spec.whatwg.org/#the-legend-element 24485. https://html.spec.whatwg.org/#attr-fae-form 24486. https://html.spec.whatwg.org/#the-fieldset-element 24487. https://html.spec.whatwg.org/#form-owner 24488. https://html.spec.whatwg.org/#attr-fe-name 24489. https://html.spec.whatwg.org/#dom-fieldset-type 24490. https://html.spec.whatwg.org/#dom-fieldset-elements 24491. https://dom.spec.whatwg.org/#interface-htmlcollection 24492. https://html.spec.whatwg.org/#reflect 24493. https://dom.spec.whatwg.org/#interface-htmlcollection 24494. https://html.spec.whatwg.org/#the-fieldset-element 24495. https://html.spec.whatwg.org/#category-listed 24496. https://html.spec.whatwg.org/#dom-cva-willvalidate 24497. https://html.spec.whatwg.org/#dom-cva-validity 24498. https://html.spec.whatwg.org/#dom-cva-validationmessage 24499. https://html.spec.whatwg.org/#dom-cva-checkvalidity 24500. https://html.spec.whatwg.org/#dom-cva-reportvalidity 24501. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 24502. https://html.spec.whatwg.org/#the-constraint-validation-api 24503. https://html.spec.whatwg.org/#dom-fae-form 24504. https://html.spec.whatwg.org/#dom-fe-name 24505. https://html.spec.whatwg.org/#the-fieldset-element 24506. https://html.spec.whatwg.org/#the-fieldset-element 24507. https://html.spec.whatwg.org/#the-fieldset-element 24508. https://html.spec.whatwg.org/#the-fieldset-element 24509. https://html.spec.whatwg.org/#the-fieldset-element 24510. https://html.spec.whatwg.org/#the-legend-element 24511. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/legend 24512. https://developer.mozilla.org/en-US/docs/Web/API/HTMLLegendElement 24513. https://html.spec.whatwg.org/#concept-element-categories 24514. https://html.spec.whatwg.org/#concept-element-contexts 24515. https://dom.spec.whatwg.org/#concept-tree-first-child 24516. https://html.spec.whatwg.org/#the-fieldset-element 24517. https://html.spec.whatwg.org/#concept-element-content-model 24518. https://html.spec.whatwg.org/#phrasing-content-2 24519. https://html.spec.whatwg.org/#heading-content-2 24520. https://html.spec.whatwg.org/#concept-element-tag-omission 24521. https://html.spec.whatwg.org/#concept-element-attributes 24522. https://html.spec.whatwg.org/#global-attributes 24523. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 24524. https://w3c.github.io/html-aria/#el-legend 24525. https://w3c.github.io/html-aam/#el-legend 24526. https://html.spec.whatwg.org/#concept-element-dom 24527. https://html.spec.whatwg.org/#htmlelement 24528. https://html.spec.whatwg.org/#htmlconstructor 24529. https://html.spec.whatwg.org/#htmlformelement 24530. https://html.spec.whatwg.org/#dom-legend-form 24531. https://html.spec.whatwg.org/#HTMLLegendElement-partial 24532. https://html.spec.whatwg.org/#the-legend-element 24533. https://html.spec.whatwg.org/#represents 24534. https://html.spec.whatwg.org/#the-legend-element 24535. https://html.spec.whatwg.org/#the-fieldset-element 24536. https://html.spec.whatwg.org/#dom-legend-form 24537. https://html.spec.whatwg.org/#the-form-element 24538. https://html.spec.whatwg.org/#the-legend-element 24539. https://html.spec.whatwg.org/#the-fieldset-element 24540. https://html.spec.whatwg.org/#the-legend-element 24541. https://html.spec.whatwg.org/#the-fieldset-element 24542. https://html.spec.whatwg.org/#dom-legend-form 24543. https://html.spec.whatwg.org/#dom-fae-form 24544. https://html.spec.whatwg.org/#the-fieldset-element 24545. https://html.spec.whatwg.org/#the-input-element 24546. https://html.spec.whatwg.org/#concept-fe-value 24547. https://html.spec.whatwg.org/#number-state-(type=number) 24548. https://html.spec.whatwg.org/#concept-fe-value 24549. https://html.spec.whatwg.org/#email-state-(type=email) 24550. https://html.spec.whatwg.org/#concept-fe-value 24551. https://html.spec.whatwg.org/#the-input-element 24552. https://html.spec.whatwg.org/#the-textarea-element 24553. https://html.spec.whatwg.org/#concept-fe-value 24554. https://html.spec.whatwg.org/#concept-fe-value 24555. https://html.spec.whatwg.org/#the-input-element 24556. https://html.spec.whatwg.org/#the-textarea-element 24557. https://html.spec.whatwg.org/#the-select-element 24558. https://html.spec.whatwg.org/#the-input-element 24559. https://html.spec.whatwg.org/#attr-input-multiple 24560. https://html.spec.whatwg.org/#the-input-element 24561. https://html.spec.whatwg.org/#attr-fe-maxlength 24562. https://html.spec.whatwg.org/#attr-fe-minlength 24563. https://html.spec.whatwg.org/#the-textarea-element 24564. https://html.spec.whatwg.org/#concept-fe-value 24565. https://html.spec.whatwg.org/#concept-fe-value 24566. https://html.spec.whatwg.org/#the-select-element 24567. https://html.spec.whatwg.org/#concept-fe-value 24568. https://html.spec.whatwg.org/#concept-option-selectedness 24569. https://html.spec.whatwg.org/#the-option-element 24570. https://html.spec.whatwg.org/#concept-fe-value 24571. https://html.spec.whatwg.org/#concept-fe-checked 24572. https://html.spec.whatwg.org/#form-associated-element 24573. https://html.spec.whatwg.org/#the-form-element 24574. https://html.spec.whatwg.org/#form-associated-element 24575. https://html.spec.whatwg.org/#the-form-element 24576. https://html.spec.whatwg.org/#form-owner 24577. https://html.spec.whatwg.org/#form-associated-element 24578. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#form 24579. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes#attr-form 24580. https://html.spec.whatwg.org/#form-associated-element 24581. https://html.spec.whatwg.org/#the-form-element 24582. https://html.spec.whatwg.org/#category-listed 24583. https://html.spec.whatwg.org/#the-form-element 24584. https://html.spec.whatwg.org/#category-listed 24585. https://html.spec.whatwg.org/#form-associated-element 24586. https://html.spec.whatwg.org/#attr-fae-form 24587. https://dom.spec.whatwg.org/#concept-id 24588. https://html.spec.whatwg.org/#the-form-element 24589. https://dom.spec.whatwg.org/#concept-tree 24590. https://dom.spec.whatwg.org/#concept-tree 24591. https://html.spec.whatwg.org/#the-form-element 24592. https://dom.spec.whatwg.org/#concept-tree 24593. https://html.spec.whatwg.org/#form-associated-element 24594. https://html.spec.whatwg.org/#the-form-element 24595. https://html.spec.whatwg.org/#form-associated-element 24596. https://html.spec.whatwg.org/#form-owner 24597. https://html.spec.whatwg.org/#form-associated-element 24598. https://html.spec.whatwg.org/#form-owner 24599. https://html.spec.whatwg.org/#category-listed 24600. https://html.spec.whatwg.org/#form-associated-element 24601. https://html.spec.whatwg.org/#attr-fae-form 24602. https://html.spec.whatwg.org/#reset-the-form-owner 24603. https://html.spec.whatwg.org/#category-listed 24604. https://html.spec.whatwg.org/#form-associated-element 24605. https://html.spec.whatwg.org/#attr-fae-form 24606. https://dom.spec.whatwg.org/#concept-id 24607. https://dom.spec.whatwg.org/#concept-tree 24608. https://html.spec.whatwg.org/#reset-the-form-owner 24609. https://html.spec.whatwg.org/#form-associated-element 24610. https://html.spec.whatwg.org/#category-listed 24611. https://html.spec.whatwg.org/#form-associated-element 24612. https://html.spec.whatwg.org/#attr-fae-form 24613. https://dom.spec.whatwg.org/#concept-id 24614. https://html.spec.whatwg.org/#insert-an-element-into-a-document 24615. https://html.spec.whatwg.org/#remove-an-element-from-a-document 24616. https://html.spec.whatwg.org/#document 24617. https://html.spec.whatwg.org/#html-element-moving-steps 24618. https://html.spec.whatwg.org/#reset-the-form-owner 24619. https://html.spec.whatwg.org/#form-associated-element 24620. https://html.spec.whatwg.org/#html-element-insertion-steps 24621. https://html.spec.whatwg.org/#html-element-removing-steps 24622. https://html.spec.whatwg.org/#html-element-moving-steps 24623. https://html.spec.whatwg.org/#form-associated-element 24624. https://html.spec.whatwg.org/#parser-inserted-flag 24625. https://html.spec.whatwg.org/#form-owner 24626. https://html.spec.whatwg.org/#category-listed 24627. https://html.spec.whatwg.org/#attr-fae-form 24628. https://html.spec.whatwg.org/#form-owner 24629. https://html.spec.whatwg.org/#the-form-element 24630. https://html.spec.whatwg.org/#form-owner 24631. https://html.spec.whatwg.org/#category-listed 24632. https://html.spec.whatwg.org/#attr-fae-form 24633. https://dom.spec.whatwg.org/#connected 24634. https://dom.spec.whatwg.org/#concept-tree 24635. https://dom.spec.whatwg.org/#concept-tree-order 24636. https://dom.spec.whatwg.org/#concept-id 24637. https://infra.spec.whatwg.org/#string-is 24638. https://html.spec.whatwg.org/#attr-fae-form 24639. https://html.spec.whatwg.org/#the-form-element 24640. https://html.spec.whatwg.org/#concept-form-association 24641. https://html.spec.whatwg.org/#the-form-element 24642. https://html.spec.whatwg.org/#the-form-element 24643. https://html.spec.whatwg.org/#concept-form-association 24644. https://html.spec.whatwg.org/#the-form-element 24645. https://html.spec.whatwg.org/#form-owner 24646. https://html.spec.whatwg.org/#form-owner 24647. https://html.spec.whatwg.org/#html-parser 24648. https://html.spec.whatwg.org/#dom-element-innerhtml 24649. https://html.spec.whatwg.org/#the-form-element 24650. https://html.spec.whatwg.org/#parse-errors 24651. https://html.spec.whatwg.org/#dom-fae-form 24652. https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/form 24653. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/form 24654. https://html.spec.whatwg.org/#form-owner 24655. https://html.spec.whatwg.org/#category-listed 24656. https://html.spec.whatwg.org/#form-associated-element 24657. https://html.spec.whatwg.org/#form-associated-custom-element 24658. https://html.spec.whatwg.org/#form-owner 24659. https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/form 24660. https://html.spec.whatwg.org/#form-associated-custom-element 24661. https://html.spec.whatwg.org/#dom-fae-form 24662. https://html.spec.whatwg.org/#elementinternals 24663. https://webidl.spec.whatwg.org/#notsupportederror 24664. https://webidl.spec.whatwg.org/#dfn-DOMException 24665. https://html.spec.whatwg.org/#internals-target 24666. https://html.spec.whatwg.org/#form-associated-custom-element 24667. https://html.spec.whatwg.org/#form-owner 24668. https://html.spec.whatwg.org/#attr-fe-name 24669. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#name 24670. https://html.spec.whatwg.org/#form-submission-2 24671. https://html.spec.whatwg.org/#the-form-element 24672. https://html.spec.whatwg.org/#dom-form-elements 24673. https://html.spec.whatwg.org/#attr-form-name 24674. https://infra.spec.whatwg.org/#ascii-case-insensitive 24675. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 24676. https://html.spec.whatwg.org/#attr-input-value 24677. https://html.spec.whatwg.org/#attr-input-value 24678. https://html.spec.whatwg.org/#reflect 24679. https://html.spec.whatwg.org/#attr-fe-name 24680. https://html.spec.whatwg.org/#attr-fe-name 24681. https://html.spec.whatwg.org/#the-input-element 24682. https://html.spec.whatwg.org/#attr-fs-method 24683. https://html.spec.whatwg.org/#the-input-element 24684. https://html.spec.whatwg.org/#attr-fs-method 24685. https://html.spec.whatwg.org/#attr-fe-dirname 24686. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#dirname 24687. https://html.spec.whatwg.org/#the-directionality 24688. https://html.spec.whatwg.org/#form-submission-2 24689. https://html.spec.whatwg.org/#attr-fe-maxlength 24690. https://html.spec.whatwg.org/#concept-fe-dirty 24691. https://infra.spec.whatwg.org/#string-length 24692. https://html.spec.whatwg.org/#the-textarea-element 24693. https://html.spec.whatwg.org/#attr-fe-maxlength 24694. https://html.spec.whatwg.org/#valid-non-negative-integer 24695. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 24696. https://html.spec.whatwg.org/#maximum-allowed-value-length 24697. https://html.spec.whatwg.org/#maximum-allowed-value-length 24698. https://html.spec.whatwg.org/#concept-fe-dirty 24699. https://html.spec.whatwg.org/#concept-fe-value 24700. https://infra.spec.whatwg.org/#string-length 24701. https://html.spec.whatwg.org/#concept-fe-api-value 24702. https://html.spec.whatwg.org/#maximum-allowed-value-length 24703. https://html.spec.whatwg.org/#suffering-from-being-too-long 24704. https://html.spec.whatwg.org/#concept-fe-api-value 24705. https://infra.spec.whatwg.org/#string-length 24706. https://html.spec.whatwg.org/#maximum-allowed-value-length 24707. https://html.spec.whatwg.org/#the-textarea-element 24708. https://html.spec.whatwg.org/#concept-fe-api-value 24709. https://html.spec.whatwg.org/#concept-fe-value 24710. https://infra.spec.whatwg.org/#normalize-newlines 24711. https://html.spec.whatwg.org/#maximum-allowed-value-length 24712. https://html.spec.whatwg.org/#textarea-wrapping-transformation 24713. https://html.spec.whatwg.org/#attr-fe-minlength 24714. https://html.spec.whatwg.org/#concept-fe-dirty 24715. https://infra.spec.whatwg.org/#string-length 24716. https://html.spec.whatwg.org/#the-textarea-element 24717. https://html.spec.whatwg.org/#attr-fe-minlength 24718. https://html.spec.whatwg.org/#attr-fe-minlength 24719. https://html.spec.whatwg.org/#attr-fe-minlength 24720. https://html.spec.whatwg.org/#valid-non-negative-integer 24721. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 24722. https://html.spec.whatwg.org/#minimum-allowed-value-length 24723. https://html.spec.whatwg.org/#maximum-allowed-value-length 24724. https://html.spec.whatwg.org/#minimum-allowed-value-length 24725. https://html.spec.whatwg.org/#minimum-allowed-value-length 24726. https://html.spec.whatwg.org/#maximum-allowed-value-length 24727. https://html.spec.whatwg.org/#minimum-allowed-value-length 24728. https://html.spec.whatwg.org/#concept-fe-dirty 24729. https://html.spec.whatwg.org/#concept-fe-value 24730. https://html.spec.whatwg.org/#concept-fe-value 24731. https://infra.spec.whatwg.org/#string-length 24732. https://html.spec.whatwg.org/#concept-fe-api-value 24733. https://html.spec.whatwg.org/#minimum-allowed-value-length 24734. https://html.spec.whatwg.org/#suffering-from-being-too-short 24735. https://html.spec.whatwg.org/#attr-fe-disabled 24736. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled 24737. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled 24738. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled 24739. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled 24740. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled 24741. https://html.spec.whatwg.org/#boolean-attribute 24742. https://html.spec.whatwg.org/#attr-option-disabled 24743. https://html.spec.whatwg.org/#the-option-element 24744. https://html.spec.whatwg.org/#attr-optgroup-disabled 24745. https://html.spec.whatwg.org/#the-optgroup-element 24746. https://html.spec.whatwg.org/#the-button-element 24747. https://html.spec.whatwg.org/#the-input-element 24748. https://html.spec.whatwg.org/#the-select-element 24749. https://html.spec.whatwg.org/#the-textarea-element 24750. https://html.spec.whatwg.org/#form-associated-custom-element 24751. https://html.spec.whatwg.org/#attr-fe-disabled 24752. https://html.spec.whatwg.org/#the-fieldset-element 24753. https://html.spec.whatwg.org/#attr-fieldset-disabled 24754. https://html.spec.whatwg.org/#the-fieldset-element 24755. https://html.spec.whatwg.org/#the-legend-element 24756. https://html.spec.whatwg.org/#concept-fe-disabled 24757. https://w3c.github.io/uievents/#event-type-click 24758. https://html.spec.whatwg.org/#queue-a-task 24759. https://html.spec.whatwg.org/#user-interaction-task-source 24760. https://html.spec.whatwg.org/#concept-fe-disabled 24761. https://html.spec.whatwg.org/#barred-from-constraint-validation 24762. https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement/disabled 24763. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/disabled 24764. https://html.spec.whatwg.org/#reflect 24765. https://html.spec.whatwg.org/#attr-fe-disabled 24766. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#Attributes_for_form_submission 24767. https://html.spec.whatwg.org/#the-form-element 24768. https://html.spec.whatwg.org/#concept-submit-button 24769. https://html.spec.whatwg.org/#the-input-element 24770. https://html.spec.whatwg.org/#attr-input-type 24771. https://html.spec.whatwg.org/#submit-button-state-(type=submit) 24772. https://html.spec.whatwg.org/#attributes-for-form-submission 24773. https://html.spec.whatwg.org/#the-form-element 24774. https://html.spec.whatwg.org/#attr-fs-action 24775. https://html.spec.whatwg.org/#attr-fs-enctype 24776. https://html.spec.whatwg.org/#attr-fs-method 24777. https://html.spec.whatwg.org/#attr-fs-novalidate 24778. https://html.spec.whatwg.org/#attr-fs-target 24779. https://html.spec.whatwg.org/#attributes-for-form-submission 24780. https://html.spec.whatwg.org/#concept-submit-button 24781. https://html.spec.whatwg.org/#attr-fs-formaction 24782. https://html.spec.whatwg.org/#attr-fs-formenctype 24783. https://html.spec.whatwg.org/#attr-fs-formmethod 24784. https://html.spec.whatwg.org/#attr-fs-formnovalidate 24785. https://html.spec.whatwg.org/#attr-fs-formtarget 24786. https://html.spec.whatwg.org/#the-form-element 24787. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#formaction 24788. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 24789. https://html.spec.whatwg.org/#attr-fs-formaction 24790. https://html.spec.whatwg.org/#concept-submit-button 24791. https://html.spec.whatwg.org/#form-owner 24792. https://html.spec.whatwg.org/#attr-fs-action 24793. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#formmethod 24794. https://html.spec.whatwg.org/#enumerated-attribute 24795. https://html.spec.whatwg.org/#the-form-element 24796. https://html.spec.whatwg.org/#the-form-element 24797. https://html.spec.whatwg.org/#the-form-element 24798. https://html.spec.whatwg.org/#the-dialog-element 24799. https://html.spec.whatwg.org/#attr-fs-method 24800. https://html.spec.whatwg.org/#missing-value-default 24801. https://html.spec.whatwg.org/#invalid-value-default 24802. https://html.spec.whatwg.org/#attr-fs-method-get 24803. https://html.spec.whatwg.org/#attr-fs-formmethod 24804. https://html.spec.whatwg.org/#missing-value-default 24805. https://html.spec.whatwg.org/#invalid-value-default 24806. https://html.spec.whatwg.org/#attr-fs-method-get 24807. https://html.spec.whatwg.org/#concept-submit-button 24808. https://html.spec.whatwg.org/#attr-fs-formmethod 24809. https://html.spec.whatwg.org/#concept-fs-method 24810. https://html.spec.whatwg.org/#form-owner 24811. https://html.spec.whatwg.org/#attr-fs-method 24812. https://html.spec.whatwg.org/#attr-fs-method 24813. https://html.spec.whatwg.org/#attr-fs-method-get-keyword 24814. https://html.spec.whatwg.org/#attr-fs-method 24815. https://html.spec.whatwg.org/#attr-fs-method-post-keyword 24816. https://html.spec.whatwg.org/#the-form-element 24817. https://html.spec.whatwg.org/#the-dialog-element 24818. https://html.spec.whatwg.org/#attr-fs-method 24819. https://html.spec.whatwg.org/#attr-fs-method-dialog-keyword 24820. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#formenctype 24821. https://html.spec.whatwg.org/#enumerated-attribute 24822. https://html.spec.whatwg.org/#missing-value-default 24823. https://html.spec.whatwg.org/#invalid-value-default 24824. https://html.spec.whatwg.org/#attr-fs-enctype-urlencoded 24825. https://html.spec.whatwg.org/#attr-fs-formenctype 24826. https://html.spec.whatwg.org/#missing-value-default 24827. https://html.spec.whatwg.org/#invalid-value-default 24828. https://html.spec.whatwg.org/#attr-fs-enctype-urlencoded 24829. https://html.spec.whatwg.org/#concept-submit-button 24830. https://html.spec.whatwg.org/#attr-fs-formenctype 24831. https://html.spec.whatwg.org/#concept-fs-enctype 24832. https://html.spec.whatwg.org/#form-owner 24833. https://html.spec.whatwg.org/#attr-fs-enctype 24834. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#formtarget 24835. https://html.spec.whatwg.org/#valid-navigable-target-name-or-keyword 24836. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#formnovalidate 24837. https://html.spec.whatwg.org/#boolean-attribute 24838. https://html.spec.whatwg.org/#concept-submit-button 24839. https://html.spec.whatwg.org/#attr-fs-formnovalidate 24840. https://html.spec.whatwg.org/#form-owner 24841. https://html.spec.whatwg.org/#attr-fs-novalidate 24842. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/action 24843. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/target 24844. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/method 24845. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/enctype 24846. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/encoding 24847. https://html.spec.whatwg.org/#reflect 24848. https://dom.spec.whatwg.org/#concept-node-document 24849. https://dom.spec.whatwg.org/#concept-document-url 24850. https://html.spec.whatwg.org/#reflect 24851. https://html.spec.whatwg.org/#reflect 24852. https://html.spec.whatwg.org/#limited-to-only-known-values 24853. https://html.spec.whatwg.org/#reflect 24854. https://html.spec.whatwg.org/#attr-fs-enctype 24855. https://html.spec.whatwg.org/#limited-to-only-known-values 24856. https://html.spec.whatwg.org/#reflect 24857. https://html.spec.whatwg.org/#attr-fs-novalidate 24858. https://html.spec.whatwg.org/#reflect 24859. https://html.spec.whatwg.org/#attr-fs-formaction 24860. https://dom.spec.whatwg.org/#concept-node-document 24861. https://dom.spec.whatwg.org/#concept-document-url 24862. https://html.spec.whatwg.org/#reflect 24863. https://html.spec.whatwg.org/#attr-fs-formenctype 24864. https://html.spec.whatwg.org/#limited-to-only-known-values 24865. https://html.spec.whatwg.org/#reflect 24866. https://html.spec.whatwg.org/#attr-fs-formmethod 24867. https://html.spec.whatwg.org/#limited-to-only-known-values 24868. https://html.spec.whatwg.org/#reflect 24869. https://html.spec.whatwg.org/#attr-fs-formnovalidate 24870. https://html.spec.whatwg.org/#reflect 24871. https://html.spec.whatwg.org/#attr-fs-formtarget 24872. https://html.spec.whatwg.org/#attr-fe-autocomplete 24873. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete 24874. https://html.spec.whatwg.org/#attr-fe-autocomplete 24875. https://html.spec.whatwg.org/#attr-fe-autocomplete 24876. https://html.spec.whatwg.org/#the-input-element 24877. https://html.spec.whatwg.org/#attr-input-type 24878. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 24879. https://html.spec.whatwg.org/#attr-fe-autocomplete 24880. https://html.spec.whatwg.org/#autofill-anchor-mantle 24881. https://html.spec.whatwg.org/#autofill-expectation-mantle 24882. https://html.spec.whatwg.org/#autofill-expectation-mantle 24883. https://html.spec.whatwg.org/#attr-fe-autocomplete 24884. https://html.spec.whatwg.org/#set-of-space-separated-tokens 24885. https://infra.spec.whatwg.org/#ascii-case-insensitive 24886. https://html.spec.whatwg.org/#attr-fe-autocomplete-off 24887. https://infra.spec.whatwg.org/#ascii-case-insensitive 24888. https://html.spec.whatwg.org/#attr-fe-autocomplete-on 24889. https://html.spec.whatwg.org/#autofill-detail-tokens 24890. https://html.spec.whatwg.org/#autofill-anchor-mantle 24891. https://html.spec.whatwg.org/#attr-fe-autocomplete 24892. https://html.spec.whatwg.org/#set-of-space-separated-tokens 24893. https://html.spec.whatwg.org/#autofill-detail-tokens 24894. https://html.spec.whatwg.org/#attr-fe-autocomplete-on 24895. https://html.spec.whatwg.org/#attr-fe-autocomplete-off 24896. https://infra.spec.whatwg.org/#ascii-case-insensitive 24897. https://infra.spec.whatwg.org/#ascii-case-insensitive 24898. https://infra.spec.whatwg.org/#ascii-case-insensitive 24899. https://html.spec.whatwg.org/#autofill-field 24900. https://html.spec.whatwg.org/#inappropriate-for-the-control 24901. https://html.spec.whatwg.org/#attr-fe-autocomplete-name 24902. https://html.spec.whatwg.org/#attr-fe-autocomplete-honorific-prefix 24903. https://html.spec.whatwg.org/#attr-fe-autocomplete-given-name 24904. https://html.spec.whatwg.org/#attr-fe-autocomplete-additional-name 24905. https://html.spec.whatwg.org/#attr-fe-autocomplete-family-name 24906. https://html.spec.whatwg.org/#attr-fe-autocomplete-honorific-suffix 24907. https://html.spec.whatwg.org/#attr-fe-autocomplete-nickname 24908. https://html.spec.whatwg.org/#attr-fe-autocomplete-username 24909. https://html.spec.whatwg.org/#attr-fe-autocomplete-new-password 24910. https://html.spec.whatwg.org/#attr-fe-autocomplete-current-password 24911. https://html.spec.whatwg.org/#attr-fe-autocomplete-one-time-code 24912. https://html.spec.whatwg.org/#attr-fe-autocomplete-organization-title 24913. https://html.spec.whatwg.org/#attr-fe-autocomplete-organization 24914. https://html.spec.whatwg.org/#attr-fe-autocomplete-street-address 24915. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-line1 24916. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-line2 24917. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-line3 24918. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-level4 24919. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-level3 24920. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-level2 24921. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-level1 24922. https://html.spec.whatwg.org/#attr-fe-autocomplete-country 24923. https://html.spec.whatwg.org/#attr-fe-autocomplete-country-name 24924. https://html.spec.whatwg.org/#attr-fe-autocomplete-postal-code 24925. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-name 24926. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-given-name 24927. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-additional-name 24928. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-family-name 24929. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-number 24930. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-exp 24931. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-exp-month 24932. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-exp-year 24933. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-csc 24934. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-type 24935. https://html.spec.whatwg.org/#attr-fe-autocomplete-transaction-currency 24936. https://html.spec.whatwg.org/#attr-fe-autocomplete-transaction-amount 24937. https://html.spec.whatwg.org/#attr-fe-autocomplete-language 24938. https://html.spec.whatwg.org/#attr-fe-autocomplete-bday 24939. https://html.spec.whatwg.org/#attr-fe-autocomplete-bday-day 24940. https://html.spec.whatwg.org/#attr-fe-autocomplete-bday-month 24941. https://html.spec.whatwg.org/#attr-fe-autocomplete-bday-year 24942. https://html.spec.whatwg.org/#attr-fe-autocomplete-sex 24943. https://html.spec.whatwg.org/#attr-fe-autocomplete-url 24944. https://html.spec.whatwg.org/#attr-fe-autocomplete-photo 24945. https://infra.spec.whatwg.org/#ascii-case-insensitive 24946. https://infra.spec.whatwg.org/#ascii-case-insensitive 24947. https://html.spec.whatwg.org/#autofill-field 24948. https://html.spec.whatwg.org/#inappropriate-for-the-control 24949. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel 24950. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel-country-code 24951. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel-national 24952. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel-area-code 24953. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel-local 24954. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel-local-prefix 24955. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel-local-suffix 24956. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel-extension 24957. https://html.spec.whatwg.org/#attr-fe-autocomplete-email 24958. https://html.spec.whatwg.org/#attr-fe-autocomplete-impp 24959. https://infra.spec.whatwg.org/#ascii-case-insensitive 24960. https://w3c.github.io/webauthn/#public-key-credential 24961. https://w3c.github.io/webappsec-credential-management/#dom-credentialmediationrequirement-conditional 24962. https://html.spec.whatwg.org/#attr-fe-autocomplete-webauthn 24963. https://html.spec.whatwg.org/#the-input-element 24964. https://html.spec.whatwg.org/#the-textarea-element 24965. https://html.spec.whatwg.org/#autofill-expectation-mantle 24966. https://html.spec.whatwg.org/#autofill-field 24967. https://html.spec.whatwg.org/#attr-fe-autocomplete 24968. https://html.spec.whatwg.org/#form-owner 24969. https://html.spec.whatwg.org/#attr-form-autocomplete 24970. https://html.spec.whatwg.org/#attr-fe-autocomplete-on 24971. https://html.spec.whatwg.org/#attr-fe-autocomplete-off 24972. https://html.spec.whatwg.org/#form-owner 24973. https://html.spec.whatwg.org/#attr-fe-autocomplete-on 24974. https://html.spec.whatwg.org/#autofill-anchor-mantle 24975. https://html.spec.whatwg.org/#autofill-field 24976. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-exp 24977. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-exp-month 24978. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-exp-year 24979. https://html.spec.whatwg.org/#autofill-field 24980. https://html.spec.whatwg.org/#autofill-field 24981. https://html.spec.whatwg.org/#autofill-field 24982. https://html.spec.whatwg.org/#control-group-text 24983. https://html.spec.whatwg.org/#control-group-text 24984. https://html.spec.whatwg.org/#control-group-text 24985. https://html.spec.whatwg.org/#control-group-text 24986. https://html.spec.whatwg.org/#control-group-text 24987. https://html.spec.whatwg.org/#control-group-text 24988. https://html.spec.whatwg.org/#control-group-text 24989. https://html.spec.whatwg.org/#control-group-text 24990. https://html.spec.whatwg.org/#control-group-username 24991. https://html.spec.whatwg.org/#control-group-password 24992. https://html.spec.whatwg.org/#attr-fe-autocomplete-username 24993. https://html.spec.whatwg.org/#control-group-password 24994. https://html.spec.whatwg.org/#control-group-password 24995. https://html.spec.whatwg.org/#control-group-text 24996. https://html.spec.whatwg.org/#control-group-multiline 24997. https://html.spec.whatwg.org/#control-group-text 24998. https://html.spec.whatwg.org/#control-group-text 24999. https://html.spec.whatwg.org/#control-group-text 25000. https://html.spec.whatwg.org/#more-on-address-levels 25001. https://html.spec.whatwg.org/#control-group-text 25002. https://html.spec.whatwg.org/#more-on-address-levels 25003. https://html.spec.whatwg.org/#control-group-text 25004. https://html.spec.whatwg.org/#more-on-address-levels 25005. https://html.spec.whatwg.org/#control-group-text 25006. https://html.spec.whatwg.org/#more-on-address-levels 25007. https://html.spec.whatwg.org/#control-group-text 25008. https://www.iso.org/iso-3166-country-codes.html 25009. https://html.spec.whatwg.org/#refsISO3166 25010. https://html.spec.whatwg.org/#control-group-text 25011. https://html.spec.whatwg.org/#autofill-country 25012. https://html.spec.whatwg.org/#control-group-text 25013. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-level2 25014. https://html.spec.whatwg.org/#control-group-text 25015. https://html.spec.whatwg.org/#control-group-text 25016. https://html.spec.whatwg.org/#control-group-text 25017. https://html.spec.whatwg.org/#control-group-text 25018. https://html.spec.whatwg.org/#control-group-text 25019. https://infra.spec.whatwg.org/#ascii-digit 25020. https://html.spec.whatwg.org/#control-group-text 25021. https://html.spec.whatwg.org/#valid-month-string 25022. https://html.spec.whatwg.org/#control-group-month 25023. https://html.spec.whatwg.org/#valid-integer 25024. https://html.spec.whatwg.org/#control-group-numeric 25025. https://html.spec.whatwg.org/#valid-integer 25026. https://html.spec.whatwg.org/#control-group-numeric 25027. https://infra.spec.whatwg.org/#ascii-digit 25028. https://html.spec.whatwg.org/#control-group-text 25029. https://html.spec.whatwg.org/#control-group-text 25030. https://html.spec.whatwg.org/#refsISO4217 25031. https://html.spec.whatwg.org/#control-group-text 25032. https://html.spec.whatwg.org/#valid-floating-point-number 25033. https://html.spec.whatwg.org/#control-group-numeric 25034. https://html.spec.whatwg.org/#refsBCP47 25035. https://html.spec.whatwg.org/#control-group-text 25036. https://html.spec.whatwg.org/#valid-date-string 25037. https://html.spec.whatwg.org/#control-group-date 25038. https://html.spec.whatwg.org/#valid-integer 25039. https://html.spec.whatwg.org/#control-group-numeric 25040. https://html.spec.whatwg.org/#valid-integer 25041. https://html.spec.whatwg.org/#control-group-numeric 25042. https://html.spec.whatwg.org/#valid-integer 25043. https://html.spec.whatwg.org/#control-group-numeric 25044. https://html.spec.whatwg.org/#control-group-text 25045. https://url.spec.whatwg.org/#valid-url-string 25046. https://html.spec.whatwg.org/#control-group-url 25047. https://url.spec.whatwg.org/#valid-url-string 25048. https://html.spec.whatwg.org/#control-group-url 25049. https://infra.spec.whatwg.org/#ascii-digit 25050. https://html.spec.whatwg.org/#control-group-tel 25051. https://infra.spec.whatwg.org/#ascii-digit 25052. https://html.spec.whatwg.org/#control-group-text 25053. https://infra.spec.whatwg.org/#ascii-digit 25054. https://html.spec.whatwg.org/#control-group-text 25055. https://infra.spec.whatwg.org/#ascii-digit 25056. https://html.spec.whatwg.org/#control-group-text 25057. https://infra.spec.whatwg.org/#ascii-digit 25058. https://html.spec.whatwg.org/#control-group-text 25059. https://infra.spec.whatwg.org/#ascii-digit 25060. https://html.spec.whatwg.org/#control-group-text 25061. https://infra.spec.whatwg.org/#ascii-digit 25062. https://html.spec.whatwg.org/#control-group-text 25063. https://infra.spec.whatwg.org/#ascii-digit 25064. https://html.spec.whatwg.org/#control-group-text 25065. https://html.spec.whatwg.org/#valid-e-mail-address 25066. https://html.spec.whatwg.org/#control-group-username 25067. https://url.spec.whatwg.org/#valid-url-string 25068. https://html.spec.whatwg.org/#control-group-url 25069. https://html.spec.whatwg.org/#the-input-element 25070. https://html.spec.whatwg.org/#attr-input-type 25071. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 25072. https://html.spec.whatwg.org/#the-input-element 25073. https://html.spec.whatwg.org/#attr-input-type 25074. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25075. https://html.spec.whatwg.org/#the-input-element 25076. https://html.spec.whatwg.org/#attr-input-type 25077. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25078. https://html.spec.whatwg.org/#the-textarea-element 25079. https://html.spec.whatwg.org/#the-select-element 25080. https://html.spec.whatwg.org/#the-input-element 25081. https://html.spec.whatwg.org/#attr-input-type 25082. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 25083. https://html.spec.whatwg.org/#the-textarea-element 25084. https://html.spec.whatwg.org/#the-select-element 25085. https://html.spec.whatwg.org/#the-input-element 25086. https://html.spec.whatwg.org/#attr-input-type 25087. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 25088. https://html.spec.whatwg.org/#the-input-element 25089. https://html.spec.whatwg.org/#attr-input-type 25090. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25091. https://html.spec.whatwg.org/#the-input-element 25092. https://html.spec.whatwg.org/#attr-input-type 25093. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25094. https://html.spec.whatwg.org/#the-input-element 25095. https://html.spec.whatwg.org/#attr-input-type 25096. https://html.spec.whatwg.org/#password-state-(type=password) 25097. https://html.spec.whatwg.org/#the-textarea-element 25098. https://html.spec.whatwg.org/#the-select-element 25099. https://html.spec.whatwg.org/#the-input-element 25100. https://html.spec.whatwg.org/#attr-input-type 25101. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 25102. https://html.spec.whatwg.org/#the-input-element 25103. https://html.spec.whatwg.org/#attr-input-type 25104. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25105. https://html.spec.whatwg.org/#the-input-element 25106. https://html.spec.whatwg.org/#attr-input-type 25107. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25108. https://html.spec.whatwg.org/#the-input-element 25109. https://html.spec.whatwg.org/#attr-input-type 25110. https://html.spec.whatwg.org/#url-state-(type=url) 25111. https://html.spec.whatwg.org/#the-textarea-element 25112. https://html.spec.whatwg.org/#the-select-element 25113. https://html.spec.whatwg.org/#the-input-element 25114. https://html.spec.whatwg.org/#attr-input-type 25115. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 25116. https://html.spec.whatwg.org/#the-input-element 25117. https://html.spec.whatwg.org/#attr-input-type 25118. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25119. https://html.spec.whatwg.org/#the-input-element 25120. https://html.spec.whatwg.org/#attr-input-type 25121. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25122. https://html.spec.whatwg.org/#the-input-element 25123. https://html.spec.whatwg.org/#attr-input-type 25124. https://html.spec.whatwg.org/#email-state-(type=email) 25125. https://html.spec.whatwg.org/#the-textarea-element 25126. https://html.spec.whatwg.org/#the-select-element 25127. https://html.spec.whatwg.org/#the-input-element 25128. https://html.spec.whatwg.org/#attr-input-type 25129. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 25130. https://html.spec.whatwg.org/#the-input-element 25131. https://html.spec.whatwg.org/#attr-input-type 25132. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25133. https://html.spec.whatwg.org/#the-input-element 25134. https://html.spec.whatwg.org/#attr-input-type 25135. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25136. https://html.spec.whatwg.org/#the-input-element 25137. https://html.spec.whatwg.org/#attr-input-type 25138. https://html.spec.whatwg.org/#telephone-state-(type=tel) 25139. https://html.spec.whatwg.org/#the-textarea-element 25140. https://html.spec.whatwg.org/#the-select-element 25141. https://html.spec.whatwg.org/#the-input-element 25142. https://html.spec.whatwg.org/#attr-input-type 25143. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 25144. https://html.spec.whatwg.org/#the-input-element 25145. https://html.spec.whatwg.org/#attr-input-type 25146. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25147. https://html.spec.whatwg.org/#the-input-element 25148. https://html.spec.whatwg.org/#attr-input-type 25149. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25150. https://html.spec.whatwg.org/#the-input-element 25151. https://html.spec.whatwg.org/#attr-input-type 25152. https://html.spec.whatwg.org/#number-state-(type=number) 25153. https://html.spec.whatwg.org/#the-textarea-element 25154. https://html.spec.whatwg.org/#the-select-element 25155. https://html.spec.whatwg.org/#the-input-element 25156. https://html.spec.whatwg.org/#attr-input-type 25157. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 25158. https://html.spec.whatwg.org/#the-input-element 25159. https://html.spec.whatwg.org/#attr-input-type 25160. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25161. https://html.spec.whatwg.org/#the-input-element 25162. https://html.spec.whatwg.org/#attr-input-type 25163. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25164. https://html.spec.whatwg.org/#the-input-element 25165. https://html.spec.whatwg.org/#attr-input-type 25166. https://html.spec.whatwg.org/#month-state-(type=month) 25167. https://html.spec.whatwg.org/#the-textarea-element 25168. https://html.spec.whatwg.org/#the-select-element 25169. https://html.spec.whatwg.org/#the-input-element 25170. https://html.spec.whatwg.org/#attr-input-type 25171. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 25172. https://html.spec.whatwg.org/#the-input-element 25173. https://html.spec.whatwg.org/#attr-input-type 25174. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25175. https://html.spec.whatwg.org/#the-input-element 25176. https://html.spec.whatwg.org/#attr-input-type 25177. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25178. https://html.spec.whatwg.org/#the-input-element 25179. https://html.spec.whatwg.org/#attr-input-type 25180. https://html.spec.whatwg.org/#date-state-(type=date) 25181. https://html.spec.whatwg.org/#the-textarea-element 25182. https://html.spec.whatwg.org/#the-select-element 25183. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-level1 25184. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-level4 25185. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-level1 25186. https://html.spec.whatwg.org/#the-input-element 25187. https://html.spec.whatwg.org/#attr-fe-autocomplete 25188. https://html.spec.whatwg.org/#concept-input-apply 25189. https://html.spec.whatwg.org/#the-select-element 25190. https://html.spec.whatwg.org/#the-textarea-element 25191. https://html.spec.whatwg.org/#autofill-field-name 25192. https://html.spec.whatwg.org/#attr-fe-autocomplete-street-address 25193. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-exp 25194. https://html.spec.whatwg.org/#autofill-hint-set 25195. https://html.spec.whatwg.org/#attr-fe-autocomplete-shipping 25196. https://html.spec.whatwg.org/#attr-fe-autocomplete-fax 25197. https://html.spec.whatwg.org/#attr-fe-autocomplete-billing 25198. https://html.spec.whatwg.org/#non-autofill-credential-type 25199. https://w3c.github.io/webappsec-credential-management/#credential 25200. https://html.spec.whatwg.org/#autofill-field 25201. https://w3c.github.io/webappsec-credential-management/#dom-credentialmediationrequirement-conditional 25202. https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get 25203. https://w3c.github.io/webauthn/#public-key-credential 25204. https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get 25205. https://html.spec.whatwg.org/#autofill-scope 25206. https://html.spec.whatwg.org/#autofill-hint-set 25207. https://html.spec.whatwg.org/#attr-fe-autocomplete 25208. https://infra.spec.whatwg.org/#split-on-ascii-whitespace 25209. https://html.spec.whatwg.org/#determine-a-field's-category 25210. https://html.spec.whatwg.org/#attr-fe-autocomplete 25211. https://html.spec.whatwg.org/#autofill-anchor-mantle 25212. https://html.spec.whatwg.org/#autofill-field-name 25213. https://html.spec.whatwg.org/#autofill-hint-set 25214. https://html.spec.whatwg.org/#idl-exposed-autofill-value 25215. https://html.spec.whatwg.org/#autofill-field-name 25216. https://html.spec.whatwg.org/#autofill-hint-set 25217. https://html.spec.whatwg.org/#idl-exposed-autofill-value 25218. https://infra.spec.whatwg.org/#ascii-case-insensitive 25219. https://html.spec.whatwg.org/#attr-fe-autocomplete-webauthn 25220. https://html.spec.whatwg.org/#determine-a-field's-category 25221. https://infra.spec.whatwg.org/#ascii-case-insensitive 25222. https://html.spec.whatwg.org/#attr-fe-autocomplete-home 25223. https://html.spec.whatwg.org/#attr-fe-autocomplete-work 25224. https://html.spec.whatwg.org/#attr-fe-autocomplete-mobile 25225. https://html.spec.whatwg.org/#attr-fe-autocomplete-fax 25226. https://html.spec.whatwg.org/#attr-fe-autocomplete-pager 25227. https://infra.spec.whatwg.org/#ascii-case-insensitive 25228. https://html.spec.whatwg.org/#attr-fe-autocomplete-shipping 25229. https://html.spec.whatwg.org/#attr-fe-autocomplete-billing 25230. https://infra.spec.whatwg.org/#ascii-case-insensitive 25231. https://html.spec.whatwg.org/#attr-fe-autocomplete-section 25232. https://infra.spec.whatwg.org/#ascii-lowercase 25233. https://html.spec.whatwg.org/#autofill-hint-set 25234. https://html.spec.whatwg.org/#non-autofill-credential-type 25235. https://html.spec.whatwg.org/#autofill-scope 25236. https://html.spec.whatwg.org/#autofill-field-name 25237. https://html.spec.whatwg.org/#idl-exposed-autofill-value 25238. https://html.spec.whatwg.org/#idl-exposed-autofill-value 25239. https://html.spec.whatwg.org/#autofill-hint-set 25240. https://html.spec.whatwg.org/#autofill-scope 25241. https://html.spec.whatwg.org/#attr-fe-autocomplete 25242. https://html.spec.whatwg.org/#autofill-anchor-mantle 25243. https://html.spec.whatwg.org/#autofill-field-name 25244. https://html.spec.whatwg.org/#form-owner 25245. https://html.spec.whatwg.org/#attr-form-autocomplete 25246. https://html.spec.whatwg.org/#attr-form-autocomplete-off-state 25247. https://html.spec.whatwg.org/#autofill-field-name 25248. https://html.spec.whatwg.org/#attr-fe-autocomplete-off 25249. https://html.spec.whatwg.org/#autofill-field-name 25250. https://html.spec.whatwg.org/#attr-fe-autocomplete-on 25251. https://infra.spec.whatwg.org/#ascii-case-insensitive 25252. https://html.spec.whatwg.org/#attr-fe-autocomplete-off 25253. https://html.spec.whatwg.org/#attr-fe-autocomplete-on 25254. https://html.spec.whatwg.org/#attr-fe-autocomplete-name 25255. https://html.spec.whatwg.org/#attr-fe-autocomplete-honorific-prefix 25256. https://html.spec.whatwg.org/#attr-fe-autocomplete-given-name 25257. https://html.spec.whatwg.org/#attr-fe-autocomplete-additional-name 25258. https://html.spec.whatwg.org/#attr-fe-autocomplete-family-name 25259. https://html.spec.whatwg.org/#attr-fe-autocomplete-honorific-suffix 25260. https://html.spec.whatwg.org/#attr-fe-autocomplete-nickname 25261. https://html.spec.whatwg.org/#attr-fe-autocomplete-organization-title 25262. https://html.spec.whatwg.org/#attr-fe-autocomplete-username 25263. https://html.spec.whatwg.org/#attr-fe-autocomplete-new-password 25264. https://html.spec.whatwg.org/#attr-fe-autocomplete-current-password 25265. https://html.spec.whatwg.org/#attr-fe-autocomplete-one-time-code 25266. https://html.spec.whatwg.org/#attr-fe-autocomplete-organization 25267. https://html.spec.whatwg.org/#attr-fe-autocomplete-street-address 25268. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-line1 25269. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-line2 25270. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-line3 25271. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-level4 25272. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-level3 25273. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-level2 25274. https://html.spec.whatwg.org/#attr-fe-autocomplete-address-level1 25275. https://html.spec.whatwg.org/#attr-fe-autocomplete-country 25276. https://html.spec.whatwg.org/#attr-fe-autocomplete-country-name 25277. https://html.spec.whatwg.org/#attr-fe-autocomplete-postal-code 25278. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-name 25279. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-given-name 25280. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-additional-name 25281. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-family-name 25282. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-number 25283. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-exp 25284. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-exp-month 25285. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-exp-year 25286. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-csc 25287. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-type 25288. https://html.spec.whatwg.org/#attr-fe-autocomplete-transaction-currency 25289. https://html.spec.whatwg.org/#attr-fe-autocomplete-transaction-amount 25290. https://html.spec.whatwg.org/#attr-fe-autocomplete-language 25291. https://html.spec.whatwg.org/#attr-fe-autocomplete-bday 25292. https://html.spec.whatwg.org/#attr-fe-autocomplete-bday-day 25293. https://html.spec.whatwg.org/#attr-fe-autocomplete-bday-month 25294. https://html.spec.whatwg.org/#attr-fe-autocomplete-bday-year 25295. https://html.spec.whatwg.org/#attr-fe-autocomplete-sex 25296. https://html.spec.whatwg.org/#attr-fe-autocomplete-url 25297. https://html.spec.whatwg.org/#attr-fe-autocomplete-photo 25298. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel 25299. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel-country-code 25300. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel-national 25301. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel-area-code 25302. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel-local 25303. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel-local-prefix 25304. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel-local-suffix 25305. https://html.spec.whatwg.org/#attr-fe-autocomplete-tel-extension 25306. https://html.spec.whatwg.org/#attr-fe-autocomplete-email 25307. https://html.spec.whatwg.org/#attr-fe-autocomplete-impp 25308. https://html.spec.whatwg.org/#attr-fe-autocomplete-webauthn 25309. https://html.spec.whatwg.org/#the-input-element 25310. https://html.spec.whatwg.org/#attr-input-type 25311. https://html.spec.whatwg.org/#email-state-(type=email) 25312. https://html.spec.whatwg.org/#attr-input-multiple 25313. https://html.spec.whatwg.org/#concept-fe-values 25314. https://html.spec.whatwg.org/#the-input-element 25315. https://html.spec.whatwg.org/#the-textarea-element 25316. https://html.spec.whatwg.org/#concept-fe-value 25317. https://html.spec.whatwg.org/#the-select-element 25318. https://html.spec.whatwg.org/#attr-select-multiple 25319. https://html.spec.whatwg.org/#the-option-element 25320. https://html.spec.whatwg.org/#the-select-element 25321. https://html.spec.whatwg.org/#concept-select-option-list 25322. https://html.spec.whatwg.org/#concept-option-selectedness 25323. https://html.spec.whatwg.org/#the-select-element 25324. https://html.spec.whatwg.org/#the-option-element 25325. https://html.spec.whatwg.org/#the-select-element 25326. https://html.spec.whatwg.org/#concept-select-option-list 25327. https://html.spec.whatwg.org/#concept-option-selectedness 25328. https://html.spec.whatwg.org/#autofill-hint-set 25329. https://html.spec.whatwg.org/#autofill-scope 25330. https://html.spec.whatwg.org/#autofill-field-name 25331. https://html.spec.whatwg.org/#attr-fe-autocomplete 25332. https://html.spec.whatwg.org/#autofill-expectation-mantle 25333. https://html.spec.whatwg.org/#autofill-field-name 25334. https://html.spec.whatwg.org/#attr-fe-autocomplete-off 25335. https://html.spec.whatwg.org/#control's-data 25336. https://html.spec.whatwg.org/#autofill-field-name 25337. https://html.spec.whatwg.org/#attr-fe-autocomplete-off 25338. https://html.spec.whatwg.org/#history-autocomplete 25339. https://html.spec.whatwg.org/#reactivate-a-document 25340. https://html.spec.whatwg.org/#autofill-field-name 25341. https://html.spec.whatwg.org/#attr-fe-autocomplete-off 25342. https://html.spec.whatwg.org/#control's-data 25343. https://html.spec.whatwg.org/#autofill-field-name 25344. https://html.spec.whatwg.org/#attr-fe-autocomplete-on 25345. https://html.spec.whatwg.org/#attr-fe-name 25346. https://dom.spec.whatwg.org/#concept-tree 25347. https://html.spec.whatwg.org/#autofill-field-name 25348. https://html.spec.whatwg.org/#autofill-field 25349. https://html.spec.whatwg.org/#autofill-hint-set 25350. https://html.spec.whatwg.org/#attr-fe-autocomplete-shipping 25351. https://html.spec.whatwg.org/#attr-fe-autocomplete-billing 25352. https://html.spec.whatwg.org/#autofill-hint-set 25353. https://html.spec.whatwg.org/#attr-fe-autocomplete-shipping 25354. https://html.spec.whatwg.org/#autofill-hint-set 25355. https://html.spec.whatwg.org/#autofill-anchor-mantle 25356. https://html.spec.whatwg.org/#autofill-field-name 25357. https://html.spec.whatwg.org/#control's-data 25358. https://html.spec.whatwg.org/#autofill-hint-set 25359. https://html.spec.whatwg.org/#autofill-scope 25360. https://html.spec.whatwg.org/#autofill-field-name 25361. https://html.spec.whatwg.org/#form-owner 25362. https://html.spec.whatwg.org/#autofill-scope 25363. https://html.spec.whatwg.org/#attr-fe-autocomplete-country 25364. https://html.spec.whatwg.org/#attr-fe-autocomplete-country-name 25365. https://html.spec.whatwg.org/#form-owner 25366. https://html.spec.whatwg.org/#autofill-scope 25367. https://html.spec.whatwg.org/#attr-fe-autocomplete-country 25368. https://html.spec.whatwg.org/#attr-fe-autocomplete-country-name 25369. https://html.spec.whatwg.org/#autofill-field-name 25370. https://html.spec.whatwg.org/#form-owner 25371. https://html.spec.whatwg.org/#autofill-scope 25372. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-exp 25373. https://html.spec.whatwg.org/#attr-fe-autocomplete-cc-exp-month 25374. https://html.spec.whatwg.org/#autofill-anchor-mantle 25375. https://html.spec.whatwg.org/#the-input-element 25376. https://html.spec.whatwg.org/#autofill-scope 25377. https://html.spec.whatwg.org/#control's-data 25378. https://html.spec.whatwg.org/#concept-fe-mutable 25379. https://html.spec.whatwg.org/#stop-parsing 25380. https://html.spec.whatwg.org/#the-select-element 25381. https://html.spec.whatwg.org/#the-option-element 25382. https://html.spec.whatwg.org/#autofill-field-name 25383. https://html.spec.whatwg.org/#attr-fe-autocomplete-given-name 25384. https://html.spec.whatwg.org/#the-select-element 25385. https://dom.spec.whatwg.org/#in-a-document-tree 25386. https://dom.spec.whatwg.org/#connected 25387. https://dom.spec.whatwg.org/#concept-tree-root 25388. https://dom.spec.whatwg.org/#concept-shadow-root 25389. https://html.spec.whatwg.org/#document 25390. https://html.spec.whatwg.org/#concept-fe-value 25391. https://html.spec.whatwg.org/#suffering-from-a-type-mismatch 25392. https://html.spec.whatwg.org/#suffering-from-being-too-long 25393. https://html.spec.whatwg.org/#suffering-from-being-too-short 25394. https://html.spec.whatwg.org/#suffering-from-an-underflow 25395. https://html.spec.whatwg.org/#suffering-from-an-overflow 25396. https://html.spec.whatwg.org/#suffering-from-a-step-mismatch 25397. https://html.spec.whatwg.org/#concept-fe-value 25398. https://html.spec.whatwg.org/#suffering-from-a-pattern-mismatch 25399. https://html.spec.whatwg.org/#month-state-(type=month) 25400. https://html.spec.whatwg.org/#autofill-field-name 25401. https://html.spec.whatwg.org/#attr-fe-autocomplete-bday 25402. https://html.spec.whatwg.org/#month-state-(type=month) 25403. https://html.spec.whatwg.org/#autofill-field-name 25404. https://html.spec.whatwg.org/#attr-fe-autocomplete-off 25405. https://html.spec.whatwg.org/#attr-fe-autocomplete-on 25406. https://html.spec.whatwg.org/#attr-fe-autocomplete-off 25407. https://html.spec.whatwg.org/#autofill-field-name 25408. https://html.spec.whatwg.org/#autofill-field-name 25409. https://html.spec.whatwg.org/#attr-fe-autocomplete-on 25410. https://html.spec.whatwg.org/#attr-fe-autocomplete-off 25411. https://dom.spec.whatwg.org/#concept-tree-order 25412. https://html.spec.whatwg.org/#autofill-field-name 25413. https://html.spec.whatwg.org/#category-listed 25414. https://html.spec.whatwg.org/#form-owner 25415. https://html.spec.whatwg.org/#autofill-field-name 25416. https://html.spec.whatwg.org/#the-input-element 25417. https://html.spec.whatwg.org/#attr-input-type 25418. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25419. https://html.spec.whatwg.org/#the-input-element 25420. https://html.spec.whatwg.org/#attr-input-type 25421. https://html.spec.whatwg.org/#password-state-(type=password) 25422. https://html.spec.whatwg.org/#attr-fe-autocomplete-username 25423. https://html.spec.whatwg.org/#the-input-element 25424. https://html.spec.whatwg.org/#attr-input-type 25425. https://html.spec.whatwg.org/#password-state-(type=password) 25426. https://html.spec.whatwg.org/#the-input-element 25427. https://html.spec.whatwg.org/#autofill-field-name 25428. https://html.spec.whatwg.org/#attr-fe-autocomplete-username 25429. https://html.spec.whatwg.org/#attr-fe-autocomplete-current-password 25430. https://html.spec.whatwg.org/#the-input-element 25431. https://html.spec.whatwg.org/#attr-input-type 25432. https://html.spec.whatwg.org/#password-state-(type=password) 25433. https://html.spec.whatwg.org/#the-input-element 25434. https://html.spec.whatwg.org/#autofill-field-name 25435. https://html.spec.whatwg.org/#attr-fe-autocomplete-current-password 25436. https://html.spec.whatwg.org/#attr-fe-autocomplete-new-password 25437. https://html.spec.whatwg.org/#the-input-element 25438. https://html.spec.whatwg.org/#attr-input-type 25439. https://html.spec.whatwg.org/#password-state-(type=password) 25440. https://html.spec.whatwg.org/#the-input-element 25441. https://html.spec.whatwg.org/#autofill-field-name 25442. https://html.spec.whatwg.org/#attr-fe-autocomplete-new-password 25443. https://html.spec.whatwg.org/#attr-fe-autocomplete-new-password 25444. https://html.spec.whatwg.org/#idl-exposed-autofill-value 25445. https://html.spec.whatwg.org/#reflect 25446. https://html.spec.whatwg.org/#the-input-element 25447. https://html.spec.whatwg.org/#the-textarea-element 25448. https://html.spec.whatwg.org/#dom-textarea/input-select 25449. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 25450. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 25451. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 25452. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 25453. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange 25454. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 25455. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setRangeText 25456. https://html.spec.whatwg.org/#dom-selectionmode-select 25457. https://html.spec.whatwg.org/#dom-selectionmode-start 25458. https://html.spec.whatwg.org/#dom-selectionmode-end 25459. https://html.spec.whatwg.org/#dom-selectionmode-preserve 25460. https://html.spec.whatwg.org/#the-input-element 25461. https://html.spec.whatwg.org/#concept-input-apply 25462. https://html.spec.whatwg.org/#the-textarea-element 25463. https://html.spec.whatwg.org/#being-rendered 25464. https://infra.spec.whatwg.org/#code-unit 25465. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25466. https://html.spec.whatwg.org/#concept-textarea/input-cursor 25467. https://html.spec.whatwg.org/#the-input-element 25468. https://html.spec.whatwg.org/#concept-fe-value 25469. https://html.spec.whatwg.org/#the-textarea-element 25470. https://html.spec.whatwg.org/#concept-fe-api-value 25471. https://html.spec.whatwg.org/#concept-fe-api-value 25472. https://html.spec.whatwg.org/#concept-textarea-raw-value 25473. https://html.spec.whatwg.org/#the-textarea-element 25474. https://html.spec.whatwg.org/#concept-textarea-raw-value 25475. https://html.spec.whatwg.org/#concept-fe-api-value 25476. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25477. https://html.spec.whatwg.org/#concept-textarea/input-selection 25478. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25479. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25480. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25481. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25482. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25483. https://html.spec.whatwg.org/#concept-textarea/input-cursor 25484. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25485. https://html.spec.whatwg.org/#concept-textarea/input-cursor 25486. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25487. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25488. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25489. https://html.spec.whatwg.org/#concept-textarea/input-cursor 25490. https://html.spec.whatwg.org/#dom-textarea-value 25491. https://html.spec.whatwg.org/#the-textarea-element 25492. https://html.spec.whatwg.org/#concept-textarea/input-selection 25493. https://html.spec.whatwg.org/#the-input-element 25494. https://html.spec.whatwg.org/#the-textarea-element 25495. https://html.spec.whatwg.org/#set-the-selection-range 25496. https://html.spec.whatwg.org/#concept-textarea/input-selection 25497. https://html.spec.whatwg.org/#the-input-element 25498. https://html.spec.whatwg.org/#the-textarea-element 25499. https://html.spec.whatwg.org/#selection-direction 25500. https://html.spec.whatwg.org/#selection-direction 25501. https://html.spec.whatwg.org/#selection-direction 25502. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/select 25503. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/select 25504. https://html.spec.whatwg.org/#the-input-element 25505. https://html.spec.whatwg.org/#dom-textarea/input-select 25506. https://html.spec.whatwg.org/#do-not-apply 25507. https://html.spec.whatwg.org/#color-state-(type=color) 25508. https://html.spec.whatwg.org/#set-the-selection-range 25509. https://html.spec.whatwg.org/#the-input-element 25510. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 25511. https://html.spec.whatwg.org/#do-not-apply 25512. https://html.spec.whatwg.org/#concept-textarea/input-selection 25513. https://infra.spec.whatwg.org/#code-unit 25514. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25515. https://html.spec.whatwg.org/#concept-textarea/input-cursor 25516. https://infra.spec.whatwg.org/#code-unit 25517. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25518. https://html.spec.whatwg.org/#concept-textarea/input-selection 25519. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 25520. https://html.spec.whatwg.org/#the-input-element 25521. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 25522. https://html.spec.whatwg.org/#do-not-apply 25523. https://webidl.spec.whatwg.org/#invalidstateerror 25524. https://webidl.spec.whatwg.org/#dfn-DOMException 25525. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 25526. https://html.spec.whatwg.org/#set-the-selection-range 25527. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 25528. https://html.spec.whatwg.org/#the-input-element 25529. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 25530. https://html.spec.whatwg.org/#do-not-apply 25531. https://html.spec.whatwg.org/#concept-textarea/input-selection 25532. https://infra.spec.whatwg.org/#code-unit 25533. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25534. https://html.spec.whatwg.org/#concept-textarea/input-cursor 25535. https://infra.spec.whatwg.org/#code-unit 25536. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25537. https://html.spec.whatwg.org/#concept-textarea/input-selection 25538. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 25539. https://html.spec.whatwg.org/#the-input-element 25540. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 25541. https://html.spec.whatwg.org/#do-not-apply 25542. https://webidl.spec.whatwg.org/#invalidstateerror 25543. https://webidl.spec.whatwg.org/#dfn-DOMException 25544. https://html.spec.whatwg.org/#set-the-selection-range 25545. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 25546. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 25547. https://html.spec.whatwg.org/#the-input-element 25548. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 25549. https://html.spec.whatwg.org/#do-not-apply 25550. https://html.spec.whatwg.org/#selection-direction 25551. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 25552. https://html.spec.whatwg.org/#the-input-element 25553. https://html.spec.whatwg.org/#dom-textarea/input-selectiondirection 25554. https://html.spec.whatwg.org/#do-not-apply 25555. https://webidl.spec.whatwg.org/#invalidstateerror 25556. https://webidl.spec.whatwg.org/#dfn-DOMException 25557. https://html.spec.whatwg.org/#set-the-selection-range 25558. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 25559. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 25560. https://html.spec.whatwg.org/#the-input-element 25561. https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange 25562. https://html.spec.whatwg.org/#do-not-apply 25563. https://webidl.spec.whatwg.org/#invalidstateerror 25564. https://webidl.spec.whatwg.org/#dfn-DOMException 25565. https://html.spec.whatwg.org/#set-the-selection-range 25566. https://html.spec.whatwg.org/#concept-textarea/input-selection 25567. https://infra.spec.whatwg.org/#code-unit 25568. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25569. https://infra.spec.whatwg.org/#string-length 25570. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25571. https://infra.spec.whatwg.org/#string-is 25572. https://html.spec.whatwg.org/#set-the-selection-direction 25573. https://html.spec.whatwg.org/#concept-textarea/input-selection 25574. https://html.spec.whatwg.org/#selection-direction 25575. https://html.spec.whatwg.org/#queue-an-element-task 25576. https://html.spec.whatwg.org/#user-interaction-task-source 25577. https://dom.spec.whatwg.org/#concept-event-fire 25578. https://html.spec.whatwg.org/#event-select 25579. https://dom.spec.whatwg.org/#dom-event-bubbles 25580. https://html.spec.whatwg.org/#the-input-element 25581. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 25582. https://html.spec.whatwg.org/#do-not-apply 25583. https://webidl.spec.whatwg.org/#invalidstateerror 25584. https://webidl.spec.whatwg.org/#dfn-DOMException 25585. https://html.spec.whatwg.org/#concept-fe-dirty 25586. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 25587. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 25588. https://webidl.spec.whatwg.org/#indexsizeerror 25589. https://webidl.spec.whatwg.org/#dfn-DOMException 25590. https://infra.spec.whatwg.org/#string-length 25591. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25592. https://infra.spec.whatwg.org/#string-length 25593. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25594. https://infra.spec.whatwg.org/#string-length 25595. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25596. https://infra.spec.whatwg.org/#string-length 25597. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25598. https://html.spec.whatwg.org/#dom-textarea/input-selectionstart 25599. https://html.spec.whatwg.org/#dom-textarea/input-selectionend 25600. https://infra.spec.whatwg.org/#code-unit 25601. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25602. https://html.spec.whatwg.org/#concept-textarea/input-relevant-value 25603. https://infra.spec.whatwg.org/#code-unit 25604. https://infra.spec.whatwg.org/#string-length 25605. https://html.spec.whatwg.org/#set-the-selection-range 25606. https://html.spec.whatwg.org/#dom-textarea/input-setrangetext 25607. https://html.spec.whatwg.org/#dom-selectionmode-select 25608. https://html.spec.whatwg.org/#dom-selectionmode-start 25609. https://html.spec.whatwg.org/#dom-selectionmode-end 25610. https://html.spec.whatwg.org/#dom-selectionmode-preserve 25611. https://html.spec.whatwg.org/#the-input-element 25612. https://html.spec.whatwg.org/#the-textarea-element 25613. https://html.spec.whatwg.org/#the-input-element 25614. https://html.spec.whatwg.org/#the-textarea-element 25615. https://html.spec.whatwg.org/#category-submit 25616. https://html.spec.whatwg.org/#barred-from-constraint-validation 25617. https://html.spec.whatwg.org/#the-datalist-element 25618. https://html.spec.whatwg.org/#custom-validity-error-message 25619. https://html.spec.whatwg.org/#suffering-from-a-custom-error 25620. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 25621. https://html.spec.whatwg.org/#form-associated-custom-element 25622. https://html.spec.whatwg.org/#form-associated-custom-element 25623. https://html.spec.whatwg.org/#custom-validity-error-message 25624. https://html.spec.whatwg.org/#elementinternals 25625. https://html.spec.whatwg.org/#dom-elementinternals-setvalidity 25626. https://html.spec.whatwg.org/#custom-validity-error-message 25627. https://html.spec.whatwg.org/#concept-fe-value 25628. https://html.spec.whatwg.org/#the-input-element 25629. https://html.spec.whatwg.org/#attr-input-required 25630. https://html.spec.whatwg.org/#the-textarea-element 25631. https://html.spec.whatwg.org/#attr-textarea-required 25632. https://html.spec.whatwg.org/#the-select-element 25633. https://html.spec.whatwg.org/#radio-button-group 25634. https://html.spec.whatwg.org/#dom-elementinternals-setvalidity 25635. https://html.spec.whatwg.org/#form-associated-custom-element 25636. https://html.spec.whatwg.org/#concept-fe-value 25637. https://html.spec.whatwg.org/#email-state-(type=email) 25638. https://html.spec.whatwg.org/#url-state-(type=url) 25639. https://html.spec.whatwg.org/#dom-elementinternals-setvalidity 25640. https://html.spec.whatwg.org/#form-associated-custom-element 25641. https://html.spec.whatwg.org/#concept-fe-value 25642. https://html.spec.whatwg.org/#attr-input-pattern 25643. https://html.spec.whatwg.org/#dom-elementinternals-setvalidity 25644. https://html.spec.whatwg.org/#form-associated-custom-element 25645. https://html.spec.whatwg.org/#concept-fe-value 25646. https://html.spec.whatwg.org/#attr-fe-maxlength 25647. https://html.spec.whatwg.org/#the-input-element 25648. https://html.spec.whatwg.org/#attr-input-maxlength 25649. https://html.spec.whatwg.org/#the-textarea-element 25650. https://html.spec.whatwg.org/#attr-textarea-maxlength 25651. https://html.spec.whatwg.org/#dom-elementinternals-setvalidity 25652. https://html.spec.whatwg.org/#form-associated-custom-element 25653. https://html.spec.whatwg.org/#concept-fe-value 25654. https://html.spec.whatwg.org/#attr-fe-minlength 25655. https://html.spec.whatwg.org/#the-input-element 25656. https://html.spec.whatwg.org/#attr-input-minlength 25657. https://html.spec.whatwg.org/#the-textarea-element 25658. https://html.spec.whatwg.org/#attr-textarea-minlength 25659. https://html.spec.whatwg.org/#dom-elementinternals-setvalidity 25660. https://html.spec.whatwg.org/#form-associated-custom-element 25661. https://html.spec.whatwg.org/#concept-fe-value 25662. https://html.spec.whatwg.org/#attr-input-min 25663. https://html.spec.whatwg.org/#dom-elementinternals-setvalidity 25664. https://html.spec.whatwg.org/#form-associated-custom-element 25665. https://html.spec.whatwg.org/#concept-fe-value 25666. https://html.spec.whatwg.org/#attr-input-max 25667. https://html.spec.whatwg.org/#dom-elementinternals-setvalidity 25668. https://html.spec.whatwg.org/#form-associated-custom-element 25669. https://html.spec.whatwg.org/#concept-fe-value 25670. https://html.spec.whatwg.org/#attr-input-step 25671. https://html.spec.whatwg.org/#dom-elementinternals-setvalidity 25672. https://html.spec.whatwg.org/#form-associated-custom-element 25673. https://html.spec.whatwg.org/#dom-elementinternals-setvalidity 25674. https://html.spec.whatwg.org/#form-associated-custom-element 25675. https://html.spec.whatwg.org/#custom-validity-error-message 25676. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 25677. https://html.spec.whatwg.org/#elementinternals 25678. https://html.spec.whatwg.org/#dom-elementinternals-setvalidity 25679. https://html.spec.whatwg.org/#concept-fe-disabled 25680. https://html.spec.whatwg.org/#validity-states 25681. https://html.spec.whatwg.org/#the-form-element 25682. https://html.spec.whatwg.org/#category-submit 25683. https://html.spec.whatwg.org/#form-owner 25684. https://dom.spec.whatwg.org/#concept-tree-order 25685. https://dom.spec.whatwg.org/#concept-tree-order 25686. https://html.spec.whatwg.org/#candidate-for-constraint-validation 25687. https://html.spec.whatwg.org/#concept-fv-valid 25688. https://dom.spec.whatwg.org/#concept-tree-order 25689. https://dom.spec.whatwg.org/#concept-event-fire 25690. https://html.spec.whatwg.org/#event-invalid 25691. https://dom.spec.whatwg.org/#dom-event-cancelable 25692. https://html.spec.whatwg.org/#the-form-element 25693. https://html.spec.whatwg.org/#statically-validate-the-constraints 25694. https://html.spec.whatwg.org/#focusing-steps 25695. https://html.spec.whatwg.org/#form-associated-custom-element 25696. https://html.spec.whatwg.org/#face-validation-anchor 25697. https://html.spec.whatwg.org/#radio-button-group 25698. https://html.spec.whatwg.org/#being-rendered 25699. https://html.spec.whatwg.org/#attr-hidden 25700. https://html.spec.whatwg.org/#dom-cva-willvalidate 25701. https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/willValidate 25702. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 25703. https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/setCustomValidity 25704. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/setCustomValidity 25705. https://html.spec.whatwg.org/#dom-cva-validity 25706. https://html.spec.whatwg.org/#dom-validitystate-valuemissing 25707. https://developer.mozilla.org/en-US/docs/Web/API/ValidityState/valueMissing 25708. https://html.spec.whatwg.org/#dom-cva-validity 25709. https://html.spec.whatwg.org/#dom-validitystate-typemismatch 25710. https://html.spec.whatwg.org/#dom-cva-validity 25711. https://html.spec.whatwg.org/#dom-validitystate-patternmismatch 25712. https://html.spec.whatwg.org/#dom-cva-validity 25713. https://html.spec.whatwg.org/#dom-validitystate-toolong 25714. https://developer.mozilla.org/en-US/docs/Web/API/ValidityState/tooLong 25715. https://html.spec.whatwg.org/#dom-cva-validity 25716. https://html.spec.whatwg.org/#dom-validitystate-tooshort 25717. https://developer.mozilla.org/en-US/docs/Web/API/ValidityState/tooShort 25718. https://html.spec.whatwg.org/#dom-cva-validity 25719. https://html.spec.whatwg.org/#dom-validitystate-rangeunderflow 25720. https://html.spec.whatwg.org/#dom-cva-validity 25721. https://html.spec.whatwg.org/#dom-validitystate-rangeoverflow 25722. https://html.spec.whatwg.org/#dom-cva-validity 25723. https://html.spec.whatwg.org/#dom-validitystate-stepmismatch 25724. https://html.spec.whatwg.org/#attr-input-step 25725. https://html.spec.whatwg.org/#dom-cva-validity 25726. https://html.spec.whatwg.org/#dom-validitystate-badinput 25727. https://developer.mozilla.org/en-US/docs/Web/API/ValidityState/badInput 25728. https://html.spec.whatwg.org/#dom-cva-validity 25729. https://html.spec.whatwg.org/#dom-validitystate-customerror 25730. https://html.spec.whatwg.org/#dom-cva-validity 25731. https://html.spec.whatwg.org/#dom-validitystate-valid 25732. https://html.spec.whatwg.org/#dom-cva-checkvalidity 25733. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/checkValidity 25734. https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/checkValidity 25735. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/checkValidity 25736. https://html.spec.whatwg.org/#event-invalid 25737. https://html.spec.whatwg.org/#dom-cva-reportvalidity 25738. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/reportValidity 25739. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/reportValidity 25740. https://html.spec.whatwg.org/#event-invalid 25741. https://html.spec.whatwg.org/#dom-cva-validationmessage 25742. https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/validationMessage 25743. https://html.spec.whatwg.org/#candidate-for-constraint-validation 25744. https://html.spec.whatwg.org/#barred-from-constraint-validation 25745. https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/willValidate 25746. https://html.spec.whatwg.org/#elementinternals 25747. https://webidl.spec.whatwg.org/#notsupportederror 25748. https://webidl.spec.whatwg.org/#dfn-DOMException 25749. https://html.spec.whatwg.org/#internals-target 25750. https://html.spec.whatwg.org/#form-associated-custom-element 25751. https://html.spec.whatwg.org/#internals-target 25752. https://html.spec.whatwg.org/#candidate-for-constraint-validation 25753. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setCustomValidity 25754. https://infra.spec.whatwg.org/#normalize-newlines 25755. https://html.spec.whatwg.org/#custom-validity-error-message 25756. https://html.spec.whatwg.org/#dom-cva-setcustomvalidity 25757. https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/validity 25758. https://html.spec.whatwg.org/#validitystate 25759. https://html.spec.whatwg.org/#validity-states 25760. https://html.spec.whatwg.org/#live 25761. https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/validity 25762. https://html.spec.whatwg.org/#elementinternals 25763. https://webidl.spec.whatwg.org/#notsupportederror 25764. https://webidl.spec.whatwg.org/#dfn-DOMException 25765. https://html.spec.whatwg.org/#internals-target 25766. https://html.spec.whatwg.org/#form-associated-custom-element 25767. https://html.spec.whatwg.org/#validitystate 25768. https://html.spec.whatwg.org/#validity-states 25769. https://html.spec.whatwg.org/#internals-target 25770. https://html.spec.whatwg.org/#live 25771. https://html.spec.whatwg.org/#dom-validitystate-valuemissing 25772. https://html.spec.whatwg.org/#dom-validitystate-typemismatch 25773. https://html.spec.whatwg.org/#dom-validitystate-patternmismatch 25774. https://html.spec.whatwg.org/#dom-validitystate-toolong 25775. https://html.spec.whatwg.org/#dom-validitystate-tooshort 25776. https://html.spec.whatwg.org/#dom-validitystate-rangeunderflow 25777. https://html.spec.whatwg.org/#dom-validitystate-rangeoverflow 25778. https://html.spec.whatwg.org/#dom-validitystate-stepmismatch 25779. https://html.spec.whatwg.org/#dom-validitystate-badinput 25780. https://html.spec.whatwg.org/#dom-validitystate-customerror 25781. https://html.spec.whatwg.org/#dom-validitystate-valid 25782. https://html.spec.whatwg.org/#validitystate 25783. https://html.spec.whatwg.org/#suffering-from-being-missing 25784. https://developer.mozilla.org/en-US/docs/Web/API/ValidityState/typeMismatch 25785. https://html.spec.whatwg.org/#suffering-from-a-type-mismatch 25786. https://developer.mozilla.org/en-US/docs/Web/API/ValidityState/patternMismatch 25787. https://html.spec.whatwg.org/#suffering-from-a-pattern-mismatch 25788. https://html.spec.whatwg.org/#suffering-from-being-too-long 25789. https://html.spec.whatwg.org/#suffering-from-being-too-short 25790. https://developer.mozilla.org/en-US/docs/Web/API/ValidityState/rangeUnderflow 25791. https://html.spec.whatwg.org/#suffering-from-an-underflow 25792. https://developer.mozilla.org/en-US/docs/Web/API/ValidityState/rangeOverflow 25793. https://html.spec.whatwg.org/#suffering-from-an-overflow 25794. https://developer.mozilla.org/en-US/docs/Web/API/ValidityState/stepMismatch 25795. https://html.spec.whatwg.org/#suffering-from-a-step-mismatch 25796. https://html.spec.whatwg.org/#suffering-from-bad-input 25797. https://html.spec.whatwg.org/#suffering-from-a-custom-error 25798. https://html.spec.whatwg.org/#candidate-for-constraint-validation 25799. https://html.spec.whatwg.org/#concept-fv-valid 25800. https://dom.spec.whatwg.org/#concept-event-fire 25801. https://html.spec.whatwg.org/#event-invalid 25802. https://dom.spec.whatwg.org/#dom-event-cancelable 25803. https://html.spec.whatwg.org/#check-validity-steps 25804. https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/checkValidity 25805. https://html.spec.whatwg.org/#elementinternals 25806. https://html.spec.whatwg.org/#elementinternals 25807. https://html.spec.whatwg.org/#internals-target 25808. https://html.spec.whatwg.org/#form-associated-custom-element 25809. https://webidl.spec.whatwg.org/#notsupportederror 25810. https://webidl.spec.whatwg.org/#dfn-DOMException 25811. https://html.spec.whatwg.org/#check-validity-steps 25812. https://html.spec.whatwg.org/#candidate-for-constraint-validation 25813. https://html.spec.whatwg.org/#concept-fv-valid 25814. https://dom.spec.whatwg.org/#concept-event-fire 25815. https://html.spec.whatwg.org/#event-invalid 25816. https://dom.spec.whatwg.org/#dom-event-cancelable 25817. https://html.spec.whatwg.org/#focusing-steps 25818. https://html.spec.whatwg.org/#report-validity-steps 25819. https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/reportValidity 25820. https://html.spec.whatwg.org/#elementinternals 25821. https://html.spec.whatwg.org/#elementinternals 25822. https://html.spec.whatwg.org/#internals-target 25823. https://html.spec.whatwg.org/#form-associated-custom-element 25824. https://webidl.spec.whatwg.org/#notsupportederror 25825. https://webidl.spec.whatwg.org/#dfn-DOMException 25826. https://html.spec.whatwg.org/#report-validity-steps 25827. https://html.spec.whatwg.org/#candidate-for-constraint-validation 25828. https://html.spec.whatwg.org/#concept-fv-valid 25829. https://html.spec.whatwg.org/#candidate-for-constraint-validation 25830. https://html.spec.whatwg.org/#suffering-from-a-custom-error 25831. https://html.spec.whatwg.org/#custom-validity-error-message 25832. https://html.spec.whatwg.org/#concept-fs-enctype 25833. https://html.spec.whatwg.org/#concept-fs-action 25834. https://html.spec.whatwg.org/#concept-fs-method 25835. https://html.spec.whatwg.org/#the-form-element 25836. https://html.spec.whatwg.org/#concept-submit-button 25837. https://dom.spec.whatwg.org/#concept-tree-order 25838. https://html.spec.whatwg.org/#form-owner 25839. https://html.spec.whatwg.org/#the-form-element 25840. https://html.spec.whatwg.org/#focused 25841. https://html.spec.whatwg.org/#default-button 25842. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 25843. https://html.spec.whatwg.org/#concept-fe-disabled 25844. https://html.spec.whatwg.org/#fire-a-click-event 25845. https://html.spec.whatwg.org/#default-button 25846. https://html.spec.whatwg.org/#concept-submit-button 25847. https://html.spec.whatwg.org/#field-that-blocks-implicit-submission 25848. https://html.spec.whatwg.org/#concept-form-submit 25849. https://html.spec.whatwg.org/#the-form-element 25850. https://html.spec.whatwg.org/#the-form-element 25851. https://html.spec.whatwg.org/#submit-user-involvement 25852. https://html.spec.whatwg.org/#uni-activation 25853. https://html.spec.whatwg.org/#the-form-element 25854. https://html.spec.whatwg.org/#the-input-element 25855. https://html.spec.whatwg.org/#form-owner 25856. https://html.spec.whatwg.org/#the-form-element 25857. https://html.spec.whatwg.org/#attr-input-type 25858. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25859. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 25860. https://html.spec.whatwg.org/#telephone-state-(type=tel) 25861. https://html.spec.whatwg.org/#url-state-(type=url) 25862. https://html.spec.whatwg.org/#email-state-(type=email) 25863. https://html.spec.whatwg.org/#password-state-(type=password) 25864. https://html.spec.whatwg.org/#date-state-(type=date) 25865. https://html.spec.whatwg.org/#month-state-(type=month) 25866. https://html.spec.whatwg.org/#week-state-(type=week) 25867. https://html.spec.whatwg.org/#time-state-(type=time) 25868. https://html.spec.whatwg.org/#local-date-and-time-state-(type=datetime-local) 25869. https://html.spec.whatwg.org/#number-state-(type=number) 25870. https://html.spec.whatwg.org/#the-form-element 25871. https://html.spec.whatwg.org/#the-form-element 25872. https://html.spec.whatwg.org/#the-form-element 25873. https://html.spec.whatwg.org/#user-navigation-involvement 25874. https://html.spec.whatwg.org/#uni-none 25875. https://html.spec.whatwg.org/#cannot-navigate 25876. https://html.spec.whatwg.org/#constructing-entry-list 25877. https://dom.spec.whatwg.org/#concept-node-document 25878. https://html.spec.whatwg.org/#active-sandboxing-flag-set 25879. https://html.spec.whatwg.org/#sandboxed-forms-browsing-context-flag 25880. https://html.spec.whatwg.org/#dom-form-submit 25881. https://html.spec.whatwg.org/#firing-submission-events 25882. https://html.spec.whatwg.org/#firing-submission-events 25883. https://html.spec.whatwg.org/#category-submit 25884. https://html.spec.whatwg.org/#form-owner 25885. https://html.spec.whatwg.org/#user-validity 25886. https://html.spec.whatwg.org/#concept-fs-novalidate 25887. https://html.spec.whatwg.org/#interactively-validate-the-constraints 25888. https://html.spec.whatwg.org/#firing-submission-events 25889. https://dom.spec.whatwg.org/#concept-event-fire 25890. https://html.spec.whatwg.org/#event-submit 25891. https://html.spec.whatwg.org/#submitevent 25892. https://html.spec.whatwg.org/#dom-submitevent-submitter 25893. https://dom.spec.whatwg.org/#dom-event-bubbles 25894. https://dom.spec.whatwg.org/#dom-event-cancelable 25895. https://html.spec.whatwg.org/#firing-submission-events 25896. https://html.spec.whatwg.org/#cannot-navigate 25897. https://html.spec.whatwg.org/#cannot-navigate 25898. https://html.spec.whatwg.org/#event-submit 25899. https://html.spec.whatwg.org/#picking-an-encoding-for-the-form 25900. https://html.spec.whatwg.org/#constructing-the-form-data-set 25901. https://infra.spec.whatwg.org/#assert 25902. https://html.spec.whatwg.org/#cannot-navigate 25903. https://html.spec.whatwg.org/#cannot-navigate 25904. https://html.spec.whatwg.org/#event-formdata 25905. https://html.spec.whatwg.org/#constructing-the-form-data-set 25906. https://html.spec.whatwg.org/#concept-fs-method 25907. https://html.spec.whatwg.org/#attr-fs-method-dialog 25908. https://html.spec.whatwg.org/#the-dialog-element 25909. https://html.spec.whatwg.org/#the-dialog-element 25910. https://html.spec.whatwg.org/#the-input-element 25911. https://html.spec.whatwg.org/#attr-input-type 25912. https://html.spec.whatwg.org/#image-button-state-(type=image) 25913. https://html.spec.whatwg.org/#concept-input-type-image-coordinate 25914. https://html.spec.whatwg.org/#concept-fe-value 25915. https://html.spec.whatwg.org/#concept-fe-value 25916. https://html.spec.whatwg.org/#close-the-dialog 25917. https://html.spec.whatwg.org/#concept-fs-action 25918. https://dom.spec.whatwg.org/#concept-document-url 25919. https://html.spec.whatwg.org/#encoding-parsing-a-url 25920. https://dom.spec.whatwg.org/#concept-node-document 25921. https://url.spec.whatwg.org/#concept-url-scheme 25922. https://html.spec.whatwg.org/#concept-fs-enctype 25923. https://html.spec.whatwg.org/#concept-submit-button 25924. https://html.spec.whatwg.org/#attr-fs-formtarget 25925. https://html.spec.whatwg.org/#attr-fs-formtarget 25926. https://html.spec.whatwg.org/#get-an-element's-target 25927. https://html.spec.whatwg.org/#form-owner 25928. https://html.spec.whatwg.org/#get-an-element's-noopener 25929. https://html.spec.whatwg.org/#the-rules-for-choosing-a-navigable 25930. https://html.spec.whatwg.org/#node-navigable 25931. https://html.spec.whatwg.org/#navigationhistorybehavior-auto 25932. https://html.spec.whatwg.org/#nav-document 25933. https://html.spec.whatwg.org/#completely-loaded 25934. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 25935. https://html.spec.whatwg.org/#attr-fs-method-get 25936. https://html.spec.whatwg.org/#attr-fs-method-post 25937. https://html.spec.whatwg.org/#submit-mutate-action 25938. https://html.spec.whatwg.org/#submit-body 25939. https://html.spec.whatwg.org/#submit-mutate-action 25940. https://html.spec.whatwg.org/#submit-body 25941. https://html.spec.whatwg.org/#submit-get-action 25942. https://html.spec.whatwg.org/#submit-get-action 25943. https://html.spec.whatwg.org/#submit-get-action 25944. https://html.spec.whatwg.org/#submit-get-action 25945. https://html.spec.whatwg.org/#submit-mutate-action 25946. https://html.spec.whatwg.org/#submit-get-action 25947. https://html.spec.whatwg.org/#submit-mailto-headers 25948. https://html.spec.whatwg.org/#submit-mailto-body 25949. https://html.spec.whatwg.org/#the-form-element 25950. https://html.spec.whatwg.org/#concept-task 25951. https://html.spec.whatwg.org/#the-form-element 25952. https://html.spec.whatwg.org/#planned-navigation 25953. https://url.spec.whatwg.org/#concept-url 25954. https://html.spec.whatwg.org/#post-resource 25955. https://html.spec.whatwg.org/#the-form-element 25956. https://html.spec.whatwg.org/#linkTypes 25957. https://html.spec.whatwg.org/#link-type-noreferrer 25958. https://html.spec.whatwg.org/#the-form-element 25959. https://html.spec.whatwg.org/#planned-navigation 25960. https://html.spec.whatwg.org/#task-queue 25961. https://html.spec.whatwg.org/#queue-an-element-task 25962. https://html.spec.whatwg.org/#dom-manipulation-task-source 25963. https://html.spec.whatwg.org/#the-form-element 25964. https://html.spec.whatwg.org/#the-form-element 25965. https://html.spec.whatwg.org/#planned-navigation 25966. https://html.spec.whatwg.org/#navigate 25967. https://html.spec.whatwg.org/#the-form-element 25968. https://dom.spec.whatwg.org/#concept-node-document 25969. https://html.spec.whatwg.org/#navigation-hh 25970. https://html.spec.whatwg.org/#navigation-user-involvement 25971. https://html.spec.whatwg.org/#navigation-source-element 25972. https://html.spec.whatwg.org/#navigation-referrer-policy 25973. https://html.spec.whatwg.org/#navigation-resource 25974. https://html.spec.whatwg.org/#navigation-form-data-entry-list 25975. https://html.spec.whatwg.org/#the-form-element 25976. https://html.spec.whatwg.org/#planned-navigation 25977. https://html.spec.whatwg.org/#concept-task 25978. https://html.spec.whatwg.org/#convert-to-a-list-of-name-value-pairs 25979. https://url.spec.whatwg.org/#concept-urlencoded-serializer 25980. https://url.spec.whatwg.org/#concept-url-query 25981. https://html.spec.whatwg.org/#plan-to-navigate 25982. https://infra.spec.whatwg.org/#assert 25983. https://html.spec.whatwg.org/#attr-fs-method-post 25984. https://html.spec.whatwg.org/#attr-fs-enctype-urlencoded 25985. https://html.spec.whatwg.org/#convert-to-a-list-of-name-value-pairs 25986. https://url.spec.whatwg.org/#concept-urlencoded-serializer 25987. https://encoding.spec.whatwg.org/#utf-8-encode 25988. https://url.spec.whatwg.org/#concept-urlencoded 25989. https://html.spec.whatwg.org/#attr-fs-enctype-formdata 25990. https://html.spec.whatwg.org/#multipart/form-data-encoding-algorithm 25991. https://infra.spec.whatwg.org/#isomorphic-encode 25992. https://html.spec.whatwg.org/#multipart/form-data-boundary-string 25993. https://html.spec.whatwg.org/#multipart/form-data-encoding-algorithm 25994. https://html.spec.whatwg.org/#attr-fs-enctype-text 25995. https://html.spec.whatwg.org/#convert-to-a-list-of-name-value-pairs 25996. https://html.spec.whatwg.org/#text/plain-encoding-algorithm 25997. https://encoding.spec.whatwg.org/#encode 25998. https://www.rfc-editor.org/rfc/rfc2046#section-4.1.3 25999. https://html.spec.whatwg.org/#plan-to-navigate 26000. https://html.spec.whatwg.org/#post-resource 26001. https://html.spec.whatwg.org/#post-resource-request-body 26002. https://html.spec.whatwg.org/#post-resource-request-content-type 26003. https://html.spec.whatwg.org/#plan-to-navigate 26004. https://html.spec.whatwg.org/#convert-to-a-list-of-name-value-pairs 26005. https://url.spec.whatwg.org/#concept-urlencoded-serializer 26006. https://url.spec.whatwg.org/#concept-url-query 26007. https://html.spec.whatwg.org/#plan-to-navigate 26008. https://html.spec.whatwg.org/#convert-to-a-list-of-name-value-pairs 26009. https://html.spec.whatwg.org/#attr-fs-enctype-text 26010. https://html.spec.whatwg.org/#text/plain-encoding-algorithm 26011. https://url.spec.whatwg.org/#string-utf-8-percent-encode 26012. https://url.spec.whatwg.org/#default-encode-set 26013. https://html.spec.whatwg.org/#refsURL 26014. https://url.spec.whatwg.org/#concept-urlencoded-serializer 26015. https://url.spec.whatwg.org/#concept-url-query 26016. https://url.spec.whatwg.org/#concept-url-query 26017. https://url.spec.whatwg.org/#concept-url-query 26018. https://url.spec.whatwg.org/#concept-url-query 26019. https://html.spec.whatwg.org/#plan-to-navigate 26020. https://infra.spec.whatwg.org/#list 26021. https://html.spec.whatwg.org/#form-entry 26022. https://infra.spec.whatwg.org/#scalar-value-string 26023. https://infra.spec.whatwg.org/#scalar-value-string 26024. https://w3c.github.io/FileAPI/#dfn-file 26025. https://w3c.github.io/FileAPI/#dfn-Blob 26026. https://infra.spec.whatwg.org/#scalar-value-string 26027. https://infra.spec.whatwg.org/#javascript-string-convert 26028. https://infra.spec.whatwg.org/#scalar-value-string 26029. https://infra.spec.whatwg.org/#javascript-string-convert 26030. https://infra.spec.whatwg.org/#scalar-value-string 26031. https://w3c.github.io/FileAPI/#dfn-file 26032. https://w3c.github.io/FileAPI/#dfn-file 26033. https://w3c.github.io/FileAPI/#dfn-name 26034. https://w3c.github.io/FileAPI/#dfn-file 26035. https://w3c.github.io/FileAPI/#dfn-name 26036. https://w3c.github.io/FileAPI/#dfn-file 26037. https://w3c.github.io/FileAPI/#dfn-Blob 26038. https://w3c.github.io/FileAPI/#dfn-file 26039. https://w3c.github.io/FileAPI/#dfn-Blob 26040. https://html.spec.whatwg.org/#form-entry 26041. https://html.spec.whatwg.org/#form-entry-name 26042. https://html.spec.whatwg.org/#form-entry-value 26043. https://encoding.spec.whatwg.org/#utf-8 26044. https://html.spec.whatwg.org/#constructing-entry-list 26045. https://html.spec.whatwg.org/#constructing-entry-list 26046. https://html.spec.whatwg.org/#category-submit 26047. https://html.spec.whatwg.org/#form-owner 26048. https://dom.spec.whatwg.org/#concept-tree-order 26049. https://html.spec.whatwg.org/#entry-list 26050. https://dom.spec.whatwg.org/#concept-tree-order 26051. https://html.spec.whatwg.org/#the-datalist-element 26052. https://html.spec.whatwg.org/#concept-fe-disabled 26053. https://html.spec.whatwg.org/#concept-button 26054. https://html.spec.whatwg.org/#the-input-element 26055. https://html.spec.whatwg.org/#attr-input-type 26056. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 26057. https://html.spec.whatwg.org/#concept-fe-checked 26058. https://html.spec.whatwg.org/#the-input-element 26059. https://html.spec.whatwg.org/#attr-input-type 26060. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 26061. https://html.spec.whatwg.org/#concept-fe-checked 26062. https://infra.spec.whatwg.org/#iteration-continue 26063. https://html.spec.whatwg.org/#the-input-element 26064. https://html.spec.whatwg.org/#attr-input-type 26065. https://html.spec.whatwg.org/#image-button-state-(type=image) 26066. https://infra.spec.whatwg.org/#iteration-continue 26067. https://html.spec.whatwg.org/#attr-fe-name 26068. https://html.spec.whatwg.org/#concept-input-type-image-coordinate 26069. https://html.spec.whatwg.org/#create-an-entry 26070. https://infra.spec.whatwg.org/#list-append 26071. https://html.spec.whatwg.org/#create-an-entry 26072. https://infra.spec.whatwg.org/#list-append 26073. https://infra.spec.whatwg.org/#iteration-continue 26074. https://html.spec.whatwg.org/#form-associated-custom-element 26075. https://html.spec.whatwg.org/#face-entry-construction 26076. https://infra.spec.whatwg.org/#iteration-continue 26077. https://html.spec.whatwg.org/#attr-fe-name 26078. https://html.spec.whatwg.org/#attr-fe-name 26079. https://infra.spec.whatwg.org/#iteration-continue 26080. https://html.spec.whatwg.org/#attr-fe-name 26081. https://html.spec.whatwg.org/#the-select-element 26082. https://html.spec.whatwg.org/#the-option-element 26083. https://html.spec.whatwg.org/#the-select-element 26084. https://html.spec.whatwg.org/#concept-select-option-list 26085. https://html.spec.whatwg.org/#concept-option-selectedness 26086. https://html.spec.whatwg.org/#concept-option-disabled 26087. https://html.spec.whatwg.org/#create-an-entry 26088. https://html.spec.whatwg.org/#concept-option-value 26089. https://html.spec.whatwg.org/#the-option-element 26090. https://infra.spec.whatwg.org/#list-append 26091. https://html.spec.whatwg.org/#the-input-element 26092. https://html.spec.whatwg.org/#attr-input-type 26093. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 26094. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 26095. https://html.spec.whatwg.org/#attr-input-value 26096. https://html.spec.whatwg.org/#create-an-entry 26097. https://infra.spec.whatwg.org/#list-append 26098. https://html.spec.whatwg.org/#the-input-element 26099. https://html.spec.whatwg.org/#attr-input-type 26100. https://html.spec.whatwg.org/#file-upload-state-(type=file) 26101. https://html.spec.whatwg.org/#concept-input-type-file-selected 26102. https://html.spec.whatwg.org/#create-an-entry 26103. https://w3c.github.io/FileAPI/#dfn-file 26104. https://www.rfc-editor.org/rfc/rfc2046#section-4.5.1 26105. https://infra.spec.whatwg.org/#list-append 26106. https://html.spec.whatwg.org/#concept-input-type-file-selected 26107. https://html.spec.whatwg.org/#create-an-entry 26108. https://w3c.github.io/FileAPI/#dfn-file 26109. https://infra.spec.whatwg.org/#list-append 26110. https://html.spec.whatwg.org/#the-input-element 26111. https://html.spec.whatwg.org/#attr-input-type 26112. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 26113. https://infra.spec.whatwg.org/#ascii-case-insensitive 26114. https://html.spec.whatwg.org/#attr-fe-name-charset 26115. https://encoding.spec.whatwg.org/#name 26116. https://html.spec.whatwg.org/#create-an-entry 26117. https://infra.spec.whatwg.org/#list-append 26118. https://html.spec.whatwg.org/#create-an-entry 26119. https://html.spec.whatwg.org/#concept-fe-value 26120. https://infra.spec.whatwg.org/#list-append 26121. https://html.spec.whatwg.org/#attr-fe-dirname 26122. https://html.spec.whatwg.org/#auto-directionality-form-associated-elements 26123. https://html.spec.whatwg.org/#attr-fe-dirname 26124. https://html.spec.whatwg.org/#the-directionality 26125. https://html.spec.whatwg.org/#concept-ltr 26126. https://html.spec.whatwg.org/#the-directionality 26127. https://html.spec.whatwg.org/#concept-rtl 26128. https://html.spec.whatwg.org/#create-an-entry 26129. https://infra.spec.whatwg.org/#list-append 26130. https://xhr.spec.whatwg.org/#formdata 26131. https://dom.spec.whatwg.org/#concept-event-fire 26132. https://html.spec.whatwg.org/#event-formdata 26133. https://html.spec.whatwg.org/#formdataevent 26134. https://html.spec.whatwg.org/#dom-formdataevent-formdata 26135. https://dom.spec.whatwg.org/#dom-event-bubbles 26136. https://html.spec.whatwg.org/#constructing-entry-list 26137. https://infra.spec.whatwg.org/#list-clone 26138. https://dom.spec.whatwg.org/#concept-document-encoding 26139. https://html.spec.whatwg.org/#the-form-element 26140. https://html.spec.whatwg.org/#attr-form-accept-charset 26141. https://html.spec.whatwg.org/#the-form-element 26142. https://html.spec.whatwg.org/#attr-form-accept-charset 26143. https://infra.spec.whatwg.org/#split-on-ascii-whitespace 26144. https://encoding.spec.whatwg.org/#encoding 26145. https://encoding.spec.whatwg.org/#concept-encoding-get 26146. https://encoding.spec.whatwg.org/#encoding 26147. https://encoding.spec.whatwg.org/#utf-8 26148. https://encoding.spec.whatwg.org/#get-an-output-encoding 26149. https://url.spec.whatwg.org/#concept-urlencoded 26150. https://html.spec.whatwg.org/#text/plain-encoding-algorithm 26151. https://html.spec.whatwg.org/#entry-list 26152. https://w3c.github.io/FileAPI/#dfn-file 26153. https://html.spec.whatwg.org/#entry-list 26154. https://infra.spec.whatwg.org/#list 26155. https://infra.spec.whatwg.org/#list-iterate 26156. https://html.spec.whatwg.org/#form-entry-name 26157. https://html.spec.whatwg.org/#form-entry-value 26158. https://w3c.github.io/FileAPI/#dfn-file 26159. https://html.spec.whatwg.org/#form-entry-value 26160. https://w3c.github.io/FileAPI/#dfn-name 26161. https://html.spec.whatwg.org/#form-entry-value 26162. https://infra.spec.whatwg.org/#list-append 26163. https://url.spec.whatwg.org/#concept-urlencoded 26164. https://html.spec.whatwg.org/#refsURL 26165. https://html.spec.whatwg.org/#entry-list 26166. https://encoding.spec.whatwg.org/#encoding 26167. https://infra.spec.whatwg.org/#list-iterate 26168. https://html.spec.whatwg.org/#form-entry-name 26169. https://html.spec.whatwg.org/#form-entry-value 26170. https://w3c.github.io/FileAPI/#dfn-file 26171. https://html.spec.whatwg.org/#form-entry-value 26172. https://html.spec.whatwg.org/#refsRFC7578 26173. https://html.spec.whatwg.org/#form-entry 26174. https://html.spec.whatwg.org/#form-entry-name 26175. https://html.spec.whatwg.org/#form-entry-value 26176. https://html.spec.whatwg.org/#multipart/form-data 26177. https://encoding.spec.whatwg.org/#encode 26178. https://html.spec.whatwg.org/#multipart/form-data 26179. https://html.spec.whatwg.org/#content-type 26180. https://html.spec.whatwg.org/#multipart/form-data 26181. https://html.spec.whatwg.org/#refsRFC7578 26182. https://www.rfc-editor.org/rfc/rfc2046#section-4.1.3 26183. https://html.spec.whatwg.org/#submitevent 26184. https://developer.mozilla.org/en-US/docs/Web/API/SubmitEvent 26185. https://developer.mozilla.org/en-US/docs/Web/API/SubmitEvent/SubmitEvent 26186. https://dom.spec.whatwg.org/#interface-event 26187. https://html.spec.whatwg.org/#submiteventinit 26188. https://html.spec.whatwg.org/#htmlelement 26189. https://html.spec.whatwg.org/#dom-submitevent-submitter 26190. https://dom.spec.whatwg.org/#dictdef-eventinit 26191. https://html.spec.whatwg.org/#htmlelement 26192. https://html.spec.whatwg.org/#dom-submitevent-submitter 26193. https://html.spec.whatwg.org/#concept-submit-button 26194. https://html.spec.whatwg.org/#form-submission-2 26195. https://html.spec.whatwg.org/#formdataevent 26196. https://developer.mozilla.org/en-US/docs/Web/API/FormDataEvent/FormDataEvent 26197. https://developer.mozilla.org/en-US/docs/Web/API/FormDataEvent 26198. https://dom.spec.whatwg.org/#interface-event 26199. https://html.spec.whatwg.org/#formdataeventinit 26200. https://xhr.spec.whatwg.org/#formdata 26201. https://html.spec.whatwg.org/#dom-formdataevent-formdata 26202. https://dom.spec.whatwg.org/#dictdef-eventinit 26203. https://xhr.spec.whatwg.org/#formdata 26204. https://html.spec.whatwg.org/#dom-formdataevent-formdata 26205. https://xhr.spec.whatwg.org/#formdata 26206. https://html.spec.whatwg.org/#the-form-element 26207. https://xhr.spec.whatwg.org/#formdata 26208. https://xhr.spec.whatwg.org/#formdata 26209. https://html.spec.whatwg.org/#entry-list 26210. https://html.spec.whatwg.org/#constructing-the-form-data-set 26211. https://html.spec.whatwg.org/#the-form-element 26212. https://html.spec.whatwg.org/#the-form-element 26213. https://dom.spec.whatwg.org/#concept-event-fire 26214. https://html.spec.whatwg.org/#event-reset 26215. https://dom.spec.whatwg.org/#dom-event-bubbles 26216. https://dom.spec.whatwg.org/#dom-event-cancelable 26217. https://html.spec.whatwg.org/#concept-form-reset-control 26218. https://html.spec.whatwg.org/#category-reset 26219. https://html.spec.whatwg.org/#form-owner 26220. https://html.spec.whatwg.org/#category-reset 26221. https://w3c.github.io/uievents/#event-type-input 26222. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details 26223. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDetailsElement 26224. https://html.spec.whatwg.org/#concept-element-categories 26225. https://html.spec.whatwg.org/#flow-content-2 26226. https://html.spec.whatwg.org/#interactive-content-2 26227. https://html.spec.whatwg.org/#palpable-content-2 26228. https://html.spec.whatwg.org/#concept-element-contexts 26229. https://html.spec.whatwg.org/#flow-content-2 26230. https://html.spec.whatwg.org/#concept-element-content-model 26231. https://html.spec.whatwg.org/#the-summary-element 26232. https://html.spec.whatwg.org/#flow-content-2 26233. https://html.spec.whatwg.org/#concept-element-tag-omission 26234. https://html.spec.whatwg.org/#concept-element-attributes 26235. https://html.spec.whatwg.org/#global-attributes 26236. https://html.spec.whatwg.org/#attr-details-name 26237. https://html.spec.whatwg.org/#the-details-element 26238. https://html.spec.whatwg.org/#attr-details-open 26239. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 26240. https://w3c.github.io/html-aria/#el-details 26241. https://w3c.github.io/html-aam/#el-details 26242. https://html.spec.whatwg.org/#concept-element-dom 26243. https://html.spec.whatwg.org/#htmlelement 26244. https://html.spec.whatwg.org/#htmlconstructor 26245. https://html.spec.whatwg.org/#cereactions 26246. https://html.spec.whatwg.org/#dom-details-name 26247. https://html.spec.whatwg.org/#cereactions 26248. https://html.spec.whatwg.org/#dom-details-open 26249. https://html.spec.whatwg.org/#the-details-element 26250. https://html.spec.whatwg.org/#represents 26251. https://html.spec.whatwg.org/#the-details-element 26252. https://html.spec.whatwg.org/#the-details-element 26253. https://html.spec.whatwg.org/#the-details-element 26254. https://html.spec.whatwg.org/#footnotes 26255. https://html.spec.whatwg.org/#the-summary-element 26256. https://html.spec.whatwg.org/#represents 26257. https://html.spec.whatwg.org/#the-summary-element 26258. https://html.spec.whatwg.org/#represents 26259. https://html.spec.whatwg.org/#the-details-element 26260. https://html.spec.whatwg.org/#the-details-element 26261. https://html.spec.whatwg.org/#the-details-element 26262. https://html.spec.whatwg.org/#details-name-group 26263. https://html.spec.whatwg.org/#attr-details-open 26264. https://html.spec.whatwg.org/#the-details-element 26265. https://html.spec.whatwg.org/#details-name-group 26266. https://html.spec.whatwg.org/#the-details-element 26267. https://html.spec.whatwg.org/#attr-details-open 26268. https://html.spec.whatwg.org/#attr-details-name 26269. https://html.spec.whatwg.org/#the-details-element 26270. https://html.spec.whatwg.org/#attr-details-open 26271. https://html.spec.whatwg.org/#the-details-element 26272. https://html.spec.whatwg.org/#the-details-element 26273. https://html.spec.whatwg.org/#details-name-group 26274. https://html.spec.whatwg.org/#attr-details-name 26275. https://html.spec.whatwg.org/#the-details-element 26276. https://html.spec.whatwg.org/#the-section-element 26277. https://html.spec.whatwg.org/#the-article-element 26278. https://html.spec.whatwg.org/#concept-heading 26279. https://html.spec.whatwg.org/#boolean-attribute 26280. https://dom.spec.whatwg.org/#concept-element-attributes-set-value 26281. https://html.spec.whatwg.org/#attr-details-open 26282. https://dom.spec.whatwg.org/#concept-element-attributes-remove 26283. https://html.spec.whatwg.org/#attr-details-open 26284. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 26285. https://html.spec.whatwg.org/#the-summary-element 26286. https://html.spec.whatwg.org/#the-details-element 26287. https://html.spec.whatwg.org/#the-details-element 26288. https://dom.spec.whatwg.org/#concept-tree 26289. https://html.spec.whatwg.org/#attr-details-name 26290. https://html.spec.whatwg.org/#attr-details-name 26291. https://html.spec.whatwg.org/#attr-details-name 26292. https://html.spec.whatwg.org/#attr-details-name 26293. https://html.spec.whatwg.org/#the-details-element 26294. https://html.spec.whatwg.org/#toggle-task-tracker 26295. https://dom.spec.whatwg.org/#concept-element-attributes-change-ext 26296. https://html.spec.whatwg.org/#the-details-element 26297. https://html.spec.whatwg.org/#attr-details-name 26298. https://html.spec.whatwg.org/#ensure-details-exclusivity-by-closing-the-given-element-if-needed 26299. https://html.spec.whatwg.org/#attr-details-open 26300. https://html.spec.whatwg.org/#the-details-element 26301. https://html.spec.whatwg.org/#attr-details-open 26302. https://html.spec.whatwg.org/#queue-a-details-toggle-event-task 26303. https://html.spec.whatwg.org/#the-details-element 26304. https://html.spec.whatwg.org/#queue-a-details-toggle-event-task 26305. https://html.spec.whatwg.org/#the-details-element 26306. https://html.spec.whatwg.org/#ensure-details-exclusivity-by-closing-other-elements-if-needed 26307. https://html.spec.whatwg.org/#the-details-element 26308. https://html.spec.whatwg.org/#html-element-insertion-steps 26309. https://html.spec.whatwg.org/#ensure-details-exclusivity-by-closing-the-given-element-if-needed 26310. https://html.spec.whatwg.org/#the-details-element 26311. https://html.spec.whatwg.org/#details-toggle-task-tracker 26312. https://html.spec.whatwg.org/#details-toggle-task-tracker 26313. https://html.spec.whatwg.org/#toggle-task-old-state 26314. https://html.spec.whatwg.org/#details-toggle-task-tracker 26315. https://html.spec.whatwg.org/#toggle-task-task 26316. https://html.spec.whatwg.org/#task-queue 26317. https://html.spec.whatwg.org/#details-toggle-task-tracker 26318. https://html.spec.whatwg.org/#queue-an-element-task 26319. https://html.spec.whatwg.org/#dom-manipulation-task-source 26320. https://dom.spec.whatwg.org/#concept-event-fire 26321. https://html.spec.whatwg.org/#event-toggle 26322. https://html.spec.whatwg.org/#toggleevent 26323. https://html.spec.whatwg.org/#dom-toggleevent-oldstate 26324. https://html.spec.whatwg.org/#dom-toggleevent-newstate 26325. https://html.spec.whatwg.org/#details-toggle-task-tracker 26326. https://html.spec.whatwg.org/#details-toggle-task-tracker 26327. https://html.spec.whatwg.org/#toggle-task-task 26328. https://html.spec.whatwg.org/#concept-task 26329. https://html.spec.whatwg.org/#toggle-task-old-state 26330. https://html.spec.whatwg.org/#the-details-element 26331. https://infra.spec.whatwg.org/#assert 26332. https://html.spec.whatwg.org/#attr-details-open 26333. https://html.spec.whatwg.org/#attr-details-name 26334. https://html.spec.whatwg.org/#attr-details-name 26335. https://html.spec.whatwg.org/#details-name-group 26336. https://dom.spec.whatwg.org/#concept-tree-order 26337. https://infra.spec.whatwg.org/#list-iterate 26338. https://html.spec.whatwg.org/#attr-details-open 26339. https://infra.spec.whatwg.org/#assert 26340. https://html.spec.whatwg.org/#attr-details-open 26341. https://dom.spec.whatwg.org/#concept-element-attributes-remove 26342. https://html.spec.whatwg.org/#attr-details-open 26343. https://infra.spec.whatwg.org/#iteration-break 26344. https://html.spec.whatwg.org/#the-details-element 26345. https://html.spec.whatwg.org/#attr-details-open 26346. https://html.spec.whatwg.org/#attr-details-name 26347. https://html.spec.whatwg.org/#attr-details-name 26348. https://html.spec.whatwg.org/#details-name-group 26349. https://dom.spec.whatwg.org/#concept-tree-order 26350. https://infra.spec.whatwg.org/#list-iterate 26351. https://html.spec.whatwg.org/#attr-details-open 26352. https://dom.spec.whatwg.org/#concept-element-attributes-remove 26353. https://html.spec.whatwg.org/#attr-details-open 26354. https://infra.spec.whatwg.org/#iteration-break 26355. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDetailsElement/open 26356. https://html.spec.whatwg.org/#reflect 26357. https://drafts.csswg.org/css-scoping/#flat-tree 26358. https://html.spec.whatwg.org/#the-details-element 26359. https://html.spec.whatwg.org/#the-details-element 26360. https://html.spec.whatwg.org/#attr-details-open 26361. https://dom.spec.whatwg.org/#concept-element-attributes-set-value 26362. https://html.spec.whatwg.org/#attr-details-open 26363. https://drafts.csswg.org/css-scoping/#flat-tree 26364. https://html.spec.whatwg.org/#the-details-element 26365. https://html.spec.whatwg.org/#the-details-element 26366. https://html.spec.whatwg.org/#the-details-element 26367. https://html.spec.whatwg.org/#attr-details-name 26368. https://html.spec.whatwg.org/#the-details-element 26369. https://html.spec.whatwg.org/#the-details-element 26370. https://html.spec.whatwg.org/#the-details-element 26371. https://html.spec.whatwg.org/#the-details-element 26372. https://html.spec.whatwg.org/#attr-details-open 26373. https://html.spec.whatwg.org/#the-details-element 26374. https://html.spec.whatwg.org/#attr-details-name 26375. https://html.spec.whatwg.org/#attr-details-open 26376. https://html.spec.whatwg.org/#the-summary-element 26377. https://html.spec.whatwg.org/#attr-details-open 26378. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/summary 26379. https://html.spec.whatwg.org/#concept-element-categories 26380. https://html.spec.whatwg.org/#concept-element-contexts 26381. https://dom.spec.whatwg.org/#concept-tree-first-child 26382. https://html.spec.whatwg.org/#the-details-element 26383. https://html.spec.whatwg.org/#concept-element-content-model 26384. https://html.spec.whatwg.org/#phrasing-content-2 26385. https://html.spec.whatwg.org/#heading-content-2 26386. https://html.spec.whatwg.org/#concept-element-tag-omission 26387. https://html.spec.whatwg.org/#concept-element-attributes 26388. https://html.spec.whatwg.org/#global-attributes 26389. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 26390. https://w3c.github.io/html-aria/#el-summary 26391. https://w3c.github.io/html-aam/#el-summary 26392. https://html.spec.whatwg.org/#concept-element-dom 26393. https://html.spec.whatwg.org/#htmlelement 26394. https://html.spec.whatwg.org/#the-summary-element 26395. https://html.spec.whatwg.org/#represents 26396. https://html.spec.whatwg.org/#the-summary-element 26397. https://html.spec.whatwg.org/#the-details-element 26398. https://html.spec.whatwg.org/#the-summary-element 26399. https://html.spec.whatwg.org/#the-summary-element 26400. https://html.spec.whatwg.org/#the-summary-element 26401. https://html.spec.whatwg.org/#the-details-element 26402. https://html.spec.whatwg.org/#the-summary-element 26403. https://html.spec.whatwg.org/#the-summary-element 26404. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 26405. https://html.spec.whatwg.org/#the-summary-element 26406. https://html.spec.whatwg.org/#the-summary-element 26407. https://html.spec.whatwg.org/#summary-for-its-parent-details 26408. https://html.spec.whatwg.org/#the-summary-element 26409. https://html.spec.whatwg.org/#attr-details-open 26410. https://dom.spec.whatwg.org/#concept-element-attributes-remove 26411. https://dom.spec.whatwg.org/#concept-element-attributes-set-value 26412. https://html.spec.whatwg.org/#attr-details-open 26413. https://html.spec.whatwg.org/#details-notification-task-steps 26414. https://html.spec.whatwg.org/#command-facet-disabledstate 26415. https://url.spec.whatwg.org/#concept-url 26416. https://html.spec.whatwg.org/#navigate 26417. https://html.spec.whatwg.org/#concept-command 26418. https://html.spec.whatwg.org/#command-facet-hiddenstate 26419. https://dom.spec.whatwg.org/#in-a-document 26420. https://html.spec.whatwg.org/#concept-document-bc 26421. https://html.spec.whatwg.org/#attr-hidden 26422. https://html.spec.whatwg.org/#command-facet-accesskey 26423. https://html.spec.whatwg.org/#the-a-element 26424. https://html.spec.whatwg.org/#attr-hyperlink-href 26425. https://html.spec.whatwg.org/#concept-command 26426. https://html.spec.whatwg.org/#command-facet-label 26427. https://dom.spec.whatwg.org/#concept-descendant-text-content 26428. https://html.spec.whatwg.org/#command-facet-accesskey 26429. https://html.spec.whatwg.org/#assigned-access-key 26430. https://html.spec.whatwg.org/#command-facet-hiddenstate 26431. https://html.spec.whatwg.org/#attr-hidden 26432. https://html.spec.whatwg.org/#command-facet-disabledstate 26433. https://html.spec.whatwg.org/#inert 26434. https://html.spec.whatwg.org/#command-facet-action 26435. https://html.spec.whatwg.org/#fire-a-click-event 26436. https://html.spec.whatwg.org/#the-button-element 26437. https://html.spec.whatwg.org/#concept-command 26438. https://html.spec.whatwg.org/#command-facet-label 26439. https://html.spec.whatwg.org/#command-facet-accesskey 26440. https://html.spec.whatwg.org/#command-facet-hiddenstate 26441. https://html.spec.whatwg.org/#command-facet-action 26442. https://html.spec.whatwg.org/#using-the-a-element-to-define-a-command 26443. https://html.spec.whatwg.org/#command-facet-disabledstate 26444. https://html.spec.whatwg.org/#inert 26445. https://html.spec.whatwg.org/#concept-fe-disabled 26446. https://html.spec.whatwg.org/#the-input-element 26447. https://html.spec.whatwg.org/#attr-input-type 26448. https://html.spec.whatwg.org/#submit-button-state-(type=submit) 26449. https://html.spec.whatwg.org/#reset-button-state-(type=reset) 26450. https://html.spec.whatwg.org/#image-button-state-(type=image) 26451. https://html.spec.whatwg.org/#button-state-(type=button) 26452. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 26453. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 26454. https://html.spec.whatwg.org/#concept-command 26455. https://html.spec.whatwg.org/#command-facet-label 26456. https://html.spec.whatwg.org/#attr-input-type 26457. https://html.spec.whatwg.org/#submit-button-state-(type=submit) 26458. https://html.spec.whatwg.org/#reset-button-state-(type=reset) 26459. https://html.spec.whatwg.org/#image-button-state-(type=image) 26460. https://html.spec.whatwg.org/#button-state-(type=button) 26461. https://html.spec.whatwg.org/#command-facet-label 26462. https://html.spec.whatwg.org/#attr-input-value 26463. https://html.spec.whatwg.org/#labeled-control 26464. https://html.spec.whatwg.org/#command-facet-label 26465. https://dom.spec.whatwg.org/#concept-descendant-text-content 26466. https://html.spec.whatwg.org/#the-label-element 26467. https://dom.spec.whatwg.org/#concept-tree-order 26468. https://html.spec.whatwg.org/#labeled-control 26469. https://html.spec.whatwg.org/#attr-input-value 26470. https://html.spec.whatwg.org/#command-facet-label 26471. https://html.spec.whatwg.org/#command-facet-label 26472. https://html.spec.whatwg.org/#attr-input-value 26473. https://html.spec.whatwg.org/#the-input-element 26474. https://html.spec.whatwg.org/#image-button-state-(type=image) 26475. https://html.spec.whatwg.org/#command-facet-label 26476. https://html.spec.whatwg.org/#attr-input-alt 26477. https://html.spec.whatwg.org/#command-facet-accesskey 26478. https://html.spec.whatwg.org/#assigned-access-key 26479. https://html.spec.whatwg.org/#command-facet-hiddenstate 26480. https://html.spec.whatwg.org/#attr-hidden 26481. https://html.spec.whatwg.org/#command-facet-disabledstate 26482. https://html.spec.whatwg.org/#inert 26483. https://html.spec.whatwg.org/#concept-fe-disabled 26484. https://html.spec.whatwg.org/#command-facet-action 26485. https://html.spec.whatwg.org/#fire-a-click-event 26486. https://html.spec.whatwg.org/#the-option-element 26487. https://html.spec.whatwg.org/#the-select-element 26488. https://html.spec.whatwg.org/#attr-option-value 26489. https://html.spec.whatwg.org/#attr-option-value 26490. https://html.spec.whatwg.org/#concept-command 26491. https://html.spec.whatwg.org/#command-facet-label 26492. https://html.spec.whatwg.org/#the-option-element 26493. https://html.spec.whatwg.org/#attr-option-label 26494. https://html.spec.whatwg.org/#the-option-element 26495. https://dom.spec.whatwg.org/#concept-descendant-text-content 26496. https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace 26497. https://html.spec.whatwg.org/#command-facet-accesskey 26498. https://html.spec.whatwg.org/#assigned-access-key 26499. https://html.spec.whatwg.org/#command-facet-hiddenstate 26500. https://html.spec.whatwg.org/#attr-hidden 26501. https://html.spec.whatwg.org/#command-facet-disabledstate 26502. https://html.spec.whatwg.org/#concept-option-disabled 26503. https://html.spec.whatwg.org/#the-select-element 26504. https://html.spec.whatwg.org/#concept-fe-disabled 26505. https://html.spec.whatwg.org/#inert 26506. https://html.spec.whatwg.org/#the-option-element 26507. https://html.spec.whatwg.org/#the-select-element 26508. https://html.spec.whatwg.org/#attr-select-multiple 26509. https://html.spec.whatwg.org/#command-facet-action 26510. https://html.spec.whatwg.org/#concept-select-toggle 26511. https://html.spec.whatwg.org/#the-option-element 26512. https://html.spec.whatwg.org/#command-facet-action 26513. https://html.spec.whatwg.org/#concept-select-pick 26514. https://html.spec.whatwg.org/#the-option-element 26515. https://html.spec.whatwg.org/#the-legend-element 26516. https://html.spec.whatwg.org/#concept-command 26517. https://html.spec.whatwg.org/#assigned-access-key 26518. https://html.spec.whatwg.org/#the-fieldset-element 26519. https://html.spec.whatwg.org/#concept-command 26520. https://html.spec.whatwg.org/#the-label-element 26521. https://html.spec.whatwg.org/#the-legend-element 26522. https://html.spec.whatwg.org/#command-facet-label 26523. https://dom.spec.whatwg.org/#concept-descendant-text-content 26524. https://html.spec.whatwg.org/#command-facet-accesskey 26525. https://html.spec.whatwg.org/#assigned-access-key 26526. https://html.spec.whatwg.org/#command-facet-hiddenstate 26527. https://html.spec.whatwg.org/#command-facet-disabledstate 26528. https://html.spec.whatwg.org/#command-facet-action 26529. https://html.spec.whatwg.org/#the-legend-element's-accesskey-delegatee 26530. https://html.spec.whatwg.org/#the-legend-element 26531. https://html.spec.whatwg.org/#the-accesskey-attribute 26532. https://html.spec.whatwg.org/#the-input-element 26533. https://html.spec.whatwg.org/#the-legend-element 26534. https://html.spec.whatwg.org/#assigned-access-key 26535. https://html.spec.whatwg.org/#concept-command 26536. https://html.spec.whatwg.org/#concept-command 26537. https://html.spec.whatwg.org/#concept-command 26538. https://html.spec.whatwg.org/#command-facet-label 26539. https://html.spec.whatwg.org/#labeled-control 26540. https://dom.spec.whatwg.org/#concept-descendant-text-content 26541. https://html.spec.whatwg.org/#the-label-element 26542. https://dom.spec.whatwg.org/#concept-tree-order 26543. https://html.spec.whatwg.org/#labeled-control 26544. https://html.spec.whatwg.org/#command-facet-label 26545. https://html.spec.whatwg.org/#command-facet-label 26546. https://dom.spec.whatwg.org/#concept-descendant-text-content 26547. https://html.spec.whatwg.org/#command-facet-accesskey 26548. https://html.spec.whatwg.org/#assigned-access-key 26549. https://html.spec.whatwg.org/#command-facet-hiddenstate 26550. https://html.spec.whatwg.org/#attr-hidden 26551. https://html.spec.whatwg.org/#command-facet-disabledstate 26552. https://html.spec.whatwg.org/#inert 26553. https://html.spec.whatwg.org/#command-facet-action 26554. https://html.spec.whatwg.org/#focusing-steps 26555. https://html.spec.whatwg.org/#fire-a-click-event 26556. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog 26557. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement 26558. https://html.spec.whatwg.org/#concept-element-categories 26559. https://html.spec.whatwg.org/#flow-content-2 26560. https://html.spec.whatwg.org/#concept-element-contexts 26561. https://html.spec.whatwg.org/#flow-content-2 26562. https://html.spec.whatwg.org/#concept-element-content-model 26563. https://html.spec.whatwg.org/#flow-content-2 26564. https://html.spec.whatwg.org/#concept-element-tag-omission 26565. https://html.spec.whatwg.org/#concept-element-attributes 26566. https://html.spec.whatwg.org/#global-attributes 26567. https://html.spec.whatwg.org/#attr-dialog-closedby 26568. https://html.spec.whatwg.org/#attr-dialog-open 26569. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 26570. https://w3c.github.io/html-aria/#el-dialog 26571. https://w3c.github.io/html-aam/#el-dialog 26572. https://html.spec.whatwg.org/#concept-element-dom 26573. https://html.spec.whatwg.org/#htmlelement 26574. https://html.spec.whatwg.org/#htmlconstructor 26575. https://html.spec.whatwg.org/#cereactions 26576. https://html.spec.whatwg.org/#dom-dialog-open 26577. https://html.spec.whatwg.org/#dom-dialog-returnvalue 26578. https://html.spec.whatwg.org/#cereactions 26579. https://html.spec.whatwg.org/#dom-dialog-closedby 26580. https://html.spec.whatwg.org/#cereactions 26581. https://html.spec.whatwg.org/#dom-dialog-show 26582. https://html.spec.whatwg.org/#cereactions 26583. https://html.spec.whatwg.org/#dom-dialog-showmodal 26584. https://html.spec.whatwg.org/#cereactions 26585. https://html.spec.whatwg.org/#dom-dialog-close 26586. https://html.spec.whatwg.org/#cereactions 26587. https://html.spec.whatwg.org/#dom-dialog-requestclose 26588. https://html.spec.whatwg.org/#the-dialog-element 26589. https://html.spec.whatwg.org/#the-dialog-element 26590. https://html.spec.whatwg.org/#the-dialog-element 26591. https://html.spec.whatwg.org/#dialog-focusing-steps 26592. https://html.spec.whatwg.org/#attr-fe-autofocus 26593. https://html.spec.whatwg.org/#attr-fe-autofocus 26594. https://html.spec.whatwg.org/#the-dialog-element 26595. https://html.spec.whatwg.org/#attr-fe-autofocus 26596. https://html.spec.whatwg.org/#the-input-element 26597. https://html.spec.whatwg.org/#dialog-focusing-steps 26598. https://html.spec.whatwg.org/#the-div-element 26599. https://html.spec.whatwg.org/#attr-fe-autofocus 26600. https://html.spec.whatwg.org/#the-div-element 26601. https://html.spec.whatwg.org/#the-p-element 26602. https://html.spec.whatwg.org/#the-div-element 26603. https://html.spec.whatwg.org/#the-dialog-element 26604. https://html.spec.whatwg.org/#attr-fe-autofocus 26605. https://html.spec.whatwg.org/#dialog-focusing-steps 26606. https://html.spec.whatwg.org/#the-button-element 26607. https://html.spec.whatwg.org/#the-strong-element 26608. https://html.spec.whatwg.org/#boolean-attribute 26609. https://html.spec.whatwg.org/#the-dialog-element 26610. https://html.spec.whatwg.org/#enumerated-attribute 26611. https://html.spec.whatwg.org/#close-request 26612. https://html.spec.whatwg.org/#close-request 26613. https://html.spec.whatwg.org/#attr-dialog-closedby 26614. https://html.spec.whatwg.org/#invalid-value-default 26615. https://html.spec.whatwg.org/#missing-value-default 26616. https://html.spec.whatwg.org/#attr-dialog-closedby-auto-state 26617. https://html.spec.whatwg.org/#attr-dialog-closedby-closerequest-state 26618. https://html.spec.whatwg.org/#the-dialog-element 26619. https://html.spec.whatwg.org/#dom-dialog-showmodal 26620. https://html.spec.whatwg.org/#attr-dialog-closedby-none-state 26621. https://html.spec.whatwg.org/#the-dialog-element 26622. https://html.spec.whatwg.org/#attr-dialog-open 26623. https://html.spec.whatwg.org/#renderingUA 26624. https://html.spec.whatwg.org/#rendering 26625. https://html.spec.whatwg.org/#attr-dialog-open 26626. https://html.spec.whatwg.org/#event-close 26627. https://html.spec.whatwg.org/#dom-dialog-close 26628. https://html.spec.whatwg.org/#close-request 26629. https://html.spec.whatwg.org/#dom-dialog-showmodal 26630. https://html.spec.whatwg.org/#document 26631. https://html.spec.whatwg.org/#blocked-by-a-modal-dialog 26632. https://html.spec.whatwg.org/#attr-dialog-open 26633. https://html.spec.whatwg.org/#dom-dialog-requestclose 26634. https://html.spec.whatwg.org/#dom-dialog-close 26635. https://html.spec.whatwg.org/#attr-hidden 26636. https://html.spec.whatwg.org/#attr-tabindex 26637. https://html.spec.whatwg.org/#the-dialog-element 26638. https://html.spec.whatwg.org/#dom-dialog-show 26639. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/show 26640. https://html.spec.whatwg.org/#the-dialog-element 26641. https://html.spec.whatwg.org/#dom-dialog-showmodal 26642. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/showModal 26643. https://html.spec.whatwg.org/#the-dialog-element 26644. https://html.spec.whatwg.org/#attr-fe-autofocus 26645. https://html.spec.whatwg.org/#dom-dialog-close 26646. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/close 26647. https://html.spec.whatwg.org/#the-dialog-element 26648. https://html.spec.whatwg.org/#dom-dialog-requestclose 26649. https://html.spec.whatwg.org/#close-request 26650. https://html.spec.whatwg.org/#event-cancel 26651. https://dom.spec.whatwg.org/#dom-event-preventdefault 26652. https://html.spec.whatwg.org/#dom-dialog-close 26653. https://html.spec.whatwg.org/#event-close 26654. https://html.spec.whatwg.org/#event-cancel 26655. https://html.spec.whatwg.org/#event-close 26656. https://html.spec.whatwg.org/#close-request 26657. https://html.spec.whatwg.org/#attr-dialog-closedby 26658. https://html.spec.whatwg.org/#attr-dialog-closedby 26659. https://html.spec.whatwg.org/#attr-dialog-closedby-none 26660. https://html.spec.whatwg.org/#dom-dialog-returnvalue 26661. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/returnValue 26662. https://html.spec.whatwg.org/#the-dialog-element 26663. https://webidl.spec.whatwg.org/#this 26664. https://html.spec.whatwg.org/#attr-dialog-open 26665. https://html.spec.whatwg.org/#is-modal 26666. https://webidl.spec.whatwg.org/#this 26667. https://webidl.spec.whatwg.org/#this 26668. https://html.spec.whatwg.org/#attr-dialog-open 26669. https://webidl.spec.whatwg.org/#invalidstateerror 26670. https://webidl.spec.whatwg.org/#dfn-DOMException 26671. https://dom.spec.whatwg.org/#concept-event-fire 26672. https://html.spec.whatwg.org/#event-beforetoggle 26673. https://html.spec.whatwg.org/#toggleevent 26674. https://dom.spec.whatwg.org/#dom-event-cancelable 26675. https://html.spec.whatwg.org/#dom-toggleevent-oldstate 26676. https://html.spec.whatwg.org/#dom-toggleevent-newstate 26677. https://webidl.spec.whatwg.org/#this 26678. https://webidl.spec.whatwg.org/#this 26679. https://html.spec.whatwg.org/#attr-dialog-open 26680. https://html.spec.whatwg.org/#queue-a-dialog-toggle-event-task 26681. https://webidl.spec.whatwg.org/#this 26682. https://html.spec.whatwg.org/#attr-dialog-open 26683. https://webidl.spec.whatwg.org/#this 26684. https://infra.spec.whatwg.org/#assert 26685. https://webidl.spec.whatwg.org/#this 26686. https://dom.spec.whatwg.org/#concept-node-document 26687. https://html.spec.whatwg.org/#open-dialogs-list 26688. https://infra.spec.whatwg.org/#list-contain 26689. https://webidl.spec.whatwg.org/#this 26690. https://webidl.spec.whatwg.org/#this 26691. https://webidl.spec.whatwg.org/#this 26692. https://dom.spec.whatwg.org/#concept-node-document 26693. https://html.spec.whatwg.org/#open-dialogs-list 26694. https://html.spec.whatwg.org/#set-the-dialog-close-watcher 26695. https://webidl.spec.whatwg.org/#this 26696. https://webidl.spec.whatwg.org/#this 26697. https://html.spec.whatwg.org/#previously-focused-element 26698. https://html.spec.whatwg.org/#focused 26699. https://webidl.spec.whatwg.org/#this 26700. https://dom.spec.whatwg.org/#concept-node-document 26701. https://html.spec.whatwg.org/#topmost-popover-ancestor 26702. https://webidl.spec.whatwg.org/#this 26703. https://html.spec.whatwg.org/#showing-hint-popover-list 26704. https://html.spec.whatwg.org/#topmost-popover-ancestor 26705. https://webidl.spec.whatwg.org/#this 26706. https://html.spec.whatwg.org/#auto-popover-list 26707. https://html.spec.whatwg.org/#hide-all-popovers-until 26708. https://html.spec.whatwg.org/#dialog-focusing-steps 26709. https://webidl.spec.whatwg.org/#this 26710. https://html.spec.whatwg.org/#show-a-modal-dialog 26711. https://webidl.spec.whatwg.org/#this 26712. https://html.spec.whatwg.org/#close-the-dialog 26713. https://webidl.spec.whatwg.org/#this 26714. https://webidl.spec.whatwg.org/#this 26715. https://html.spec.whatwg.org/#attr-dialog-open 26716. https://infra.spec.whatwg.org/#assert 26717. https://webidl.spec.whatwg.org/#this 26718. https://html.spec.whatwg.org/#dialog-close-watcher 26719. https://html.spec.whatwg.org/#enable-close-watcher-for-requestclose() 26720. https://webidl.spec.whatwg.org/#this 26721. https://html.spec.whatwg.org/#request-close-return-value 26722. https://html.spec.whatwg.org/#close-watcher-request-close 26723. https://html.spec.whatwg.org/#dialog-close-watcher 26724. https://html.spec.whatwg.org/#enable-close-watcher-for-requestclose() 26725. https://html.spec.whatwg.org/#the-dialog-element 26726. https://html.spec.whatwg.org/#attr-hidden 26727. https://html.spec.whatwg.org/#attr-dialog-open 26728. https://html.spec.whatwg.org/#note-dialog-remove-open-attribute 26729. https://html.spec.whatwg.org/#attr-dialog-open 26730. https://html.spec.whatwg.org/#dom-open 26731. https://html.spec.whatwg.org/#the-dialog-element 26732. https://html.spec.whatwg.org/#dom-dialog-open 26733. https://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-December/041799.html 26734. https://html.spec.whatwg.org/#the-dialog-element 26735. https://html.spec.whatwg.org/#computed-closed-by-state 26736. https://webidl.spec.whatwg.org/#this 26737. https://html.spec.whatwg.org/#dom-dialog-closedby 26738. https://html.spec.whatwg.org/#attr-dialog-closedby 26739. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/open 26740. https://html.spec.whatwg.org/#reflect 26741. https://html.spec.whatwg.org/#attr-dialog-open 26742. https://html.spec.whatwg.org/#document 26743. https://html.spec.whatwg.org/#htmldialogelement 26744. https://html.spec.whatwg.org/#html-elements 26745. https://html.spec.whatwg.org/#dom-dialog-showmodal 26746. https://html.spec.whatwg.org/#dom-dialog-show 26747. https://html.spec.whatwg.org/#focused 26748. https://html.spec.whatwg.org/#dialog-focusing-steps 26749. https://html.spec.whatwg.org/#attr-popover 26750. https://html.spec.whatwg.org/#focused 26751. https://html.spec.whatwg.org/#show-popover 26752. https://html.spec.whatwg.org/#the-dialog-element 26753. https://html.spec.whatwg.org/#toggle-task-tracker 26754. https://html.spec.whatwg.org/#the-dialog-element 26755. https://html.spec.whatwg.org/#close-watcher 26756. https://html.spec.whatwg.org/#the-dialog-element 26757. https://html.spec.whatwg.org/#the-dialog-element 26758. https://html.spec.whatwg.org/#the-dialog-element 26759. https://html.spec.whatwg.org/#the-dialog-element 26760. https://html.spec.whatwg.org/#html-element-removing-steps 26761. https://html.spec.whatwg.org/#dialog-close-watcher 26762. https://html.spec.whatwg.org/#close-watcher-destroy 26763. https://html.spec.whatwg.org/#dialog-close-watcher 26764. https://html.spec.whatwg.org/#dialog-close-watcher 26765. https://dom.spec.whatwg.org/#concept-node-document 26766. https://drafts.csswg.org/css-position-4/#document-top-layer 26767. https://infra.spec.whatwg.org/#list-contain 26768. https://drafts.csswg.org/css-position-4/#remove-an-element-from-the-top-layer-immediately 26769. https://html.spec.whatwg.org/#is-modal 26770. https://infra.spec.whatwg.org/#list-remove 26771. https://dom.spec.whatwg.org/#concept-node-document 26772. https://html.spec.whatwg.org/#open-dialogs-list 26773. https://html.spec.whatwg.org/#the-dialog-element 26774. https://html.spec.whatwg.org/#attr-dialog-open 26775. https://html.spec.whatwg.org/#is-modal 26776. https://html.spec.whatwg.org/#attr-dialog-open 26777. https://webidl.spec.whatwg.org/#invalidstateerror 26778. https://webidl.spec.whatwg.org/#dfn-DOMException 26779. https://dom.spec.whatwg.org/#concept-node-document 26780. https://html.spec.whatwg.org/#fully-active 26781. https://webidl.spec.whatwg.org/#invalidstateerror 26782. https://webidl.spec.whatwg.org/#dfn-DOMException 26783. https://dom.spec.whatwg.org/#connected 26784. https://webidl.spec.whatwg.org/#invalidstateerror 26785. https://webidl.spec.whatwg.org/#dfn-DOMException 26786. https://html.spec.whatwg.org/#popover-showing-state 26787. https://webidl.spec.whatwg.org/#invalidstateerror 26788. https://webidl.spec.whatwg.org/#dfn-DOMException 26789. https://dom.spec.whatwg.org/#concept-event-fire 26790. https://html.spec.whatwg.org/#event-beforetoggle 26791. https://html.spec.whatwg.org/#toggleevent 26792. https://dom.spec.whatwg.org/#dom-event-cancelable 26793. https://html.spec.whatwg.org/#dom-toggleevent-oldstate 26794. https://html.spec.whatwg.org/#dom-toggleevent-newstate 26795. https://html.spec.whatwg.org/#attr-dialog-open 26796. https://dom.spec.whatwg.org/#connected 26797. https://html.spec.whatwg.org/#popover-showing-state 26798. https://html.spec.whatwg.org/#queue-a-dialog-toggle-event-task 26799. https://html.spec.whatwg.org/#attr-dialog-open 26800. https://html.spec.whatwg.org/#is-modal 26801. https://infra.spec.whatwg.org/#assert 26802. https://dom.spec.whatwg.org/#concept-node-document 26803. https://html.spec.whatwg.org/#open-dialogs-list 26804. https://infra.spec.whatwg.org/#list-contain 26805. https://dom.spec.whatwg.org/#concept-node-document 26806. https://html.spec.whatwg.org/#open-dialogs-list 26807. https://dom.spec.whatwg.org/#concept-node-document 26808. https://html.spec.whatwg.org/#blocked-by-a-modal-dialog 26809. https://html.spec.whatwg.org/#focused-area-of-the-document 26810. https://html.spec.whatwg.org/#inert 26811. https://dom.spec.whatwg.org/#concept-shadow-including-descendant 26812. https://html.spec.whatwg.org/#focused-area-of-the-document 26813. https://html.spec.whatwg.org/#focus-fixup-rule 26814. https://drafts.csswg.org/css2/#viewport 26815. https://dom.spec.whatwg.org/#concept-node-document 26816. https://drafts.csswg.org/css-position-4/#document-top-layer 26817. https://infra.spec.whatwg.org/#list-contain 26818. https://drafts.csswg.org/css-position-4/#add-an-element-to-the-top-layer 26819. https://html.spec.whatwg.org/#set-the-dialog-close-watcher 26820. https://html.spec.whatwg.org/#previously-focused-element 26821. https://html.spec.whatwg.org/#focused 26822. https://dom.spec.whatwg.org/#concept-node-document 26823. https://html.spec.whatwg.org/#topmost-popover-ancestor 26824. https://html.spec.whatwg.org/#showing-hint-popover-list 26825. https://html.spec.whatwg.org/#topmost-popover-ancestor 26826. https://html.spec.whatwg.org/#auto-popover-list 26827. https://html.spec.whatwg.org/#hide-all-popovers-until 26828. https://html.spec.whatwg.org/#dialog-focusing-steps 26829. https://html.spec.whatwg.org/#the-dialog-element 26830. https://html.spec.whatwg.org/#dialog-close-watcher 26831. https://html.spec.whatwg.org/#establish-a-close-watcher 26832. https://html.spec.whatwg.org/#concept-relevant-global 26833. https://html.spec.whatwg.org/#create-close-watcher-cancelaction 26834. https://dom.spec.whatwg.org/#concept-event-fire 26835. https://html.spec.whatwg.org/#event-cancel 26836. https://dom.spec.whatwg.org/#dom-event-cancelable 26837. https://html.spec.whatwg.org/#create-close-watcher-closeaction 26838. https://html.spec.whatwg.org/#close-the-dialog 26839. https://html.spec.whatwg.org/#request-close-return-value 26840. https://html.spec.whatwg.org/#create-close-watcher-getenabledstate 26841. https://html.spec.whatwg.org/#enable-close-watcher-for-requestclose() 26842. https://html.spec.whatwg.org/#computed-closed-by-state 26843. https://html.spec.whatwg.org/#attr-dialog-closedby-none-state 26844. https://html.spec.whatwg.org/#is-valid-invoker-command-steps 26845. https://html.spec.whatwg.org/#the-dialog-element 26846. https://html.spec.whatwg.org/#attr-button-command 26847. https://html.spec.whatwg.org/#attr-button-command-close-state 26848. https://html.spec.whatwg.org/#attr-button-command-show-modal-state 26849. https://html.spec.whatwg.org/#invoker-command-steps 26850. https://html.spec.whatwg.org/#the-dialog-element 26851. https://html.spec.whatwg.org/#attr-button-command 26852. https://html.spec.whatwg.org/#popover-showing-state 26853. https://html.spec.whatwg.org/#attr-button-command-close-state 26854. https://html.spec.whatwg.org/#attr-dialog-open 26855. https://html.spec.whatwg.org/#concept-fe-value 26856. https://html.spec.whatwg.org/#close-the-dialog 26857. https://html.spec.whatwg.org/#attr-button-command-show-modal-state 26858. https://html.spec.whatwg.org/#attr-dialog-open 26859. https://html.spec.whatwg.org/#show-a-modal-dialog 26860. https://html.spec.whatwg.org/#attr-button-commandfor 26861. https://html.spec.whatwg.org/#the-dialog-element 26862. https://html.spec.whatwg.org/#the-dialog-element 26863. https://html.spec.whatwg.org/#attr-dialog-open 26864. https://dom.spec.whatwg.org/#concept-event-fire 26865. https://html.spec.whatwg.org/#event-beforetoggle 26866. https://html.spec.whatwg.org/#toggleevent 26867. https://html.spec.whatwg.org/#dom-toggleevent-oldstate 26868. https://html.spec.whatwg.org/#dom-toggleevent-newstate 26869. https://html.spec.whatwg.org/#attr-dialog-open 26870. https://html.spec.whatwg.org/#queue-a-dialog-toggle-event-task 26871. https://html.spec.whatwg.org/#attr-dialog-open 26872. https://html.spec.whatwg.org/#is-modal 26873. https://drafts.csswg.org/css-position-4/#request-an-element-to-be-removed-from-the-top-layer 26874. https://html.spec.whatwg.org/#is-modal 26875. https://html.spec.whatwg.org/#is-modal 26876. https://infra.spec.whatwg.org/#list-remove 26877. https://dom.spec.whatwg.org/#concept-node-document 26878. https://html.spec.whatwg.org/#open-dialogs-list 26879. https://html.spec.whatwg.org/#dom-dialog-returnvalue 26880. https://html.spec.whatwg.org/#request-close-return-value 26881. https://html.spec.whatwg.org/#previously-focused-element 26882. https://html.spec.whatwg.org/#previously-focused-element 26883. https://html.spec.whatwg.org/#previously-focused-element 26884. https://dom.spec.whatwg.org/#concept-node-document 26885. https://html.spec.whatwg.org/#focused-area-of-the-document 26886. https://html.spec.whatwg.org/#dom-anchor 26887. https://dom.spec.whatwg.org/#concept-shadow-including-inclusive-descendant 26888. https://html.spec.whatwg.org/#focusing-steps 26889. https://html.spec.whatwg.org/#queue-an-element-task 26890. https://html.spec.whatwg.org/#user-interaction-task-source 26891. https://dom.spec.whatwg.org/#concept-event-fire 26892. https://html.spec.whatwg.org/#event-close 26893. https://html.spec.whatwg.org/#dialog-close-watcher 26894. https://html.spec.whatwg.org/#close-watcher-destroy 26895. https://html.spec.whatwg.org/#dialog-close-watcher 26896. https://html.spec.whatwg.org/#dialog-close-watcher 26897. https://html.spec.whatwg.org/#the-dialog-element 26898. https://html.spec.whatwg.org/#dialog-toggle-task-tracker 26899. https://html.spec.whatwg.org/#dialog-toggle-task-tracker 26900. https://html.spec.whatwg.org/#toggle-task-old-state 26901. https://html.spec.whatwg.org/#dialog-toggle-task-tracker 26902. https://html.spec.whatwg.org/#toggle-task-task 26903. https://html.spec.whatwg.org/#task-queue 26904. https://html.spec.whatwg.org/#dialog-toggle-task-tracker 26905. https://html.spec.whatwg.org/#queue-an-element-task 26906. https://html.spec.whatwg.org/#dom-manipulation-task-source 26907. https://dom.spec.whatwg.org/#concept-event-fire 26908. https://html.spec.whatwg.org/#event-toggle 26909. https://html.spec.whatwg.org/#toggleevent 26910. https://html.spec.whatwg.org/#dom-toggleevent-oldstate 26911. https://html.spec.whatwg.org/#dom-toggleevent-newstate 26912. https://html.spec.whatwg.org/#dialog-toggle-task-tracker 26913. https://html.spec.whatwg.org/#dialog-toggle-task-tracker 26914. https://html.spec.whatwg.org/#toggle-task-task 26915. https://html.spec.whatwg.org/#concept-task 26916. https://html.spec.whatwg.org/#toggle-task-old-state 26917. https://html.spec.whatwg.org/#the-dialog-element 26918. https://html.spec.whatwg.org/#attr-dialog-closedby 26919. https://html.spec.whatwg.org/#attr-dialog-closedby-auto-state 26920. https://html.spec.whatwg.org/#is-modal 26921. https://html.spec.whatwg.org/#attr-dialog-closedby-closerequest-state 26922. https://html.spec.whatwg.org/#attr-dialog-closedby-none-state 26923. https://html.spec.whatwg.org/#attr-dialog-closedby 26924. https://html.spec.whatwg.org/#the-dialog-element 26925. https://html.spec.whatwg.org/#allow-focus-steps 26926. https://dom.spec.whatwg.org/#concept-node-document 26927. https://html.spec.whatwg.org/#attr-fe-autofocus 26928. https://html.spec.whatwg.org/#focus-delegate 26929. https://html.spec.whatwg.org/#focusing-steps 26930. https://html.spec.whatwg.org/#focusable 26931. https://html.spec.whatwg.org/#the-dialog-element 26932. https://html.spec.whatwg.org/#note-dialog-plus-focus-fixup 26933. https://html.spec.whatwg.org/#focused-area-of-the-document 26934. https://html.spec.whatwg.org/#node-navigable 26935. https://html.spec.whatwg.org/#nav-top 26936. https://html.spec.whatwg.org/#nav-document 26937. https://dom.spec.whatwg.org/#concept-node-document 26938. https://dom.spec.whatwg.org/#concept-document-origin 26939. https://html.spec.whatwg.org/#same-origin 26940. https://dom.spec.whatwg.org/#concept-document-origin 26941. https://infra.spec.whatwg.org/#list-empty 26942. https://html.spec.whatwg.org/#autofocus-candidates 26943. https://html.spec.whatwg.org/#autofocus-processed-flag 26944. https://html.spec.whatwg.org/#the-dialog-element 26945. https://html.spec.whatwg.org/#attr-dialog-closedby 26946. https://html.spec.whatwg.org/#attr-dialog-closedby-any-state 26947. https://html.spec.whatwg.org/#the-dialog-element 26948. https://html.spec.whatwg.org/#the-dialog-element 26949. https://html.spec.whatwg.org/#close-request 26950. https://w3c.github.io/pointerevents/#pointerevent-interface 26951. https://infra.spec.whatwg.org/#assert 26952. https://dom.spec.whatwg.org/#dom-event-istrusted 26953. https://dom.spec.whatwg.org/#concept-event-target 26954. https://dom.spec.whatwg.org/#concept-node-document 26955. https://html.spec.whatwg.org/#open-dialogs-list 26956. https://infra.spec.whatwg.org/#list-is-empty 26957. https://html.spec.whatwg.org/#nearest-clicked-dialog 26958. https://dom.spec.whatwg.org/#dom-event-type 26959. https://w3c.github.io/pointerevents/#the-pointerdown-event 26960. https://html.spec.whatwg.org/#dialog-pointerdown-target 26961. https://dom.spec.whatwg.org/#dom-event-type 26962. https://w3c.github.io/pointerevents/#the-pointerup-event 26963. https://html.spec.whatwg.org/#dialog-pointerdown-target 26964. https://html.spec.whatwg.org/#dialog-pointerdown-target 26965. https://html.spec.whatwg.org/#open-dialogs-list 26966. https://html.spec.whatwg.org/#computed-closed-by-state 26967. https://html.spec.whatwg.org/#attr-dialog-closedby-any-state 26968. https://infra.spec.whatwg.org/#assert 26969. https://html.spec.whatwg.org/#dialog-close-watcher 26970. https://html.spec.whatwg.org/#close-watcher-request-close 26971. https://html.spec.whatwg.org/#dialog-close-watcher 26972. https://w3c.github.io/pointerevents/#pointerevent-interface 26973. https://html.spec.whatwg.org/#light-dismiss-open-popovers 26974. https://html.spec.whatwg.org/#light-dismiss-open-dialogs 26975. https://html.spec.whatwg.org/#run-light-dismiss-activities 26976. https://github.com/w3c/pointerevents/pull/460 26977. https://w3c.github.io/pointerevents/#pointerevent-interface 26978. https://dom.spec.whatwg.org/#concept-event-target 26979. https://html.spec.whatwg.org/#the-dialog-element 26980. https://html.spec.whatwg.org/#attr-dialog-open 26981. https://html.spec.whatwg.org/#is-modal 26982. https://drafts.csswg.org/cssom-view/#dom-mouseevent-clientx 26983. https://drafts.csswg.org/cssom-view/#dom-mouseevent-clienty 26984. https://drafts.csswg.org/cssom-view/#dom-mouseevent-clientx 26985. https://drafts.csswg.org/cssom-view/#dom-mouseevent-clienty 26986. https://html.spec.whatwg.org/#the-dialog-element 26987. https://html.spec.whatwg.org/#attr-dialog-open 26988. https://drafts.csswg.org/css-scoping/#flat-tree 26989. https://html.spec.whatwg.org/#the-details-element 26990. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script 26991. https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement 26992. https://html.spec.whatwg.org/#concept-element-categories 26993. https://html.spec.whatwg.org/#metadata-content-2 26994. https://html.spec.whatwg.org/#flow-content-2 26995. https://html.spec.whatwg.org/#phrasing-content-2 26996. https://html.spec.whatwg.org/#script-supporting-elements-2 26997. https://html.spec.whatwg.org/#concept-element-contexts 26998. https://html.spec.whatwg.org/#metadata-content-2 26999. https://html.spec.whatwg.org/#phrasing-content-2 27000. https://html.spec.whatwg.org/#script-supporting-elements-2 27001. https://html.spec.whatwg.org/#concept-element-content-model 27002. https://html.spec.whatwg.org/#attr-script-src 27003. https://html.spec.whatwg.org/#attr-script-type 27004. https://html.spec.whatwg.org/#restrictions-for-contents-of-script-elements 27005. https://html.spec.whatwg.org/#attr-script-src 27006. https://html.spec.whatwg.org/#inline-documentation-for-external-scripts 27007. https://html.spec.whatwg.org/#restrictions-for-contents-of-script-elements 27008. https://html.spec.whatwg.org/#concept-element-tag-omission 27009. https://html.spec.whatwg.org/#concept-element-attributes 27010. https://html.spec.whatwg.org/#global-attributes 27011. https://html.spec.whatwg.org/#attr-script-src 27012. https://html.spec.whatwg.org/#attr-script-type 27013. https://html.spec.whatwg.org/#attr-script-nomodule 27014. https://html.spec.whatwg.org/#module-script 27015. https://html.spec.whatwg.org/#attr-script-async 27016. https://html.spec.whatwg.org/#attr-script-defer 27017. https://html.spec.whatwg.org/#attr-script-crossorigin 27018. https://html.spec.whatwg.org/#attr-script-integrity 27019. https://html.spec.whatwg.org/#refsSRI 27020. https://html.spec.whatwg.org/#attr-script-referrerpolicy 27021. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 27022. https://fetch.spec.whatwg.org/#concept-fetch 27023. https://html.spec.whatwg.org/#attr-script-blocking 27024. https://html.spec.whatwg.org/#potentially-render-blocking 27025. https://html.spec.whatwg.org/#attr-script-fetchpriority 27026. https://fetch.spec.whatwg.org/#request-priority 27027. https://fetch.spec.whatwg.org/#concept-fetch 27028. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 27029. https://w3c.github.io/html-aria/#el-script 27030. https://w3c.github.io/html-aam/#el-script 27031. https://html.spec.whatwg.org/#concept-element-dom 27032. https://html.spec.whatwg.org/#htmlelement 27033. https://html.spec.whatwg.org/#htmlconstructor 27034. https://html.spec.whatwg.org/#cereactions 27035. https://html.spec.whatwg.org/#dom-script-src 27036. https://html.spec.whatwg.org/#cereactions 27037. https://html.spec.whatwg.org/#dom-script-type 27038. https://html.spec.whatwg.org/#cereactions 27039. https://html.spec.whatwg.org/#dom-script-nomodule 27040. https://html.spec.whatwg.org/#cereactions 27041. https://html.spec.whatwg.org/#dom-script-async 27042. https://html.spec.whatwg.org/#cereactions 27043. https://html.spec.whatwg.org/#dom-script-defer 27044. https://html.spec.whatwg.org/#cereactions 27045. https://html.spec.whatwg.org/#dom-script-crossorigin 27046. https://html.spec.whatwg.org/#cereactions 27047. https://html.spec.whatwg.org/#dom-script-text 27048. https://html.spec.whatwg.org/#cereactions 27049. https://html.spec.whatwg.org/#dom-script-integrity 27050. https://html.spec.whatwg.org/#cereactions 27051. https://html.spec.whatwg.org/#dom-script-referrerpolicy 27052. https://dom.spec.whatwg.org/#dom-domtokenlist-value 27053. https://dom.spec.whatwg.org/#interface-domtokenlist 27054. https://html.spec.whatwg.org/#dom-script-blocking 27055. https://html.spec.whatwg.org/#cereactions 27056. https://html.spec.whatwg.org/#dom-script-fetchpriority 27057. https://html.spec.whatwg.org/#dom-script-supports 27058. https://html.spec.whatwg.org/#HTMLScriptElement-partial 27059. https://html.spec.whatwg.org/#the-script-element 27060. https://html.spec.whatwg.org/#represents 27061. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-type 27062. https://mimesniff.spec.whatwg.org/#javascript-mime-type-essence-match 27063. https://html.spec.whatwg.org/#classic-script 27064. https://tc39.es/ecma262/#prod-Script 27065. https://html.spec.whatwg.org/#attr-script-async 27066. https://html.spec.whatwg.org/#attr-script-defer 27067. https://html.spec.whatwg.org/#attr-script-src 27068. https://html.spec.whatwg.org/#attr-script-type 27069. https://infra.spec.whatwg.org/#ascii-case-insensitive 27070. https://html.spec.whatwg.org/#javascript-module-script 27071. https://tc39.es/ecma262/#prod-Module 27072. https://html.spec.whatwg.org/#attr-script-defer 27073. https://html.spec.whatwg.org/#attr-script-async 27074. https://html.spec.whatwg.org/#attr-script-src 27075. https://infra.spec.whatwg.org/#ascii-case-insensitive 27076. https://html.spec.whatwg.org/#import-map 27077. https://html.spec.whatwg.org/#resolve-a-module-specifier 27078. https://html.spec.whatwg.org/#attr-script-src 27079. https://html.spec.whatwg.org/#the-script-element 27080. https://html.spec.whatwg.org/#attr-script-type 27081. https://mimesniff.spec.whatwg.org/#valid-mime-type 27082. https://mimesniff.spec.whatwg.org/#javascript-mime-type-essence-match 27083. https://html.spec.whatwg.org/#data-block 27084. https://mimesniff.spec.whatwg.org/#valid-mime-type 27085. https://html.spec.whatwg.org/#concept-script 27086. https://html.spec.whatwg.org/#attr-script-type 27087. https://html.spec.whatwg.org/#module-script 27088. https://html.spec.whatwg.org/#classic-script 27089. https://html.spec.whatwg.org/#javascript-module-script 27090. https://url.spec.whatwg.org/#concept-url 27091. https://html.spec.whatwg.org/#attr-script-src 27092. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 27093. https://html.spec.whatwg.org/#the-script-element 27094. https://tc39.es/ecma262/#prod-Script 27095. https://tc39.es/ecma262/#prod-Module 27096. https://html.spec.whatwg.org/#classic-script 27097. https://html.spec.whatwg.org/#javascript-module-script 27098. https://html.spec.whatwg.org/#refsJAVASCRIPT 27099. https://html.spec.whatwg.org/#css-module-script 27100. https://html.spec.whatwg.org/#refsCSS 27101. https://html.spec.whatwg.org/#json-module-script 27102. https://html.spec.whatwg.org/#refsJSON 27103. https://html.spec.whatwg.org/#the-script-element 27104. https://html.spec.whatwg.org/#import-map 27105. https://html.spec.whatwg.org/#import-map-authoring-requirements 27106. https://html.spec.whatwg.org/#import-map 27107. https://html.spec.whatwg.org/#the-script-element 27108. https://html.spec.whatwg.org/#attr-script-src 27109. https://html.spec.whatwg.org/#attr-script-async 27110. https://html.spec.whatwg.org/#attr-script-nomodule 27111. https://html.spec.whatwg.org/#attr-script-defer 27112. https://html.spec.whatwg.org/#attr-script-crossorigin 27113. https://html.spec.whatwg.org/#attr-script-integrity 27114. https://html.spec.whatwg.org/#attr-script-referrerpolicy 27115. https://html.spec.whatwg.org/#import-map 27116. https://html.spec.whatwg.org/#the-script-element 27117. https://html.spec.whatwg.org/#data-block 27118. https://html.spec.whatwg.org/#attr-script-type 27119. https://html.spec.whatwg.org/#the-script-element 27120. https://html.spec.whatwg.org/#attr-script-src 27121. https://html.spec.whatwg.org/#attr-script-async 27122. https://html.spec.whatwg.org/#attr-script-nomodule 27123. https://html.spec.whatwg.org/#attr-script-defer 27124. https://html.spec.whatwg.org/#attr-script-crossorigin 27125. https://html.spec.whatwg.org/#attr-script-integrity 27126. https://html.spec.whatwg.org/#attr-script-referrerpolicy 27127. https://html.spec.whatwg.org/#attr-script-fetchpriority 27128. https://html.spec.whatwg.org/#boolean-attribute 27129. https://html.spec.whatwg.org/#module-script 27130. https://html.spec.whatwg.org/#module-script 27131. https://html.spec.whatwg.org/#classic-script 27132. https://html.spec.whatwg.org/#script-nomodule-example 27133. https://html.spec.whatwg.org/#attr-script-nomodule 27134. https://html.spec.whatwg.org/#module-script 27135. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-async 27136. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-defer 27137. https://html.spec.whatwg.org/#boolean-attribute 27138. https://html.spec.whatwg.org/#classic-script 27139. https://html.spec.whatwg.org/#attr-script-defer 27140. https://html.spec.whatwg.org/#attr-script-async 27141. https://html.spec.whatwg.org/#attr-script-src 27142. https://html.spec.whatwg.org/#module-script 27143. https://html.spec.whatwg.org/#attr-script-async 27144. https://html.spec.whatwg.org/#attr-script-defer 27145. https://html.spec.whatwg.org/#classic-script 27146. https://html.spec.whatwg.org/#attr-script-async 27147. https://html.spec.whatwg.org/#in-parallel 27148. https://html.spec.whatwg.org/#attr-script-async 27149. https://html.spec.whatwg.org/#attr-script-defer 27150. https://html.spec.whatwg.org/#in-parallel 27151. https://html.spec.whatwg.org/#module-script 27152. https://html.spec.whatwg.org/#attr-script-async 27153. https://html.spec.whatwg.org/#in-parallel 27154. https://html.spec.whatwg.org/#in-parallel 27155. https://html.spec.whatwg.org/#attr-script-defer 27156. https://html.spec.whatwg.org/#the-script-element 27157. https://html.spec.whatwg.org/#scriptTag 27158. https://html.spec.whatwg.org/#scriptEndTag 27159. https://html.spec.whatwg.org/#scriptForeignEndTag 27160. https://html.spec.whatwg.org/#scriptTagXML 27161. https://html.spec.whatwg.org/#dom-document-write 27162. https://html.spec.whatwg.org/#scripting 27163. https://html.spec.whatwg.org/#dom-document-write 27164. https://html.spec.whatwg.org/#the-script-element 27165. https://html.spec.whatwg.org/#document-written-scripts-intervention 27166. https://html.spec.whatwg.org/#dom-element-innerhtml 27167. https://html.spec.whatwg.org/#dom-element-outerhtml 27168. https://html.spec.whatwg.org/#attr-script-defer 27169. https://html.spec.whatwg.org/#attr-script-async 27170. https://html.spec.whatwg.org/#attr-script-defer 27171. https://html.spec.whatwg.org/#attr-script-async 27172. https://html.spec.whatwg.org/#attr-script-defer 27173. https://html.spec.whatwg.org/#cors-settings-attribute 27174. https://html.spec.whatwg.org/#classic-script 27175. https://html.spec.whatwg.org/#concept-origin 27176. https://html.spec.whatwg.org/#module-script 27177. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 27178. https://html.spec.whatwg.org/#classic-script 27179. https://html.spec.whatwg.org/#module-script 27180. https://fetch.spec.whatwg.org/#http-cors-protocol 27181. https://fetch.spec.whatwg.org/#concept-request-integrity-metadata 27182. https://html.spec.whatwg.org/#attr-script-integrity 27183. https://html.spec.whatwg.org/#attr-script-src 27184. https://html.spec.whatwg.org/#refsSRI 27185. https://html.spec.whatwg.org/#referrer-policy-attribute 27186. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 27187. https://fetch.spec.whatwg.org/#concept-fetch 27188. https://html.spec.whatwg.org/#refsREFERRERPOLICY 27189. https://html.spec.whatwg.org/#the-script-element 27190. https://html.spec.whatwg.org/#blocking-attribute 27191. https://html.spec.whatwg.org/#fetch-priority-attribute 27192. https://fetch.spec.whatwg.org/#request-priority 27193. https://fetch.spec.whatwg.org/#concept-fetch 27194. https://html.spec.whatwg.org/#attr-script-src 27195. https://html.spec.whatwg.org/#attr-script-type 27196. https://html.spec.whatwg.org/#attr-script-nomodule 27197. https://html.spec.whatwg.org/#attr-script-async 27198. https://html.spec.whatwg.org/#attr-script-defer 27199. https://html.spec.whatwg.org/#attr-script-crossorigin 27200. https://html.spec.whatwg.org/#attr-script-integrity 27201. https://html.spec.whatwg.org/#attr-script-referrerpolicy 27202. https://html.spec.whatwg.org/#attr-script-fetchpriority 27203. https://html.spec.whatwg.org/#reflect 27204. https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement/referrerPolicy 27205. https://html.spec.whatwg.org/#reflect 27206. https://html.spec.whatwg.org/#attr-script-referrerpolicy 27207. https://html.spec.whatwg.org/#limited-to-only-known-values 27208. https://html.spec.whatwg.org/#reflect 27209. https://html.spec.whatwg.org/#attr-script-fetchpriority 27210. https://html.spec.whatwg.org/#limited-to-only-known-values 27211. https://html.spec.whatwg.org/#reflect 27212. https://html.spec.whatwg.org/#attr-script-crossorigin 27213. https://html.spec.whatwg.org/#limited-to-only-known-values 27214. https://html.spec.whatwg.org/#reflect 27215. https://html.spec.whatwg.org/#attr-script-nomodule 27216. https://webidl.spec.whatwg.org/#this 27217. https://html.spec.whatwg.org/#script-force-async 27218. https://webidl.spec.whatwg.org/#this 27219. https://html.spec.whatwg.org/#attr-script-async 27220. https://html.spec.whatwg.org/#dom-script-async 27221. https://webidl.spec.whatwg.org/#this 27222. https://html.spec.whatwg.org/#script-force-async 27223. https://webidl.spec.whatwg.org/#this 27224. https://html.spec.whatwg.org/#attr-script-async 27225. https://webidl.spec.whatwg.org/#this 27226. https://html.spec.whatwg.org/#attr-script-async 27227. https://html.spec.whatwg.org/#dom-script-text 27228. https://dom.spec.whatwg.org/#concept-child-text-content 27229. https://html.spec.whatwg.org/#htmlscriptelement 27230. https://html.spec.whatwg.org/#dom-script-supports 27231. https://html.spec.whatwg.org/#the-script-element 27232. https://dom.spec.whatwg.org/#concept-child-text-content 27233. https://html.spec.whatwg.org/#dom-script-text 27234. https://dom.spec.whatwg.org/#string-replace-all 27235. https://html.spec.whatwg.org/#the-script-element 27236. https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement/supports_static 27237. https://infra.spec.whatwg.org/#string-is 27238. https://infra.spec.whatwg.org/#string-is 27239. https://infra.spec.whatwg.org/#string-is 27240. https://infra.spec.whatwg.org/#ascii-case-insensitive 27241. https://html.spec.whatwg.org/#attr-script-type 27242. https://dom.spec.whatwg.org/#interface-domtokenlist 27243. https://dom.spec.whatwg.org/#dom-domtokenlist-supports 27244. https://html.spec.whatwg.org/#workertype 27245. https://html.spec.whatwg.org/#dom-worker 27246. https://html.spec.whatwg.org/#the-script-element 27247. https://html.spec.whatwg.org/#classic-script 27248. https://html.spec.whatwg.org/#data-block 27249. https://html.spec.whatwg.org/#the-script-element 27250. https://html.spec.whatwg.org/#classic-script 27251. https://html.spec.whatwg.org/#the-script-element 27252. https://html.spec.whatwg.org/#the-script-element 27253. https://html.spec.whatwg.org/#javascript-module-script 27254. https://html.spec.whatwg.org/#the-script-element 27255. https://html.spec.whatwg.org/#window 27256. https://html.spec.whatwg.org/#javascript-module-script 27257. https://html.spec.whatwg.org/#the-script-element 27258. https://html.spec.whatwg.org/#javascript-module-script 27259. https://html.spec.whatwg.org/#classic-script 27260. https://html.spec.whatwg.org/#javascript-module-script 27261. https://html.spec.whatwg.org/#the-script-element 27262. https://html.spec.whatwg.org/#attr-script-nomodule 27263. https://html.spec.whatwg.org/#the-script-element 27264. https://html.spec.whatwg.org/#attr-script-type 27265. https://html.spec.whatwg.org/#javascript-module-script 27266. https://html.spec.whatwg.org/#the-script-element 27267. https://html.spec.whatwg.org/#attr-script-type 27268. https://html.spec.whatwg.org/#the-script-element 27269. https://html.spec.whatwg.org/#classic-script 27270. https://html.spec.whatwg.org/#attr-script-nomodule 27271. https://html.spec.whatwg.org/#the-script-element 27272. https://html.spec.whatwg.org/#javascript-module-script 27273. https://html.spec.whatwg.org/#refsXKCD1288 27274. https://html.spec.whatwg.org/#global-object 27275. https://html.spec.whatwg.org/#the-script-element 27276. https://html.spec.whatwg.org/#json-module-script 27277. https://html.spec.whatwg.org/#javascript-module-script 27278. https://html.spec.whatwg.org/#json-module-script 27279. https://mimesniff.spec.whatwg.org/#json-mime-type 27280. https://html.spec.whatwg.org/#javascript-module-script 27281. https://mimesniff.spec.whatwg.org/#javascript-mime-type 27282. https://html.spec.whatwg.org/#the-script-element 27283. https://html.spec.whatwg.org/#the-script-element 27284. https://html.spec.whatwg.org/#document 27285. https://html.spec.whatwg.org/#html-parser 27286. https://html.spec.whatwg.org/#xml-parser 27287. https://html.spec.whatwg.org/#the-script-element 27288. https://html.spec.whatwg.org/#the-script-element 27289. https://html.spec.whatwg.org/#parser-document 27290. https://html.spec.whatwg.org/#the-script-element 27291. https://html.spec.whatwg.org/#document 27292. https://html.spec.whatwg.org/#prepare-the-script-element 27293. https://html.spec.whatwg.org/#execute-the-script-element 27294. https://html.spec.whatwg.org/#the-script-element 27295. https://html.spec.whatwg.org/#html-parser 27296. https://html.spec.whatwg.org/#xml-parser 27297. https://html.spec.whatwg.org/#the-script-element 27298. https://html.spec.whatwg.org/#attr-script-async 27299. https://html.spec.whatwg.org/#the-script-element 27300. https://html.spec.whatwg.org/#prepare-the-script-element 27301. https://html.spec.whatwg.org/#attr-script-src 27302. https://html.spec.whatwg.org/#the-script-element 27303. https://html.spec.whatwg.org/#parser-inserted 27304. https://html.spec.whatwg.org/#the-script-element 27305. https://html.spec.whatwg.org/#the-script-element 27306. https://html.spec.whatwg.org/#the-script-element 27307. https://html.spec.whatwg.org/#prepare-the-script-element 27308. https://html.spec.whatwg.org/#attr-script-type 27309. https://html.spec.whatwg.org/#the-script-element 27310. https://html.spec.whatwg.org/#concept-script 27311. https://html.spec.whatwg.org/#import-map-parse-result 27312. https://html.spec.whatwg.org/#the-script-element 27313. https://html.spec.whatwg.org/#the-script-element 27314. https://html.spec.whatwg.org/#concept-script 27315. https://html.spec.whatwg.org/#import-map-parse-result 27316. https://html.spec.whatwg.org/#concept-script-result 27317. https://html.spec.whatwg.org/#steps-to-run-when-the-result-is-ready 27318. https://html.spec.whatwg.org/#steps-to-run-when-the-result-is-ready 27319. https://html.spec.whatwg.org/#concept-script-delay-load 27320. https://html.spec.whatwg.org/#the-script-element 27321. https://html.spec.whatwg.org/#implicitly-potentially-render-blocking 27322. https://html.spec.whatwg.org/#concept-script-type 27323. https://html.spec.whatwg.org/#parser-inserted 27324. https://html.spec.whatwg.org/#attr-script-async 27325. https://html.spec.whatwg.org/#attr-script-defer 27326. https://dom.spec.whatwg.org/#concept-node-clone-ext 27327. https://html.spec.whatwg.org/#the-script-element 27328. https://html.spec.whatwg.org/#already-started 27329. https://html.spec.whatwg.org/#already-started 27330. https://html.spec.whatwg.org/#attr-script-async 27331. https://html.spec.whatwg.org/#the-script-element 27332. https://html.spec.whatwg.org/#script-force-async 27333. https://html.spec.whatwg.org/#the-script-element 27334. https://html.spec.whatwg.org/#concept-script-delay-load 27335. https://html.spec.whatwg.org/#delay-the-load-event 27336. https://html.spec.whatwg.org/#preparation-time-document 27337. https://html.spec.whatwg.org/#the-script-element 27338. https://html.spec.whatwg.org/#html-element-post-connection-steps 27339. https://dom.spec.whatwg.org/#connected 27340. https://html.spec.whatwg.org/#the-script-element 27341. https://html.spec.whatwg.org/#the-script-element 27342. https://html.spec.whatwg.org/#html-element-post-connection-steps 27343. https://html.spec.whatwg.org/#the-script-element 27344. https://dom.spec.whatwg.org/#dom-node-append 27345. https://html.spec.whatwg.org/#the-script-element 27346. https://dom.spec.whatwg.org/#connected 27347. https://html.spec.whatwg.org/#the-script-element 27348. https://html.spec.whatwg.org/#html-element-post-connection-steps 27349. https://dom.spec.whatwg.org/#connected 27350. https://html.spec.whatwg.org/#prepare-the-script-element 27351. https://html.spec.whatwg.org/#parser-inserted 27352. https://html.spec.whatwg.org/#prepare-the-script-element 27353. https://html.spec.whatwg.org/#the-script-element 27354. https://dom.spec.whatwg.org/#concept-node-children-changed-ext 27355. https://html.spec.whatwg.org/#the-script-element 27356. https://html.spec.whatwg.org/#html-element-post-connection-steps 27357. https://html.spec.whatwg.org/#the-script-element 27358. https://html.spec.whatwg.org/#the-script-element 27359. https://html.spec.whatwg.org/#the-script-element 27360. https://html.spec.whatwg.org/#prepare-the-script-element 27361. https://html.spec.whatwg.org/#already-started 27362. https://dom.spec.whatwg.org/#interface-text 27363. https://html.spec.whatwg.org/#the-script-element 27364. https://dom.spec.whatwg.org/#concept-node-insert-ext 27365. https://dom.spec.whatwg.org/#concept-node-children-changed-ext 27366. https://html.spec.whatwg.org/#prepare-the-script-element 27367. https://dom.spec.whatwg.org/#interface-text 27368. https://html.spec.whatwg.org/#the-script-element 27369. https://html.spec.whatwg.org/#html-element-post-connection-steps 27370. https://dom.spec.whatwg.org/#concept-element-attributes-change-ext 27371. https://html.spec.whatwg.org/#the-script-element 27372. https://html.spec.whatwg.org/#attr-script-src 27373. https://html.spec.whatwg.org/#the-script-element 27374. https://html.spec.whatwg.org/#html-element-post-connection-steps 27375. https://html.spec.whatwg.org/#the-script-element 27376. https://html.spec.whatwg.org/#already-started 27377. https://html.spec.whatwg.org/#parser-document 27378. https://html.spec.whatwg.org/#parser-document 27379. https://html.spec.whatwg.org/#the-script-element 27380. https://html.spec.whatwg.org/#attr-script-async 27381. https://html.spec.whatwg.org/#script-force-async 27382. https://html.spec.whatwg.org/#the-script-element 27383. https://html.spec.whatwg.org/#attr-script-async 27384. https://dom.spec.whatwg.org/#concept-child-text-content 27385. https://html.spec.whatwg.org/#attr-script-src 27386. https://dom.spec.whatwg.org/#connected 27387. https://html.spec.whatwg.org/#attr-script-type 27388. https://html.spec.whatwg.org/#attr-script-type 27389. https://html.spec.whatwg.org/#attr-script-language 27390. https://html.spec.whatwg.org/#attr-script-type 27391. https://html.spec.whatwg.org/#attr-script-language 27392. https://html.spec.whatwg.org/#the-script-element 27393. https://html.spec.whatwg.org/#attr-script-type 27394. https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace 27395. https://html.spec.whatwg.org/#attr-script-language 27396. https://html.spec.whatwg.org/#attr-script-language 27397. https://html.spec.whatwg.org/#attr-script-language 27398. https://html.spec.whatwg.org/#attr-script-type 27399. https://mimesniff.spec.whatwg.org/#javascript-mime-type-essence-match 27400. https://html.spec.whatwg.org/#concept-script-type 27401. https://infra.spec.whatwg.org/#ascii-case-insensitive 27402. https://html.spec.whatwg.org/#concept-script-type 27403. https://infra.spec.whatwg.org/#ascii-case-insensitive 27404. https://html.spec.whatwg.org/#concept-script-type 27405. https://html.spec.whatwg.org/#concept-script-type 27406. https://html.spec.whatwg.org/#parser-document 27407. https://html.spec.whatwg.org/#script-force-async 27408. https://html.spec.whatwg.org/#already-started 27409. https://html.spec.whatwg.org/#preparation-time-document 27410. https://dom.spec.whatwg.org/#concept-node-document 27411. https://html.spec.whatwg.org/#preparation-time-document 27412. https://html.spec.whatwg.org/#concept-n-noscript 27413. https://html.spec.whatwg.org/#concept-n-noscript 27414. https://xhr.spec.whatwg.org/#xmlhttprequest 27415. https://xhr.spec.whatwg.org/#dom-xmlhttprequest-responsexml 27416. https://html.spec.whatwg.org/#domparser 27417. https://html.spec.whatwg.org/#xsltprocessor 27418. https://html.spec.whatwg.org/#dom-xsltprocessor-transformtodocument 27419. https://html.spec.whatwg.org/#document 27420. https://dom.spec.whatwg.org/#dom-domimplementation-createdocument 27421. https://html.spec.whatwg.org/#refsXHR 27422. https://html.spec.whatwg.org/#refsDOMPARSING 27423. https://html.spec.whatwg.org/#refsXSLTP 27424. https://html.spec.whatwg.org/#refsDOM 27425. https://html.spec.whatwg.org/#attr-script-nomodule 27426. https://html.spec.whatwg.org/#concept-script-type 27427. https://html.spec.whatwg.org/#attr-script-nomodule 27428. https://html.spec.whatwg.org/#module-script 27429. https://html.spec.whatwg.org/#attr-script-src 27430. https://w3c.github.io/webappsec-csp/#should-block-inline 27431. https://html.spec.whatwg.org/#refsCSP 27432. https://html.spec.whatwg.org/#attr-script-event 27433. https://html.spec.whatwg.org/#attr-script-for 27434. https://html.spec.whatwg.org/#concept-script-type 27435. https://html.spec.whatwg.org/#attr-script-for 27436. https://html.spec.whatwg.org/#attr-script-event 27437. https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace 27438. https://infra.spec.whatwg.org/#ascii-case-insensitive 27439. https://infra.spec.whatwg.org/#ascii-case-insensitive 27440. https://html.spec.whatwg.org/#attr-script-charset 27441. https://encoding.spec.whatwg.org/#concept-encoding-get 27442. https://html.spec.whatwg.org/#attr-script-charset 27443. https://html.spec.whatwg.org/#attr-script-charset 27444. https://encoding.spec.whatwg.org/#concept-encoding-get 27445. https://dom.spec.whatwg.org/#concept-node-document 27446. https://dom.spec.whatwg.org/#concept-document-encoding 27447. https://html.spec.whatwg.org/#concept-script-type 27448. https://html.spec.whatwg.org/#attr-script-crossorigin 27449. https://html.spec.whatwg.org/#cors-settings-attribute-credentials-mode 27450. https://html.spec.whatwg.org/#attr-script-crossorigin 27451. https://html.spec.whatwg.org/#cryptographicnonce 27452. https://html.spec.whatwg.org/#attr-script-integrity 27453. https://html.spec.whatwg.org/#attr-script-referrerpolicy 27454. https://html.spec.whatwg.org/#attr-script-fetchpriority 27455. https://html.spec.whatwg.org/#parser-inserted 27456. https://html.spec.whatwg.org/#script-fetch-options 27457. https://html.spec.whatwg.org/#concept-script-fetch-options-nonce 27458. https://html.spec.whatwg.org/#concept-script-fetch-options-integrity 27459. https://html.spec.whatwg.org/#concept-script-fetch-options-parser 27460. https://html.spec.whatwg.org/#concept-script-fetch-options-credentials 27461. https://html.spec.whatwg.org/#concept-script-fetch-options-referrer-policy 27462. https://html.spec.whatwg.org/#concept-script-fetch-options-fetch-priority 27463. https://dom.spec.whatwg.org/#concept-node-document 27464. https://html.spec.whatwg.org/#relevant-settings-object 27465. https://html.spec.whatwg.org/#attr-script-src 27466. https://html.spec.whatwg.org/#concept-script-type 27467. https://html.spec.whatwg.org/#queue-an-element-task 27468. https://html.spec.whatwg.org/#dom-manipulation-task-source 27469. https://dom.spec.whatwg.org/#concept-event-fire 27470. https://html.spec.whatwg.org/#event-error 27471. https://github.com/WICG/import-maps/issues/235 27472. https://html.spec.whatwg.org/#attr-script-src 27473. https://html.spec.whatwg.org/#queue-an-element-task 27474. https://html.spec.whatwg.org/#dom-manipulation-task-source 27475. https://dom.spec.whatwg.org/#concept-event-fire 27476. https://html.spec.whatwg.org/#event-error 27477. https://html.spec.whatwg.org/#concept-script-external 27478. https://html.spec.whatwg.org/#encoding-parsing-a-url 27479. https://dom.spec.whatwg.org/#concept-node-document 27480. https://html.spec.whatwg.org/#queue-an-element-task 27481. https://html.spec.whatwg.org/#dom-manipulation-task-source 27482. https://dom.spec.whatwg.org/#concept-event-fire 27483. https://html.spec.whatwg.org/#event-error 27484. https://html.spec.whatwg.org/#potentially-render-blocking 27485. https://html.spec.whatwg.org/#block-rendering 27486. https://html.spec.whatwg.org/#concept-script-delay-load 27487. https://html.spec.whatwg.org/#render-blocking 27488. https://html.spec.whatwg.org/#concept-script-fetch-options-render-blocking 27489. https://html.spec.whatwg.org/#mark-as-ready 27490. https://html.spec.whatwg.org/#concept-script-type 27491. https://html.spec.whatwg.org/#fetch-a-classic-script 27492. https://html.spec.whatwg.org/#attr-script-integrity 27493. https://html.spec.whatwg.org/#concept-script-fetch-options-integrity 27494. https://html.spec.whatwg.org/#resolving-a-module-integrity-metadata 27495. https://html.spec.whatwg.org/#fetch-a-module-script-tree 27496. https://html.spec.whatwg.org/#attr-script-src 27497. https://html.spec.whatwg.org/#attr-script-crossorigin 27498. https://html.spec.whatwg.org/#becomes-connected 27499. https://html.spec.whatwg.org/#attr-script-src 27500. https://html.spec.whatwg.org/#attr-script-crossorigin 27501. https://html.spec.whatwg.org/#attr-script-src 27502. https://dom.spec.whatwg.org/#concept-node-document 27503. https://html.spec.whatwg.org/#document-base-url 27504. https://html.spec.whatwg.org/#concept-script-type 27505. https://html.spec.whatwg.org/#creating-a-classic-script 27506. https://html.spec.whatwg.org/#mark-as-ready 27507. https://html.spec.whatwg.org/#concept-script-delay-load 27508. https://html.spec.whatwg.org/#potentially-render-blocking 27509. https://html.spec.whatwg.org/#block-rendering 27510. https://html.spec.whatwg.org/#concept-script-fetch-options-render-blocking 27511. https://html.spec.whatwg.org/#fetch-an-inline-module-script-graph 27512. https://html.spec.whatwg.org/#queue-an-element-task 27513. https://html.spec.whatwg.org/#networking-task-source 27514. https://html.spec.whatwg.org/#mark-as-ready 27515. https://html.spec.whatwg.org/#execute-the-script-element 27516. https://html.spec.whatwg.org/#create-an-import-map-parse-result 27517. https://html.spec.whatwg.org/#mark-as-ready 27518. https://html.spec.whatwg.org/#concept-script-type 27519. https://html.spec.whatwg.org/#attr-script-src 27520. https://html.spec.whatwg.org/#concept-script-type 27521. https://infra.spec.whatwg.org/#assert 27522. https://html.spec.whatwg.org/#concept-script-result 27523. https://html.spec.whatwg.org/#attr-script-async 27524. https://html.spec.whatwg.org/#script-force-async 27525. https://html.spec.whatwg.org/#preparation-time-document 27526. https://html.spec.whatwg.org/#set-of-scripts-that-will-execute-as-soon-as-possible 27527. https://infra.spec.whatwg.org/#set-append 27528. https://html.spec.whatwg.org/#steps-to-run-when-the-result-is-ready 27529. https://html.spec.whatwg.org/#execute-the-script-element 27530. https://infra.spec.whatwg.org/#list-remove 27531. https://html.spec.whatwg.org/#parser-inserted 27532. https://html.spec.whatwg.org/#preparation-time-document 27533. https://html.spec.whatwg.org/#list-of-scripts-that-will-execute-in-order-as-soon-as-possible 27534. https://infra.spec.whatwg.org/#list-append 27535. https://html.spec.whatwg.org/#steps-to-run-when-the-result-is-ready 27536. https://html.spec.whatwg.org/#concept-script-result 27537. https://html.spec.whatwg.org/#execute-the-script-element 27538. https://infra.spec.whatwg.org/#list-remove 27539. https://html.spec.whatwg.org/#attr-script-defer 27540. https://html.spec.whatwg.org/#concept-script-type 27541. https://infra.spec.whatwg.org/#list-append 27542. https://html.spec.whatwg.org/#parser-document 27543. https://html.spec.whatwg.org/#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing 27544. https://html.spec.whatwg.org/#steps-to-run-when-the-result-is-ready 27545. https://html.spec.whatwg.org/#ready-to-be-parser-executed 27546. https://html.spec.whatwg.org/#parser-document 27547. https://html.spec.whatwg.org/#pending-parsing-blocking-script 27548. https://html.spec.whatwg.org/#block-rendering 27549. https://html.spec.whatwg.org/#steps-to-run-when-the-result-is-ready 27550. https://html.spec.whatwg.org/#ready-to-be-parser-executed 27551. https://infra.spec.whatwg.org/#assert 27552. https://html.spec.whatwg.org/#concept-script-result 27553. https://html.spec.whatwg.org/#concept-script-type 27554. https://html.spec.whatwg.org/#parser-inserted 27555. https://html.spec.whatwg.org/#parser-document 27556. https://html.spec.whatwg.org/#has-a-style-sheet-that-is-blocking-scripts 27557. https://html.spec.whatwg.org/#xml-parser 27558. https://html.spec.whatwg.org/#html-parser 27559. https://html.spec.whatwg.org/#script-nesting-level 27560. https://html.spec.whatwg.org/#parser-document 27561. https://html.spec.whatwg.org/#pending-parsing-blocking-script 27562. https://html.spec.whatwg.org/#ready-to-be-parser-executed 27563. https://html.spec.whatwg.org/#immediately 27564. https://html.spec.whatwg.org/#execute-the-script-element 27565. https://html.spec.whatwg.org/#document 27566. https://html.spec.whatwg.org/#the-script-element 27567. https://html.spec.whatwg.org/#document 27568. https://infra.spec.whatwg.org/#ordered-set 27569. https://html.spec.whatwg.org/#the-script-element 27570. https://html.spec.whatwg.org/#document 27571. https://infra.spec.whatwg.org/#list 27572. https://html.spec.whatwg.org/#the-script-element 27573. https://html.spec.whatwg.org/#document 27574. https://infra.spec.whatwg.org/#list 27575. https://html.spec.whatwg.org/#the-script-element 27576. https://html.spec.whatwg.org/#the-script-element 27577. https://html.spec.whatwg.org/#document 27578. https://html.spec.whatwg.org/#pending-parsing-blocking-script 27579. https://html.spec.whatwg.org/#document 27580. https://html.spec.whatwg.org/#has-a-style-sheet-that-is-blocking-scripts 27581. https://html.spec.whatwg.org/#document 27582. https://html.spec.whatwg.org/#the-script-element 27583. https://dom.spec.whatwg.org/#concept-node-document 27584. https://html.spec.whatwg.org/#preparation-time-document 27585. https://html.spec.whatwg.org/#unblock-rendering 27586. https://html.spec.whatwg.org/#concept-script-result 27587. https://dom.spec.whatwg.org/#concept-event-fire 27588. https://html.spec.whatwg.org/#event-error 27589. https://html.spec.whatwg.org/#concept-script-external 27590. https://html.spec.whatwg.org/#concept-script-type 27591. https://html.spec.whatwg.org/#ignore-destructive-writes-counter 27592. https://html.spec.whatwg.org/#concept-script-type 27593. https://html.spec.whatwg.org/#dom-document-currentscript 27594. https://dom.spec.whatwg.org/#concept-tree-root 27595. https://dom.spec.whatwg.org/#concept-shadow-root 27596. https://html.spec.whatwg.org/#dom-document-currentscript 27597. https://dom.spec.whatwg.org/#in-a-document-tree 27598. https://html.spec.whatwg.org/#dom-document-currentscript 27599. https://html.spec.whatwg.org/#run-a-classic-script 27600. https://html.spec.whatwg.org/#concept-script-result 27601. https://html.spec.whatwg.org/#dom-document-currentscript 27602. https://infra.spec.whatwg.org/#assert 27603. https://html.spec.whatwg.org/#dom-document-currentscript 27604. https://html.spec.whatwg.org/#run-a-module-script 27605. https://html.spec.whatwg.org/#concept-script-result 27606. https://html.spec.whatwg.org/#register-an-import-map 27607. https://html.spec.whatwg.org/#concept-relevant-global 27608. https://html.spec.whatwg.org/#concept-script-result 27609. https://html.spec.whatwg.org/#ignore-destructive-writes-counter 27610. https://html.spec.whatwg.org/#concept-script-external 27611. https://dom.spec.whatwg.org/#concept-event-fire 27612. https://html.spec.whatwg.org/#event-load 27613. https://html.spec.whatwg.org/#the-script-element 27614. https://html.spec.whatwg.org/#text/javascript 27615. https://mimesniff.spec.whatwg.org/#javascript-mime-type 27616. https://mimesniff.spec.whatwg.org/#javascript-mime-type 27617. https://html.spec.whatwg.org/#refsRFC9239 27618. https://html.spec.whatwg.org/#content-type 27619. https://html.spec.whatwg.org/#the-script-element 27620. https://html.spec.whatwg.org/#attr-script-type 27621. https://mimesniff.spec.whatwg.org/#javascript-mime-type-essence-match 27622. https://html.spec.whatwg.org/#attr-script-type 27623. https://mimesniff.spec.whatwg.org/#javascript-mime-type 27624. https://html.spec.whatwg.org/#content-type 27625. https://html.spec.whatwg.org/#prepare-the-script-element 27626. https://html.spec.whatwg.org/#refsFETCH 27627. https://html.spec.whatwg.org/#the-script-element 27628. https://html.spec.whatwg.org/#the-script-element 27629. https://dom.spec.whatwg.org/#concept-descendant-text-content 27630. https://html.spec.whatwg.org/#refsABNF 27631. https://html.spec.whatwg.org/#the-script-element 27632. https://html.spec.whatwg.org/#inline-documentation-for-external-scripts 27633. https://html.spec.whatwg.org/#the-script-element 27634. https://html.spec.whatwg.org/#the-script-element 27635. https://html.spec.whatwg.org/#the-script-element 27636. https://html.spec.whatwg.org/#classic-script 27637. https://html.spec.whatwg.org/#the-script-element 27638. https://html.spec.whatwg.org/#attr-script-src 27639. https://html.spec.whatwg.org/#the-script-element 27640. https://html.spec.whatwg.org/#dom-script-text 27641. https://html.spec.whatwg.org/#refsABNF 27642. https://infra.spec.whatwg.org/#scalar-value 27643. https://infra.spec.whatwg.org/#scalar-value 27644. https://infra.spec.whatwg.org/#scalar-value 27645. https://html.spec.whatwg.org/#the-script-element 27646. https://html.spec.whatwg.org/#attr-script-src 27647. https://html.spec.whatwg.org/#the-script-element 27648. https://html.spec.whatwg.org/#the-script-element 27649. https://html.spec.whatwg.org/#the-script-element 27650. https://html.spec.whatwg.org/#parser-document 27651. https://html.spec.whatwg.org/#attr-script-defer 27652. https://html.spec.whatwg.org/#attr-script-async 27653. https://html.spec.whatwg.org/#immediately 27654. https://html.spec.whatwg.org/#xsltprocessor 27655. https://html.spec.whatwg.org/#dom-xsltprocessor-transformtodocument 27656. https://html.spec.whatwg.org/#document 27657. https://html.spec.whatwg.org/#concept-document-bc 27658. https://html.spec.whatwg.org/#the-script-element 27659. https://html.spec.whatwg.org/#already-started 27660. https://html.spec.whatwg.org/#prepare-the-script-element 27661. https://html.spec.whatwg.org/#concept-environment-noscript 27662. https://html.spec.whatwg.org/#the-script-element 27663. https://html.spec.whatwg.org/#parser-document 27664. https://html.spec.whatwg.org/#dom-script-async 27665. https://html.spec.whatwg.org/#attr-script-async 27666. https://html.spec.whatwg.org/#xsltprocessor 27667. https://html.spec.whatwg.org/#dom-xsltprocessor-transformtofragment 27668. https://dom.spec.whatwg.org/#dom-document-createelementns 27669. https://html.spec.whatwg.org/#the-script-element 27670. https://html.spec.whatwg.org/#parser-document 27671. https://html.spec.whatwg.org/#already-started 27672. https://html.spec.whatwg.org/#document 27673. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/noscript 27674. https://html.spec.whatwg.org/#concept-element-categories 27675. https://html.spec.whatwg.org/#metadata-content-2 27676. https://html.spec.whatwg.org/#flow-content-2 27677. https://html.spec.whatwg.org/#phrasing-content-2 27678. https://html.spec.whatwg.org/#concept-element-contexts 27679. https://html.spec.whatwg.org/#the-head-element 27680. https://dom.spec.whatwg.org/#html-document 27681. https://html.spec.whatwg.org/#the-noscript-element 27682. https://html.spec.whatwg.org/#phrasing-content-2 27683. https://dom.spec.whatwg.org/#html-document 27684. https://html.spec.whatwg.org/#the-noscript-element 27685. https://html.spec.whatwg.org/#concept-element-content-model 27686. https://html.spec.whatwg.org/#concept-n-noscript 27687. https://html.spec.whatwg.org/#the-head-element 27688. https://html.spec.whatwg.org/#the-link-element 27689. https://html.spec.whatwg.org/#the-style-element 27690. https://html.spec.whatwg.org/#the-meta-element 27691. https://html.spec.whatwg.org/#concept-n-noscript 27692. https://html.spec.whatwg.org/#the-head-element 27693. https://html.spec.whatwg.org/#transparent 27694. https://html.spec.whatwg.org/#the-noscript-element 27695. https://html.spec.whatwg.org/#concept-element-tag-omission 27696. https://html.spec.whatwg.org/#concept-element-attributes 27697. https://html.spec.whatwg.org/#global-attributes 27698. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 27699. https://w3c.github.io/html-aria/#el-noscript 27700. https://w3c.github.io/html-aam/#el-noscript 27701. https://html.spec.whatwg.org/#concept-element-dom 27702. https://html.spec.whatwg.org/#htmlelement 27703. https://html.spec.whatwg.org/#the-noscript-element 27704. https://html.spec.whatwg.org/#represents 27705. https://html.spec.whatwg.org/#concept-n-script 27706. https://html.spec.whatwg.org/#represents 27707. https://html.spec.whatwg.org/#concept-n-noscript 27708. https://dom.spec.whatwg.org/#html-document 27709. https://html.spec.whatwg.org/#the-head-element 27710. https://html.spec.whatwg.org/#concept-n-noscript 27711. https://html.spec.whatwg.org/#the-noscript-element 27712. https://html.spec.whatwg.org/#the-noscript-element 27713. https://html.spec.whatwg.org/#the-link-element 27714. https://html.spec.whatwg.org/#the-style-element 27715. https://html.spec.whatwg.org/#the-meta-element 27716. https://html.spec.whatwg.org/#the-head-element 27717. https://html.spec.whatwg.org/#concept-n-script 27718. https://html.spec.whatwg.org/#the-noscript-element 27719. https://html.spec.whatwg.org/#the-noscript-element 27720. https://html.spec.whatwg.org/#html-fragment-parsing-algorithm 27721. https://html.spec.whatwg.org/#the-noscript-element 27722. https://html.spec.whatwg.org/#concept-frag-parse-context 27723. https://html.spec.whatwg.org/#the-link-element 27724. https://html.spec.whatwg.org/#the-style-element 27725. https://html.spec.whatwg.org/#the-meta-element 27726. https://html.spec.whatwg.org/#the-noscript-element 27727. https://html.spec.whatwg.org/#parse-errors 27728. https://html.spec.whatwg.org/#the-head-element 27729. https://html.spec.whatwg.org/#concept-n-noscript 27730. https://html.spec.whatwg.org/#the-noscript-element 27731. https://html.spec.whatwg.org/#the-noscript-element 27732. https://html.spec.whatwg.org/#transparent 27733. https://html.spec.whatwg.org/#the-noscript-element 27734. https://html.spec.whatwg.org/#the-noscript-element 27735. https://html.spec.whatwg.org/#the-noscript-element 27736. https://html.spec.whatwg.org/#the-head-element 27737. https://html.spec.whatwg.org/#concept-n-script 27738. https://html.spec.whatwg.org/#the-noscript-element 27739. https://html.spec.whatwg.org/#the-noscript-element 27740. https://html.spec.whatwg.org/#the-noscript-element 27741. https://html.spec.whatwg.org/#the-script-element 27742. https://html.spec.whatwg.org/#html-parser 27743. https://html.spec.whatwg.org/#parse-errors 27744. https://html.spec.whatwg.org/#the-script-element 27745. https://html.spec.whatwg.org/#the-noscript-element 27746. https://html.spec.whatwg.org/#the-noscript-element 27747. https://dom.spec.whatwg.org/#concept-child-text-content 27748. https://html.spec.whatwg.org/#the-noscript-element 27749. https://html.spec.whatwg.org/#dom-element-outerhtml 27750. https://html.spec.whatwg.org/#the-noscript-element 27751. https://html.spec.whatwg.org/#the-noscript-element 27752. https://html.spec.whatwg.org/#the-noscript-element 27753. https://html.spec.whatwg.org/#html-parser 27754. https://html.spec.whatwg.org/#scripting-flag 27755. https://html.spec.whatwg.org/#the-noscript-element 27756. https://dom.spec.whatwg.org/#xml-document 27757. https://html.spec.whatwg.org/#the-noscript-element 27758. https://html.spec.whatwg.org/#syntax 27759. https://html.spec.whatwg.org/#the-xhtml-syntax 27760. https://html.spec.whatwg.org/#the-noscript-element 27761. https://html.spec.whatwg.org/#the-noscript-element 27762. https://html.spec.whatwg.org/#form-submission-2 27763. https://html.spec.whatwg.org/#concept-n-script 27764. https://html.spec.whatwg.org/#the-noscript-element 27765. https://html.spec.whatwg.org/#the-noscript-element 27766. https://html.spec.whatwg.org/#the-noscript-element 27767. https://dom.spec.whatwg.org/#xml-document 27768. https://html.spec.whatwg.org/#the-noscript-element 27769. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template 27770. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTemplateElement 27771. https://html.spec.whatwg.org/#concept-element-categories 27772. https://html.spec.whatwg.org/#metadata-content-2 27773. https://html.spec.whatwg.org/#flow-content-2 27774. https://html.spec.whatwg.org/#phrasing-content-2 27775. https://html.spec.whatwg.org/#script-supporting-elements-2 27776. https://html.spec.whatwg.org/#concept-element-contexts 27777. https://html.spec.whatwg.org/#metadata-content-2 27778. https://html.spec.whatwg.org/#phrasing-content-2 27779. https://html.spec.whatwg.org/#script-supporting-elements-2 27780. https://html.spec.whatwg.org/#the-colgroup-element 27781. https://html.spec.whatwg.org/#attr-colgroup-span 27782. https://html.spec.whatwg.org/#concept-element-content-model 27783. https://html.spec.whatwg.org/#concept-content-nothing 27784. https://html.spec.whatwg.org/#template-example 27785. https://html.spec.whatwg.org/#concept-element-tag-omission 27786. https://html.spec.whatwg.org/#concept-element-attributes 27787. https://html.spec.whatwg.org/#global-attributes 27788. https://html.spec.whatwg.org/#attr-template-shadowrootmode 27789. https://html.spec.whatwg.org/#attr-template-shadowrootdelegatesfocus 27790. https://dom.spec.whatwg.org/#shadowroot-delegates-focus 27791. https://html.spec.whatwg.org/#attr-template-shadowrootclonable 27792. https://dom.spec.whatwg.org/#shadowroot-clonable 27793. https://html.spec.whatwg.org/#attr-template-shadowrootserializable 27794. https://html.spec.whatwg.org/#serializable 27795. https://html.spec.whatwg.org/#attr-template-shadowrootcustomelementregistry 27796. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 27797. https://w3c.github.io/html-aria/#el-template 27798. https://w3c.github.io/html-aam/#el-template 27799. https://html.spec.whatwg.org/#concept-element-dom 27800. https://html.spec.whatwg.org/#htmlelement 27801. https://html.spec.whatwg.org/#htmlconstructor 27802. https://dom.spec.whatwg.org/#interface-documentfragment 27803. https://html.spec.whatwg.org/#dom-template-content 27804. https://html.spec.whatwg.org/#cereactions 27805. https://html.spec.whatwg.org/#dom-template-shadowrootmode 27806. https://html.spec.whatwg.org/#cereactions 27807. https://html.spec.whatwg.org/#dom-template-shadowrootdelegatesfocus 27808. https://html.spec.whatwg.org/#cereactions 27809. https://html.spec.whatwg.org/#dom-template-shadowrootclonable 27810. https://html.spec.whatwg.org/#cereactions 27811. https://html.spec.whatwg.org/#dom-template-shadowrootserializable 27812. https://html.spec.whatwg.org/#cereactions 27813. https://html.spec.whatwg.org/#dom-template-shadowrootcustomelementregistry 27814. https://html.spec.whatwg.org/#the-template-element 27815. https://html.spec.whatwg.org/#the-template-element 27816. https://html.spec.whatwg.org/#represents 27817. https://html.spec.whatwg.org/#enumerated-attribute 27818. https://html.spec.whatwg.org/#attr-template-shadowrootmode 27819. https://html.spec.whatwg.org/#invalid-value-default 27820. https://html.spec.whatwg.org/#missing-value-default 27821. https://html.spec.whatwg.org/#boolean-attribute 27822. https://html.spec.whatwg.org/#boolean-attribute 27823. https://html.spec.whatwg.org/#boolean-attribute 27824. https://html.spec.whatwg.org/#boolean-attribute 27825. https://html.spec.whatwg.org/#template-contents 27826. https://html.spec.whatwg.org/#the-template-element 27827. https://html.spec.whatwg.org/#template-syntax 27828. https://html.spec.whatwg.org/#the-template-element 27829. https://dom.spec.whatwg.org/#interface-text 27830. https://html.spec.whatwg.org/#the-template-element 27831. https://html.spec.whatwg.org/#concept-content-nothing 27832. https://html.spec.whatwg.org/#the-p-element 27833. https://html.spec.whatwg.org/#the-template-element 27834. https://html.spec.whatwg.org/#the-template-element 27835. https://dom.spec.whatwg.org/#interface-documentfragment 27836. https://html.spec.whatwg.org/#the-template-element 27837. https://html.spec.whatwg.org/#dom-template-content 27838. https://dom.spec.whatwg.org/#dom-node-appendchild 27839. https://html.spec.whatwg.org/#the-template-element 27840. https://html.spec.whatwg.org/#the-template-element 27841. https://html.spec.whatwg.org/#the-template-element 27842. https://html.spec.whatwg.org/#dom-template-content 27843. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTemplateElement/content 27844. https://html.spec.whatwg.org/#template-contents 27845. https://dom.spec.whatwg.org/#interface-documentfragment 27846. https://html.spec.whatwg.org/#the-template-element 27847. https://dom.spec.whatwg.org/#interface-documentfragment 27848. https://html.spec.whatwg.org/#template-contents 27849. https://html.spec.whatwg.org/#no-browsing-context 27850. https://html.spec.whatwg.org/#the-template-element 27851. https://html.spec.whatwg.org/#template-contents 27852. https://html.spec.whatwg.org/#the-template-element 27853. https://dom.spec.whatwg.org/#concept-node-document 27854. https://html.spec.whatwg.org/#appropriate-template-contents-owner-document 27855. https://dom.spec.whatwg.org/#interface-documentfragment 27856. https://dom.spec.whatwg.org/#concept-node-document 27857. https://dom.spec.whatwg.org/#concept-documentfragment-host 27858. https://html.spec.whatwg.org/#the-template-element 27859. https://html.spec.whatwg.org/#the-template-element 27860. https://html.spec.whatwg.org/#template-contents 27861. https://dom.spec.whatwg.org/#interface-documentfragment 27862. https://html.spec.whatwg.org/#document 27863. https://html.spec.whatwg.org/#document 27864. https://html.spec.whatwg.org/#document 27865. https://html.spec.whatwg.org/#document 27866. https://html.spec.whatwg.org/#concept-document-bc 27867. https://html.spec.whatwg.org/#document 27868. https://dom.spec.whatwg.org/#html-document 27869. https://dom.spec.whatwg.org/#html-document 27870. https://html.spec.whatwg.org/#associated-inert-template-document 27871. https://html.spec.whatwg.org/#associated-inert-template-document 27872. https://html.spec.whatwg.org/#document 27873. https://html.spec.whatwg.org/#document 27874. https://html.spec.whatwg.org/#template-contents 27875. https://html.spec.whatwg.org/#the-template-element 27876. https://html.spec.whatwg.org/#browsing-context 27877. https://html.spec.whatwg.org/#the-template-element 27878. https://html.spec.whatwg.org/#document 27879. https://html.spec.whatwg.org/#document 27880. https://dom.spec.whatwg.org/#concept-node-adopt-ext 27881. https://html.spec.whatwg.org/#the-template-element 27882. https://dom.spec.whatwg.org/#concept-node-document 27883. https://html.spec.whatwg.org/#appropriate-template-contents-owner-document 27884. https://dom.spec.whatwg.org/#concept-node-document 27885. https://html.spec.whatwg.org/#document 27886. https://dom.spec.whatwg.org/#concept-node-adopt 27887. https://html.spec.whatwg.org/#template-contents 27888. https://dom.spec.whatwg.org/#interface-documentfragment 27889. https://html.spec.whatwg.org/#the-template-element 27890. https://html.spec.whatwg.org/#template-contents 27891. https://html.spec.whatwg.org/#template-contents 27892. https://dom.spec.whatwg.org/#interface-shadowroot 27893. https://html.spec.whatwg.org/#reflect 27894. https://html.spec.whatwg.org/#attr-template-shadowrootmode 27895. https://html.spec.whatwg.org/#limited-to-only-known-values 27896. https://html.spec.whatwg.org/#reflect 27897. https://html.spec.whatwg.org/#attr-template-shadowrootdelegatesfocus 27898. https://html.spec.whatwg.org/#reflect 27899. https://html.spec.whatwg.org/#attr-template-shadowrootclonable 27900. https://html.spec.whatwg.org/#reflect 27901. https://html.spec.whatwg.org/#attr-template-shadowrootserializable 27902. https://html.spec.whatwg.org/#reflect 27903. https://html.spec.whatwg.org/#attr-template-shadowrootcustomelementregistry 27904. https://dom.spec.whatwg.org/#concept-node-clone-ext 27905. https://html.spec.whatwg.org/#the-template-element 27906. https://html.spec.whatwg.org/#template-contents 27907. https://dom.spec.whatwg.org/#concept-tree-child 27908. https://dom.spec.whatwg.org/#concept-tree-order 27909. https://dom.spec.whatwg.org/#concept-node-clone 27910. https://dom.spec.whatwg.org/#clone-a-node-document 27911. https://html.spec.whatwg.org/#template-contents 27912. https://dom.spec.whatwg.org/#concept-node-document 27913. https://dom.spec.whatwg.org/#clone-a-node-subtree 27914. https://dom.spec.whatwg.org/#clone-a-node-parent 27915. https://html.spec.whatwg.org/#template-contents 27916. https://html.spec.whatwg.org/#the-template-element 27917. https://dom.spec.whatwg.org/#dom-node-clonenode 27918. https://html.spec.whatwg.org/#the-template-element 27919. https://dom.spec.whatwg.org/#dom-document-importnode 27920. https://dom.spec.whatwg.org/#concept-node-document 27921. https://dom.spec.whatwg.org/#dom-node-clonenode 27922. https://dom.spec.whatwg.org/#dom-node-appendchild 27923. https://dom.spec.whatwg.org/#dom-document-importnode 27924. https://html.spec.whatwg.org/#the-template-element 27925. https://html.spec.whatwg.org/#the-template-element 27926. https://html.spec.whatwg.org/#xml-parser 27927. https://html.spec.whatwg.org/#the-template-element 27928. https://html.spec.whatwg.org/#template-contents 27929. https://html.spec.whatwg.org/#the-template-element 27930. https://html.spec.whatwg.org/#template-contents 27931. https://html.spec.whatwg.org/#document 27932. https://html.spec.whatwg.org/#html-parser 27933. https://html.spec.whatwg.org/#xml-parser 27934. https://html.spec.whatwg.org/#template-contents 27935. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot 27936. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement 27937. https://html.spec.whatwg.org/#concept-element-categories 27938. https://html.spec.whatwg.org/#flow-content-2 27939. https://html.spec.whatwg.org/#phrasing-content-2 27940. https://html.spec.whatwg.org/#concept-element-contexts 27941. https://html.spec.whatwg.org/#phrasing-content-2 27942. https://html.spec.whatwg.org/#concept-element-content-model 27943. https://html.spec.whatwg.org/#transparent 27944. https://html.spec.whatwg.org/#concept-element-tag-omission 27945. https://html.spec.whatwg.org/#concept-element-attributes 27946. https://html.spec.whatwg.org/#global-attributes 27947. https://html.spec.whatwg.org/#attr-slot-name 27948. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 27949. https://w3c.github.io/html-aria/#el-slot 27950. https://w3c.github.io/html-aam/#el-slot 27951. https://html.spec.whatwg.org/#concept-element-dom 27952. https://html.spec.whatwg.org/#htmlelement 27953. https://html.spec.whatwg.org/#htmlconstructor 27954. https://html.spec.whatwg.org/#cereactions 27955. https://html.spec.whatwg.org/#dom-slot-name 27956. https://html.spec.whatwg.org/#dom-slot-assignednodes 27957. https://html.spec.whatwg.org/#assignednodesoptions 27958. https://html.spec.whatwg.org/#dom-slot-assignedelements 27959. https://html.spec.whatwg.org/#assignednodesoptions 27960. https://html.spec.whatwg.org/#dom-slot-assign 27961. https://dom.spec.whatwg.org/#interface-element 27962. https://dom.spec.whatwg.org/#interface-text 27963. https://html.spec.whatwg.org/#the-slot-element 27964. https://dom.spec.whatwg.org/#concept-slot 27965. https://dom.spec.whatwg.org/#concept-shadow-tree 27966. https://html.spec.whatwg.org/#the-slot-element 27967. https://html.spec.whatwg.org/#represents 27968. https://dom.spec.whatwg.org/#slot-assigned-nodes 27969. https://dom.spec.whatwg.org/#concept-slot 27970. https://dom.spec.whatwg.org/#slot-name 27971. https://html.spec.whatwg.org/#attr-slot-name 27972. https://dom.spec.whatwg.org/#assign-a-slot 27973. https://html.spec.whatwg.org/#the-slot-element 27974. https://html.spec.whatwg.org/#attr-slot-name 27975. https://dom.spec.whatwg.org/#concept-slot 27976. https://dom.spec.whatwg.org/#assign-a-slot 27977. https://html.spec.whatwg.org/#attr-slot 27978. https://html.spec.whatwg.org/#attr-slot-name 27979. https://html.spec.whatwg.org/#the-slot-element 27980. https://dom.spec.whatwg.org/#concept-shadow-tree 27981. https://dom.spec.whatwg.org/#concept-tree-root 27982. https://dom.spec.whatwg.org/#concept-documentfragment-host 27983. https://html.spec.whatwg.org/#attr-slot 27984. https://html.spec.whatwg.org/#dom-slot-name 27985. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement/name 27986. https://dom.spec.whatwg.org/#slot-name 27987. https://html.spec.whatwg.org/#dom-slot-assignednodes 27988. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement/assignedNodes 27989. https://dom.spec.whatwg.org/#slot-assigned-nodes 27990. https://html.spec.whatwg.org/#dom-slot-assignednodes 27991. https://dom.spec.whatwg.org/#slot-assigned-nodes 27992. https://html.spec.whatwg.org/#the-slot-element 27993. https://html.spec.whatwg.org/#the-slot-element 27994. https://html.spec.whatwg.org/#dom-slot-assignedelements 27995. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement/assignedElements 27996. https://dom.spec.whatwg.org/#slot-assigned-nodes 27997. https://html.spec.whatwg.org/#dom-slot-assignedelements 27998. https://html.spec.whatwg.org/#dom-slot-assignednodes 27999. https://html.spec.whatwg.org/#dom-slot-assign 28000. https://html.spec.whatwg.org/#manually-assigned-nodes 28001. https://html.spec.whatwg.org/#reflect 28002. https://html.spec.whatwg.org/#the-slot-element 28003. https://infra.spec.whatwg.org/#ordered-set 28004. https://dom.spec.whatwg.org/#concept-slotable 28005. https://html.spec.whatwg.org/#dom-slot-assign 28006. https://html.spec.whatwg.org/#manually-assigned-nodes 28007. https://dom.spec.whatwg.org/#concept-slotable 28008. https://html.spec.whatwg.org/#dom-assignednodesoptions-flatten 28009. https://webidl.spec.whatwg.org/#this 28010. https://dom.spec.whatwg.org/#slot-assigned-nodes 28011. https://dom.spec.whatwg.org/#find-flattened-slotables 28012. https://webidl.spec.whatwg.org/#this 28013. https://html.spec.whatwg.org/#dom-assignednodesoptions-flatten 28014. https://webidl.spec.whatwg.org/#this 28015. https://dom.spec.whatwg.org/#slot-assigned-nodes 28016. https://dom.spec.whatwg.org/#interface-element 28017. https://dom.spec.whatwg.org/#find-flattened-slotables 28018. https://webidl.spec.whatwg.org/#this 28019. https://dom.spec.whatwg.org/#interface-element 28020. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement/assign 28021. https://infra.spec.whatwg.org/#list-iterate 28022. https://webidl.spec.whatwg.org/#this 28023. https://html.spec.whatwg.org/#manually-assigned-nodes 28024. https://dom.spec.whatwg.org/#slottable-manual-slot-assignment 28025. https://infra.spec.whatwg.org/#ordered-set 28026. https://infra.spec.whatwg.org/#list-iterate 28027. https://dom.spec.whatwg.org/#slottable-manual-slot-assignment 28028. https://html.spec.whatwg.org/#the-slot-element 28029. https://html.spec.whatwg.org/#the-slot-element 28030. https://html.spec.whatwg.org/#manually-assigned-nodes 28031. https://dom.spec.whatwg.org/#slottable-manual-slot-assignment 28032. https://webidl.spec.whatwg.org/#this 28033. https://infra.spec.whatwg.org/#set-append 28034. https://webidl.spec.whatwg.org/#this 28035. https://html.spec.whatwg.org/#manually-assigned-nodes 28036. https://dom.spec.whatwg.org/#assign-slotables-for-a-tree 28037. https://webidl.spec.whatwg.org/#this 28038. https://dom.spec.whatwg.org/#concept-tree-root 28039. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas 28040. https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement 28041. https://html.spec.whatwg.org/#concept-element-categories 28042. https://html.spec.whatwg.org/#flow-content-2 28043. https://html.spec.whatwg.org/#phrasing-content-2 28044. https://html.spec.whatwg.org/#embedded-content-category 28045. https://html.spec.whatwg.org/#palpable-content-2 28046. https://html.spec.whatwg.org/#concept-element-contexts 28047. https://html.spec.whatwg.org/#embedded-content-category 28048. https://html.spec.whatwg.org/#concept-element-content-model 28049. https://html.spec.whatwg.org/#transparent 28050. https://html.spec.whatwg.org/#interactive-content-2 28051. https://html.spec.whatwg.org/#the-a-element 28052. https://html.spec.whatwg.org/#the-img-element 28053. https://html.spec.whatwg.org/#attr-hyperlink-usemap 28054. https://html.spec.whatwg.org/#the-button-element 28055. https://html.spec.whatwg.org/#the-input-element 28056. https://html.spec.whatwg.org/#attr-input-type 28057. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 28058. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 28059. https://html.spec.whatwg.org/#the-input-element 28060. https://html.spec.whatwg.org/#concept-button 28061. https://html.spec.whatwg.org/#the-select-element 28062. https://html.spec.whatwg.org/#attr-select-multiple 28063. https://html.spec.whatwg.org/#concept-select-size 28064. https://html.spec.whatwg.org/#concept-element-tag-omission 28065. https://html.spec.whatwg.org/#concept-element-attributes 28066. https://html.spec.whatwg.org/#global-attributes 28067. https://html.spec.whatwg.org/#attr-canvas-width 28068. https://html.spec.whatwg.org/#attr-canvas-height 28069. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 28070. https://w3c.github.io/html-aria/#el-canvas 28071. https://w3c.github.io/html-aam/#el-canvas 28072. https://html.spec.whatwg.org/#concept-element-dom 28073. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28074. https://html.spec.whatwg.org/#imagebitmaprenderingcontext 28075. https://www.khronos.org/registry/webgl/specs/latest/1.0/#WebGLRenderingContext 28076. https://www.khronos.org/registry/webgl/specs/latest/2.0/#WebGL2RenderingContext 28077. https://gpuweb.github.io/gpuweb/#canvas-context 28078. https://html.spec.whatwg.org/#htmlelement 28079. https://html.spec.whatwg.org/#htmlconstructor 28080. https://html.spec.whatwg.org/#cereactions 28081. https://html.spec.whatwg.org/#dom-canvas-width 28082. https://html.spec.whatwg.org/#cereactions 28083. https://html.spec.whatwg.org/#dom-canvas-height 28084. https://html.spec.whatwg.org/#renderingcontext 28085. https://html.spec.whatwg.org/#dom-canvas-getcontext 28086. https://html.spec.whatwg.org/#dom-canvas-todataurl 28087. https://html.spec.whatwg.org/#dom-canvas-toblob 28088. https://html.spec.whatwg.org/#blobcallback 28089. https://html.spec.whatwg.org/#offscreencanvas 28090. https://html.spec.whatwg.org/#dom-canvas-transfercontroltooffscreen 28091. https://w3c.github.io/FileAPI/#dfn-Blob 28092. https://html.spec.whatwg.org/#the-canvas-element 28093. https://html.spec.whatwg.org/#the-canvas-element 28094. https://html.spec.whatwg.org/#the-canvas-element 28095. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 28096. https://dom.spec.whatwg.org/#concept-shadow-tree 28097. https://html.spec.whatwg.org/#the-canvas-element 28098. https://html.spec.whatwg.org/#the-canvas-element 28099. https://html.spec.whatwg.org/#the-canvas-element 28100. https://html.spec.whatwg.org/#the-canvas-element 28101. https://html.spec.whatwg.org/#fallback-content 28102. https://html.spec.whatwg.org/#concept-n-script 28103. https://html.spec.whatwg.org/#the-canvas-element 28104. https://html.spec.whatwg.org/#the-canvas-element 28105. https://html.spec.whatwg.org/#the-canvas-element 28106. https://html.spec.whatwg.org/#represents 28107. https://html.spec.whatwg.org/#embedded-content-category 28108. https://html.spec.whatwg.org/#the-canvas-element 28109. https://html.spec.whatwg.org/#the-canvas-element 28110. https://html.spec.whatwg.org/#represents 28111. https://html.spec.whatwg.org/#embedded-content-category 28112. https://html.spec.whatwg.org/#fallback-content 28113. https://html.spec.whatwg.org/#concept-n-noscript 28114. https://html.spec.whatwg.org/#the-canvas-element 28115. https://html.spec.whatwg.org/#the-canvas-element 28116. https://html.spec.whatwg.org/#the-canvas-element 28117. https://html.spec.whatwg.org/#represents 28118. https://html.spec.whatwg.org/#fallback-content 28119. https://html.spec.whatwg.org/#the-canvas-element 28120. https://html.spec.whatwg.org/#represents 28121. https://html.spec.whatwg.org/#embedded-content-category 28122. https://html.spec.whatwg.org/#the-canvas-element 28123. https://html.spec.whatwg.org/#fallback-content 28124. https://html.spec.whatwg.org/#focused 28125. https://html.spec.whatwg.org/#focusable-area 28126. https://html.spec.whatwg.org/#fallback-content 28127. https://html.spec.whatwg.org/#refsUIEVENTS 28128. https://html.spec.whatwg.org/#the-canvas-element 28129. https://html.spec.whatwg.org/#being-rendered 28130. https://html.spec.whatwg.org/#represents 28131. https://html.spec.whatwg.org/#embedded-content-category 28132. https://html.spec.whatwg.org/#the-canvas-element 28133. https://html.spec.whatwg.org/#valid-non-negative-integer 28134. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 28135. https://html.spec.whatwg.org/#attr-canvas-width 28136. https://html.spec.whatwg.org/#attr-canvas-height 28137. https://html.spec.whatwg.org/#attr-canvas-width 28138. https://html.spec.whatwg.org/#attr-canvas-height 28139. https://html.spec.whatwg.org/#concept-canvas-context-mode 28140. https://html.spec.whatwg.org/#the-canvas-element 28141. https://html.spec.whatwg.org/#concept-canvas-placeholder 28142. https://webidl.spec.whatwg.org/#invalidstateerror 28143. https://webidl.spec.whatwg.org/#dfn-DOMException 28144. https://drafts.csswg.org/css-images/#natural-dimensions 28145. https://html.spec.whatwg.org/#the-canvas-element 28146. https://html.spec.whatwg.org/#represents 28147. https://html.spec.whatwg.org/#embedded-content-category 28148. https://html.spec.whatwg.org/#the-canvas-element 28149. https://html.spec.whatwg.org/#the-canvas-element 28150. https://drafts.csswg.org/css-images/#the-object-fit 28151. https://html.spec.whatwg.org/#the-canvas-element 28152. https://html.spec.whatwg.org/#imagebitmap 28153. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28154. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 28155. https://html.spec.whatwg.org/#imagebitmaprenderingcontext 28156. https://html.spec.whatwg.org/#the-canvas-element 28157. https://html.spec.whatwg.org/#imagebitmap 28158. https://html.spec.whatwg.org/#concept-canvas-origin-clean 28159. https://html.spec.whatwg.org/#the-canvas-element 28160. https://html.spec.whatwg.org/#the-canvas-element 28161. https://html.spec.whatwg.org/#concept-canvas-context-mode 28162. https://html.spec.whatwg.org/#concept-canvas-none 28163. https://html.spec.whatwg.org/#the-canvas-element 28164. https://drafts.csswg.org/css-color/#transparent-black 28165. https://drafts.csswg.org/css-images/#natural-width 28166. https://html.spec.whatwg.org/#obtain-numeric-values 28167. https://html.spec.whatwg.org/#attr-canvas-width 28168. https://drafts.csswg.org/css-images/#natural-height 28169. https://html.spec.whatwg.org/#obtain-numeric-values 28170. https://html.spec.whatwg.org/#attr-canvas-height 28171. https://drafts.csswg.org/css-values/#px 28172. https://html.spec.whatwg.org/#concept-canvas-context-mode 28173. https://html.spec.whatwg.org/#concept-canvas-placeholder 28174. https://html.spec.whatwg.org/#the-canvas-element 28175. https://html.spec.whatwg.org/#offscreencanvas 28176. https://html.spec.whatwg.org/#the-canvas-element 28177. https://html.spec.whatwg.org/#offscreencanvas 28178. https://html.spec.whatwg.org/#the-canvas-element 28179. https://html.spec.whatwg.org/#embedded-content-category 28180. https://drafts.csswg.org/css-images-4/#paint-source 28181. https://drafts.csswg.org/css-images/#natural-width 28182. https://drafts.csswg.org/css-images/#natural-height 28183. https://html.spec.whatwg.org/#attr-canvas-width 28184. https://html.spec.whatwg.org/#attr-canvas-height 28185. https://html.spec.whatwg.org/#the-canvas-element 28186. https://html.spec.whatwg.org/#concept-canvas-context-mode 28187. https://html.spec.whatwg.org/#concept-canvas-context-mode 28188. https://html.spec.whatwg.org/#concept-canvas-2d 28189. https://html.spec.whatwg.org/#concept-canvas-set-bitmap-dimensions 28190. https://html.spec.whatwg.org/#obtain-numeric-values 28191. https://html.spec.whatwg.org/#attr-canvas-width 28192. https://html.spec.whatwg.org/#attr-canvas-height 28193. https://html.spec.whatwg.org/#concept-canvas-webgl 28194. https://html.spec.whatwg.org/#concept-canvas-webgl2 28195. https://html.spec.whatwg.org/#refsWEBGL 28196. https://html.spec.whatwg.org/#concept-canvas-webgpu 28197. https://html.spec.whatwg.org/#refsWEBGPU 28198. https://html.spec.whatwg.org/#concept-canvas-bitmaprenderer 28199. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-bitmap-mode 28200. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-blank 28201. https://html.spec.whatwg.org/#set-an-imagebitmaprenderingcontext's-output-bitmap 28202. https://html.spec.whatwg.org/#the-canvas-element 28203. https://html.spec.whatwg.org/#concept-canvas-placeholder 28204. https://html.spec.whatwg.org/#concept-canvas-none 28205. https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/height 28206. https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/width 28207. https://html.spec.whatwg.org/#reflect 28208. https://html.spec.whatwg.org/#dom-canvas-getcontext 28209. https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/getContext 28210. https://html.spec.whatwg.org/#canvas-context-2d 28211. https://html.spec.whatwg.org/#canvas-context-bitmaprenderer 28212. https://html.spec.whatwg.org/#canvas-context-webgl 28213. https://html.spec.whatwg.org/#canvas-context-webgl2 28214. https://html.spec.whatwg.org/#canvas-context-webgpu 28215. https://html.spec.whatwg.org/#canvas-context-2d 28216. https://html.spec.whatwg.org/#canvas-context-bitmaprenderer 28217. https://html.spec.whatwg.org/#canvas-context-webgl 28218. https://html.spec.whatwg.org/#canvas-context-webgl2 28219. https://html.spec.whatwg.org/#canvas-context-webgpu 28220. https://html.spec.whatwg.org/#refsWEBGL 28221. https://html.spec.whatwg.org/#refsWEBGPU 28222. https://html.spec.whatwg.org/#canvas-context-2d 28223. https://html.spec.whatwg.org/#canvas-context-webgl 28224. https://html.spec.whatwg.org/#the-canvas-element 28225. https://webidl.spec.whatwg.org/#idl-object 28226. https://webidl.spec.whatwg.org/#es-type-mapping 28227. https://html.spec.whatwg.org/#the-canvas-element 28228. https://html.spec.whatwg.org/#concept-canvas-context-mode 28229. https://html.spec.whatwg.org/#concept-canvas-none 28230. https://html.spec.whatwg.org/#concept-canvas-2d 28231. https://html.spec.whatwg.org/#concept-canvas-bitmaprenderer 28232. https://html.spec.whatwg.org/#concept-canvas-webgl 28233. https://html.spec.whatwg.org/#concept-canvas-webgl2 28234. https://html.spec.whatwg.org/#concept-canvas-webgpu 28235. https://html.spec.whatwg.org/#concept-canvas-placeholder 28236. https://html.spec.whatwg.org/#2d-context-creation-algorithm 28237. https://webidl.spec.whatwg.org/#this 28238. https://webidl.spec.whatwg.org/#this 28239. https://html.spec.whatwg.org/#concept-canvas-context-mode 28240. https://html.spec.whatwg.org/#concept-canvas-2d 28241. https://webidl.spec.whatwg.org/#invalidstateerror 28242. https://webidl.spec.whatwg.org/#dfn-DOMException 28243. https://html.spec.whatwg.org/#imagebitmaprenderingcontext-creation-algorithm 28244. https://webidl.spec.whatwg.org/#this 28245. https://webidl.spec.whatwg.org/#this 28246. https://html.spec.whatwg.org/#concept-canvas-context-mode 28247. https://html.spec.whatwg.org/#concept-canvas-bitmaprenderer 28248. https://webidl.spec.whatwg.org/#invalidstateerror 28249. https://webidl.spec.whatwg.org/#dfn-DOMException 28250. https://html.spec.whatwg.org/#refsWEBGL 28251. https://webidl.spec.whatwg.org/#this 28252. https://html.spec.whatwg.org/#concept-canvas-context-mode 28253. https://html.spec.whatwg.org/#concept-canvas-webgl 28254. https://html.spec.whatwg.org/#concept-canvas-webgl2 28255. https://webidl.spec.whatwg.org/#invalidstateerror 28256. https://webidl.spec.whatwg.org/#dfn-DOMException 28257. https://gpuweb.github.io/gpuweb/#canvas-rendering 28258. https://html.spec.whatwg.org/#refsWEBGPU 28259. https://webidl.spec.whatwg.org/#this 28260. https://html.spec.whatwg.org/#concept-canvas-context-mode 28261. https://html.spec.whatwg.org/#concept-canvas-webgpu 28262. https://webidl.spec.whatwg.org/#invalidstateerror 28263. https://webidl.spec.whatwg.org/#dfn-DOMException 28264. https://webidl.spec.whatwg.org/#invalidstateerror 28265. https://webidl.spec.whatwg.org/#dfn-DOMException 28266. https://html.spec.whatwg.org/#canvas-context-webgl 28267. https://html.spec.whatwg.org/#canvas-context-webgl2 28268. https://html.spec.whatwg.org/#dom-canvas-todataurl 28269. https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL 28270. https://www.rfc-editor.org/rfc/rfc2397#section-2 28271. https://html.spec.whatwg.org/#image/png 28272. https://html.spec.whatwg.org/#image/jpeg 28273. https://html.spec.whatwg.org/#image/png 28274. https://html.spec.whatwg.org/#dom-canvas-toblob 28275. https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob 28276. https://w3c.github.io/FileAPI/#dfn-Blob 28277. https://html.spec.whatwg.org/#image/png 28278. https://html.spec.whatwg.org/#image/jpeg 28279. https://html.spec.whatwg.org/#dom-canvas-transfercontroltooffscreen 28280. https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/transferControlToOffscreen 28281. https://html.spec.whatwg.org/#offscreencanvas 28282. https://html.spec.whatwg.org/#the-canvas-element 28283. https://html.spec.whatwg.org/#the-canvas-element 28284. https://html.spec.whatwg.org/#offscreencanvas 28285. https://html.spec.whatwg.org/#offscreencanvas 28286. https://html.spec.whatwg.org/#relevant-agent 28287. https://html.spec.whatwg.org/#concept-agent-event-loop 28288. https://html.spec.whatwg.org/#update-the-rendering 28289. https://html.spec.whatwg.org/#the-canvas-element 28290. https://html.spec.whatwg.org/#concept-canvas-origin-clean 28291. https://webidl.spec.whatwg.org/#securityerror 28292. https://webidl.spec.whatwg.org/#dfn-DOMException 28293. https://html.spec.whatwg.org/#the-canvas-element 28294. https://www.rfc-editor.org/rfc/rfc2397#section-2 28295. https://html.spec.whatwg.org/#a-serialisation-of-the-bitmap-as-a-file 28296. https://www.rfc-editor.org/rfc/rfc2397#section-2 28297. https://html.spec.whatwg.org/#refsRFC2397 28298. https://html.spec.whatwg.org/#the-canvas-element 28299. https://html.spec.whatwg.org/#concept-canvas-origin-clean 28300. https://webidl.spec.whatwg.org/#securityerror 28301. https://webidl.spec.whatwg.org/#dfn-DOMException 28302. https://html.spec.whatwg.org/#the-canvas-element 28303. https://html.spec.whatwg.org/#the-canvas-element 28304. https://html.spec.whatwg.org/#in-parallel 28305. https://html.spec.whatwg.org/#a-serialisation-of-the-bitmap-as-a-file 28306. https://html.spec.whatwg.org/#queue-an-element-task 28307. https://html.spec.whatwg.org/#the-canvas-element 28308. https://w3c.github.io/FileAPI/#dfn-Blob 28309. https://html.spec.whatwg.org/#concept-relevant-realm 28310. https://html.spec.whatwg.org/#the-canvas-element 28311. https://html.spec.whatwg.org/#refsFILEAPI 28312. https://webidl.spec.whatwg.org/#invoke-a-callback-function 28313. https://html.spec.whatwg.org/#the-canvas-element 28314. https://html.spec.whatwg.org/#concept-canvas-context-mode 28315. https://html.spec.whatwg.org/#concept-canvas-none 28316. https://webidl.spec.whatwg.org/#invalidstateerror 28317. https://webidl.spec.whatwg.org/#dfn-DOMException 28318. https://html.spec.whatwg.org/#offscreencanvas 28319. https://html.spec.whatwg.org/#attr-canvas-width 28320. https://html.spec.whatwg.org/#attr-canvas-height 28321. https://html.spec.whatwg.org/#the-canvas-element 28322. https://html.spec.whatwg.org/#offscreencanvas-placeholder 28323. https://html.spec.whatwg.org/#the-canvas-element 28324. https://html.spec.whatwg.org/#the-canvas-element 28325. https://html.spec.whatwg.org/#concept-canvas-context-mode 28326. https://html.spec.whatwg.org/#concept-canvas-placeholder 28327. https://html.spec.whatwg.org/#offscreencanvas-inherited-lang 28328. https://html.spec.whatwg.org/#language 28329. https://html.spec.whatwg.org/#the-canvas-element 28330. https://html.spec.whatwg.org/#offscreencanvas-inherited-direction 28331. https://html.spec.whatwg.org/#the-directionality 28332. https://html.spec.whatwg.org/#the-canvas-element 28333. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D 28334. https://developer.mozilla.org/en-US/docs/Web/API/CanvasImageSource 28335. https://developer.mozilla.org/en-US/docs/Web/API/CanvasGradient 28336. https://developer.mozilla.org/en-US/docs/Web/API/CanvasPattern 28337. https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics 28338. https://developer.mozilla.org/en-US/docs/Web/API/ImageData 28339. https://html.spec.whatwg.org/#htmlimageelement 28340. https://svgwg.org/svg2-draft/embedded.html#InterfaceSVGImageElement 28341. https://html.spec.whatwg.org/#htmlorsvgimageelement 28342. https://html.spec.whatwg.org/#htmlvideoelement 28343. https://html.spec.whatwg.org/#htmlcanvaselement 28344. https://html.spec.whatwg.org/#imagebitmap 28345. https://html.spec.whatwg.org/#offscreencanvas 28346. https://w3c.github.io/webcodecs/#videoframe-interface 28347. https://html.spec.whatwg.org/#dom-predefinedcolorspace-srgb 28348. https://html.spec.whatwg.org/#dom-predefinedcolorspace-display-p3 28349. https://html.spec.whatwg.org/#dom-canvascolortype-unorm8 28350. https://html.spec.whatwg.org/#dom-canvascolortype-float16 28351. https://html.spec.whatwg.org/#dom-context-2d-fillrule-nonzero 28352. https://html.spec.whatwg.org/#dom-context-2d-fillrule-evenodd 28353. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-alpha 28354. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-desynchronized 28355. https://html.spec.whatwg.org/#predefinedcolorspace 28356. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-colorspace 28357. https://html.spec.whatwg.org/#dom-predefinedcolorspace-srgb 28358. https://html.spec.whatwg.org/#canvascolortype 28359. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-colortype 28360. https://html.spec.whatwg.org/#dom-canvascolortype-unorm8 28361. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-willreadfrequently 28362. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingquality-low 28363. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingquality-medium 28364. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingquality-high 28365. https://html.spec.whatwg.org/#htmlcanvaselement 28366. https://html.spec.whatwg.org/#dom-context-2d-canvas 28367. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28368. https://html.spec.whatwg.org/#canvassettings 28369. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28370. https://html.spec.whatwg.org/#canvasstate 28371. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28372. https://html.spec.whatwg.org/#canvastransform 28373. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28374. https://html.spec.whatwg.org/#canvascompositing 28375. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28376. https://html.spec.whatwg.org/#canvasimagesmoothing 28377. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28378. https://html.spec.whatwg.org/#canvasfillstrokestyles 28379. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28380. https://html.spec.whatwg.org/#canvasshadowstyles 28381. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28382. https://html.spec.whatwg.org/#canvasfilters 28383. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28384. https://html.spec.whatwg.org/#canvasrect 28385. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28386. https://html.spec.whatwg.org/#canvasdrawpath 28387. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28388. https://html.spec.whatwg.org/#canvasuserinterface 28389. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28390. https://html.spec.whatwg.org/#canvastext 28391. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28392. https://html.spec.whatwg.org/#canvasdrawimage 28393. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28394. https://html.spec.whatwg.org/#canvasimagedata 28395. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28396. https://html.spec.whatwg.org/#canvaspathdrawingstyles 28397. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28398. https://html.spec.whatwg.org/#canvastextdrawingstyles 28399. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28400. https://html.spec.whatwg.org/#canvaspath 28401. https://html.spec.whatwg.org/#canvasrenderingcontext2dsettings 28402. https://html.spec.whatwg.org/#dom-context-2d-canvas-getcontextattributes 28403. https://html.spec.whatwg.org/#dom-context-2d-save 28404. https://html.spec.whatwg.org/#dom-context-2d-restore 28405. https://html.spec.whatwg.org/#dom-context-2d-reset 28406. https://html.spec.whatwg.org/#reset-the-rendering-context-to-its-default-state 28407. https://html.spec.whatwg.org/#dom-context-2d-iscontextlost 28408. https://html.spec.whatwg.org/#dom-context-2d-scale 28409. https://html.spec.whatwg.org/#dom-context-2d-rotate 28410. https://html.spec.whatwg.org/#dom-context-2d-translate 28411. https://html.spec.whatwg.org/#dom-context-2d-transform 28412. https://drafts.fxtf.org/geometry/#dommatrix 28413. https://html.spec.whatwg.org/#dom-context-2d-gettransform 28414. https://html.spec.whatwg.org/#dom-context-2d-settransform 28415. https://html.spec.whatwg.org/#dom-context-2d-settransform-matrix 28416. https://drafts.fxtf.org/geometry/#dictdef-dommatrix2dinit 28417. https://html.spec.whatwg.org/#dom-context-2d-resettransform 28418. https://html.spec.whatwg.org/#dom-context-2d-globalalpha 28419. https://html.spec.whatwg.org/#dom-context-2d-globalcompositeoperation 28420. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingenabled 28421. https://html.spec.whatwg.org/#imagesmoothingquality 28422. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingquality 28423. https://html.spec.whatwg.org/#canvaspathdrawingstyles 28424. https://html.spec.whatwg.org/#canvastextdrawingstyles 28425. https://html.spec.whatwg.org/#dom-context-2d-strokestyle 28426. https://html.spec.whatwg.org/#dom-context-2d-fillstyle 28427. https://html.spec.whatwg.org/#canvasgradient 28428. https://html.spec.whatwg.org/#dom-context-2d-createlineargradient 28429. https://html.spec.whatwg.org/#canvasgradient 28430. https://html.spec.whatwg.org/#dom-context-2d-createradialgradient 28431. https://html.spec.whatwg.org/#canvasgradient 28432. https://html.spec.whatwg.org/#dom-context-2d-createconicgradient 28433. https://html.spec.whatwg.org/#canvaspattern 28434. https://html.spec.whatwg.org/#dom-context-2d-createpattern 28435. https://html.spec.whatwg.org/#canvasimagesource 28436. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 28437. https://html.spec.whatwg.org/#dom-context-2d-shadowoffsetx 28438. https://html.spec.whatwg.org/#dom-context-2d-shadowoffsety 28439. https://html.spec.whatwg.org/#dom-context-2d-shadowblur 28440. https://html.spec.whatwg.org/#dom-context-2d-shadowcolor 28441. https://drafts.csswg.org/css-color/#transparent-black 28442. https://html.spec.whatwg.org/#dom-context-2d-filter 28443. https://html.spec.whatwg.org/#dom-context-2d-clearrect 28444. https://html.spec.whatwg.org/#dom-context-2d-fillrect 28445. https://html.spec.whatwg.org/#dom-context-2d-strokerect 28446. https://html.spec.whatwg.org/#canvaspath 28447. https://html.spec.whatwg.org/#dom-context-2d-beginpath 28448. https://html.spec.whatwg.org/#dom-context-2d-fill 28449. https://html.spec.whatwg.org/#canvasfillrule 28450. https://html.spec.whatwg.org/#dom-context-2d-fillrule-nonzero 28451. https://html.spec.whatwg.org/#dom-context-2d-fill-path 28452. https://html.spec.whatwg.org/#path2d 28453. https://html.spec.whatwg.org/#canvasfillrule 28454. https://html.spec.whatwg.org/#dom-context-2d-fillrule-nonzero 28455. https://html.spec.whatwg.org/#dom-context-2d-stroke 28456. https://html.spec.whatwg.org/#dom-context-2d-stroke-path 28457. https://html.spec.whatwg.org/#path2d 28458. https://html.spec.whatwg.org/#dom-context-2d-clip 28459. https://html.spec.whatwg.org/#canvasfillrule 28460. https://html.spec.whatwg.org/#dom-context-2d-fillrule-nonzero 28461. https://html.spec.whatwg.org/#dom-context-2d-clip-path 28462. https://html.spec.whatwg.org/#path2d 28463. https://html.spec.whatwg.org/#canvasfillrule 28464. https://html.spec.whatwg.org/#dom-context-2d-fillrule-nonzero 28465. https://html.spec.whatwg.org/#dom-context-2d-ispointinpath 28466. https://html.spec.whatwg.org/#canvasfillrule 28467. https://html.spec.whatwg.org/#dom-context-2d-fillrule-nonzero 28468. https://html.spec.whatwg.org/#dom-context-2d-ispointinpath-path 28469. https://html.spec.whatwg.org/#path2d 28470. https://html.spec.whatwg.org/#canvasfillrule 28471. https://html.spec.whatwg.org/#dom-context-2d-fillrule-nonzero 28472. https://html.spec.whatwg.org/#dom-context-2d-ispointinstroke 28473. https://html.spec.whatwg.org/#dom-context-2d-ispointinstroke-path 28474. https://html.spec.whatwg.org/#path2d 28475. https://html.spec.whatwg.org/#dom-context-2d-drawfocusifneeded 28476. https://dom.spec.whatwg.org/#interface-element 28477. https://html.spec.whatwg.org/#dom-context-2d-drawfocusifneeded-path-element 28478. https://html.spec.whatwg.org/#path2d 28479. https://dom.spec.whatwg.org/#interface-element 28480. https://html.spec.whatwg.org/#canvaspathdrawingstyles 28481. https://html.spec.whatwg.org/#canvastextdrawingstyles 28482. https://html.spec.whatwg.org/#dom-context-2d-filltext 28483. https://html.spec.whatwg.org/#dom-context-2d-stroketext 28484. https://html.spec.whatwg.org/#textmetrics 28485. https://html.spec.whatwg.org/#dom-context-2d-measuretext 28486. https://html.spec.whatwg.org/#dom-context-2d-drawimage 28487. https://html.spec.whatwg.org/#canvasimagesource 28488. https://html.spec.whatwg.org/#dom-context-2d-drawimage 28489. https://html.spec.whatwg.org/#canvasimagesource 28490. https://html.spec.whatwg.org/#dom-context-2d-drawimage 28491. https://html.spec.whatwg.org/#canvasimagesource 28492. https://html.spec.whatwg.org/#pixel-manipulation 28493. https://html.spec.whatwg.org/#imagedata 28494. https://html.spec.whatwg.org/#dom-context-2d-createimagedata 28495. https://html.spec.whatwg.org/#imagedatasettings 28496. https://html.spec.whatwg.org/#imagedata 28497. https://html.spec.whatwg.org/#dom-context-2d-createimagedata-imagedata 28498. https://html.spec.whatwg.org/#imagedata 28499. https://html.spec.whatwg.org/#imagedata 28500. https://html.spec.whatwg.org/#dom-context-2d-getimagedata 28501. https://html.spec.whatwg.org/#imagedatasettings 28502. https://html.spec.whatwg.org/#dom-context-2d-putimagedata-short 28503. https://html.spec.whatwg.org/#imagedata 28504. https://html.spec.whatwg.org/#dom-context-2d-putimagedata 28505. https://html.spec.whatwg.org/#imagedata 28506. https://html.spec.whatwg.org/#dom-context-2d-textalign-start 28507. https://html.spec.whatwg.org/#dom-context-2d-textalign-end 28508. https://html.spec.whatwg.org/#dom-context-2d-textalign-left 28509. https://html.spec.whatwg.org/#dom-context-2d-textalign-right 28510. https://html.spec.whatwg.org/#dom-context-2d-textalign-center 28511. https://html.spec.whatwg.org/#dom-context-2d-textbaseline-top 28512. https://html.spec.whatwg.org/#dom-context-2d-textbaseline-hanging 28513. https://html.spec.whatwg.org/#dom-context-2d-textbaseline-middle 28514. https://html.spec.whatwg.org/#dom-context-2d-textbaseline-alphabetic 28515. https://html.spec.whatwg.org/#dom-context-2d-textbaseline-ideographic 28516. https://html.spec.whatwg.org/#dom-context-2d-textbaseline-bottom 28517. https://html.spec.whatwg.org/#dom-context-2d-direction-ltr 28518. https://html.spec.whatwg.org/#dom-context-2d-direction-rtl 28519. https://html.spec.whatwg.org/#dom-context-2d-direction-inherit 28520. https://html.spec.whatwg.org/#dom-context-2d-fontkerning-auto 28521. https://html.spec.whatwg.org/#dom-context-2d-fontkerning-normal 28522. https://html.spec.whatwg.org/#dom-context-2d-fontkerning-none 28523. https://html.spec.whatwg.org/#dom-context-2d-fontstretch-ultra-condensed 28524. https://html.spec.whatwg.org/#dom-context-2d-fontstretch-extra-condensed 28525. https://html.spec.whatwg.org/#dom-context-2d-fontstretch-condensed 28526. https://html.spec.whatwg.org/#dom-context-2d-fontstretch-semi-condensed 28527. https://html.spec.whatwg.org/#dom-context-2d-fontstretch-normal 28528. https://html.spec.whatwg.org/#dom-context-2d-fontstretch-semi-expanded 28529. https://html.spec.whatwg.org/#dom-context-2d-fontstretch-expanded 28530. https://html.spec.whatwg.org/#dom-context-2d-fontstretch-extra-expanded 28531. https://html.spec.whatwg.org/#dom-context-2d-fontstretch-ultra-expanded 28532. https://html.spec.whatwg.org/#dom-context-2d-fontvariantcaps-normal 28533. https://html.spec.whatwg.org/#dom-context-2d-fontvariantcaps-small-caps 28534. https://html.spec.whatwg.org/#dom-context-2d-fontvariantcaps-all-small-caps 28535. https://html.spec.whatwg.org/#dom-context-2d-fontvariantcaps-petite-caps 28536. https://html.spec.whatwg.org/#dom-context-2d-fontvariantcaps-all-petite-caps 28537. https://html.spec.whatwg.org/#dom-context-2d-fontvariantcaps-unicase 28538. https://html.spec.whatwg.org/#dom-context-2d-fontvariantcaps-titling-caps 28539. https://html.spec.whatwg.org/#dom-context-2d-textrendering-auto 28540. https://html.spec.whatwg.org/#dom-context-2d-textrendering-optimizespeed 28541. https://html.spec.whatwg.org/#dom-context-2d-textrendering-optimizelegibility 28542. https://html.spec.whatwg.org/#dom-context-2d-textrendering-geometricprecision 28543. https://html.spec.whatwg.org/#dom-context-2d-linewidth 28544. https://html.spec.whatwg.org/#canvaslinecap 28545. https://html.spec.whatwg.org/#dom-context-2d-linecap 28546. https://html.spec.whatwg.org/#canvaslinejoin 28547. https://html.spec.whatwg.org/#dom-context-2d-linejoin 28548. https://html.spec.whatwg.org/#dom-context-2d-miterlimit 28549. https://html.spec.whatwg.org/#dom-context-2d-setlinedash 28550. https://html.spec.whatwg.org/#dom-context-2d-getlinedash 28551. https://html.spec.whatwg.org/#dom-context-2d-linedashoffset 28552. https://html.spec.whatwg.org/#dom-context-2d-lang 28553. https://html.spec.whatwg.org/#dom-context-2d-font 28554. https://html.spec.whatwg.org/#canvastextalign 28555. https://html.spec.whatwg.org/#dom-context-2d-textalign 28556. https://html.spec.whatwg.org/#canvastextbaseline 28557. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 28558. https://html.spec.whatwg.org/#canvasdirection 28559. https://html.spec.whatwg.org/#dom-context-2d-direction 28560. https://html.spec.whatwg.org/#dom-context-2d-letterspacing 28561. https://html.spec.whatwg.org/#canvasfontkerning 28562. https://html.spec.whatwg.org/#dom-context-2d-fontkerning 28563. https://html.spec.whatwg.org/#canvasfontstretch 28564. https://html.spec.whatwg.org/#dom-context-2d-fontstretch 28565. https://html.spec.whatwg.org/#canvasfontvariantcaps 28566. https://html.spec.whatwg.org/#dom-context-2d-fontvariantcaps 28567. https://html.spec.whatwg.org/#canvastextrendering 28568. https://html.spec.whatwg.org/#dom-context-2d-textrendering 28569. https://html.spec.whatwg.org/#dom-context-2d-wordspacing 28570. https://html.spec.whatwg.org/#dom-context-2d-closepath 28571. https://html.spec.whatwg.org/#dom-context-2d-moveto 28572. https://html.spec.whatwg.org/#dom-context-2d-lineto 28573. https://html.spec.whatwg.org/#dom-context-2d-quadraticcurveto 28574. https://html.spec.whatwg.org/#dom-context-2d-beziercurveto 28575. https://html.spec.whatwg.org/#dom-context-2d-arcto 28576. https://html.spec.whatwg.org/#dom-context-2d-rect 28577. https://html.spec.whatwg.org/#dom-context-2d-roundrect 28578. https://drafts.fxtf.org/geometry/#dictdef-dompointinit 28579. https://drafts.fxtf.org/geometry/#dictdef-dompointinit 28580. https://html.spec.whatwg.org/#dom-context-2d-arc 28581. https://html.spec.whatwg.org/#dom-context-2d-ellipse 28582. https://html.spec.whatwg.org/#dom-canvasgradient-addcolorstop 28583. https://html.spec.whatwg.org/#dom-canvaspattern-settransform 28584. https://drafts.fxtf.org/geometry/#dictdef-dommatrix2dinit 28585. https://html.spec.whatwg.org/#dom-textmetrics-width 28586. https://html.spec.whatwg.org/#dom-textmetrics-actualboundingboxleft 28587. https://html.spec.whatwg.org/#dom-textmetrics-actualboundingboxright 28588. https://html.spec.whatwg.org/#dom-textmetrics-fontboundingboxascent 28589. https://html.spec.whatwg.org/#dom-textmetrics-fontboundingboxdescent 28590. https://html.spec.whatwg.org/#dom-textmetrics-actualboundingboxascent 28591. https://html.spec.whatwg.org/#dom-textmetrics-actualboundingboxdescent 28592. https://html.spec.whatwg.org/#dom-textmetrics-emheightascent 28593. https://html.spec.whatwg.org/#dom-textmetrics-emheightdescent 28594. https://html.spec.whatwg.org/#dom-textmetrics-hangingbaseline 28595. https://html.spec.whatwg.org/#dom-textmetrics-alphabeticbaseline 28596. https://html.spec.whatwg.org/#dom-textmetrics-ideographicbaseline 28597. https://webidl.spec.whatwg.org/#idl-Uint8ClampedArray 28598. https://webidl.spec.whatwg.org/#idl-Float16Array 28599. https://html.spec.whatwg.org/#dom-imagedatapixelformat-rgba-unorm8 28600. https://html.spec.whatwg.org/#dom-imagedatapixelformat-rgba-float16 28601. https://html.spec.whatwg.org/#predefinedcolorspace 28602. https://html.spec.whatwg.org/#dom-predefinedcolorspace-srgb 28603. https://html.spec.whatwg.org/#imagedatapixelformat 28604. https://html.spec.whatwg.org/#dom-imagedatasettings-pixelformat 28605. https://html.spec.whatwg.org/#dom-imagedatapixelformat-rgba-unorm8 28606. https://html.spec.whatwg.org/#serializable 28607. https://html.spec.whatwg.org/#dom-imagedata 28608. https://html.spec.whatwg.org/#imagedatasettings 28609. https://html.spec.whatwg.org/#dom-imagedata-with-data 28610. https://html.spec.whatwg.org/#imagedataarray 28611. https://html.spec.whatwg.org/#imagedatasettings 28612. https://html.spec.whatwg.org/#dom-imagedata-width 28613. https://html.spec.whatwg.org/#dom-imagedata-height 28614. https://html.spec.whatwg.org/#imagedataarray 28615. https://html.spec.whatwg.org/#dom-imagedata-data 28616. https://html.spec.whatwg.org/#imagedatapixelformat 28617. https://html.spec.whatwg.org/#dom-imagedata-pixelformat 28618. https://html.spec.whatwg.org/#predefinedcolorspace 28619. https://html.spec.whatwg.org/#dom-imagedata-colorspace 28620. https://html.spec.whatwg.org/#dom-path2d 28621. https://html.spec.whatwg.org/#path2d 28622. https://html.spec.whatwg.org/#dom-path2d-addpath 28623. https://html.spec.whatwg.org/#path2d 28624. https://drafts.fxtf.org/geometry/#dictdef-dommatrix2dinit 28625. https://html.spec.whatwg.org/#path2d 28626. https://html.spec.whatwg.org/#canvaspath 28627. https://html.spec.whatwg.org/#canvasuserinterface 28628. https://html.spec.whatwg.org/#dom-context-2d-stroke 28629. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28630. https://html.spec.whatwg.org/#dom-canvas-getcontext 28631. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-alpha 28632. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-desynchronized 28633. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-colorspace 28634. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-willreadfrequently 28635. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28636. https://html.spec.whatwg.org/#the-canvas-element 28637. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-alpha 28638. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-desynchronized 28639. https://html.spec.whatwg.org/#concept-canvas-desynchronized 28640. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-colorspace 28641. https://html.spec.whatwg.org/#concept-canvas-color-space 28642. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-colortype 28643. https://html.spec.whatwg.org/#concept-canvas-color-type 28644. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-willreadfrequently 28645. https://html.spec.whatwg.org/#concept-canvas-will-read-frequently 28646. https://html.spec.whatwg.org/#dom-context-2d-canvas 28647. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/canvas 28648. https://html.spec.whatwg.org/#the-canvas-element 28649. https://html.spec.whatwg.org/#dom-context-2d-canvas-getcontextattributes 28650. https://html.spec.whatwg.org/#concept-canvas-alpha 28651. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-desynchronized 28652. https://html.spec.whatwg.org/#concept-canvas-desynchronized 28653. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-colorspace 28654. https://html.spec.whatwg.org/#concept-canvas-color-space 28655. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-colortype 28656. https://html.spec.whatwg.org/#concept-canvas-color-type 28657. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-willreadfrequently 28658. https://html.spec.whatwg.org/#concept-canvas-will-read-frequently 28659. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28660. https://html.spec.whatwg.org/#output-bitmap 28661. https://drafts.csswg.org/css-values/#px 28662. https://html.spec.whatwg.org/#output-bitmap 28663. https://drafts.csswg.org/css-values/#px 28664. https://drafts.csswg.org/css-values/#px 28665. https://html.spec.whatwg.org/#output-bitmap 28666. https://drafts.csswg.org/css-values/#px 28667. https://drafts.csswg.org/css-values/#px 28668. https://html.spec.whatwg.org/#the-canvas-element 28669. https://html.spec.whatwg.org/#output-bitmap 28670. https://drafts.csswg.org/css-values/#px 28671. https://drafts.csswg.org/css-values/#px 28672. https://html.spec.whatwg.org/#the-canvas-element 28673. https://webidl.spec.whatwg.org/#es-type-mapping 28674. https://html.spec.whatwg.org/#canvasrenderingcontext2dsettings 28675. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28676. https://html.spec.whatwg.org/#dom-context-2d-canvas 28677. https://html.spec.whatwg.org/#output-bitmap 28678. https://html.spec.whatwg.org/#concept-canvas-set-bitmap-dimensions 28679. https://html.spec.whatwg.org/#obtain-numeric-values 28680. https://html.spec.whatwg.org/#attr-canvas-width 28681. https://html.spec.whatwg.org/#attr-canvas-height 28682. https://html.spec.whatwg.org/#canvas-setting-init-bitmap 28683. https://html.spec.whatwg.org/#reset-the-rendering-context-to-its-default-state 28684. https://html.spec.whatwg.org/#output-bitmap 28685. https://html.spec.whatwg.org/#the-canvas-element 28686. https://html.spec.whatwg.org/#dom-context-2d-canvas 28687. https://html.spec.whatwg.org/#obtain-numeric-values 28688. https://html.spec.whatwg.org/#attr-canvas-width 28689. https://html.spec.whatwg.org/#attr-canvas-width 28690. https://html.spec.whatwg.org/#valid-non-negative-integer 28691. https://html.spec.whatwg.org/#obtain-numeric-values 28692. https://html.spec.whatwg.org/#attr-canvas-height 28693. https://html.spec.whatwg.org/#attr-canvas-height 28694. https://html.spec.whatwg.org/#valid-non-negative-integer 28695. https://html.spec.whatwg.org/#predefinedcolorspace 28696. https://html.spec.whatwg.org/#concept-canvas-color-space 28697. https://drafts.csswg.org/css-color/#valdef-color-srgb 28698. https://drafts.csswg.org/css-color/#valdef-color-display-p3 28699. https://drafts.csswg.org/css-color/#color-conversion 28700. https://html.spec.whatwg.org/#refsCSSCOLOR 28701. https://html.spec.whatwg.org/#canvascolortype 28702. https://html.spec.whatwg.org/#concept-canvas-color-type 28703. https://html.spec.whatwg.org/#canvasfillrule 28704. https://html.spec.whatwg.org/#imagesmoothingquality 28705. https://html.spec.whatwg.org/#output-bitmap 28706. https://html.spec.whatwg.org/#dom-context-2d-drawimage 28707. https://html.spec.whatwg.org/#dom-createimagebitmap 28708. https://html.spec.whatwg.org/#the-canvas-element 28709. https://html.spec.whatwg.org/#output-bitmap 28710. https://html.spec.whatwg.org/#the-canvas-element 28711. https://drafts.csswg.org/css-images/#natural-dimensions 28712. https://html.spec.whatwg.org/#canvassettings 28713. https://html.spec.whatwg.org/#output-bitmap 28714. https://html.spec.whatwg.org/#concept-canvas-origin-clean 28715. https://html.spec.whatwg.org/#concept-canvas-origin-clean 28716. https://html.spec.whatwg.org/#canvassettings 28717. https://html.spec.whatwg.org/#canvassettings 28718. https://html.spec.whatwg.org/#concept-canvas-alpha 28719. https://drafts.csswg.org/css-color/#opaque-black 28720. https://drafts.csswg.org/css-color/#transparent-black 28721. https://html.spec.whatwg.org/#dom-context-2d-clearrect 28722. https://drafts.csswg.org/css-color/#opaque-black 28723. https://html.spec.whatwg.org/#dom-context-2d-getimagedata 28724. https://html.spec.whatwg.org/#dom-context-2d-putimagedata 28725. https://html.spec.whatwg.org/#output-bitmap 28726. https://html.spec.whatwg.org/#output-bitmap 28727. https://html.spec.whatwg.org/#concept-canvas-alpha 28728. https://html.spec.whatwg.org/#canvassettings 28729. https://html.spec.whatwg.org/#canvassettings 28730. https://html.spec.whatwg.org/#concept-canvas-desynchronized 28731. https://html.spec.whatwg.org/#concept-canvas-desynchronized 28732. https://html.spec.whatwg.org/#refsMULTIPLEBUFFERING 28733. https://html.spec.whatwg.org/#concept-canvas-desynchronized 28734. https://html.spec.whatwg.org/#canvassettings 28735. https://html.spec.whatwg.org/#canvassettings 28736. https://html.spec.whatwg.org/#concept-canvas-will-read-frequently 28737. https://html.spec.whatwg.org/#output-bitmap 28738. https://html.spec.whatwg.org/#dom-context-2d-getimagedata 28739. https://html.spec.whatwg.org/#dom-canvas-todataurl 28740. https://html.spec.whatwg.org/#dom-canvas-toblob 28741. https://html.spec.whatwg.org/#canvassettings 28742. https://html.spec.whatwg.org/#concept-canvas-will-read-frequently 28743. https://html.spec.whatwg.org/#canvassettings 28744. https://html.spec.whatwg.org/#predefinedcolorspace 28745. https://html.spec.whatwg.org/#canvassettings 28746. https://html.spec.whatwg.org/#concept-canvas-color-space 28747. https://html.spec.whatwg.org/#output-bitmap 28748. https://html.spec.whatwg.org/#canvassettings 28749. https://html.spec.whatwg.org/#canvascolortype 28750. https://html.spec.whatwg.org/#canvassettings 28751. https://html.spec.whatwg.org/#concept-canvas-color-type 28752. https://html.spec.whatwg.org/#output-bitmap 28753. https://html.spec.whatwg.org/#canvassettings 28754. https://html.spec.whatwg.org/#canvasrenderingcontext2dsettings 28755. https://html.spec.whatwg.org/#concept-canvas-alpha 28756. https://html.spec.whatwg.org/#concept-canvas-desynchronized 28757. https://html.spec.whatwg.org/#concept-canvas-color-space 28758. https://html.spec.whatwg.org/#concept-canvas-color-type 28759. https://html.spec.whatwg.org/#concept-canvas-will-read-frequently 28760. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-alpha 28761. https://webidl.spec.whatwg.org/#this 28762. https://html.spec.whatwg.org/#concept-canvas-alpha 28763. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-desynchronized 28764. https://webidl.spec.whatwg.org/#this 28765. https://html.spec.whatwg.org/#concept-canvas-desynchronized 28766. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-colorspace 28767. https://webidl.spec.whatwg.org/#this 28768. https://html.spec.whatwg.org/#concept-canvas-color-space 28769. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-colortype 28770. https://webidl.spec.whatwg.org/#this 28771. https://html.spec.whatwg.org/#concept-canvas-color-type 28772. https://html.spec.whatwg.org/#dom-canvasrenderingcontext2dsettings-willreadfrequently 28773. https://webidl.spec.whatwg.org/#this 28774. https://html.spec.whatwg.org/#concept-canvas-will-read-frequently 28775. https://html.spec.whatwg.org/#canvasstate 28776. https://html.spec.whatwg.org/#transformations 28777. https://html.spec.whatwg.org/#clipping-region 28778. https://html.spec.whatwg.org/#concept-canvastextdrawingstyles-letter-spacing 28779. https://html.spec.whatwg.org/#concept-canvastextdrawingstyles-word-spacing 28780. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-fill-style 28781. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-stroke-style 28782. https://html.spec.whatwg.org/#concept-canvas-current-filter 28783. https://html.spec.whatwg.org/#concept-canvas-global-alpha 28784. https://html.spec.whatwg.org/#current-compositing-and-blending-operator 28785. https://html.spec.whatwg.org/#concept-canvasshadowstyles-shadow-color 28786. https://html.spec.whatwg.org/#dom-context-2d-linewidth 28787. https://html.spec.whatwg.org/#dom-context-2d-linecap 28788. https://html.spec.whatwg.org/#dom-context-2d-linejoin 28789. https://html.spec.whatwg.org/#dom-context-2d-miterlimit 28790. https://html.spec.whatwg.org/#dom-context-2d-linedashoffset 28791. https://html.spec.whatwg.org/#dom-context-2d-shadowoffsetx 28792. https://html.spec.whatwg.org/#dom-context-2d-shadowoffsety 28793. https://html.spec.whatwg.org/#dom-context-2d-shadowblur 28794. https://html.spec.whatwg.org/#dom-context-2d-lang 28795. https://html.spec.whatwg.org/#dom-context-2d-font 28796. https://html.spec.whatwg.org/#dom-context-2d-textalign 28797. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 28798. https://html.spec.whatwg.org/#dom-context-2d-direction 28799. https://html.spec.whatwg.org/#dom-context-2d-fontkerning 28800. https://html.spec.whatwg.org/#dom-context-2d-fontstretch 28801. https://html.spec.whatwg.org/#dom-context-2d-fontvariantcaps 28802. https://html.spec.whatwg.org/#dom-context-2d-textrendering 28803. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingenabled 28804. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingquality 28805. https://html.spec.whatwg.org/#dash-list 28806. https://html.spec.whatwg.org/#the-canvas-element 28807. https://html.spec.whatwg.org/#canvasstate 28808. https://html.spec.whatwg.org/#concept-canvas-context-lost 28809. https://html.spec.whatwg.org/#context-lost-steps 28810. https://html.spec.whatwg.org/#dom-context-2d-save 28811. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/save 28812. https://html.spec.whatwg.org/#dom-context-2d-restore 28813. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/restore 28814. https://html.spec.whatwg.org/#dom-context-2d-reset 28815. https://html.spec.whatwg.org/#dom-context-2d-iscontextlost 28816. https://html.spec.whatwg.org/#reset-the-rendering-context-to-its-default-state 28817. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/reset 28818. https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D#canvasrenderingcontext2d.reset 28819. https://html.spec.whatwg.org/#reset-the-rendering-context-to-its-default-state 28820. https://drafts.csswg.org/css-color/#transparent-black 28821. https://html.spec.whatwg.org/#current-default-path 28822. https://html.spec.whatwg.org/#drawing-state 28823. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/isContextLost 28824. https://webidl.spec.whatwg.org/#this 28825. https://html.spec.whatwg.org/#concept-canvas-context-lost 28826. https://html.spec.whatwg.org/#dom-context-2d-linewidth 28827. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineWidth 28828. https://html.spec.whatwg.org/#dom-context-2d-linewidth 28829. https://html.spec.whatwg.org/#dom-context-2d-linecap 28830. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineCap 28831. https://html.spec.whatwg.org/#dom-context-2d-linecap 28832. https://html.spec.whatwg.org/#dom-context-2d-linejoin 28833. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin 28834. https://html.spec.whatwg.org/#dom-context-2d-linejoin 28835. https://html.spec.whatwg.org/#dom-context-2d-miterlimit 28836. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/miterLimit 28837. https://html.spec.whatwg.org/#dom-context-2d-miterlimit 28838. https://html.spec.whatwg.org/#dom-context-2d-setlinedash 28839. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash 28840. https://html.spec.whatwg.org/#dom-context-2d-setlinedash 28841. https://html.spec.whatwg.org/#dom-context-2d-getlinedash 28842. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getLineDash 28843. https://html.spec.whatwg.org/#dom-context-2d-getlinedash 28844. https://html.spec.whatwg.org/#dom-context-2d-linedashoffset 28845. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset 28846. https://html.spec.whatwg.org/#dom-context-2d-linedashoffset 28847. https://html.spec.whatwg.org/#canvaspathdrawingstyles 28848. https://html.spec.whatwg.org/#canvaspathdrawingstyles 28849. https://html.spec.whatwg.org/#dom-context-2d-linewidth 28850. https://html.spec.whatwg.org/#canvaspathdrawingstyles 28851. https://html.spec.whatwg.org/#dom-context-2d-linecap 28852. https://html.spec.whatwg.org/#canvaspathdrawingstyles 28853. https://html.spec.whatwg.org/#dom-context-2d-linejoin 28854. https://html.spec.whatwg.org/#dom-context-2d-linejoin 28855. https://html.spec.whatwg.org/#canvaspathdrawingstyles 28856. https://html.spec.whatwg.org/#dom-context-2d-miterlimit 28857. https://html.spec.whatwg.org/#canvaspathdrawingstyles 28858. https://html.spec.whatwg.org/#dash-list 28859. https://html.spec.whatwg.org/#dash-list 28860. https://html.spec.whatwg.org/#dash-list 28861. https://html.spec.whatwg.org/#canvaspathdrawingstyles 28862. https://html.spec.whatwg.org/#dom-context-2d-linedashoffset 28863. https://html.spec.whatwg.org/#canvaspathdrawingstyles 28864. https://html.spec.whatwg.org/#concept-path 28865. https://html.spec.whatwg.org/#line-segments 28866. https://html.spec.whatwg.org/#dash-list 28867. https://html.spec.whatwg.org/#dash-list 28868. https://html.spec.whatwg.org/#dom-context-2d-linedashoffset 28869. https://html.spec.whatwg.org/#dash-list 28870. https://html.spec.whatwg.org/#dash-list 28871. https://html.spec.whatwg.org/#dash-list 28872. https://html.spec.whatwg.org/#concept-path 28873. https://html.spec.whatwg.org/#dom-context-2d-linewidth 28874. https://html.spec.whatwg.org/#dom-context-2d-linecap 28875. https://html.spec.whatwg.org/#dom-context-2d-linejoin 28876. https://html.spec.whatwg.org/#dom-context-2d-linecap 28877. https://html.spec.whatwg.org/#dom-context-2d-linewidth 28878. https://html.spec.whatwg.org/#dom-context-2d-linewidth 28879. https://html.spec.whatwg.org/#dom-context-2d-linewidth 28880. https://html.spec.whatwg.org/#dom-context-2d-linejoin 28881. https://html.spec.whatwg.org/#dom-context-2d-miterlimit 28882. https://html.spec.whatwg.org/#dom-context-2d-lang 28883. https://html.spec.whatwg.org/#dom-context-2d-lang 28884. https://html.spec.whatwg.org/#dom-context-2d-lang-inherit 28885. https://html.spec.whatwg.org/#dom-context-2d-lang-inherit 28886. https://html.spec.whatwg.org/#the-canvas-element 28887. https://dom.spec.whatwg.org/#document-element 28888. https://html.spec.whatwg.org/#the-canvas-element 28889. https://html.spec.whatwg.org/#dom-context-2d-lang-inherit 28890. https://html.spec.whatwg.org/#dom-context-2d-font 28891. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/font 28892. https://html.spec.whatwg.org/#dom-context-2d-font 28893. https://drafts.csswg.org/css-fonts/#font-prop 28894. https://html.spec.whatwg.org/#the-canvas-element 28895. https://html.spec.whatwg.org/#dom-context-2d-textalign 28896. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/textAlign 28897. https://html.spec.whatwg.org/#dom-context-2d-textalign 28898. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 28899. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/textBaseline 28900. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 28901. https://html.spec.whatwg.org/#dom-context-2d-textbaseline-alphabetic 28902. https://html.spec.whatwg.org/#dom-context-2d-direction 28903. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/direction 28904. https://html.spec.whatwg.org/#dom-context-2d-direction 28905. https://html.spec.whatwg.org/#dom-context-2d-direction-inherit 28906. https://html.spec.whatwg.org/#dom-context-2d-letterspacing 28907. https://html.spec.whatwg.org/#dom-context-2d-letterspacing 28908. https://drafts.csswg.org/css-values/#lengths 28909. https://html.spec.whatwg.org/#dom-context-2d-fontkerning 28910. https://html.spec.whatwg.org/#dom-context-2d-fontkerning 28911. https://html.spec.whatwg.org/#dom-context-2d-fontkerning-auto 28912. https://html.spec.whatwg.org/#dom-context-2d-fontstretch 28913. https://html.spec.whatwg.org/#dom-context-2d-fontstretch 28914. https://html.spec.whatwg.org/#dom-context-2d-fontstretch-normal 28915. https://html.spec.whatwg.org/#dom-context-2d-fontvariantcaps 28916. https://html.spec.whatwg.org/#dom-context-2d-fontvariantcaps 28917. https://html.spec.whatwg.org/#dom-context-2d-fontvariantcaps-normal 28918. https://html.spec.whatwg.org/#dom-context-2d-textrendering 28919. https://html.spec.whatwg.org/#dom-context-2d-textrendering 28920. https://html.spec.whatwg.org/#dom-context-2d-textrendering-auto 28921. https://html.spec.whatwg.org/#dom-context-2d-wordspacing 28922. https://html.spec.whatwg.org/#dom-context-2d-wordspacing 28923. https://drafts.csswg.org/css-values/#lengths 28924. https://html.spec.whatwg.org/#canvastextdrawingstyles 28925. https://html.spec.whatwg.org/#canvasrenderingcontext2d 28926. https://html.spec.whatwg.org/#the-canvas-element 28927. https://html.spec.whatwg.org/#dom-context-2d-canvas 28928. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 28929. https://html.spec.whatwg.org/#associated-offscreencanvas-object 28930. https://html.spec.whatwg.org/#font-style-source-object 28931. https://drafts.csswg.org/css-font-loading/#font-source 28932. https://html.spec.whatwg.org/#canvastextdrawingstyles 28933. https://html.spec.whatwg.org/#refsCSSFONTLOAD 28934. https://html.spec.whatwg.org/#font-style-source-object 28935. https://html.spec.whatwg.org/#the-canvas-element 28936. https://dom.spec.whatwg.org/#concept-node-document 28937. https://html.spec.whatwg.org/#font-style-source-object 28938. https://html.spec.whatwg.org/#offscreencanvas 28939. https://html.spec.whatwg.org/#concept-relevant-global 28940. https://html.spec.whatwg.org/#window 28941. https://html.spec.whatwg.org/#concept-document-window 28942. https://infra.spec.whatwg.org/#assert 28943. https://html.spec.whatwg.org/#workerglobalscope 28944. https://html.spec.whatwg.org/#the-canvas-element 28945. https://html.spec.whatwg.org/#offscreencanvas 28946. https://html.spec.whatwg.org/#the-canvas-element 28947. https://drafts.csswg.org/css-syntax/#parse-grammar 28948. https://drafts.csswg.org/css2/#propdef-line-height 28949. https://drafts.csswg.org/css-fonts/#font-size-prop 28950. https://drafts.csswg.org/css-values/#px 28951. https://html.spec.whatwg.org/#refsCSS 28952. https://html.spec.whatwg.org/#font-style-source-object 28953. https://html.spec.whatwg.org/#fontface 28954. https://html.spec.whatwg.org/#font-style-source-object 28955. https://html.spec.whatwg.org/#font-style-source-object 28956. https://drafts.csswg.org/css-font-loading/#font-source 28957. https://html.spec.whatwg.org/#font-style-source-object 28958. https://html.spec.whatwg.org/#refsCSSFONTS 28959. https://html.spec.whatwg.org/#refsCSSFONTLOAD 28960. https://html.spec.whatwg.org/#dom-context-2d-font 28961. https://drafts.csswg.org/cssom/#serialize-a-css-value 28962. https://drafts.csswg.org/css2/#propdef-line-height 28963. https://html.spec.whatwg.org/#refsCSSOM 28964. https://html.spec.whatwg.org/#canvastextdrawingstyles 28965. https://drafts.csswg.org/css-fonts/#font-size-prop 28966. https://drafts.csswg.org/css-values/#em 28967. https://drafts.csswg.org/css-values/#ex 28968. https://drafts.csswg.org/css-cascade/#computed-value 28969. https://drafts.csswg.org/css-fonts/#font-size-prop 28970. https://html.spec.whatwg.org/#font-style-source-object 28971. https://drafts.csswg.org/css-fonts/#font-weight-prop 28972. https://drafts.csswg.org/css-cascade/#computed-value 28973. https://drafts.csswg.org/css-fonts/#font-weight-prop 28974. https://html.spec.whatwg.org/#font-style-source-object 28975. https://drafts.csswg.org/css-cascade/#computed-value 28976. https://html.spec.whatwg.org/#font-style-source-object 28977. https://html.spec.whatwg.org/#being-rendered 28978. https://html.spec.whatwg.org/#canvastextdrawingstyles 28979. https://html.spec.whatwg.org/#dom-context-2d-textalign 28980. https://html.spec.whatwg.org/#dom-context-2d-textalign-start 28981. https://html.spec.whatwg.org/#canvastextdrawingstyles 28982. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 28983. https://html.spec.whatwg.org/#dom-context-2d-textbaseline-alphabetic 28984. https://html.spec.whatwg.org/#canvastextdrawingstyles 28985. https://html.spec.whatwg.org/#the-canvas-element 28986. https://dom.spec.whatwg.org/#document-element 28987. https://html.spec.whatwg.org/#the-canvas-element 28988. https://html.spec.whatwg.org/#concept-canvastextdrawingstyles-language 28989. https://html.spec.whatwg.org/#dom-context-2d-lang-inherit 28990. https://webidl.spec.whatwg.org/#this 28991. https://html.spec.whatwg.org/#concept-canvastextdrawingstyles-language 28992. https://html.spec.whatwg.org/#dom-context-2d-lang 28993. https://webidl.spec.whatwg.org/#this 28994. https://html.spec.whatwg.org/#concept-canvastextdrawingstyles-language 28995. https://html.spec.whatwg.org/#canvastextdrawingstyles 28996. https://html.spec.whatwg.org/#dom-context-2d-direction 28997. https://html.spec.whatwg.org/#dom-context-2d-direction-inherit 28998. https://html.spec.whatwg.org/#canvastextdrawingstyles 28999. https://drafts.csswg.org/css-values/#lengths 29000. https://drafts.csswg.org/css-syntax/#parse-grammar 29001. https://drafts.csswg.org/css-values/#lengths 29002. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/letterSpacing 29003. https://drafts.csswg.org/cssom/#serialize-a-css-value 29004. https://webidl.spec.whatwg.org/#this 29005. https://html.spec.whatwg.org/#concept-canvastextdrawingstyles-letter-spacing 29006. https://html.spec.whatwg.org/#dom-context-2d-letterspacing 29007. https://drafts.csswg.org/css-syntax/#parse-grammar 29008. https://drafts.csswg.org/css-values/#lengths 29009. https://webidl.spec.whatwg.org/#this 29010. https://html.spec.whatwg.org/#concept-canvastextdrawingstyles-letter-spacing 29011. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/wordSpacing 29012. https://drafts.csswg.org/cssom/#serialize-a-css-value 29013. https://webidl.spec.whatwg.org/#this 29014. https://html.spec.whatwg.org/#concept-canvastextdrawingstyles-word-spacing 29015. https://html.spec.whatwg.org/#dom-context-2d-wordspacing 29016. https://drafts.csswg.org/css-syntax/#parse-grammar 29017. https://drafts.csswg.org/css-values/#lengths 29018. https://webidl.spec.whatwg.org/#this 29019. https://html.spec.whatwg.org/#concept-canvastextdrawingstyles-word-spacing 29020. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/fontKerning 29021. https://html.spec.whatwg.org/#canvastextdrawingstyles 29022. https://html.spec.whatwg.org/#dom-context-2d-fontkerning 29023. https://html.spec.whatwg.org/#dom-context-2d-fontkerning-auto 29024. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/fontStretch 29025. https://html.spec.whatwg.org/#canvastextdrawingstyles 29026. https://html.spec.whatwg.org/#dom-context-2d-fontstretch 29027. https://html.spec.whatwg.org/#dom-context-2d-fontstretch-normal 29028. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/fontVariantCaps 29029. https://html.spec.whatwg.org/#canvastextdrawingstyles 29030. https://html.spec.whatwg.org/#dom-context-2d-fontvariantcaps 29031. https://html.spec.whatwg.org/#dom-context-2d-fontvariantcaps-normal 29032. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/textRendering 29033. https://html.spec.whatwg.org/#canvastextdrawingstyles 29034. https://html.spec.whatwg.org/#dom-context-2d-textrendering 29035. https://html.spec.whatwg.org/#dom-context-2d-textrendering-auto 29036. https://html.spec.whatwg.org/#dom-context-2d-textalign 29037. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29038. https://drafts.csswg.org/css-inline/#em-over-baseline 29039. https://drafts.csswg.org/css-inline/#hanging-baseline 29040. https://drafts.csswg.org/css-inline/#em-over-baseline 29041. https://drafts.csswg.org/css-inline/#em-under-baseline 29042. https://drafts.csswg.org/css-inline/#alphabetic-baseline 29043. https://drafts.csswg.org/css-inline/#ideographic-under-baseline 29044. https://drafts.csswg.org/css-inline/#em-under-baseline 29045. https://html.spec.whatwg.org/#dom-context-2d-direction 29046. https://html.spec.whatwg.org/#text-preparation-algorithm 29047. https://html.spec.whatwg.org/#text-preparation-algorithm 29048. https://html.spec.whatwg.org/#text-preparation-algorithm 29049. https://html.spec.whatwg.org/#the-canvas-element 29050. https://html.spec.whatwg.org/#offscreencanvas-placeholder 29051. https://dom.spec.whatwg.org/#document-element 29052. https://html.spec.whatwg.org/#dom-context-2d-fontkerning 29053. https://html.spec.whatwg.org/#dom-context-2d-fontstretch 29054. https://drafts.csswg.org/css-fonts/#propdef-font-stretch 29055. https://drafts.csswg.org/css-fonts/#valdef-font-stretch-ultra-condensed 29056. https://drafts.csswg.org/css-fonts/#propdef-font-stretch 29057. https://drafts.csswg.org/css-fonts/#valdef-font-stretch-extra-condensed 29058. https://drafts.csswg.org/css-fonts/#propdef-font-stretch 29059. https://drafts.csswg.org/css-fonts/#valdef-font-stretch-condensed 29060. https://drafts.csswg.org/css-fonts/#propdef-font-stretch 29061. https://drafts.csswg.org/css-fonts/#valdef-font-stretch-semi-condensed 29062. https://drafts.csswg.org/css-fonts/#propdef-font-stretch 29063. https://drafts.csswg.org/css-fonts/#valdef-font-stretch-semi-expanded 29064. https://drafts.csswg.org/css-fonts/#propdef-font-stretch 29065. https://drafts.csswg.org/css-fonts/#valdef-font-stretch-expanded 29066. https://drafts.csswg.org/css-fonts/#propdef-font-stretch 29067. https://drafts.csswg.org/css-fonts/#valdef-font-stretch-extra-expanded 29068. https://drafts.csswg.org/css-fonts/#propdef-font-stretch 29069. https://drafts.csswg.org/css-fonts/#valdef-font-stretch-ultra-expanded 29070. https://html.spec.whatwg.org/#dom-context-2d-fontvariantcaps 29071. https://drafts.csswg.org/css-fonts/#propdef-font-variant-caps 29072. https://drafts.csswg.org/css-fonts/#valdef-font-variant-caps-small-caps 29073. https://drafts.csswg.org/css-fonts/#propdef-font-variant-caps 29074. https://drafts.csswg.org/css-fonts/#valdef-font-variant-caps-all-small-caps 29075. https://drafts.csswg.org/css-fonts/#propdef-font-variant-caps 29076. https://drafts.csswg.org/css-fonts/#valdef-font-variant-caps-petite-caps 29077. https://drafts.csswg.org/css-fonts/#propdef-font-variant-caps 29078. https://drafts.csswg.org/css-fonts/#valdef-font-variant-caps-all-petite-caps 29079. https://drafts.csswg.org/css-fonts/#propdef-font-variant-caps 29080. https://drafts.csswg.org/css-fonts/#valdef-font-variant-caps-unicase 29081. https://drafts.csswg.org/css-fonts/#propdef-font-variant-caps 29082. https://drafts.csswg.org/css-fonts/#valdef-font-variant-caps-titling-caps 29083. https://html.spec.whatwg.org/#dom-context-2d-textrendering 29084. https://svgwg.org/svg2-draft/painting.html#TextRendering 29085. https://svgwg.org/svg2-draft/painting.html#TextRendering 29086. https://svgwg.org/svg2-draft/painting.html#TextRendering 29087. https://svgwg.org/svg2-draft/painting.html#TextRendering 29088. https://html.spec.whatwg.org/#canvastextdrawingstyles 29089. https://drafts.csswg.org/css2/#inline-box 29090. https://drafts.csswg.org/css2/#inline-box 29091. https://infra.spec.whatwg.org/#ascii-whitespace 29092. https://html.spec.whatwg.org/#dom-context-2d-font 29093. https://html.spec.whatwg.org/#concept-canvastextdrawingstyles-language 29094. https://html.spec.whatwg.org/#dom-context-2d-lang-inherit 29095. https://html.spec.whatwg.org/#font-style-source-object 29096. https://html.spec.whatwg.org/#the-canvas-element 29097. https://html.spec.whatwg.org/#language 29098. https://infra.spec.whatwg.org/#assert 29099. https://html.spec.whatwg.org/#offscreencanvas 29100. https://html.spec.whatwg.org/#offscreencanvas-inherited-lang 29101. https://html.spec.whatwg.org/#concept-explicitly-unknown 29102. https://html.spec.whatwg.org/#dom-context-2d-direction 29103. https://html.spec.whatwg.org/#dom-context-2d-direction-ltr 29104. https://html.spec.whatwg.org/#concept-ltr 29105. https://html.spec.whatwg.org/#dom-context-2d-direction 29106. https://html.spec.whatwg.org/#dom-context-2d-direction-rtl 29107. https://html.spec.whatwg.org/#concept-rtl 29108. https://html.spec.whatwg.org/#dom-context-2d-direction 29109. https://html.spec.whatwg.org/#dom-context-2d-direction-inherit 29110. https://html.spec.whatwg.org/#font-style-source-object 29111. https://html.spec.whatwg.org/#the-canvas-element 29112. https://html.spec.whatwg.org/#the-directionality 29113. https://infra.spec.whatwg.org/#assert 29114. https://html.spec.whatwg.org/#offscreencanvas 29115. https://html.spec.whatwg.org/#offscreencanvas-inherited-direction 29116. https://drafts.csswg.org/css2/#line-box 29117. https://drafts.csswg.org/css2/#inline-box 29118. https://drafts.csswg.org/css-text-4/#content-language 29119. https://drafts.csswg.org/css-writing-modes/#direction 29120. https://drafts.csswg.org/css-fonts/#font-prop 29121. https://drafts.csswg.org/css-fonts/#propdef-font-kerning 29122. https://html.spec.whatwg.org/#dom-context-2d-fontkerning 29123. https://drafts.csswg.org/css-fonts/#propdef-font-stretch 29124. https://html.spec.whatwg.org/#dom-context-2d-fontstretch 29125. https://drafts.csswg.org/css-fonts/#propdef-font-variant-caps 29126. https://html.spec.whatwg.org/#dom-context-2d-fontvariantcaps 29127. https://drafts.csswg.org/css-text/#letter-spacing-property 29128. https://html.spec.whatwg.org/#concept-canvastextdrawingstyles-letter-spacing 29129. https://svgwg.org/svg2-draft/painting.html#TextRendering 29130. https://html.spec.whatwg.org/#dom-context-2d-textrendering 29131. https://drafts.csswg.org/css-text/#white-space-property 29132. https://drafts.csswg.org/css-text/#propdef-word-spacing 29133. https://html.spec.whatwg.org/#concept-canvastextdrawingstyles-word-spacing 29134. https://drafts.csswg.org/css2/#inline-box 29135. https://drafts.csswg.org/css2/#line-box 29136. https://drafts.csswg.org/css-values/#px 29137. https://drafts.csswg.org/css2/#inline-box 29138. https://html.spec.whatwg.org/#dom-context-2d-textalign 29139. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29140. https://html.spec.whatwg.org/#dom-context-2d-textalign 29141. https://html.spec.whatwg.org/#dom-context-2d-textalign-left 29142. https://html.spec.whatwg.org/#dom-context-2d-textalign 29143. https://html.spec.whatwg.org/#dom-context-2d-textalign-start 29144. https://html.spec.whatwg.org/#dom-context-2d-textalign 29145. https://html.spec.whatwg.org/#dom-context-2d-textalign-end 29146. https://drafts.csswg.org/css2/#inline-box 29147. https://html.spec.whatwg.org/#dom-context-2d-textalign 29148. https://html.spec.whatwg.org/#dom-context-2d-textalign-right 29149. https://html.spec.whatwg.org/#dom-context-2d-textalign 29150. https://html.spec.whatwg.org/#dom-context-2d-textalign-end 29151. https://html.spec.whatwg.org/#dom-context-2d-textalign 29152. https://html.spec.whatwg.org/#dom-context-2d-textalign-start 29153. https://drafts.csswg.org/css2/#inline-box 29154. https://html.spec.whatwg.org/#dom-context-2d-textalign 29155. https://html.spec.whatwg.org/#dom-context-2d-textalign-center 29156. https://drafts.csswg.org/css2/#inline-box 29157. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29158. https://html.spec.whatwg.org/#dom-context-2d-textbaseline-top 29159. https://drafts.csswg.org/css-fonts/#first-available-font 29160. https://drafts.csswg.org/css2/#inline-box 29161. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29162. https://html.spec.whatwg.org/#dom-context-2d-textbaseline-hanging 29163. https://drafts.csswg.org/css-inline/#hanging-baseline 29164. https://drafts.csswg.org/css-fonts/#first-available-font 29165. https://drafts.csswg.org/css2/#inline-box 29166. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29167. https://html.spec.whatwg.org/#dom-context-2d-textbaseline-middle 29168. https://drafts.csswg.org/css-fonts/#first-available-font 29169. https://drafts.csswg.org/css2/#inline-box 29170. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29171. https://html.spec.whatwg.org/#dom-context-2d-textbaseline-alphabetic 29172. https://drafts.csswg.org/css-inline/#alphabetic-baseline 29173. https://drafts.csswg.org/css-fonts/#first-available-font 29174. https://drafts.csswg.org/css2/#inline-box 29175. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29176. https://html.spec.whatwg.org/#dom-context-2d-textbaseline-ideographic 29177. https://drafts.csswg.org/css-inline/#ideographic-under-baseline 29178. https://drafts.csswg.org/css-fonts/#first-available-font 29179. https://drafts.csswg.org/css2/#inline-box 29180. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29181. https://html.spec.whatwg.org/#dom-context-2d-textbaseline-bottom 29182. https://drafts.csswg.org/css-fonts/#first-available-font 29183. https://drafts.csswg.org/css2/#inline-box 29184. https://drafts.csswg.org/css2/#inline-box 29185. https://drafts.csswg.org/css2/#inline-box 29186. https://drafts.csswg.org/css-values/#px 29187. https://html.spec.whatwg.org/#canvaspath 29188. https://html.spec.whatwg.org/#concept-path 29189. https://html.spec.whatwg.org/#concept-path 29190. https://html.spec.whatwg.org/#concept-path 29191. https://html.spec.whatwg.org/#need-new-subpath 29192. https://html.spec.whatwg.org/#canvaspath 29193. https://html.spec.whatwg.org/#concept-path 29194. https://html.spec.whatwg.org/#dom-context-2d-moveto 29195. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/moveTo 29196. https://html.spec.whatwg.org/#dom-context-2d-moveto 29197. https://html.spec.whatwg.org/#dom-context-2d-closepath 29198. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/closePath 29199. https://html.spec.whatwg.org/#dom-context-2d-closepath 29200. https://html.spec.whatwg.org/#dom-context-2d-lineto 29201. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineTo 29202. https://html.spec.whatwg.org/#dom-context-2d-lineto 29203. https://html.spec.whatwg.org/#dom-context-2d-quadraticcurveto 29204. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/quadraticCurveTo 29205. https://html.spec.whatwg.org/#dom-context-2d-quadraticcurveto 29206. https://html.spec.whatwg.org/#dom-context-2d-beziercurveto 29207. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/bezierCurveTo 29208. https://html.spec.whatwg.org/#dom-context-2d-beziercurveto 29209. https://html.spec.whatwg.org/#dom-context-2d-arcto 29210. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/arcTo 29211. https://html.spec.whatwg.org/#dom-context-2d-arcto 29212. https://webidl.spec.whatwg.org/#indexsizeerror 29213. https://webidl.spec.whatwg.org/#dfn-DOMException 29214. https://html.spec.whatwg.org/#dom-context-2d-arc 29215. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/arc 29216. https://html.spec.whatwg.org/#dom-context-2d-arc 29217. https://webidl.spec.whatwg.org/#indexsizeerror 29218. https://webidl.spec.whatwg.org/#dfn-DOMException 29219. https://html.spec.whatwg.org/#dom-context-2d-ellipse 29220. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/ellipse 29221. https://html.spec.whatwg.org/#dom-context-2d-ellipse 29222. https://webidl.spec.whatwg.org/#indexsizeerror 29223. https://webidl.spec.whatwg.org/#dfn-DOMException 29224. https://html.spec.whatwg.org/#dom-context-2d-rect 29225. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/rect 29226. https://html.spec.whatwg.org/#dom-context-2d-rect 29227. https://html.spec.whatwg.org/#dom-context-2d-roundrect 29228. https://html.spec.whatwg.org/#dom-context-2d-roundrect 29229. https://drafts.csswg.org/css-backgrounds/#propdef-border-radius 29230. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-rangeerror 29231. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-rangeerror 29232. https://html.spec.whatwg.org/#concept-path 29233. https://html.spec.whatwg.org/#canvaspath 29234. https://html.spec.whatwg.org/#canvasdrawpath 29235. https://html.spec.whatwg.org/#canvastransform 29236. https://html.spec.whatwg.org/#current-default-path 29237. https://html.spec.whatwg.org/#transformations 29238. https://html.spec.whatwg.org/#concept-path 29239. https://html.spec.whatwg.org/#concept-path 29240. https://html.spec.whatwg.org/#need-new-subpath 29241. https://html.spec.whatwg.org/#dom-context-2d-moveto 29242. https://html.spec.whatwg.org/#concept-path 29243. https://html.spec.whatwg.org/#need-new-subpath 29244. https://html.spec.whatwg.org/#ensure-there-is-a-subpath 29245. https://html.spec.whatwg.org/#ensure-there-is-a-subpath 29246. https://html.spec.whatwg.org/#refsBEZIER 29247. https://html.spec.whatwg.org/#ensure-there-is-a-subpath 29248. https://html.spec.whatwg.org/#refsBEZIER 29249. https://html.spec.whatwg.org/#ensure-there-is-a-subpath 29250. https://webidl.spec.whatwg.org/#indexsizeerror 29251. https://webidl.spec.whatwg.org/#dfn-DOMException 29252. https://html.spec.whatwg.org/#transformations 29253. https://html.spec.whatwg.org/#ellipse-method-steps 29254. https://html.spec.whatwg.org/#dom-context-2d-ellipse 29255. https://html.spec.whatwg.org/#ellipse-method-steps 29256. https://webidl.spec.whatwg.org/#indexsizeerror 29257. https://webidl.spec.whatwg.org/#dfn-DOMException 29258. https://html.spec.whatwg.org/#determine-the-point-on-an-ellipse-steps 29259. https://html.spec.whatwg.org/#determine-the-point-on-an-ellipse-steps 29260. https://html.spec.whatwg.org/#determine-the-point-on-an-ellipse-steps 29261. https://html.spec.whatwg.org/#dom-context-2d-closepath 29262. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/roundRect 29263. https://webidl.spec.whatwg.org/#idl-unrestricted-double 29264. https://drafts.fxtf.org/geometry/#dictdef-dompointinit 29265. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-rangeerror 29266. https://drafts.fxtf.org/geometry/#dictdef-dompointinit 29267. https://drafts.fxtf.org/geometry/#dom-dompointinit-x 29268. https://drafts.fxtf.org/geometry/#dom-dompointinit-y 29269. https://drafts.fxtf.org/geometry/#dom-dompointinit-x 29270. https://drafts.fxtf.org/geometry/#dom-dompointinit-y 29271. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-rangeerror 29272. https://webidl.spec.whatwg.org/#idl-unrestricted-double 29273. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-rangeerror 29274. https://drafts.fxtf.org/geometry/#dom-dompointinit-x 29275. https://drafts.fxtf.org/geometry/#dom-dompointinit-x 29276. https://drafts.fxtf.org/geometry/#dom-dompointinit-x 29277. https://drafts.fxtf.org/geometry/#dom-dompointinit-x 29278. https://drafts.fxtf.org/geometry/#dom-dompointinit-y 29279. https://drafts.fxtf.org/geometry/#dom-dompointinit-y 29280. https://drafts.fxtf.org/geometry/#dom-dompointinit-x 29281. https://drafts.fxtf.org/geometry/#dom-dompointinit-x 29282. https://drafts.fxtf.org/geometry/#dom-dompointinit-y 29283. https://drafts.fxtf.org/geometry/#dom-dompointinit-y 29284. https://drafts.fxtf.org/geometry/#dom-dompointinit-x 29285. https://drafts.fxtf.org/geometry/#dom-dompointinit-y 29286. https://drafts.fxtf.org/geometry/#dom-dompointinit-x 29287. https://drafts.fxtf.org/geometry/#dom-dompointinit-x 29288. https://drafts.fxtf.org/geometry/#dom-dompointinit-y 29289. https://drafts.fxtf.org/geometry/#dom-dompointinit-y 29290. https://drafts.fxtf.org/geometry/#dom-dompointinit-x 29291. https://drafts.fxtf.org/geometry/#dom-dompointinit-x 29292. https://drafts.fxtf.org/geometry/#dom-dompointinit-y 29293. https://drafts.fxtf.org/geometry/#dom-dompointinit-y 29294. https://drafts.fxtf.org/geometry/#dom-dompointinit-x 29295. https://drafts.csswg.org/css-backgrounds/#propdef-border-radius 29296. https://html.spec.whatwg.org/#path2d 29297. https://developer.mozilla.org/en-US/docs/Web/API/Path2D 29298. https://html.spec.whatwg.org/#path2d 29299. https://html.spec.whatwg.org/#canvasdrawpath 29300. https://html.spec.whatwg.org/#path2d 29301. https://html.spec.whatwg.org/#dom-path2d 29302. https://developer.mozilla.org/en-US/docs/Web/API/Path2D/Path2D 29303. https://html.spec.whatwg.org/#path2d 29304. https://html.spec.whatwg.org/#dom-path2d 29305. https://html.spec.whatwg.org/#path2d 29306. https://html.spec.whatwg.org/#refsSVG 29307. https://html.spec.whatwg.org/#dom-path2d-addpath 29308. https://developer.mozilla.org/en-US/docs/Web/API/Path2D/addPath 29309. https://html.spec.whatwg.org/#path2d 29310. https://html.spec.whatwg.org/#path2d 29311. https://html.spec.whatwg.org/#refsSVG 29312. https://html.spec.whatwg.org/#path2d 29313. https://html.spec.whatwg.org/#path2d 29314. https://drafts.fxtf.org/geometry/#create-a-dommatrix-from-the-2d-dictionary 29315. https://drafts.fxtf.org/geometry/#matrix-m11-element 29316. https://drafts.fxtf.org/geometry/#matrix-m12-element 29317. https://drafts.fxtf.org/geometry/#matrix-m21-element 29318. https://drafts.fxtf.org/geometry/#matrix-m22-element 29319. https://drafts.fxtf.org/geometry/#matrix-m41-element 29320. https://drafts.fxtf.org/geometry/#matrix-m42-element 29321. https://html.spec.whatwg.org/#canvastransform 29322. https://html.spec.whatwg.org/#canvastransform 29323. https://html.spec.whatwg.org/#current-transformation-matrix 29324. https://html.spec.whatwg.org/#current-default-path 29325. https://html.spec.whatwg.org/#path2d 29326. https://html.spec.whatwg.org/#canvastransform 29327. https://html.spec.whatwg.org/#dom-context-2d-scale 29328. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/scale 29329. https://html.spec.whatwg.org/#current-transformation-matrix 29330. https://html.spec.whatwg.org/#dom-context-2d-rotate 29331. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/rotate 29332. https://html.spec.whatwg.org/#current-transformation-matrix 29333. https://html.spec.whatwg.org/#dom-context-2d-translate 29334. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/translate 29335. https://html.spec.whatwg.org/#current-transformation-matrix 29336. https://html.spec.whatwg.org/#dom-context-2d-transform 29337. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/transform 29338. https://html.spec.whatwg.org/#current-transformation-matrix 29339. https://html.spec.whatwg.org/#dom-context-2d-gettransform 29340. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getTransform 29341. https://html.spec.whatwg.org/#current-transformation-matrix 29342. https://drafts.fxtf.org/geometry/#dommatrix 29343. https://html.spec.whatwg.org/#dom-context-2d-settransform 29344. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setTransform 29345. https://html.spec.whatwg.org/#current-transformation-matrix 29346. https://html.spec.whatwg.org/#dom-context-2d-settransform-matrix 29347. https://html.spec.whatwg.org/#current-transformation-matrix 29348. https://drafts.fxtf.org/geometry/#dictdef-dommatrix2dinit 29349. https://html.spec.whatwg.org/#dom-context-2d-resettransform 29350. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/resetTransform 29351. https://html.spec.whatwg.org/#current-transformation-matrix 29352. https://html.spec.whatwg.org/#current-transformation-matrix 29353. https://html.spec.whatwg.org/#current-transformation-matrix 29354. https://html.spec.whatwg.org/#current-transformation-matrix 29355. https://html.spec.whatwg.org/#current-transformation-matrix 29356. https://drafts.fxtf.org/geometry/#matrix-multiply 29357. https://html.spec.whatwg.org/#current-transformation-matrix 29358. https://drafts.fxtf.org/geometry/#dommatrix 29359. https://html.spec.whatwg.org/#current-transformation-matrix 29360. https://html.spec.whatwg.org/#current-transformation-matrix 29361. https://html.spec.whatwg.org/#current-transformation-matrix 29362. https://drafts.fxtf.org/geometry/#dommatrix 29363. https://html.spec.whatwg.org/#current-transformation-matrix 29364. https://drafts.fxtf.org/geometry/#create-a-dommatrix-from-the-2d-dictionary 29365. https://drafts.fxtf.org/geometry/#matrix-m11-element 29366. https://drafts.fxtf.org/geometry/#matrix-m12-element 29367. https://drafts.fxtf.org/geometry/#matrix-m21-element 29368. https://drafts.fxtf.org/geometry/#matrix-m22-element 29369. https://drafts.fxtf.org/geometry/#matrix-m41-element 29370. https://drafts.fxtf.org/geometry/#matrix-m42-element 29371. https://html.spec.whatwg.org/#current-transformation-matrix 29372. https://html.spec.whatwg.org/#current-transformation-matrix 29373. https://html.spec.whatwg.org/#dom-context-2d-transform 29374. https://html.spec.whatwg.org/#dom-context-2d-settransform 29375. https://html.spec.whatwg.org/#canvasdrawimage 29376. https://html.spec.whatwg.org/#canvasfillstrokestyles 29377. https://html.spec.whatwg.org/#canvasimagesource 29378. https://html.spec.whatwg.org/#htmlorsvgimageelement 29379. https://html.spec.whatwg.org/#the-img-element 29380. https://svgwg.org/svg2-draft/embedded.html#ImageElement 29381. https://html.spec.whatwg.org/#htmlvideoelement 29382. https://html.spec.whatwg.org/#the-video-element 29383. https://html.spec.whatwg.org/#htmlcanvaselement 29384. https://html.spec.whatwg.org/#the-canvas-element 29385. https://html.spec.whatwg.org/#offscreencanvas 29386. https://html.spec.whatwg.org/#imagebitmap 29387. https://w3c.github.io/webcodecs/#videoframe-interface 29388. https://svgwg.org/svg2-draft/embedded.html#ImageElement 29389. https://html.spec.whatwg.org/#the-img-element 29390. https://svgwg.org/svg2-draft/embedded.html#ImageElement 29391. https://html.spec.whatwg.org/#the-img-element 29392. https://html.spec.whatwg.org/#imagebitmap 29393. https://html.spec.whatwg.org/#imagedata 29394. https://html.spec.whatwg.org/#canvasimagesource 29395. https://html.spec.whatwg.org/#htmlorsvgimageelement 29396. https://html.spec.whatwg.org/#current-request 29397. https://html.spec.whatwg.org/#img-req-state 29398. https://html.spec.whatwg.org/#img-error 29399. https://webidl.spec.whatwg.org/#invalidstateerror 29400. https://webidl.spec.whatwg.org/#dfn-DOMException 29401. https://html.spec.whatwg.org/#img-good 29402. https://drafts.csswg.org/css-images/#natural-width 29403. https://drafts.csswg.org/css-images/#natural-height 29404. https://html.spec.whatwg.org/#htmlvideoelement 29405. https://html.spec.whatwg.org/#dom-media-readystate 29406. https://html.spec.whatwg.org/#dom-media-have_nothing 29407. https://html.spec.whatwg.org/#dom-media-have_metadata 29408. https://html.spec.whatwg.org/#htmlcanvaselement 29409. https://html.spec.whatwg.org/#offscreencanvas 29410. https://webidl.spec.whatwg.org/#invalidstateerror 29411. https://webidl.spec.whatwg.org/#dfn-DOMException 29412. https://html.spec.whatwg.org/#imagebitmap 29413. https://w3c.github.io/webcodecs/#videoframe-interface 29414. https://html.spec.whatwg.org/#detached 29415. https://webidl.spec.whatwg.org/#invalidstateerror 29416. https://webidl.spec.whatwg.org/#dfn-DOMException 29417. https://html.spec.whatwg.org/#canvasimagesource 29418. https://html.spec.whatwg.org/#htmlorsvgimageelement 29419. https://html.spec.whatwg.org/#canvasimagesource 29420. https://html.spec.whatwg.org/#htmlorsvgimageelement 29421. https://html.spec.whatwg.org/#canvasrenderingcontext2d 29422. https://html.spec.whatwg.org/#canvasimagesource 29423. https://html.spec.whatwg.org/#htmlvideoelement 29424. https://html.spec.whatwg.org/#current-playback-position 29425. https://html.spec.whatwg.org/#canvasrenderingcontext2d 29426. https://html.spec.whatwg.org/#concept-video-intrinsic-width 29427. https://html.spec.whatwg.org/#concept-video-intrinsic-height 29428. https://html.spec.whatwg.org/#media-resource 29429. https://html.spec.whatwg.org/#canvasimagesource 29430. https://html.spec.whatwg.org/#htmlcanvaselement 29431. https://html.spec.whatwg.org/#canvasimagesource 29432. https://html.spec.whatwg.org/#being-rendered 29433. https://html.spec.whatwg.org/#attr-dim-width 29434. https://html.spec.whatwg.org/#attr-dim-height 29435. https://html.spec.whatwg.org/#canvasrenderingcontext2d 29436. https://html.spec.whatwg.org/#canvasimagesource 29437. https://html.spec.whatwg.org/#imagebitmap 29438. https://html.spec.whatwg.org/#canvasimagesource 29439. https://html.spec.whatwg.org/#offscreencanvas 29440. https://html.spec.whatwg.org/#canvasimagesource 29441. https://w3c.github.io/webcodecs/#videoframe-interface 29442. https://w3c.github.io/webcodecs/#dom-videoframe-display-width-slot 29443. https://w3c.github.io/webcodecs/#dom-videoframe-display-height-slot 29444. https://html.spec.whatwg.org/#htmlorsvgimageelement 29445. https://html.spec.whatwg.org/#current-request 29446. https://html.spec.whatwg.org/#img-req-data 29447. https://html.spec.whatwg.org/#cors-cross-origin 29448. https://html.spec.whatwg.org/#htmlvideoelement 29449. https://html.spec.whatwg.org/#media-data 29450. https://html.spec.whatwg.org/#cors-cross-origin 29451. https://html.spec.whatwg.org/#htmlcanvaselement 29452. https://html.spec.whatwg.org/#imagebitmap 29453. https://html.spec.whatwg.org/#offscreencanvas 29454. https://html.spec.whatwg.org/#concept-canvas-origin-clean 29455. https://html.spec.whatwg.org/#dom-context-2d-fillstyle 29456. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/fillStyle 29457. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-fill-style 29458. https://html.spec.whatwg.org/#canvasgradient 29459. https://html.spec.whatwg.org/#canvaspattern 29460. https://html.spec.whatwg.org/#dom-context-2d-strokestyle 29461. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/strokeStyle 29462. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-stroke-style 29463. https://html.spec.whatwg.org/#canvasgradient 29464. https://html.spec.whatwg.org/#canvaspattern 29465. https://html.spec.whatwg.org/#canvasfillstrokestyles 29466. https://html.spec.whatwg.org/#canvaspattern 29467. https://html.spec.whatwg.org/#canvasgradient 29468. https://drafts.csswg.org/css-color/#parse-a-css-color-value 29469. https://html.spec.whatwg.org/#canvaspattern 29470. https://html.spec.whatwg.org/#canvasgradient 29471. https://webidl.spec.whatwg.org/#this 29472. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-fill-style 29473. https://drafts.csswg.org/css-color/#serializing-color-values 29474. https://drafts.csswg.org/css-color/#color-serialization-html-compatible-serialization-is-requested 29475. https://webidl.spec.whatwg.org/#this 29476. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-fill-style 29477. https://html.spec.whatwg.org/#dom-context-2d-fillstyle 29478. https://webidl.spec.whatwg.org/#this 29479. https://html.spec.whatwg.org/#dom-context-2d-canvas 29480. https://drafts.csswg.org/css-color/#parse-a-css-color-value 29481. https://webidl.spec.whatwg.org/#this 29482. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-fill-style 29483. https://html.spec.whatwg.org/#canvaspattern 29484. https://html.spec.whatwg.org/#concept-canvas-pattern-not-origin-clean 29485. https://webidl.spec.whatwg.org/#this 29486. https://html.spec.whatwg.org/#concept-canvas-origin-clean 29487. https://webidl.spec.whatwg.org/#this 29488. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-fill-style 29489. https://webidl.spec.whatwg.org/#this 29490. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-stroke-style 29491. https://drafts.csswg.org/css-color/#serializing-color-values 29492. https://drafts.csswg.org/css-color/#color-serialization-html-compatible-serialization-is-requested 29493. https://webidl.spec.whatwg.org/#this 29494. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-stroke-style 29495. https://html.spec.whatwg.org/#dom-context-2d-strokestyle 29496. https://webidl.spec.whatwg.org/#this 29497. https://html.spec.whatwg.org/#dom-context-2d-canvas 29498. https://drafts.csswg.org/css-color/#parse-a-css-color-value 29499. https://webidl.spec.whatwg.org/#this 29500. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-stroke-style 29501. https://html.spec.whatwg.org/#canvaspattern 29502. https://html.spec.whatwg.org/#concept-canvas-pattern-not-origin-clean 29503. https://webidl.spec.whatwg.org/#this 29504. https://html.spec.whatwg.org/#concept-canvas-origin-clean 29505. https://webidl.spec.whatwg.org/#this 29506. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-stroke-style 29507. https://html.spec.whatwg.org/#canvasgradient 29508. https://drafts.csswg.org/css-color/#transparent-black 29509. https://html.spec.whatwg.org/#dom-canvasgradient-addcolorstop 29510. https://developer.mozilla.org/en-US/docs/Web/API/CanvasGradient/addColorStop 29511. https://webidl.spec.whatwg.org/#indexsizeerror 29512. https://webidl.spec.whatwg.org/#dfn-DOMException 29513. https://webidl.spec.whatwg.org/#syntaxerror 29514. https://webidl.spec.whatwg.org/#dfn-DOMException 29515. https://html.spec.whatwg.org/#dom-context-2d-createlineargradient 29516. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/createLinearGradient 29517. https://html.spec.whatwg.org/#canvasgradient 29518. https://html.spec.whatwg.org/#dom-context-2d-createradialgradient 29519. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/createRadialGradient 29520. https://html.spec.whatwg.org/#canvasgradient 29521. https://webidl.spec.whatwg.org/#indexsizeerror 29522. https://webidl.spec.whatwg.org/#dfn-DOMException 29523. https://html.spec.whatwg.org/#dom-context-2d-createconicgradient 29524. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/createConicGradient 29525. https://html.spec.whatwg.org/#canvasgradient 29526. https://html.spec.whatwg.org/#canvasgradient 29527. https://webidl.spec.whatwg.org/#indexsizeerror 29528. https://webidl.spec.whatwg.org/#dfn-DOMException 29529. https://drafts.csswg.org/css-color/#parse-a-css-color-value 29530. https://html.spec.whatwg.org/#canvasgradient 29531. https://html.spec.whatwg.org/#the-canvas-element 29532. https://html.spec.whatwg.org/#canvasgradient 29533. https://html.spec.whatwg.org/#the-canvas-element 29534. https://webidl.spec.whatwg.org/#syntaxerror 29535. https://webidl.spec.whatwg.org/#dfn-DOMException 29536. https://html.spec.whatwg.org/#canvasgradient 29537. https://html.spec.whatwg.org/#interpolation 29538. https://html.spec.whatwg.org/#transformations 29539. https://webidl.spec.whatwg.org/#indexsizeerror 29540. https://webidl.spec.whatwg.org/#dfn-DOMException 29541. https://html.spec.whatwg.org/#canvasgradient 29542. https://html.spec.whatwg.org/#interpolation 29543. https://drafts.csswg.org/css-color/#transparent-black 29544. https://html.spec.whatwg.org/#transformations 29545. https://drafts.csswg.org/css-values/#px 29546. https://html.spec.whatwg.org/#canvasgradient 29547. https://drafts.csswg.org/css-images-4/#funcdef-conic-gradient 29548. https://html.spec.whatwg.org/#canvasgradient 29549. https://html.spec.whatwg.org/#dom-canvasgradient-addcolorstop 29550. https://html.spec.whatwg.org/#canvaspattern 29551. https://html.spec.whatwg.org/#dom-context-2d-createpattern 29552. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/createPattern 29553. https://html.spec.whatwg.org/#canvaspattern 29554. https://webidl.spec.whatwg.org/#invalidstateerror 29555. https://webidl.spec.whatwg.org/#dfn-DOMException 29556. https://html.spec.whatwg.org/#dom-canvaspattern-settransform 29557. https://developer.mozilla.org/en-US/docs/Web/API/CanvasPattern/setTransform 29558. https://html.spec.whatwg.org/#check-the-usability-of-the-image-argument 29559. https://infra.spec.whatwg.org/#assert 29560. https://infra.spec.whatwg.org/#string-is 29561. https://webidl.spec.whatwg.org/#syntaxerror 29562. https://webidl.spec.whatwg.org/#dfn-DOMException 29563. https://html.spec.whatwg.org/#canvaspattern 29564. https://html.spec.whatwg.org/#the-image-argument-is-not-origin-clean 29565. https://html.spec.whatwg.org/#canvaspattern 29566. https://html.spec.whatwg.org/#dom-context-2d-createpattern 29567. https://html.spec.whatwg.org/#canvaspattern 29568. https://drafts.fxtf.org/geometry/#create-a-dommatrix-from-the-2d-dictionary 29569. https://drafts.fxtf.org/geometry/#matrix-m11-element 29570. https://drafts.fxtf.org/geometry/#matrix-m12-element 29571. https://drafts.fxtf.org/geometry/#matrix-m21-element 29572. https://drafts.fxtf.org/geometry/#matrix-m22-element 29573. https://drafts.fxtf.org/geometry/#matrix-m41-element 29574. https://drafts.fxtf.org/geometry/#matrix-m42-element 29575. https://drafts.csswg.org/css-color/#transparent-black 29576. https://drafts.csswg.org/css-values/#px 29577. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingenabled 29578. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingquality 29579. https://html.spec.whatwg.org/#transformations 29580. https://drafts.csswg.org/css-color/#transparent-black 29581. https://drafts.csswg.org/css-color/#transparent-black 29582. https://html.spec.whatwg.org/#canvasrect 29583. https://html.spec.whatwg.org/#transformations 29584. https://html.spec.whatwg.org/#current-default-path 29585. https://html.spec.whatwg.org/#clipping-region 29586. https://html.spec.whatwg.org/#dom-context-2d-clearrect 29587. https://html.spec.whatwg.org/#shadows 29588. https://html.spec.whatwg.org/#concept-canvas-global-alpha 29589. https://html.spec.whatwg.org/#current-compositing-and-blending-operator 29590. https://html.spec.whatwg.org/#dom-context-2d-clearrect 29591. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/clearRect 29592. https://drafts.csswg.org/css-color/#transparent-black 29593. https://html.spec.whatwg.org/#dom-context-2d-fillrect 29594. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/fillRect 29595. https://html.spec.whatwg.org/#dom-context-2d-strokerect 29596. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/strokeRect 29597. https://html.spec.whatwg.org/#clipping-region 29598. https://drafts.csswg.org/css-color/#transparent-black 29599. https://webidl.spec.whatwg.org/#this 29600. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-fill-style 29601. https://html.spec.whatwg.org/#trace-a-path 29602. https://html.spec.whatwg.org/#canvaspathdrawingstyles 29603. https://webidl.spec.whatwg.org/#this 29604. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-stroke-style 29605. https://html.spec.whatwg.org/#trace-a-path 29606. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D 29607. https://html.spec.whatwg.org/#dom-context-2d-filltext 29608. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/fillText 29609. https://html.spec.whatwg.org/#dom-context-2d-stroketext 29610. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/strokeText 29611. https://html.spec.whatwg.org/#dom-context-2d-measuretext 29612. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/measureText 29613. https://html.spec.whatwg.org/#textmetrics 29614. https://html.spec.whatwg.org/#dom-textmetrics-width 29615. https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics/width 29616. https://html.spec.whatwg.org/#dom-textmetrics-actualboundingboxleft 29617. https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics/actualBoundingBoxLeft 29618. https://html.spec.whatwg.org/#dom-textmetrics-actualboundingboxright 29619. https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics/actualBoundingBoxRight 29620. https://html.spec.whatwg.org/#dom-textmetrics-fontboundingboxascent 29621. https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics/fontBoundingBoxAscent 29622. https://html.spec.whatwg.org/#dom-textmetrics-fontboundingboxdescent 29623. https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics/fontBoundingBoxDescent 29624. https://html.spec.whatwg.org/#dom-textmetrics-actualboundingboxascent 29625. https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics/actualBoundingBoxAscent 29626. https://html.spec.whatwg.org/#dom-textmetrics-actualboundingboxdescent 29627. https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics/actualBoundingBoxDescent 29628. https://html.spec.whatwg.org/#dom-textmetrics-emheightascent 29629. https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics/emHeightAscent 29630. https://html.spec.whatwg.org/#dom-textmetrics-emheightdescent 29631. https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics/emHeightDescent 29632. https://html.spec.whatwg.org/#dom-textmetrics-hangingbaseline 29633. https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics/hangingBaseline 29634. https://html.spec.whatwg.org/#dom-textmetrics-alphabeticbaseline 29635. https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics/alphabeticBaseline 29636. https://html.spec.whatwg.org/#dom-textmetrics-ideographicbaseline 29637. https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics/ideographicBaseline 29638. https://html.spec.whatwg.org/#canvastext 29639. https://html.spec.whatwg.org/#dom-context-2d-font 29640. https://html.spec.whatwg.org/#dom-context-2d-textalign 29641. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29642. https://html.spec.whatwg.org/#text-preparation-algorithm 29643. https://html.spec.whatwg.org/#canvastext 29644. https://drafts.csswg.org/css-values/#px 29645. https://drafts.csswg.org/css-values/#px 29646. https://html.spec.whatwg.org/#transformations 29647. https://drafts.csswg.org/css-values/#px 29648. https://html.spec.whatwg.org/#dom-context-2d-filltext 29649. https://webidl.spec.whatwg.org/#this 29650. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-fill-style 29651. https://webidl.spec.whatwg.org/#this 29652. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-stroke-style 29653. https://html.spec.whatwg.org/#dom-context-2d-stroketext 29654. https://webidl.spec.whatwg.org/#this 29655. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-stroke-style 29656. https://html.spec.whatwg.org/#trace-a-path 29657. https://html.spec.whatwg.org/#canvastext 29658. https://webidl.spec.whatwg.org/#this 29659. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-fill-style 29660. https://html.spec.whatwg.org/#shadows 29661. https://html.spec.whatwg.org/#concept-canvas-global-alpha 29662. https://html.spec.whatwg.org/#clipping-region 29663. https://html.spec.whatwg.org/#current-compositing-and-blending-operator 29664. https://infra.spec.whatwg.org/#tracking-vector 29665. https://html.spec.whatwg.org/#text-preparation-algorithm 29666. https://html.spec.whatwg.org/#canvastext 29667. https://drafts.csswg.org/css2/#inline-box 29668. https://html.spec.whatwg.org/#textmetrics 29669. https://html.spec.whatwg.org/#refsCSS 29670. https://drafts.csswg.org/css2/#inline-box 29671. https://drafts.csswg.org/css-values/#px 29672. https://html.spec.whatwg.org/#dom-context-2d-textalign 29673. https://drafts.csswg.org/css-values/#px 29674. https://html.spec.whatwg.org/#dom-textmetrics-actualboundingboxright 29675. https://drafts.csswg.org/css2/#inline-box 29676. https://html.spec.whatwg.org/#dom-textmetrics-width 29677. https://html.spec.whatwg.org/#dom-context-2d-textalign 29678. https://drafts.csswg.org/css-values/#px 29679. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29680. https://drafts.csswg.org/css-inline/#ascent-metric 29681. https://drafts.csswg.org/css-fonts/#first-available-font 29682. https://drafts.csswg.org/css-values/#px 29683. https://html.spec.whatwg.org/#dom-textmetrics-actualboundingboxascent 29684. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29685. https://drafts.csswg.org/css-inline/#descent-metric 29686. https://drafts.csswg.org/css-fonts/#first-available-font 29687. https://drafts.csswg.org/css-values/#px 29688. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29689. https://drafts.csswg.org/css-values/#px 29690. https://html.spec.whatwg.org/#dom-textmetrics-actualboundingboxascent 29691. https://drafts.csswg.org/css-inline/#alphabetic-baseline 29692. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29693. https://html.spec.whatwg.org/#dom-context-2d-textbaseline-top 29694. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29695. https://drafts.csswg.org/css-values/#px 29696. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29697. https://drafts.csswg.org/css-inline/#em-over-baseline 29698. https://drafts.csswg.org/css2/#inline-box 29699. https://drafts.csswg.org/css-values/#px 29700. https://drafts.csswg.org/css-inline/#em-over-baseline 29701. https://drafts.csswg.org/css-inline/#em-over-baseline 29702. https://drafts.csswg.org/css-inline/#em-over-baseline 29703. https://drafts.csswg.org/css-inline/#em-under-baseline 29704. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29705. https://drafts.csswg.org/css-inline/#em-under-baseline 29706. https://drafts.csswg.org/css2/#inline-box 29707. https://drafts.csswg.org/css-values/#px 29708. https://drafts.csswg.org/css-inline/#em-under-baseline 29709. https://drafts.csswg.org/css-inline/#em-under-baseline 29710. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29711. https://drafts.csswg.org/css-inline/#hanging-baseline 29712. https://drafts.csswg.org/css2/#inline-box 29713. https://drafts.csswg.org/css-values/#px 29714. https://drafts.csswg.org/css-inline/#hanging-baseline 29715. https://drafts.csswg.org/css-inline/#hanging-baseline 29716. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29717. https://drafts.csswg.org/css-inline/#alphabetic-baseline 29718. https://drafts.csswg.org/css2/#inline-box 29719. https://drafts.csswg.org/css-values/#px 29720. https://drafts.csswg.org/css-inline/#alphabetic-baseline 29721. https://drafts.csswg.org/css-inline/#alphabetic-baseline 29722. https://html.spec.whatwg.org/#dom-context-2d-textbaseline 29723. https://drafts.csswg.org/css-inline/#ideographic-under-baseline 29724. https://drafts.csswg.org/css2/#inline-box 29725. https://drafts.csswg.org/css-values/#px 29726. https://drafts.csswg.org/css-inline/#ideographic-under-baseline 29727. https://drafts.csswg.org/css-inline/#ideographic-under-baseline 29728. https://html.spec.whatwg.org/#dom-context-2d-filltext 29729. https://html.spec.whatwg.org/#dom-context-2d-stroketext 29730. https://html.spec.whatwg.org/#dom-context-2d-measuretext 29731. https://html.spec.whatwg.org/#canvasdrawpath 29732. https://html.spec.whatwg.org/#current-default-path 29733. https://html.spec.whatwg.org/#drawing-state 29734. https://html.spec.whatwg.org/#current-default-path 29735. https://html.spec.whatwg.org/#concept-path 29736. https://html.spec.whatwg.org/#dom-context-2d-beginpath 29737. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/beginPath 29738. https://html.spec.whatwg.org/#current-default-path 29739. https://html.spec.whatwg.org/#dom-context-2d-fill 29740. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/fill 29741. https://html.spec.whatwg.org/#dom-context-2d-fill 29742. https://html.spec.whatwg.org/#current-default-path 29743. https://html.spec.whatwg.org/#dom-context-2d-stroke 29744. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/stroke 29745. https://html.spec.whatwg.org/#dom-context-2d-stroke 29746. https://html.spec.whatwg.org/#current-default-path 29747. https://html.spec.whatwg.org/#dom-context-2d-clip 29748. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/clip 29749. https://html.spec.whatwg.org/#dom-context-2d-clip 29750. https://html.spec.whatwg.org/#current-default-path 29751. https://html.spec.whatwg.org/#dom-context-2d-ispointinpath 29752. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/isPointInPath 29753. https://html.spec.whatwg.org/#dom-context-2d-ispointinpath 29754. https://html.spec.whatwg.org/#current-default-path 29755. https://html.spec.whatwg.org/#dom-context-2d-ispointinstroke 29756. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/isPointInStroke 29757. https://html.spec.whatwg.org/#dom-context-2d-ispointinstroke 29758. https://html.spec.whatwg.org/#current-default-path 29759. https://webidl.spec.whatwg.org/#this 29760. https://html.spec.whatwg.org/#current-default-path 29761. https://html.spec.whatwg.org/#path2d 29762. https://html.spec.whatwg.org/#path2d 29763. https://html.spec.whatwg.org/#current-default-path 29764. https://html.spec.whatwg.org/#intended-path 29765. https://html.spec.whatwg.org/#path2d 29766. https://html.spec.whatwg.org/#transformations 29767. https://html.spec.whatwg.org/#canvastransform 29768. https://html.spec.whatwg.org/#path2d 29769. https://html.spec.whatwg.org/#current-default-path 29770. https://html.spec.whatwg.org/#current-default-path 29771. https://html.spec.whatwg.org/#fill-steps 29772. https://webidl.spec.whatwg.org/#this 29773. https://html.spec.whatwg.org/#fill-steps 29774. https://webidl.spec.whatwg.org/#this 29775. https://html.spec.whatwg.org/#canvasdrawpath 29776. https://html.spec.whatwg.org/#path2d 29777. https://html.spec.whatwg.org/#fill-rule 29778. https://html.spec.whatwg.org/#intended-path 29779. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-fill-style 29780. https://html.spec.whatwg.org/#fill-rule 29781. https://html.spec.whatwg.org/#stroke-steps 29782. https://webidl.spec.whatwg.org/#this 29783. https://html.spec.whatwg.org/#stroke-steps 29784. https://webidl.spec.whatwg.org/#this 29785. https://html.spec.whatwg.org/#canvasdrawpath 29786. https://html.spec.whatwg.org/#path2d 29787. https://html.spec.whatwg.org/#trace-a-path 29788. https://html.spec.whatwg.org/#intended-path 29789. https://html.spec.whatwg.org/#canvaspathdrawingstyles 29790. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-stroke-style 29791. https://html.spec.whatwg.org/#dom-context-2d-fillrule-nonzero 29792. https://html.spec.whatwg.org/#trace-a-path 29793. https://html.spec.whatwg.org/#current-default-path 29794. https://html.spec.whatwg.org/#current-default-path 29795. https://html.spec.whatwg.org/#path2d 29796. https://html.spec.whatwg.org/#shadows 29797. https://html.spec.whatwg.org/#concept-canvas-global-alpha 29798. https://html.spec.whatwg.org/#clipping-region 29799. https://html.spec.whatwg.org/#current-compositing-and-blending-operator 29800. https://html.spec.whatwg.org/#clip-steps 29801. https://webidl.spec.whatwg.org/#this 29802. https://html.spec.whatwg.org/#clip-steps 29803. https://webidl.spec.whatwg.org/#this 29804. https://html.spec.whatwg.org/#canvasdrawpath 29805. https://html.spec.whatwg.org/#path2d 29806. https://html.spec.whatwg.org/#fill-rule 29807. https://html.spec.whatwg.org/#intended-path 29808. https://html.spec.whatwg.org/#fill-rule 29809. https://html.spec.whatwg.org/#is-point-in-path-steps 29810. https://webidl.spec.whatwg.org/#this 29811. https://html.spec.whatwg.org/#is-point-in-path-steps 29812. https://webidl.spec.whatwg.org/#this 29813. https://html.spec.whatwg.org/#canvasdrawpath 29814. https://html.spec.whatwg.org/#path2d 29815. https://html.spec.whatwg.org/#fill-rule 29816. https://html.spec.whatwg.org/#intended-path 29817. https://html.spec.whatwg.org/#fill-rule 29818. https://html.spec.whatwg.org/#is-point-in-stroke-steps 29819. https://webidl.spec.whatwg.org/#this 29820. https://html.spec.whatwg.org/#is-point-in-stroke-steps 29821. https://webidl.spec.whatwg.org/#this 29822. https://html.spec.whatwg.org/#canvasdrawpath 29823. https://html.spec.whatwg.org/#path2d 29824. https://html.spec.whatwg.org/#trace-a-path 29825. https://html.spec.whatwg.org/#intended-path 29826. https://html.spec.whatwg.org/#dom-context-2d-fillrule-nonzero 29827. https://html.spec.whatwg.org/#canvaspathdrawingstyles 29828. https://html.spec.whatwg.org/#the-canvas-element 29829. https://html.spec.whatwg.org/#dom-context-2d-drawfocusifneeded 29830. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawFocusIfNeeded 29831. https://html.spec.whatwg.org/#focused 29832. https://html.spec.whatwg.org/#current-default-path 29833. https://html.spec.whatwg.org/#dom-context-2d-drawfocusifneeded-path-element 29834. https://html.spec.whatwg.org/#focused 29835. https://html.spec.whatwg.org/#canvasuserinterface 29836. https://html.spec.whatwg.org/#draw-focus-if-needed 29837. https://webidl.spec.whatwg.org/#this 29838. https://webidl.spec.whatwg.org/#this 29839. https://html.spec.whatwg.org/#current-default-path 29840. https://html.spec.whatwg.org/#draw-focus-if-needed 29841. https://webidl.spec.whatwg.org/#this 29842. https://html.spec.whatwg.org/#canvasuserinterface 29843. https://html.spec.whatwg.org/#concept-path 29844. https://html.spec.whatwg.org/#focused 29845. https://html.spec.whatwg.org/#the-canvas-element 29846. https://html.spec.whatwg.org/#dom-focus 29847. https://html.spec.whatwg.org/#shadows 29848. https://html.spec.whatwg.org/#concept-canvas-global-alpha 29849. https://html.spec.whatwg.org/#current-compositing-and-blending-operator 29850. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-fill-style 29851. https://html.spec.whatwg.org/#concept-canvasfillstrokestyles-stroke-style 29852. https://html.spec.whatwg.org/#canvaspathdrawingstyles 29853. https://html.spec.whatwg.org/#canvastextdrawingstyles 29854. https://html.spec.whatwg.org/#clipping-region 29855. https://html.spec.whatwg.org/#inform 29856. https://html.spec.whatwg.org/#event-loop 29857. https://html.spec.whatwg.org/#update-the-rendering 29858. https://html.spec.whatwg.org/#canvasdrawimage 29859. https://html.spec.whatwg.org/#dom-context-2d-drawimage 29860. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage 29861. https://html.spec.whatwg.org/#dom-context-2d-drawimage 29862. https://html.spec.whatwg.org/#dom-context-2d-drawimage 29863. https://webidl.spec.whatwg.org/#invalidstateerror 29864. https://webidl.spec.whatwg.org/#dfn-DOMException 29865. https://html.spec.whatwg.org/#dom-context-2d-drawimage 29866. https://html.spec.whatwg.org/#check-the-usability-of-the-image-argument 29867. https://drafts.csswg.org/css-values/#px 29868. https://html.spec.whatwg.org/#output-bitmap 29869. https://drafts.csswg.org/css-images/#natural-width 29870. https://drafts.csswg.org/css-images/#natural-height 29871. https://drafts.csswg.org/css-images/#natural-dimensions 29872. https://drafts.csswg.org/css-images/#default-sizing 29873. https://drafts.csswg.org/css-images/#default-object-size 29874. https://html.spec.whatwg.org/#output-bitmap 29875. https://html.spec.whatwg.org/#refsCSSIMAGES 29876. https://html.spec.whatwg.org/#output-bitmap 29877. https://html.spec.whatwg.org/#output-bitmap 29878. https://html.spec.whatwg.org/#output-bitmap 29879. https://html.spec.whatwg.org/#output-bitmap 29880. https://html.spec.whatwg.org/#transformations 29881. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingenabled 29882. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingquality 29883. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingenabled 29884. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingenabled 29885. https://html.spec.whatwg.org/#the-canvas-element 29886. https://html.spec.whatwg.org/#drawing-model 29887. https://html.spec.whatwg.org/#the-canvas-element 29888. https://drafts.csswg.org/css-color/#transparent-black 29889. https://html.spec.whatwg.org/#the-canvas-element 29890. https://html.spec.whatwg.org/#shadows 29891. https://html.spec.whatwg.org/#concept-canvas-global-alpha 29892. https://html.spec.whatwg.org/#clipping-region 29893. https://html.spec.whatwg.org/#current-compositing-and-blending-operator 29894. https://html.spec.whatwg.org/#the-image-argument-is-not-origin-clean 29895. https://html.spec.whatwg.org/#canvasrenderingcontext2d 29896. https://html.spec.whatwg.org/#concept-canvas-origin-clean 29897. https://html.spec.whatwg.org/#dom-imagedata 29898. https://developer.mozilla.org/en-US/docs/Web/API/ImageData/ImageData 29899. https://html.spec.whatwg.org/#imagedata 29900. https://drafts.csswg.org/css-color/#transparent-black 29901. https://webidl.spec.whatwg.org/#indexsizeerror 29902. https://webidl.spec.whatwg.org/#dfn-DOMException 29903. https://html.spec.whatwg.org/#dom-imagedata-with-data 29904. https://html.spec.whatwg.org/#imagedata 29905. https://html.spec.whatwg.org/#imagedataarray 29906. https://webidl.spec.whatwg.org/#indexsizeerror 29907. https://webidl.spec.whatwg.org/#dfn-DOMException 29908. https://html.spec.whatwg.org/#dom-context-2d-createimagedata-imagedata 29909. https://html.spec.whatwg.org/#imagedata 29910. https://drafts.csswg.org/css-color/#transparent-black 29911. https://html.spec.whatwg.org/#dom-context-2d-createimagedata 29912. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/createImageData 29913. https://html.spec.whatwg.org/#imagedata 29914. https://html.spec.whatwg.org/#concept-canvas-color-space 29915. https://drafts.csswg.org/css-color/#transparent-black 29916. https://webidl.spec.whatwg.org/#indexsizeerror 29917. https://webidl.spec.whatwg.org/#dfn-DOMException 29918. https://html.spec.whatwg.org/#dom-context-2d-getimagedata 29919. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getImageData 29920. https://html.spec.whatwg.org/#imagedata 29921. https://html.spec.whatwg.org/#concept-canvas-color-space 29922. https://webidl.spec.whatwg.org/#indexsizeerror 29923. https://webidl.spec.whatwg.org/#dfn-DOMException 29924. https://html.spec.whatwg.org/#dom-imagedata-width 29925. https://developer.mozilla.org/en-US/docs/Web/API/ImageData/width 29926. https://html.spec.whatwg.org/#dom-imagedata-height 29927. https://developer.mozilla.org/en-US/docs/Web/API/ImageData/height 29928. https://html.spec.whatwg.org/#imagedata 29929. https://html.spec.whatwg.org/#dom-imagedata-data 29930. https://developer.mozilla.org/en-US/docs/Web/API/ImageData/data 29931. https://html.spec.whatwg.org/#dom-imagedata-colorspace 29932. https://html.spec.whatwg.org/#dom-context-2d-putimagedata 29933. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/putImageData 29934. https://html.spec.whatwg.org/#imagedata 29935. https://html.spec.whatwg.org/#dom-context-2d-globalalpha 29936. https://html.spec.whatwg.org/#dom-context-2d-globalcompositeoperation 29937. https://html.spec.whatwg.org/#shadows 29938. https://webidl.spec.whatwg.org/#invalidstateerror 29939. https://webidl.spec.whatwg.org/#dfn-DOMException 29940. https://html.spec.whatwg.org/#dom-imagedata-data 29941. https://html.spec.whatwg.org/#canvasimagedata 29942. https://webidl.spec.whatwg.org/#indexsizeerror 29943. https://webidl.spec.whatwg.org/#dfn-DOMException 29944. https://html.spec.whatwg.org/#initialize-an-imagedata-object 29945. https://webidl.spec.whatwg.org/#this 29946. https://webidl.spec.whatwg.org/#this 29947. https://drafts.csswg.org/css-color/#transparent-black 29948. https://html.spec.whatwg.org/#dom-imagedatasettings-pixelformat 29949. https://html.spec.whatwg.org/#dom-imagedatapixelformat-rgba-unorm8 29950. https://webidl.spec.whatwg.org/#buffersource-byte-length 29951. https://webidl.spec.whatwg.org/#invalidstateerror 29952. https://webidl.spec.whatwg.org/#dfn-DOMException 29953. https://webidl.spec.whatwg.org/#indexsizeerror 29954. https://webidl.spec.whatwg.org/#dfn-DOMException 29955. https://webidl.spec.whatwg.org/#indexsizeerror 29956. https://webidl.spec.whatwg.org/#dfn-DOMException 29957. https://html.spec.whatwg.org/#initialize-an-imagedata-object 29958. https://webidl.spec.whatwg.org/#this 29959. https://html.spec.whatwg.org/#initialize-imagedata-source 29960. https://webidl.spec.whatwg.org/#this 29961. https://html.spec.whatwg.org/#imagedataarray 29962. https://webidl.spec.whatwg.org/#indexsizeerror 29963. https://webidl.spec.whatwg.org/#dfn-DOMException 29964. https://webidl.spec.whatwg.org/#new 29965. https://html.spec.whatwg.org/#imagedata 29966. https://html.spec.whatwg.org/#initialize-an-imagedata-object 29967. https://html.spec.whatwg.org/#initialize-imagedata-defaultcolorspace 29968. https://webidl.spec.whatwg.org/#this 29969. https://html.spec.whatwg.org/#concept-canvas-color-space 29970. https://drafts.csswg.org/css-color/#transparent-black 29971. https://webidl.spec.whatwg.org/#new 29972. https://html.spec.whatwg.org/#imagedata 29973. https://html.spec.whatwg.org/#imagedatasettings 29974. https://html.spec.whatwg.org/#dom-imagedatasettings-colorspace 29975. https://webidl.spec.whatwg.org/#this 29976. https://html.spec.whatwg.org/#dom-imagedata-colorspace 29977. https://html.spec.whatwg.org/#dom-imagedatasettings-pixelformat 29978. https://webidl.spec.whatwg.org/#this 29979. https://html.spec.whatwg.org/#dom-imagedata-pixelformat 29980. https://html.spec.whatwg.org/#initialize-an-imagedata-object 29981. https://html.spec.whatwg.org/#dom-imagedata-width 29982. https://html.spec.whatwg.org/#dom-imagedata-height 29983. https://drafts.csswg.org/css-color/#transparent-black 29984. https://webidl.spec.whatwg.org/#indexsizeerror 29985. https://webidl.spec.whatwg.org/#dfn-DOMException 29986. https://html.spec.whatwg.org/#canvasrenderingcontext2d 29987. https://html.spec.whatwg.org/#concept-canvas-origin-clean 29988. https://webidl.spec.whatwg.org/#securityerror 29989. https://webidl.spec.whatwg.org/#dfn-DOMException 29990. https://webidl.spec.whatwg.org/#new 29991. https://html.spec.whatwg.org/#imagedata 29992. https://html.spec.whatwg.org/#initialize-an-imagedata-object 29993. https://html.spec.whatwg.org/#initialize-imagedata-defaultcolorspace 29994. https://webidl.spec.whatwg.org/#this 29995. https://html.spec.whatwg.org/#concept-canvas-color-space 29996. https://webidl.spec.whatwg.org/#this 29997. https://html.spec.whatwg.org/#output-bitmap 29998. https://webidl.spec.whatwg.org/#this 29999. https://html.spec.whatwg.org/#concept-canvas-color-space 30000. https://html.spec.whatwg.org/#dom-imagedata-colorspace 30001. https://drafts.csswg.org/css-color-5/#valdef-color-profile-rendering-intent-relative-colorimetric 30002. https://html.spec.whatwg.org/#output-bitmap 30003. https://drafts.csswg.org/css-color/#transparent-black 30004. https://html.spec.whatwg.org/#imagedatasettings 30005. https://html.spec.whatwg.org/#imagedataarray 30006. https://html.spec.whatwg.org/#predefinedcolorspace 30007. https://developer.mozilla.org/en-US/docs/Web/API/ImageData/colorSpace 30008. https://html.spec.whatwg.org/#dom-imagedatasettings-pixelformat 30009. https://html.spec.whatwg.org/#dom-imagedatapixelformat-rgba-unorm8 30010. https://webidl.spec.whatwg.org/#idl-Uint8ClampedArray 30011. https://webidl.spec.whatwg.org/#invalidstateerror 30012. https://webidl.spec.whatwg.org/#dfn-DOMException 30013. https://html.spec.whatwg.org/#dom-imagedatasettings-pixelformat 30014. https://html.spec.whatwg.org/#dom-imagedatapixelformat-rgba-float16 30015. https://webidl.spec.whatwg.org/#idl-Float16Array 30016. https://webidl.spec.whatwg.org/#invalidstateerror 30017. https://webidl.spec.whatwg.org/#dfn-DOMException 30018. https://html.spec.whatwg.org/#dom-imagedatasettings-pixelformat 30019. https://html.spec.whatwg.org/#dom-imagedatapixelformat-rgba-unorm8 30020. https://html.spec.whatwg.org/#dom-imagedata-data 30021. https://webidl.spec.whatwg.org/#idl-Uint8ClampedArray 30022. https://webidl.spec.whatwg.org/#idl-Uint8ClampedArray 30023. https://webidl.spec.whatwg.org/#idl-ArrayBuffer 30024. https://webidl.spec.whatwg.org/#idl-ArrayBuffer 30025. https://html.spec.whatwg.org/#dom-imagedatasettings-pixelformat 30026. https://html.spec.whatwg.org/#dom-imagedatapixelformat-rgba-unorm8 30027. https://html.spec.whatwg.org/#dom-imagedata-data 30028. https://webidl.spec.whatwg.org/#idl-Float16Array 30029. https://webidl.spec.whatwg.org/#idl-Float16Array 30030. https://webidl.spec.whatwg.org/#idl-ArrayBuffer 30031. https://webidl.spec.whatwg.org/#idl-ArrayBuffer 30032. https://webidl.spec.whatwg.org/#idl-ArrayBuffer 30033. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-rangeerror 30034. https://html.spec.whatwg.org/#dom-imagedatasettings-colorspace 30035. https://infra.spec.whatwg.org/#map-exists 30036. https://html.spec.whatwg.org/#dom-imagedata-colorspace 30037. https://html.spec.whatwg.org/#dom-imagedata-colorspace 30038. https://html.spec.whatwg.org/#dom-predefinedcolorspace-srgb 30039. https://html.spec.whatwg.org/#imagedata 30040. https://html.spec.whatwg.org/#serializable-objects 30041. https://html.spec.whatwg.org/#serialization-steps 30042. https://html.spec.whatwg.org/#sub-serialization 30043. https://html.spec.whatwg.org/#dom-imagedata-data 30044. https://html.spec.whatwg.org/#dom-imagedata-width 30045. https://html.spec.whatwg.org/#dom-imagedata-height 30046. https://html.spec.whatwg.org/#dom-imagedata-colorspace 30047. https://html.spec.whatwg.org/#dom-imagedata-pixelformat 30048. https://html.spec.whatwg.org/#deserialization-steps 30049. https://html.spec.whatwg.org/#dom-imagedata-data 30050. https://html.spec.whatwg.org/#sub-deserialization 30051. https://html.spec.whatwg.org/#dom-imagedata-width 30052. https://html.spec.whatwg.org/#dom-imagedata-height 30053. https://html.spec.whatwg.org/#dom-imagedata-colorspace 30054. https://html.spec.whatwg.org/#dom-imagedata-pixelformat 30055. https://html.spec.whatwg.org/#imagedatapixelformat 30056. https://html.spec.whatwg.org/#dom-imagedata-data 30057. https://html.spec.whatwg.org/#imagedata 30058. https://html.spec.whatwg.org/#dom-imagedata-data 30059. https://html.spec.whatwg.org/#imagedata 30060. https://webidl.spec.whatwg.org/#idl-Uint8ClampedArray 30061. https://html.spec.whatwg.org/#dom-imagedata-data 30062. https://html.spec.whatwg.org/#imagedata 30063. https://webidl.spec.whatwg.org/#idl-Float16Array 30064. https://html.spec.whatwg.org/#imagedata 30065. https://html.spec.whatwg.org/#dom-imagedata-width 30066. https://html.spec.whatwg.org/#dom-imagedata-height 30067. https://html.spec.whatwg.org/#dom-imagedata-data 30068. https://html.spec.whatwg.org/#dom-imagedata-pixelformat 30069. https://html.spec.whatwg.org/#dom-imagedata-colorspace 30070. https://html.spec.whatwg.org/#dom-context2d-putimagedata-common 30071. https://webidl.spec.whatwg.org/#this 30072. https://html.spec.whatwg.org/#output-bitmap 30073. https://html.spec.whatwg.org/#dom-imagedata-width 30074. https://html.spec.whatwg.org/#dom-imagedata-height 30075. https://html.spec.whatwg.org/#dom-context2d-putimagedata-common 30076. https://webidl.spec.whatwg.org/#this 30077. https://html.spec.whatwg.org/#output-bitmap 30078. https://html.spec.whatwg.org/#imagedata 30079. https://html.spec.whatwg.org/#output-bitmap 30080. https://html.spec.whatwg.org/#dom-imagedata-data 30081. https://tc39.es/ecma262/#sec-isdetachedbuffer 30082. https://webidl.spec.whatwg.org/#invalidstateerror 30083. https://webidl.spec.whatwg.org/#dfn-DOMException 30084. https://html.spec.whatwg.org/#dom-imagedata-width 30085. https://html.spec.whatwg.org/#dom-imagedata-width 30086. https://html.spec.whatwg.org/#dom-imagedata-height 30087. https://html.spec.whatwg.org/#dom-imagedata-height 30088. https://html.spec.whatwg.org/#concept-imagedata-bitmap-representation 30089. https://html.spec.whatwg.org/#dom-imagedata-colorspace 30090. https://html.spec.whatwg.org/#concept-canvas-color-space 30091. https://drafts.csswg.org/css-color-5/#valdef-color-profile-rendering-intent-relative-colorimetric 30092. https://html.spec.whatwg.org/#concept-premultiplied-alpha 30093. https://html.spec.whatwg.org/#dom-context-2d-putimagedata 30094. https://html.spec.whatwg.org/#dom-context-2d-getimagedata 30095. https://html.spec.whatwg.org/#transformations 30096. https://html.spec.whatwg.org/#shadows 30097. https://html.spec.whatwg.org/#concept-canvas-global-alpha 30098. https://html.spec.whatwg.org/#clipping-region 30099. https://html.spec.whatwg.org/#current-compositing-and-blending-operator 30100. https://html.spec.whatwg.org/#imagedata 30101. https://html.spec.whatwg.org/#dom-context-2d-getimagedata 30102. https://html.spec.whatwg.org/#dom-context-2d-putimagedata 30103. https://html.spec.whatwg.org/#dom-context-2d-getimagedata 30104. https://html.spec.whatwg.org/#dom-context-2d-globalalpha 30105. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalAlpha 30106. https://html.spec.whatwg.org/#concept-canvas-global-alpha 30107. https://html.spec.whatwg.org/#concept-canvas-global-alpha 30108. https://html.spec.whatwg.org/#dom-context-2d-globalcompositeoperation 30109. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation 30110. https://html.spec.whatwg.org/#current-compositing-and-blending-operator 30111. https://html.spec.whatwg.org/#refsCOMPOSITE 30112. https://html.spec.whatwg.org/#current-compositing-and-blending-operator 30113. https://html.spec.whatwg.org/#canvascompositing 30114. https://html.spec.whatwg.org/#concept-canvas-global-alpha 30115. https://html.spec.whatwg.org/#current-compositing-and-blending-operator 30116. https://html.spec.whatwg.org/#output-bitmap 30117. https://webidl.spec.whatwg.org/#this 30118. https://html.spec.whatwg.org/#concept-canvas-global-alpha 30119. https://html.spec.whatwg.org/#dom-context-2d-globalalpha 30120. https://webidl.spec.whatwg.org/#this 30121. https://html.spec.whatwg.org/#concept-canvas-global-alpha 30122. https://html.spec.whatwg.org/#output-bitmap 30123. https://html.spec.whatwg.org/#concept-canvas-global-alpha 30124. https://html.spec.whatwg.org/#current-transformation-matrix 30125. https://drafts.fxtf.org/compositing/#porterduffcompositingoperators_srcover 30126. https://webidl.spec.whatwg.org/#this 30127. https://html.spec.whatwg.org/#current-compositing-and-blending-operator 30128. https://html.spec.whatwg.org/#dom-context-2d-globalcompositeoperation 30129. https://infra.spec.whatwg.org/#string-is 30130. https://drafts.fxtf.org/compositing/#ltblendmodegt 30131. https://drafts.fxtf.org/compositing/#compositemode 30132. https://html.spec.whatwg.org/#refsCOMPOSITE 30133. https://webidl.spec.whatwg.org/#this 30134. https://html.spec.whatwg.org/#current-compositing-and-blending-operator 30135. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingenabled 30136. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled 30137. https://html.spec.whatwg.org/#dom-context-2d-drawimage 30138. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingquality 30139. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality 30140. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingquality-low 30141. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingquality-medium 30142. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingquality-high 30143. https://html.spec.whatwg.org/#canvasimagesmoothing 30144. https://html.spec.whatwg.org/#canvasimagesmoothing 30145. https://html.spec.whatwg.org/#canvasimagesmoothing 30146. https://html.spec.whatwg.org/#dom-context-2d-imagesmoothingquality-low 30147. https://html.spec.whatwg.org/#canvasshadowstyles 30148. https://html.spec.whatwg.org/#dom-context-2d-shadowcolor 30149. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/shadowColor 30150. https://html.spec.whatwg.org/#dom-context-2d-shadowoffsetx 30151. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/shadowOffsetX 30152. https://html.spec.whatwg.org/#dom-context-2d-shadowoffsety 30153. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/shadowOffsetY 30154. https://html.spec.whatwg.org/#dom-context-2d-shadowblur 30155. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/shadowBlur 30156. https://html.spec.whatwg.org/#canvasshadowstyles 30157. https://drafts.csswg.org/css-color/#transparent-black 30158. https://drafts.csswg.org/css-color/#serializing-color-values 30159. https://webidl.spec.whatwg.org/#this 30160. https://html.spec.whatwg.org/#concept-canvasshadowstyles-shadow-color 30161. https://drafts.csswg.org/css-color/#color-serialization-html-compatible-serialization-is-requested 30162. https://html.spec.whatwg.org/#dom-context-2d-shadowcolor 30163. https://webidl.spec.whatwg.org/#this 30164. https://html.spec.whatwg.org/#dom-context-2d-canvas 30165. https://drafts.csswg.org/css-color/#parse-a-css-color-value 30166. https://webidl.spec.whatwg.org/#this 30167. https://html.spec.whatwg.org/#concept-canvasshadowstyles-shadow-color 30168. https://html.spec.whatwg.org/#dom-context-2d-shadowblur 30169. https://html.spec.whatwg.org/#concept-canvasshadowstyles-shadow-color 30170. https://html.spec.whatwg.org/#dom-context-2d-shadowblur 30171. https://html.spec.whatwg.org/#dom-context-2d-shadowoffsetx 30172. https://html.spec.whatwg.org/#dom-context-2d-shadowoffsety 30173. https://html.spec.whatwg.org/#when-shadows-are-drawn 30174. https://drafts.csswg.org/css-color/#transparent-black 30175. https://drafts.csswg.org/css-color/#transparent-black 30176. https://html.spec.whatwg.org/#dom-context-2d-shadowoffsetx 30177. https://html.spec.whatwg.org/#dom-context-2d-shadowoffsety 30178. https://html.spec.whatwg.org/#dom-context-2d-shadowblur 30179. https://html.spec.whatwg.org/#dom-context-2d-shadowblur 30180. https://html.spec.whatwg.org/#concept-canvasshadowstyles-shadow-color 30181. https://html.spec.whatwg.org/#concept-canvasshadowstyles-shadow-color 30182. https://html.spec.whatwg.org/#drawing-model 30183. https://html.spec.whatwg.org/#current-compositing-and-blending-operator 30184. https://drafts.fxtf.org/compositing/#porterduffcompositingoperators_src 30185. https://html.spec.whatwg.org/#canvasfilters 30186. https://html.spec.whatwg.org/#dom-context-2d-filter 30187. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/filter 30188. https://drafts.fxtf.org/filter-effects/#typedef-filter-value-list 30189. https://html.spec.whatwg.org/#concept-canvas-current-filter 30190. https://html.spec.whatwg.org/#concept-canvas-current-filter 30191. https://html.spec.whatwg.org/#dom-context-2d-filter 30192. https://webidl.spec.whatwg.org/#this 30193. https://html.spec.whatwg.org/#concept-canvas-current-filter 30194. https://html.spec.whatwg.org/#dom-context-2d-filter 30195. https://webidl.spec.whatwg.org/#this 30196. https://html.spec.whatwg.org/#concept-canvas-current-filter 30197. https://drafts.csswg.org/css-syntax/#parse-grammar 30198. https://drafts.fxtf.org/filter-effects/#typedef-filter-value-list 30199. https://webidl.spec.whatwg.org/#this 30200. https://html.spec.whatwg.org/#concept-canvas-current-filter 30201. https://html.spec.whatwg.org/#dom-context-2d-filter 30202. https://html.spec.whatwg.org/#dom-context-2d-filter 30203. https://html.spec.whatwg.org/#dom-context-2d-filter 30204. https://html.spec.whatwg.org/#dom-context-2d-filter 30205. https://html.spec.whatwg.org/#concept-canvas-current-filter 30206. https://html.spec.whatwg.org/#concept-canvas-current-filter 30207. https://html.spec.whatwg.org/#transformations 30208. https://html.spec.whatwg.org/#output-bitmap 30209. https://html.spec.whatwg.org/#concept-canvas-current-filter 30210. https://drafts.fxtf.org/filter-effects/#typedef-filter-value-list 30211. https://drafts.csswg.org/css-values/#em 30212. https://drafts.csswg.org/css-values/#ex 30213. https://drafts.csswg.org/css-cascade/#computed-value 30214. https://drafts.csswg.org/css-fonts/#font-size-prop 30215. https://html.spec.whatwg.org/#font-style-source-object 30216. https://drafts.csswg.org/css-cascade/#computed-value 30217. https://html.spec.whatwg.org/#font-style-source-object 30218. https://html.spec.whatwg.org/#being-rendered 30219. https://html.spec.whatwg.org/#dom-context-2d-font 30220. https://html.spec.whatwg.org/#concept-canvas-current-filter 30221. https://drafts.fxtf.org/filter-effects/#typedef-filter-value-list 30222. https://html.spec.whatwg.org/#concept-canvas-current-filter 30223. https://drafts.fxtf.org/filter-effects/#typedef-filter-value-list 30224. https://svgwg.org/svg2-draft/struct.html#UseElement 30225. https://drafts.csswg.org/css-color/#transparent-black 30226. https://html.spec.whatwg.org/#concept-canvas-global-alpha 30227. https://html.spec.whatwg.org/#concept-canvas-current-filter 30228. https://html.spec.whatwg.org/#concept-canvas-current-filter 30229. https://html.spec.whatwg.org/#concept-canvas-current-filter 30230. https://drafts.fxtf.org/filter-effects/#typedef-filter-value-list 30231. https://html.spec.whatwg.org/#concept-canvas-current-filter 30232. https://html.spec.whatwg.org/#when-shadows-are-drawn 30233. https://html.spec.whatwg.org/#when-shadows-are-drawn 30234. https://html.spec.whatwg.org/#clipping-region 30235. https://html.spec.whatwg.org/#output-bitmap 30236. https://html.spec.whatwg.org/#current-compositing-and-blending-operator 30237. https://html.spec.whatwg.org/#clipping-region 30238. https://html.spec.whatwg.org/#output-bitmap 30239. https://html.spec.whatwg.org/#current-compositing-and-blending-operator 30240. https://html.spec.whatwg.org/#output-bitmap 30241. https://html.spec.whatwg.org/#output-bitmap 30242. https://html.spec.whatwg.org/#focusable 30243. https://html.spec.whatwg.org/#focusable 30244. https://html.spec.whatwg.org/#drawCustomFocusRingExample 30245. https://html.spec.whatwg.org/#dom-context-2d-drawfocusifneeded 30246. https://html.spec.whatwg.org/#focused 30247. https://html.spec.whatwg.org/#the-canvas-element 30248. https://html.spec.whatwg.org/#the-input-element 30249. https://html.spec.whatwg.org/#the-textarea-element 30250. https://html.spec.whatwg.org/#attr-contenteditable 30251. data:text/html;charset=utf-8;base64,PCFET0NUWVBFIEhUTUw+DQo8aHRtbCBsYW5nPSJlbiI+DQogPGhlYWQ+DQogIDx0aXRsZT5QcmV0dHkgR2xvd2luZyBMaW5lczwvdGl0bGU+DQogPC9oZWFkPg0KIDxib2R5Pg0KPGNhbnZhcyB3aWR0aD0iODAwIiBoZWlnaHQ9IjQ1MCI+PC9jYW52YXM+DQo8c2NyaXB0Pg0KDQogdmFyIGNvbnRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnY2FudmFzJylbMF0uZ2V0Q29udGV4dCgnMmQnKTsNCg0KIHZhciBsYXN0WCA9IGNvbnRleHQuY2FudmFzLndpZHRoICogTWF0aC5yYW5kb20oKTsNCiB2YXIgbGFzdFkgPSBjb250ZXh0LmNhbnZhcy5oZWlnaHQgKiBNYXRoLnJhbmRvbSgpOw0KIHZhciBodWUgPSAwOw0KIGZ1bmN0aW9uIGxpbmUoKSB7DQogICBjb250ZXh0LnNhdmUoKTsNCiAgIGNvbnRleHQudHJhbnNsYXRlKGNvbnRleHQuY2FudmFzLndpZHRoLzIsIGNvbnRleHQuY2FudmFzLmhlaWdodC8yKTsNCiAgIGNvbnRleHQuc2NhbGUoMC45LCAwLjkpOw0KICAgY29udGV4dC50cmFuc2xhdGUoLWNvbnRleHQuY2FudmFzLndpZHRoLzIsIC1jb250ZXh0LmNhbnZhcy5oZWlnaHQvMik7DQogICBjb250ZXh0LmJlZ2luUGF0aCgpOw0KICAgY29udGV4dC5saW5lV2lkdGggPSA1ICsgTWF0aC5yYW5kb20oKSAqIDEwOw0KICAgY29udGV4dC5tb3ZlVG8obGFzdFgsIGxhc3RZKTsNCiAgIGxhc3RYID0gY29udGV4dC5jYW52YXMud2lkdGggKiBNYXRoLnJhbmRvbSgpOw0KICAgbGFzdFkgPSBjb250ZXh0LmNhbnZhcy5oZWlnaHQgKiBNYXRoLnJhbmRvbSgpOw0KICAgY29udGV4dC5iZXppZXJDdXJ2ZVRvKGNvbnRleHQuY2FudmFzLndpZHRoICogTWF0aC5yYW5kb20oKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmNhbnZhcy5oZWlnaHQgKiBNYXRoLnJhbmRvbSgpLA0KICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuY2FudmFzLndpZHRoICogTWF0aC5yYW5kb20oKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmNhbnZhcy5oZWlnaHQgKiBNYXRoLnJhbmRvbSgpLA0KICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RYLCBsYXN0WSk7DQoNCiAgIGh1ZSA9IGh1ZSArIDEwICogTWF0aC5yYW5kb20oKTsNCiAgIGNvbnRleHQuc3Ryb2tlU3R5bGUgPSAnaHNsKCcgKyBodWUgKyAnLCA1MCUsIDUwJSknOw0KICAgY29udGV4dC5zaGFkb3dDb2xvciA9ICd3aGl0ZSc7DQogICBjb250ZXh0LnNoYWRvd0JsdXIgPSAxMDsNCiAgIGNvbnRleHQuc3Ryb2tlKCk7DQogICBjb250ZXh0LnJlc3RvcmUoKTsNCiB9DQogc2V0SW50ZXJ2YWwobGluZSwgNTApOw0KDQogZnVuY3Rpb24gYmxhbmsoKSB7DQogICBjb250ZXh0LmZpbGxTdHlsZSA9ICdyZ2JhKDAsMCwwLDAuMSknOw0KICAgY29udGV4dC5maWxsUmVjdCgwLCAwLCBjb250ZXh0LmNhbnZhcy53aWR0aCwgY29udGV4dC5jYW52YXMuaGVpZ2h0KTsNCiB9DQogc2V0SW50ZXJ2YWwoYmxhbmssIDQwKTsNCg0KPC9zY3JpcHQ+DQogPC9ib2R5Pg0KPC9odG1sPg0K 30252. https://html.spec.whatwg.org/#the-canvas-element 30253. https://html.spec.whatwg.org/demos/canvas/blue-robot/index-idle.html 30254. https://html.spec.whatwg.org/#imagebitmap 30255. https://html.spec.whatwg.org/#imagebitmaprenderingcontext 30256. https://html.spec.whatwg.org/#imagebitmap 30257. https://html.spec.whatwg.org/#dom-context-2d-drawimage 30258. https://html.spec.whatwg.org/#canvasrenderingcontext2d 30259. https://html.spec.whatwg.org/#the-img-element 30260. https://html.spec.whatwg.org/#the-img-element 30261. https://html.spec.whatwg.org/#imagebitmaprenderingcontext 30262. https://html.spec.whatwg.org/#imagebitmaprenderingcontext 30263. https://html.spec.whatwg.org/#imagebitmaprenderingcontext 30264. https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmapRenderingContext 30265. https://html.spec.whatwg.org/#htmlcanvaselement 30266. https://html.spec.whatwg.org/#offscreencanvas 30267. https://html.spec.whatwg.org/#dom-imagebitmaprenderingcontext-canvas 30268. https://html.spec.whatwg.org/#dom-imagebitmaprenderingcontext-transferfromimagebitmap 30269. https://html.spec.whatwg.org/#imagebitmap 30270. https://html.spec.whatwg.org/#dom-imagebitmaprenderingcontextsettings-alpha 30271. https://html.spec.whatwg.org/#dom-canvas-getcontext 30272. https://html.spec.whatwg.org/#dom-imagebitmaprenderingcontextsettings-alpha 30273. https://html.spec.whatwg.org/#imagebitmaprenderingcontext 30274. https://html.spec.whatwg.org/#the-canvas-element 30275. https://html.spec.whatwg.org/#dom-imagebitmaprenderingcontextsettings-alpha 30276. https://html.spec.whatwg.org/#dom-imagebitmaprenderingcontext-canvas 30277. https://html.spec.whatwg.org/#the-canvas-element 30278. https://html.spec.whatwg.org/#dom-imagebitmaprenderingcontext-transferfromimagebitmap 30279. https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmapRenderingContext/transferFromImageBitmap 30280. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 30281. https://html.spec.whatwg.org/#the-canvas-element 30282. https://html.spec.whatwg.org/#dom-imagebitmaprenderingcontext-transferfromimagebitmap 30283. https://html.spec.whatwg.org/#the-canvas-element 30284. https://drafts.csswg.org/css-color/#transparent-black 30285. https://html.spec.whatwg.org/#attr-canvas-width 30286. https://html.spec.whatwg.org/#attr-canvas-height 30287. https://html.spec.whatwg.org/#the-canvas-element 30288. https://html.spec.whatwg.org/#imagebitmaprenderingcontext 30289. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 30290. https://html.spec.whatwg.org/#imagebitmaprenderingcontext 30291. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-valid 30292. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-output-bitmap 30293. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 30294. https://html.spec.whatwg.org/#dom-imagebitmaprenderingcontext-transferfromimagebitmap 30295. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-blank 30296. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-output-bitmap 30297. https://html.spec.whatwg.org/#imagebitmaprenderingcontext 30298. https://html.spec.whatwg.org/#imagebitmaprenderingcontext 30299. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-alpha 30300. https://html.spec.whatwg.org/#the-canvas-element 30301. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-output-bitmap 30302. https://drafts.csswg.org/css-color/#opaque-black 30303. https://drafts.fxtf.org/compositing/#porterduffcompositingoperators_srcover 30304. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-alpha 30305. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-output-bitmap 30306. https://html.spec.whatwg.org/#the-canvas-element 30307. https://html.spec.whatwg.org/#refsCOMPOSITE 30308. https://drafts.csswg.org/css-color/#opaque-black 30309. https://html.spec.whatwg.org/#imagebitmaprenderingcontext 30310. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 30311. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-bitmap-mode 30312. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-blank 30313. https://html.spec.whatwg.org/#the-canvas-element 30314. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-output-bitmap 30315. https://drafts.csswg.org/css-color/#transparent-black 30316. https://drafts.csswg.org/css-images/#natural-width 30317. https://html.spec.whatwg.org/#obtain-numeric-values 30318. https://html.spec.whatwg.org/#attr-canvas-width 30319. https://drafts.csswg.org/css-images/#natural-height 30320. https://html.spec.whatwg.org/#obtain-numeric-values 30321. https://html.spec.whatwg.org/#attr-canvas-height 30322. https://drafts.csswg.org/css-values/#px 30323. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-output-bitmap 30324. https://html.spec.whatwg.org/#concept-canvas-origin-clean 30325. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-bitmap-mode 30326. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-valid 30327. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-output-bitmap 30328. https://html.spec.whatwg.org/#concept-canvas-origin-clean 30329. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-output-bitmap 30330. https://webidl.spec.whatwg.org/#es-type-mapping 30331. https://html.spec.whatwg.org/#imagebitmaprenderingcontextsettings 30332. https://html.spec.whatwg.org/#imagebitmaprenderingcontext 30333. https://html.spec.whatwg.org/#dom-context-2d-canvas 30334. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-output-bitmap 30335. https://html.spec.whatwg.org/#set-an-imagebitmaprenderingcontext's-output-bitmap 30336. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-alpha 30337. https://html.spec.whatwg.org/#concept-imagebitmaprenderingcontext-alpha 30338. https://html.spec.whatwg.org/#imagebitmaprenderingcontext 30339. https://html.spec.whatwg.org/#dom-imagebitmaprenderingcontext-transferfromimagebitmap 30340. https://html.spec.whatwg.org/#set-an-imagebitmaprenderingcontext's-output-bitmap 30341. https://html.spec.whatwg.org/#detached 30342. https://webidl.spec.whatwg.org/#invalidstateerror 30343. https://webidl.spec.whatwg.org/#dfn-DOMException 30344. https://html.spec.whatwg.org/#set-an-imagebitmaprenderingcontext's-output-bitmap 30345. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 30346. https://html.spec.whatwg.org/#detached 30347. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 30348. https://html.spec.whatwg.org/#offscreencanvas 30349. https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas 30350. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30351. https://html.spec.whatwg.org/#imagebitmaprenderingcontext 30352. https://www.khronos.org/registry/webgl/specs/latest/1.0/#WebGLRenderingContext 30353. https://www.khronos.org/registry/webgl/specs/latest/2.0/#WebGL2RenderingContext 30354. https://gpuweb.github.io/gpuweb/#canvas-context 30355. https://html.spec.whatwg.org/#image-encode-options-type 30356. https://html.spec.whatwg.org/#image-encode-options-quality 30357. https://html.spec.whatwg.org/#offscreen-context-type-2d 30358. https://html.spec.whatwg.org/#offscreen-context-type-bitmaprenderer 30359. https://html.spec.whatwg.org/#offscreen-context-type-webgl 30360. https://html.spec.whatwg.org/#offscreen-context-type-webgl2 30361. https://html.spec.whatwg.org/#offscreen-context-type-webgpu 30362. https://html.spec.whatwg.org/#transferable 30363. https://dom.spec.whatwg.org/#interface-eventtarget 30364. https://html.spec.whatwg.org/#dom-offscreencanvas 30365. https://html.spec.whatwg.org/#dom-offscreencanvas-width 30366. https://html.spec.whatwg.org/#dom-offscreencanvas-height 30367. https://html.spec.whatwg.org/#offscreenrenderingcontext 30368. https://html.spec.whatwg.org/#dom-offscreencanvas-getcontext 30369. https://html.spec.whatwg.org/#offscreenrenderingcontextid 30370. https://html.spec.whatwg.org/#imagebitmap 30371. https://html.spec.whatwg.org/#dom-offscreencanvas-transfertoimagebitmap 30372. https://webidl.spec.whatwg.org/#idl-promise 30373. https://w3c.github.io/FileAPI/#dfn-Blob 30374. https://html.spec.whatwg.org/#dom-offscreencanvas-converttoblob 30375. https://html.spec.whatwg.org/#imageencodeoptions 30376. https://html.spec.whatwg.org/#eventhandler 30377. https://html.spec.whatwg.org/#handler-offscreencanvas-oncontextlost 30378. https://html.spec.whatwg.org/#eventhandler 30379. https://html.spec.whatwg.org/#handler-offscreencanvas-oncontextrestored 30380. https://html.spec.whatwg.org/#offscreencanvas 30381. https://dom.spec.whatwg.org/#interface-eventtarget 30382. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30383. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30384. https://html.spec.whatwg.org/#event-contextlost 30385. https://html.spec.whatwg.org/#event-contextrestored 30386. https://html.spec.whatwg.org/#refsWEBGL 30387. https://html.spec.whatwg.org/#offscreencanvas 30388. https://html.spec.whatwg.org/#htmlcanvaselement 30389. https://html.spec.whatwg.org/#workers 30390. https://html.spec.whatwg.org/#offscreencanvas 30391. https://html.spec.whatwg.org/#offscreencanvas 30392. https://html.spec.whatwg.org/#offscreencanvas 30393. https://html.spec.whatwg.org/#offscreencanvas-placeholder 30394. https://html.spec.whatwg.org/#offscreencanvas 30395. https://html.spec.whatwg.org/#relevant-agent 30396. https://html.spec.whatwg.org/#concept-agent-event-loop 30397. https://html.spec.whatwg.org/#update-the-rendering 30398. https://html.spec.whatwg.org/#dom-offscreencanvas 30399. https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas/OffscreenCanvas 30400. https://html.spec.whatwg.org/#offscreencanvas 30401. https://html.spec.whatwg.org/#offscreencanvas-placeholder 30402. https://html.spec.whatwg.org/#dom-offscreencanvas-getcontext 30403. https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas/getContext 30404. https://html.spec.whatwg.org/#offscreencanvas 30405. https://html.spec.whatwg.org/#offscreen-context-type-2d 30406. https://html.spec.whatwg.org/#offscreen-context-type-bitmaprenderer 30407. https://html.spec.whatwg.org/#offscreen-context-type-webgl 30408. https://html.spec.whatwg.org/#offscreen-context-type-webgl2 30409. https://html.spec.whatwg.org/#offscreen-context-type-webgpu 30410. https://html.spec.whatwg.org/#canvas-context-2d 30411. https://html.spec.whatwg.org/#offscreen-context-type-2d 30412. https://html.spec.whatwg.org/#the-canvas-element 30413. https://html.spec.whatwg.org/#offscreen-context-type-webgl 30414. https://html.spec.whatwg.org/#offscreen-context-type-webgl2 30415. https://html.spec.whatwg.org/#offscreen-context-type-webgpu 30416. https://html.spec.whatwg.org/#refsWEBGL 30417. https://html.spec.whatwg.org/#refsWEBGPU 30418. https://html.spec.whatwg.org/#offscreen-context-type-2d 30419. https://html.spec.whatwg.org/#offscreen-context-type-webgl 30420. https://html.spec.whatwg.org/#offscreencanvas 30421. https://html.spec.whatwg.org/#offscreencanvas-bitmap 30422. https://html.spec.whatwg.org/#dom-offscreencanvas-width 30423. https://html.spec.whatwg.org/#dom-offscreencanvas-height 30424. https://html.spec.whatwg.org/#offscreencanvas 30425. https://drafts.csswg.org/css-color/#transparent-black 30426. https://html.spec.whatwg.org/#offscreencanvas 30427. https://html.spec.whatwg.org/#offscreencanvas 30428. https://html.spec.whatwg.org/#offscreencanvas 30429. https://html.spec.whatwg.org/#offscreencanvas 30430. https://html.spec.whatwg.org/#offscreencanvas-bitmap 30431. https://webidl.spec.whatwg.org/#this 30432. https://drafts.csswg.org/css-color/#transparent-black 30433. https://html.spec.whatwg.org/#dom-offscreencanvas-width 30434. https://webidl.spec.whatwg.org/#this 30435. https://html.spec.whatwg.org/#dom-offscreencanvas-height 30436. https://webidl.spec.whatwg.org/#this 30437. https://webidl.spec.whatwg.org/#this 30438. https://html.spec.whatwg.org/#offscreencanvas-inherited-lang 30439. https://html.spec.whatwg.org/#concept-explicitly-unknown 30440. https://webidl.spec.whatwg.org/#this 30441. https://html.spec.whatwg.org/#offscreencanvas-inherited-direction 30442. https://html.spec.whatwg.org/#concept-relevant-global 30443. https://webidl.spec.whatwg.org/#this 30444. https://html.spec.whatwg.org/#window 30445. https://dom.spec.whatwg.org/#document-element 30446. https://html.spec.whatwg.org/#concept-document-window 30447. https://html.spec.whatwg.org/#offscreencanvas-inherited-lang 30448. https://webidl.spec.whatwg.org/#this 30449. https://html.spec.whatwg.org/#language 30450. https://html.spec.whatwg.org/#offscreencanvas-inherited-direction 30451. https://webidl.spec.whatwg.org/#this 30452. https://html.spec.whatwg.org/#the-directionality 30453. https://html.spec.whatwg.org/#offscreencanvas 30454. https://html.spec.whatwg.org/#transferable-objects 30455. https://html.spec.whatwg.org/#transfer-steps 30456. https://html.spec.whatwg.org/#offscreencanvas-context-mode 30457. https://html.spec.whatwg.org/#offscreencanvas-context-none 30458. https://webidl.spec.whatwg.org/#invalidstateerror 30459. https://webidl.spec.whatwg.org/#dfn-DOMException 30460. https://html.spec.whatwg.org/#offscreencanvas-context-mode 30461. https://html.spec.whatwg.org/#offscreencanvas-context-detached 30462. https://html.spec.whatwg.org/#offscreencanvas-bitmap 30463. https://html.spec.whatwg.org/#offscreencanvas-inherited-lang 30464. https://html.spec.whatwg.org/#offscreencanvas-inherited-direction 30465. https://html.spec.whatwg.org/#offscreencanvas-bitmap 30466. https://html.spec.whatwg.org/#offscreencanvas-placeholder 30467. https://html.spec.whatwg.org/#transfer-receiving-steps 30468. https://html.spec.whatwg.org/#offscreencanvas-bitmap 30469. https://drafts.csswg.org/css-color/#transparent-black 30470. https://html.spec.whatwg.org/#offscreencanvas-inherited-lang 30471. https://html.spec.whatwg.org/#offscreencanvas-inherited-direction 30472. https://html.spec.whatwg.org/#offscreencanvas-placeholder 30473. https://html.spec.whatwg.org/#offscreencanvas 30474. https://webidl.spec.whatwg.org/#idl-object 30475. https://webidl.spec.whatwg.org/#es-type-mapping 30476. https://html.spec.whatwg.org/#offscreencanvas 30477. https://html.spec.whatwg.org/#offscreencanvas-context-mode 30478. https://html.spec.whatwg.org/#offscreencanvas-context-none 30479. https://html.spec.whatwg.org/#offscreencanvas-context-2d 30480. https://html.spec.whatwg.org/#offscreencanvas-context-bitmaprenderer 30481. https://html.spec.whatwg.org/#offscreencanvas-context-webgl 30482. https://html.spec.whatwg.org/#offscreencanvas-context-webgl2 30483. https://html.spec.whatwg.org/#offscreencanvas-context-webgpu 30484. https://html.spec.whatwg.org/#offscreencanvas-context-detached 30485. https://html.spec.whatwg.org/#offscreen-2d-context-creation-algorithm 30486. https://webidl.spec.whatwg.org/#this 30487. https://webidl.spec.whatwg.org/#this 30488. https://html.spec.whatwg.org/#offscreencanvas-context-mode 30489. https://html.spec.whatwg.org/#offscreencanvas-context-2d 30490. https://webidl.spec.whatwg.org/#invalidstateerror 30491. https://webidl.spec.whatwg.org/#dfn-DOMException 30492. https://html.spec.whatwg.org/#imagebitmaprenderingcontext-creation-algorithm 30493. https://webidl.spec.whatwg.org/#this 30494. https://webidl.spec.whatwg.org/#this 30495. https://html.spec.whatwg.org/#offscreencanvas-context-mode 30496. https://html.spec.whatwg.org/#offscreencanvas-context-bitmaprenderer 30497. https://webidl.spec.whatwg.org/#invalidstateerror 30498. https://webidl.spec.whatwg.org/#dfn-DOMException 30499. https://html.spec.whatwg.org/#refsWEBGL 30500. https://webidl.spec.whatwg.org/#this 30501. https://html.spec.whatwg.org/#offscreencanvas-context-mode 30502. https://html.spec.whatwg.org/#offscreencanvas-context-webgl 30503. https://html.spec.whatwg.org/#offscreencanvas-context-webgl2 30504. https://webidl.spec.whatwg.org/#invalidstateerror 30505. https://webidl.spec.whatwg.org/#dfn-DOMException 30506. https://gpuweb.github.io/gpuweb/#canvas-rendering 30507. https://html.spec.whatwg.org/#refsWEBGPU 30508. https://webidl.spec.whatwg.org/#this 30509. https://html.spec.whatwg.org/#offscreencanvas-context-mode 30510. https://html.spec.whatwg.org/#offscreencanvas-context-webgpu 30511. https://webidl.spec.whatwg.org/#invalidstateerror 30512. https://webidl.spec.whatwg.org/#dfn-DOMException 30513. https://html.spec.whatwg.org/#dom-offscreencanvas-width 30514. https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas/width 30515. https://html.spec.whatwg.org/#dom-offscreencanvas-height 30516. https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas/height 30517. https://html.spec.whatwg.org/#offscreencanvas 30518. https://html.spec.whatwg.org/#offscreencanvas-bitmap 30519. https://html.spec.whatwg.org/#offscreencanvas-bitmap 30520. https://drafts.csswg.org/css-color/#transparent-black 30521. https://html.spec.whatwg.org/#offscreencanvas 30522. https://html.spec.whatwg.org/#offscreencanvas 30523. https://html.spec.whatwg.org/#offscreencanvas-context-mode 30524. https://html.spec.whatwg.org/#offscreencanvas-context-2d 30525. https://html.spec.whatwg.org/#reset-the-rendering-context-to-its-default-state 30526. https://html.spec.whatwg.org/#offscreencanvas 30527. https://html.spec.whatwg.org/#offscreencanvas-bitmap 30528. https://html.spec.whatwg.org/#dom-offscreencanvas-width 30529. https://html.spec.whatwg.org/#dom-offscreencanvas-height 30530. https://html.spec.whatwg.org/#offscreen-context-type-webgl 30531. https://html.spec.whatwg.org/#offscreen-context-type-webgl2 30532. https://html.spec.whatwg.org/#refsWEBGL 30533. https://html.spec.whatwg.org/#offscreen-context-type-webgpu 30534. https://html.spec.whatwg.org/#refsWEBGPU 30535. https://html.spec.whatwg.org/#offscreencanvas 30536. https://html.spec.whatwg.org/#offscreencanvas-placeholder 30537. https://html.spec.whatwg.org/#offscreencanvas-placeholder 30538. https://drafts.csswg.org/css-images/#natural-dimensions 30539. https://html.spec.whatwg.org/#offscreencanvas 30540. https://html.spec.whatwg.org/#relevant-agent 30541. https://html.spec.whatwg.org/#concept-agent-event-loop 30542. https://html.spec.whatwg.org/#update-the-rendering 30543. https://html.spec.whatwg.org/#dom-offscreencanvas-converttoblob 30544. https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas/convertToBlob 30545. https://w3c.github.io/FileAPI/#dfn-Blob 30546. https://html.spec.whatwg.org/#offscreencanvas 30547. https://html.spec.whatwg.org/#image-encode-options-type 30548. https://html.spec.whatwg.org/#image/png 30549. https://html.spec.whatwg.org/#image/jpeg 30550. https://html.spec.whatwg.org/#image-encode-options-quality 30551. https://html.spec.whatwg.org/#dom-offscreencanvas-transfertoimagebitmap 30552. https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas/transferToImageBitmap 30553. https://html.spec.whatwg.org/#imagebitmap 30554. https://html.spec.whatwg.org/#offscreencanvas 30555. https://html.spec.whatwg.org/#offscreencanvas 30556. https://webidl.spec.whatwg.org/#this 30557. https://html.spec.whatwg.org/#detached 30558. https://webidl.spec.whatwg.org/#a-promise-rejected-with 30559. https://webidl.spec.whatwg.org/#invalidstateerror 30560. https://webidl.spec.whatwg.org/#dfn-DOMException 30561. https://webidl.spec.whatwg.org/#this 30562. https://html.spec.whatwg.org/#offscreencanvas-context-mode 30563. https://html.spec.whatwg.org/#offscreencanvas-context-2d 30564. https://html.spec.whatwg.org/#output-bitmap 30565. https://html.spec.whatwg.org/#concept-canvas-origin-clean 30566. https://webidl.spec.whatwg.org/#a-promise-rejected-with 30567. https://webidl.spec.whatwg.org/#securityerror 30568. https://webidl.spec.whatwg.org/#dfn-DOMException 30569. https://webidl.spec.whatwg.org/#this 30570. https://html.spec.whatwg.org/#offscreencanvas-bitmap 30571. https://webidl.spec.whatwg.org/#a-promise-rejected-with 30572. https://webidl.spec.whatwg.org/#indexsizeerror 30573. https://webidl.spec.whatwg.org/#dfn-DOMException 30574. https://webidl.spec.whatwg.org/#this 30575. https://html.spec.whatwg.org/#offscreencanvas-bitmap 30576. https://webidl.spec.whatwg.org/#this 30577. https://html.spec.whatwg.org/#concept-relevant-global 30578. https://html.spec.whatwg.org/#in-parallel 30579. https://html.spec.whatwg.org/#a-serialisation-of-the-bitmap-as-a-file 30580. https://html.spec.whatwg.org/#queue-a-global-task 30581. https://html.spec.whatwg.org/#canvas-blob-serialisation-task-source 30582. https://webidl.spec.whatwg.org/#encodingerror 30583. https://webidl.spec.whatwg.org/#dfn-DOMException 30584. https://w3c.github.io/FileAPI/#dfn-Blob 30585. https://html.spec.whatwg.org/#concept-relevant-realm 30586. https://html.spec.whatwg.org/#refsFILEAPI 30587. https://html.spec.whatwg.org/#offscreencanvas 30588. https://html.spec.whatwg.org/#detached 30589. https://webidl.spec.whatwg.org/#invalidstateerror 30590. https://webidl.spec.whatwg.org/#dfn-DOMException 30591. https://html.spec.whatwg.org/#offscreencanvas 30592. https://html.spec.whatwg.org/#offscreencanvas-context-mode 30593. https://html.spec.whatwg.org/#offscreencanvas-context-none 30594. https://webidl.spec.whatwg.org/#invalidstateerror 30595. https://webidl.spec.whatwg.org/#dfn-DOMException 30596. https://html.spec.whatwg.org/#imagebitmap 30597. https://html.spec.whatwg.org/#offscreencanvas 30598. https://html.spec.whatwg.org/#offscreencanvas-bitmap 30599. https://html.spec.whatwg.org/#offscreencanvas 30600. https://html.spec.whatwg.org/#offscreencanvas-bitmap 30601. https://drafts.csswg.org/css-color/#transparent-black 30602. https://drafts.csswg.org/css-color/#opaque-black 30603. https://html.spec.whatwg.org/#concept-canvas-alpha 30604. https://html.spec.whatwg.org/#offscreencanvas 30605. https://www.khronos.org/registry/webgl/specs/latest/1.0/#WebGLRenderingContext 30606. https://www.khronos.org/registry/webgl/specs/latest/1.0/#WebGLContextAttributes 30607. https://html.spec.whatwg.org/#refsWEBGL 30608. https://html.spec.whatwg.org/#event-handlers 30609. https://html.spec.whatwg.org/#event-handler-event-type 30610. https://html.spec.whatwg.org/#event-handler-idl-attributes 30611. https://html.spec.whatwg.org/#offscreencanvas 30612. https://html.spec.whatwg.org/#event-handlers 30613. https://html.spec.whatwg.org/#event-handler-event-type 30614. https://html.spec.whatwg.org/#event-contextlost 30615. https://html.spec.whatwg.org/#event-contextrestored 30616. https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D 30617. https://html.spec.whatwg.org/#offscreencanvas 30618. https://html.spec.whatwg.org/#offscreencontext2d-canvas 30619. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30620. https://html.spec.whatwg.org/#canvassettings 30621. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30622. https://html.spec.whatwg.org/#canvasstate 30623. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30624. https://html.spec.whatwg.org/#canvastransform 30625. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30626. https://html.spec.whatwg.org/#canvascompositing 30627. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30628. https://html.spec.whatwg.org/#canvasimagesmoothing 30629. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30630. https://html.spec.whatwg.org/#canvasfillstrokestyles 30631. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30632. https://html.spec.whatwg.org/#canvasshadowstyles 30633. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30634. https://html.spec.whatwg.org/#canvasfilters 30635. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30636. https://html.spec.whatwg.org/#canvasrect 30637. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30638. https://html.spec.whatwg.org/#canvasdrawpath 30639. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30640. https://html.spec.whatwg.org/#canvastext 30641. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30642. https://html.spec.whatwg.org/#canvasdrawimage 30643. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30644. https://html.spec.whatwg.org/#canvasimagedata 30645. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30646. https://html.spec.whatwg.org/#canvaspathdrawingstyles 30647. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30648. https://html.spec.whatwg.org/#canvastextdrawingstyles 30649. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30650. https://html.spec.whatwg.org/#canvaspath 30651. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30652. https://html.spec.whatwg.org/#offscreencanvas-bitmap 30653. https://html.spec.whatwg.org/#offscreencanvas 30654. https://html.spec.whatwg.org/#canvasrenderingcontext2d 30655. https://html.spec.whatwg.org/#canvasuserinterface 30656. https://html.spec.whatwg.org/#offscreencontext2d-canvas 30657. https://html.spec.whatwg.org/#offscreencanvas 30658. https://html.spec.whatwg.org/#the-canvas-element 30659. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30660. https://html.spec.whatwg.org/#offscreencanvas 30661. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30662. https://html.spec.whatwg.org/#offscreencontext2d-canvas 30663. https://html.spec.whatwg.org/#associated-offscreencanvas-object 30664. https://html.spec.whatwg.org/#offscreencanvas 30665. https://webidl.spec.whatwg.org/#es-type-mapping 30666. https://html.spec.whatwg.org/#canvasrenderingcontext2dsettings 30667. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30668. https://html.spec.whatwg.org/#associated-offscreencanvas-object 30669. https://html.spec.whatwg.org/#canvas-setting-init-bitmap 30670. https://html.spec.whatwg.org/#output-bitmap 30671. https://html.spec.whatwg.org/#dom-offscreencanvas-width 30672. https://html.spec.whatwg.org/#dom-offscreencanvas-height 30673. https://html.spec.whatwg.org/#concept-canvas-alpha 30674. https://html.spec.whatwg.org/#output-bitmap 30675. https://drafts.csswg.org/css-color/#transparent-black 30676. https://drafts.csswg.org/css-color/#opaque-black 30677. https://html.spec.whatwg.org/#window-event-loop 30678. https://html.spec.whatwg.org/#offscreencanvas-placeholder 30679. https://html.spec.whatwg.org/#offscreencanvas-placeholder 30680. https://html.spec.whatwg.org/#offscreencanvas 30681. https://html.spec.whatwg.org/#worker-event-loop-2 30682. https://html.spec.whatwg.org/#window-event-loop 30683. https://html.spec.whatwg.org/#offscreencanvas-placeholder 30684. https://html.spec.whatwg.org/#offscreencanvas-placeholder 30685. https://html.spec.whatwg.org/#canvasimagesource 30686. https://html.spec.whatwg.org/#imagebitmapsource 30687. https://html.spec.whatwg.org/#dom-canvas-todataurl 30688. https://html.spec.whatwg.org/#dom-canvas-toblob 30689. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30690. https://html.spec.whatwg.org/#associated-offscreencanvas-object 30691. https://html.spec.whatwg.org/#the-canvas-element 30692. https://drafts.csswg.org/css-color/#valdef-color-srgb 30693. https://drafts.csswg.org/css-color/#color-conversion 30694. https://html.spec.whatwg.org/#the-img-element 30695. https://html.spec.whatwg.org/#concept-canvas-color-space 30696. https://drafts.csswg.org/css-color/#color-conversion 30697. https://html.spec.whatwg.org/#concept-canvas-color-space 30698. https://html.spec.whatwg.org/#concept-canvas-color-space 30699. https://html.spec.whatwg.org/#concept-canvas-color-space 30700. https://drafts.csswg.org/css-color/#valdef-color-srgb 30701. https://drafts.csswg.org/css-color/#untagged 30702. https://html.spec.whatwg.org/#refsCSSCOLOR 30703. https://html.spec.whatwg.org/#refsPNG 30704. https://drafts.csswg.org/css-values/#px 30705. https://mimesniff.spec.whatwg.org/#mime-type 30706. https://html.spec.whatwg.org/#image/png 30707. https://html.spec.whatwg.org/#image/jpeg 30708. https://html.spec.whatwg.org/#image/svg+xml 30709. https://html.spec.whatwg.org/#image/png 30710. https://html.spec.whatwg.org/#refsPNG 30711. https://infra.spec.whatwg.org/#ascii-lowercase 30712. https://drafts.csswg.org/css-color/#opaque-black 30713. https://drafts.fxtf.org/compositing/#porterduffcompositingoperators_srcover 30714. https://drafts.csswg.org/css-color/#color-conversion 30715. https://drafts.csswg.org/css-color/#valdef-color-srgb 30716. https://drafts.csswg.org/css-color-5/#valdef-color-profile-rendering-intent-relative-colorimetric 30717. https://html.spec.whatwg.org/#dom-context-2d-drawimage 30718. https://html.spec.whatwg.org/#dom-canvas-todataurl 30719. https://html.spec.whatwg.org/#dom-canvas-toblob 30720. https://html.spec.whatwg.org/#concept-canvas-color-type 30721. https://html.spec.whatwg.org/#dom-canvascolortype-float16 30722. https://html.spec.whatwg.org/#image/png 30723. https://html.spec.whatwg.org/#image/jpeg 30724. https://html.spec.whatwg.org/#image/png 30725. https://tc39.es/ecma262/#sec-ecmascript-language-types-number-type 30726. https://html.spec.whatwg.org/#the-canvas-element 30727. https://html.spec.whatwg.org/#concept-origin 30728. https://html.spec.whatwg.org/#same-origin 30729. https://html.spec.whatwg.org/#the-canvas-element 30730. https://html.spec.whatwg.org/#offscreencanvas 30731. https://html.spec.whatwg.org/#imagebitmap 30732. https://html.spec.whatwg.org/#concept-canvas-origin-clean 30733. https://html.spec.whatwg.org/#concept-canvas-origin-clean 30734. https://html.spec.whatwg.org/#dom-canvas-todataurl 30735. https://html.spec.whatwg.org/#dom-canvas-toblob 30736. https://html.spec.whatwg.org/#dom-context-2d-getimagedata 30737. https://webidl.spec.whatwg.org/#securityerror 30738. https://webidl.spec.whatwg.org/#dfn-DOMException 30739. https://html.spec.whatwg.org/#concept-canvas-origin-clean 30740. https://html.spec.whatwg.org/#imagebitmap 30741. https://html.spec.whatwg.org/#dom-createimagebitmap 30742. https://html.spec.whatwg.org/#the-canvas-element 30743. https://html.spec.whatwg.org/#concept-canvas-origin-clean 30744. https://html.spec.whatwg.org/#dom-context-2d-drawimage 30745. https://html.spec.whatwg.org/#imagebitmap 30746. https://html.spec.whatwg.org/#concept-canvas-origin-clean 30747. https://html.spec.whatwg.org/#attr-canvas-width 30748. https://html.spec.whatwg.org/#attr-canvas-height 30749. https://html.spec.whatwg.org/#the-canvas-element 30750. https://html.spec.whatwg.org/#canvasrenderingcontext2d 30751. https://html.spec.whatwg.org/#concept-canvas-origin-clean 30752. https://html.spec.whatwg.org/#imagebitmaprenderingcontext 30753. https://html.spec.whatwg.org/#concept-canvas-origin-clean 30754. https://html.spec.whatwg.org/#imagebitmap 30755. https://html.spec.whatwg.org/#the-canvas-element 30756. https://html.spec.whatwg.org/#dom-imagebitmaprenderingcontext-transferfromimagebitmap 30757. https://html.spec.whatwg.org/#canvasrenderingcontext2d 30758. https://html.spec.whatwg.org/#output-bitmap 30759. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 30760. https://html.spec.whatwg.org/#output-bitmap 30761. https://html.spec.whatwg.org/#dom-context-2d-drawimage 30762. https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements 30763. https://html.spec.whatwg.org/#custom-element 30764. https://html.spec.whatwg.org/#element-definition 30765. https://html.spec.whatwg.org/#autonomous-custom-element 30766. https://html.spec.whatwg.org/#htmlelement 30767. https://html.spec.whatwg.org/#custom-element-constructor 30768. https://html.spec.whatwg.org/#autonomous-custom-element 30769. https://html.spec.whatwg.org/#form-associated-custom-element 30770. https://html.spec.whatwg.org/#elementinternals 30771. https://html.spec.whatwg.org/#the-form-element 30772. https://html.spec.whatwg.org/#the-label-element 30773. https://html.spec.whatwg.org/#the-form-element 30774. https://html.spec.whatwg.org/#elementinternals 30775. https://html.spec.whatwg.org/#attr-aria-role 30776. https://html.spec.whatwg.org/#attr-aria-* 30777. https://w3c.github.io/aria/#dfn-role 30778. https://w3c.github.io/aria/#aria-checked 30779. https://html.spec.whatwg.org/#customized-built-in-element 30780. https://html.spec.whatwg.org/#custom-element 30781. https://html.spec.whatwg.org/#autonomous-custom-element 30782. https://html.spec.whatwg.org/#autonomous-custom-element 30783. https://html.spec.whatwg.org/#customized-built-in-element 30784. https://html.spec.whatwg.org/#customized-built-in-element 30785. https://html.spec.whatwg.org/#autonomous-custom-element 30786. https://html.spec.whatwg.org/#customized-built-in-element 30787. https://html.spec.whatwg.org/#customized-built-in-element 30788. https://html.spec.whatwg.org/#htmlbuttonelement 30789. https://html.spec.whatwg.org/#htmlelement 30790. https://html.spec.whatwg.org/#dom-elementdefinitionoptions-extends 30791. https://html.spec.whatwg.org/#the-q-element 30792. https://html.spec.whatwg.org/#the-blockquote-element 30793. https://html.spec.whatwg.org/#htmlquoteelement 30794. https://html.spec.whatwg.org/#customized-built-in-element 30795. https://html.spec.whatwg.org/#attr-is 30796. https://html.spec.whatwg.org/#the-button-element 30797. https://html.spec.whatwg.org/#customized-built-in-element 30798. https://html.spec.whatwg.org/#autonomous-custom-element 30799. https://html.spec.whatwg.org/#htmlelement 30800. https://dom.spec.whatwg.org/#dom-document-createelement 30801. https://html.spec.whatwg.org/#attr-is 30802. https://html.spec.whatwg.org/#attr-is-during-serialization 30803. https://html.spec.whatwg.org/#the-button-element 30804. https://html.spec.whatwg.org/#concept-form-submit 30805. https://html.spec.whatwg.org/#attr-fe-disabled 30806. https://html.spec.whatwg.org/#customized-built-in-element 30807. https://html.spec.whatwg.org/#bgsound 30808. https://html.spec.whatwg.org/#blink 30809. https://html.spec.whatwg.org/#isindex 30810. https://html.spec.whatwg.org/#keygen 30811. https://html.spec.whatwg.org/#multicol 30812. https://html.spec.whatwg.org/#nextid 30813. https://html.spec.whatwg.org/#spacer 30814. https://html.spec.whatwg.org/#htmlunknownelement 30815. https://dom.spec.whatwg.org/#concept-element-interface 30816. https://html.spec.whatwg.org/#customized-built-in-element 30817. https://html.spec.whatwg.org/#customized-built-in-element 30818. https://html.spec.whatwg.org/#represents 30819. https://html.spec.whatwg.org/#autonomous-custom-element 30820. https://html.spec.whatwg.org/#attr-tabindex 30821. https://html.spec.whatwg.org/#focusable 30822. https://html.spec.whatwg.org/#attr-tabindex 30823. https://w3c.github.io/aria/#dfn-role 30824. https://w3c.github.io/aria/#button 30825. https://w3c.github.io/aria/#aria-label 30826. https://w3c.github.io/aria/#dfn-accessible-name 30827. https://w3c.github.io/aria/#aria-disabled 30828. https://w3c.github.io/uievents/#event-type-keydown 30829. https://w3c.github.io/uievents/#event-type-click 30830. https://html.spec.whatwg.org/#attr-tabindex 30831. https://html.spec.whatwg.org/#the-button-element 30832. https://html.spec.whatwg.org/#attr-tabindex 30833. https://html.spec.whatwg.org/#customized-built-in-element 30834. https://html.spec.whatwg.org/#the-button-element 30835. https://html.spec.whatwg.org/#customized-built-in-element 30836. https://html.spec.whatwg.org/#element-definition 30837. https://dom.spec.whatwg.org/#concept-create-element 30838. https://html.spec.whatwg.org/#custom-element 30839. https://html.spec.whatwg.org/#custom-element-definition 30840. https://html.spec.whatwg.org/#upgrades 30841. https://html.spec.whatwg.org/#custom-element-definition 30842. https://html.spec.whatwg.org/#the-script-element 30843. https://html.spec.whatwg.org/#attr-script-async 30844. https://html.spec.whatwg.org/#the-span-element 30845. https://html.spec.whatwg.org/#upgrades 30846. https://dom.spec.whatwg.org/#connected 30847. https://drafts.csswg.org/selectors/#pseudo-class 30848. https://html.spec.whatwg.org/#selector-invalid 30849. https://drafts.csswg.org/selectors/#pseudo-class 30850. https://html.spec.whatwg.org/#custom-element 30851. https://html.spec.whatwg.org/#custom-element 30852. https://html.spec.whatwg.org/#selector-custom 30853. https://html.spec.whatwg.org/#dom-elementinternals-states 30854. https://html.spec.whatwg.org/#elementinternals 30855. https://html.spec.whatwg.org/#selector-custom 30856. https://html.spec.whatwg.org/#selector-custom 30857. https://html.spec.whatwg.org/#custom-element-constructor 30858. https://html.spec.whatwg.org/#dom-document-write 30859. https://html.spec.whatwg.org/#dom-document-open 30860. https://html.spec.whatwg.org/#upgrades 30861. https://dom.spec.whatwg.org/#dom-document-createelement 30862. https://dom.spec.whatwg.org/#dom-document-createelementns 30863. https://dom.spec.whatwg.org/#concept-shadow-root 30864. https://dom.spec.whatwg.org/#concept-create-element 30865. https://html.spec.whatwg.org/#microtask 30866. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 30867. https://html.spec.whatwg.org/#concept-custom-element-reaction 30868. https://dom.spec.whatwg.org/#concept-node-move-ext 30869. https://dom.spec.whatwg.org/#dom-parentnode-movebefore 30870. https://html.spec.whatwg.org/#custom-elements-autonomous-drawbacks-example 30871. https://dom.spec.whatwg.org/#concept-node-move-ext 30872. https://dom.spec.whatwg.org/#concept-element-custom 30873. https://html.spec.whatwg.org/#custom-element 30874. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/is 30875. https://html.spec.whatwg.org/#dom-elementdefinitionoptions-extends 30876. https://html.spec.whatwg.org/#concept-custom-element-definition-name 30877. https://html.spec.whatwg.org/#dom-elementdefinitionoptions-extends 30878. https://html.spec.whatwg.org/#dom-elementdefinitionoptions-extends 30879. https://html.spec.whatwg.org/#concept-custom-element-definition-name 30880. https://html.spec.whatwg.org/#valid-custom-element-name 30881. https://html.spec.whatwg.org/#custom-element 30882. https://dom.spec.whatwg.org/#concept-create-element 30883. https://html.spec.whatwg.org/#attr-is 30884. https://dom.spec.whatwg.org/#concept-element-is-value 30885. https://html.spec.whatwg.org/#autonomous-custom-element 30886. https://html.spec.whatwg.org/#concept-element-categories 30887. https://html.spec.whatwg.org/#flow-content-2 30888. https://html.spec.whatwg.org/#phrasing-content-2 30889. https://html.spec.whatwg.org/#palpable-content-2 30890. https://html.spec.whatwg.org/#form-associated-custom-element 30891. https://html.spec.whatwg.org/#category-listed 30892. https://html.spec.whatwg.org/#category-label 30893. https://html.spec.whatwg.org/#category-submit 30894. https://html.spec.whatwg.org/#category-reset 30895. https://html.spec.whatwg.org/#form-associated-element 30896. https://html.spec.whatwg.org/#concept-element-contexts 30897. https://html.spec.whatwg.org/#phrasing-content-2 30898. https://html.spec.whatwg.org/#concept-element-content-model 30899. https://html.spec.whatwg.org/#transparent 30900. https://html.spec.whatwg.org/#concept-element-attributes 30901. https://html.spec.whatwg.org/#global-attributes 30902. https://html.spec.whatwg.org/#attr-is 30903. https://html.spec.whatwg.org/#attr-fae-form 30904. https://html.spec.whatwg.org/#form-associated-custom-element 30905. https://html.spec.whatwg.org/#the-form-element 30906. https://html.spec.whatwg.org/#attr-fe-disabled 30907. https://html.spec.whatwg.org/#form-associated-custom-element 30908. https://html.spec.whatwg.org/#attr-face-readonly 30909. https://html.spec.whatwg.org/#form-associated-custom-element 30910. https://html.spec.whatwg.org/#dom-elementinternals-willvalidate 30911. https://html.spec.whatwg.org/#attr-fe-name 30912. https://html.spec.whatwg.org/#form-associated-custom-element 30913. https://html.spec.whatwg.org/#form-submission-2 30914. https://html.spec.whatwg.org/#dom-form-elements 30915. https://html.spec.whatwg.org/#concept-element-accessibility-considerations 30916. https://html.spec.whatwg.org/#form-associated-custom-element 30917. https://w3c.github.io/html-aria/#el-form-associated-custom-element 30918. https://w3c.github.io/html-aam/#el-form-associated-custom-element 30919. https://w3c.github.io/html-aria/#el-autonomous-custom-element 30920. https://w3c.github.io/html-aam/#el-autonomous-custom-element 30921. https://html.spec.whatwg.org/#concept-element-dom 30922. https://html.spec.whatwg.org/#htmlelement 30923. https://html.spec.whatwg.org/#autonomous-custom-element 30924. https://html.spec.whatwg.org/#represents 30925. https://html.spec.whatwg.org/#customized-built-in-element 30926. https://html.spec.whatwg.org/#autonomous-custom-element 30927. https://html.spec.whatwg.org/#xml-compatible 30928. https://infra.spec.whatwg.org/#ascii-upper-alpha 30929. https://html.spec.whatwg.org/#attr-is 30930. https://html.spec.whatwg.org/#autonomous-custom-element 30931. https://html.spec.whatwg.org/#customized-built-in-element 30932. https://html.spec.whatwg.org/#attr-data-* 30933. https://html.spec.whatwg.org/#autonomous-custom-element 30934. https://html.spec.whatwg.org/#custom-element-definition 30935. https://html.spec.whatwg.org/#concept-custom-element-definition-form-associated 30936. https://html.spec.whatwg.org/#attr-fe-name 30937. https://html.spec.whatwg.org/#form-associated-custom-element 30938. https://html.spec.whatwg.org/#attr-fe-disabled 30939. https://html.spec.whatwg.org/#form-associated-custom-element 30940. https://html.spec.whatwg.org/#face-submission-value 30941. https://html.spec.whatwg.org/#attr-fae-form 30942. https://html.spec.whatwg.org/#form-associated-custom-element 30943. https://html.spec.whatwg.org/#form-owner 30944. https://html.spec.whatwg.org/#form-associated-custom-element 30945. https://html.spec.whatwg.org/#barred-from-constraint-validation 30946. https://html.spec.whatwg.org/#attr-input-readonly 30947. https://html.spec.whatwg.org/#attr-face-readonly 30948. https://html.spec.whatwg.org/#form-associated-custom-element 30949. https://html.spec.whatwg.org/#barred-from-constraint-validation 30950. https://html.spec.whatwg.org/#concept-form-reset-control 30951. https://html.spec.whatwg.org/#form-associated-custom-element 30952. https://html.spec.whatwg.org/#enqueue-a-custom-element-callback-reaction 30953. https://html.spec.whatwg.org/#prod-potentialcustomelementname 30954. https://html.spec.whatwg.org/#prod-pcenchar 30955. https://html.spec.whatwg.org/#prod-pcenchar 30956. https://www.w3.org/TR/xml/#sec-notation 30957. https://html.spec.whatwg.org/#refsXML 30958. https://html.spec.whatwg.org/#other-applicable-specifications 30959. https://html.spec.whatwg.org/#refsSVG 30960. https://html.spec.whatwg.org/#refsMATHML 30961. https://html.spec.whatwg.org/#valid-custom-element-name 30962. https://infra.spec.whatwg.org/#ascii-lower-alpha 30963. https://infra.spec.whatwg.org/#ascii-upper-alpha 30964. https://dom.spec.whatwg.org/#dom-document-createelement 30965. https://dom.spec.whatwg.org/#dom-document-createelementns 30966. https://html.spec.whatwg.org/#custom-element 30967. https://html.spec.whatwg.org/#valid-custom-element-name 30968. https://html.spec.whatwg.org/#customelementconstructor 30969. https://html.spec.whatwg.org/#custom-element-constructor 30970. https://webidl.spec.whatwg.org/#common-Function 30971. https://html.spec.whatwg.org/#concept-upgrade-an-element 30972. https://html.spec.whatwg.org/#html-element-constructors 30973. https://html.spec.whatwg.org/#custom-element-definition 30974. https://html.spec.whatwg.org/#form-associated-custom-element 30975. https://html.spec.whatwg.org/#dom-attachinternals 30976. https://dom.spec.whatwg.org/#dom-element-attachshadow 30977. https://html.spec.whatwg.org/#customelementregistry 30978. https://html.spec.whatwg.org/#custom-element-definition 30979. https://infra.spec.whatwg.org/#html-namespace 30980. https://html.spec.whatwg.org/#custom-element-definition-set 30981. https://infra.spec.whatwg.org/#list-contain 30982. https://html.spec.whatwg.org/#concept-custom-element-definition-name 30983. https://html.spec.whatwg.org/#concept-custom-element-definition-local-name 30984. https://html.spec.whatwg.org/#custom-element-definition-set 30985. https://infra.spec.whatwg.org/#list-contain 30986. https://html.spec.whatwg.org/#concept-custom-element-definition-name 30987. https://html.spec.whatwg.org/#concept-custom-element-definition-local-name 30988. https://html.spec.whatwg.org/#customelementregistry 30989. https://developer.mozilla.org/en-US/docs/Web/API/CustomElementRegistry 30990. https://html.spec.whatwg.org/#similar-origin-window-agent 30991. https://infra.spec.whatwg.org/#ordered-map 30992. https://html.spec.whatwg.org/#customelementregistry 30993. https://developer.mozilla.org/en-US/docs/Web/API/Window/customElements 30994. https://html.spec.whatwg.org/#window 30995. https://infra.spec.whatwg.org/#assert 30996. https://webidl.spec.whatwg.org/#this 30997. https://html.spec.whatwg.org/#concept-document-window 30998. https://dom.spec.whatwg.org/#document-custom-element-registry 30999. https://html.spec.whatwg.org/#customelementregistry 31000. https://html.spec.whatwg.org/#window 31001. https://html.spec.whatwg.org/#concept-document-window 31002. https://html.spec.whatwg.org/#customelementregistry 31003. https://webidl.spec.whatwg.org/#this 31004. https://html.spec.whatwg.org/#concept-document-window 31005. https://dom.spec.whatwg.org/#document-custom-element-registry 31006. https://html.spec.whatwg.org/#dom-customelementregistry 31007. https://html.spec.whatwg.org/#cereactions 31008. https://html.spec.whatwg.org/#dom-customelementregistry-define 31009. https://html.spec.whatwg.org/#customelementconstructor 31010. https://html.spec.whatwg.org/#elementdefinitionoptions 31011. https://html.spec.whatwg.org/#customelementconstructor 31012. https://html.spec.whatwg.org/#dom-customelementregistry-get 31013. https://html.spec.whatwg.org/#dom-customelementregistry-getname 31014. https://webidl.spec.whatwg.org/#idl-promise 31015. https://html.spec.whatwg.org/#customelementconstructor 31016. https://html.spec.whatwg.org/#dom-customelementregistry-whendefined 31017. https://html.spec.whatwg.org/#cereactions 31018. https://html.spec.whatwg.org/#dom-customelementregistry-upgrade 31019. https://dom.spec.whatwg.org/#interface-node 31020. https://html.spec.whatwg.org/#dom-customelementregistry-initialize 31021. https://dom.spec.whatwg.org/#interface-node 31022. https://html.spec.whatwg.org/#htmlelement 31023. https://html.spec.whatwg.org/#customelementregistry 31024. https://html.spec.whatwg.org/#customelementregistry 31025. https://infra.spec.whatwg.org/#ordered-set 31026. https://html.spec.whatwg.org/#document 31027. https://html.spec.whatwg.org/#customelementregistry 31028. https://infra.spec.whatwg.org/#ordered-set 31029. https://html.spec.whatwg.org/#custom-element-definition 31030. https://infra.spec.whatwg.org/#ordered-set 31031. https://html.spec.whatwg.org/#concept-custom-element-definition-name 31032. https://html.spec.whatwg.org/#concept-custom-element-definition-local-name 31033. https://html.spec.whatwg.org/#concept-custom-element-definition-constructor 31034. https://html.spec.whatwg.org/#customelementregistry 31035. https://html.spec.whatwg.org/#element-definition 31036. https://html.spec.whatwg.org/#customelementregistry 31037. https://infra.spec.whatwg.org/#ordered-map 31038. https://html.spec.whatwg.org/#valid-custom-element-name 31039. https://html.spec.whatwg.org/#dom-customelementregistry-whendefined 31040. https://dom.spec.whatwg.org/#interface-node 31041. https://dom.spec.whatwg.org/#interface-element 31042. https://dom.spec.whatwg.org/#element-custom-element-registry 31043. https://dom.spec.whatwg.org/#interface-shadowroot 31044. https://dom.spec.whatwg.org/#shadowroot-custom-element-registry 31045. https://html.spec.whatwg.org/#document 31046. https://dom.spec.whatwg.org/#document-custom-element-registry 31047. https://html.spec.whatwg.org/#dom-window-customelements 31048. https://html.spec.whatwg.org/#document 31049. https://html.spec.whatwg.org/#customelementregistry 31050. https://html.spec.whatwg.org/#dom-customelementregistry 31051. https://html.spec.whatwg.org/#customelementregistry 31052. https://html.spec.whatwg.org/#dom-customelementregistry-define 31053. https://developer.mozilla.org/en-US/docs/Web/API/CustomElementRegistry/define 31054. https://html.spec.whatwg.org/#custom-element 31055. https://html.spec.whatwg.org/#autonomous-custom-element 31056. https://html.spec.whatwg.org/#dom-customelementregistry-define 31057. https://html.spec.whatwg.org/#custom-element 31058. https://html.spec.whatwg.org/#customized-built-in-element 31059. https://html.spec.whatwg.org/#element-type 31060. https://webidl.spec.whatwg.org/#notsupportederror 31061. https://webidl.spec.whatwg.org/#dfn-DOMException 31062. https://html.spec.whatwg.org/#custom-element 31063. https://html.spec.whatwg.org/#customelementregistry 31064. https://html.spec.whatwg.org/#dom-customelementregistry-get 31065. https://developer.mozilla.org/en-US/docs/Web/API/CustomElementRegistry/get 31066. https://html.spec.whatwg.org/#custom-element-constructor 31067. https://html.spec.whatwg.org/#concept-custom-element-definition-name 31068. https://html.spec.whatwg.org/#custom-element-definition 31069. https://html.spec.whatwg.org/#concept-custom-element-definition-name 31070. https://html.spec.whatwg.org/#dom-customelementregistry-getname 31071. https://html.spec.whatwg.org/#custom-element 31072. https://html.spec.whatwg.org/#concept-custom-element-definition-constructor 31073. https://html.spec.whatwg.org/#custom-element-definition 31074. https://html.spec.whatwg.org/#concept-custom-element-definition-constructor 31075. https://html.spec.whatwg.org/#dom-customelementregistry-whendefined 31076. https://developer.mozilla.org/en-US/docs/Web/API/CustomElementRegistry/whenDefined 31077. https://html.spec.whatwg.org/#custom-element 31078. https://html.spec.whatwg.org/#custom-element 31079. https://html.spec.whatwg.org/#custom-element 31080. https://webidl.spec.whatwg.org/#syntaxerror 31081. https://webidl.spec.whatwg.org/#dfn-DOMException 31082. https://html.spec.whatwg.org/#valid-custom-element-name 31083. https://html.spec.whatwg.org/#dom-customelementregistry-upgrade 31084. https://developer.mozilla.org/en-US/docs/Web/API/CustomElementRegistry/upgrade 31085. https://html.spec.whatwg.org/#concept-try-upgrade 31086. https://dom.spec.whatwg.org/#concept-shadow-including-inclusive-descendant 31087. https://dom.spec.whatwg.org/#connected 31088. https://html.spec.whatwg.org/#dom-customelementregistry-initialize 31089. https://dom.spec.whatwg.org/#concept-tree-inclusive-descendant 31090. https://html.spec.whatwg.org/#customelementregistry 31091. https://webidl.spec.whatwg.org/#this 31092. https://html.spec.whatwg.org/#is-scoped 31093. https://html.spec.whatwg.org/#custom-element-definition 31094. https://html.spec.whatwg.org/#customelementregistry 31095. https://html.spec.whatwg.org/#dom-customelementregistry-define 31096. https://tc39.es/ecma262/#sec-isconstructor 31097. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 31098. https://html.spec.whatwg.org/#valid-custom-element-name 31099. https://webidl.spec.whatwg.org/#syntaxerror 31100. https://webidl.spec.whatwg.org/#dfn-DOMException 31101. https://webidl.spec.whatwg.org/#this 31102. https://html.spec.whatwg.org/#custom-element-definition-set 31103. https://infra.spec.whatwg.org/#list-contain 31104. https://html.spec.whatwg.org/#concept-custom-element-definition-name 31105. https://webidl.spec.whatwg.org/#notsupportederror 31106. https://webidl.spec.whatwg.org/#dfn-DOMException 31107. https://webidl.spec.whatwg.org/#this 31108. https://html.spec.whatwg.org/#custom-element-definition-set 31109. https://infra.spec.whatwg.org/#list-contain 31110. https://html.spec.whatwg.org/#concept-custom-element-definition-constructor 31111. https://webidl.spec.whatwg.org/#notsupportederror 31112. https://webidl.spec.whatwg.org/#dfn-DOMException 31113. https://html.spec.whatwg.org/#dom-elementdefinitionoptions-extends 31114. https://infra.spec.whatwg.org/#map-exists 31115. https://webidl.spec.whatwg.org/#this 31116. https://html.spec.whatwg.org/#is-scoped 31117. https://webidl.spec.whatwg.org/#notsupportederror 31118. https://webidl.spec.whatwg.org/#dfn-DOMException 31119. https://html.spec.whatwg.org/#valid-custom-element-name 31120. https://webidl.spec.whatwg.org/#notsupportederror 31121. https://webidl.spec.whatwg.org/#dfn-DOMException 31122. https://dom.spec.whatwg.org/#concept-element-interface 31123. https://infra.spec.whatwg.org/#html-namespace 31124. https://html.spec.whatwg.org/#htmlunknownelement 31125. https://webidl.spec.whatwg.org/#notsupportederror 31126. https://webidl.spec.whatwg.org/#dfn-DOMException 31127. https://webidl.spec.whatwg.org/#this 31128. https://html.spec.whatwg.org/#element-definition-is-running 31129. https://webidl.spec.whatwg.org/#notsupportederror 31130. https://webidl.spec.whatwg.org/#dfn-DOMException 31131. https://webidl.spec.whatwg.org/#this 31132. https://html.spec.whatwg.org/#element-definition-is-running 31133. https://tc39.es/ecma262/#sec-get-o-p 31134. https://tc39.es/ecma262/#sec-object-type 31135. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 31136. https://infra.spec.whatwg.org/#ordered-map 31137. https://infra.spec.whatwg.org/#map-getting-the-keys 31138. https://tc39.es/ecma262/#sec-get-o-p 31139. https://infra.spec.whatwg.org/#map-set 31140. https://webidl.spec.whatwg.org/#es-type-mapping 31141. https://webidl.spec.whatwg.org/#common-Function 31142. https://tc39.es/ecma262/#sec-get-o-p 31143. https://webidl.spec.whatwg.org/#es-type-mapping 31144. https://tc39.es/ecma262/#sec-get-o-p 31145. https://webidl.spec.whatwg.org/#es-type-mapping 31146. https://infra.spec.whatwg.org/#list-contain 31147. https://infra.spec.whatwg.org/#list-contain 31148. https://tc39.es/ecma262/#sec-get-o-p 31149. https://webidl.spec.whatwg.org/#es-type-mapping 31150. https://tc39.es/ecma262/#sec-get-o-p 31151. https://infra.spec.whatwg.org/#map-set 31152. https://webidl.spec.whatwg.org/#es-type-mapping 31153. https://webidl.spec.whatwg.org/#common-Function 31154. https://webidl.spec.whatwg.org/#this 31155. https://html.spec.whatwg.org/#element-definition-is-running 31156. https://html.spec.whatwg.org/#custom-element-definition 31157. https://html.spec.whatwg.org/#concept-custom-element-definition-name 31158. https://html.spec.whatwg.org/#concept-custom-element-definition-local-name 31159. https://html.spec.whatwg.org/#concept-custom-element-definition-constructor 31160. https://html.spec.whatwg.org/#concept-custom-element-definition-observed-attributes 31161. https://html.spec.whatwg.org/#concept-custom-element-definition-lifecycle-callbacks 31162. https://html.spec.whatwg.org/#concept-custom-element-definition-form-associated 31163. https://html.spec.whatwg.org/#concept-custom-element-definition-disable-internals 31164. https://html.spec.whatwg.org/#concept-custom-element-definition-disable-shadow 31165. https://infra.spec.whatwg.org/#set-append 31166. https://webidl.spec.whatwg.org/#this 31167. https://html.spec.whatwg.org/#custom-element-definition-set 31168. https://webidl.spec.whatwg.org/#this 31169. https://html.spec.whatwg.org/#is-scoped 31170. https://webidl.spec.whatwg.org/#this 31171. https://html.spec.whatwg.org/#scoped-document-set 31172. https://html.spec.whatwg.org/#upgrade-particular-elements-within-a-document 31173. https://html.spec.whatwg.org/#upgrade-particular-elements-within-a-document 31174. https://webidl.spec.whatwg.org/#this 31175. https://html.spec.whatwg.org/#concept-relevant-global 31176. https://html.spec.whatwg.org/#concept-document-window 31177. https://webidl.spec.whatwg.org/#this 31178. https://html.spec.whatwg.org/#when-defined-promise-map 31179. https://infra.spec.whatwg.org/#map-exists 31180. https://webidl.spec.whatwg.org/#this 31181. https://html.spec.whatwg.org/#when-defined-promise-map 31182. https://infra.spec.whatwg.org/#map-remove 31183. https://webidl.spec.whatwg.org/#this 31184. https://html.spec.whatwg.org/#when-defined-promise-map 31185. https://html.spec.whatwg.org/#document 31186. https://html.spec.whatwg.org/#custom-element-definition 31187. https://dom.spec.whatwg.org/#concept-shadow-including-descendant 31188. https://infra.spec.whatwg.org/#html-namespace 31189. https://dom.spec.whatwg.org/#concept-shadow-including-tree-order 31190. https://dom.spec.whatwg.org/#concept-element-is-value 31191. https://html.spec.whatwg.org/#enqueue-a-custom-element-upgrade-reaction 31192. https://webidl.spec.whatwg.org/#this 31193. https://html.spec.whatwg.org/#custom-element-definition-set 31194. https://infra.spec.whatwg.org/#list-contain 31195. https://html.spec.whatwg.org/#concept-custom-element-definition-name 31196. https://html.spec.whatwg.org/#concept-custom-element-definition-constructor 31197. https://developer.mozilla.org/en-US/docs/Web/API/CustomElementRegistry/getName 31198. https://webidl.spec.whatwg.org/#this 31199. https://html.spec.whatwg.org/#custom-element-definition-set 31200. https://infra.spec.whatwg.org/#list-contain 31201. https://html.spec.whatwg.org/#concept-custom-element-definition-constructor 31202. https://html.spec.whatwg.org/#concept-custom-element-definition-name 31203. https://html.spec.whatwg.org/#valid-custom-element-name 31204. https://webidl.spec.whatwg.org/#a-promise-rejected-with 31205. https://webidl.spec.whatwg.org/#syntaxerror 31206. https://webidl.spec.whatwg.org/#dfn-DOMException 31207. https://webidl.spec.whatwg.org/#this 31208. https://html.spec.whatwg.org/#custom-element-definition-set 31209. https://infra.spec.whatwg.org/#list-contain 31210. https://html.spec.whatwg.org/#concept-custom-element-definition-name 31211. https://webidl.spec.whatwg.org/#a-promise-resolved-with 31212. https://html.spec.whatwg.org/#concept-custom-element-definition-constructor 31213. https://webidl.spec.whatwg.org/#this 31214. https://html.spec.whatwg.org/#when-defined-promise-map 31215. https://infra.spec.whatwg.org/#map-exists 31216. https://infra.spec.whatwg.org/#map-set 31217. https://webidl.spec.whatwg.org/#this 31218. https://html.spec.whatwg.org/#when-defined-promise-map 31219. https://webidl.spec.whatwg.org/#this 31220. https://html.spec.whatwg.org/#when-defined-promise-map 31221. https://html.spec.whatwg.org/#dom-customelementregistry-whendefined 31222. https://html.spec.whatwg.org/#custom-element 31223. https://dom.spec.whatwg.org/#concept-element-defined 31224. https://html.spec.whatwg.org/#selector-defined 31225. https://html.spec.whatwg.org/#autonomous-custom-element 31226. https://infra.spec.whatwg.org/#list 31227. https://dom.spec.whatwg.org/#concept-shadow-including-inclusive-descendant 31228. https://dom.spec.whatwg.org/#concept-shadow-including-tree-order 31229. https://infra.spec.whatwg.org/#list-iterate 31230. https://html.spec.whatwg.org/#concept-try-upgrade 31231. https://html.spec.whatwg.org/#dom-customelementregistry-upgrade 31232. https://dom.spec.whatwg.org/#connected 31233. https://html.spec.whatwg.org/#document 31234. https://dom.spec.whatwg.org/#document-custom-element-registry 31235. https://dom.spec.whatwg.org/#document-custom-element-registry 31236. https://webidl.spec.whatwg.org/#this 31237. https://dom.spec.whatwg.org/#interface-shadowroot 31238. https://dom.spec.whatwg.org/#shadowroot-custom-element-registry 31239. https://dom.spec.whatwg.org/#shadowroot-custom-element-registry 31240. https://webidl.spec.whatwg.org/#this 31241. https://dom.spec.whatwg.org/#concept-tree-inclusive-descendant 31242. https://dom.spec.whatwg.org/#interface-element 31243. https://dom.spec.whatwg.org/#element-custom-element-registry 31244. https://dom.spec.whatwg.org/#element-custom-element-registry 31245. https://webidl.spec.whatwg.org/#this 31246. https://webidl.spec.whatwg.org/#this 31247. https://html.spec.whatwg.org/#is-scoped 31248. https://infra.spec.whatwg.org/#set-append 31249. https://dom.spec.whatwg.org/#concept-node-document 31250. https://webidl.spec.whatwg.org/#this 31251. https://html.spec.whatwg.org/#scoped-document-set 31252. https://html.spec.whatwg.org/#customelementregistry 31253. https://html.spec.whatwg.org/#custom-element-definition 31254. https://dom.spec.whatwg.org/#concept-element-custom-element-state 31255. https://html.spec.whatwg.org/#concept-upgrade-an-element 31256. https://dom.spec.whatwg.org/#concept-element-custom-element-definition 31257. https://dom.spec.whatwg.org/#concept-element-custom-element-state 31258. https://html.spec.whatwg.org/#concept-upgrade-an-element-set-state-to-custom 31259. https://html.spec.whatwg.org/#concept-upgrade-an-element-early-exit 31260. https://dom.spec.whatwg.org/#concept-element-attribute 31261. https://html.spec.whatwg.org/#enqueue-a-custom-element-callback-reaction 31262. https://dom.spec.whatwg.org/#connected 31263. https://html.spec.whatwg.org/#enqueue-a-custom-element-callback-reaction 31264. https://html.spec.whatwg.org/#concept-custom-element-definition-construction-stack 31265. https://html.spec.whatwg.org/#concept-custom-element-definition-constructor 31266. https://infra.spec.whatwg.org/#map-set 31267. https://tc39.es/ecma262/#surrounding-agent 31268. https://html.spec.whatwg.org/#active-custom-element-constructor-map 31269. https://dom.spec.whatwg.org/#element-custom-element-registry 31270. https://html.spec.whatwg.org/#concept-custom-element-definition-disable-shadow 31271. https://dom.spec.whatwg.org/#concept-element-shadow-root 31272. https://webidl.spec.whatwg.org/#notsupportederror 31273. https://webidl.spec.whatwg.org/#dfn-DOMException 31274. https://dom.spec.whatwg.org/#dom-element-attachshadow 31275. https://html.spec.whatwg.org/#look-up-a-custom-element-definition 31276. https://html.spec.whatwg.org/#dom-attachinternals 31277. https://dom.spec.whatwg.org/#concept-element-custom-element-state 31278. https://webidl.spec.whatwg.org/#construct-a-callback-function 31279. https://html.spec.whatwg.org/#custom-element-conformance 31280. https://html.spec.whatwg.org/#cereactions 31281. https://tc39.es/ecma262/#sec-samevalue 31282. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 31283. https://html.spec.whatwg.org/#htmlelement 31284. https://infra.spec.whatwg.org/#map-remove 31285. https://tc39.es/ecma262/#surrounding-agent 31286. https://html.spec.whatwg.org/#active-custom-element-constructor-map 31287. https://html.spec.whatwg.org/#concept-custom-element-definition-construction-stack 31288. https://html.spec.whatwg.org/#custom-element-conformance 31289. https://html.spec.whatwg.org/#concept-already-constructed-marker 31290. https://html.spec.whatwg.org/#html-element-constructors 31291. https://html.spec.whatwg.org/#custom-element-conformance 31292. https://html.spec.whatwg.org/#html-element-constructors 31293. https://dom.spec.whatwg.org/#concept-element-custom-element-definition 31294. https://html.spec.whatwg.org/#custom-element-reaction-queue 31295. https://dom.spec.whatwg.org/#concept-element-custom-element-state 31296. https://html.spec.whatwg.org/#form-associated-custom-element 31297. https://html.spec.whatwg.org/#reset-the-form-owner 31298. https://html.spec.whatwg.org/#the-form-element 31299. https://html.spec.whatwg.org/#enqueue-a-custom-element-callback-reaction 31300. https://html.spec.whatwg.org/#the-form-element 31301. https://html.spec.whatwg.org/#concept-fe-disabled 31302. https://html.spec.whatwg.org/#enqueue-a-custom-element-callback-reaction 31303. https://dom.spec.whatwg.org/#concept-element-custom-element-state 31304. https://html.spec.whatwg.org/#look-up-a-custom-element-definition 31305. https://dom.spec.whatwg.org/#element-custom-element-registry 31306. https://dom.spec.whatwg.org/#concept-element-namespace 31307. https://dom.spec.whatwg.org/#concept-element-local-name 31308. https://dom.spec.whatwg.org/#concept-element-is-value 31309. https://html.spec.whatwg.org/#enqueue-a-custom-element-upgrade-reaction 31310. https://html.spec.whatwg.org/#custom-element 31311. https://html.spec.whatwg.org/#upgrades 31312. https://html.spec.whatwg.org/#custom-element-constructor 31313. https://html.spec.whatwg.org/#becomes-connected 31314. https://html.spec.whatwg.org/#becomes-disconnected 31315. https://dom.spec.whatwg.org/#concept-node-move-ext 31316. https://dom.spec.whatwg.org/#concept-node-adopt 31317. https://dom.spec.whatwg.org/#concept-element-attributes-change 31318. https://dom.spec.whatwg.org/#concept-element-attributes-append 31319. https://dom.spec.whatwg.org/#concept-element-attributes-remove 31320. https://dom.spec.whatwg.org/#concept-element-attributes-replace 31321. https://html.spec.whatwg.org/#reset-the-form-owner 31322. https://html.spec.whatwg.org/#form-associated-custom-element 31323. https://html.spec.whatwg.org/#form-associated-custom-element 31324. https://html.spec.whatwg.org/#concept-form-reset 31325. https://html.spec.whatwg.org/#concept-fe-disabled 31326. https://html.spec.whatwg.org/#form-associated-custom-element 31327. https://html.spec.whatwg.org/#form-associated-custom-element 31328. https://html.spec.whatwg.org/#restore-persisted-state 31329. https://html.spec.whatwg.org/#concept-custom-element-reaction 31330. https://dom.spec.whatwg.org/#concept-node-clone 31331. https://dom.spec.whatwg.org/#concept-range 31332. https://html.spec.whatwg.org/#concept-custom-element-reaction 31333. https://html.spec.whatwg.org/#custom-element 31334. https://html.spec.whatwg.org/#concept-custom-element-reaction 31335. https://html.spec.whatwg.org/#similar-origin-window-agent 31336. https://html.spec.whatwg.org/#similar-origin-window-agent 31337. https://html.spec.whatwg.org/#element-queue 31338. https://html.spec.whatwg.org/#custom-element-reactions-stack 31339. https://html.spec.whatwg.org/#element-queue 31340. https://dom.spec.whatwg.org/#concept-element-custom 31341. https://html.spec.whatwg.org/#upgrades 31342. https://html.spec.whatwg.org/#custom-element-reactions-stack 31343. https://html.spec.whatwg.org/#element-queue 31344. https://html.spec.whatwg.org/#backup-element-queue 31345. https://html.spec.whatwg.org/#cereactions 31346. https://html.spec.whatwg.org/#create-an-element-for-the-token 31347. https://w3c.github.io/editing/docs/execCommand/#editable 31348. https://html.spec.whatwg.org/#backup-element-queue 31349. https://html.spec.whatwg.org/#custom-element-reactions-stack 31350. https://html.spec.whatwg.org/#custom-element-reaction-queue 31351. https://html.spec.whatwg.org/#upgrades 31352. https://html.spec.whatwg.org/#custom-element-definition 31353. https://html.spec.whatwg.org/#relevant-agent 31354. https://html.spec.whatwg.org/#custom-element-reactions-stack 31355. https://html.spec.whatwg.org/#backup-element-queue 31356. https://html.spec.whatwg.org/#processing-the-backup-element-queue 31357. https://html.spec.whatwg.org/#processing-the-backup-element-queue 31358. https://html.spec.whatwg.org/#queue-a-microtask 31359. https://html.spec.whatwg.org/#invoke-custom-element-reactions 31360. https://html.spec.whatwg.org/#backup-element-queue 31361. https://html.spec.whatwg.org/#processing-the-backup-element-queue 31362. https://html.spec.whatwg.org/#relevant-agent 31363. https://html.spec.whatwg.org/#current-element-queue 31364. https://html.spec.whatwg.org/#custom-element 31365. https://dom.spec.whatwg.org/#concept-element-custom-element-definition 31366. https://html.spec.whatwg.org/#concept-custom-element-definition-lifecycle-callbacks 31367. https://html.spec.whatwg.org/#concept-custom-element-definition-lifecycle-callbacks 31368. https://html.spec.whatwg.org/#concept-custom-element-definition-lifecycle-callbacks 31369. https://html.spec.whatwg.org/#concept-custom-element-definition-observed-attributes 31370. https://html.spec.whatwg.org/#callback-reaction 31371. https://html.spec.whatwg.org/#custom-element-reaction-queue 31372. https://html.spec.whatwg.org/#enqueue-an-element-on-the-appropriate-element-queue 31373. https://html.spec.whatwg.org/#custom-element-definition 31374. https://html.spec.whatwg.org/#upgrade-reaction 31375. https://html.spec.whatwg.org/#custom-element-reaction-queue 31376. https://html.spec.whatwg.org/#custom-element-definition 31377. https://html.spec.whatwg.org/#enqueue-an-element-on-the-appropriate-element-queue 31378. https://html.spec.whatwg.org/#element-queue 31379. https://infra.spec.whatwg.org/#list-is-empty 31380. https://infra.spec.whatwg.org/#queue-dequeue 31381. https://html.spec.whatwg.org/#custom-element-reaction-queue 31382. https://html.spec.whatwg.org/#upgrade-reaction 31383. https://html.spec.whatwg.org/#concept-upgrade-an-element 31384. https://html.spec.whatwg.org/#custom-element-definition 31385. https://html.spec.whatwg.org/#report-an-exception 31386. https://html.spec.whatwg.org/#custom-element-definition 31387. https://html.spec.whatwg.org/#concept-custom-element-definition-constructor 31388. https://webidl.spec.whatwg.org/#dfn-associated-realm 31389. https://html.spec.whatwg.org/#concept-realm-global 31390. https://html.spec.whatwg.org/#callback-reaction 31391. https://webidl.spec.whatwg.org/#invoke-a-callback-function 31392. https://webidl.spec.whatwg.org/#dfn-callback-this-value 31393. https://html.spec.whatwg.org/#concept-custom-element-reaction 31394. https://webidl.spec.whatwg.org/#dfn-extended-attribute 31395. https://html.spec.whatwg.org/#concept-custom-element-reaction 31396. https://html.spec.whatwg.org/#cereactions 31397. https://html.spec.whatwg.org/#cereactions 31398. https://infra.spec.whatwg.org/#stack-push 31399. https://html.spec.whatwg.org/#element-queue 31400. https://html.spec.whatwg.org/#relevant-agent 31401. https://html.spec.whatwg.org/#custom-element-reactions-stack 31402. https://infra.spec.whatwg.org/#stack-pop 31403. https://html.spec.whatwg.org/#relevant-agent 31404. https://html.spec.whatwg.org/#custom-element-reactions-stack 31405. https://html.spec.whatwg.org/#invoke-custom-element-reactions 31406. https://html.spec.whatwg.org/#concept-custom-element-reaction 31407. https://html.spec.whatwg.org/#concept-custom-element-reaction 31408. https://html.spec.whatwg.org/#enqueue-a-custom-element-callback-reaction 31409. https://html.spec.whatwg.org/#enqueue-a-custom-element-upgrade-reaction 31410. https://html.spec.whatwg.org/#cereactions 31411. https://html.spec.whatwg.org/#htmlinputelement 31412. https://html.spec.whatwg.org/#htmllinkelement 31413. https://html.spec.whatwg.org/#dom-attachinternals 31414. https://html.spec.whatwg.org/#elementinternals 31415. https://html.spec.whatwg.org/#elementinternals 31416. https://html.spec.whatwg.org/#dom-attachinternals 31417. https://html.spec.whatwg.org/#elementinternals 31418. https://html.spec.whatwg.org/#custom-element 31419. https://html.spec.whatwg.org/#custom-element 31420. https://html.spec.whatwg.org/#htmlelement 31421. https://html.spec.whatwg.org/#elementinternals 31422. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals 31423. https://webidl.spec.whatwg.org/#this 31424. https://dom.spec.whatwg.org/#concept-element-is-value 31425. https://webidl.spec.whatwg.org/#notsupportederror 31426. https://webidl.spec.whatwg.org/#dfn-DOMException 31427. https://html.spec.whatwg.org/#look-up-a-custom-element-definition 31428. https://webidl.spec.whatwg.org/#this 31429. https://dom.spec.whatwg.org/#element-custom-element-registry 31430. https://webidl.spec.whatwg.org/#this 31431. https://dom.spec.whatwg.org/#concept-element-namespace 31432. https://webidl.spec.whatwg.org/#this 31433. https://dom.spec.whatwg.org/#concept-element-local-name 31434. https://webidl.spec.whatwg.org/#notsupportederror 31435. https://webidl.spec.whatwg.org/#dfn-DOMException 31436. https://html.spec.whatwg.org/#concept-custom-element-definition-disable-internals 31437. https://webidl.spec.whatwg.org/#notsupportederror 31438. https://webidl.spec.whatwg.org/#dfn-DOMException 31439. https://webidl.spec.whatwg.org/#this 31440. https://html.spec.whatwg.org/#attached-internals 31441. https://webidl.spec.whatwg.org/#notsupportederror 31442. https://webidl.spec.whatwg.org/#dfn-DOMException 31443. https://webidl.spec.whatwg.org/#this 31444. https://dom.spec.whatwg.org/#concept-element-custom-element-state 31445. https://webidl.spec.whatwg.org/#notsupportederror 31446. https://webidl.spec.whatwg.org/#dfn-DOMException 31447. https://webidl.spec.whatwg.org/#this 31448. https://html.spec.whatwg.org/#attached-internals 31449. https://html.spec.whatwg.org/#elementinternals 31450. https://html.spec.whatwg.org/#internals-target 31451. https://webidl.spec.whatwg.org/#this 31452. https://webidl.spec.whatwg.org/#this 31453. https://html.spec.whatwg.org/#attached-internals 31454. https://html.spec.whatwg.org/#elementinternals 31455. https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals 31456. https://html.spec.whatwg.org/#elementinternals 31457. https://html.spec.whatwg.org/#shadow-root-access 31458. https://dom.spec.whatwg.org/#interface-shadowroot 31459. https://html.spec.whatwg.org/#dom-elementinternals-shadowroot 31460. https://html.spec.whatwg.org/#form-associated-custom-elements 31461. https://html.spec.whatwg.org/#dom-elementinternals-setformvalue 31462. https://w3c.github.io/FileAPI/#dfn-file 31463. https://webidl.spec.whatwg.org/#idl-USVString 31464. https://xhr.spec.whatwg.org/#formdata 31465. https://w3c.github.io/FileAPI/#dfn-file 31466. https://webidl.spec.whatwg.org/#idl-USVString 31467. https://xhr.spec.whatwg.org/#formdata 31468. https://html.spec.whatwg.org/#htmlformelement 31469. https://html.spec.whatwg.org/#dom-elementinternals-form 31470. https://html.spec.whatwg.org/#dom-elementinternals-setvalidity 31471. https://html.spec.whatwg.org/#validitystateflags 31472. https://html.spec.whatwg.org/#htmlelement 31473. https://html.spec.whatwg.org/#dom-elementinternals-willvalidate 31474. https://html.spec.whatwg.org/#validitystate 31475. https://html.spec.whatwg.org/#dom-elementinternals-validity 31476. https://html.spec.whatwg.org/#dom-elementinternals-validationmessage 31477. https://html.spec.whatwg.org/#dom-elementinternals-checkvalidity 31478. https://html.spec.whatwg.org/#dom-elementinternals-reportvalidity 31479. https://dom.spec.whatwg.org/#interface-nodelist 31480. https://html.spec.whatwg.org/#dom-elementinternals-labels 31481. https://html.spec.whatwg.org/#custom-state-pseudo-class 31482. https://html.spec.whatwg.org/#customstateset 31483. https://html.spec.whatwg.org/#dom-elementinternals-states 31484. https://html.spec.whatwg.org/#accessibility-semantics 31485. https://html.spec.whatwg.org/#elementinternals 31486. https://w3c.github.io/aria/#ARIAMixin 31487. https://html.spec.whatwg.org/#elementinternals 31488. https://html.spec.whatwg.org/#custom-element 31489. https://html.spec.whatwg.org/#dom-elementinternals-shadowroot 31490. https://dom.spec.whatwg.org/#interface-shadowroot 31491. https://html.spec.whatwg.org/#internals-target 31492. https://html.spec.whatwg.org/#internals-target 31493. https://dom.spec.whatwg.org/#element-shadow-host 31494. https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/shadowRoot 31495. https://webidl.spec.whatwg.org/#this 31496. https://html.spec.whatwg.org/#internals-target 31497. https://dom.spec.whatwg.org/#element-shadow-host 31498. https://dom.spec.whatwg.org/#concept-element-shadow-root 31499. https://dom.spec.whatwg.org/#shadowroot-available-to-element-internals 31500. https://html.spec.whatwg.org/#dom-elementinternals-setformvalue 31501. https://html.spec.whatwg.org/#face-state 31502. https://html.spec.whatwg.org/#face-submission-value 31503. https://html.spec.whatwg.org/#internals-target 31504. https://html.spec.whatwg.org/#dom-elementinternals-setformvalue 31505. https://html.spec.whatwg.org/#face-submission-value 31506. https://html.spec.whatwg.org/#internals-target 31507. https://html.spec.whatwg.org/#face-state 31508. https://html.spec.whatwg.org/#dom-elementinternals-form 31509. https://html.spec.whatwg.org/#form-owner 31510. https://html.spec.whatwg.org/#internals-target 31511. https://html.spec.whatwg.org/#dom-elementinternals-setvalidity 31512. https://html.spec.whatwg.org/#internals-target 31513. https://html.spec.whatwg.org/#internals-target 31514. https://html.spec.whatwg.org/#form-owner 31515. https://html.spec.whatwg.org/#dom-elementinternals-reportvalidity 31516. https://html.spec.whatwg.org/#dom-elementinternals-setvalidity 31517. https://html.spec.whatwg.org/#internals-target 31518. https://html.spec.whatwg.org/#concept-fv-valid 31519. https://html.spec.whatwg.org/#dom-elementinternals-willvalidate 31520. https://html.spec.whatwg.org/#internals-target 31521. https://html.spec.whatwg.org/#dom-elementinternals-validity 31522. https://html.spec.whatwg.org/#validitystate 31523. https://html.spec.whatwg.org/#internals-target 31524. https://html.spec.whatwg.org/#dom-elementinternals-validationmessage 31525. https://html.spec.whatwg.org/#internals-target 31526. https://html.spec.whatwg.org/#dom-elementinternals-checkvalidity 31527. https://html.spec.whatwg.org/#internals-target 31528. https://html.spec.whatwg.org/#event-invalid 31529. https://html.spec.whatwg.org/#dom-elementinternals-reportvalidity 31530. https://html.spec.whatwg.org/#internals-target 31531. https://html.spec.whatwg.org/#event-invalid 31532. https://html.spec.whatwg.org/#dom-elementinternals-labels 31533. https://dom.spec.whatwg.org/#interface-nodelist 31534. https://html.spec.whatwg.org/#the-label-element 31535. https://html.spec.whatwg.org/#internals-target 31536. https://html.spec.whatwg.org/#form-associated-custom-element 31537. https://html.spec.whatwg.org/#form-entry 31538. https://html.spec.whatwg.org/#face-submission-value 31539. https://html.spec.whatwg.org/#face-submission-value 31540. https://w3c.github.io/FileAPI/#dfn-file 31541. https://infra.spec.whatwg.org/#list 31542. https://html.spec.whatwg.org/#form-entry 31543. https://html.spec.whatwg.org/#form-associated-custom-element 31544. https://html.spec.whatwg.org/#face-state 31545. https://html.spec.whatwg.org/#face-state 31546. https://w3c.github.io/FileAPI/#dfn-file 31547. https://infra.spec.whatwg.org/#list 31548. https://html.spec.whatwg.org/#form-entry 31549. https://html.spec.whatwg.org/#dom-elementinternals-setformvalue 31550. https://html.spec.whatwg.org/#face-submission-value 31551. https://html.spec.whatwg.org/#face-state 31552. https://html.spec.whatwg.org/#form-associated-custom-element 31553. https://html.spec.whatwg.org/#face-state 31554. https://html.spec.whatwg.org/#restore-persisted-state 31555. https://html.spec.whatwg.org/#enqueue-a-custom-element-callback-reaction 31556. https://html.spec.whatwg.org/#enqueue-a-custom-element-callback-reaction 31557. https://html.spec.whatwg.org/#form-associated-custom-element 31558. https://html.spec.whatwg.org/#face-state 31559. https://html.spec.whatwg.org/#face-submission-value 31560. https://html.spec.whatwg.org/#form-associated-custom-element 31561. https://html.spec.whatwg.org/#face-state 31562. https://html.spec.whatwg.org/#face-submission-value 31563. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 31564. https://html.spec.whatwg.org/#the-input-element 31565. https://html.spec.whatwg.org/#face-submission-value 31566. https://html.spec.whatwg.org/#face-state 31567. https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/setFormValue 31568. https://webidl.spec.whatwg.org/#this 31569. https://html.spec.whatwg.org/#internals-target 31570. https://html.spec.whatwg.org/#form-associated-custom-element 31571. https://webidl.spec.whatwg.org/#notsupportederror 31572. https://webidl.spec.whatwg.org/#dfn-DOMException 31573. https://html.spec.whatwg.org/#internals-target 31574. https://html.spec.whatwg.org/#face-submission-value 31575. https://xhr.spec.whatwg.org/#formdata 31576. https://infra.spec.whatwg.org/#list-clone 31577. https://xhr.spec.whatwg.org/#concept-formdata-entry-list 31578. https://html.spec.whatwg.org/#face-state 31579. https://html.spec.whatwg.org/#face-submission-value 31580. https://xhr.spec.whatwg.org/#formdata 31581. https://html.spec.whatwg.org/#face-state 31582. https://infra.spec.whatwg.org/#list-clone 31583. https://xhr.spec.whatwg.org/#concept-formdata-entry-list 31584. https://html.spec.whatwg.org/#face-state 31585. https://html.spec.whatwg.org/#form-associated-custom-element 31586. https://html.spec.whatwg.org/#form-associated-custom-element 31587. https://html.spec.whatwg.org/#form-associated-custom-element 31588. https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/setValidity 31589. https://webidl.spec.whatwg.org/#this 31590. https://html.spec.whatwg.org/#internals-target 31591. https://html.spec.whatwg.org/#form-associated-custom-element 31592. https://webidl.spec.whatwg.org/#notsupportederror 31593. https://webidl.spec.whatwg.org/#dfn-DOMException 31594. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 31595. https://html.spec.whatwg.org/#face-validation-message 31596. https://html.spec.whatwg.org/#custom-validity-error-message 31597. https://html.spec.whatwg.org/#face-validation-message 31598. https://html.spec.whatwg.org/#custom-validity-error-message 31599. https://html.spec.whatwg.org/#face-validation-anchor 31600. https://dom.spec.whatwg.org/#concept-shadow-including-descendant 31601. https://webidl.spec.whatwg.org/#notfounderror 31602. https://webidl.spec.whatwg.org/#dfn-DOMException 31603. https://html.spec.whatwg.org/#face-validation-anchor 31604. https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/validationMessage 31605. https://webidl.spec.whatwg.org/#this 31606. https://html.spec.whatwg.org/#internals-target 31607. https://html.spec.whatwg.org/#form-associated-custom-element 31608. https://webidl.spec.whatwg.org/#notsupportederror 31609. https://webidl.spec.whatwg.org/#dfn-DOMException 31610. https://html.spec.whatwg.org/#face-validation-message 31611. https://html.spec.whatwg.org/#form-associated-custom-element 31612. https://html.spec.whatwg.org/#entry-list 31613. https://html.spec.whatwg.org/#face-submission-value 31614. https://infra.spec.whatwg.org/#list 31615. https://html.spec.whatwg.org/#form-entry 31616. https://infra.spec.whatwg.org/#list-append 31617. https://html.spec.whatwg.org/#face-submission-value 31618. https://html.spec.whatwg.org/#attr-fe-name 31619. https://html.spec.whatwg.org/#form-associated-custom-element 31620. https://html.spec.whatwg.org/#form-entry 31621. https://html.spec.whatwg.org/#attr-fe-name 31622. https://html.spec.whatwg.org/#attr-fe-name 31623. https://html.spec.whatwg.org/#attr-fe-name 31624. https://html.spec.whatwg.org/#attr-fe-name 31625. https://html.spec.whatwg.org/#attr-fe-name 31626. https://html.spec.whatwg.org/#face-submission-value 31627. https://html.spec.whatwg.org/#create-an-entry 31628. https://html.spec.whatwg.org/#attr-fe-name 31629. https://html.spec.whatwg.org/#face-submission-value 31630. https://infra.spec.whatwg.org/#list-append 31631. https://w3c.github.io/aria/#idl-def-ariamixin-role 31632. https://html.spec.whatwg.org/#internals-target 31633. https://html.spec.whatwg.org/#attr-aria-role 31634. https://w3c.github.io/aria/#idl-def-ariamixin-ariaactivedescendantelement 31635. https://html.spec.whatwg.org/#internals-target 31636. https://html.spec.whatwg.org/#attr-aria-* 31637. https://html.spec.whatwg.org/#custom-element 31638. https://infra.spec.whatwg.org/#ordered-map 31639. https://html.spec.whatwg.org/#wai-aria 31640. https://html.spec.whatwg.org/#dom-elementinternals-states 31641. https://html.spec.whatwg.org/#states-set 31642. https://html.spec.whatwg.org/#dom-elementinternals-states 31643. https://html.spec.whatwg.org/#states-set 31644. https://html.spec.whatwg.org/#dom-elementinternals-states 31645. https://html.spec.whatwg.org/#states-set 31646. https://html.spec.whatwg.org/#dom-elementinternals-states 31647. https://html.spec.whatwg.org/#states-set 31648. https://html.spec.whatwg.org/#dom-elementinternals-states 31649. https://html.spec.whatwg.org/#dom-elementinternals-states 31650. https://html.spec.whatwg.org/#dom-elementinternals-states 31651. https://html.spec.whatwg.org/#dom-elementinternals-states 31652. https://html.spec.whatwg.org/#states-set 31653. https://html.spec.whatwg.org/#dom-elementinternals-states 31654. https://html.spec.whatwg.org/#states-set 31655. https://html.spec.whatwg.org/#dom-elementinternals-states 31656. https://html.spec.whatwg.org/#states-set 31657. https://html.spec.whatwg.org/#custom-element 31658. https://html.spec.whatwg.org/#customstateset 31659. https://webidl.spec.whatwg.org/#this 31660. https://html.spec.whatwg.org/#internals-target 31661. https://html.spec.whatwg.org/#states-set 31662. https://html.spec.whatwg.org/#states-set 31663. https://html.spec.whatwg.org/#the-nav-element 31664. https://html.spec.whatwg.org/#the-ul-element 31665. https://html.spec.whatwg.org/#attr-title 31666. https://html.spec.whatwg.org/#the-ul-element 31667. https://html.spec.whatwg.org/#the-ol-element 31668. https://html.spec.whatwg.org/#link-type-tag 31669. https://html.spec.whatwg.org/#attr-hyperlink-rel 31670. https://html.spec.whatwg.org/#the-a-element 31671. https://html.spec.whatwg.org/#the-p-element 31672. https://html.spec.whatwg.org/#the-span-element 31673. https://html.spec.whatwg.org/#the-b-element 31674. https://html.spec.whatwg.org/#the-i-element 31675. https://html.spec.whatwg.org/#the-data-element 31676. https://html.spec.whatwg.org/#the-time-element 31677. https://html.spec.whatwg.org/#the-data-element 31678. https://html.spec.whatwg.org/#the-time-element 31679. https://html.spec.whatwg.org/#the-data-element 31680. https://html.spec.whatwg.org/#the-dl-element 31681. https://html.spec.whatwg.org/#refsDOT 31682. https://html.spec.whatwg.org/#attr-title 31683. https://html.spec.whatwg.org/#attr-title 31684. https://html.spec.whatwg.org/#attr-title 31685. https://html.spec.whatwg.org/#attr-title 31686. https://html.spec.whatwg.org/#attr-title 31687. https://html.spec.whatwg.org/#the-a-element 31688. https://html.spec.whatwg.org/#the-aside-element 31689. https://html.spec.whatwg.org/#the-figcaption-element 31690. https://html.spec.whatwg.org/#the-caption-element 31691. https://html.spec.whatwg.org/#the-figure-element 31692. https://html.spec.whatwg.org/#the-button-element 31693. https://html.spec.whatwg.org/#concept-fe-disabled 31694. https://html.spec.whatwg.org/#the-input-element 31695. https://html.spec.whatwg.org/#concept-fe-disabled 31696. https://html.spec.whatwg.org/#the-select-element 31697. https://html.spec.whatwg.org/#concept-fe-disabled 31698. https://html.spec.whatwg.org/#the-textarea-element 31699. https://html.spec.whatwg.org/#concept-fe-disabled 31700. https://html.spec.whatwg.org/#the-optgroup-element 31701. https://html.spec.whatwg.org/#attr-optgroup-disabled 31702. https://html.spec.whatwg.org/#the-option-element 31703. https://html.spec.whatwg.org/#concept-option-disabled 31704. https://html.spec.whatwg.org/#the-fieldset-element 31705. https://html.spec.whatwg.org/#concept-fieldset-disabled 31706. https://html.spec.whatwg.org/#form-associated-custom-element 31707. https://html.spec.whatwg.org/#concept-fe-disabled 31708. https://html.spec.whatwg.org/#focusable 31709. https://html.spec.whatwg.org/#selector-enabled 31710. https://html.spec.whatwg.org/#selector-disabled 31711. https://drafts.csswg.org/selectors/#pseudo-class 31712. https://drafts.csswg.org/css-values/#funcdef-attr 31713. https://drafts.csswg.org/css-values/#funcdef-attr 31714. https://html.spec.whatwg.org/#refsCSSVALUES 31715. https://drafts.csswg.org/css-values/#funcdef-attr 31716. https://html.spec.whatwg.org/#html-elements 31717. https://dom.spec.whatwg.org/#html-document 31718. https://drafts.csswg.org/css-values/#funcdef-attr 31719. https://infra.spec.whatwg.org/#ascii-lowercase 31720. https://infra.spec.whatwg.org/#string-is 31721. https://drafts.csswg.org/selectors/#attribute-selector 31722. https://html.spec.whatwg.org/#refsSELECTORS 31723. https://drafts.csswg.org/selectors/#type-selector 31724. https://html.spec.whatwg.org/#html-elements 31725. https://dom.spec.whatwg.org/#html-document 31726. https://drafts.csswg.org/selectors/#type-selector 31727. https://infra.spec.whatwg.org/#ascii-lowercase 31728. https://infra.spec.whatwg.org/#string-is 31729. https://drafts.csswg.org/selectors/#attribute-selector 31730. https://html.spec.whatwg.org/#html-elements 31731. https://dom.spec.whatwg.org/#html-document 31732. https://drafts.csswg.org/selectors/#attribute-selector 31733. https://infra.spec.whatwg.org/#ascii-lowercase 31734. https://drafts.csswg.org/selectors/#attribute-selector 31735. https://html.spec.whatwg.org/#html-elements 31736. https://dom.spec.whatwg.org/#html-document 31737. https://infra.spec.whatwg.org/#ascii-case-insensitive 31738. https://html.spec.whatwg.org/#the-div-element 31739. https://infra.spec.whatwg.org/#string-is 31740. https://dom.spec.whatwg.org/#concept-id 31741. https://dom.spec.whatwg.org/#concept-class 31742. https://dom.spec.whatwg.org/#concept-document-no-quirks 31743. https://dom.spec.whatwg.org/#concept-document-limited-quirks 31744. https://infra.spec.whatwg.org/#html-namespace 31745. https://html.spec.whatwg.org/#html-elements 31746. https://dom.spec.whatwg.org/#xml-document 31747. https://infra.spec.whatwg.org/#html-namespace 31748. https://html.spec.whatwg.org/#html-elements 31749. https://dom.spec.whatwg.org/#xml-document 31750. https://dom.spec.whatwg.org/#concept-document-quirks 31751. https://infra.spec.whatwg.org/#ascii-case-insensitive 31752. https://dom.spec.whatwg.org/#concept-document-quirks 31753. https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes 31754. https://html.spec.whatwg.org/#refsSELECTORS 31755. https://html.spec.whatwg.org/#refsCSSUI 31756. https://developer.mozilla.org/en-US/docs/Web/CSS/:defined 31757. https://html.spec.whatwg.org/#selector-defined 31758. https://drafts.csswg.org/selectors/#pseudo-class 31759. https://dom.spec.whatwg.org/#concept-element-defined 31760. https://developer.mozilla.org/en-US/docs/Web/CSS/:link 31761. https://developer.mozilla.org/en-US/docs/Web/CSS/:visited 31762. https://html.spec.whatwg.org/#the-a-element 31763. https://html.spec.whatwg.org/#attr-hyperlink-href 31764. https://html.spec.whatwg.org/#the-area-element 31765. https://html.spec.whatwg.org/#attr-hyperlink-href 31766. https://html.spec.whatwg.org/#selector-link 31767. https://html.spec.whatwg.org/#selector-visited 31768. https://drafts.csswg.org/selectors/#pseudo-class 31769. https://developer.mozilla.org/en-US/docs/Web/CSS/:active 31770. https://html.spec.whatwg.org/#selector-active 31771. https://drafts.csswg.org/selectors/#pseudo-class 31772. https://html.spec.whatwg.org/#concept-selector-active 31773. https://html.spec.whatwg.org/#selector-active 31774. https://drafts.csswg.org/selectors/#pseudo-class 31775. https://html.spec.whatwg.org/#the-button-element 31776. https://html.spec.whatwg.org/#the-input-element 31777. https://html.spec.whatwg.org/#attr-input-type 31778. https://html.spec.whatwg.org/#submit-button-state-(type=submit) 31779. https://html.spec.whatwg.org/#image-button-state-(type=image) 31780. https://html.spec.whatwg.org/#reset-button-state-(type=reset) 31781. https://html.spec.whatwg.org/#button-state-(type=button) 31782. https://html.spec.whatwg.org/#the-a-element 31783. https://html.spec.whatwg.org/#attr-hyperlink-href 31784. https://html.spec.whatwg.org/#the-area-element 31785. https://html.spec.whatwg.org/#attr-hyperlink-href 31786. https://html.spec.whatwg.org/#focusable 31787. https://html.spec.whatwg.org/#concept-selector-active 31788. https://html.spec.whatwg.org/#in-a-formal-activation-state 31789. https://html.spec.whatwg.org/#the-button-element 31790. https://drafts.csswg.org/selectors/#pseudo-class 31791. https://w3c.github.io/uievents/#event-type-keydown 31792. https://w3c.github.io/uievents/#event-type-keyup 31793. https://html.spec.whatwg.org/#being-actively-pointed-at 31794. https://html.spec.whatwg.org/#concept-selector-active 31795. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 31796. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 31797. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 31798. https://html.spec.whatwg.org/#selector-active 31799. https://drafts.csswg.org/css-scoping/#flat-tree 31800. https://html.spec.whatwg.org/#concept-selector-active 31801. https://html.spec.whatwg.org/#refsSELECTORS 31802. https://html.spec.whatwg.org/#labeled-control 31803. https://html.spec.whatwg.org/#the-label-element 31804. https://html.spec.whatwg.org/#selector-active 31805. https://html.spec.whatwg.org/#selector-active 31806. https://html.spec.whatwg.org/#concept-selector-active 31807. https://developer.mozilla.org/en-US/docs/Web/CSS/:hover 31808. https://html.spec.whatwg.org/#selector-hover 31809. https://drafts.csswg.org/selectors/#pseudo-class 31810. https://html.spec.whatwg.org/#selector-hover 31811. https://drafts.csswg.org/selectors/#pseudo-class 31812. https://html.spec.whatwg.org/#concept-selector-hover 31813. https://html.spec.whatwg.org/#selector-hover 31814. https://drafts.csswg.org/css-scoping/#flat-tree 31815. https://html.spec.whatwg.org/#concept-selector-hover 31816. https://html.spec.whatwg.org/#refsSELECTORS 31817. https://html.spec.whatwg.org/#labeled-control 31818. https://html.spec.whatwg.org/#the-label-element 31819. https://html.spec.whatwg.org/#selector-hover 31820. https://html.spec.whatwg.org/#selector-hover 31821. https://html.spec.whatwg.org/#concept-selector-hover 31822. https://html.spec.whatwg.org/#the-p-element 31823. https://html.spec.whatwg.org/#the-label-element 31824. https://html.spec.whatwg.org/#selector-hover 31825. https://drafts.csswg.org/selectors/#pseudo-class 31826. https://html.spec.whatwg.org/#concept-selector-hover 31827. https://html.spec.whatwg.org/#the-label-element 31828. https://html.spec.whatwg.org/#the-p-element 31829. https://html.spec.whatwg.org/#labeled-control 31830. https://html.spec.whatwg.org/#the-label-element 31831. https://html.spec.whatwg.org/#selector-hover 31832. https://html.spec.whatwg.org/#selector-hover 31833. https://html.spec.whatwg.org/#selector-hover 31834. https://developer.mozilla.org/en-US/docs/Web/CSS/:focus 31835. https://html.spec.whatwg.org/#selector-focus 31836. https://drafts.csswg.org/selectors/#pseudo-class 31837. https://html.spec.whatwg.org/#navigable-container 31838. https://html.spec.whatwg.org/#current-focus-chain-of-a-top-level-traversable 31839. https://dom.spec.whatwg.org/#concept-element-shadow-root 31840. https://dom.spec.whatwg.org/#concept-tree-root 31841. https://html.spec.whatwg.org/#element-has-the-focus 31842. https://developer.mozilla.org/en-US/docs/Web/CSS/:target 31843. https://html.spec.whatwg.org/#selector-target 31844. https://drafts.csswg.org/selectors/#pseudo-class 31845. https://html.spec.whatwg.org/#document 31846. https://html.spec.whatwg.org/#document 31847. https://html.spec.whatwg.org/#target-element 31848. https://html.spec.whatwg.org/#refsSELECTORS 31849. https://developer.mozilla.org/en-US/docs/Web/CSS/:popover-open 31850. https://html.spec.whatwg.org/#selector-popover-open 31851. https://drafts.csswg.org/selectors/#pseudo-class 31852. https://html.spec.whatwg.org/#html-elements 31853. https://html.spec.whatwg.org/#attr-popover 31854. https://html.spec.whatwg.org/#attr-popover-none-state 31855. https://html.spec.whatwg.org/#popover-visibility-state 31856. https://html.spec.whatwg.org/#popover-showing-state 31857. https://developer.mozilla.org/en-US/docs/Web/CSS/:enabled 31858. https://html.spec.whatwg.org/#selector-enabled 31859. https://drafts.csswg.org/selectors/#pseudo-class 31860. https://html.spec.whatwg.org/#the-button-element 31861. https://html.spec.whatwg.org/#the-input-element 31862. https://html.spec.whatwg.org/#the-select-element 31863. https://html.spec.whatwg.org/#the-textarea-element 31864. https://html.spec.whatwg.org/#the-optgroup-element 31865. https://html.spec.whatwg.org/#the-option-element 31866. https://html.spec.whatwg.org/#the-fieldset-element 31867. https://html.spec.whatwg.org/#form-associated-custom-element 31868. https://html.spec.whatwg.org/#concept-element-disabled 31869. https://developer.mozilla.org/en-US/docs/Web/CSS/:disabled 31870. https://html.spec.whatwg.org/#selector-disabled 31871. https://drafts.csswg.org/selectors/#pseudo-class 31872. https://html.spec.whatwg.org/#concept-element-disabled 31873. https://developer.mozilla.org/en-US/docs/Web/CSS/:checked 31874. https://html.spec.whatwg.org/#selector-checked 31875. https://drafts.csswg.org/selectors/#pseudo-class 31876. https://html.spec.whatwg.org/#the-input-element 31877. https://html.spec.whatwg.org/#attr-input-type 31878. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 31879. https://html.spec.whatwg.org/#concept-fe-checked 31880. https://html.spec.whatwg.org/#the-input-element 31881. https://html.spec.whatwg.org/#attr-input-type 31882. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 31883. https://html.spec.whatwg.org/#concept-fe-checked 31884. https://html.spec.whatwg.org/#the-option-element 31885. https://html.spec.whatwg.org/#concept-option-selectedness 31886. https://developer.mozilla.org/en-US/docs/Web/CSS/:indeterminate 31887. https://html.spec.whatwg.org/#selector-indeterminate 31888. https://drafts.csswg.org/selectors/#pseudo-class 31889. https://html.spec.whatwg.org/#the-input-element 31890. https://html.spec.whatwg.org/#attr-input-type 31891. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 31892. https://html.spec.whatwg.org/#dom-input-indeterminate 31893. https://html.spec.whatwg.org/#the-input-element 31894. https://html.spec.whatwg.org/#attr-input-type 31895. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 31896. https://html.spec.whatwg.org/#radio-button-group 31897. https://html.spec.whatwg.org/#the-input-element 31898. https://html.spec.whatwg.org/#concept-fe-checked 31899. https://html.spec.whatwg.org/#the-progress-element 31900. https://html.spec.whatwg.org/#attr-progress-value 31901. https://developer.mozilla.org/en-US/docs/Web/CSS/:default 31902. https://html.spec.whatwg.org/#selector-default 31903. https://drafts.csswg.org/selectors/#pseudo-class 31904. https://html.spec.whatwg.org/#concept-submit-button 31905. https://html.spec.whatwg.org/#default-button 31906. https://html.spec.whatwg.org/#form-owner 31907. https://html.spec.whatwg.org/#the-input-element 31908. https://html.spec.whatwg.org/#attr-input-checked 31909. https://html.spec.whatwg.org/#attr-input-checked 31910. https://html.spec.whatwg.org/#the-option-element 31911. https://html.spec.whatwg.org/#attr-option-selected 31912. https://html.spec.whatwg.org/#selector-placeholder-shown 31913. https://drafts.csswg.org/selectors/#pseudo-class 31914. https://html.spec.whatwg.org/#the-input-element 31915. https://html.spec.whatwg.org/#attr-input-placeholder 31916. https://html.spec.whatwg.org/#the-textarea-element 31917. https://html.spec.whatwg.org/#attr-textarea-placeholder 31918. https://developer.mozilla.org/en-US/docs/Web/CSS/:valid 31919. https://html.spec.whatwg.org/#selector-valid 31920. https://drafts.csswg.org/selectors/#pseudo-class 31921. https://html.spec.whatwg.org/#candidate-for-constraint-validation 31922. https://html.spec.whatwg.org/#concept-fv-valid 31923. https://html.spec.whatwg.org/#the-form-element 31924. https://html.spec.whatwg.org/#form-owner 31925. https://html.spec.whatwg.org/#candidate-for-constraint-validation 31926. https://html.spec.whatwg.org/#concept-fv-valid 31927. https://html.spec.whatwg.org/#the-fieldset-element 31928. https://html.spec.whatwg.org/#candidate-for-constraint-validation 31929. https://html.spec.whatwg.org/#concept-fv-valid 31930. https://developer.mozilla.org/en-US/docs/Web/CSS/:invalid 31931. https://html.spec.whatwg.org/#selector-invalid 31932. https://drafts.csswg.org/selectors/#pseudo-class 31933. https://html.spec.whatwg.org/#candidate-for-constraint-validation 31934. https://html.spec.whatwg.org/#concept-fv-valid 31935. https://html.spec.whatwg.org/#the-form-element 31936. https://html.spec.whatwg.org/#form-owner 31937. https://html.spec.whatwg.org/#candidate-for-constraint-validation 31938. https://html.spec.whatwg.org/#concept-fv-valid 31939. https://html.spec.whatwg.org/#the-fieldset-element 31940. https://html.spec.whatwg.org/#candidate-for-constraint-validation 31941. https://html.spec.whatwg.org/#concept-fv-valid 31942. https://html.spec.whatwg.org/#selector-user-valid 31943. https://drafts.csswg.org/selectors/#pseudo-class 31944. https://html.spec.whatwg.org/#the-input-element 31945. https://html.spec.whatwg.org/#the-textarea-element 31946. https://html.spec.whatwg.org/#the-select-element 31947. https://html.spec.whatwg.org/#user-validity 31948. https://html.spec.whatwg.org/#candidate-for-constraint-validation 31949. https://html.spec.whatwg.org/#concept-fv-valid 31950. https://html.spec.whatwg.org/#selector-user-invalid 31951. https://drafts.csswg.org/selectors/#pseudo-class 31952. https://html.spec.whatwg.org/#the-input-element 31953. https://html.spec.whatwg.org/#the-textarea-element 31954. https://html.spec.whatwg.org/#the-select-element 31955. https://html.spec.whatwg.org/#user-validity 31956. https://html.spec.whatwg.org/#candidate-for-constraint-validation 31957. https://html.spec.whatwg.org/#concept-fv-valid 31958. https://developer.mozilla.org/en-US/docs/Web/CSS/:in-range 31959. https://html.spec.whatwg.org/#selector-in-range 31960. https://drafts.csswg.org/selectors/#pseudo-class 31961. https://html.spec.whatwg.org/#candidate-for-constraint-validation 31962. https://html.spec.whatwg.org/#have-range-limitations 31963. https://html.spec.whatwg.org/#suffering-from-an-underflow 31964. https://html.spec.whatwg.org/#suffering-from-an-overflow 31965. https://developer.mozilla.org/en-US/docs/Web/CSS/:out-of-range 31966. https://html.spec.whatwg.org/#selector-out-of-range 31967. https://drafts.csswg.org/selectors/#pseudo-class 31968. https://html.spec.whatwg.org/#candidate-for-constraint-validation 31969. https://html.spec.whatwg.org/#have-range-limitations 31970. https://html.spec.whatwg.org/#suffering-from-an-underflow 31971. https://html.spec.whatwg.org/#suffering-from-an-overflow 31972. https://developer.mozilla.org/en-US/docs/Web/CSS/:required 31973. https://html.spec.whatwg.org/#selector-required 31974. https://drafts.csswg.org/selectors/#pseudo-class 31975. https://html.spec.whatwg.org/#the-input-element 31976. https://html.spec.whatwg.org/#concept-input-required 31977. https://html.spec.whatwg.org/#the-select-element 31978. https://html.spec.whatwg.org/#attr-select-required 31979. https://html.spec.whatwg.org/#the-textarea-element 31980. https://html.spec.whatwg.org/#attr-textarea-required 31981. https://developer.mozilla.org/en-US/docs/Web/CSS/:optional 31982. https://html.spec.whatwg.org/#selector-optional 31983. https://drafts.csswg.org/selectors/#pseudo-class 31984. https://html.spec.whatwg.org/#the-input-element 31985. https://html.spec.whatwg.org/#attr-input-required 31986. https://html.spec.whatwg.org/#concept-input-required 31987. https://html.spec.whatwg.org/#the-select-element 31988. https://html.spec.whatwg.org/#attr-select-required 31989. https://html.spec.whatwg.org/#the-textarea-element 31990. https://html.spec.whatwg.org/#attr-textarea-required 31991. https://developer.mozilla.org/en-US/docs/Web/CSS/:autofill 31992. https://html.spec.whatwg.org/#selector-autofill 31993. https://html.spec.whatwg.org/#selector-webkit-autofill 31994. https://drafts.csswg.org/selectors/#pseudo-class 31995. https://html.spec.whatwg.org/#the-input-element 31996. https://html.spec.whatwg.org/#attr-fe-autocomplete 31997. https://developer.mozilla.org/en-US/docs/Web/CSS/:read-only 31998. https://developer.mozilla.org/en-US/docs/Web/CSS/:read-write 31999. https://html.spec.whatwg.org/#selector-read-write 32000. https://drafts.csswg.org/selectors/#pseudo-class 32001. https://html.spec.whatwg.org/#refsSELECTORS 32002. https://html.spec.whatwg.org/#the-input-element 32003. https://html.spec.whatwg.org/#attr-input-readonly 32004. https://html.spec.whatwg.org/#concept-fe-mutable 32005. https://html.spec.whatwg.org/#attr-input-readonly 32006. https://html.spec.whatwg.org/#concept-fe-disabled 32007. https://html.spec.whatwg.org/#the-textarea-element 32008. https://html.spec.whatwg.org/#attr-textarea-readonly 32009. https://html.spec.whatwg.org/#concept-fe-disabled 32010. https://html.spec.whatwg.org/#editing-host 32011. https://w3c.github.io/editing/docs/execCommand/#editable 32012. https://html.spec.whatwg.org/#the-input-element 32013. https://html.spec.whatwg.org/#the-textarea-element 32014. https://html.spec.whatwg.org/#selector-read-only 32015. https://drafts.csswg.org/selectors/#pseudo-class 32016. https://html.spec.whatwg.org/#html-elements 32017. https://html.spec.whatwg.org/#selector-modal 32018. https://drafts.csswg.org/selectors/#pseudo-class 32019. https://html.spec.whatwg.org/#the-dialog-element 32020. https://html.spec.whatwg.org/#is-modal 32021. https://fullscreen.spec.whatwg.org/#fullscreen-flag 32022. https://developer.mozilla.org/en-US/docs/Web/CSS/:dir 32023. https://html.spec.whatwg.org/#selector-ltr 32024. https://drafts.csswg.org/selectors/#pseudo-class 32025. https://html.spec.whatwg.org/#the-directionality 32026. https://html.spec.whatwg.org/#concept-ltr 32027. https://html.spec.whatwg.org/#selector-rtl 32028. https://drafts.csswg.org/selectors/#pseudo-class 32029. https://html.spec.whatwg.org/#the-directionality 32030. https://html.spec.whatwg.org/#concept-rtl 32031. https://html.spec.whatwg.org/#selector-custom 32032. https://html.spec.whatwg.org/#custom-element 32033. https://html.spec.whatwg.org/#states-set 32034. https://webidl.spec.whatwg.org/#dfn-set-entries 32035. https://html.spec.whatwg.org/#selector-playing 32036. https://drafts.csswg.org/selectors/#pseudo-class 32037. https://html.spec.whatwg.org/#media-element 32038. https://html.spec.whatwg.org/#dom-media-paused 32039. https://html.spec.whatwg.org/#selector-paused 32040. https://drafts.csswg.org/selectors/#pseudo-class 32041. https://html.spec.whatwg.org/#media-element 32042. https://html.spec.whatwg.org/#dom-media-paused 32043. https://html.spec.whatwg.org/#selector-seeking 32044. https://drafts.csswg.org/selectors/#pseudo-class 32045. https://html.spec.whatwg.org/#media-element 32046. https://html.spec.whatwg.org/#dom-media-seeking 32047. https://html.spec.whatwg.org/#selector-buffering 32048. https://drafts.csswg.org/selectors/#pseudo-class 32049. https://html.spec.whatwg.org/#media-element 32050. https://html.spec.whatwg.org/#dom-media-paused 32051. https://html.spec.whatwg.org/#dom-media-networkstate 32052. https://html.spec.whatwg.org/#dom-media-network_loading 32053. https://html.spec.whatwg.org/#dom-media-have_current_data 32054. https://html.spec.whatwg.org/#selector-stalled 32055. https://drafts.csswg.org/selectors/#pseudo-class 32056. https://html.spec.whatwg.org/#media-element 32057. https://html.spec.whatwg.org/#selector-buffering 32058. https://drafts.csswg.org/selectors/#pseudo-class 32059. https://html.spec.whatwg.org/#is-currently-stalled 32060. https://html.spec.whatwg.org/#selector-muted 32061. https://drafts.csswg.org/selectors/#pseudo-class 32062. https://html.spec.whatwg.org/#media-element 32063. https://html.spec.whatwg.org/#concept-media-muted 32064. https://html.spec.whatwg.org/#selector-volume-locked 32065. https://drafts.csswg.org/selectors/#pseudo-class 32066. https://html.spec.whatwg.org/#media-element 32067. https://html.spec.whatwg.org/#volume-locked 32068. https://html.spec.whatwg.org/#selector-open 32069. https://drafts.csswg.org/selectors/#pseudo-class 32070. https://html.spec.whatwg.org/#the-details-element 32071. https://html.spec.whatwg.org/#attr-details-open 32072. https://html.spec.whatwg.org/#the-dialog-element 32073. https://html.spec.whatwg.org/#attr-dialog-open 32074. https://html.spec.whatwg.org/#the-select-element 32075. https://html.spec.whatwg.org/#drop-down-box 32076. https://html.spec.whatwg.org/#the-input-element 32077. https://html.spec.whatwg.org/#input-support-picker 32078. https://drafts.csswg.org/selectors/#pseudo-class 32079. https://html.spec.whatwg.org/#refsSELECTORS 32080. https://html.spec.whatwg.org/#concept-item 32081. https://html.spec.whatwg.org/#attr-itemscope 32082. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 32083. https://html.spec.whatwg.org/#concept-item 32084. https://url.spec.whatwg.org/#concept-url 32085. https://html.spec.whatwg.org/#the-a-element 32086. https://html.spec.whatwg.org/#attr-hyperlink-href 32087. https://html.spec.whatwg.org/#the-img-element 32088. https://html.spec.whatwg.org/#attr-img-src 32089. https://html.spec.whatwg.org/#attr-data-value 32090. https://html.spec.whatwg.org/#the-data-element 32091. https://html.spec.whatwg.org/#the-meter-element 32092. https://html.spec.whatwg.org/#attr-meter-value 32093. https://html.spec.whatwg.org/#the-meter-element 32094. https://html.spec.whatwg.org/#the-time-element 32095. https://html.spec.whatwg.org/#attr-time-datetime 32096. https://html.spec.whatwg.org/#attr-itemscope 32097. https://html.spec.whatwg.org/#top-level-microdata-items 32098. https://html.spec.whatwg.org/#attr-itemscope 32099. https://html.spec.whatwg.org/#concept-item 32100. https://html.spec.whatwg.org/#attr-itemref 32101. https://html.spec.whatwg.org/#attr-itemscope 32102. https://html.spec.whatwg.org/#concept-item 32103. https://html.spec.whatwg.org/#concept-item 32104. https://html.spec.whatwg.org/#concept-item 32105. https://url.spec.whatwg.org/#concept-url 32106. https://html.spec.whatwg.org/#concept-item 32107. https://html.spec.whatwg.org/#attr-itemtype 32108. https://html.spec.whatwg.org/#attr-itemscope 32109. https://html.spec.whatwg.org/#concept-item 32110. https://html.spec.whatwg.org/#attr-itemtype 32111. https://html.spec.whatwg.org/#concept-item 32112. https://url.spec.whatwg.org/#concept-url 32113. https://html.spec.whatwg.org/#attr-itemid 32114. https://url.spec.whatwg.org/#concept-url 32115. https://html.spec.whatwg.org/#attr-itemid 32116. https://html.spec.whatwg.org/#attr-itemid 32117. https://www.rfc-editor.org/rfc/rfc2141#section-2 32118. https://url.spec.whatwg.org/#concept-url 32119. https://url.spec.whatwg.org/#concept-url 32120. https://html.spec.whatwg.org/#concept-item 32121. https://html.spec.whatwg.org/#concept-item 32122. https://html.spec.whatwg.org/#concept-item 32123. https://html.spec.whatwg.org/#item-types 32124. https://html.spec.whatwg.org/#global-identifier 32125. https://html.spec.whatwg.org/#item-types 32126. https://html.spec.whatwg.org/#support-global-identifiers-for-items 32127. https://html.spec.whatwg.org/#the-properties-of-an-item 32128. https://html.spec.whatwg.org/#the-properties-of-an-item 32129. https://html.spec.whatwg.org/#concept-property-value 32130. https://html.spec.whatwg.org/#concept-property-value 32131. https://html.spec.whatwg.org/#concept-item 32132. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemscope 32133. https://html.spec.whatwg.org/#html-elements 32134. https://html.spec.whatwg.org/#attr-itemscope 32135. https://html.spec.whatwg.org/#boolean-attribute 32136. https://html.spec.whatwg.org/#attr-itemscope 32137. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemtype 32138. https://html.spec.whatwg.org/#attr-itemscope 32139. https://html.spec.whatwg.org/#item-types 32140. https://html.spec.whatwg.org/#concept-item 32141. https://html.spec.whatwg.org/#attr-itemtype 32142. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 32143. https://infra.spec.whatwg.org/#string-is 32144. https://url.spec.whatwg.org/#valid-url-string 32145. https://url.spec.whatwg.org/#syntax-url-absolute 32146. https://html.spec.whatwg.org/#concept-item 32147. https://infra.spec.whatwg.org/#split-on-ascii-whitespace 32148. https://html.spec.whatwg.org/#attr-itemtype 32149. https://html.spec.whatwg.org/#concept-item 32150. https://html.spec.whatwg.org/#item-types 32151. https://html.spec.whatwg.org/#item-types 32152. https://html.spec.whatwg.org/#other-applicable-specifications 32153. https://url.spec.whatwg.org/#concept-url 32154. https://html.spec.whatwg.org/#item-types 32155. https://html.spec.whatwg.org/#item-types 32156. https://url.spec.whatwg.org/#concept-url 32157. https://html.spec.whatwg.org/#item-types 32158. https://html.spec.whatwg.org/#item-types 32159. https://html.spec.whatwg.org/#concept-item 32160. https://html.spec.whatwg.org/#attr-itemtype 32161. https://html.spec.whatwg.org/#attr-itemscope 32162. https://html.spec.whatwg.org/#concept-item 32163. https://html.spec.whatwg.org/#item-types 32164. https://html.spec.whatwg.org/#concept-property-value 32165. https://html.spec.whatwg.org/#the-properties-of-an-item 32166. https://html.spec.whatwg.org/#typed-item 32167. https://html.spec.whatwg.org/#typed-item 32168. https://html.spec.whatwg.org/#concept-item 32169. https://html.spec.whatwg.org/#item-types 32170. https://html.spec.whatwg.org/#relevant-types 32171. https://html.spec.whatwg.org/#concept-item 32172. https://html.spec.whatwg.org/#the-properties-of-an-item 32173. https://html.spec.whatwg.org/#concept-property-value 32174. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemid 32175. https://html.spec.whatwg.org/#attr-itemscope 32176. https://html.spec.whatwg.org/#attr-itemtype 32177. https://html.spec.whatwg.org/#concept-item 32178. https://html.spec.whatwg.org/#concept-item 32179. https://html.spec.whatwg.org/#attr-itemid 32180. https://html.spec.whatwg.org/#valid-url-potentially-surrounded-by-spaces 32181. https://html.spec.whatwg.org/#concept-item 32182. https://html.spec.whatwg.org/#attr-itemid 32183. https://html.spec.whatwg.org/#encoding-parsing-a-url 32184. https://dom.spec.whatwg.org/#concept-node-document 32185. https://html.spec.whatwg.org/#attr-itemid 32186. https://html.spec.whatwg.org/#global-identifier 32187. https://html.spec.whatwg.org/#attr-itemid 32188. https://html.spec.whatwg.org/#attr-itemscope 32189. https://html.spec.whatwg.org/#attr-itemtype 32190. https://html.spec.whatwg.org/#attr-itemscope 32191. https://html.spec.whatwg.org/#attr-itemtype 32192. https://html.spec.whatwg.org/#support-global-identifiers-for-items 32193. https://html.spec.whatwg.org/#global-identifier 32194. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemref 32195. https://html.spec.whatwg.org/#attr-itemscope 32196. https://html.spec.whatwg.org/#concept-item 32197. https://html.spec.whatwg.org/#attr-itemref 32198. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 32199. https://infra.spec.whatwg.org/#string-is 32200. https://dom.spec.whatwg.org/#concept-id 32201. https://dom.spec.whatwg.org/#concept-tree 32202. https://html.spec.whatwg.org/#attr-itemref 32203. https://html.spec.whatwg.org/#attr-itemscope 32204. https://html.spec.whatwg.org/#attr-itemref 32205. https://html.spec.whatwg.org/#concept-item 32206. https://html.spec.whatwg.org/#item-types 32207. https://html.spec.whatwg.org/#concept-item 32208. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemprop 32209. https://html.spec.whatwg.org/#html-elements 32210. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 32211. https://html.spec.whatwg.org/#the-properties-of-an-item 32212. https://html.spec.whatwg.org/#concept-item 32213. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 32214. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 32215. https://infra.spec.whatwg.org/#string-is 32216. https://html.spec.whatwg.org/#typed-item 32217. https://html.spec.whatwg.org/#relevant-types 32218. https://url.spec.whatwg.org/#valid-url-string 32219. https://url.spec.whatwg.org/#syntax-url-absolute 32220. https://url.spec.whatwg.org/#valid-url-string 32221. https://url.spec.whatwg.org/#syntax-url-absolute 32222. https://html.spec.whatwg.org/#typed-item 32223. https://html.spec.whatwg.org/#defined-property-name 32224. https://infra.spec.whatwg.org/#ascii-whitespace 32225. https://infra.spec.whatwg.org/#ascii-whitespace 32226. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 32227. https://html.spec.whatwg.org/#the-properties-of-an-item 32228. https://html.spec.whatwg.org/#concept-item 32229. https://html.spec.whatwg.org/#concept-item 32230. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 32231. https://infra.spec.whatwg.org/#split-on-ascii-whitespace 32232. https://html.spec.whatwg.org/#concept-item 32233. https://html.spec.whatwg.org/#the-properties-of-an-item 32234. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 32235. https://html.spec.whatwg.org/#attr-itemscope 32236. https://html.spec.whatwg.org/#concept-item 32237. https://html.spec.whatwg.org/#the-meta-element 32238. https://html.spec.whatwg.org/#attr-meta-content 32239. https://html.spec.whatwg.org/#the-audio-element 32240. https://html.spec.whatwg.org/#the-embed-element 32241. https://html.spec.whatwg.org/#the-iframe-element 32242. https://html.spec.whatwg.org/#the-img-element 32243. https://html.spec.whatwg.org/#the-source-element 32244. https://html.spec.whatwg.org/#the-track-element 32245. https://html.spec.whatwg.org/#the-video-element 32246. https://html.spec.whatwg.org/#encoding-parsing-and-serializing-a-url 32247. https://dom.spec.whatwg.org/#concept-node-document 32248. https://html.spec.whatwg.org/#the-a-element 32249. https://html.spec.whatwg.org/#the-area-element 32250. https://html.spec.whatwg.org/#the-link-element 32251. https://html.spec.whatwg.org/#encoding-parsing-and-serializing-a-url 32252. https://dom.spec.whatwg.org/#concept-node-document 32253. https://html.spec.whatwg.org/#the-object-element 32254. https://html.spec.whatwg.org/#encoding-parsing-and-serializing-a-url 32255. https://dom.spec.whatwg.org/#concept-node-document 32256. https://html.spec.whatwg.org/#the-data-element 32257. https://html.spec.whatwg.org/#attr-data-value 32258. https://html.spec.whatwg.org/#the-meter-element 32259. https://html.spec.whatwg.org/#attr-meter-value 32260. https://html.spec.whatwg.org/#the-time-element 32261. https://html.spec.whatwg.org/#datetime-value 32262. https://dom.spec.whatwg.org/#concept-descendant-text-content 32263. https://html.spec.whatwg.org/#the-a-element 32264. https://html.spec.whatwg.org/#the-area-element 32265. https://html.spec.whatwg.org/#the-audio-element 32266. https://html.spec.whatwg.org/#the-embed-element 32267. https://html.spec.whatwg.org/#the-iframe-element 32268. https://html.spec.whatwg.org/#the-img-element 32269. https://html.spec.whatwg.org/#the-link-element 32270. https://html.spec.whatwg.org/#the-object-element 32271. https://html.spec.whatwg.org/#the-source-element 32272. https://html.spec.whatwg.org/#the-track-element 32273. https://html.spec.whatwg.org/#the-video-element 32274. https://html.spec.whatwg.org/#concept-property-value 32275. https://url.spec.whatwg.org/#syntax-url-absolute 32276. https://html.spec.whatwg.org/#url-property-elements 32277. https://html.spec.whatwg.org/#the-a-element 32278. https://url.spec.whatwg.org/#concept-url 32279. https://html.spec.whatwg.org/#the-a-element 32280. https://html.spec.whatwg.org/#url-property-elements 32281. https://html.spec.whatwg.org/#microdata-error 32282. https://html.spec.whatwg.org/#attr-itemref 32283. https://infra.spec.whatwg.org/#split-on-ascii-whitespace 32284. https://dom.spec.whatwg.org/#concept-tree 32285. https://dom.spec.whatwg.org/#concept-id 32286. https://html.spec.whatwg.org/#microdata-error 32287. https://infra.spec.whatwg.org/#iteration-continue 32288. https://html.spec.whatwg.org/#attr-itemscope 32289. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 32290. https://html.spec.whatwg.org/#property-names 32291. https://dom.spec.whatwg.org/#concept-tree-order 32292. https://html.spec.whatwg.org/#concept-item 32293. https://html.spec.whatwg.org/#the-properties-of-an-item 32294. https://html.spec.whatwg.org/#concept-item 32295. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 32296. https://html.spec.whatwg.org/#attr-itemref 32297. https://html.spec.whatwg.org/#document 32298. https://html.spec.whatwg.org/#concept-item 32299. https://html.spec.whatwg.org/#document 32300. https://html.spec.whatwg.org/#the-properties-of-an-item 32301. https://html.spec.whatwg.org/#concept-property-value 32302. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 32303. https://html.spec.whatwg.org/#concept-item 32304. https://html.spec.whatwg.org/#the-properties-of-an-item 32305. https://html.spec.whatwg.org/#attr-itemref 32306. https://html.spec.whatwg.org/#attr-itemscope 32307. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 32308. https://html.spec.whatwg.org/#html-elements 32309. https://svgwg.org/svg2-draft/struct.html#SVGElement 32310. https://html.spec.whatwg.org/#item-types 32311. https://html.spec.whatwg.org/#support-global-identifiers-for-items 32312. https://html.spec.whatwg.org/#defined-property-name 32313. https://html.spec.whatwg.org/#refsRFC6350 32314. https://html.spec.whatwg.org/#concept-property-value 32315. https://infra.spec.whatwg.org/#string-is 32316. https://html.spec.whatwg.org/#kind-strings 32317. https://html.spec.whatwg.org/#md-vcard-kind 32318. https://html.spec.whatwg.org/#concept-item 32319. https://html.spec.whatwg.org/#md-vcard 32320. https://html.spec.whatwg.org/#concept-property-value 32321. https://html.spec.whatwg.org/#md-vcard-fn 32322. https://html.spec.whatwg.org/#concept-item 32323. https://html.spec.whatwg.org/#md-vcard 32324. https://html.spec.whatwg.org/#concept-property-value 32325. https://html.spec.whatwg.org/#concept-item 32326. https://html.spec.whatwg.org/#md-vcard-n-family-name 32327. https://html.spec.whatwg.org/#md-vcard-n-given-name 32328. https://html.spec.whatwg.org/#md-vcard-n-additional-name 32329. https://html.spec.whatwg.org/#md-vcard-n-honorific-prefix 32330. https://html.spec.whatwg.org/#md-vcard-n-honorific-suffix 32331. https://html.spec.whatwg.org/#md-vcard-n 32332. https://html.spec.whatwg.org/#concept-item 32333. https://html.spec.whatwg.org/#md-vcard 32334. https://html.spec.whatwg.org/#md-vcard-n 32335. https://html.spec.whatwg.org/#concept-property-value 32336. https://html.spec.whatwg.org/#md-vcard-n-family-name 32337. https://html.spec.whatwg.org/#concept-item 32338. https://html.spec.whatwg.org/#concept-property-value 32339. https://html.spec.whatwg.org/#md-vcard-n 32340. https://html.spec.whatwg.org/#concept-item 32341. https://html.spec.whatwg.org/#md-vcard 32342. https://html.spec.whatwg.org/#md-vcard-n 32343. https://html.spec.whatwg.org/#concept-property-value 32344. https://html.spec.whatwg.org/#md-vcard-n-given-name 32345. https://html.spec.whatwg.org/#concept-item 32346. https://html.spec.whatwg.org/#concept-property-value 32347. https://html.spec.whatwg.org/#md-vcard-n 32348. https://html.spec.whatwg.org/#concept-item 32349. https://html.spec.whatwg.org/#md-vcard 32350. https://html.spec.whatwg.org/#md-vcard-n 32351. https://html.spec.whatwg.org/#concept-property-value 32352. https://html.spec.whatwg.org/#md-vcard-n-additional-name 32353. https://html.spec.whatwg.org/#concept-item 32354. https://html.spec.whatwg.org/#concept-property-value 32355. https://html.spec.whatwg.org/#md-vcard-n 32356. https://html.spec.whatwg.org/#concept-item 32357. https://html.spec.whatwg.org/#md-vcard 32358. https://html.spec.whatwg.org/#md-vcard-n 32359. https://html.spec.whatwg.org/#concept-property-value 32360. https://html.spec.whatwg.org/#md-vcard-n-honorific-prefix 32361. https://html.spec.whatwg.org/#concept-item 32362. https://html.spec.whatwg.org/#concept-property-value 32363. https://html.spec.whatwg.org/#md-vcard-n 32364. https://html.spec.whatwg.org/#concept-item 32365. https://html.spec.whatwg.org/#md-vcard 32366. https://html.spec.whatwg.org/#md-vcard-n 32367. https://html.spec.whatwg.org/#concept-property-value 32368. https://html.spec.whatwg.org/#md-vcard-n-honorific-suffix 32369. https://html.spec.whatwg.org/#concept-item 32370. https://html.spec.whatwg.org/#concept-property-value 32371. https://html.spec.whatwg.org/#md-vcard-n 32372. https://html.spec.whatwg.org/#concept-item 32373. https://html.spec.whatwg.org/#md-vcard 32374. https://html.spec.whatwg.org/#md-vcard-fn 32375. https://html.spec.whatwg.org/#md-vcard-n 32376. https://html.spec.whatwg.org/#concept-property-value 32377. https://html.spec.whatwg.org/#md-vcard-nickname 32378. https://html.spec.whatwg.org/#concept-item 32379. https://html.spec.whatwg.org/#md-vcard 32380. https://html.spec.whatwg.org/#concept-property-value 32381. https://url.spec.whatwg.org/#syntax-url-absolute 32382. https://html.spec.whatwg.org/#md-vcard-photo 32383. https://html.spec.whatwg.org/#concept-item 32384. https://html.spec.whatwg.org/#md-vcard 32385. https://html.spec.whatwg.org/#concept-property-value 32386. https://html.spec.whatwg.org/#valid-date-string 32387. https://html.spec.whatwg.org/#md-vcard-bday 32388. https://html.spec.whatwg.org/#concept-item 32389. https://html.spec.whatwg.org/#md-vcard 32390. https://html.spec.whatwg.org/#concept-property-value 32391. https://html.spec.whatwg.org/#valid-date-string 32392. https://html.spec.whatwg.org/#md-vcard-anniversary 32393. https://html.spec.whatwg.org/#concept-item 32394. https://html.spec.whatwg.org/#md-vcard 32395. https://html.spec.whatwg.org/#concept-property-value 32396. https://html.spec.whatwg.org/#md-vcard-sex 32397. https://html.spec.whatwg.org/#concept-item 32398. https://html.spec.whatwg.org/#md-vcard 32399. https://html.spec.whatwg.org/#concept-property-value 32400. https://html.spec.whatwg.org/#md-vcard-gender-identity 32401. https://html.spec.whatwg.org/#concept-item 32402. https://html.spec.whatwg.org/#md-vcard 32403. https://html.spec.whatwg.org/#concept-property-value 32404. https://html.spec.whatwg.org/#concept-item 32405. https://html.spec.whatwg.org/#md-vcard-adr-type 32406. https://html.spec.whatwg.org/#md-vcard-adr-post-office-box 32407. https://html.spec.whatwg.org/#md-vcard-adr-extended-address 32408. https://html.spec.whatwg.org/#md-vcard-adr-street-address 32409. https://html.spec.whatwg.org/#md-vcard-adr-locality 32410. https://html.spec.whatwg.org/#md-vcard-adr-region 32411. https://html.spec.whatwg.org/#md-vcard-adr-postal-code 32412. https://html.spec.whatwg.org/#md-vcard-adr-country-name 32413. https://html.spec.whatwg.org/#md-vcard-adr-type 32414. https://html.spec.whatwg.org/#concept-item 32415. https://html.spec.whatwg.org/#concept-property-value 32416. https://html.spec.whatwg.org/#md-vcard-adr 32417. https://html.spec.whatwg.org/#concept-item 32418. https://html.spec.whatwg.org/#md-vcard 32419. https://html.spec.whatwg.org/#address-type-strings 32420. https://html.spec.whatwg.org/#md-vcard-type-adr-work 32421. https://html.spec.whatwg.org/#md-vcard-adr 32422. https://html.spec.whatwg.org/#concept-item 32423. https://html.spec.whatwg.org/#md-vcard 32424. https://html.spec.whatwg.org/#md-vcard-adr 32425. https://html.spec.whatwg.org/#concept-property-value 32426. https://infra.spec.whatwg.org/#string-is 32427. https://html.spec.whatwg.org/#address-type-strings 32428. https://html.spec.whatwg.org/#md-vcard-adr-type 32429. https://html.spec.whatwg.org/#concept-item 32430. https://html.spec.whatwg.org/#concept-property-value 32431. https://html.spec.whatwg.org/#md-vcard-adr 32432. https://html.spec.whatwg.org/#concept-item 32433. https://html.spec.whatwg.org/#md-vcard 32434. https://html.spec.whatwg.org/#md-vcard-adr 32435. https://html.spec.whatwg.org/#concept-item 32436. https://html.spec.whatwg.org/#md-vcard-adr-type 32437. https://html.spec.whatwg.org/#md-vcard-adr 32438. https://html.spec.whatwg.org/#concept-property-value 32439. https://html.spec.whatwg.org/#md-vcard-adr-post-office-box 32440. https://html.spec.whatwg.org/#concept-item 32441. https://html.spec.whatwg.org/#concept-property-value 32442. https://html.spec.whatwg.org/#md-vcard-adr 32443. https://html.spec.whatwg.org/#concept-item 32444. https://html.spec.whatwg.org/#md-vcard 32445. https://html.spec.whatwg.org/#md-vcard-adr 32446. https://html.spec.whatwg.org/#concept-property-value 32447. https://html.spec.whatwg.org/#md-vcard-adr-extended-address 32448. https://html.spec.whatwg.org/#concept-item 32449. https://html.spec.whatwg.org/#concept-property-value 32450. https://html.spec.whatwg.org/#md-vcard-adr 32451. https://html.spec.whatwg.org/#concept-item 32452. https://html.spec.whatwg.org/#md-vcard 32453. https://html.spec.whatwg.org/#md-vcard-adr 32454. https://html.spec.whatwg.org/#concept-property-value 32455. https://html.spec.whatwg.org/#md-vcard-adr-street-address 32456. https://html.spec.whatwg.org/#concept-item 32457. https://html.spec.whatwg.org/#concept-property-value 32458. https://html.spec.whatwg.org/#md-vcard-adr 32459. https://html.spec.whatwg.org/#concept-item 32460. https://html.spec.whatwg.org/#md-vcard 32461. https://html.spec.whatwg.org/#md-vcard-adr 32462. https://html.spec.whatwg.org/#concept-property-value 32463. https://html.spec.whatwg.org/#md-vcard-adr-locality 32464. https://html.spec.whatwg.org/#concept-item 32465. https://html.spec.whatwg.org/#concept-property-value 32466. https://html.spec.whatwg.org/#md-vcard-adr 32467. https://html.spec.whatwg.org/#concept-item 32468. https://html.spec.whatwg.org/#md-vcard 32469. https://html.spec.whatwg.org/#md-vcard-adr 32470. https://html.spec.whatwg.org/#concept-property-value 32471. https://html.spec.whatwg.org/#md-vcard-adr-region 32472. https://html.spec.whatwg.org/#concept-item 32473. https://html.spec.whatwg.org/#concept-property-value 32474. https://html.spec.whatwg.org/#md-vcard-adr 32475. https://html.spec.whatwg.org/#concept-item 32476. https://html.spec.whatwg.org/#md-vcard 32477. https://html.spec.whatwg.org/#md-vcard-adr 32478. https://html.spec.whatwg.org/#concept-property-value 32479. https://html.spec.whatwg.org/#md-vcard-adr-postal-code 32480. https://html.spec.whatwg.org/#concept-item 32481. https://html.spec.whatwg.org/#concept-property-value 32482. https://html.spec.whatwg.org/#md-vcard-adr 32483. https://html.spec.whatwg.org/#concept-item 32484. https://html.spec.whatwg.org/#md-vcard 32485. https://html.spec.whatwg.org/#md-vcard-adr 32486. https://html.spec.whatwg.org/#concept-property-value 32487. https://html.spec.whatwg.org/#md-vcard-adr-country-name 32488. https://html.spec.whatwg.org/#concept-item 32489. https://html.spec.whatwg.org/#concept-property-value 32490. https://html.spec.whatwg.org/#md-vcard-adr 32491. https://html.spec.whatwg.org/#concept-item 32492. https://html.spec.whatwg.org/#md-vcard 32493. https://html.spec.whatwg.org/#concept-property-value 32494. https://html.spec.whatwg.org/#concept-item 32495. https://html.spec.whatwg.org/#md-vcard-tel-type 32496. https://html.spec.whatwg.org/#md-vcard-tel-value 32497. https://html.spec.whatwg.org/#refsE163 32498. https://html.spec.whatwg.org/#refsX121 32499. https://html.spec.whatwg.org/#md-vcard-tel-type 32500. https://html.spec.whatwg.org/#concept-item 32501. https://html.spec.whatwg.org/#concept-property-value 32502. https://html.spec.whatwg.org/#md-vcard-tel 32503. https://html.spec.whatwg.org/#concept-item 32504. https://html.spec.whatwg.org/#md-vcard 32505. https://html.spec.whatwg.org/#concept-property-value 32506. https://html.spec.whatwg.org/#md-vcard-tel 32507. https://html.spec.whatwg.org/#telephone-type-strings 32508. https://html.spec.whatwg.org/#md-vcard-type-tel-voice 32509. https://html.spec.whatwg.org/#md-vcard-tel 32510. https://html.spec.whatwg.org/#concept-item 32511. https://html.spec.whatwg.org/#md-vcard 32512. https://html.spec.whatwg.org/#md-vcard-tel 32513. https://html.spec.whatwg.org/#concept-property-value 32514. https://infra.spec.whatwg.org/#string-is 32515. https://html.spec.whatwg.org/#telephone-type-strings 32516. https://html.spec.whatwg.org/#md-vcard-tel-type 32517. https://html.spec.whatwg.org/#concept-item 32518. https://html.spec.whatwg.org/#concept-property-value 32519. https://html.spec.whatwg.org/#md-vcard-tel 32520. https://html.spec.whatwg.org/#concept-item 32521. https://html.spec.whatwg.org/#md-vcard 32522. https://html.spec.whatwg.org/#md-vcard-tel 32523. https://html.spec.whatwg.org/#concept-item 32524. https://html.spec.whatwg.org/#md-vcard-tel-type 32525. https://html.spec.whatwg.org/#md-vcard-tel 32526. https://html.spec.whatwg.org/#concept-property-value 32527. https://html.spec.whatwg.org/#refsE163 32528. https://html.spec.whatwg.org/#refsX121 32529. https://html.spec.whatwg.org/#md-vcard-tel-value 32530. https://html.spec.whatwg.org/#concept-item 32531. https://html.spec.whatwg.org/#concept-property-value 32532. https://html.spec.whatwg.org/#md-vcard-tel 32533. https://html.spec.whatwg.org/#concept-item 32534. https://html.spec.whatwg.org/#md-vcard 32535. https://html.spec.whatwg.org/#concept-property-value 32536. https://html.spec.whatwg.org/#md-vcard-email 32537. https://html.spec.whatwg.org/#concept-item 32538. https://html.spec.whatwg.org/#md-vcard 32539. https://url.spec.whatwg.org/#concept-url 32540. https://html.spec.whatwg.org/#concept-property-value 32541. https://url.spec.whatwg.org/#syntax-url-absolute 32542. https://html.spec.whatwg.org/#md-vcard-impp 32543. https://html.spec.whatwg.org/#concept-item 32544. https://html.spec.whatwg.org/#md-vcard 32545. https://html.spec.whatwg.org/#concept-property-value 32546. https://html.spec.whatwg.org/#refsBCP47 32547. https://html.spec.whatwg.org/#md-vcard-lang 32548. https://html.spec.whatwg.org/#concept-item 32549. https://html.spec.whatwg.org/#md-vcard 32550. https://html.spec.whatwg.org/#concept-property-value 32551. https://html.spec.whatwg.org/#valid-non-negative-integer 32552. https://html.spec.whatwg.org/#valid-non-negative-integer 32553. https://html.spec.whatwg.org/#md-vcard-tz 32554. https://html.spec.whatwg.org/#concept-item 32555. https://html.spec.whatwg.org/#md-vcard 32556. https://html.spec.whatwg.org/#concept-property-value 32557. https://infra.spec.whatwg.org/#ascii-digit 32558. https://infra.spec.whatwg.org/#ascii-digit 32559. https://infra.spec.whatwg.org/#ascii-digit 32560. https://infra.spec.whatwg.org/#ascii-digit 32561. https://html.spec.whatwg.org/#md-vcard-geo 32562. https://html.spec.whatwg.org/#concept-item 32563. https://html.spec.whatwg.org/#md-vcard 32564. https://html.spec.whatwg.org/#concept-property-value 32565. https://html.spec.whatwg.org/#md-vcard-title 32566. https://html.spec.whatwg.org/#concept-item 32567. https://html.spec.whatwg.org/#md-vcard 32568. https://html.spec.whatwg.org/#concept-property-value 32569. https://html.spec.whatwg.org/#md-vcard-role 32570. https://html.spec.whatwg.org/#concept-item 32571. https://html.spec.whatwg.org/#md-vcard 32572. https://html.spec.whatwg.org/#concept-property-value 32573. https://url.spec.whatwg.org/#syntax-url-absolute 32574. https://html.spec.whatwg.org/#md-vcard-logo 32575. https://html.spec.whatwg.org/#concept-item 32576. https://html.spec.whatwg.org/#md-vcard 32577. https://html.spec.whatwg.org/#concept-property-value 32578. https://html.spec.whatwg.org/#concept-item 32579. https://html.spec.whatwg.org/#md-vcard 32580. https://url.spec.whatwg.org/#syntax-url-absolute 32581. https://html.spec.whatwg.org/#md-vcard-agent 32582. https://html.spec.whatwg.org/#concept-item 32583. https://html.spec.whatwg.org/#md-vcard 32584. https://html.spec.whatwg.org/#concept-property-value 32585. https://html.spec.whatwg.org/#concept-item 32586. https://html.spec.whatwg.org/#md-vcard-org-organization-name 32587. https://html.spec.whatwg.org/#md-vcard-org-organization-unit 32588. https://html.spec.whatwg.org/#md-vcard-org 32589. https://html.spec.whatwg.org/#concept-item 32590. https://html.spec.whatwg.org/#md-vcard 32591. https://html.spec.whatwg.org/#md-vcard-org 32592. https://html.spec.whatwg.org/#concept-property-value 32593. https://html.spec.whatwg.org/#md-vcard-org-organization-name 32594. https://html.spec.whatwg.org/#concept-item 32595. https://html.spec.whatwg.org/#concept-property-value 32596. https://html.spec.whatwg.org/#md-vcard-org 32597. https://html.spec.whatwg.org/#concept-item 32598. https://html.spec.whatwg.org/#md-vcard 32599. https://html.spec.whatwg.org/#md-vcard-org 32600. https://html.spec.whatwg.org/#concept-property-value 32601. https://html.spec.whatwg.org/#md-vcard-org-organization-unit 32602. https://html.spec.whatwg.org/#concept-item 32603. https://html.spec.whatwg.org/#concept-property-value 32604. https://html.spec.whatwg.org/#md-vcard-org 32605. https://html.spec.whatwg.org/#concept-item 32606. https://html.spec.whatwg.org/#md-vcard 32607. https://url.spec.whatwg.org/#concept-url 32608. https://html.spec.whatwg.org/#concept-property-value 32609. https://url.spec.whatwg.org/#syntax-url-absolute 32610. https://html.spec.whatwg.org/#md-vcard-member 32611. https://html.spec.whatwg.org/#concept-item 32612. https://html.spec.whatwg.org/#md-vcard 32613. https://html.spec.whatwg.org/#concept-item 32614. https://html.spec.whatwg.org/#md-vcard-kind 32615. https://html.spec.whatwg.org/#md-vcard-kind-group 32616. https://html.spec.whatwg.org/#concept-property-value 32617. https://html.spec.whatwg.org/#concept-item 32618. https://html.spec.whatwg.org/#md-vcard-related-url 32619. https://html.spec.whatwg.org/#md-vcard-related-rel 32620. https://html.spec.whatwg.org/#md-vcard-related 32621. https://html.spec.whatwg.org/#concept-item 32622. https://html.spec.whatwg.org/#md-vcard 32623. https://html.spec.whatwg.org/#md-vcard-related 32624. https://url.spec.whatwg.org/#concept-url 32625. https://html.spec.whatwg.org/#concept-property-value 32626. https://url.spec.whatwg.org/#syntax-url-absolute 32627. https://html.spec.whatwg.org/#md-vcard-related-url 32628. https://html.spec.whatwg.org/#concept-item 32629. https://html.spec.whatwg.org/#concept-property-value 32630. https://html.spec.whatwg.org/#md-vcard-related 32631. https://html.spec.whatwg.org/#concept-item 32632. https://html.spec.whatwg.org/#md-vcard 32633. https://html.spec.whatwg.org/#md-vcard-related 32634. https://html.spec.whatwg.org/#concept-property-value 32635. https://infra.spec.whatwg.org/#string-is 32636. https://html.spec.whatwg.org/#relationship-strings 32637. https://html.spec.whatwg.org/#md-vcard-related-rel 32638. https://html.spec.whatwg.org/#concept-item 32639. https://html.spec.whatwg.org/#concept-property-value 32640. https://html.spec.whatwg.org/#md-vcard-related 32641. https://html.spec.whatwg.org/#concept-item 32642. https://html.spec.whatwg.org/#md-vcard 32643. https://html.spec.whatwg.org/#concept-property-value 32644. https://html.spec.whatwg.org/#md-vcard-categories 32645. https://html.spec.whatwg.org/#concept-item 32646. https://html.spec.whatwg.org/#md-vcard 32647. https://html.spec.whatwg.org/#concept-property-value 32648. https://html.spec.whatwg.org/#md-vcard-note 32649. https://html.spec.whatwg.org/#concept-item 32650. https://html.spec.whatwg.org/#md-vcard 32651. https://html.spec.whatwg.org/#concept-property-value 32652. https://html.spec.whatwg.org/#valid-global-date-and-time-string 32653. https://html.spec.whatwg.org/#md-vcard-rev 32654. https://html.spec.whatwg.org/#concept-item 32655. https://html.spec.whatwg.org/#md-vcard 32656. https://html.spec.whatwg.org/#concept-property-value 32657. https://url.spec.whatwg.org/#syntax-url-absolute 32658. https://html.spec.whatwg.org/#md-vcard-sound 32659. https://html.spec.whatwg.org/#concept-item 32660. https://html.spec.whatwg.org/#md-vcard 32661. https://html.spec.whatwg.org/#concept-property-value 32662. https://html.spec.whatwg.org/#md-vcard-uid 32663. https://html.spec.whatwg.org/#concept-item 32664. https://html.spec.whatwg.org/#md-vcard 32665. https://url.spec.whatwg.org/#concept-url 32666. https://html.spec.whatwg.org/#concept-property-value 32667. https://url.spec.whatwg.org/#syntax-url-absolute 32668. https://html.spec.whatwg.org/#md-vcard-url 32669. https://html.spec.whatwg.org/#concept-item 32670. https://html.spec.whatwg.org/#md-vcard 32671. https://html.spec.whatwg.org/#refsXFN 32672. https://html.spec.whatwg.org/#document 32673. https://html.spec.whatwg.org/#concept-item 32674. https://html.spec.whatwg.org/#item-types 32675. https://html.spec.whatwg.org/#md-vcard 32676. https://html.spec.whatwg.org/#concept-item 32677. https://html.spec.whatwg.org/#item-types 32678. https://html.spec.whatwg.org/#md-vcard 32679. https://html.spec.whatwg.org/#add-a-vcard-line 32680. https://html.spec.whatwg.org/#add-a-vcard-line 32681. https://html.spec.whatwg.org/#add-a-vcard-line 32682. https://html.spec.whatwg.org/#add-a-vcard-line 32683. https://html.spec.whatwg.org/#escaping-the-vcard-text-string 32684. https://dom.spec.whatwg.org/#concept-document-url 32685. https://html.spec.whatwg.org/#the-title-element-2 32686. https://html.spec.whatwg.org/#add-a-vcard-line 32687. https://html.spec.whatwg.org/#escaping-the-vcard-text-string 32688. https://html.spec.whatwg.org/#the-title-element-2 32689. https://dom.spec.whatwg.org/#concept-descendant-text-content 32690. https://html.spec.whatwg.org/#the-properties-of-an-item 32691. https://html.spec.whatwg.org/#property-names 32692. https://html.spec.whatwg.org/#concept-property-value 32693. https://html.spec.whatwg.org/#concept-item 32694. https://html.spec.whatwg.org/#md-vcard-n 32695. https://html.spec.whatwg.org/#collecting-the-first-vcard-subproperty 32696. https://html.spec.whatwg.org/#md-vcard-n-family-name 32697. https://html.spec.whatwg.org/#collecting-the-first-vcard-subproperty 32698. https://html.spec.whatwg.org/#md-vcard-n-given-name 32699. https://html.spec.whatwg.org/#collecting-the-first-vcard-subproperty 32700. https://html.spec.whatwg.org/#md-vcard-n-additional-name 32701. https://html.spec.whatwg.org/#collecting-the-first-vcard-subproperty 32702. https://html.spec.whatwg.org/#md-vcard-n-honorific-prefix 32703. https://html.spec.whatwg.org/#collecting-the-first-vcard-subproperty 32704. https://html.spec.whatwg.org/#md-vcard-n-honorific-suffix 32705. https://html.spec.whatwg.org/#concept-property-value 32706. https://html.spec.whatwg.org/#concept-item 32707. https://html.spec.whatwg.org/#md-vcard-adr 32708. https://html.spec.whatwg.org/#collecting-vcard-subproperties 32709. https://html.spec.whatwg.org/#md-vcard-adr-post-office-box 32710. https://html.spec.whatwg.org/#collecting-vcard-subproperties 32711. https://html.spec.whatwg.org/#md-vcard-adr-extended-address 32712. https://html.spec.whatwg.org/#collecting-vcard-subproperties 32713. https://html.spec.whatwg.org/#md-vcard-adr-street-address 32714. https://html.spec.whatwg.org/#collecting-the-first-vcard-subproperty 32715. https://html.spec.whatwg.org/#md-vcard-adr-locality 32716. https://html.spec.whatwg.org/#collecting-the-first-vcard-subproperty 32717. https://html.spec.whatwg.org/#md-vcard-adr-region 32718. https://html.spec.whatwg.org/#collecting-the-first-vcard-subproperty 32719. https://html.spec.whatwg.org/#md-vcard-adr-postal-code 32720. https://html.spec.whatwg.org/#collecting-the-first-vcard-subproperty 32721. https://html.spec.whatwg.org/#md-vcard-adr-country-name 32722. https://html.spec.whatwg.org/#md-vcard-adr-type 32723. https://html.spec.whatwg.org/#concept-property-value 32724. https://html.spec.whatwg.org/#concept-item 32725. https://infra.spec.whatwg.org/#ascii-alphanumeric 32726. https://html.spec.whatwg.org/#concept-property-value 32727. https://html.spec.whatwg.org/#concept-property-value 32728. https://html.spec.whatwg.org/#concept-item 32729. https://html.spec.whatwg.org/#md-vcard-org 32730. https://html.spec.whatwg.org/#collecting-the-first-vcard-subproperty 32731. https://html.spec.whatwg.org/#md-vcard-org-organization-name 32732. https://html.spec.whatwg.org/#md-vcard-org-organization-unit 32733. https://html.spec.whatwg.org/#concept-property-value 32734. https://html.spec.whatwg.org/#concept-item 32735. https://html.spec.whatwg.org/#escaping-the-vcard-text-string 32736. https://html.spec.whatwg.org/#concept-property-value 32737. https://html.spec.whatwg.org/#concept-property-value 32738. https://html.spec.whatwg.org/#concept-item 32739. https://html.spec.whatwg.org/#item-types 32740. https://html.spec.whatwg.org/#md-vcard 32741. https://html.spec.whatwg.org/#md-vcard-related 32742. https://html.spec.whatwg.org/#md-vcard-related-url 32743. https://html.spec.whatwg.org/#url-property-elements 32744. https://html.spec.whatwg.org/#escaping-the-vcard-text-string 32745. https://html.spec.whatwg.org/#concept-property-value 32746. https://html.spec.whatwg.org/#md-vcard-related-rel 32747. https://html.spec.whatwg.org/#concept-property-value 32748. https://html.spec.whatwg.org/#concept-item 32749. https://infra.spec.whatwg.org/#ascii-alphanumeric 32750. https://html.spec.whatwg.org/#concept-property-value 32751. https://html.spec.whatwg.org/#concept-property-value 32752. https://html.spec.whatwg.org/#concept-item 32753. https://html.spec.whatwg.org/#collecting-the-first-vcard-subproperty 32754. https://html.spec.whatwg.org/#concept-property-value 32755. https://html.spec.whatwg.org/#concept-item 32756. https://infra.spec.whatwg.org/#ascii-alphanumeric 32757. https://html.spec.whatwg.org/#concept-property-value 32758. https://html.spec.whatwg.org/#concept-property-value 32759. https://html.spec.whatwg.org/#concept-item 32760. https://html.spec.whatwg.org/#md-vcard-sex 32761. https://html.spec.whatwg.org/#concept-property-value 32762. https://html.spec.whatwg.org/#concept-property-value 32763. https://html.spec.whatwg.org/#concept-item 32764. https://html.spec.whatwg.org/#md-vcard-gender-identity 32765. https://html.spec.whatwg.org/#concept-property-value 32766. https://html.spec.whatwg.org/#concept-property-value 32767. https://html.spec.whatwg.org/#concept-item 32768. https://html.spec.whatwg.org/#concept-property-value 32769. https://html.spec.whatwg.org/#url-property-elements 32770. https://html.spec.whatwg.org/#md-vcard-bday 32771. https://html.spec.whatwg.org/#md-vcard-anniversary 32772. https://html.spec.whatwg.org/#valid-date-string 32773. https://html.spec.whatwg.org/#md-vcard-rev 32774. https://html.spec.whatwg.org/#valid-global-date-and-time-string 32775. https://html.spec.whatwg.org/#md-vcard-geo 32776. https://html.spec.whatwg.org/#add-a-vcard-line 32777. https://html.spec.whatwg.org/#add-a-vcard-line 32778. https://html.spec.whatwg.org/#add-a-vcard-line 32779. https://infra.spec.whatwg.org/#ascii-uppercase 32780. https://infra.spec.whatwg.org/#string-code-point-length 32781. https://html.spec.whatwg.org/#concept-property-value 32782. https://html.spec.whatwg.org/#concept-item 32783. https://html.spec.whatwg.org/#escaping-the-vcard-text-string 32784. https://html.spec.whatwg.org/#concept-property-value 32785. https://html.spec.whatwg.org/#concept-property-value 32786. https://html.spec.whatwg.org/#concept-item 32787. https://html.spec.whatwg.org/#escaping-the-vcard-text-string 32788. https://html.spec.whatwg.org/#concept-property-value 32789. https://html.spec.whatwg.org/#md-vcard 32790. https://html.spec.whatwg.org/#item-types 32791. https://html.spec.whatwg.org/#defined-property-name 32792. https://html.spec.whatwg.org/#the-address-element 32793. https://html.spec.whatwg.org/#item-types 32794. https://html.spec.whatwg.org/#support-global-identifiers-for-items 32795. https://html.spec.whatwg.org/#defined-property-name 32796. https://html.spec.whatwg.org/#refsRFC5545 32797. https://html.spec.whatwg.org/#concept-property-value 32798. https://url.spec.whatwg.org/#syntax-url-absolute 32799. https://html.spec.whatwg.org/#md-vevent-attach 32800. https://html.spec.whatwg.org/#concept-item 32801. https://html.spec.whatwg.org/#md-vevent 32802. https://html.spec.whatwg.org/#concept-property-value 32803. https://html.spec.whatwg.org/#md-vevent-categories 32804. https://html.spec.whatwg.org/#concept-item 32805. https://html.spec.whatwg.org/#md-vevent 32806. https://html.spec.whatwg.org/#concept-property-value 32807. https://html.spec.whatwg.org/#md-vevent-class 32808. https://html.spec.whatwg.org/#concept-item 32809. https://html.spec.whatwg.org/#md-vevent 32810. https://html.spec.whatwg.org/#concept-property-value 32811. https://html.spec.whatwg.org/#md-vevent-comment 32812. https://html.spec.whatwg.org/#concept-item 32813. https://html.spec.whatwg.org/#md-vevent 32814. https://html.spec.whatwg.org/#concept-property-value 32815. https://html.spec.whatwg.org/#md-vevent-description 32816. https://html.spec.whatwg.org/#concept-item 32817. https://html.spec.whatwg.org/#md-vevent 32818. https://html.spec.whatwg.org/#concept-property-value 32819. https://infra.spec.whatwg.org/#ascii-digit 32820. https://infra.spec.whatwg.org/#ascii-digit 32821. https://infra.spec.whatwg.org/#ascii-digit 32822. https://infra.spec.whatwg.org/#ascii-digit 32823. https://html.spec.whatwg.org/#md-vevent-geo 32824. https://html.spec.whatwg.org/#concept-item 32825. https://html.spec.whatwg.org/#md-vevent 32826. https://html.spec.whatwg.org/#concept-property-value 32827. https://html.spec.whatwg.org/#md-vevent-location 32828. https://html.spec.whatwg.org/#concept-item 32829. https://html.spec.whatwg.org/#md-vevent 32830. https://html.spec.whatwg.org/#concept-property-value 32831. https://html.spec.whatwg.org/#md-vevent-resources 32832. https://html.spec.whatwg.org/#concept-item 32833. https://html.spec.whatwg.org/#md-vevent 32834. https://html.spec.whatwg.org/#concept-property-value 32835. https://html.spec.whatwg.org/#md-vevent-status 32836. https://html.spec.whatwg.org/#concept-item 32837. https://html.spec.whatwg.org/#md-vevent 32838. https://html.spec.whatwg.org/#concept-property-value 32839. https://html.spec.whatwg.org/#concept-property-value 32840. https://html.spec.whatwg.org/#md-vevent-summary 32841. https://html.spec.whatwg.org/#concept-item 32842. https://html.spec.whatwg.org/#md-vevent 32843. https://html.spec.whatwg.org/#md-vevent-dtend 32844. https://html.spec.whatwg.org/#concept-item 32845. https://html.spec.whatwg.org/#md-vevent 32846. https://html.spec.whatwg.org/#md-vevent-dtstart 32847. https://html.spec.whatwg.org/#valid-date-string 32848. https://html.spec.whatwg.org/#concept-property-value 32849. https://html.spec.whatwg.org/#md-vevent-dtend 32850. https://html.spec.whatwg.org/#valid-date-string 32851. https://html.spec.whatwg.org/#concept-property-value 32852. https://html.spec.whatwg.org/#valid-global-date-and-time-string 32853. https://html.spec.whatwg.org/#concept-property-value 32854. https://html.spec.whatwg.org/#md-vevent-dtstart 32855. https://html.spec.whatwg.org/#concept-item 32856. https://html.spec.whatwg.org/#md-vevent-dtend 32857. https://html.spec.whatwg.org/#md-vevent-dtend 32858. https://html.spec.whatwg.org/#concept-property-value 32859. https://html.spec.whatwg.org/#md-vevent-dtend 32860. https://html.spec.whatwg.org/#concept-item 32861. https://html.spec.whatwg.org/#md-vevent 32862. https://html.spec.whatwg.org/#md-vevent 32863. https://html.spec.whatwg.org/#md-vevent-duration 32864. https://html.spec.whatwg.org/#concept-property-value 32865. https://html.spec.whatwg.org/#valid-date-string 32866. https://html.spec.whatwg.org/#valid-global-date-and-time-string 32867. https://html.spec.whatwg.org/#md-vevent-dtstart 32868. https://html.spec.whatwg.org/#concept-item 32869. https://html.spec.whatwg.org/#md-vevent 32870. https://html.spec.whatwg.org/#concept-property-value 32871. https://html.spec.whatwg.org/#valid-vevent-duration-string 32872. https://html.spec.whatwg.org/#md-vevent-duration 32873. https://html.spec.whatwg.org/#concept-item 32874. https://html.spec.whatwg.org/#md-vevent 32875. https://html.spec.whatwg.org/#md-vevent 32876. https://html.spec.whatwg.org/#md-vevent-dtend 32877. https://html.spec.whatwg.org/#concept-property-value 32878. https://html.spec.whatwg.org/#md-vevent-transp 32879. https://html.spec.whatwg.org/#concept-item 32880. https://html.spec.whatwg.org/#md-vevent 32881. https://html.spec.whatwg.org/#concept-property-value 32882. https://html.spec.whatwg.org/#md-vevent-contact 32883. https://html.spec.whatwg.org/#concept-item 32884. https://html.spec.whatwg.org/#md-vevent 32885. https://url.spec.whatwg.org/#concept-url 32886. https://html.spec.whatwg.org/#concept-property-value 32887. https://url.spec.whatwg.org/#syntax-url-absolute 32888. https://html.spec.whatwg.org/#md-vevent-url 32889. https://html.spec.whatwg.org/#concept-item 32890. https://html.spec.whatwg.org/#md-vevent 32891. https://html.spec.whatwg.org/#concept-property-value 32892. https://html.spec.whatwg.org/#md-vevent-uid 32893. https://html.spec.whatwg.org/#concept-item 32894. https://html.spec.whatwg.org/#md-vevent 32895. https://html.spec.whatwg.org/#concept-property-value 32896. https://html.spec.whatwg.org/#valid-date-string 32897. https://html.spec.whatwg.org/#valid-global-date-and-time-string 32898. https://html.spec.whatwg.org/#md-vevent-exdate 32899. https://html.spec.whatwg.org/#concept-item 32900. https://html.spec.whatwg.org/#md-vevent 32901. https://html.spec.whatwg.org/#concept-property-value 32902. https://html.spec.whatwg.org/#valid-date-string 32903. https://html.spec.whatwg.org/#valid-global-date-and-time-string 32904. https://html.spec.whatwg.org/#valid-global-date-and-time-string 32905. https://html.spec.whatwg.org/#valid-global-date-and-time-string 32906. https://html.spec.whatwg.org/#valid-global-date-and-time-string 32907. https://html.spec.whatwg.org/#valid-vevent-duration-string 32908. https://html.spec.whatwg.org/#md-vevent-rdate 32909. https://html.spec.whatwg.org/#concept-item 32910. https://html.spec.whatwg.org/#md-vevent 32911. https://html.spec.whatwg.org/#concept-property-value 32912. https://html.spec.whatwg.org/#refsRFC5545 32913. https://html.spec.whatwg.org/#md-vevent-rrule 32914. https://html.spec.whatwg.org/#concept-item 32915. https://html.spec.whatwg.org/#md-vevent 32916. https://html.spec.whatwg.org/#concept-property-value 32917. https://html.spec.whatwg.org/#valid-global-date-and-time-string 32918. https://html.spec.whatwg.org/#md-vevent-created 32919. https://html.spec.whatwg.org/#concept-item 32920. https://html.spec.whatwg.org/#md-vevent 32921. https://html.spec.whatwg.org/#concept-property-value 32922. https://html.spec.whatwg.org/#valid-global-date-and-time-string 32923. https://html.spec.whatwg.org/#md-vevent-last-modified 32924. https://html.spec.whatwg.org/#concept-item 32925. https://html.spec.whatwg.org/#md-vevent 32926. https://html.spec.whatwg.org/#concept-property-value 32927. https://html.spec.whatwg.org/#valid-non-negative-integer 32928. https://html.spec.whatwg.org/#md-vevent-sequence 32929. https://html.spec.whatwg.org/#concept-item 32930. https://html.spec.whatwg.org/#md-vevent 32931. https://html.spec.whatwg.org/#valid-non-negative-integer 32932. https://html.spec.whatwg.org/#valid-non-negative-integer 32933. https://html.spec.whatwg.org/#valid-non-negative-integer 32934. https://html.spec.whatwg.org/#valid-non-negative-integer 32935. https://html.spec.whatwg.org/#valid-non-negative-integer 32936. https://html.spec.whatwg.org/#document 32937. https://html.spec.whatwg.org/#concept-item 32938. https://html.spec.whatwg.org/#md-vevent 32939. https://html.spec.whatwg.org/#add-an-icalendar-line 32940. https://html.spec.whatwg.org/#add-an-icalendar-line 32941. https://html.spec.whatwg.org/#add-an-icalendar-line 32942. https://html.spec.whatwg.org/#concept-item 32943. https://html.spec.whatwg.org/#md-vevent 32944. https://html.spec.whatwg.org/#add-an-icalendar-line 32945. https://html.spec.whatwg.org/#add-an-icalendar-line 32946. https://html.spec.whatwg.org/#refsRFC5545 32947. https://html.spec.whatwg.org/#the-properties-of-an-item 32948. https://html.spec.whatwg.org/#property-names 32949. https://html.spec.whatwg.org/#concept-property-value 32950. https://html.spec.whatwg.org/#concept-item 32951. https://html.spec.whatwg.org/#md-vevent-dtend 32952. https://html.spec.whatwg.org/#md-vevent-dtstart 32953. https://html.spec.whatwg.org/#md-vevent-exdate 32954. https://html.spec.whatwg.org/#md-vevent-rdate 32955. https://html.spec.whatwg.org/#md-vevent-created 32956. https://html.spec.whatwg.org/#md-vevent-last-modified 32957. https://html.spec.whatwg.org/#concept-property-value 32958. https://html.spec.whatwg.org/#concept-property-value 32959. https://html.spec.whatwg.org/#valid-date-string 32960. https://html.spec.whatwg.org/#add-an-icalendar-line 32961. https://html.spec.whatwg.org/#concept-property-value 32962. https://html.spec.whatwg.org/#valid-global-date-and-time-string 32963. https://html.spec.whatwg.org/#add-an-icalendar-line 32964. https://html.spec.whatwg.org/#add-an-icalendar-line 32965. https://html.spec.whatwg.org/#concept-property-value 32966. https://html.spec.whatwg.org/#add-an-icalendar-line 32967. https://html.spec.whatwg.org/#add-an-icalendar-line 32968. https://infra.spec.whatwg.org/#ascii-uppercase 32969. https://infra.spec.whatwg.org/#string-code-point-length 32970. https://html.spec.whatwg.org/#md-vevent 32971. https://html.spec.whatwg.org/#item-types 32972. https://html.spec.whatwg.org/#defined-property-name 32973. https://html.spec.whatwg.org/#item-types 32974. https://html.spec.whatwg.org/#defined-property-name 32975. https://html.spec.whatwg.org/#concept-property-value 32976. https://url.spec.whatwg.org/#syntax-url-absolute 32977. https://html.spec.whatwg.org/#md-work-work 32978. https://html.spec.whatwg.org/#concept-item 32979. https://html.spec.whatwg.org/#md-work 32980. https://html.spec.whatwg.org/#md-work-title 32981. https://html.spec.whatwg.org/#concept-item 32982. https://html.spec.whatwg.org/#md-work 32983. https://html.spec.whatwg.org/#concept-property-value 32984. https://html.spec.whatwg.org/#concept-item 32985. https://html.spec.whatwg.org/#md-vcard 32986. https://html.spec.whatwg.org/#md-work-author 32987. https://html.spec.whatwg.org/#concept-item 32988. https://html.spec.whatwg.org/#md-work 32989. https://html.spec.whatwg.org/#concept-property-value 32990. https://url.spec.whatwg.org/#syntax-url-absolute 32991. https://html.spec.whatwg.org/#md-work-license 32992. https://html.spec.whatwg.org/#concept-item 32993. https://html.spec.whatwg.org/#md-work 32994. https://html.spec.whatwg.org/#document 32995. https://html.spec.whatwg.org/#top-level-microdata-items 32996. https://html.spec.whatwg.org/#get-the-object 32997. https://html.spec.whatwg.org/#refsJSON 32998. https://html.spec.whatwg.org/#item-types 32999. https://html.spec.whatwg.org/#item-types 33000. https://html.spec.whatwg.org/#attr-itemtype 33001. https://html.spec.whatwg.org/#global-identifier 33002. https://html.spec.whatwg.org/#global-identifier 33003. https://html.spec.whatwg.org/#property-names 33004. https://html.spec.whatwg.org/#the-properties-of-an-item 33005. https://html.spec.whatwg.org/#the-properties-of-an-item 33006. https://html.spec.whatwg.org/#concept-property-value 33007. https://html.spec.whatwg.org/#concept-item 33008. https://html.spec.whatwg.org/#get-the-object 33009. https://html.spec.whatwg.org/#property-names 33010. https://html.spec.whatwg.org/#attr-hidden 33011. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/hidden 33012. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/hidden 33013. https://html.spec.whatwg.org/#html-elements 33014. https://html.spec.whatwg.org/#attr-hidden 33015. https://html.spec.whatwg.org/#enumerated-attribute 33016. https://html.spec.whatwg.org/#find-in-page-2 33017. https://html.spec.whatwg.org/#navigate-fragid 33018. https://html.spec.whatwg.org/#missing-value-default 33019. https://html.spec.whatwg.org/#invalid-value-default 33020. https://html.spec.whatwg.org/#attr-hidden-hidden-state 33021. https://html.spec.whatwg.org/#attr-hidden 33022. https://html.spec.whatwg.org/#attr-hidden-hidden-state 33023. https://html.spec.whatwg.org/#attr-hidden-hidden-state 33024. https://html.spec.whatwg.org/#attr-hidden-hidden-state 33025. https://html.spec.whatwg.org/#hiddenCSS 33026. https://html.spec.whatwg.org/#attr-hidden 33027. https://html.spec.whatwg.org/#attr-hidden-until-found-state 33028. https://html.spec.whatwg.org/#attr-hidden-hidden-state 33029. https://html.spec.whatwg.org/#find-in-page-2 33030. https://html.spec.whatwg.org/#navigate-fragid 33031. https://html.spec.whatwg.org/#attr-hidden 33032. https://html.spec.whatwg.org/#ancestor-hidden-until-found-revealing-algorithm 33033. https://html.spec.whatwg.org/#attr-hidden 33034. https://html.spec.whatwg.org/#attr-hidden-until-found-state 33035. https://html.spec.whatwg.org/#hiddenCSS 33036. https://html.spec.whatwg.org/#attr-hidden-hidden-state 33037. https://html.spec.whatwg.org/#attr-hidden-until-found-state 33038. https://html.spec.whatwg.org/#attr-hidden-until-found-state 33039. https://html.spec.whatwg.org/#attr-hidden 33040. https://html.spec.whatwg.org/#attr-hidden-until-found-state 33041. https://html.spec.whatwg.org/#attr-hidden-until-found-state 33042. https://html.spec.whatwg.org/#attr-hidden-hidden-state 33043. https://drafts.csswg.org/css-contain/#containment-layout 33044. https://html.spec.whatwg.org/#attr-hidden-until-found-state 33045. https://drafts.csswg.org/css2/#propdef-visibility 33046. https://html.spec.whatwg.org/#attr-hidden-until-found-state 33047. https://html.spec.whatwg.org/#attr-hidden 33048. https://html.spec.whatwg.org/#attr-hidden 33049. https://html.spec.whatwg.org/#attr-hidden 33050. https://html.spec.whatwg.org/#attr-hidden 33051. https://html.spec.whatwg.org/#hyperlink 33052. https://html.spec.whatwg.org/#attr-hidden 33053. https://html.spec.whatwg.org/#the-label-element 33054. https://html.spec.whatwg.org/#the-output-element 33055. https://html.spec.whatwg.org/#attr-hidden 33056. https://html.spec.whatwg.org/#attr-hidden 33057. https://html.spec.whatwg.org/#attr-hidden 33058. https://html.spec.whatwg.org/#attr-hyperlink-href 33059. https://html.spec.whatwg.org/#attr-hidden 33060. https://w3c.github.io/aria/#aria-describedby 33061. https://html.spec.whatwg.org/#attr-hidden 33062. https://html.spec.whatwg.org/#the-canvas-element 33063. https://html.spec.whatwg.org/#attr-hidden 33064. https://html.spec.whatwg.org/#the-form-element 33065. https://html.spec.whatwg.org/#attr-fae-form 33066. https://html.spec.whatwg.org/#attr-hidden 33067. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/hidden 33068. https://html.spec.whatwg.org/#attr-hidden 33069. https://html.spec.whatwg.org/#attr-hidden-until-found-state 33070. https://html.spec.whatwg.org/#attr-hidden-until-found 33071. https://html.spec.whatwg.org/#attr-hidden 33072. https://html.spec.whatwg.org/#dom-hidden 33073. https://infra.spec.whatwg.org/#ascii-case-insensitive 33074. https://html.spec.whatwg.org/#attr-hidden-until-found 33075. https://html.spec.whatwg.org/#attr-hidden 33076. https://html.spec.whatwg.org/#attr-hidden-until-found 33077. https://html.spec.whatwg.org/#attr-hidden 33078. https://html.spec.whatwg.org/#attr-hidden 33079. https://html.spec.whatwg.org/#attr-hidden 33080. https://html.spec.whatwg.org/#attr-hidden 33081. https://html.spec.whatwg.org/#attr-hidden 33082. https://html.spec.whatwg.org/#attr-hidden 33083. https://drafts.csswg.org/css-scoping/#flat-tree 33084. https://html.spec.whatwg.org/#attr-hidden 33085. https://html.spec.whatwg.org/#attr-hidden-until-found-state 33086. https://dom.spec.whatwg.org/#concept-event-fire 33087. https://html.spec.whatwg.org/#event-beforematch 33088. https://dom.spec.whatwg.org/#dom-event-bubbles 33089. https://html.spec.whatwg.org/#attr-hidden 33090. https://drafts.csswg.org/css-scoping/#flat-tree 33091. https://html.spec.whatwg.org/#traversable-navigable 33092. https://html.spec.whatwg.org/#system-visibility-state 33093. https://html.spec.whatwg.org/#system-visibility-state 33094. https://html.spec.whatwg.org/#traversable-navigable 33095. https://html.spec.whatwg.org/#inclusive-descendant-navigables 33096. https://html.spec.whatwg.org/#nav-document 33097. https://infra.spec.whatwg.org/#list-iterate 33098. https://html.spec.whatwg.org/#nav-document 33099. https://html.spec.whatwg.org/#queue-a-global-task 33100. https://html.spec.whatwg.org/#user-interaction-task-source 33101. https://html.spec.whatwg.org/#concept-relevant-global 33102. https://html.spec.whatwg.org/#update-the-visibility-state 33103. https://html.spec.whatwg.org/#document 33104. https://developer.mozilla.org/en-US/docs/Web/API/Document/visibilityState 33105. https://webidl.spec.whatwg.org/#this 33106. https://html.spec.whatwg.org/#visibility-state 33107. https://developer.mozilla.org/en-US/docs/Web/API/Document/hidden 33108. https://webidl.spec.whatwg.org/#this 33109. https://html.spec.whatwg.org/#visibility-state 33110. https://html.spec.whatwg.org/#document 33111. https://html.spec.whatwg.org/#visibility-state 33112. https://html.spec.whatwg.org/#visibility-state 33113. https://w3c.github.io/performance-timeline/#queue-a-performanceentry 33114. https://html.spec.whatwg.org/#visibilitystateentry 33115. https://html.spec.whatwg.org/#visibilitystateentry-state 33116. https://html.spec.whatwg.org/#visibilitystateentry-timestamp 33117. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 33118. https://html.spec.whatwg.org/#concept-relevant-global 33119. https://w3c.github.io/screen-orientation/#dfn-screen-orientation-change-steps 33120. https://html.spec.whatwg.org/#refsSCREENORIENTATION 33121. https://drafts.csswg.org/css-view-transitions/#view-transition-page-visibility-change-steps 33122. https://html.spec.whatwg.org/#visibility-state 33123. https://html.spec.whatwg.org/#page-visibility-change-steps 33124. https://html.spec.whatwg.org/#page-visibility-change-steps 33125. https://html.spec.whatwg.org/#refsDEVICEPOSTURE 33126. https://html.spec.whatwg.org/#refsWEBNFC 33127. https://dom.spec.whatwg.org/#concept-event-fire 33128. https://html.spec.whatwg.org/#event-visibilitychange 33129. https://dom.spec.whatwg.org/#dom-event-bubbles 33130. https://html.spec.whatwg.org/#visibilitystateentry 33131. https://developer.mozilla.org/en-US/docs/Web/API/VisibilityStateEntry 33132. https://html.spec.whatwg.org/#visibilitystateentry 33133. https://w3c.github.io/performance-timeline/#dom-performanceentry 33134. https://html.spec.whatwg.org/#visibilitystateentry-name 33135. https://w3c.github.io/performance-timeline/#dom-performanceentry-name 33136. https://html.spec.whatwg.org/#visibilitystateentry-entrytype 33137. https://w3c.github.io/performance-timeline/#dom-performanceentry-entrytype 33138. https://html.spec.whatwg.org/#visibilitystateentry-starttime 33139. https://w3c.github.io/performance-timeline/#dom-performanceentry-starttime 33140. https://html.spec.whatwg.org/#visibilitystateentry-duration 33141. https://w3c.github.io/performance-timeline/#dom-performanceentry-duration 33142. https://html.spec.whatwg.org/#visibilitystateentry 33143. https://w3c.github.io/hr-time/#dom-domhighrestimestamp 33144. https://html.spec.whatwg.org/#visibilitystateentry 33145. https://webidl.spec.whatwg.org/#this 33146. https://html.spec.whatwg.org/#visibilitystateentry-state 33147. https://webidl.spec.whatwg.org/#this 33148. https://html.spec.whatwg.org/#visibilitystateentry-timestamp 33149. https://html.spec.whatwg.org/#the-inert-attribute 33150. https://html.spec.whatwg.org/#inert 33151. https://drafts.csswg.org/css-ui-4/#pointer-events-control 33152. https://drafts.csswg.org/css-ui-4/#content-selection 33153. https://w3c.github.io/editing/docs/execCommand/#editable 33154. https://html.spec.whatwg.org/#find-in-page-2 33155. https://html.spec.whatwg.org/#concept-command 33156. https://html.spec.whatwg.org/#find-in-page-2 33157. https://html.spec.whatwg.org/#inert 33158. https://html.spec.whatwg.org/#document 33159. https://html.spec.whatwg.org/#the-dialog-element 33160. https://drafts.csswg.org/css-position-4/#document-top-layer 33161. https://dom.spec.whatwg.org/#connected 33162. https://drafts.csswg.org/css-scoping/#flat-tree 33163. https://html.spec.whatwg.org/#inert 33164. https://html.spec.whatwg.org/#inert 33165. https://html.spec.whatwg.org/#the-inert-attribute 33166. https://drafts.csswg.org/css-scoping/#flat-tree 33167. https://html.spec.whatwg.org/#inert 33168. https://html.spec.whatwg.org/#the-dialog-element 33169. https://html.spec.whatwg.org/#dom-dialog-showmodal 33170. https://drafts.csswg.org/css-position-4/#add-an-element-to-the-top-layer 33171. https://html.spec.whatwg.org/#the-dialog-element 33172. https://dom.spec.whatwg.org/#concept-node-document 33173. https://drafts.csswg.org/css-position-4/#document-top-layer 33174. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inert 33175. https://html.spec.whatwg.org/#the-inert-attribute 33176. https://html.spec.whatwg.org/#boolean-attribute 33177. https://drafts.csswg.org/css-scoping/#flat-tree 33178. https://html.spec.whatwg.org/#inert 33179. https://html.spec.whatwg.org/#inert 33180. https://html.spec.whatwg.org/#attr-fe-disabled 33181. https://html.spec.whatwg.org/#inert 33182. https://html.spec.whatwg.org/#the-dialog-element 33183. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inert 33184. https://html.spec.whatwg.org/#reflect 33185. https://html.spec.whatwg.org/#window 33186. https://w3c.github.io/hr-time/#dom-domhighrestimestamp 33187. https://html.spec.whatwg.org/#consume-user-activation 33188. https://w3c.github.io/hr-time/#dom-domhighrestimestamp 33189. https://html.spec.whatwg.org/#user-activation-gated-apis 33190. https://html.spec.whatwg.org/#transient-activation-duration 33191. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 33192. https://html.spec.whatwg.org/#last-activation-timestamp 33193. https://html.spec.whatwg.org/#sticky-activation 33194. https://html.spec.whatwg.org/#activation-notification 33195. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 33196. https://html.spec.whatwg.org/#last-activation-timestamp 33197. https://html.spec.whatwg.org/#last-activation-timestamp 33198. https://html.spec.whatwg.org/#transient-activation-duration 33199. https://html.spec.whatwg.org/#transient-activation 33200. https://html.spec.whatwg.org/#activation-notification 33201. https://html.spec.whatwg.org/#transient-activation 33202. https://html.spec.whatwg.org/#transient-activation-duration 33203. https://html.spec.whatwg.org/#consume-user-activation 33204. https://html.spec.whatwg.org/#last-history-action-activation-timestamp 33205. https://html.spec.whatwg.org/#last-activation-timestamp 33206. https://html.spec.whatwg.org/#history-action-activation 33207. https://html.spec.whatwg.org/#nav-traversal-ui 33208. https://html.spec.whatwg.org/#consume-history-action-user-activation 33209. https://html.spec.whatwg.org/#transient-activation 33210. https://html.spec.whatwg.org/#last-activation-timestamp 33211. https://html.spec.whatwg.org/#last-history-action-activation-timestamp 33212. https://html.spec.whatwg.org/#document 33213. https://html.spec.whatwg.org/#fully-active 33214. https://html.spec.whatwg.org/#document 33215. https://html.spec.whatwg.org/#document 33216. https://html.spec.whatwg.org/#sticky-activation 33217. https://html.spec.whatwg.org/#document 33218. https://html.spec.whatwg.org/#activation-expiry 33219. https://html.spec.whatwg.org/#transient-activation-duration 33220. https://html.spec.whatwg.org/#activation-triggering-input-event 33221. https://html.spec.whatwg.org/#sticky-activation 33222. https://html.spec.whatwg.org/#transient-activation 33223. https://html.spec.whatwg.org/#activation-triggering-input-event 33224. https://html.spec.whatwg.org/#document 33225. https://dom.spec.whatwg.org/#concept-event-dispatch 33226. https://infra.spec.whatwg.org/#assert 33227. https://html.spec.whatwg.org/#fully-active 33228. https://html.spec.whatwg.org/#concept-relevant-global 33229. https://infra.spec.whatwg.org/#list-extend 33230. https://html.spec.whatwg.org/#nav-window 33231. https://html.spec.whatwg.org/#ancestor-navigables 33232. https://infra.spec.whatwg.org/#list-extend 33233. https://html.spec.whatwg.org/#nav-window 33234. https://html.spec.whatwg.org/#descendant-navigables 33235. https://html.spec.whatwg.org/#navigable 33236. https://html.spec.whatwg.org/#nav-document 33237. https://dom.spec.whatwg.org/#concept-document-origin 33238. https://html.spec.whatwg.org/#same-origin 33239. https://dom.spec.whatwg.org/#concept-document-origin 33240. https://infra.spec.whatwg.org/#list-iterate 33241. https://html.spec.whatwg.org/#last-activation-timestamp 33242. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 33243. https://html.spec.whatwg.org/#notify-the-close-watcher-manager-about-user-activation 33244. https://dom.spec.whatwg.org/#dom-event-istrusted 33245. https://dom.spec.whatwg.org/#dom-event-type 33246. https://w3c.github.io/uievents/#event-type-keydown 33247. https://w3c.github.io/uievents/#event-type-mousedown 33248. https://w3c.github.io/pointerevents/#the-pointerdown-event 33249. https://w3c.github.io/pointerevents/#dom-pointerevent-pointertype 33250. https://w3c.github.io/pointerevents/#the-pointerup-event 33251. https://w3c.github.io/pointerevents/#dom-pointerevent-pointertype 33252. https://w3c.github.io/touch-events/#event-touchend 33253. https://html.spec.whatwg.org/#activation-consuming-api 33254. https://html.spec.whatwg.org/#window 33255. https://html.spec.whatwg.org/#window-navigable 33256. https://html.spec.whatwg.org/#window-navigable 33257. https://html.spec.whatwg.org/#nav-top 33258. https://html.spec.whatwg.org/#inclusive-descendant-navigables 33259. https://html.spec.whatwg.org/#nav-document 33260. https://html.spec.whatwg.org/#window 33261. https://html.spec.whatwg.org/#nav-window 33262. https://infra.spec.whatwg.org/#list-iterate 33263. https://html.spec.whatwg.org/#last-activation-timestamp 33264. https://html.spec.whatwg.org/#last-activation-timestamp 33265. https://html.spec.whatwg.org/#history-action-activation-consuming-api 33266. https://html.spec.whatwg.org/#window 33267. https://html.spec.whatwg.org/#window-navigable 33268. https://html.spec.whatwg.org/#window-navigable 33269. https://html.spec.whatwg.org/#nav-top 33270. https://html.spec.whatwg.org/#inclusive-descendant-navigables 33271. https://html.spec.whatwg.org/#nav-document 33272. https://html.spec.whatwg.org/#window 33273. https://html.spec.whatwg.org/#nav-window 33274. https://infra.spec.whatwg.org/#list-iterate 33275. https://html.spec.whatwg.org/#last-history-action-activation-timestamp 33276. https://html.spec.whatwg.org/#last-activation-timestamp 33277. https://html.spec.whatwg.org/#browsing-context 33278. https://html.spec.whatwg.org/#activation-notification 33279. https://html.spec.whatwg.org/#consume-user-activation 33280. https://html.spec.whatwg.org/#transient-activation 33281. https://html.spec.whatwg.org/#activation-consuming-api 33282. https://html.spec.whatwg.org/#the-iframe-element 33283. https://html.spec.whatwg.org/#sticky-activation 33284. https://html.spec.whatwg.org/#transient-activation 33285. https://html.spec.whatwg.org/#consume-user-activation 33286. https://html.spec.whatwg.org/#activation-expiry 33287. https://html.spec.whatwg.org/#transient-activation 33288. https://html.spec.whatwg.org/#consume-user-activation 33289. https://html.spec.whatwg.org/#history-action-activation 33290. https://html.spec.whatwg.org/#consume-history-action-user-activation 33291. https://html.spec.whatwg.org/#useractivation 33292. https://developer.mozilla.org/en-US/docs/Web/API/UserActivation 33293. https://html.spec.whatwg.org/#window 33294. https://html.spec.whatwg.org/#useractivation 33295. https://html.spec.whatwg.org/#window 33296. https://html.spec.whatwg.org/#associated-useractivation 33297. https://webidl.spec.whatwg.org/#new 33298. https://html.spec.whatwg.org/#useractivation 33299. https://html.spec.whatwg.org/#window 33300. https://html.spec.whatwg.org/#concept-relevant-realm 33301. https://html.spec.whatwg.org/#dom-useractivation-hasbeenactive 33302. https://html.spec.whatwg.org/#dom-useractivation-isactive 33303. https://html.spec.whatwg.org/#navigator 33304. https://html.spec.whatwg.org/#useractivation 33305. https://html.spec.whatwg.org/#dom-navigator-useractivation 33306. https://html.spec.whatwg.org/#dom-navigator 33307. https://html.spec.whatwg.org/#dom-navigator-useractivation 33308. https://html.spec.whatwg.org/#dom-useractivation-hasbeenactive 33309. https://html.spec.whatwg.org/#sticky-activation 33310. https://html.spec.whatwg.org/#dom-navigator 33311. https://html.spec.whatwg.org/#dom-navigator-useractivation 33312. https://html.spec.whatwg.org/#dom-useractivation-isactive 33313. https://html.spec.whatwg.org/#transient-activation 33314. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/userActivation 33315. https://webidl.spec.whatwg.org/#this 33316. https://html.spec.whatwg.org/#concept-relevant-global 33317. https://html.spec.whatwg.org/#associated-useractivation 33318. https://developer.mozilla.org/en-US/docs/Web/API/UserActivation/hasBeenActive 33319. https://webidl.spec.whatwg.org/#this 33320. https://html.spec.whatwg.org/#concept-relevant-global 33321. https://html.spec.whatwg.org/#sticky-activation 33322. https://developer.mozilla.org/en-US/docs/Web/API/UserActivation/hasBeenActive 33323. https://webidl.spec.whatwg.org/#this 33324. https://html.spec.whatwg.org/#concept-relevant-global 33325. https://html.spec.whatwg.org/#transient-activation 33326. https://w3c.github.io/webdriver/#dfn-extension-commands 33327. https://w3c.github.io/webdriver/#dfn-extension-commands 33328. https://html.spec.whatwg.org/#refsWEBDRIVER 33329. https://w3c.github.io/webdriver/#dfn-remote-end-steps 33330. https://w3c.github.io/webdriver/#dfn-current-browsing-context 33331. https://html.spec.whatwg.org/#active-window 33332. https://html.spec.whatwg.org/#transient-activation 33333. https://html.spec.whatwg.org/#consume-user-activation 33334. https://w3c.github.io/webdriver/#dfn-success 33335. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 33336. https://w3c.github.io/uievents/#event-type-click 33337. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 33338. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 33339. https://html.spec.whatwg.org/#fire-a-click-event 33340. https://html.spec.whatwg.org/#dom-click 33341. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click 33342. https://html.spec.whatwg.org/#concept-fe-disabled 33343. https://html.spec.whatwg.org/#click-in-progress-flag 33344. https://html.spec.whatwg.org/#click-in-progress-flag 33345. https://html.spec.whatwg.org/#fire-a-synthetic-pointer-event 33346. https://w3c.github.io/uievents/#event-type-click 33347. https://html.spec.whatwg.org/#click-in-progress-flag 33348. https://html.spec.whatwg.org/#toggleevent 33349. https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/ToggleEvent 33350. https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent 33351. https://dom.spec.whatwg.org/#interface-event 33352. https://html.spec.whatwg.org/#toggleeventinit 33353. https://html.spec.whatwg.org/#dom-toggleevent-oldstate 33354. https://html.spec.whatwg.org/#dom-toggleevent-newstate 33355. https://dom.spec.whatwg.org/#dictdef-eventinit 33356. https://html.spec.whatwg.org/#dom-toggleevent-oldstate 33357. https://html.spec.whatwg.org/#dom-toggleevent-newstate 33358. https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState 33359. https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState 33360. https://infra.spec.whatwg.org/#struct 33361. https://html.spec.whatwg.org/#concept-task 33362. https://html.spec.whatwg.org/#toggleevent 33363. https://html.spec.whatwg.org/#toggle-task-task 33364. https://html.spec.whatwg.org/#dom-toggleevent-oldstate 33365. https://html.spec.whatwg.org/#commandevent 33366. https://dom.spec.whatwg.org/#interface-event 33367. https://html.spec.whatwg.org/#commandeventinit 33368. https://html.spec.whatwg.org/#dom-commandevent-source 33369. https://html.spec.whatwg.org/#dom-commandevent-command 33370. https://dom.spec.whatwg.org/#dictdef-eventinit 33371. https://html.spec.whatwg.org/#dom-commandevent-command 33372. https://html.spec.whatwg.org/#dom-commandevent-source 33373. https://dom.spec.whatwg.org/#interface-element 33374. https://dom.spec.whatwg.org/#retarget 33375. https://html.spec.whatwg.org/#dom-commandevent-source 33376. https://webidl.spec.whatwg.org/#this 33377. https://dom.spec.whatwg.org/#dom-event-currenttarget 33378. https://github.com/whatwg/dom/issues/1328 33379. https://html.spec.whatwg.org/#focused 33380. https://html.spec.whatwg.org/#focused 33381. https://html.spec.whatwg.org/#focused 33382. https://html.spec.whatwg.org/#top-level-traversable 33383. https://html.spec.whatwg.org/#nav-document 33384. https://html.spec.whatwg.org/#descendant-navigables 33385. https://html.spec.whatwg.org/#top-level-traversable 33386. https://html.spec.whatwg.org/#system-visibility-state 33387. https://html.spec.whatwg.org/#system-focus 33388. https://html.spec.whatwg.org/#document 33389. https://html.spec.whatwg.org/#fully-active 33390. https://html.spec.whatwg.org/#node-navigable 33391. https://html.spec.whatwg.org/#nav-top 33392. https://html.spec.whatwg.org/#user-attention 33393. https://html.spec.whatwg.org/#focusable-area 33394. https://dom.spec.whatwg.org/#interface-node 33395. https://html.spec.whatwg.org/#focusable-area 33396. https://html.spec.whatwg.org/#focusable-area 33397. https://dom.spec.whatwg.org/#interface-node 33398. https://html.spec.whatwg.org/#dom-anchor 33399. https://html.spec.whatwg.org/#dom-anchor 33400. https://html.spec.whatwg.org/#focusable-area 33401. https://html.spec.whatwg.org/#focusable-area 33402. https://html.spec.whatwg.org/#focusable-area 33403. https://html.spec.whatwg.org/#focusable-area 33404. https://html.spec.whatwg.org/#dom-anchor 33405. https://html.spec.whatwg.org/#focusable-area 33406. https://html.spec.whatwg.org/#dom-anchor 33407. https://html.spec.whatwg.org/#tabindex-value 33408. https://dom.spec.whatwg.org/#element-shadow-host 33409. https://dom.spec.whatwg.org/#concept-element-shadow-root 33410. https://dom.spec.whatwg.org/#shadowroot-delegates-focus 33411. https://html.spec.whatwg.org/#concept-element-disabled 33412. https://html.spec.whatwg.org/#inert 33413. https://html.spec.whatwg.org/#being-rendered 33414. https://html.spec.whatwg.org/#delegating-its-rendering-to-its-children 33415. https://html.spec.whatwg.org/#being-used-as-relevant-canvas-fallback-content 33416. https://html.spec.whatwg.org/#the-iframe-element 33417. https://html.spec.whatwg.org/#the-dialog-element 33418. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 33419. https://html.spec.whatwg.org/#the-a-element 33420. https://html.spec.whatwg.org/#the-area-element 33421. https://html.spec.whatwg.org/#image-map 33422. https://html.spec.whatwg.org/#the-img-element 33423. https://html.spec.whatwg.org/#being-rendered 33424. https://html.spec.whatwg.org/#inert 33425. https://html.spec.whatwg.org/#the-img-element 33426. https://html.spec.whatwg.org/#the-area-element 33427. https://html.spec.whatwg.org/#dom-anchor 33428. https://html.spec.whatwg.org/#the-img-element 33429. https://html.spec.whatwg.org/#dom-anchor 33430. https://html.spec.whatwg.org/#the-img-element 33431. https://html.spec.whatwg.org/#being-rendered 33432. https://html.spec.whatwg.org/#concept-element-disabled 33433. https://html.spec.whatwg.org/#inert 33434. https://html.spec.whatwg.org/#focusable-area 33435. https://html.spec.whatwg.org/#expose-a-user-interface-to-the-user 33436. https://html.spec.whatwg.org/#the-video-element 33437. https://html.spec.whatwg.org/#number-state-(type=number) 33438. https://html.spec.whatwg.org/#the-details-element 33439. https://html.spec.whatwg.org/#being-rendered 33440. https://html.spec.whatwg.org/#inert 33441. https://drafts.csswg.org/css-overflow/#propdef-overflow 33442. https://drafts.csswg.org/css2/#viewport 33443. https://html.spec.whatwg.org/#document 33444. https://html.spec.whatwg.org/#concept-document-bc 33445. https://html.spec.whatwg.org/#inert 33446. https://html.spec.whatwg.org/#document 33447. https://drafts.csswg.org/css2/#viewport 33448. https://html.spec.whatwg.org/#the-iframe-element 33449. https://html.spec.whatwg.org/#sequentially-focusable 33450. https://html.spec.whatwg.org/#attr-title 33451. https://html.spec.whatwg.org/#sequentially-focusable 33452. https://html.spec.whatwg.org/#navigable-container 33453. https://html.spec.whatwg.org/#the-iframe-element 33454. https://html.spec.whatwg.org/#focusable-area 33455. https://html.spec.whatwg.org/#navigable-container 33456. https://html.spec.whatwg.org/#content-navigable 33457. https://html.spec.whatwg.org/#nav-document 33458. https://html.spec.whatwg.org/#navigable-container 33459. https://html.spec.whatwg.org/#content-navigable 33460. https://html.spec.whatwg.org/#nav-document 33461. https://html.spec.whatwg.org/#focusable-area 33462. https://html.spec.whatwg.org/#document 33463. https://html.spec.whatwg.org/#fully-active 33464. https://html.spec.whatwg.org/#focused-area-of-the-document 33465. https://html.spec.whatwg.org/#fully-active 33466. https://html.spec.whatwg.org/#focused-area-of-the-document 33467. https://html.spec.whatwg.org/#focusable-area 33468. https://html.spec.whatwg.org/#system-focus 33469. https://html.spec.whatwg.org/#nav-document 33470. https://html.spec.whatwg.org/#focused-area-of-the-document 33471. https://html.spec.whatwg.org/#navigable-container 33472. https://html.spec.whatwg.org/#content-navigable 33473. https://html.spec.whatwg.org/#nav-document 33474. https://html.spec.whatwg.org/#navigable-container 33475. https://html.spec.whatwg.org/#content-navigable 33476. https://html.spec.whatwg.org/#focused-area-of-the-document 33477. https://html.spec.whatwg.org/#focused-area-of-the-document 33478. https://html.spec.whatwg.org/#focus-chain 33479. https://html.spec.whatwg.org/#currently-focused-area-of-a-top-level-traversable 33480. https://html.spec.whatwg.org/#dom-anchor 33481. https://html.spec.whatwg.org/#focusable-area 33482. https://html.spec.whatwg.org/#focusable-area 33483. https://html.spec.whatwg.org/#currently-focused-area-of-a-top-level-traversable 33484. https://html.spec.whatwg.org/#dom-anchor 33485. https://html.spec.whatwg.org/#focusable-area 33486. https://html.spec.whatwg.org/#currently-focused-area-of-a-top-level-traversable 33487. https://html.spec.whatwg.org/#focusable-area 33488. https://infra.spec.whatwg.org/#list 33489. https://infra.spec.whatwg.org/#list-append 33490. https://html.spec.whatwg.org/#the-area-element 33491. https://infra.spec.whatwg.org/#list-append 33492. https://html.spec.whatwg.org/#the-area-element 33493. https://html.spec.whatwg.org/#dom-anchor 33494. https://infra.spec.whatwg.org/#list-append 33495. https://html.spec.whatwg.org/#dom-anchor 33496. https://html.spec.whatwg.org/#focusable-area 33497. https://html.spec.whatwg.org/#dom-anchor 33498. https://dom.spec.whatwg.org/#concept-node-document 33499. https://html.spec.whatwg.org/#document 33500. https://html.spec.whatwg.org/#node-navigable 33501. https://html.spec.whatwg.org/#nav-parent 33502. https://html.spec.whatwg.org/#node-navigable 33503. https://html.spec.whatwg.org/#nav-parent 33504. https://infra.spec.whatwg.org/#iteration-break 33505. https://html.spec.whatwg.org/#currently-focused-area-of-a-top-level-traversable 33506. https://html.spec.whatwg.org/#document 33507. https://html.spec.whatwg.org/#top-level-traversable 33508. https://html.spec.whatwg.org/#focusable-area 33509. https://html.spec.whatwg.org/#focusable-area 33510. https://html.spec.whatwg.org/#focusable-area 33511. https://html.spec.whatwg.org/#document 33512. https://html.spec.whatwg.org/#sequential-focus-navigation-order 33513. https://html.spec.whatwg.org/#focusable-area 33514. https://html.spec.whatwg.org/#tabindex-value 33515. https://html.spec.whatwg.org/#focusable 33516. https://html.spec.whatwg.org/#focusable-area 33517. https://html.spec.whatwg.org/#sequentially-focusable 33518. https://html.spec.whatwg.org/#click-focusable 33519. https://html.spec.whatwg.org/#focusable 33520. https://html.spec.whatwg.org/#dom-focus 33521. https://html.spec.whatwg.org/#attr-fe-autofocus 33522. https://html.spec.whatwg.org/#sequentially-focusable 33523. https://html.spec.whatwg.org/#click-focusable 33524. https://html.spec.whatwg.org/#sequential-focus-navigation 33525. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 33526. https://html.spec.whatwg.org/#sequentially-focusable 33527. https://html.spec.whatwg.org/#focusable 33528. https://html.spec.whatwg.org/#document 33529. https://html.spec.whatwg.org/#sequential-focus-navigation-order 33530. https://html.spec.whatwg.org/#sequential-focus-navigation 33531. https://html.spec.whatwg.org/#click-focusable 33532. https://html.spec.whatwg.org/#focusable 33533. https://html.spec.whatwg.org/#focusable 33534. https://html.spec.whatwg.org/#sequentially-focusable 33535. https://html.spec.whatwg.org/#click-focusable 33536. https://html.spec.whatwg.org/#tabindex-value 33537. https://html.spec.whatwg.org/#activation 33538. https://html.spec.whatwg.org/#click-focusable 33539. https://html.spec.whatwg.org/#focusable-area 33540. https://html.spec.whatwg.org/#focusing-steps 33541. https://html.spec.whatwg.org/#focusable-area 33542. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 33543. https://html.spec.whatwg.org/#dom-click 33544. https://w3c.github.io/uievents/#event-type-click 33545. https://html.spec.whatwg.org/#document 33546. https://dom.spec.whatwg.org/#element-shadow-host 33547. https://html.spec.whatwg.org/#the-slot-element 33548. https://html.spec.whatwg.org/#popover-invoker 33549. https://html.spec.whatwg.org/#popover-showing-state 33550. https://html.spec.whatwg.org/#focus-navigation-scope-owner 33551. https://html.spec.whatwg.org/#focus-navigation-scope-owner 33552. https://dom.spec.whatwg.org/#element-shadow-host 33553. https://dom.spec.whatwg.org/#slotable-assigned-slot 33554. https://dom.spec.whatwg.org/#concept-shadow-root 33555. https://dom.spec.whatwg.org/#concept-documentfragment-host 33556. https://dom.spec.whatwg.org/#document-element 33557. https://dom.spec.whatwg.org/#concept-node-document 33558. https://html.spec.whatwg.org/#popover-showing-state 33559. https://html.spec.whatwg.org/#popover-invoker 33560. https://html.spec.whatwg.org/#popover-invoker 33561. https://html.spec.whatwg.org/#associated-focus-navigation-owner 33562. https://html.spec.whatwg.org/#focus-navigation-scope-owner 33563. https://html.spec.whatwg.org/#focus-navigation-scope 33564. https://html.spec.whatwg.org/#associated-focus-navigation-owner 33565. https://html.spec.whatwg.org/#focus-navigation-scope 33566. https://html.spec.whatwg.org/#tabindex-ordered-focus-navigation-scope 33567. https://html.spec.whatwg.org/#flattened-tabindex-ordered-focus-navigation-scope 33568. https://html.spec.whatwg.org/#focusable-area 33569. https://html.spec.whatwg.org/#focus-navigation-scope-owner 33570. https://html.spec.whatwg.org/#focus-navigation-scope-owner 33571. https://html.spec.whatwg.org/#tabindex-ordered-focus-navigation-scope 33572. https://html.spec.whatwg.org/#focus-navigation-scope 33573. https://html.spec.whatwg.org/#focus-navigation-scope-owner 33574. https://html.spec.whatwg.org/#tabindex-value 33575. https://html.spec.whatwg.org/#focusable-area 33576. https://html.spec.whatwg.org/#dom-anchor 33577. https://html.spec.whatwg.org/#focus-navigation-scope 33578. https://html.spec.whatwg.org/#focusable-area 33579. https://html.spec.whatwg.org/#tabindex-value 33580. https://html.spec.whatwg.org/#tabindex-ordered-focus-navigation-scope 33581. https://html.spec.whatwg.org/#tabindex-value 33582. https://html.spec.whatwg.org/#focusable-area 33583. https://html.spec.whatwg.org/#focus-navigation-scope-owner 33584. https://html.spec.whatwg.org/#flattened-tabindex-ordered-focus-navigation-scope 33585. https://infra.spec.whatwg.org/#list-clone 33586. https://html.spec.whatwg.org/#tabindex-ordered-focus-navigation-scope 33587. https://html.spec.whatwg.org/#focus-navigation-scope-owner 33588. https://infra.spec.whatwg.org/#iteration-continue 33589. https://html.spec.whatwg.org/#focusable-area 33590. https://html.spec.whatwg.org/#flattened-tabindex-ordered-focus-navigation-scope 33591. https://html.spec.whatwg.org/#flattened-tabindex-ordered-focus-navigation-scope 33592. https://html.spec.whatwg.org/#attr-tabindex 33593. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex 33594. https://html.spec.whatwg.org/#dom-anchor 33595. https://html.spec.whatwg.org/#focusable-area 33596. https://html.spec.whatwg.org/#sequentially-focusable 33597. https://html.spec.whatwg.org/#sequential-focus-navigation 33598. https://html.spec.whatwg.org/#sequentially-focusable 33599. https://html.spec.whatwg.org/#focusable-area 33600. https://html.spec.whatwg.org/#attr-tabindex 33601. https://html.spec.whatwg.org/#valid-integer 33602. https://html.spec.whatwg.org/#focusable-area 33603. https://html.spec.whatwg.org/#sequential-focus-navigation-order 33604. https://html.spec.whatwg.org/#sequentially-focusable 33605. https://html.spec.whatwg.org/#attr-tabindex 33606. https://html.spec.whatwg.org/#attr-tabindex 33607. https://html.spec.whatwg.org/#focusable 33608. https://html.spec.whatwg.org/#sequentially-focusable 33609. https://html.spec.whatwg.org/#click-focusable 33610. https://html.spec.whatwg.org/#focusable 33611. https://html.spec.whatwg.org/#click-focusable 33612. https://html.spec.whatwg.org/#sequentially-focusable 33613. https://html.spec.whatwg.org/#focusable 33614. https://html.spec.whatwg.org/#click-focusable 33615. https://html.spec.whatwg.org/#sequentially-focusable 33616. https://html.spec.whatwg.org/#tabindex-ordered-focus-navigation-scope 33617. https://html.spec.whatwg.org/#attr-tabindex 33618. https://html.spec.whatwg.org/#attr-tabindex 33619. https://html.spec.whatwg.org/#concept-element-disabled 33620. https://html.spec.whatwg.org/#inert 33621. https://html.spec.whatwg.org/#attr-tabindex 33622. https://html.spec.whatwg.org/#rules-for-parsing-integers 33623. https://html.spec.whatwg.org/#tabindex-value 33624. https://html.spec.whatwg.org/#tabindex-value 33625. https://html.spec.whatwg.org/#focusable-area 33626. https://html.spec.whatwg.org/#tabindex-value 33627. https://html.spec.whatwg.org/#dom-anchor 33628. https://html.spec.whatwg.org/#tabindex-value 33629. https://html.spec.whatwg.org/#focusable-area 33630. https://html.spec.whatwg.org/#focusable-area 33631. https://html.spec.whatwg.org/#dom-anchor 33632. https://html.spec.whatwg.org/#sequentially-focusable 33633. https://html.spec.whatwg.org/#tabindex-ordered-focus-navigation-scope 33634. https://html.spec.whatwg.org/#focus-navigation-scope-owner 33635. https://html.spec.whatwg.org/#tabindex-ordered-focus-navigation-scope 33636. https://html.spec.whatwg.org/#focusable-area 33637. https://html.spec.whatwg.org/#tabindex-ordered-focus-navigation-scope 33638. https://html.spec.whatwg.org/#focusable-area 33639. https://html.spec.whatwg.org/#focus-navigation-scope 33640. https://html.spec.whatwg.org/#tabindex-value 33641. https://dom.spec.whatwg.org/#concept-shadow-including-tree-order 33642. https://html.spec.whatwg.org/#focusable-area 33643. https://html.spec.whatwg.org/#sequentially-focusable 33644. https://html.spec.whatwg.org/#the-a-element 33645. https://html.spec.whatwg.org/#attr-hyperlink-href 33646. https://html.spec.whatwg.org/#the-button-element 33647. https://html.spec.whatwg.org/#the-input-element 33648. https://html.spec.whatwg.org/#attr-input-type 33649. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 33650. https://html.spec.whatwg.org/#the-select-element 33651. https://html.spec.whatwg.org/#the-textarea-element 33652. https://html.spec.whatwg.org/#the-summary-element 33653. https://html.spec.whatwg.org/#the-summary-element 33654. https://html.spec.whatwg.org/#the-details-element 33655. https://html.spec.whatwg.org/#attr-draggable 33656. https://html.spec.whatwg.org/#editing-host 33657. https://html.spec.whatwg.org/#navigable-container 33658. https://html.spec.whatwg.org/#focusable-area 33659. https://html.spec.whatwg.org/#tabindex-ordered-focus-navigation-scope 33660. https://html.spec.whatwg.org/#attr-tabindex 33661. https://html.spec.whatwg.org/#focusable-area 33662. https://html.spec.whatwg.org/#focusable-area 33663. https://html.spec.whatwg.org/#dom-anchor 33664. https://html.spec.whatwg.org/#sequentially-focusable 33665. https://html.spec.whatwg.org/#tabindex-ordered-focus-navigation-scope 33666. https://html.spec.whatwg.org/#focusable-area 33667. https://html.spec.whatwg.org/#focus-navigation-scope 33668. https://html.spec.whatwg.org/#tabindex-value 33669. https://dom.spec.whatwg.org/#concept-shadow-including-tree-order 33670. https://html.spec.whatwg.org/#focusable-area 33671. https://html.spec.whatwg.org/#focusable-area 33672. https://html.spec.whatwg.org/#dom-anchor 33673. https://html.spec.whatwg.org/#sequentially-focusable 33674. https://html.spec.whatwg.org/#focusable-area 33675. https://html.spec.whatwg.org/#tabindex-ordered-focus-navigation-scope 33676. https://html.spec.whatwg.org/#focusable-area 33677. https://html.spec.whatwg.org/#focus-navigation-scope 33678. https://html.spec.whatwg.org/#focusable-area 33679. https://html.spec.whatwg.org/#dom-anchor 33680. https://html.spec.whatwg.org/#attr-tabindex 33681. https://html.spec.whatwg.org/#focusable-area 33682. https://html.spec.whatwg.org/#dom-anchor 33683. https://html.spec.whatwg.org/#attr-tabindex 33684. https://html.spec.whatwg.org/#focusable-area 33685. https://html.spec.whatwg.org/#dom-anchor 33686. https://html.spec.whatwg.org/#attr-tabindex 33687. https://html.spec.whatwg.org/#attr-tabindex 33688. https://html.spec.whatwg.org/#focusable-area 33689. https://html.spec.whatwg.org/#dom-anchor 33690. https://html.spec.whatwg.org/#attr-tabindex 33691. https://html.spec.whatwg.org/#attr-tabindex 33692. https://dom.spec.whatwg.org/#concept-shadow-including-tree-order 33693. https://html.spec.whatwg.org/#focusable-area 33694. https://html.spec.whatwg.org/#dom-anchor 33695. https://html.spec.whatwg.org/#attr-tabindex 33696. https://html.spec.whatwg.org/#attr-tabindex 33697. https://dom.spec.whatwg.org/#concept-shadow-including-tree-order 33698. https://html.spec.whatwg.org/#focusable-area 33699. https://html.spec.whatwg.org/#dom-anchor 33700. https://html.spec.whatwg.org/#attr-tabindex 33701. https://html.spec.whatwg.org/#attr-tabindex 33702. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/tabIndex 33703. https://html.spec.whatwg.org/#reflect 33704. https://html.spec.whatwg.org/#attr-tabindex 33705. https://html.spec.whatwg.org/#default-value 33706. https://html.spec.whatwg.org/#the-a-element 33707. https://html.spec.whatwg.org/#the-area-element 33708. https://html.spec.whatwg.org/#the-button-element 33709. https://html.spec.whatwg.org/#frame 33710. https://html.spec.whatwg.org/#the-iframe-element 33711. https://html.spec.whatwg.org/#the-input-element 33712. https://html.spec.whatwg.org/#the-object-element 33713. https://html.spec.whatwg.org/#the-select-element 33714. https://html.spec.whatwg.org/#the-textarea-element 33715. https://svgwg.org/svg2-draft/linking.html#AElement 33716. https://html.spec.whatwg.org/#the-summary-element 33717. https://html.spec.whatwg.org/#summary-for-its-parent-details 33718. https://html.spec.whatwg.org/#default-value 33719. https://html.spec.whatwg.org/#focusable-area 33720. https://html.spec.whatwg.org/#navigable 33721. https://html.spec.whatwg.org/#the-area-element 33722. https://html.spec.whatwg.org/#focusable-area 33723. https://html.spec.whatwg.org/#the-img-element 33724. https://dom.spec.whatwg.org/#concept-tree-order 33725. https://html.spec.whatwg.org/#the-area-element 33726. https://html.spec.whatwg.org/#focusable-area 33727. https://drafts.csswg.org/css-scoping/#flat-tree 33728. https://html.spec.whatwg.org/#refsCSSSCOPING 33729. https://dom.spec.whatwg.org/#document-element 33730. https://html.spec.whatwg.org/#document 33731. https://html.spec.whatwg.org/#document 33732. https://drafts.csswg.org/css2/#viewport 33733. https://html.spec.whatwg.org/#navigable 33734. https://html.spec.whatwg.org/#navigable 33735. https://html.spec.whatwg.org/#nav-document 33736. https://html.spec.whatwg.org/#navigable-container 33737. https://html.spec.whatwg.org/#content-navigable 33738. https://html.spec.whatwg.org/#navigable-container 33739. https://html.spec.whatwg.org/#content-navigable 33740. https://html.spec.whatwg.org/#nav-document 33741. https://dom.spec.whatwg.org/#element-shadow-host 33742. https://dom.spec.whatwg.org/#concept-element-shadow-root 33743. https://dom.spec.whatwg.org/#shadowroot-delegates-focus 33744. https://html.spec.whatwg.org/#currently-focused-area-of-a-top-level-traversable 33745. https://html.spec.whatwg.org/#dom-anchor 33746. https://dom.spec.whatwg.org/#concept-shadow-including-inclusive-ancestor 33747. https://html.spec.whatwg.org/#focus-delegate 33748. https://html.spec.whatwg.org/#sequentially-focusable 33749. https://dom.spec.whatwg.org/#element-shadow-host 33750. https://dom.spec.whatwg.org/#shadowroot-delegates-focus 33751. https://html.spec.whatwg.org/#sequential-focus-navigation-order 33752. https://html.spec.whatwg.org/#focusing-steps 33753. https://dom.spec.whatwg.org/#element-shadow-host 33754. https://dom.spec.whatwg.org/#element-shadow-host 33755. https://dom.spec.whatwg.org/#concept-element-shadow-root 33756. https://dom.spec.whatwg.org/#shadowroot-delegates-focus 33757. https://dom.spec.whatwg.org/#element-shadow-host 33758. https://dom.spec.whatwg.org/#concept-element-shadow-root 33759. https://html.spec.whatwg.org/#autofocus-delegate 33760. https://infra.spec.whatwg.org/#list-iterate 33761. https://dom.spec.whatwg.org/#concept-tree-descendant 33762. https://dom.spec.whatwg.org/#concept-tree-order 33763. https://html.spec.whatwg.org/#the-dialog-element 33764. https://html.spec.whatwg.org/#sequentially-focusable 33765. https://html.spec.whatwg.org/#the-dialog-element 33766. https://html.spec.whatwg.org/#focusable-area 33767. https://html.spec.whatwg.org/#get-the-focusable-area 33768. https://html.spec.whatwg.org/#get-the-focusable-area 33769. https://html.spec.whatwg.org/#focus-delegate 33770. https://dom.spec.whatwg.org/#concept-shadow-including-descendant 33771. https://dom.spec.whatwg.org/#concept-tree-descendant 33772. https://dom.spec.whatwg.org/#element-shadow-host 33773. https://html.spec.whatwg.org/#focusable-area 33774. https://html.spec.whatwg.org/#dom-anchor 33775. https://dom.spec.whatwg.org/#concept-tree-descendant 33776. https://dom.spec.whatwg.org/#concept-tree-order 33777. https://html.spec.whatwg.org/#attr-fe-autofocus 33778. https://infra.spec.whatwg.org/#iteration-continue 33779. https://html.spec.whatwg.org/#focusable-area 33780. https://html.spec.whatwg.org/#get-the-focusable-area 33781. https://infra.spec.whatwg.org/#iteration-continue 33782. https://html.spec.whatwg.org/#click-focusable 33783. https://infra.spec.whatwg.org/#iteration-continue 33784. https://html.spec.whatwg.org/#focusable-area 33785. https://html.spec.whatwg.org/#focusable-area 33786. https://html.spec.whatwg.org/#navigable 33787. https://html.spec.whatwg.org/#focusable-area 33788. https://html.spec.whatwg.org/#get-the-focusable-area 33789. https://html.spec.whatwg.org/#navigable-container 33790. https://html.spec.whatwg.org/#content-navigable 33791. https://html.spec.whatwg.org/#content-navigable 33792. https://html.spec.whatwg.org/#nav-document 33793. https://html.spec.whatwg.org/#focusable-area 33794. https://html.spec.whatwg.org/#dom-anchor 33795. https://html.spec.whatwg.org/#inert 33796. https://html.spec.whatwg.org/#currently-focused-area-of-a-top-level-traversable 33797. https://html.spec.whatwg.org/#current-focus-chain-of-a-top-level-traversable 33798. https://html.spec.whatwg.org/#focus-chain 33799. https://html.spec.whatwg.org/#focus-update-steps 33800. https://html.spec.whatwg.org/#immediately 33801. https://html.spec.whatwg.org/#focusing-steps 33802. https://html.spec.whatwg.org/#focusable-area 33803. https://html.spec.whatwg.org/#navigable 33804. https://html.spec.whatwg.org/#focusable-area 33805. https://html.spec.whatwg.org/#focusable-area 33806. https://dom.spec.whatwg.org/#element-shadow-host 33807. https://dom.spec.whatwg.org/#concept-element-shadow-root 33808. https://dom.spec.whatwg.org/#shadowroot-delegates-focus 33809. https://dom.spec.whatwg.org/#concept-element-shadow-root 33810. https://dom.spec.whatwg.org/#concept-shadow-including-inclusive-ancestor 33811. https://html.spec.whatwg.org/#currently-focused-area-of-a-top-level-traversable 33812. https://html.spec.whatwg.org/#dom-anchor 33813. https://html.spec.whatwg.org/#currently-focused-area-of-a-top-level-traversable 33814. https://html.spec.whatwg.org/#inert 33815. https://html.spec.whatwg.org/#the-area-element 33816. https://html.spec.whatwg.org/#currently-focused-area-of-a-top-level-traversable 33817. https://html.spec.whatwg.org/#currently-focused-area-of-a-top-level-traversable 33818. https://html.spec.whatwg.org/#currently-focused-area-of-a-top-level-traversable 33819. https://html.spec.whatwg.org/#current-focus-chain-of-a-top-level-traversable 33820. https://html.spec.whatwg.org/#focusable-area 33821. https://html.spec.whatwg.org/#node-navigable 33822. https://html.spec.whatwg.org/#system-focus 33823. https://html.spec.whatwg.org/#focusing-steps 33824. https://drafts.csswg.org/css2/#viewport 33825. https://html.spec.whatwg.org/#system-focus 33826. https://html.spec.whatwg.org/#node-navigable 33827. https://html.spec.whatwg.org/#focus-update-steps 33828. https://html.spec.whatwg.org/#unfocusing-steps 33829. https://html.spec.whatwg.org/#currently-focused-area-of-a-top-level-traversable 33830. https://html.spec.whatwg.org/#currently-focused-area-of-a-top-level-traversable 33831. https://drafts.csswg.org/css2/#viewport 33832. https://html.spec.whatwg.org/#focusable-area 33833. https://html.spec.whatwg.org/#focusing-steps 33834. https://html.spec.whatwg.org/#the-input-element 33835. https://html.spec.whatwg.org/#event-change 33836. https://html.spec.whatwg.org/#concept-input-apply 33837. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 33838. https://html.spec.whatwg.org/#concept-fe-value 33839. https://html.spec.whatwg.org/#concept-input-type-file-selected 33840. https://html.spec.whatwg.org/#user-validity 33841. https://dom.spec.whatwg.org/#concept-event-fire 33842. https://html.spec.whatwg.org/#event-change 33843. https://dom.spec.whatwg.org/#dom-event-bubbles 33844. https://html.spec.whatwg.org/#document 33845. https://html.spec.whatwg.org/#document 33846. https://html.spec.whatwg.org/#concept-relevant-global 33847. https://dom.spec.whatwg.org/#interface-element 33848. https://dom.spec.whatwg.org/#interface-element 33849. https://html.spec.whatwg.org/#fire-a-focus-event 33850. https://html.spec.whatwg.org/#event-blur 33851. https://html.spec.whatwg.org/#the-area-element 33852. https://drafts.csswg.org/css2/#viewport 33853. https://html.spec.whatwg.org/#focusable-area 33854. https://html.spec.whatwg.org/#focused-area-of-the-document 33855. https://html.spec.whatwg.org/#concept-relevant-global 33856. https://html.spec.whatwg.org/#window-navigation-api 33857. https://html.spec.whatwg.org/#focus-changed-during-ongoing-navigation 33858. https://html.spec.whatwg.org/#focused-area-of-the-document 33859. https://html.spec.whatwg.org/#document 33860. https://html.spec.whatwg.org/#document 33861. https://html.spec.whatwg.org/#concept-relevant-global 33862. https://dom.spec.whatwg.org/#interface-element 33863. https://dom.spec.whatwg.org/#interface-element 33864. https://html.spec.whatwg.org/#fire-a-focus-event 33865. https://html.spec.whatwg.org/#event-focus 33866. https://html.spec.whatwg.org/#the-area-element 33867. https://drafts.csswg.org/css2/#viewport 33868. https://dom.spec.whatwg.org/#concept-event-fire 33869. https://w3c.github.io/uievents/#focusevent 33870. https://w3c.github.io/uievents/#dom-focusevent-relatedtarget 33871. https://w3c.github.io/uievents/#dom-uievent-view 33872. https://dom.spec.whatwg.org/#concept-node-document 33873. https://html.spec.whatwg.org/#concept-relevant-global 33874. https://dom.spec.whatwg.org/#composed-flag 33875. https://html.spec.whatwg.org/#top-level-traversable 33876. https://html.spec.whatwg.org/#currently-focused-area-of-a-top-level-traversable 33877. https://infra.spec.whatwg.org/#assert 33878. https://html.spec.whatwg.org/#top-level-traversable 33879. https://html.spec.whatwg.org/#system-focus 33880. https://html.spec.whatwg.org/#focusable-area 33881. https://html.spec.whatwg.org/#dom-anchor 33882. https://html.spec.whatwg.org/#document 33883. https://html.spec.whatwg.org/#the-body-element-2 33884. https://html.spec.whatwg.org/#the-body-element-2 33885. https://html.spec.whatwg.org/#document 33886. https://html.spec.whatwg.org/#document 33887. https://dom.spec.whatwg.org/#document-element 33888. https://dom.spec.whatwg.org/#document-element 33889. https://html.spec.whatwg.org/#inert 33890. https://dom.spec.whatwg.org/#concept-event-dispatch 33891. https://html.spec.whatwg.org/#fire-a-click-event 33892. https://html.spec.whatwg.org/#document 33893. https://html.spec.whatwg.org/#node-navigable 33894. https://html.spec.whatwg.org/#nav-top 33895. https://html.spec.whatwg.org/#system-focus 33896. https://html.spec.whatwg.org/#node-navigable 33897. https://html.spec.whatwg.org/#nav-top 33898. https://html.spec.whatwg.org/#active-document 33899. https://html.spec.whatwg.org/#focused-area-of-the-document 33900. https://html.spec.whatwg.org/#navigable-container 33901. https://html.spec.whatwg.org/#content-navigable 33902. https://html.spec.whatwg.org/#nav-document 33903. https://html.spec.whatwg.org/#navigable-container 33904. https://html.spec.whatwg.org/#content-navigable 33905. https://html.spec.whatwg.org/#document 33906. https://html.spec.whatwg.org/#focusable-area 33907. https://html.spec.whatwg.org/#document 33908. https://html.spec.whatwg.org/#flattened-tabindex-ordered-focus-navigation-scope 33909. https://html.spec.whatwg.org/#document 33910. https://html.spec.whatwg.org/#flattened-tabindex-ordered-focus-navigation-scope 33911. https://dom.spec.whatwg.org/#concept-tree-order 33912. https://html.spec.whatwg.org/#document 33913. https://html.spec.whatwg.org/#focusable-area 33914. https://html.spec.whatwg.org/#sequential-focus-navigation-order 33915. https://html.spec.whatwg.org/#document 33916. https://html.spec.whatwg.org/#sequential-focus-navigation 33917. https://html.spec.whatwg.org/#sequential-focus-navigation-starting-point 33918. https://html.spec.whatwg.org/#target-element 33919. https://html.spec.whatwg.org/#navigate-fragid 33920. https://html.spec.whatwg.org/#sequential-navigation-search-algorithm 33921. https://html.spec.whatwg.org/#focusable-area 33922. https://html.spec.whatwg.org/#currently-focused-area-of-a-top-level-traversable 33923. https://html.spec.whatwg.org/#focusable-area 33924. https://html.spec.whatwg.org/#top-level-traversable 33925. https://html.spec.whatwg.org/#currently-focused-area-of-a-top-level-traversable 33926. https://html.spec.whatwg.org/#top-level-traversable 33927. https://html.spec.whatwg.org/#top-level-traversable 33928. https://html.spec.whatwg.org/#sequential-focus-navigation-starting-point 33929. https://html.spec.whatwg.org/#sequential-focus-navigation-starting-point 33930. https://html.spec.whatwg.org/#sequential-focus-forward 33931. https://html.spec.whatwg.org/#sequential-focus-backward 33932. https://html.spec.whatwg.org/#selection-mechanism-sequential 33933. https://html.spec.whatwg.org/#navigable 33934. https://html.spec.whatwg.org/#document 33935. https://html.spec.whatwg.org/#sequential-focus-navigation-order 33936. https://html.spec.whatwg.org/#document 33937. https://html.spec.whatwg.org/#sequential-focus-navigation-order 33938. https://html.spec.whatwg.org/#selection-mechanism-dom 33939. https://html.spec.whatwg.org/#sequential-navigation-search-algorithm 33940. https://html.spec.whatwg.org/#focusing-steps 33941. https://html.spec.whatwg.org/#sequential-focus-navigation-starting-point 33942. https://html.spec.whatwg.org/#top-level-traversable 33943. https://html.spec.whatwg.org/#focusable-area 33944. https://html.spec.whatwg.org/#top-level-traversable 33945. https://html.spec.whatwg.org/#sequentially-focusable 33946. https://html.spec.whatwg.org/#sequentially-focusable 33947. https://html.spec.whatwg.org/#top-level-traversable 33948. https://html.spec.whatwg.org/#focusable-area 33949. https://html.spec.whatwg.org/#child-navigable 33950. https://html.spec.whatwg.org/#child-navigable 33951. https://html.spec.whatwg.org/#nav-parent 33952. https://html.spec.whatwg.org/#focusable-area 33953. https://html.spec.whatwg.org/#sequential-focus-direction 33954. https://html.spec.whatwg.org/#selection-mechanism 33955. https://html.spec.whatwg.org/#focusable-area 33956. https://html.spec.whatwg.org/#sequential-focus-forward 33957. https://html.spec.whatwg.org/#sequential-focus-backward 33958. https://html.spec.whatwg.org/#navigable 33959. https://html.spec.whatwg.org/#suitable-sequentially-focusable-area 33960. https://html.spec.whatwg.org/#nav-document 33961. https://html.spec.whatwg.org/#suitable-sequentially-focusable-area 33962. https://html.spec.whatwg.org/#nav-document 33963. https://html.spec.whatwg.org/#selection-mechanism-dom 33964. https://html.spec.whatwg.org/#suitable-sequentially-focusable-area 33965. https://html.spec.whatwg.org/#document 33966. https://dom.spec.whatwg.org/#concept-shadow-including-tree-order 33967. https://html.spec.whatwg.org/#document 33968. https://html.spec.whatwg.org/#sequential-focus-navigation-order 33969. https://html.spec.whatwg.org/#suitable-sequentially-focusable-area 33970. https://infra.spec.whatwg.org/#list-item 33971. https://dom.spec.whatwg.org/#concept-shadow-including-tree-order 33972. https://html.spec.whatwg.org/#suitable-sequentially-focusable-area 33973. https://html.spec.whatwg.org/#document 33974. https://dom.spec.whatwg.org/#concept-shadow-including-tree-order 33975. https://html.spec.whatwg.org/#selection-mechanism-sequential 33976. https://html.spec.whatwg.org/#suitable-sequentially-focusable-area 33977. https://html.spec.whatwg.org/#document 33978. https://html.spec.whatwg.org/#sequential-focus-navigation-order 33979. https://html.spec.whatwg.org/#suitable-sequentially-focusable-area 33980. https://html.spec.whatwg.org/#document 33981. https://html.spec.whatwg.org/#sequential-focus-navigation-order 33982. https://html.spec.whatwg.org/#focusable-area 33983. https://html.spec.whatwg.org/#dom-anchor 33984. https://html.spec.whatwg.org/#inert 33985. https://html.spec.whatwg.org/#sequentially-focusable 33986. https://html.spec.whatwg.org/#navigable-container 33987. https://html.spec.whatwg.org/#content-navigable 33988. https://html.spec.whatwg.org/#sequential-navigation-search-algorithm 33989. https://html.spec.whatwg.org/#content-navigable 33990. https://html.spec.whatwg.org/#selection-mechanism-sequential 33991. https://html.spec.whatwg.org/#sequential-navigation-search-algorithm 33992. https://html.spec.whatwg.org/#dom-focusoptions-preventscroll 33993. https://html.spec.whatwg.org/#dom-focusoptions-focusvisible 33994. https://html.spec.whatwg.org/#dom-documentorshadowroot-activeelement 33995. https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement 33996. https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/activeElement 33997. https://html.spec.whatwg.org/#child-navigable 33998. https://html.spec.whatwg.org/#nav-container 33999. https://html.spec.whatwg.org/#bc-focus-ergo-bcc-focus 34000. https://html.spec.whatwg.org/#nav-parent 34001. https://html.spec.whatwg.org/#nav-document 34002. https://html.spec.whatwg.org/#the-iframe-element 34003. https://html.spec.whatwg.org/#the-iframe-element 34004. https://html.spec.whatwg.org/#dom-documentorshadowroot-activeelement 34005. https://html.spec.whatwg.org/#the-iframe-element 34006. https://dom.spec.whatwg.org/#concept-node-document 34007. https://dom.spec.whatwg.org/#concept-node-tree 34008. https://dom.spec.whatwg.org/#concept-documentfragment-host 34009. https://dom.spec.whatwg.org/#concept-node-tree 34010. https://dom.spec.whatwg.org/#concept-shadow-including-inclusive-ancestor 34011. https://html.spec.whatwg.org/#dom-document-hasfocus 34012. https://developer.mozilla.org/en-US/docs/Web/API/Document/hasFocus 34013. https://html.spec.whatwg.org/#dom-window-focus 34014. https://developer.mozilla.org/en-US/docs/Web/API/Window/focus 34015. https://html.spec.whatwg.org/#window-navigable 34016. https://html.spec.whatwg.org/#dom-focus 34017. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus 34018. https://html.spec.whatwg.org/#dom-focus 34019. https://html.spec.whatwg.org/#dom-focusoptions-preventscroll 34020. https://html.spec.whatwg.org/#dom-focusoptions-focusvisible 34021. https://html.spec.whatwg.org/#navigable-container 34022. https://html.spec.whatwg.org/#content-navigable 34023. https://html.spec.whatwg.org/#dom-focusoptions-preventscroll 34024. https://infra.spec.whatwg.org/#implementation-defined 34025. https://drafts.csswg.org/selectors/#indicate-focus 34026. https://html.spec.whatwg.org/#dom-focusoptions-focusvisible 34027. https://html.spec.whatwg.org/#dom-blur 34028. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/blur 34029. https://drafts.csswg.org/css2/#viewport 34030. https://drafts.csswg.org/css2/#viewport 34031. https://html.spec.whatwg.org/#dom-focus 34032. https://html.spec.whatwg.org/#document 34033. https://dom.spec.whatwg.org/#document-element 34034. https://drafts.csswg.org/selectors/#the-focus-visible-pseudo 34035. https://drafts.csswg.org/css-ui/#outline 34036. https://html.spec.whatwg.org/#the-textarea-element 34037. https://html.spec.whatwg.org/#documentorshadowroot 34038. https://webidl.spec.whatwg.org/#this 34039. https://dom.spec.whatwg.org/#concept-node-document 34040. https://html.spec.whatwg.org/#focused-area-of-the-document 34041. https://html.spec.whatwg.org/#dom-anchor 34042. https://dom.spec.whatwg.org/#retarget 34043. https://webidl.spec.whatwg.org/#this 34044. https://dom.spec.whatwg.org/#concept-tree-root 34045. https://webidl.spec.whatwg.org/#this 34046. https://html.spec.whatwg.org/#document 34047. https://html.spec.whatwg.org/#the-body-element-2 34048. https://html.spec.whatwg.org/#the-body-element-2 34049. https://dom.spec.whatwg.org/#document-element 34050. https://dom.spec.whatwg.org/#document-element 34051. https://html.spec.whatwg.org/#document 34052. https://html.spec.whatwg.org/#has-focus-steps 34053. https://webidl.spec.whatwg.org/#this 34054. https://html.spec.whatwg.org/#window 34055. https://webidl.spec.whatwg.org/#this 34056. https://html.spec.whatwg.org/#window-navigable 34057. https://html.spec.whatwg.org/#allow-focus-steps 34058. https://html.spec.whatwg.org/#nav-document 34059. https://html.spec.whatwg.org/#focusing-steps 34060. https://html.spec.whatwg.org/#top-level-traversable 34061. https://developer.mozilla.org/en-US/docs/Web/API/Window/blur 34062. https://html.spec.whatwg.org/#window 34063. https://html.spec.whatwg.org/#dom-window-focus 34064. https://html.spec.whatwg.org/#dom-window-blur 34065. https://html.spec.whatwg.org/#navigable 34066. https://html.spec.whatwg.org/#htmlorsvgelement 34067. https://html.spec.whatwg.org/#allow-focus-steps 34068. https://webidl.spec.whatwg.org/#this 34069. https://dom.spec.whatwg.org/#concept-node-document 34070. https://html.spec.whatwg.org/#focusing-steps 34071. https://webidl.spec.whatwg.org/#this 34072. https://infra.spec.whatwg.org/#map-exists 34073. https://infra.spec.whatwg.org/#implementation-defined 34074. https://drafts.csswg.org/selectors/#indicate-focus 34075. https://drafts.csswg.org/cssom-view/#scroll-a-target-into-view 34076. https://webidl.spec.whatwg.org/#this 34077. https://html.spec.whatwg.org/#htmlorsvgelement 34078. https://html.spec.whatwg.org/#unfocusing-steps 34079. https://webidl.spec.whatwg.org/#this 34080. https://html.spec.whatwg.org/#dom-blur 34081. https://html.spec.whatwg.org/#document 34082. https://html.spec.whatwg.org/#allowed-to-use 34083. https://html.spec.whatwg.org/#focus-without-user-activation-feature 34084. https://html.spec.whatwg.org/#concept-relevant-global 34085. https://html.spec.whatwg.org/#transient-activation 34086. https://html.spec.whatwg.org/#attr-fe-autofocus 34087. https://html.spec.whatwg.org/#attr-fe-autofocus 34088. https://html.spec.whatwg.org/#the-dialog-element 34089. https://html.spec.whatwg.org/#html-elements 34090. https://html.spec.whatwg.org/#attr-popover 34091. https://html.spec.whatwg.org/#attr-fe-autofocus 34092. https://html.spec.whatwg.org/#boolean-attribute 34093. https://dom.spec.whatwg.org/#interface-element 34094. https://html.spec.whatwg.org/#the-dialog-element 34095. https://html.spec.whatwg.org/#attr-popover 34096. https://html.spec.whatwg.org/#attr-popover-none-state 34097. https://dom.spec.whatwg.org/#parent-element 34098. https://dom.spec.whatwg.org/#parent-element 34099. https://html.spec.whatwg.org/#the-dialog-element 34100. https://html.spec.whatwg.org/#attr-popover 34101. https://html.spec.whatwg.org/#attr-popover-none-state 34102. https://html.spec.whatwg.org/#nearest-ancestor-autofocus-scoping-root-element 34103. https://html.spec.whatwg.org/#attr-fe-autofocus 34104. https://html.spec.whatwg.org/#document 34105. https://infra.spec.whatwg.org/#list 34106. https://html.spec.whatwg.org/#document 34107. https://html.spec.whatwg.org/#attr-fe-autofocus 34108. https://html.spec.whatwg.org/#insert-an-element-into-a-document 34109. https://dom.spec.whatwg.org/#concept-node-document 34110. https://html.spec.whatwg.org/#fully-active 34111. https://html.spec.whatwg.org/#active-sandboxing-flag-set 34112. https://html.spec.whatwg.org/#sandboxed-automatic-features-browsing-context-flag 34113. https://html.spec.whatwg.org/#allow-focus-steps 34114. https://infra.spec.whatwg.org/#list-iterate 34115. https://html.spec.whatwg.org/#ancestor-navigables 34116. https://html.spec.whatwg.org/#nav-document 34117. https://dom.spec.whatwg.org/#concept-document-origin 34118. https://html.spec.whatwg.org/#same-origin 34119. https://dom.spec.whatwg.org/#concept-document-origin 34120. https://html.spec.whatwg.org/#node-navigable 34121. https://html.spec.whatwg.org/#nav-top 34122. https://html.spec.whatwg.org/#nav-document 34123. https://html.spec.whatwg.org/#autofocus-processed-flag 34124. https://infra.spec.whatwg.org/#list-remove 34125. https://html.spec.whatwg.org/#autofocus-candidates 34126. https://infra.spec.whatwg.org/#list-append 34127. https://html.spec.whatwg.org/#autofocus-candidates 34128. https://html.spec.whatwg.org/#focusable-area 34129. https://html.spec.whatwg.org/#autofocus-candidates 34130. https://html.spec.whatwg.org/#flush-autofocus-candidates 34131. https://html.spec.whatwg.org/#autofocus-processed-flag 34132. https://html.spec.whatwg.org/#autofocus-candidates 34133. https://infra.spec.whatwg.org/#list-is-empty 34134. https://html.spec.whatwg.org/#focused-area-of-the-document 34135. https://html.spec.whatwg.org/#target-element 34136. https://infra.spec.whatwg.org/#list-empty 34137. https://html.spec.whatwg.org/#autofocus-processed-flag 34138. https://infra.spec.whatwg.org/#list-is-empty 34139. https://dom.spec.whatwg.org/#concept-node-document 34140. https://html.spec.whatwg.org/#fully-active 34141. https://infra.spec.whatwg.org/#list-remove 34142. https://infra.spec.whatwg.org/#iteration-continue 34143. https://html.spec.whatwg.org/#node-navigable 34144. https://html.spec.whatwg.org/#nav-top 34145. https://html.spec.whatwg.org/#node-navigable 34146. https://infra.spec.whatwg.org/#list-remove 34147. https://infra.spec.whatwg.org/#iteration-continue 34148. https://html.spec.whatwg.org/#script-blocking-style-sheet-set 34149. https://infra.spec.whatwg.org/#list-empty 34150. https://html.spec.whatwg.org/#flush-autofocus-candidates 34151. https://infra.spec.whatwg.org/#list-remove 34152. https://infra.spec.whatwg.org/#list 34153. https://html.spec.whatwg.org/#nav-document 34154. https://html.spec.whatwg.org/#inclusive-ancestor-navigables 34155. https://html.spec.whatwg.org/#document 34156. https://html.spec.whatwg.org/#target-element 34157. https://infra.spec.whatwg.org/#iteration-continue 34158. https://html.spec.whatwg.org/#focusable-area 34159. https://html.spec.whatwg.org/#get-the-focusable-area 34160. https://html.spec.whatwg.org/#autofocus-candidates 34161. https://infra.spec.whatwg.org/#list-contain 34162. https://html.spec.whatwg.org/#focusable-area 34163. https://html.spec.whatwg.org/#get-the-focusable-area 34164. https://html.spec.whatwg.org/#focusable-area 34165. https://html.spec.whatwg.org/#attr-fe-autofocus 34166. https://html.spec.whatwg.org/#insert-an-element-into-a-document 34167. https://html.spec.whatwg.org/#autofocus-candidates 34168. https://infra.spec.whatwg.org/#list-empty 34169. https://html.spec.whatwg.org/#autofocus-processed-flag 34170. https://html.spec.whatwg.org/#focusing-steps 34171. https://html.spec.whatwg.org/#dom-dialog-show 34172. https://html.spec.whatwg.org/#dom-dialog-showmodal 34173. https://html.spec.whatwg.org/#the-dialog-element 34174. https://html.spec.whatwg.org/#attr-fe-autofocus 34175. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus 34176. https://html.spec.whatwg.org/#reflect 34177. https://html.spec.whatwg.org/#attr-fe-autofocus 34178. https://html.spec.whatwg.org/#the-accesskey-attribute 34179. https://html.spec.whatwg.org/#the-accesskey-attribute 34180. https://html.spec.whatwg.org/#the-accesskey-attribute 34181. https://html.spec.whatwg.org/#dom-accesskeylabel 34182. https://html.spec.whatwg.org/#dom-accesskeylabel 34183. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/accesskey 34184. https://html.spec.whatwg.org/#html-elements 34185. https://html.spec.whatwg.org/#the-accesskey-attribute 34186. https://html.spec.whatwg.org/#the-accesskey-attribute 34187. https://html.spec.whatwg.org/#ordered-set-of-unique-space-separated-tokens 34188. https://infra.spec.whatwg.org/#string-is 34189. https://html.spec.whatwg.org/#assigned-access-key 34190. https://html.spec.whatwg.org/#the-accesskey-attribute 34191. https://html.spec.whatwg.org/#assigned-access-key 34192. https://html.spec.whatwg.org/#the-accesskey-attribute 34193. https://html.spec.whatwg.org/#assigned-access-key 34194. https://html.spec.whatwg.org/#the-accesskey-attribute 34195. https://infra.spec.whatwg.org/#split-on-ascii-whitespace 34196. https://infra.spec.whatwg.org/#tracking-vector 34197. https://html.spec.whatwg.org/#assigned-access-key 34198. https://html.spec.whatwg.org/#assigned-access-key 34199. https://html.spec.whatwg.org/#assigned-access-key 34200. https://html.spec.whatwg.org/#assigned-access-key 34201. https://html.spec.whatwg.org/#the-accesskey-attribute 34202. https://html.spec.whatwg.org/#document 34203. https://html.spec.whatwg.org/#assigned-access-key 34204. https://html.spec.whatwg.org/#concept-command 34205. https://html.spec.whatwg.org/#command-facet-hiddenstate 34206. https://html.spec.whatwg.org/#command-facet-disabledstate 34207. https://dom.spec.whatwg.org/#in-a-document 34208. https://html.spec.whatwg.org/#concept-document-bc 34209. https://html.spec.whatwg.org/#attr-hidden 34210. https://html.spec.whatwg.org/#command-facet-action 34211. https://html.spec.whatwg.org/#expose-commands-in-ui 34212. https://html.spec.whatwg.org/#the-accesskey-attribute 34213. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/accessKey 34214. https://html.spec.whatwg.org/#reflect 34215. https://html.spec.whatwg.org/#the-accesskey-attribute 34216. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/accessKeyLabel 34217. https://html.spec.whatwg.org/#assigned-access-key 34218. https://html.spec.whatwg.org/#attr-contenteditable 34219. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/contentEditable 34220. https://html.spec.whatwg.org/#cereactions 34221. https://html.spec.whatwg.org/#dom-contenteditable 34222. https://html.spec.whatwg.org/#cereactions 34223. https://html.spec.whatwg.org/#dom-enterkeyhint 34224. https://html.spec.whatwg.org/#dom-iscontenteditable 34225. https://html.spec.whatwg.org/#cereactions 34226. https://html.spec.whatwg.org/#dom-inputmode 34227. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/contenteditable 34228. https://html.spec.whatwg.org/#enumerated-attribute 34229. https://html.spec.whatwg.org/#missing-value-default 34230. https://html.spec.whatwg.org/#invalid-value-default 34231. https://html.spec.whatwg.org/#the-form-element 34232. https://html.spec.whatwg.org/#the-textarea-element 34233. https://html.spec.whatwg.org/#the-textarea-element 34234. https://html.spec.whatwg.org/#attr-contenteditable 34235. https://w3c.github.io/editing/docs/execCommand/#execcommand() 34236. https://w3c.github.io/selection-api/#selection-interface 34237. https://html.spec.whatwg.org/#refsEXECCOMMAND 34238. https://html.spec.whatwg.org/#refsSELECTION 34239. https://html.spec.whatwg.org/#refsDOM 34240. https://html.spec.whatwg.org/#attr-contenteditable 34241. https://html.spec.whatwg.org/#dom-contenteditable 34242. https://html.spec.whatwg.org/#attr-contenteditable-inherit-state 34243. https://html.spec.whatwg.org/#attr-contenteditable 34244. https://webidl.spec.whatwg.org/#syntaxerror 34245. https://webidl.spec.whatwg.org/#dfn-DOMException 34246. https://html.spec.whatwg.org/#dom-iscontenteditable 34247. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/isContentEditable 34248. https://html.spec.whatwg.org/#attr-contenteditable-true-state 34249. https://html.spec.whatwg.org/#attr-contenteditable-plaintextonly-state 34250. https://html.spec.whatwg.org/#attr-contenteditable-false-state 34251. https://html.spec.whatwg.org/#attr-contenteditable-inherit-state 34252. https://infra.spec.whatwg.org/#ascii-case-insensitive 34253. https://infra.spec.whatwg.org/#ascii-case-insensitive 34254. https://infra.spec.whatwg.org/#ascii-case-insensitive 34255. https://infra.spec.whatwg.org/#ascii-case-insensitive 34256. https://webidl.spec.whatwg.org/#syntaxerror 34257. https://webidl.spec.whatwg.org/#dfn-DOMException 34258. https://html.spec.whatwg.org/#editing-host 34259. https://w3c.github.io/editing/docs/execCommand/#editable 34260. https://html.spec.whatwg.org/#designMode 34261. https://html.spec.whatwg.org/#designMode 34262. https://developer.mozilla.org/en-US/docs/Web/API/Document/designMode 34263. https://html.spec.whatwg.org/#document 34264. https://webidl.spec.whatwg.org/#this 34265. https://html.spec.whatwg.org/#design-mode-enabled 34266. https://html.spec.whatwg.org/#designMode 34267. https://infra.spec.whatwg.org/#ascii-lowercase 34268. https://webidl.spec.whatwg.org/#this 34269. https://html.spec.whatwg.org/#design-mode-enabled 34270. https://webidl.spec.whatwg.org/#this 34271. https://html.spec.whatwg.org/#design-mode-enabled 34272. https://webidl.spec.whatwg.org/#this 34273. https://w3c.github.io/editing/docs/execCommand/#active-range 34274. https://webidl.spec.whatwg.org/#this 34275. https://html.spec.whatwg.org/#focusing-steps 34276. https://webidl.spec.whatwg.org/#this 34277. https://dom.spec.whatwg.org/#document-element 34278. https://webidl.spec.whatwg.org/#this 34279. https://html.spec.whatwg.org/#design-mode-enabled 34280. https://drafts.csswg.org/css-text/#white-space-property 34281. https://html.spec.whatwg.org/#editing-host 34282. https://drafts.csswg.org/css-text/#white-space-property 34283. https://drafts.csswg.org/css-text/#white-space-property 34284. https://drafts.csswg.org/css-text/#white-space-property 34285. https://drafts.csswg.org/css-text/#white-space-property 34286. https://html.spec.whatwg.org/#html-elements 34287. https://html.spec.whatwg.org/#attr-contenteditable 34288. https://dom.spec.whatwg.org/#concept-tree-child 34289. https://html.spec.whatwg.org/#html-elements 34290. https://html.spec.whatwg.org/#document 34291. https://html.spec.whatwg.org/#design-mode-enabled 34292. https://w3c.github.io/editing/docs/execCommand/#active-range 34293. https://w3c.github.io/editing/docs/execCommand/#editing-host-of 34294. https://w3c.github.io/editing/docs/execCommand/#editable 34295. https://html.spec.whatwg.org/#editing-host 34296. https://w3c.github.io/editing/docs/execCommand/#editable 34297. https://w3c.github.io/editing/docs/execCommand/#execcommand() 34298. https://w3c.github.io/editing/docs/execCommand/#querycommandenabled() 34299. https://w3c.github.io/editing/docs/execCommand/#querycommandindeterm() 34300. https://w3c.github.io/editing/docs/execCommand/#querycommandstate() 34301. https://w3c.github.io/editing/docs/execCommand/#querycommandsupported() 34302. https://w3c.github.io/editing/docs/execCommand/#querycommandvalue() 34303. https://w3c.github.io/editing/docs/execCommand/#delete-the-selection 34304. https://html.spec.whatwg.org/#refsEXECCOMMAND 34305. https://html.spec.whatwg.org/#the-textarea-element 34306. https://html.spec.whatwg.org/#editing-host 34307. https://html.spec.whatwg.org/#attr-contenteditable 34308. https://html.spec.whatwg.org/#attr-spellcheck 34309. https://html.spec.whatwg.org/#attr-spellcheck 34310. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/spellcheck 34311. https://html.spec.whatwg.org/#enumerated-attribute 34312. https://html.spec.whatwg.org/#missing-value-default 34313. https://html.spec.whatwg.org/#invalid-value-default 34314. https://html.spec.whatwg.org/#attr-spellcheck 34315. https://html.spec.whatwg.org/#dom-spellcheck 34316. https://html.spec.whatwg.org/#attr-spellcheck 34317. https://html.spec.whatwg.org/#attr-spellcheck 34318. https://html.spec.whatwg.org/#attr-spellcheck-true-state 34319. https://html.spec.whatwg.org/#attr-spellcheck 34320. https://html.spec.whatwg.org/#attr-spellcheck-default-state 34321. https://html.spec.whatwg.org/#concept-spellcheck-default 34322. https://html.spec.whatwg.org/#concept-spellcheck-default-true 34323. https://html.spec.whatwg.org/#attr-spellcheck 34324. https://html.spec.whatwg.org/#attr-spellcheck-default-state 34325. https://html.spec.whatwg.org/#concept-spellcheck-default 34326. https://html.spec.whatwg.org/#concept-spellcheck-default-inherit 34327. https://html.spec.whatwg.org/#dom-spellcheck 34328. https://html.spec.whatwg.org/#dom-spellcheck 34329. https://html.spec.whatwg.org/#attr-spellcheck 34330. https://html.spec.whatwg.org/#attr-spellcheck 34331. https://html.spec.whatwg.org/#concept-fe-value 34332. https://html.spec.whatwg.org/#the-input-element 34333. https://html.spec.whatwg.org/#attr-input-type 34334. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 34335. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 34336. https://html.spec.whatwg.org/#url-state-(type=url) 34337. https://html.spec.whatwg.org/#email-state-(type=email) 34338. https://html.spec.whatwg.org/#concept-fe-mutable 34339. https://html.spec.whatwg.org/#attr-input-readonly 34340. https://html.spec.whatwg.org/#concept-fe-disabled 34341. https://html.spec.whatwg.org/#concept-fe-value 34342. https://html.spec.whatwg.org/#the-textarea-element 34343. https://html.spec.whatwg.org/#attr-textarea-readonly 34344. https://html.spec.whatwg.org/#concept-fe-disabled 34345. https://dom.spec.whatwg.org/#interface-text 34346. https://html.spec.whatwg.org/#editing-host 34347. https://w3c.github.io/editing/docs/execCommand/#editable 34348. https://w3c.github.io/editing/docs/execCommand/#editable 34349. https://dom.spec.whatwg.org/#interface-text 34350. https://html.spec.whatwg.org/#the-input-element 34351. https://html.spec.whatwg.org/#the-textarea-element 34352. https://html.spec.whatwg.org/#attr-spellcheck 34353. https://html.spec.whatwg.org/#attr-spellcheck-true-state 34354. https://html.spec.whatwg.org/#attr-spellcheck-false-state 34355. https://html.spec.whatwg.org/#attr-spellcheck 34356. https://html.spec.whatwg.org/#attr-spellcheck-default-state 34357. https://html.spec.whatwg.org/#attr-spellcheck 34358. https://html.spec.whatwg.org/#attr-spellcheck-true-state 34359. https://html.spec.whatwg.org/#concept-spellcheck-default 34360. https://html.spec.whatwg.org/#concept-spellcheck-default-true 34361. https://html.spec.whatwg.org/#concept-spellcheck-default 34362. https://html.spec.whatwg.org/#concept-spellcheck-default-false 34363. https://html.spec.whatwg.org/#the-input-element 34364. https://html.spec.whatwg.org/#attr-input-pattern 34365. https://html.spec.whatwg.org/#the-input-element 34366. https://html.spec.whatwg.org/#the-textarea-element 34367. https://html.spec.whatwg.org/#editing-host 34368. https://html.spec.whatwg.org/#enumerated-attribute 34369. https://html.spec.whatwg.org/#missing-value-default 34370. https://html.spec.whatwg.org/#attr-writingsuggestions 34371. https://html.spec.whatwg.org/#invalid-value-default 34372. https://html.spec.whatwg.org/#attr-writingsuggestions-true-state 34373. https://html.spec.whatwg.org/#dom-writingsuggestions 34374. https://html.spec.whatwg.org/#attr-writingsuggestions 34375. https://html.spec.whatwg.org/#attr-writingsuggestions 34376. https://html.spec.whatwg.org/#attr-writingsuggestions-false-state 34377. https://html.spec.whatwg.org/#attr-writingsuggestions 34378. https://html.spec.whatwg.org/#attr-writingsuggestions-default-state 34379. https://html.spec.whatwg.org/#computed-writing-suggestions-value 34380. https://webidl.spec.whatwg.org/#this 34381. https://html.spec.whatwg.org/#computed-writing-suggestions-value 34382. https://html.spec.whatwg.org/#dom-writingsuggestions 34383. https://html.spec.whatwg.org/#attr-writingsuggestions 34384. https://html.spec.whatwg.org/#dom-writingsuggestions 34385. https://webidl.spec.whatwg.org/#this 34386. https://html.spec.whatwg.org/#attr-writingsuggestions 34387. https://html.spec.whatwg.org/#the-input-element 34388. https://html.spec.whatwg.org/#attr-input-type 34389. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 34390. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 34391. https://html.spec.whatwg.org/#telephone-state-(type=tel) 34392. https://html.spec.whatwg.org/#url-state-(type=url) 34393. https://html.spec.whatwg.org/#email-state-(type=email) 34394. https://html.spec.whatwg.org/#concept-fe-mutable 34395. https://html.spec.whatwg.org/#the-textarea-element 34396. https://html.spec.whatwg.org/#concept-fe-mutable 34397. https://html.spec.whatwg.org/#editing-host 34398. https://w3c.github.io/editing/docs/execCommand/#editable 34399. https://dom.spec.whatwg.org/#concept-tree-inclusive-ancestor 34400. https://html.spec.whatwg.org/#attr-writingsuggestions 34401. https://html.spec.whatwg.org/#attr-writingsuggestions-default-state 34402. https://html.spec.whatwg.org/#attr-writingsuggestions 34403. https://html.spec.whatwg.org/#attr-writingsuggestions-false-state 34404. https://html.spec.whatwg.org/#attr-autocapitalize 34405. https://html.spec.whatwg.org/#attr-autocapitalize 34406. https://html.spec.whatwg.org/#attr-autocapitalize 34407. https://html.spec.whatwg.org/#editing-host 34408. https://html.spec.whatwg.org/#the-input-element 34409. https://html.spec.whatwg.org/#the-textarea-element 34410. https://html.spec.whatwg.org/#the-form-element 34411. https://html.spec.whatwg.org/#category-autocapitalize 34412. https://html.spec.whatwg.org/#the-form-element 34413. https://html.spec.whatwg.org/#attr-autocapitalize 34414. https://html.spec.whatwg.org/#the-input-element 34415. https://html.spec.whatwg.org/#attr-input-type 34416. https://html.spec.whatwg.org/#url-state-(type=url) 34417. https://html.spec.whatwg.org/#email-state-(type=email) 34418. https://html.spec.whatwg.org/#password-state-(type=password) 34419. https://html.spec.whatwg.org/#used-autocapitalization-hint 34420. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize 34421. https://html.spec.whatwg.org/#enumerated-attribute 34422. https://html.spec.whatwg.org/#autocapitalization-hint 34423. https://html.spec.whatwg.org/#autocapitalization-hint 34424. https://html.spec.whatwg.org/#used-autocapitalization-hint 34425. https://html.spec.whatwg.org/#autocap-hint-none 34426. https://html.spec.whatwg.org/#autocap-hint-sentences 34427. https://html.spec.whatwg.org/#autocap-hint-words 34428. https://html.spec.whatwg.org/#autocap-hint-characters 34429. https://html.spec.whatwg.org/#missing-value-default 34430. https://html.spec.whatwg.org/#autocap-hint-default 34431. https://html.spec.whatwg.org/#invalid-value-default 34432. https://html.spec.whatwg.org/#autocap-hint-sentences 34433. https://html.spec.whatwg.org/#dom-autocapitalize 34434. https://html.spec.whatwg.org/#the-input-element 34435. https://html.spec.whatwg.org/#the-textarea-element 34436. https://html.spec.whatwg.org/#the-form-element 34437. https://html.spec.whatwg.org/#the-form-element 34438. https://html.spec.whatwg.org/#editing-host 34439. https://html.spec.whatwg.org/#attr-autocapitalize 34440. https://html.spec.whatwg.org/#attr-autocapitalize 34441. https://html.spec.whatwg.org/#category-autocapitalize 34442. https://html.spec.whatwg.org/#form-owner 34443. https://html.spec.whatwg.org/#own-autocapitalization-hint 34444. https://html.spec.whatwg.org/#form-owner 34445. https://html.spec.whatwg.org/#autocap-hint-default 34446. https://html.spec.whatwg.org/#own-autocapitalization-hint 34447. https://webidl.spec.whatwg.org/#this 34448. https://html.spec.whatwg.org/#autocap-hint-default 34449. https://html.spec.whatwg.org/#autocap-hint-none 34450. https://html.spec.whatwg.org/#attr-autocapitalize-none 34451. https://html.spec.whatwg.org/#autocap-hint-sentences 34452. https://html.spec.whatwg.org/#attr-autocapitalize-sentences 34453. https://html.spec.whatwg.org/#dom-autocapitalize 34454. https://html.spec.whatwg.org/#attr-autocapitalize 34455. https://html.spec.whatwg.org/#autocapitalization-hint 34456. https://html.spec.whatwg.org/#used-autocapitalization-hint 34457. https://html.spec.whatwg.org/#used-autocapitalization-hint 34458. https://html.spec.whatwg.org/#the-input-element 34459. https://html.spec.whatwg.org/#attr-input-type 34460. https://html.spec.whatwg.org/#url-state-(type=url) 34461. https://html.spec.whatwg.org/#email-state-(type=email) 34462. https://html.spec.whatwg.org/#password-state-(type=password) 34463. https://html.spec.whatwg.org/#autocap-hint-default 34464. https://html.spec.whatwg.org/#the-input-element 34465. https://html.spec.whatwg.org/#the-textarea-element 34466. https://html.spec.whatwg.org/#own-autocapitalization-hint 34467. https://html.spec.whatwg.org/#editing-host 34468. https://w3c.github.io/editing/docs/execCommand/#editable 34469. https://html.spec.whatwg.org/#own-autocapitalization-hint 34470. https://w3c.github.io/editing/docs/execCommand/#editing-host-of 34471. https://infra.spec.whatwg.org/#assert 34472. https://html.spec.whatwg.org/#the-textarea-element 34473. https://html.spec.whatwg.org/#editing-host 34474. https://html.spec.whatwg.org/#attr-contenteditable 34475. https://html.spec.whatwg.org/#attr-autocorrect 34476. https://html.spec.whatwg.org/#attr-autocorrect 34477. https://html.spec.whatwg.org/#the-input-element 34478. https://html.spec.whatwg.org/#the-textarea-element 34479. https://html.spec.whatwg.org/#the-form-element 34480. https://html.spec.whatwg.org/#category-autocapitalize 34481. https://html.spec.whatwg.org/#the-form-element 34482. https://html.spec.whatwg.org/#attr-autocorrect 34483. https://html.spec.whatwg.org/#the-input-element 34484. https://html.spec.whatwg.org/#attr-input-type 34485. https://html.spec.whatwg.org/#url-state-(type=url) 34486. https://html.spec.whatwg.org/#email-state-(type=email) 34487. https://html.spec.whatwg.org/#password-state-(type=password) 34488. https://html.spec.whatwg.org/#used-autocorrection-state 34489. https://html.spec.whatwg.org/#invalid-value-default 34490. https://html.spec.whatwg.org/#missing-value-default 34491. https://html.spec.whatwg.org/#concept-autocorrection-on 34492. https://html.spec.whatwg.org/#used-autocorrection-state 34493. https://html.spec.whatwg.org/#concept-autocorrection-on 34494. https://html.spec.whatwg.org/#used-autocorrection-state 34495. https://html.spec.whatwg.org/#concept-autocorrection-off 34496. https://html.spec.whatwg.org/#attr-autocorrect 34497. https://html.spec.whatwg.org/#the-input-element 34498. https://html.spec.whatwg.org/#attr-input-type 34499. https://html.spec.whatwg.org/#url-state-(type=url) 34500. https://html.spec.whatwg.org/#email-state-(type=email) 34501. https://html.spec.whatwg.org/#password-state-(type=password) 34502. https://html.spec.whatwg.org/#concept-autocorrection-off 34503. https://html.spec.whatwg.org/#attr-autocorrect 34504. https://html.spec.whatwg.org/#category-autocapitalize 34505. https://html.spec.whatwg.org/#form-owner 34506. https://html.spec.whatwg.org/#form-owner 34507. https://html.spec.whatwg.org/#attr-autocorrect 34508. https://html.spec.whatwg.org/#concept-autocorrection-on 34509. https://html.spec.whatwg.org/#dom-autocorrect 34510. https://html.spec.whatwg.org/#category-autocapitalize 34511. https://html.spec.whatwg.org/#the-form-element 34512. https://html.spec.whatwg.org/#the-form-element 34513. https://html.spec.whatwg.org/#editing-host 34514. https://html.spec.whatwg.org/#editing-host 34515. https://html.spec.whatwg.org/#dom-autocorrect 34516. https://html.spec.whatwg.org/#attr-autocorrect 34517. https://html.spec.whatwg.org/#the-input-element 34518. https://html.spec.whatwg.org/#attr-autocorrect 34519. https://html.spec.whatwg.org/#the-form-element 34520. https://html.spec.whatwg.org/#attr-autocorrect-off 34521. https://html.spec.whatwg.org/#the-textarea-element 34522. https://html.spec.whatwg.org/#attr-autocorrect 34523. https://html.spec.whatwg.org/#attr-autocorrect-on 34524. https://html.spec.whatwg.org/#attr-inputmode 34525. https://html.spec.whatwg.org/#attr-inputmode 34526. https://html.spec.whatwg.org/#the-textarea-element 34527. https://html.spec.whatwg.org/#editing-host 34528. https://html.spec.whatwg.org/#attr-contenteditable 34529. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode 34530. https://html.spec.whatwg.org/#enumerated-attribute 34531. https://url.spec.whatwg.org/#concept-url 34532. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inputMode 34533. https://html.spec.whatwg.org/#reflect 34534. https://html.spec.whatwg.org/#attr-inputmode 34535. https://html.spec.whatwg.org/#limited-to-only-known-values 34536. https://html.spec.whatwg.org/#attr-inputmode 34537. https://html.spec.whatwg.org/#attr-input-type 34538. https://html.spec.whatwg.org/#attr-input-pattern 34539. https://html.spec.whatwg.org/#attr-enterkeyhint 34540. https://html.spec.whatwg.org/#attr-enterkeyhint 34541. https://html.spec.whatwg.org/#the-textarea-element 34542. https://html.spec.whatwg.org/#editing-host 34543. https://html.spec.whatwg.org/#attr-contenteditable 34544. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint 34545. https://html.spec.whatwg.org/#enumerated-attribute 34546. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/enterKeyHint 34547. https://html.spec.whatwg.org/#reflect 34548. https://html.spec.whatwg.org/#attr-enterkeyhint 34549. https://html.spec.whatwg.org/#limited-to-only-known-values 34550. https://html.spec.whatwg.org/#attr-enterkeyhint 34551. https://html.spec.whatwg.org/#attr-inputmode 34552. https://html.spec.whatwg.org/#attr-input-type 34553. https://html.spec.whatwg.org/#attr-input-pattern 34554. https://html.spec.whatwg.org/#find-in-page-2 34555. https://html.spec.whatwg.org/#find-in-page-interface 34556. https://html.spec.whatwg.org/#fip-query 34557. https://html.spec.whatwg.org/#fip-query 34558. https://html.spec.whatwg.org/#fip-matches 34559. https://html.spec.whatwg.org/#fip-matches 34560. https://html.spec.whatwg.org/#fip-active-match 34561. https://html.spec.whatwg.org/#find-in-page-interface 34562. https://github.com/whatwg/html/issues/3539 34563. https://html.spec.whatwg.org/#find-in-page-2 34564. https://html.spec.whatwg.org/#the-details-element 34565. https://html.spec.whatwg.org/#attr-hidden-until-found-state 34566. https://html.spec.whatwg.org/#the-details-element 34567. https://html.spec.whatwg.org/#attr-details-open 34568. https://drafts.csswg.org/css-contain/#skips-its-contents 34569. https://html.spec.whatwg.org/#attr-details-open 34570. https://html.spec.whatwg.org/#attr-hidden 34571. https://html.spec.whatwg.org/#attr-hidden-until-found-state 34572. https://drafts.csswg.org/css-contain/#skips-its-contents 34573. https://html.spec.whatwg.org/#attr-hidden 34574. https://html.spec.whatwg.org/#the-details-element 34575. https://html.spec.whatwg.org/#attr-hidden 34576. https://html.spec.whatwg.org/#attr-hidden-until-found-state 34577. https://html.spec.whatwg.org/#refsCSSCONTAIN 34578. https://html.spec.whatwg.org/#fip-active-match 34579. https://html.spec.whatwg.org/#fip-active-match 34580. https://html.spec.whatwg.org/#queue-a-global-task 34581. https://html.spec.whatwg.org/#user-interaction-task-source 34582. https://html.spec.whatwg.org/#concept-relevant-global 34583. https://html.spec.whatwg.org/#ancestor-details-revealing-algorithm 34584. https://html.spec.whatwg.org/#ancestor-hidden-until-found-revealing-algorithm 34585. https://infra.spec.whatwg.org/#tracking-vector 34586. https://html.spec.whatwg.org/#the-details-element 34587. https://html.spec.whatwg.org/#event-toggle 34588. https://drafts.csswg.org/cssom-view/#eventdef-document-scroll 34589. https://html.spec.whatwg.org/#the-details-element 34590. https://html.spec.whatwg.org/#event-toggle 34591. https://drafts.csswg.org/cssom-view/#eventdef-document-scroll 34592. https://w3c.github.io/selection-api/#dfn-selection 34593. https://html.spec.whatwg.org/#fip-active-match 34594. https://html.spec.whatwg.org/#find-in-page-interface 34595. https://html.spec.whatwg.org/#fip-active-match 34596. https://infra.spec.whatwg.org/#implementation-defined 34597. https://html.spec.whatwg.org/#document 34598. https://html.spec.whatwg.org/#queue-a-global-task 34599. https://html.spec.whatwg.org/#user-interaction-task-source 34600. https://html.spec.whatwg.org/#concept-relevant-global 34601. https://fullscreen.spec.whatwg.org/#fullscreen-element 34602. https://fullscreen.spec.whatwg.org/#fully-exit-fullscreen 34603. https://html.spec.whatwg.org/#node-navigable 34604. https://html.spec.whatwg.org/#nav-top 34605. https://html.spec.whatwg.org/#nav-document 34606. https://w3c.github.io/uievents/#event-type-keydown 34607. https://fullscreen.spec.whatwg.org/#eventdef-document-fullscreenchange 34608. https://html.spec.whatwg.org/#close-request-fallback 34609. https://html.spec.whatwg.org/#refsUIEVENTS 34610. https://w3c.github.io/uievents/#event-type-keydown 34611. https://w3c.github.io/uievents/#events-keyboard-event-order 34612. https://html.spec.whatwg.org/#close-request 34613. https://html.spec.whatwg.org/#close-request-steps 34614. https://w3c.github.io/uievents/#event-type-keydown 34615. https://html.spec.whatwg.org/#close-request 34616. https://dom.spec.whatwg.org/#interface-event 34617. https://infra.spec.whatwg.org/#implementation-defined 34618. https://dom.spec.whatwg.org/#canceled-flag 34619. https://html.spec.whatwg.org/#fully-active 34620. https://html.spec.whatwg.org/#fully-active 34621. https://html.spec.whatwg.org/#process-close-watchers 34622. https://html.spec.whatwg.org/#concept-relevant-global 34623. https://html.spec.whatwg.org/#close-request 34624. https://html.spec.whatwg.org/#close-request 34625. https://w3c.github.io/uievents/#event-type-keydown 34626. https://html.spec.whatwg.org/#close-request 34627. https://w3c.github.io/uievents/#event-type-keydown 34628. https://dom.spec.whatwg.org/#dom-event-preventdefault 34629. https://html.spec.whatwg.org/#process-close-watchers 34630. https://html.spec.whatwg.org/#close-request 34631. https://html.spec.whatwg.org/#process-close-watchers 34632. https://html.spec.whatwg.org/#close-watcher-active 34633. https://html.spec.whatwg.org/#close-watcher 34634. https://html.spec.whatwg.org/#traverse-the-history-by-a-delta 34635. https://html.spec.whatwg.org/#window 34636. https://infra.spec.whatwg.org/#struct 34637. https://infra.spec.whatwg.org/#struct-item 34638. https://infra.spec.whatwg.org/#list 34639. https://infra.spec.whatwg.org/#list 34640. https://html.spec.whatwg.org/#close-watcher 34641. https://html.spec.whatwg.org/#close-watcher-manager 34642. https://html.spec.whatwg.org/#close-request 34643. https://html.spec.whatwg.org/#close-request-fallback 34644. https://html.spec.whatwg.org/#close-watcher 34645. https://html.spec.whatwg.org/#history-action-activation 34646. https://html.spec.whatwg.org/#close-request 34647. https://html.spec.whatwg.org/#tracking-user-activation 34648. https://html.spec.whatwg.org/#close-watcher-manager-next 34649. https://html.spec.whatwg.org/#close-watcher 34650. https://html.spec.whatwg.org/#tracking-user-activation 34651. https://html.spec.whatwg.org/#close-watcher-manager-allowed-number-of-groups 34652. https://html.spec.whatwg.org/#tracking-user-activation 34653. https://html.spec.whatwg.org/#window 34654. https://html.spec.whatwg.org/#close-watcher-manager 34655. https://html.spec.whatwg.org/#close-watcher-manager-next 34656. https://html.spec.whatwg.org/#close-watcher-manager-allowed-number-of-groups 34657. https://html.spec.whatwg.org/#close-watcher-manager-next 34658. https://infra.spec.whatwg.org/#struct 34659. https://infra.spec.whatwg.org/#struct-item 34660. https://html.spec.whatwg.org/#window 34661. https://html.spec.whatwg.org/#close-watcher-close-action 34662. https://html.spec.whatwg.org/#close-watcher 34663. https://html.spec.whatwg.org/#close-watcher-window 34664. https://html.spec.whatwg.org/#close-watcher-manager 34665. https://infra.spec.whatwg.org/#list-contain 34666. https://infra.spec.whatwg.org/#list-contain 34667. https://html.spec.whatwg.org/#window 34668. https://infra.spec.whatwg.org/#assert 34669. https://html.spec.whatwg.org/#concept-document-window 34670. https://html.spec.whatwg.org/#fully-active 34671. https://html.spec.whatwg.org/#close-watcher 34672. https://html.spec.whatwg.org/#close-watcher-window 34673. https://html.spec.whatwg.org/#close-watcher-cancel-action 34674. https://html.spec.whatwg.org/#close-watcher-close-action 34675. https://html.spec.whatwg.org/#close-watcher-is-running-cancel 34676. https://html.spec.whatwg.org/#close-watcher-get-enabled-state 34677. https://html.spec.whatwg.org/#close-watcher-manager 34678. https://html.spec.whatwg.org/#close-watcher-manager-groups 34679. https://infra.spec.whatwg.org/#list-size 34680. https://html.spec.whatwg.org/#close-watcher-manager-allowed-number-of-groups 34681. https://infra.spec.whatwg.org/#list-append 34682. https://html.spec.whatwg.org/#close-watcher-manager-groups 34683. https://infra.spec.whatwg.org/#assert 34684. https://html.spec.whatwg.org/#close-watcher-manager-groups 34685. https://infra.spec.whatwg.org/#list-size 34686. https://html.spec.whatwg.org/#close-watcher-manager-allowed-number-of-groups 34687. https://infra.spec.whatwg.org/#list-append 34688. https://html.spec.whatwg.org/#close-watcher-manager-groups 34689. https://infra.spec.whatwg.org/#list-item 34690. https://html.spec.whatwg.org/#close-watcher-manager-next 34691. https://html.spec.whatwg.org/#close-watcher 34692. https://html.spec.whatwg.org/#close-watcher-active 34693. https://html.spec.whatwg.org/#close-watcher-get-enabled-state 34694. https://html.spec.whatwg.org/#close-watcher-is-running-cancel 34695. https://html.spec.whatwg.org/#close-watcher-window 34696. https://html.spec.whatwg.org/#concept-document-window 34697. https://html.spec.whatwg.org/#fully-active 34698. https://html.spec.whatwg.org/#close-watcher-manager 34699. https://html.spec.whatwg.org/#close-watcher-manager-groups 34700. https://infra.spec.whatwg.org/#list-size 34701. https://html.spec.whatwg.org/#close-watcher-manager 34702. https://html.spec.whatwg.org/#close-watcher-manager-allowed-number-of-groups 34703. https://html.spec.whatwg.org/#history-action-activation 34704. https://html.spec.whatwg.org/#close-watcher-is-running-cancel 34705. https://html.spec.whatwg.org/#close-watcher-cancel-action 34706. https://html.spec.whatwg.org/#close-watcher-is-running-cancel 34707. https://infra.spec.whatwg.org/#assert 34708. https://html.spec.whatwg.org/#consume-history-action-user-activation 34709. https://html.spec.whatwg.org/#consume-history-action-user-activation 34710. https://html.spec.whatwg.org/#close-watcher-request-close 34711. https://html.spec.whatwg.org/#close-watcher 34712. https://html.spec.whatwg.org/#tracking-user-activation 34713. https://html.spec.whatwg.org/#close-watcher-close 34714. https://html.spec.whatwg.org/#close-watcher 34715. https://html.spec.whatwg.org/#close-watcher-active 34716. https://html.spec.whatwg.org/#close-watcher-get-enabled-state 34717. https://html.spec.whatwg.org/#close-watcher-window 34718. https://html.spec.whatwg.org/#concept-document-window 34719. https://html.spec.whatwg.org/#fully-active 34720. https://html.spec.whatwg.org/#close-watcher-destroy 34721. https://html.spec.whatwg.org/#close-watcher-close-action 34722. https://html.spec.whatwg.org/#close-watcher 34723. https://html.spec.whatwg.org/#close-watcher-window 34724. https://html.spec.whatwg.org/#close-watcher-manager 34725. https://infra.spec.whatwg.org/#list-iterate 34726. https://html.spec.whatwg.org/#close-watcher-manager-groups 34727. https://infra.spec.whatwg.org/#list-remove 34728. https://infra.spec.whatwg.org/#list-remove 34729. https://html.spec.whatwg.org/#close-watcher-manager-groups 34730. https://infra.spec.whatwg.org/#list-is-empty 34731. https://html.spec.whatwg.org/#window 34732. https://html.spec.whatwg.org/#close-watcher-manager 34733. https://html.spec.whatwg.org/#close-watcher-manager-groups 34734. https://infra.spec.whatwg.org/#list-item 34735. https://html.spec.whatwg.org/#close-watcher-manager 34736. https://html.spec.whatwg.org/#close-watcher-manager-groups 34737. https://infra.spec.whatwg.org/#list-iterate 34738. https://html.spec.whatwg.org/#close-watcher-get-enabled-state 34739. https://html.spec.whatwg.org/#close-watcher-request-close 34740. https://infra.spec.whatwg.org/#iteration-break 34741. https://html.spec.whatwg.org/#close-watcher-manager 34742. https://html.spec.whatwg.org/#close-watcher-manager-allowed-number-of-groups 34743. https://html.spec.whatwg.org/#closewatcher 34744. https://dom.spec.whatwg.org/#interface-eventtarget 34745. https://html.spec.whatwg.org/#dom-closewatcher 34746. https://html.spec.whatwg.org/#closewatcheroptions 34747. https://html.spec.whatwg.org/#dom-closewatcher-requestclose 34748. https://html.spec.whatwg.org/#dom-closewatcher-close 34749. https://html.spec.whatwg.org/#dom-closewatcher-destroy 34750. https://html.spec.whatwg.org/#eventhandler 34751. https://html.spec.whatwg.org/#handler-closewatcher-oncancel 34752. https://html.spec.whatwg.org/#eventhandler 34753. https://html.spec.whatwg.org/#handler-closewatcher-onclose 34754. https://dom.spec.whatwg.org/#abortsignal 34755. https://html.spec.whatwg.org/#dom-closewatcher 34756. https://html.spec.whatwg.org/#dom-closewatcher 34757. https://html.spec.whatwg.org/#dom-closewatcheroptions-signal 34758. https://html.spec.whatwg.org/#closewatcher 34759. https://html.spec.whatwg.org/#dom-closewatcheroptions-signal 34760. https://html.spec.whatwg.org/#dom-closewatcher-destroy 34761. https://dom.spec.whatwg.org/#abortsignal 34762. https://html.spec.whatwg.org/#close-watcher 34763. https://html.spec.whatwg.org/#window 34764. https://html.spec.whatwg.org/#history-action-activation 34765. https://html.spec.whatwg.org/#closewatcher 34766. https://html.spec.whatwg.org/#close-watcher 34767. https://html.spec.whatwg.org/#close-request 34768. https://html.spec.whatwg.org/#close-watcher 34769. https://html.spec.whatwg.org/#closewatcher 34770. https://html.spec.whatwg.org/#the-dialog-element 34771. https://html.spec.whatwg.org/#attr-popover 34772. https://html.spec.whatwg.org/#dom-closewatcher-requestclose 34773. https://html.spec.whatwg.org/#close-request 34774. https://html.spec.whatwg.org/#event-cancel 34775. https://dom.spec.whatwg.org/#dom-event-preventdefault 34776. https://html.spec.whatwg.org/#event-close 34777. https://html.spec.whatwg.org/#dom-closewatcher-destroy 34778. https://html.spec.whatwg.org/#event-cancel 34779. https://html.spec.whatwg.org/#event-close 34780. https://html.spec.whatwg.org/#close-request 34781. https://html.spec.whatwg.org/#dom-closewatcher-close 34782. https://html.spec.whatwg.org/#event-close 34783. https://html.spec.whatwg.org/#dom-closewatcher-destroy 34784. https://html.spec.whatwg.org/#event-close 34785. https://html.spec.whatwg.org/#event-cancel 34786. https://html.spec.whatwg.org/#dom-closewatcher-destroy 34787. https://html.spec.whatwg.org/#event-close 34788. https://html.spec.whatwg.org/#closewatcher 34789. https://html.spec.whatwg.org/#closewatcher 34790. https://html.spec.whatwg.org/#close-watcher 34791. https://webidl.spec.whatwg.org/#this 34792. https://html.spec.whatwg.org/#concept-relevant-global 34793. https://html.spec.whatwg.org/#concept-document-window 34794. https://html.spec.whatwg.org/#fully-active 34795. https://webidl.spec.whatwg.org/#invalidstateerror 34796. https://webidl.spec.whatwg.org/#dfn-DOMException 34797. https://html.spec.whatwg.org/#establish-a-close-watcher 34798. https://webidl.spec.whatwg.org/#this 34799. https://html.spec.whatwg.org/#concept-relevant-global 34800. https://html.spec.whatwg.org/#create-close-watcher-cancelaction 34801. https://dom.spec.whatwg.org/#concept-event-fire 34802. https://html.spec.whatwg.org/#event-cancel 34803. https://webidl.spec.whatwg.org/#this 34804. https://dom.spec.whatwg.org/#dom-event-cancelable 34805. https://html.spec.whatwg.org/#create-close-watcher-closeaction 34806. https://dom.spec.whatwg.org/#concept-event-fire 34807. https://html.spec.whatwg.org/#event-close 34808. https://webidl.spec.whatwg.org/#this 34809. https://html.spec.whatwg.org/#close-watcher-get-enabled-state 34810. https://html.spec.whatwg.org/#dom-closewatcheroptions-signal 34811. https://infra.spec.whatwg.org/#map-exists 34812. https://html.spec.whatwg.org/#dom-closewatcheroptions-signal 34813. https://dom.spec.whatwg.org/#abortsignal-aborted 34814. https://html.spec.whatwg.org/#close-watcher-destroy 34815. https://dom.spec.whatwg.org/#abortsignal-add 34816. https://html.spec.whatwg.org/#dom-closewatcheroptions-signal 34817. https://html.spec.whatwg.org/#close-watcher-destroy 34818. https://webidl.spec.whatwg.org/#this 34819. https://html.spec.whatwg.org/#internal-close-watcher 34820. https://html.spec.whatwg.org/#close-watcher-request-close 34821. https://webidl.spec.whatwg.org/#this 34822. https://html.spec.whatwg.org/#internal-close-watcher 34823. https://html.spec.whatwg.org/#close-watcher-close 34824. https://webidl.spec.whatwg.org/#this 34825. https://html.spec.whatwg.org/#internal-close-watcher 34826. https://html.spec.whatwg.org/#close-watcher-destroy 34827. https://webidl.spec.whatwg.org/#this 34828. https://html.spec.whatwg.org/#internal-close-watcher 34829. https://html.spec.whatwg.org/#event-handlers 34830. https://html.spec.whatwg.org/#event-handler-event-type 34831. https://html.spec.whatwg.org/#event-handler-idl-attributes 34832. https://html.spec.whatwg.org/#closewatcher 34833. https://html.spec.whatwg.org/#event-handlers 34834. https://html.spec.whatwg.org/#event-handler-event-type 34835. https://html.spec.whatwg.org/#event-cancel 34836. https://html.spec.whatwg.org/#event-close 34837. https://html.spec.whatwg.org/#close-request 34838. https://html.spec.whatwg.org/#closewatcher 34839. https://html.spec.whatwg.org/#closewatcher 34840. https://html.spec.whatwg.org/#event-close 34841. https://w3c.github.io/uievents/#event-type-click 34842. https://html.spec.whatwg.org/#dom-closewatcher-requestclose 34843. https://html.spec.whatwg.org/#event-cancel 34844. https://html.spec.whatwg.org/#closewatcher 34845. https://html.spec.whatwg.org/#event-close 34846. https://html.spec.whatwg.org/#closewatcher 34847. https://dom.spec.whatwg.org/#dom-event-cancelable 34848. https://html.spec.whatwg.org/#history-action-activation 34849. https://html.spec.whatwg.org/#close-request 34850. https://html.spec.whatwg.org/#event-cancel 34851. https://dom.spec.whatwg.org/#dom-event-preventdefault 34852. https://html.spec.whatwg.org/#closewatcher 34853. https://html.spec.whatwg.org/#dom-closewatcher-requestclose 34854. https://html.spec.whatwg.org/#dom-closewatcher-close 34855. https://html.spec.whatwg.org/#dom-closewatcher-requestclose 34856. https://w3c.github.io/uievents/#event-type-click 34857. https://html.spec.whatwg.org/#closewatcher 34858. https://html.spec.whatwg.org/#event-cancel 34859. https://html.spec.whatwg.org/#dom-closewatcher-close 34860. https://html.spec.whatwg.org/#dom-closewatcher-requestclose 34861. https://html.spec.whatwg.org/#tracking-user-activation 34862. https://html.spec.whatwg.org/#event-cancel 34863. https://html.spec.whatwg.org/#closewatcher 34864. https://html.spec.whatwg.org/#closewatcher 34865. https://html.spec.whatwg.org/#close-watcher 34866. https://html.spec.whatwg.org/#close-request 34867. https://html.spec.whatwg.org/#dom-closewatcher-destroy 34868. https://html.spec.whatwg.org/#dom-closewatcher-close 34869. https://html.spec.whatwg.org/#dom-closewatcher-requestclose 34870. https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API 34871. https://w3c.github.io/uievents/#event-type-mousedown 34872. https://w3c.github.io/uievents/#event-type-mousemove 34873. https://html.spec.whatwg.org/#attr-draggable 34874. https://html.spec.whatwg.org/#event-dnd-dragstart 34875. https://html.spec.whatwg.org/#datatransfer 34876. https://html.spec.whatwg.org/#event-dnd-dragenter 34877. https://html.spec.whatwg.org/#event-dnd-dragover 34878. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect 34879. https://html.spec.whatwg.org/#datatransfer 34880. https://html.spec.whatwg.org/#event-dnd-drop 34881. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect 34882. https://html.spec.whatwg.org/#event-dnd-dragend 34883. https://mimesniff.spec.whatwg.org/#mime-type 34884. https://mimesniff.spec.whatwg.org/#mime-type 34885. https://mimesniff.spec.whatwg.org/#mime-type 34886. https://infra.spec.whatwg.org/#ascii-lowercase 34887. https://html.spec.whatwg.org/#the-drag-data-item-type-string 34888. https://html.spec.whatwg.org/#the-drag-data-item-kind 34889. https://html.spec.whatwg.org/#drag-data-store-item-list 34890. https://html.spec.whatwg.org/#event-dnd-dragstart 34891. https://html.spec.whatwg.org/#drag-data-store 34892. https://html.spec.whatwg.org/#event-dnd-drop 34893. https://html.spec.whatwg.org/#drag-data-store 34894. https://html.spec.whatwg.org/#drag-data-store 34895. https://html.spec.whatwg.org/#drag-data-store-item-list 34896. https://html.spec.whatwg.org/#drag-data-store-default-feedback 34897. https://html.spec.whatwg.org/#drag-data-store-bitmap 34898. https://html.spec.whatwg.org/#drag-data-store-hot-spot-coordinate 34899. https://html.spec.whatwg.org/#drag-data-store-mode 34900. https://html.spec.whatwg.org/#concept-dnd-p 34901. https://html.spec.whatwg.org/#drag-data-store-allowed-effects-state 34902. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-uninitialized 34903. https://html.spec.whatwg.org/#datatransfer 34904. https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer 34905. https://html.spec.whatwg.org/#datatransfer 34906. https://html.spec.whatwg.org/#drag-data-store 34907. https://html.spec.whatwg.org/#dom-datatransfer 34908. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect 34909. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed 34910. https://html.spec.whatwg.org/#datatransferitemlist 34911. https://html.spec.whatwg.org/#dom-datatransfer-items 34912. https://html.spec.whatwg.org/#dom-datatransfer-setdragimage 34913. https://html.spec.whatwg.org/#dom-datatransfer-types 34914. https://html.spec.whatwg.org/#dom-datatransfer-getdata 34915. https://html.spec.whatwg.org/#dom-datatransfer-setdata 34916. https://html.spec.whatwg.org/#dom-datatransfer-cleardata 34917. https://w3c.github.io/FileAPI/#filelist-section 34918. https://html.spec.whatwg.org/#dom-datatransfer-files 34919. https://html.spec.whatwg.org/#dom-datatransfer 34920. https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/DataTransfer 34921. https://html.spec.whatwg.org/#datatransfer 34922. https://html.spec.whatwg.org/#drag-data-store 34923. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect 34924. https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/dropEffect 34925. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed 34926. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-none 34927. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-copy 34928. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-link 34929. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-move 34930. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed 34931. https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/effectAllowed 34932. https://html.spec.whatwg.org/#event-dnd-dragstart 34933. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-none 34934. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-copy 34935. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-copylink 34936. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-copymove 34937. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-link 34938. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-linkmove 34939. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-move 34940. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-all 34941. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-uninitialized 34942. https://html.spec.whatwg.org/#dom-datatransfer-items 34943. https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/items 34944. https://html.spec.whatwg.org/#datatransferitemlist 34945. https://html.spec.whatwg.org/#dom-datatransfer-setdragimage 34946. https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/setDragImage 34947. https://html.spec.whatwg.org/#dom-datatransfer-types 34948. https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types 34949. https://webidl.spec.whatwg.org/#dfn-frozen-array-type 34950. https://html.spec.whatwg.org/#event-dnd-dragstart 34951. https://html.spec.whatwg.org/#dom-datatransfer-getdata 34952. https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/getData 34953. https://html.spec.whatwg.org/#dom-datatransfer-setdata 34954. https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/setData 34955. https://html.spec.whatwg.org/#dom-datatransfer-cleardata 34956. https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/clearData 34957. https://html.spec.whatwg.org/#dom-datatransfer-files 34958. https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/files 34959. https://w3c.github.io/FileAPI/#filelist-section 34960. https://html.spec.whatwg.org/#datatransfer 34961. https://html.spec.whatwg.org/#dndevents 34962. https://html.spec.whatwg.org/#datatransfer 34963. https://html.spec.whatwg.org/#drag-data-store 34964. https://html.spec.whatwg.org/#datatransfer 34965. https://webidl.spec.whatwg.org/#dfn-frozen-array-type 34966. https://html.spec.whatwg.org/#datatransfer 34967. https://html.spec.whatwg.org/#drag-data-store-item-list 34968. https://html.spec.whatwg.org/#datatransfer 34969. https://html.spec.whatwg.org/#drag-data-store 34970. https://html.spec.whatwg.org/#datatransfer 34971. https://html.spec.whatwg.org/#drag-data-store 34972. https://html.spec.whatwg.org/#datatransfer 34973. https://html.spec.whatwg.org/#drag-data-store-item-list 34974. https://html.spec.whatwg.org/#the-drag-data-item-kind 34975. https://html.spec.whatwg.org/#the-drag-data-item-type-string 34976. https://html.spec.whatwg.org/#datatransfer 34977. https://html.spec.whatwg.org/#drag-data-store-item-list 34978. https://html.spec.whatwg.org/#the-drag-data-item-kind 34979. https://html.spec.whatwg.org/#datatransfer 34980. https://html.spec.whatwg.org/#concept-datatransfer-types 34981. https://webidl.spec.whatwg.org/#dfn-create-frozen-array 34982. https://html.spec.whatwg.org/#datatransfer 34983. https://html.spec.whatwg.org/#drag-data-store 34984. https://html.spec.whatwg.org/#drag-data-store-item-list 34985. https://html.spec.whatwg.org/#drag-data-store 34986. https://html.spec.whatwg.org/#drag-data-store-mode 34987. https://html.spec.whatwg.org/#concept-dnd-rw 34988. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect 34989. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed 34990. https://html.spec.whatwg.org/#datatransfer 34991. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect 34992. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect 34993. https://html.spec.whatwg.org/#event-dnd-dragenter 34994. https://html.spec.whatwg.org/#event-dnd-dragover 34995. https://html.spec.whatwg.org/#datatransfer 34996. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed 34997. https://html.spec.whatwg.org/#drag-data-store 34998. https://html.spec.whatwg.org/#drag-data-store-mode 34999. https://html.spec.whatwg.org/#concept-dnd-rw 35000. https://html.spec.whatwg.org/#datatransferitemlist 35001. https://html.spec.whatwg.org/#datatransfer 35002. https://html.spec.whatwg.org/#datatransfer 35003. https://html.spec.whatwg.org/#drag-data-store 35004. https://html.spec.whatwg.org/#drag-data-store 35005. https://html.spec.whatwg.org/#drag-data-store-mode 35006. https://html.spec.whatwg.org/#concept-dnd-rw 35007. https://html.spec.whatwg.org/#the-img-element 35008. https://html.spec.whatwg.org/#drag-data-store-bitmap 35009. https://drafts.csswg.org/css-images/#natural-dimensions 35010. https://html.spec.whatwg.org/#drag-data-store-bitmap 35011. https://html.spec.whatwg.org/#drag-data-store-hot-spot-coordinate 35012. https://html.spec.whatwg.org/#datatransfer 35013. https://html.spec.whatwg.org/#concept-datatransfer-types 35014. https://html.spec.whatwg.org/#datatransfer 35015. https://html.spec.whatwg.org/#drag-data-store 35016. https://html.spec.whatwg.org/#drag-data-store 35017. https://html.spec.whatwg.org/#drag-data-store-mode 35018. https://html.spec.whatwg.org/#concept-dnd-p 35019. https://infra.spec.whatwg.org/#ascii-lowercase 35020. https://html.spec.whatwg.org/#drag-data-store-item-list 35021. https://html.spec.whatwg.org/#the-drag-data-item-kind 35022. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35023. https://html.spec.whatwg.org/#drag-data-store-item-list 35024. https://html.spec.whatwg.org/#the-drag-data-item-kind 35025. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35026. https://html.spec.whatwg.org/#refsRFC2483 35027. https://html.spec.whatwg.org/#datatransfer 35028. https://html.spec.whatwg.org/#drag-data-store 35029. https://html.spec.whatwg.org/#drag-data-store 35030. https://html.spec.whatwg.org/#drag-data-store-mode 35031. https://html.spec.whatwg.org/#concept-dnd-rw 35032. https://infra.spec.whatwg.org/#ascii-lowercase 35033. https://html.spec.whatwg.org/#drag-data-store-item-list 35034. https://html.spec.whatwg.org/#the-drag-data-item-kind 35035. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35036. https://html.spec.whatwg.org/#drag-data-store-item-list 35037. https://html.spec.whatwg.org/#the-drag-data-item-kind 35038. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35039. https://html.spec.whatwg.org/#datatransfer 35040. https://html.spec.whatwg.org/#drag-data-store 35041. https://html.spec.whatwg.org/#drag-data-store 35042. https://html.spec.whatwg.org/#drag-data-store-mode 35043. https://html.spec.whatwg.org/#concept-dnd-rw 35044. https://html.spec.whatwg.org/#drag-data-store-item-list 35045. https://html.spec.whatwg.org/#the-drag-data-item-kind 35046. https://infra.spec.whatwg.org/#ascii-lowercase 35047. https://html.spec.whatwg.org/#drag-data-store-item-list 35048. https://html.spec.whatwg.org/#the-drag-data-item-kind 35049. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35050. https://html.spec.whatwg.org/#dom-datatransfer-cleardata 35051. https://html.spec.whatwg.org/#dom-datatransfer-types 35052. https://html.spec.whatwg.org/#dom-datatransfer-cleardata 35053. https://html.spec.whatwg.org/#live 35054. https://w3c.github.io/FileAPI/#filelist-section 35055. https://w3c.github.io/FileAPI/#dfn-file 35056. https://w3c.github.io/FileAPI/#filelist-section 35057. https://w3c.github.io/FileAPI/#dfn-file 35058. https://html.spec.whatwg.org/#datatransfer 35059. https://html.spec.whatwg.org/#drag-data-store 35060. https://w3c.github.io/FileAPI/#filelist-section 35061. https://html.spec.whatwg.org/#drag-data-store 35062. https://html.spec.whatwg.org/#drag-data-store-mode 35063. https://html.spec.whatwg.org/#concept-dnd-p 35064. https://html.spec.whatwg.org/#drag-data-store-item-list 35065. https://html.spec.whatwg.org/#the-drag-data-item-kind 35066. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35067. https://html.spec.whatwg.org/#datatransferitemlist 35068. https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList 35069. https://html.spec.whatwg.org/#datatransfer 35070. https://html.spec.whatwg.org/#datatransferitemlist 35071. https://html.spec.whatwg.org/#dom-datatransferitemlist-length 35072. https://html.spec.whatwg.org/#dom-datatransferitemlist-item 35073. https://html.spec.whatwg.org/#datatransferitem 35074. https://html.spec.whatwg.org/#datatransferitem 35075. https://html.spec.whatwg.org/#dom-datatransferitemlist-add 35076. https://html.spec.whatwg.org/#datatransferitem 35077. https://html.spec.whatwg.org/#dom-datatransferitemlist-add 35078. https://w3c.github.io/FileAPI/#dfn-file 35079. https://html.spec.whatwg.org/#dom-datatransferitemlist-remove 35080. https://html.spec.whatwg.org/#dom-datatransferitemlist-clear 35081. https://html.spec.whatwg.org/#dom-datatransferitemlist-length 35082. https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList/length 35083. https://html.spec.whatwg.org/#drag-data-store 35084. https://html.spec.whatwg.org/#datatransferitem 35085. https://html.spec.whatwg.org/#drag-data-store 35086. https://html.spec.whatwg.org/#dom-datatransferitemlist-remove 35087. https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList/remove 35088. https://html.spec.whatwg.org/#drag-data-store 35089. https://html.spec.whatwg.org/#dom-datatransferitemlist-clear 35090. https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList/clear 35091. https://html.spec.whatwg.org/#drag-data-store 35092. https://html.spec.whatwg.org/#dom-datatransferitemlist-add 35093. https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList/add 35094. https://html.spec.whatwg.org/#dom-datatransferitemlist-add 35095. https://html.spec.whatwg.org/#drag-data-store 35096. https://html.spec.whatwg.org/#datatransferitemlist 35097. https://html.spec.whatwg.org/#datatransfer 35098. https://html.spec.whatwg.org/#drag-data-store 35099. https://html.spec.whatwg.org/#datatransferitemlist 35100. https://html.spec.whatwg.org/#drag-data-store-mode 35101. https://html.spec.whatwg.org/#datatransferitemlist 35102. https://html.spec.whatwg.org/#datatransfer 35103. https://html.spec.whatwg.org/#drag-data-store 35104. https://html.spec.whatwg.org/#datatransferitemlist 35105. https://html.spec.whatwg.org/#drag-data-store 35106. https://html.spec.whatwg.org/#datatransferitemlist 35107. https://html.spec.whatwg.org/#drag-data-store 35108. https://html.spec.whatwg.org/#datatransferitemlist 35109. https://html.spec.whatwg.org/#datatransfer 35110. https://html.spec.whatwg.org/#drag-data-store-item-list 35111. https://html.spec.whatwg.org/#datatransferitemlist 35112. https://webidl.spec.whatwg.org/#dfn-supported-property-indices 35113. https://infra.spec.whatwg.org/#list-get-the-indices 35114. https://html.spec.whatwg.org/#drag-data-store-item-list 35115. https://webidl.spec.whatwg.org/#dfn-determine-the-value-of-an-indexed-property 35116. https://html.spec.whatwg.org/#datatransferitemlist 35117. https://html.spec.whatwg.org/#datatransferitem 35118. https://html.spec.whatwg.org/#drag-data-store 35119. https://html.spec.whatwg.org/#datatransferitemlist 35120. https://html.spec.whatwg.org/#datatransferitem 35121. https://html.spec.whatwg.org/#datatransfer 35122. https://html.spec.whatwg.org/#datatransferitemlist 35123. https://html.spec.whatwg.org/#datatransferitemlist 35124. https://html.spec.whatwg.org/#concept-dnd-rw 35125. https://html.spec.whatwg.org/#drag-data-store-item-list 35126. https://html.spec.whatwg.org/#the-drag-data-item-kind 35127. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35128. https://infra.spec.whatwg.org/#ascii-lowercase 35129. https://webidl.spec.whatwg.org/#notsupportederror 35130. https://webidl.spec.whatwg.org/#dfn-DOMException 35131. https://html.spec.whatwg.org/#drag-data-store-item-list 35132. https://html.spec.whatwg.org/#the-drag-data-item-kind 35133. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35134. https://infra.spec.whatwg.org/#ascii-lowercase 35135. https://w3c.github.io/FileAPI/#dfn-file 35136. https://html.spec.whatwg.org/#drag-data-store-item-list 35137. https://html.spec.whatwg.org/#the-drag-data-item-kind 35138. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35139. https://w3c.github.io/FileAPI/#dfn-type 35140. https://w3c.github.io/FileAPI/#dfn-file 35141. https://infra.spec.whatwg.org/#ascii-lowercase 35142. https://w3c.github.io/FileAPI/#dfn-file 35143. https://html.spec.whatwg.org/#dom-datatransferitemlist-item 35144. https://html.spec.whatwg.org/#datatransferitem 35145. https://html.spec.whatwg.org/#datatransferitemlist 35146. https://html.spec.whatwg.org/#concept-dnd-rw 35147. https://webidl.spec.whatwg.org/#invalidstateerror 35148. https://webidl.spec.whatwg.org/#dfn-DOMException 35149. https://html.spec.whatwg.org/#drag-data-store 35150. https://html.spec.whatwg.org/#drag-data-store 35151. https://html.spec.whatwg.org/#datatransferitemlist 35152. https://html.spec.whatwg.org/#concept-dnd-rw 35153. https://html.spec.whatwg.org/#drag-data-store 35154. https://html.spec.whatwg.org/#datatransferitem 35155. https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem 35156. https://html.spec.whatwg.org/#datatransferitem 35157. https://html.spec.whatwg.org/#datatransfer 35158. https://html.spec.whatwg.org/#dom-datatransferitem-kind 35159. https://html.spec.whatwg.org/#dom-datatransferitem-type 35160. https://html.spec.whatwg.org/#dom-datatransferitem-getasstring 35161. https://html.spec.whatwg.org/#functionstringcallback 35162. https://w3c.github.io/FileAPI/#dfn-file 35163. https://html.spec.whatwg.org/#dom-datatransferitem-getasfile 35164. https://html.spec.whatwg.org/#dom-datatransferitem-kind 35165. https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem/kind 35166. https://html.spec.whatwg.org/#the-drag-data-item-kind 35167. https://html.spec.whatwg.org/#dom-datatransferitem-type 35168. https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem/type 35169. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35170. https://html.spec.whatwg.org/#dom-datatransferitem-getasstring 35171. https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem/getAsString 35172. https://html.spec.whatwg.org/#the-drag-data-item-kind 35173. https://html.spec.whatwg.org/#dom-datatransferitem-getasfile 35174. https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem/getAsFile 35175. https://w3c.github.io/FileAPI/#dfn-file 35176. https://html.spec.whatwg.org/#the-drag-data-item-kind 35177. https://html.spec.whatwg.org/#datatransferitem 35178. https://html.spec.whatwg.org/#datatransfer 35179. https://html.spec.whatwg.org/#drag-data-store 35180. https://html.spec.whatwg.org/#drag-data-store 35181. https://html.spec.whatwg.org/#drag-data-store-item-list 35182. https://html.spec.whatwg.org/#datatransferitem 35183. https://html.spec.whatwg.org/#datatransferitem 35184. https://html.spec.whatwg.org/#drag-data-store-mode 35185. https://html.spec.whatwg.org/#datatransferitem 35186. https://html.spec.whatwg.org/#datatransfer 35187. https://html.spec.whatwg.org/#drag-data-store 35188. https://html.spec.whatwg.org/#datatransferitem 35189. https://html.spec.whatwg.org/#drag-data-store-item-list 35190. https://html.spec.whatwg.org/#datatransferitem 35191. https://html.spec.whatwg.org/#drag-data-store 35192. https://html.spec.whatwg.org/#datatransferitem 35193. https://html.spec.whatwg.org/#drag-data-store 35194. https://html.spec.whatwg.org/#datatransferitem 35195. https://html.spec.whatwg.org/#datatransfer 35196. https://html.spec.whatwg.org/#datatransferitem 35197. https://html.spec.whatwg.org/#the-drag-data-item-kind 35198. https://html.spec.whatwg.org/#datatransferitem 35199. https://html.spec.whatwg.org/#datatransferitem 35200. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35201. https://html.spec.whatwg.org/#datatransferitem 35202. https://html.spec.whatwg.org/#datatransferitem 35203. https://html.spec.whatwg.org/#concept-dnd-rw 35204. https://html.spec.whatwg.org/#concept-dnd-ro 35205. https://html.spec.whatwg.org/#the-drag-data-item-kind 35206. https://html.spec.whatwg.org/#queue-a-task 35207. https://html.spec.whatwg.org/#datatransferitem 35208. https://html.spec.whatwg.org/#datatransferitem 35209. https://html.spec.whatwg.org/#concept-dnd-rw 35210. https://html.spec.whatwg.org/#concept-dnd-ro 35211. https://html.spec.whatwg.org/#the-drag-data-item-kind 35212. https://w3c.github.io/FileAPI/#dfn-file 35213. https://html.spec.whatwg.org/#datatransferitem 35214. https://html.spec.whatwg.org/#dragevent 35215. https://developer.mozilla.org/en-US/docs/Web/API/DragEvent/DragEvent 35216. https://developer.mozilla.org/en-US/docs/Web/API/DragEvent 35217. https://html.spec.whatwg.org/#dragevent 35218. https://w3c.github.io/uievents/#mouseevent 35219. https://html.spec.whatwg.org/#drageventinit 35220. https://html.spec.whatwg.org/#datatransfer 35221. https://html.spec.whatwg.org/#dom-dragevent-datatransfer 35222. https://w3c.github.io/uievents/#dictdef-mouseeventinit 35223. https://html.spec.whatwg.org/#datatransfer 35224. https://html.spec.whatwg.org/#dom-dragevent-datatransfer 35225. https://developer.mozilla.org/en-US/docs/Web/API/DragEvent/dataTransfer 35226. https://html.spec.whatwg.org/#datatransfer 35227. https://html.spec.whatwg.org/#dragevent 35228. https://html.spec.whatwg.org/#datatransfer 35229. https://html.spec.whatwg.org/#datatransfer 35230. https://html.spec.whatwg.org/#dragevent 35231. https://html.spec.whatwg.org/#drag-data-store 35232. https://html.spec.whatwg.org/#concept-relevant-global 35233. https://html.spec.whatwg.org/#document 35234. https://html.spec.whatwg.org/#event-dnd-dragstart 35235. https://html.spec.whatwg.org/#drag-data-store-mode 35236. https://html.spec.whatwg.org/#concept-dnd-rw 35237. https://html.spec.whatwg.org/#event-dnd-drop 35238. https://html.spec.whatwg.org/#drag-data-store-mode 35239. https://html.spec.whatwg.org/#concept-dnd-ro 35240. https://html.spec.whatwg.org/#datatransfer 35241. https://html.spec.whatwg.org/#drag-data-store 35242. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed 35243. https://html.spec.whatwg.org/#drag-data-store 35244. https://html.spec.whatwg.org/#drag-data-store-allowed-effects-state 35245. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect 35246. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-none 35247. https://html.spec.whatwg.org/#event-dnd-dragstart 35248. https://html.spec.whatwg.org/#event-dnd-drag 35249. https://html.spec.whatwg.org/#event-dnd-dragleave 35250. https://html.spec.whatwg.org/#current-drag-operation 35251. https://html.spec.whatwg.org/#event-dnd-drop 35252. https://html.spec.whatwg.org/#event-dnd-dragend 35253. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed 35254. https://html.spec.whatwg.org/#event-dnd-dragenter 35255. https://html.spec.whatwg.org/#event-dnd-dragover 35256. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed 35257. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect 35258. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-none 35259. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-none 35260. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-copy 35261. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-copy 35262. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-copylink 35263. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-copy 35264. https://html.spec.whatwg.org/#concept-platform-dropeffect-override 35265. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-link 35266. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-copymove 35267. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-copy 35268. https://html.spec.whatwg.org/#concept-platform-dropeffect-override 35269. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-move 35270. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-all 35271. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-copy 35272. https://html.spec.whatwg.org/#concept-platform-dropeffect-override 35273. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-link 35274. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-move 35275. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-link 35276. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-link 35277. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-linkmove 35278. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-link 35279. https://html.spec.whatwg.org/#concept-platform-dropeffect-override 35280. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-move 35281. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-move 35282. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-move 35283. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-uninitialized 35284. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-move 35285. https://html.spec.whatwg.org/#concept-platform-dropeffect-override 35286. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-copy 35287. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-link 35288. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-uninitialized 35289. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-copy 35290. https://html.spec.whatwg.org/#concept-platform-dropeffect-override 35291. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-link 35292. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-move 35293. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-uninitialized 35294. https://html.spec.whatwg.org/#the-a-element 35295. https://html.spec.whatwg.org/#attr-hyperlink-href 35296. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-link 35297. https://html.spec.whatwg.org/#concept-platform-dropeffect-override 35298. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-copy 35299. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-move 35300. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-copy 35301. https://html.spec.whatwg.org/#concept-platform-dropeffect-override 35302. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-link 35303. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-move 35304. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-link 35305. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-copy 35306. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-move 35307. https://dom.spec.whatwg.org/#concept-event-create 35308. https://html.spec.whatwg.org/#dragevent 35309. https://dom.spec.whatwg.org/#dom-event-type 35310. https://dom.spec.whatwg.org/#dom-event-bubbles 35311. https://w3c.github.io/uievents/#dom-uievent-view 35312. https://w3c.github.io/uievents/#dom-mouseevent-relatedtarget 35313. https://html.spec.whatwg.org/#dom-dragevent-datatransfer 35314. https://html.spec.whatwg.org/#event-dnd-dragleave 35315. https://html.spec.whatwg.org/#event-dnd-dragend 35316. https://dom.spec.whatwg.org/#dom-event-cancelable 35317. https://drafts.csswg.org/cssom-view/#dom-mouseevent-clientx 35318. https://drafts.csswg.org/cssom-view/#dom-mouseevent-clienty 35319. https://dom.spec.whatwg.org/#concept-event-dispatch 35320. https://html.spec.whatwg.org/#drag-data-store-allowed-effects-state 35321. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed 35322. https://html.spec.whatwg.org/#event-dnd-dragstart 35323. https://html.spec.whatwg.org/#drag-data-store-mode 35324. https://html.spec.whatwg.org/#concept-dnd-p 35325. https://html.spec.whatwg.org/#drag-data-store 35326. https://html.spec.whatwg.org/#document 35327. https://html.spec.whatwg.org/#dom-draggable 35328. https://html.spec.whatwg.org/#the-img-element 35329. https://html.spec.whatwg.org/#the-a-element 35330. https://html.spec.whatwg.org/#attr-hyperlink-href 35331. https://html.spec.whatwg.org/#dom-draggable 35332. https://html.spec.whatwg.org/#create-a-drag-data-store 35333. https://html.spec.whatwg.org/#drag-data-store 35334. https://html.spec.whatwg.org/#source-node 35335. https://dom.spec.whatwg.org/#interface-text 35336. https://dom.spec.whatwg.org/#interface-text 35337. https://html.spec.whatwg.org/#source-node 35338. https://dom.spec.whatwg.org/#interface-text 35339. https://html.spec.whatwg.org/#source-node 35340. https://html.spec.whatwg.org/#source-node 35341. https://html.spec.whatwg.org/#source-node 35342. https://html.spec.whatwg.org/#source-node 35343. https://html.spec.whatwg.org/#list-of-dragged-nodes 35344. https://dom.spec.whatwg.org/#concept-tree-order 35345. https://html.spec.whatwg.org/#list-of-dragged-nodes 35346. https://html.spec.whatwg.org/#source-node 35347. https://html.spec.whatwg.org/#drag-data-store-item-list 35348. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35349. https://www.rfc-editor.org/rfc/rfc2046#section-4.1.3 35350. https://html.spec.whatwg.org/#the-drag-data-item-kind 35351. https://html.spec.whatwg.org/#drag-data-store-item-list 35352. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35353. https://www.rfc-editor.org/rfc/rfc2046#section-4.5.1 35354. https://html.spec.whatwg.org/#the-drag-data-item-kind 35355. https://html.spec.whatwg.org/#navigable 35356. https://html.spec.whatwg.org/#drag-data-store-item-list 35357. https://mimesniff.spec.whatwg.org/#mime-type 35358. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35359. https://infra.spec.whatwg.org/#ascii-lowercase 35360. https://html.spec.whatwg.org/#list-of-dragged-nodes 35361. https://html.spec.whatwg.org/#extracting-json 35362. https://html.spec.whatwg.org/#drag-data-store-item-list 35363. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35364. https://html.spec.whatwg.org/#application/microdata+json 35365. https://html.spec.whatwg.org/#the-drag-data-item-kind 35366. https://html.spec.whatwg.org/#list-of-dragged-nodes 35367. https://html.spec.whatwg.org/#the-a-element 35368. https://html.spec.whatwg.org/#attr-hyperlink-href 35369. https://html.spec.whatwg.org/#encoding-parsing-and-serializing-a-url 35370. https://html.spec.whatwg.org/#attr-hyperlink-href 35371. https://dom.spec.whatwg.org/#concept-node-document 35372. https://html.spec.whatwg.org/#the-img-element 35373. https://html.spec.whatwg.org/#attr-img-src 35374. https://html.spec.whatwg.org/#encoding-parsing-and-serializing-a-url 35375. https://html.spec.whatwg.org/#attr-img-src 35376. https://dom.spec.whatwg.org/#concept-node-document 35377. https://html.spec.whatwg.org/#drag-data-store-item-list 35378. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35379. https://html.spec.whatwg.org/#text/uri-list 35380. https://html.spec.whatwg.org/#the-drag-data-item-kind 35381. https://html.spec.whatwg.org/#drag-data-store-default-feedback 35382. https://html.spec.whatwg.org/#fire-a-dnd-event 35383. https://html.spec.whatwg.org/#event-dnd-dragstart 35384. https://html.spec.whatwg.org/#source-node 35385. https://w3c.github.io/pointerevents/#dfn-fire-a-pointer-event 35386. https://html.spec.whatwg.org/#source-node 35387. https://w3c.github.io/pointerevents/#the-pointercancel-event 35388. https://html.spec.whatwg.org/#refsPOINTEREVENTS 35389. https://html.spec.whatwg.org/#initiate-the-drag-and-drop-operation 35390. https://html.spec.whatwg.org/#drag-data-store-bitmap 35391. https://html.spec.whatwg.org/#drag-data-store-hot-spot-coordinate 35392. https://drafts.csswg.org/css-values/#px 35393. https://html.spec.whatwg.org/#refsCSS 35394. https://html.spec.whatwg.org/#drag-data-store-default-feedback 35395. https://html.spec.whatwg.org/#immediate-user-selection 35396. https://html.spec.whatwg.org/#immediate-user-selection 35397. https://html.spec.whatwg.org/#current-target-element 35398. https://html.spec.whatwg.org/#immediate-user-selection 35399. https://html.spec.whatwg.org/#current-target-element 35400. https://html.spec.whatwg.org/#immediate-user-selection 35401. https://html.spec.whatwg.org/#current-target-element 35402. https://html.spec.whatwg.org/#concept-current-drag-operation-none 35403. https://html.spec.whatwg.org/#initiate-the-drag-and-drop-operation 35404. https://html.spec.whatwg.org/#queue-a-task 35405. https://html.spec.whatwg.org/#fire-a-dnd-event 35406. https://html.spec.whatwg.org/#event-dnd-drag 35407. https://html.spec.whatwg.org/#source-node 35408. https://html.spec.whatwg.org/#current-drag-operation 35409. https://html.spec.whatwg.org/#concept-current-drag-operation-none 35410. https://html.spec.whatwg.org/#event-dnd-drag 35411. https://html.spec.whatwg.org/#immediate-user-selection 35412. https://html.spec.whatwg.org/#immediate-user-selection 35413. https://html.spec.whatwg.org/#current-target-element 35414. https://html.spec.whatwg.org/#current-target-element 35415. https://html.spec.whatwg.org/#immediate-user-selection 35416. https://html.spec.whatwg.org/#current-target-element 35417. https://html.spec.whatwg.org/#immediate-user-selection 35418. https://html.spec.whatwg.org/#current-target-element 35419. https://html.spec.whatwg.org/#immediate-user-selection 35420. https://html.spec.whatwg.org/#fire-a-dnd-event 35421. https://html.spec.whatwg.org/#event-dnd-dragenter 35422. https://html.spec.whatwg.org/#immediate-user-selection 35423. https://html.spec.whatwg.org/#current-target-element 35424. https://html.spec.whatwg.org/#immediate-user-selection 35425. https://html.spec.whatwg.org/#immediate-user-selection 35426. https://html.spec.whatwg.org/#the-textarea-element 35427. https://html.spec.whatwg.org/#the-input-element 35428. https://html.spec.whatwg.org/#attr-input-type 35429. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 35430. https://html.spec.whatwg.org/#editing-host 35431. https://w3c.github.io/editing/docs/execCommand/#editable 35432. https://html.spec.whatwg.org/#drag-data-store-item-list 35433. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35434. https://www.rfc-editor.org/rfc/rfc2046#section-4.1.3 35435. https://html.spec.whatwg.org/#the-drag-data-item-kind 35436. https://html.spec.whatwg.org/#current-target-element 35437. https://html.spec.whatwg.org/#immediate-user-selection 35438. https://html.spec.whatwg.org/#immediate-user-selection 35439. https://html.spec.whatwg.org/#the-body-element-2 35440. https://html.spec.whatwg.org/#current-target-element 35441. https://html.spec.whatwg.org/#fire-a-dnd-event 35442. https://html.spec.whatwg.org/#event-dnd-dragenter 35443. https://html.spec.whatwg.org/#the-body-element-2 35444. https://html.spec.whatwg.org/#document 35445. https://html.spec.whatwg.org/#current-target-element 35446. https://html.spec.whatwg.org/#the-body-element-2 35447. https://html.spec.whatwg.org/#current-target-element 35448. https://html.spec.whatwg.org/#fire-a-dnd-event 35449. https://html.spec.whatwg.org/#event-dnd-dragleave 35450. https://html.spec.whatwg.org/#current-target-element 35451. https://html.spec.whatwg.org/#current-target-element 35452. https://html.spec.whatwg.org/#fire-a-dnd-event 35453. https://html.spec.whatwg.org/#event-dnd-dragover 35454. https://html.spec.whatwg.org/#current-target-element 35455. https://html.spec.whatwg.org/#event-dnd-dragover 35456. https://html.spec.whatwg.org/#current-target-element 35457. https://html.spec.whatwg.org/#the-textarea-element 35458. https://html.spec.whatwg.org/#the-input-element 35459. https://html.spec.whatwg.org/#attr-input-type 35460. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 35461. https://html.spec.whatwg.org/#editing-host 35462. https://w3c.github.io/editing/docs/execCommand/#editable 35463. https://html.spec.whatwg.org/#drag-data-store-item-list 35464. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35465. https://www.rfc-editor.org/rfc/rfc2046#section-4.1.3 35466. https://html.spec.whatwg.org/#the-drag-data-item-kind 35467. https://html.spec.whatwg.org/#current-drag-operation 35468. https://html.spec.whatwg.org/#concept-current-drag-operation-copy 35469. https://html.spec.whatwg.org/#concept-current-drag-operation-move 35470. https://html.spec.whatwg.org/#current-drag-operation 35471. https://html.spec.whatwg.org/#concept-current-drag-operation-none 35472. https://html.spec.whatwg.org/#event-dnd-dragover 35473. https://html.spec.whatwg.org/#current-drag-operation 35474. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed 35475. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect 35476. https://html.spec.whatwg.org/#dragevent 35477. https://html.spec.whatwg.org/#dom-dragevent-datatransfer 35478. https://dom.spec.whatwg.org/#concept-event-dispatch 35479. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed 35480. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect 35481. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-uninitialized 35482. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-copy 35483. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-copylink 35484. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-copymove 35485. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-all 35486. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-copy 35487. https://html.spec.whatwg.org/#concept-current-drag-operation-copy 35488. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-uninitialized 35489. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-link 35490. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-copylink 35491. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-linkmove 35492. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-all 35493. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-link 35494. https://html.spec.whatwg.org/#concept-current-drag-operation-link 35495. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-uninitialized 35496. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-move 35497. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-copymove 35498. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-linkmove 35499. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-all 35500. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-move 35501. https://html.spec.whatwg.org/#concept-current-drag-operation-move 35502. https://html.spec.whatwg.org/#concept-current-drag-operation-none 35503. https://html.spec.whatwg.org/#current-target-element 35504. https://html.spec.whatwg.org/#current-drag-operation 35505. https://html.spec.whatwg.org/#current-drag-operation 35506. https://html.spec.whatwg.org/#concept-current-drag-operation-copy 35507. https://html.spec.whatwg.org/#concept-current-drag-operation-link 35508. https://html.spec.whatwg.org/#concept-current-drag-operation-move 35509. https://html.spec.whatwg.org/#concept-current-drag-operation-none 35510. https://html.spec.whatwg.org/#event-dnd-drag 35511. https://html.spec.whatwg.org/#current-drag-operation 35512. https://html.spec.whatwg.org/#concept-current-drag-operation-none 35513. https://html.spec.whatwg.org/#current-target-element 35514. https://html.spec.whatwg.org/#current-target-element 35515. https://html.spec.whatwg.org/#fire-a-dnd-event 35516. https://html.spec.whatwg.org/#event-dnd-dragleave 35517. https://html.spec.whatwg.org/#current-drag-operation 35518. https://html.spec.whatwg.org/#concept-current-drag-operation-none 35519. https://html.spec.whatwg.org/#current-target-element 35520. https://html.spec.whatwg.org/#fire-a-dnd-event 35521. https://html.spec.whatwg.org/#event-dnd-drop 35522. https://html.spec.whatwg.org/#current-drag-operation 35523. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect 35524. https://html.spec.whatwg.org/#dragevent 35525. https://html.spec.whatwg.org/#dom-dragevent-datatransfer 35526. https://dom.spec.whatwg.org/#concept-event-dispatch 35527. https://html.spec.whatwg.org/#current-target-element 35528. https://html.spec.whatwg.org/#the-textarea-element 35529. https://html.spec.whatwg.org/#the-input-element 35530. https://html.spec.whatwg.org/#attr-input-type 35531. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 35532. https://html.spec.whatwg.org/#editing-host 35533. https://w3c.github.io/editing/docs/execCommand/#editable 35534. https://html.spec.whatwg.org/#drag-data-store-item-list 35535. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35536. https://www.rfc-editor.org/rfc/rfc2046#section-4.1.3 35537. https://html.spec.whatwg.org/#the-drag-data-item-kind 35538. https://html.spec.whatwg.org/#drag-data-store-item-list 35539. https://html.spec.whatwg.org/#the-drag-data-item-type-string 35540. https://www.rfc-editor.org/rfc/rfc2046#section-4.1.3 35541. https://html.spec.whatwg.org/#the-drag-data-item-kind 35542. https://html.spec.whatwg.org/#editing-host 35543. https://w3c.github.io/editing/docs/execCommand/#editable 35544. https://html.spec.whatwg.org/#current-drag-operation 35545. https://html.spec.whatwg.org/#concept-current-drag-operation-none 35546. https://html.spec.whatwg.org/#fire-a-dnd-event 35547. https://html.spec.whatwg.org/#event-dnd-dragend 35548. https://html.spec.whatwg.org/#source-node 35549. https://html.spec.whatwg.org/#event-dnd-dragend 35550. https://html.spec.whatwg.org/#current-target-element 35551. https://html.spec.whatwg.org/#current-drag-operation 35552. https://html.spec.whatwg.org/#concept-current-drag-operation-move 35553. https://html.spec.whatwg.org/#editing-host 35554. https://w3c.github.io/editing/docs/execCommand/#delete-the-selection 35555. https://html.spec.whatwg.org/#current-target-element 35556. https://html.spec.whatwg.org/#current-drag-operation 35557. https://html.spec.whatwg.org/#concept-current-drag-operation-move 35558. https://html.spec.whatwg.org/#current-drag-operation 35559. https://html.spec.whatwg.org/#concept-current-drag-operation-none 35560. https://html.spec.whatwg.org/#the-textarea-element 35561. https://html.spec.whatwg.org/#the-input-element 35562. https://html.spec.whatwg.org/#attr-input-type 35563. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 35564. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 35565. https://html.spec.whatwg.org/#telephone-state-(type=tel) 35566. https://html.spec.whatwg.org/#url-state-(type=url) 35567. https://html.spec.whatwg.org/#email-state-(type=email) 35568. https://html.spec.whatwg.org/#password-state-(type=password) 35569. https://html.spec.whatwg.org/#number-state-(type=number) 35570. https://drafts.csswg.org/css2/#viewport 35571. https://html.spec.whatwg.org/#document 35572. https://html.spec.whatwg.org/#drag-data-store-mode 35573. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect 35574. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dragstart_event 35575. https://html.spec.whatwg.org/#source-node 35576. https://html.spec.whatwg.org/#concept-dnd-rw 35577. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-none 35578. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/drag_event 35579. https://html.spec.whatwg.org/#source-node 35580. https://html.spec.whatwg.org/#concept-dnd-p 35581. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-none 35582. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dragenter_event 35583. https://html.spec.whatwg.org/#immediate-user-selection 35584. https://html.spec.whatwg.org/#the-body-element-2 35585. https://html.spec.whatwg.org/#concept-dnd-p 35586. https://html.spec.whatwg.org/#dropEffect-initialisation 35587. https://html.spec.whatwg.org/#immediate-user-selection 35588. https://html.spec.whatwg.org/#current-target-element 35589. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dragleave_event 35590. https://html.spec.whatwg.org/#current-target-element 35591. https://html.spec.whatwg.org/#concept-dnd-p 35592. https://html.spec.whatwg.org/#dom-datatransfer-dropeffect-none 35593. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dragover_event 35594. https://html.spec.whatwg.org/#current-target-element 35595. https://html.spec.whatwg.org/#concept-dnd-p 35596. https://html.spec.whatwg.org/#dropEffect-initialisation 35597. https://html.spec.whatwg.org/#current-drag-operation 35598. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/drop_event 35599. https://html.spec.whatwg.org/#current-target-element 35600. https://html.spec.whatwg.org/#concept-dnd-ro 35601. https://html.spec.whatwg.org/#current-drag-operation 35602. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dragend_event 35603. https://html.spec.whatwg.org/#source-node 35604. https://html.spec.whatwg.org/#concept-dnd-p 35605. https://html.spec.whatwg.org/#current-drag-operation 35606. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed 35607. https://html.spec.whatwg.org/#event-dnd-dragstart 35608. https://html.spec.whatwg.org/#dom-datatransfer-effectallowed-uninitialized 35609. https://html.spec.whatwg.org/#event-dnd-dragstart 35610. https://html.spec.whatwg.org/#attr-draggable 35611. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/draggable 35612. https://html.spec.whatwg.org/#html-elements 35613. https://html.spec.whatwg.org/#attr-draggable 35614. https://html.spec.whatwg.org/#enumerated-attribute 35615. https://html.spec.whatwg.org/#missing-value-default 35616. https://html.spec.whatwg.org/#invalid-value-default 35617. https://html.spec.whatwg.org/#attr-draggable 35618. https://html.spec.whatwg.org/#attr-title 35619. https://html.spec.whatwg.org/#dom-draggable 35620. https://html.spec.whatwg.org/#attr-draggable 35621. https://html.spec.whatwg.org/#dom-draggable 35622. https://html.spec.whatwg.org/#attr-draggable 35623. https://html.spec.whatwg.org/#attr-draggable-true-state 35624. https://html.spec.whatwg.org/#dom-draggable 35625. https://html.spec.whatwg.org/#attr-draggable 35626. https://html.spec.whatwg.org/#attr-draggable-false-state 35627. https://html.spec.whatwg.org/#dom-draggable 35628. https://html.spec.whatwg.org/#attr-draggable 35629. https://html.spec.whatwg.org/#attr-draggable-auto-state 35630. https://html.spec.whatwg.org/#the-img-element 35631. https://html.spec.whatwg.org/#the-object-element 35632. https://html.spec.whatwg.org/#represents 35633. https://html.spec.whatwg.org/#the-a-element 35634. https://html.spec.whatwg.org/#attr-hyperlink-href 35635. https://html.spec.whatwg.org/#dom-draggable 35636. https://html.spec.whatwg.org/#dom-draggable 35637. https://html.spec.whatwg.org/#dom-draggable 35638. https://html.spec.whatwg.org/#attr-draggable 35639. https://html.spec.whatwg.org/#dom-draggable 35640. https://html.spec.whatwg.org/#attr-draggable 35641. https://html.spec.whatwg.org/#datatransfer 35642. https://html.spec.whatwg.org/#event-dnd-dragstart 35643. https://html.spec.whatwg.org/#event-dnd-drop 35644. https://html.spec.whatwg.org/#event-dnd-drop 35645. https://url.spec.whatwg.org/#syntax-url-relative 35646. https://html.spec.whatwg.org/#attr-contenteditable 35647. https://html.spec.whatwg.org/#attr-popover 35648. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/popover 35649. https://html.spec.whatwg.org/#html-elements 35650. https://html.spec.whatwg.org/#attr-popover 35651. https://html.spec.whatwg.org/#attr-popover 35652. https://html.spec.whatwg.org/#the-div-element 35653. https://w3c.github.io/aria/#menu 35654. https://html.spec.whatwg.org/#the-output-element 35655. https://html.spec.whatwg.org/#the-output-element 35656. https://html.spec.whatwg.org/#the-output-element 35657. https://html.spec.whatwg.org/#attr-popover 35658. https://html.spec.whatwg.org/#enumerated-attribute 35659. https://html.spec.whatwg.org/#popover-light-dismiss 35660. https://html.spec.whatwg.org/#close-request 35661. https://html.spec.whatwg.org/#popover-light-dismiss 35662. https://html.spec.whatwg.org/#close-request 35663. https://html.spec.whatwg.org/#popover-light-dismiss 35664. https://html.spec.whatwg.org/#close-request 35665. https://html.spec.whatwg.org/#missing-value-default 35666. https://html.spec.whatwg.org/#invalid-value-default 35667. https://html.spec.whatwg.org/#attr-popover-manual-state 35668. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/popover 35669. https://html.spec.whatwg.org/#reflect 35670. https://html.spec.whatwg.org/#attr-popover 35671. https://html.spec.whatwg.org/#limited-to-only-known-values 35672. https://html.spec.whatwg.org/#html-elements 35673. https://html.spec.whatwg.org/#popover-hidden-state 35674. https://html.spec.whatwg.org/#document 35675. https://html.spec.whatwg.org/#html-elements 35676. https://html.spec.whatwg.org/#html-elements 35677. https://html.spec.whatwg.org/#html-elements 35678. https://html.spec.whatwg.org/#html-elements 35679. https://html.spec.whatwg.org/#html-elements 35680. https://html.spec.whatwg.org/#toggle-task-tracker 35681. https://html.spec.whatwg.org/#html-elements 35682. https://html.spec.whatwg.org/#close-watcher 35683. https://html.spec.whatwg.org/#html-elements 35684. https://dom.spec.whatwg.org/#concept-element-attributes-change-ext 35685. https://html.spec.whatwg.org/#html-elements 35686. https://html.spec.whatwg.org/#attr-popover 35687. https://html.spec.whatwg.org/#popover-visibility-state 35688. https://html.spec.whatwg.org/#popover-showing-state 35689. https://html.spec.whatwg.org/#attr-popover 35690. https://html.spec.whatwg.org/#hide-popover-algorithm 35691. https://html.spec.whatwg.org/#dom-showpopover 35692. https://html.spec.whatwg.org/#attr-popover 35693. https://html.spec.whatwg.org/#attr-popover-auto-state 35694. https://html.spec.whatwg.org/#attr-popover-auto-state 35695. https://html.spec.whatwg.org/#topmost-popover-ancestor 35696. https://html.spec.whatwg.org/#dom-hidepopover 35697. https://html.spec.whatwg.org/#dom-togglepopover 35698. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/showPopover 35699. https://html.spec.whatwg.org/#dom-showpopoveroptions-source 35700. https://infra.spec.whatwg.org/#map-exists 35701. https://html.spec.whatwg.org/#show-popover 35702. https://webidl.spec.whatwg.org/#this 35703. https://html.spec.whatwg.org/#html-elements 35704. https://html.spec.whatwg.org/#html-elements 35705. https://html.spec.whatwg.org/#check-popover-validity 35706. https://dom.spec.whatwg.org/#concept-node-document 35707. https://infra.spec.whatwg.org/#assert 35708. https://html.spec.whatwg.org/#popover-invoker 35709. https://infra.spec.whatwg.org/#assert 35710. https://drafts.csswg.org/css-position-4/#document-top-layer 35711. https://html.spec.whatwg.org/#popover-showing-or-hiding 35712. https://html.spec.whatwg.org/#popover-showing-or-hiding 35713. https://html.spec.whatwg.org/#popover-showing-or-hiding 35714. https://dom.spec.whatwg.org/#concept-event-fire 35715. https://html.spec.whatwg.org/#event-beforetoggle 35716. https://html.spec.whatwg.org/#toggleevent 35717. https://dom.spec.whatwg.org/#dom-event-cancelable 35718. https://html.spec.whatwg.org/#dom-toggleevent-oldstate 35719. https://html.spec.whatwg.org/#dom-toggleevent-newstate 35720. https://html.spec.whatwg.org/#check-popover-validity 35721. https://html.spec.whatwg.org/#check-popover-validity 35722. https://html.spec.whatwg.org/#event-beforetoggle 35723. https://html.spec.whatwg.org/#attr-popover 35724. https://html.spec.whatwg.org/#attr-popover 35725. https://html.spec.whatwg.org/#topmost-popover-ancestor 35726. https://html.spec.whatwg.org/#auto-popover-list 35727. https://html.spec.whatwg.org/#topmost-popover-ancestor 35728. https://html.spec.whatwg.org/#showing-hint-popover-list 35729. https://html.spec.whatwg.org/#attr-popover-auto-state 35730. https://html.spec.whatwg.org/#close-entire-popover-list 35731. https://html.spec.whatwg.org/#showing-hint-popover-list 35732. https://html.spec.whatwg.org/#topmost-popover-ancestor 35733. https://html.spec.whatwg.org/#auto-popover-list 35734. https://html.spec.whatwg.org/#hide-all-popovers-until 35735. https://html.spec.whatwg.org/#attr-popover-hint-state 35736. https://html.spec.whatwg.org/#hide-all-popovers-until 35737. https://html.spec.whatwg.org/#close-entire-popover-list 35738. https://html.spec.whatwg.org/#showing-hint-popover-list 35739. https://html.spec.whatwg.org/#hide-all-popovers-until 35740. https://html.spec.whatwg.org/#attr-popover-auto-state 35741. https://html.spec.whatwg.org/#attr-popover-hint-state 35742. https://infra.spec.whatwg.org/#assert 35743. https://html.spec.whatwg.org/#attr-popover 35744. https://webidl.spec.whatwg.org/#invalidstateerror 35745. https://webidl.spec.whatwg.org/#dfn-DOMException 35746. https://html.spec.whatwg.org/#check-popover-validity 35747. https://html.spec.whatwg.org/#check-popover-validity 35748. https://html.spec.whatwg.org/#hide-all-popovers-until 35749. https://html.spec.whatwg.org/#event-beforetoggle 35750. https://html.spec.whatwg.org/#attr-popover 35751. https://html.spec.whatwg.org/#topmost-auto-popover 35752. https://infra.spec.whatwg.org/#assert 35753. https://html.spec.whatwg.org/#auto-popover-list 35754. https://html.spec.whatwg.org/#opened-in-popover-mode 35755. https://infra.spec.whatwg.org/#assert 35756. https://infra.spec.whatwg.org/#assert 35757. https://html.spec.whatwg.org/#showing-hint-popover-list 35758. https://html.spec.whatwg.org/#opened-in-popover-mode 35759. https://html.spec.whatwg.org/#popover-close-watcher 35760. https://html.spec.whatwg.org/#establish-a-close-watcher 35761. https://html.spec.whatwg.org/#concept-relevant-global 35762. https://html.spec.whatwg.org/#create-close-watcher-cancelaction 35763. https://html.spec.whatwg.org/#create-close-watcher-closeaction 35764. https://html.spec.whatwg.org/#hide-popover-algorithm 35765. https://html.spec.whatwg.org/#create-close-watcher-getenabledstate 35766. https://html.spec.whatwg.org/#previously-focused-element 35767. https://html.spec.whatwg.org/#focused-area-of-the-document 35768. https://html.spec.whatwg.org/#dom-anchor 35769. https://drafts.csswg.org/css-position-4/#add-an-element-to-the-top-layer 35770. https://html.spec.whatwg.org/#popover-visibility-state 35771. https://html.spec.whatwg.org/#popover-showing-state 35772. https://html.spec.whatwg.org/#popover-invoker 35773. https://drafts.csswg.org/css-anchor-position/#implicit-anchor-element 35774. https://html.spec.whatwg.org/#popover-focusing-steps 35775. https://html.spec.whatwg.org/#attr-popover 35776. https://html.spec.whatwg.org/#attr-popover-none-state 35777. https://html.spec.whatwg.org/#previously-focused-element 35778. https://html.spec.whatwg.org/#queue-a-popover-toggle-event-task 35779. https://html.spec.whatwg.org/#popover-toggle-task-tracker 35780. https://html.spec.whatwg.org/#popover-toggle-task-tracker 35781. https://html.spec.whatwg.org/#toggle-task-old-state 35782. https://html.spec.whatwg.org/#popover-toggle-task-tracker 35783. https://html.spec.whatwg.org/#toggle-task-task 35784. https://html.spec.whatwg.org/#task-queue 35785. https://html.spec.whatwg.org/#popover-toggle-task-tracker 35786. https://html.spec.whatwg.org/#queue-an-element-task 35787. https://html.spec.whatwg.org/#dom-manipulation-task-source 35788. https://dom.spec.whatwg.org/#concept-event-fire 35789. https://html.spec.whatwg.org/#event-toggle 35790. https://html.spec.whatwg.org/#toggleevent 35791. https://html.spec.whatwg.org/#dom-toggleevent-oldstate 35792. https://html.spec.whatwg.org/#dom-toggleevent-newstate 35793. https://html.spec.whatwg.org/#popover-toggle-task-tracker 35794. https://html.spec.whatwg.org/#popover-toggle-task-tracker 35795. https://html.spec.whatwg.org/#toggle-task-task 35796. https://html.spec.whatwg.org/#concept-task 35797. https://html.spec.whatwg.org/#toggle-task-old-state 35798. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/hidePopover 35799. https://html.spec.whatwg.org/#hide-popover-algorithm 35800. https://webidl.spec.whatwg.org/#this 35801. https://html.spec.whatwg.org/#html-elements 35802. https://html.spec.whatwg.org/#check-popover-validity 35803. https://dom.spec.whatwg.org/#concept-node-document 35804. https://html.spec.whatwg.org/#popover-showing-or-hiding 35805. https://html.spec.whatwg.org/#popover-showing-or-hiding 35806. https://html.spec.whatwg.org/#popover-showing-or-hiding 35807. https://html.spec.whatwg.org/#popover-close-watcher 35808. https://html.spec.whatwg.org/#close-watcher-destroy 35809. https://html.spec.whatwg.org/#popover-close-watcher 35810. https://html.spec.whatwg.org/#popover-close-watcher 35811. https://html.spec.whatwg.org/#opened-in-popover-mode 35812. https://html.spec.whatwg.org/#hide-all-popovers-until 35813. https://html.spec.whatwg.org/#check-popover-validity 35814. https://html.spec.whatwg.org/#check-popover-validity 35815. https://html.spec.whatwg.org/#hide-all-popovers-until 35816. https://html.spec.whatwg.org/#attr-popover 35817. https://html.spec.whatwg.org/#auto-popover-list 35818. https://html.spec.whatwg.org/#popover-invoker 35819. https://dom.spec.whatwg.org/#concept-event-fire 35820. https://html.spec.whatwg.org/#event-beforetoggle 35821. https://html.spec.whatwg.org/#toggleevent 35822. https://html.spec.whatwg.org/#dom-toggleevent-oldstate 35823. https://html.spec.whatwg.org/#dom-toggleevent-newstate 35824. https://html.spec.whatwg.org/#auto-popover-list 35825. https://html.spec.whatwg.org/#hide-all-popovers-until 35826. https://html.spec.whatwg.org/#check-popover-validity 35827. https://html.spec.whatwg.org/#check-popover-validity 35828. https://html.spec.whatwg.org/#event-beforetoggle 35829. https://html.spec.whatwg.org/#attr-popover 35830. https://drafts.csswg.org/css-position-4/#request-an-element-to-be-removed-from-the-top-layer 35831. https://drafts.csswg.org/css-anchor-position/#implicit-anchor-element 35832. https://drafts.csswg.org/css-position-4/#remove-an-element-from-the-top-layer-immediately 35833. https://html.spec.whatwg.org/#opened-in-popover-mode 35834. https://html.spec.whatwg.org/#popover-visibility-state 35835. https://html.spec.whatwg.org/#popover-hidden-state 35836. https://html.spec.whatwg.org/#queue-a-popover-toggle-event-task 35837. https://html.spec.whatwg.org/#previously-focused-element 35838. https://html.spec.whatwg.org/#previously-focused-element 35839. https://html.spec.whatwg.org/#focused-area-of-the-document 35840. https://html.spec.whatwg.org/#dom-anchor 35841. https://dom.spec.whatwg.org/#concept-shadow-including-inclusive-descendant 35842. https://html.spec.whatwg.org/#focusing-steps 35843. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/togglePopover 35844. https://html.spec.whatwg.org/#dom-togglepopoveroptions-force 35845. https://infra.spec.whatwg.org/#map-exists 35846. https://html.spec.whatwg.org/#dom-togglepopoveroptions-force 35847. https://html.spec.whatwg.org/#dom-showpopoveroptions-source 35848. https://infra.spec.whatwg.org/#map-exists 35849. https://webidl.spec.whatwg.org/#this 35850. https://html.spec.whatwg.org/#popover-visibility-state 35851. https://html.spec.whatwg.org/#popover-showing-state 35852. https://html.spec.whatwg.org/#hide-popover-algorithm 35853. https://webidl.spec.whatwg.org/#this 35854. https://html.spec.whatwg.org/#show-popover 35855. https://webidl.spec.whatwg.org/#this 35856. https://webidl.spec.whatwg.org/#this 35857. https://html.spec.whatwg.org/#popover-visibility-state 35858. https://html.spec.whatwg.org/#popover-showing-state 35859. https://html.spec.whatwg.org/#check-popover-validity 35860. https://webidl.spec.whatwg.org/#this 35861. https://html.spec.whatwg.org/#popover-visibility-state 35862. https://html.spec.whatwg.org/#popover-showing-state 35863. https://html.spec.whatwg.org/#html-elements 35864. https://html.spec.whatwg.org/#document 35865. https://html.spec.whatwg.org/#html-elements 35866. https://html.spec.whatwg.org/#popover-showing-state 35867. https://dom.spec.whatwg.org/#concept-node-document 35868. https://infra.spec.whatwg.org/#assert 35869. https://html.spec.whatwg.org/#document 35870. https://html.spec.whatwg.org/#popover-visibility-state 35871. https://html.spec.whatwg.org/#popover-showing-state 35872. https://infra.spec.whatwg.org/#assert 35873. https://html.spec.whatwg.org/#document 35874. https://html.spec.whatwg.org/#attr-popover 35875. https://html.spec.whatwg.org/#attr-popover-auto-state 35876. https://html.spec.whatwg.org/#attr-popover 35877. https://html.spec.whatwg.org/#attr-popover-hint-state 35878. https://html.spec.whatwg.org/#document 35879. https://html.spec.whatwg.org/#close-entire-popover-list 35880. https://html.spec.whatwg.org/#showing-hint-popover-list 35881. https://html.spec.whatwg.org/#close-entire-popover-list 35882. https://html.spec.whatwg.org/#auto-popover-list 35883. https://html.spec.whatwg.org/#showing-hint-popover-list 35884. https://infra.spec.whatwg.org/#assert 35885. https://html.spec.whatwg.org/#attr-popover 35886. https://html.spec.whatwg.org/#attr-popover-hint-state 35887. https://html.spec.whatwg.org/#hide-popover-stack-until 35888. https://html.spec.whatwg.org/#showing-hint-popover-list 35889. https://html.spec.whatwg.org/#close-entire-popover-list 35890. https://html.spec.whatwg.org/#showing-hint-popover-list 35891. https://html.spec.whatwg.org/#auto-popover-list 35892. https://html.spec.whatwg.org/#hide-popover-stack-until 35893. https://html.spec.whatwg.org/#auto-popover-list 35894. https://html.spec.whatwg.org/#html-elements 35895. https://infra.spec.whatwg.org/#list 35896. https://infra.spec.whatwg.org/#iteration-break 35897. https://infra.spec.whatwg.org/#iteration-while 35898. https://html.spec.whatwg.org/#popover-visibility-state 35899. https://html.spec.whatwg.org/#popover-showing-state 35900. https://infra.spec.whatwg.org/#assert 35901. https://html.spec.whatwg.org/#hide-popover-algorithm 35902. https://infra.spec.whatwg.org/#assert 35903. https://infra.spec.whatwg.org/#iteration-while 35904. https://html.spec.whatwg.org/#hide-all-popovers-until 35905. https://dom.spec.whatwg.org/#interface-node 35906. https://infra.spec.whatwg.org/#list 35907. https://html.spec.whatwg.org/#html-elements 35908. https://html.spec.whatwg.org/#html-elements 35909. https://html.spec.whatwg.org/#topmost-popover-ancestor 35910. https://html.spec.whatwg.org/#auto-popover-list 35911. https://html.spec.whatwg.org/#the-button-element 35912. https://html.spec.whatwg.org/#attr-popovertarget 35913. https://html.spec.whatwg.org/#auto-popover-list 35914. https://html.spec.whatwg.org/#attr-popover-auto-state 35915. https://html.spec.whatwg.org/#the-dialog-element 35916. https://html.spec.whatwg.org/#topmost-popover-ancestor 35917. https://infra.spec.whatwg.org/#assert 35918. https://html.spec.whatwg.org/#html-elements 35919. https://infra.spec.whatwg.org/#assert 35920. https://html.spec.whatwg.org/#attr-popover 35921. https://html.spec.whatwg.org/#attr-popover-none-state 35922. https://html.spec.whatwg.org/#attr-popover-manual-state 35923. https://infra.spec.whatwg.org/#assert 35924. https://html.spec.whatwg.org/#popover-visibility-state 35925. https://html.spec.whatwg.org/#popover-showing-state 35926. https://infra.spec.whatwg.org/#assert 35927. https://infra.spec.whatwg.org/#ordered-map 35928. https://infra.spec.whatwg.org/#map-set 35929. https://infra.spec.whatwg.org/#map-set 35930. https://infra.spec.whatwg.org/#iteration-while 35931. https://html.spec.whatwg.org/#nearest-inclusive-open-popover 35932. https://infra.spec.whatwg.org/#assert 35933. https://html.spec.whatwg.org/#attr-popover 35934. https://html.spec.whatwg.org/#attr-popover-manual-state 35935. https://html.spec.whatwg.org/#attr-popover-none-state 35936. https://html.spec.whatwg.org/#attr-popover 35937. https://html.spec.whatwg.org/#attr-popover-hint-state 35938. https://html.spec.whatwg.org/#attr-popover 35939. https://html.spec.whatwg.org/#attr-popover-auto-state 35940. https://drafts.csswg.org/css-scoping/#flat-tree 35941. https://drafts.csswg.org/css-scoping/#flat-tree 35942. https://dom.spec.whatwg.org/#interface-node 35943. https://html.spec.whatwg.org/#html-elements 35944. https://html.spec.whatwg.org/#attr-popover 35945. https://html.spec.whatwg.org/#attr-popover-auto-state 35946. https://html.spec.whatwg.org/#popover-visibility-state 35947. https://html.spec.whatwg.org/#popover-showing-state 35948. https://drafts.csswg.org/css-scoping/#flat-tree 35949. https://html.spec.whatwg.org/#document 35950. https://html.spec.whatwg.org/#html-elements 35951. https://html.spec.whatwg.org/#showing-hint-popover-list 35952. https://html.spec.whatwg.org/#showing-hint-popover-list 35953. https://html.spec.whatwg.org/#auto-popover-list 35954. https://html.spec.whatwg.org/#auto-popover-list 35955. https://html.spec.whatwg.org/#html-elements 35956. https://html.spec.whatwg.org/#allow-focus-steps 35957. https://dom.spec.whatwg.org/#concept-node-document 35958. https://html.spec.whatwg.org/#the-dialog-element 35959. https://html.spec.whatwg.org/#dialog-focusing-steps 35960. https://html.spec.whatwg.org/#attr-fe-autofocus 35961. https://html.spec.whatwg.org/#autofocus-delegate 35962. https://html.spec.whatwg.org/#focusing-steps 35963. https://html.spec.whatwg.org/#node-navigable 35964. https://html.spec.whatwg.org/#nav-top 35965. https://html.spec.whatwg.org/#nav-document 35966. https://dom.spec.whatwg.org/#concept-node-document 35967. https://dom.spec.whatwg.org/#concept-document-origin 35968. https://html.spec.whatwg.org/#same-origin 35969. https://dom.spec.whatwg.org/#concept-document-origin 35970. https://infra.spec.whatwg.org/#list-empty 35971. https://html.spec.whatwg.org/#autofocus-candidates 35972. https://html.spec.whatwg.org/#autofocus-processed-flag 35973. https://html.spec.whatwg.org/#html-elements 35974. https://html.spec.whatwg.org/#document 35975. https://html.spec.whatwg.org/#attr-popover 35976. https://html.spec.whatwg.org/#attr-popover-none-state 35977. https://webidl.spec.whatwg.org/#notsupportederror 35978. https://webidl.spec.whatwg.org/#dfn-DOMException 35979. https://html.spec.whatwg.org/#popover-visibility-state 35980. https://html.spec.whatwg.org/#popover-showing-state 35981. https://html.spec.whatwg.org/#popover-visibility-state 35982. https://html.spec.whatwg.org/#popover-hidden-state 35983. https://dom.spec.whatwg.org/#connected 35984. https://dom.spec.whatwg.org/#concept-node-document 35985. https://html.spec.whatwg.org/#fully-active 35986. https://dom.spec.whatwg.org/#concept-node-document 35987. https://html.spec.whatwg.org/#the-dialog-element 35988. https://html.spec.whatwg.org/#is-modal 35989. https://fullscreen.spec.whatwg.org/#fullscreen-flag 35990. https://webidl.spec.whatwg.org/#invalidstateerror 35991. https://webidl.spec.whatwg.org/#dfn-DOMException 35992. https://html.spec.whatwg.org/#document 35993. https://infra.spec.whatwg.org/#list-iterate 35994. https://dom.spec.whatwg.org/#interface-element 35995. https://drafts.csswg.org/css-position-4/#document-top-layer 35996. https://html.spec.whatwg.org/#html-elements 35997. https://html.spec.whatwg.org/#opened-in-popover-mode 35998. https://html.spec.whatwg.org/#popover-visibility-state 35999. https://html.spec.whatwg.org/#popover-showing-state 36000. https://infra.spec.whatwg.org/#list-append 36001. https://html.spec.whatwg.org/#document 36002. https://infra.spec.whatwg.org/#list-iterate 36003. https://dom.spec.whatwg.org/#interface-element 36004. https://drafts.csswg.org/css-position-4/#document-top-layer 36005. https://html.spec.whatwg.org/#html-elements 36006. https://html.spec.whatwg.org/#opened-in-popover-mode 36007. https://html.spec.whatwg.org/#popover-visibility-state 36008. https://html.spec.whatwg.org/#popover-showing-state 36009. https://infra.spec.whatwg.org/#list-append 36010. https://infra.spec.whatwg.org/#list 36011. https://html.spec.whatwg.org/#hide-popover-algorithm 36012. https://html.spec.whatwg.org/#concept-button 36013. https://html.spec.whatwg.org/#attr-popovertarget 36014. https://dom.spec.whatwg.org/#concept-id 36015. https://html.spec.whatwg.org/#attr-popover 36016. https://dom.spec.whatwg.org/#concept-tree 36017. https://html.spec.whatwg.org/#concept-button 36018. https://html.spec.whatwg.org/#attr-popovertarget 36019. https://html.spec.whatwg.org/#attr-popovertargetaction 36020. https://html.spec.whatwg.org/#enumerated-attribute 36021. https://html.spec.whatwg.org/#missing-value-default 36022. https://html.spec.whatwg.org/#invalid-value-default 36023. https://html.spec.whatwg.org/#attr-popovertargetaction-toggle-state 36024. https://html.spec.whatwg.org/#attr-popovertarget 36025. https://html.spec.whatwg.org/#attr-popovertargetaction 36026. https://html.spec.whatwg.org/#attr-popovertargetaction 36027. https://html.spec.whatwg.org/#attr-popovertarget 36028. https://html.spec.whatwg.org/#popover-light-dismiss 36029. https://html.spec.whatwg.org/#close-request 36030. https://html.spec.whatwg.org/#concept-element-dom 36031. https://html.spec.whatwg.org/#cereactions 36032. https://html.spec.whatwg.org/#dom-popovertargetelement 36033. https://html.spec.whatwg.org/#cereactions 36034. https://html.spec.whatwg.org/#dom-popovertargetaction 36035. https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement/popoverTargetElement 36036. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/popoverTargetElement 36037. https://html.spec.whatwg.org/#reflect 36038. https://html.spec.whatwg.org/#attr-popovertarget 36039. https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement/popoverTargetAction 36040. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/popoverTargetAction 36041. https://html.spec.whatwg.org/#reflect 36042. https://html.spec.whatwg.org/#attr-popovertargetaction 36043. https://html.spec.whatwg.org/#limited-to-only-known-values 36044. https://dom.spec.whatwg.org/#interface-node 36045. https://dom.spec.whatwg.org/#interface-node 36046. https://html.spec.whatwg.org/#popover-target-element 36047. https://dom.spec.whatwg.org/#concept-shadow-including-inclusive-descendant 36048. https://dom.spec.whatwg.org/#concept-shadow-including-descendant 36049. https://html.spec.whatwg.org/#attr-popovertargetaction 36050. https://html.spec.whatwg.org/#attr-popovertargetaction-show 36051. https://html.spec.whatwg.org/#popover-visibility-state 36052. https://html.spec.whatwg.org/#popover-showing-state 36053. https://html.spec.whatwg.org/#attr-popovertargetaction 36054. https://html.spec.whatwg.org/#attr-popovertargetaction-hide 36055. https://html.spec.whatwg.org/#popover-visibility-state 36056. https://html.spec.whatwg.org/#popover-hidden-state 36057. https://html.spec.whatwg.org/#popover-visibility-state 36058. https://html.spec.whatwg.org/#popover-showing-state 36059. https://html.spec.whatwg.org/#hide-popover-algorithm 36060. https://html.spec.whatwg.org/#popover-visibility-state 36061. https://html.spec.whatwg.org/#popover-hidden-state 36062. https://html.spec.whatwg.org/#check-popover-validity 36063. https://html.spec.whatwg.org/#show-popover 36064. https://dom.spec.whatwg.org/#interface-node 36065. https://html.spec.whatwg.org/#html-elements 36066. https://html.spec.whatwg.org/#concept-button 36067. https://html.spec.whatwg.org/#concept-fe-disabled 36068. https://html.spec.whatwg.org/#form-owner 36069. https://html.spec.whatwg.org/#concept-submit-button 36070. https://html.spec.whatwg.org/#attr-associated-element 36071. https://html.spec.whatwg.org/#attr-popover 36072. https://html.spec.whatwg.org/#attr-popover-none-state 36073. https://html.spec.whatwg.org/#attr-popover 36074. https://html.spec.whatwg.org/#attr-popover-auto-state 36075. https://html.spec.whatwg.org/#close-request 36076. https://w3c.github.io/pointerevents/#pointerevent-interface 36077. https://infra.spec.whatwg.org/#assert 36078. https://dom.spec.whatwg.org/#dom-event-istrusted 36079. https://dom.spec.whatwg.org/#concept-event-target 36080. https://dom.spec.whatwg.org/#concept-node-document 36081. https://html.spec.whatwg.org/#topmost-auto-popover 36082. https://dom.spec.whatwg.org/#dom-event-type 36083. https://w3c.github.io/pointerevents/#the-pointerdown-event 36084. https://html.spec.whatwg.org/#popover-pointerdown-target 36085. https://html.spec.whatwg.org/#topmost-clicked-popover 36086. https://dom.spec.whatwg.org/#dom-event-type 36087. https://w3c.github.io/pointerevents/#the-pointerup-event 36088. https://html.spec.whatwg.org/#topmost-clicked-popover 36089. https://html.spec.whatwg.org/#popover-pointerdown-target 36090. https://html.spec.whatwg.org/#popover-pointerdown-target 36091. https://html.spec.whatwg.org/#hide-all-popovers-until 36092. https://dom.spec.whatwg.org/#interface-node 36093. https://html.spec.whatwg.org/#nearest-inclusive-open-popover 36094. https://html.spec.whatwg.org/#nearest-inclusive-target-popover-for-invoker 36095. https://html.spec.whatwg.org/#get-the-popover-stack-position 36096. https://html.spec.whatwg.org/#get-the-popover-stack-position 36097. https://html.spec.whatwg.org/#html-elements 36098. https://dom.spec.whatwg.org/#concept-node-document 36099. https://html.spec.whatwg.org/#showing-hint-popover-list 36100. https://dom.spec.whatwg.org/#concept-node-document 36101. https://html.spec.whatwg.org/#auto-popover-list 36102. https://dom.spec.whatwg.org/#interface-node 36103. https://html.spec.whatwg.org/#popover-target-element 36104. https://html.spec.whatwg.org/#attr-popover 36105. https://html.spec.whatwg.org/#attr-popover-auto-state 36106. https://html.spec.whatwg.org/#popover-visibility-state 36107. https://html.spec.whatwg.org/#popover-showing-state 36108. https://drafts.csswg.org/css-scoping/#flat-tree 36109. https://webidl.spec.whatwg.org/#securityerror 36110. https://webidl.spec.whatwg.org/#dfn-DOMException 36111. https://html.spec.whatwg.org/#ascii-serialisation-of-an-origin 36112. https://infra.spec.whatwg.org/#tuple 36113. https://infra.spec.whatwg.org/#ascii-string 36114. https://url.spec.whatwg.org/#concept-host 36115. https://url.spec.whatwg.org/#concept-domain 36116. https://html.spec.whatwg.org/#concept-origin 36117. https://html.spec.whatwg.org/#document 36118. https://html.spec.whatwg.org/#concept-origin 36119. https://html.spec.whatwg.org/#concept-origin-domain 36120. https://html.spec.whatwg.org/#concept-origin-tuple 36121. https://html.spec.whatwg.org/#dom-document-domain 36122. https://html.spec.whatwg.org/#concept-origin 36123. https://html.spec.whatwg.org/#concept-origin-opaque 36124. https://html.spec.whatwg.org/#concept-origin-domain 36125. https://html.spec.whatwg.org/#concept-origin-domain 36126. https://html.spec.whatwg.org/#concept-origin-host 36127. https://html.spec.whatwg.org/#concept-origin 36128. https://html.spec.whatwg.org/#concept-origin-opaque 36129. https://html.spec.whatwg.org/#concept-origin-scheme 36130. https://html.spec.whatwg.org/#concept-origin-host 36131. https://url.spec.whatwg.org/#concept-host-serializer 36132. https://html.spec.whatwg.org/#concept-origin-port 36133. https://html.spec.whatwg.org/#concept-origin-port 36134. https://url.spec.whatwg.org/#serialize-an-integer 36135. https://html.spec.whatwg.org/#ascii-serialisation-of-an-origin 36136. https://html.spec.whatwg.org/#concept-origin 36137. https://html.spec.whatwg.org/#concept-origin-opaque 36138. https://html.spec.whatwg.org/#concept-origin-tuple 36139. https://html.spec.whatwg.org/#concept-origin-scheme 36140. https://html.spec.whatwg.org/#concept-origin-host 36141. https://html.spec.whatwg.org/#concept-origin-port 36142. https://html.spec.whatwg.org/#concept-origin 36143. https://html.spec.whatwg.org/#concept-origin-opaque 36144. https://html.spec.whatwg.org/#concept-origin-tuple 36145. https://html.spec.whatwg.org/#concept-origin-scheme 36146. https://html.spec.whatwg.org/#concept-origin-domain 36147. https://html.spec.whatwg.org/#same-origin 36148. https://html.spec.whatwg.org/#concept-origin-domain 36149. https://html.spec.whatwg.org/#same-origin 36150. https://html.spec.whatwg.org/#same-origin-domain 36151. https://infra.spec.whatwg.org/#tuple 36152. https://infra.spec.whatwg.org/#ascii-string 36153. https://url.spec.whatwg.org/#concept-host 36154. https://html.spec.whatwg.org/#concept-origin-opaque 36155. https://html.spec.whatwg.org/#scheme-and-host 36156. https://html.spec.whatwg.org/#concept-origin-opaque 36157. https://html.spec.whatwg.org/#concept-origin-host 36158. https://url.spec.whatwg.org/#host-registrable-domain 36159. https://html.spec.whatwg.org/#concept-origin-scheme 36160. https://html.spec.whatwg.org/#concept-origin-host 36161. https://html.spec.whatwg.org/#concept-origin-scheme 36162. https://html.spec.whatwg.org/#concept-origin-host 36163. https://url.spec.whatwg.org/#host-registrable-domain 36164. https://html.spec.whatwg.org/#site 36165. https://html.spec.whatwg.org/#concept-origin-opaque 36166. https://html.spec.whatwg.org/#concept-origin-opaque 36167. https://html.spec.whatwg.org/#concept-scheme-and-host-scheme 36168. https://html.spec.whatwg.org/#concept-scheme-and-host-host 36169. https://url.spec.whatwg.org/#concept-host-equals 36170. https://html.spec.whatwg.org/#site 36171. https://html.spec.whatwg.org/#concept-origin-opaque 36172. https://url.spec.whatwg.org/#concept-host-serializer 36173. https://html.spec.whatwg.org/#concept-origin 36174. https://html.spec.whatwg.org/#concept-origin-opaque 36175. https://html.spec.whatwg.org/#concept-origin-tuple 36176. https://html.spec.whatwg.org/#concept-origin-host 36177. https://html.spec.whatwg.org/#concept-origin-host 36178. https://url.spec.whatwg.org/#concept-host-equals 36179. https://url.spec.whatwg.org/#host-registrable-domain 36180. https://url.spec.whatwg.org/#host-registrable-domain 36181. https://url.spec.whatwg.org/#concept-host-equals 36182. https://url.spec.whatwg.org/#host-registrable-domain 36183. https://html.spec.whatwg.org/#concept-origin 36184. https://html.spec.whatwg.org/#obtain-a-site 36185. https://html.spec.whatwg.org/#obtain-a-site 36186. https://html.spec.whatwg.org/#concept-site-same-site 36187. https://html.spec.whatwg.org/#same-origin 36188. https://html.spec.whatwg.org/#same-origin-domain 36189. https://html.spec.whatwg.org/#schemelessly-same-site 36190. https://html.spec.whatwg.org/#same-site 36191. https://html.spec.whatwg.org/#concept-origin-port 36192. https://html.spec.whatwg.org/#concept-origin-domain 36193. https://url.spec.whatwg.org/#warning-avoid-psl 36194. https://html.spec.whatwg.org/#same-site 36195. https://html.spec.whatwg.org/#schemelessly-same-site 36196. https://html.spec.whatwg.org/#same-origin 36197. https://url.spec.whatwg.org/#host-public-suffix 36198. https://html.spec.whatwg.org/#schemelessly-same-site 36199. https://html.spec.whatwg.org/#same-site 36200. https://html.spec.whatwg.org/#concept-origin-port 36201. https://html.spec.whatwg.org/#concept-origin-domain 36202. https://html.spec.whatwg.org/#dom-document-domain 36203. https://html.spec.whatwg.org/#concept-origin 36204. https://html.spec.whatwg.org/#concept-origin-domain 36205. https://html.spec.whatwg.org/#the-iframe-element 36206. https://html.spec.whatwg.org/#document 36207. https://html.spec.whatwg.org/#concept-origin-opaque 36208. https://html.spec.whatwg.org/#document 36209. https://html.spec.whatwg.org/#concept-document-bc 36210. https://webidl.spec.whatwg.org/#securityerror 36211. https://html.spec.whatwg.org/#dom-crossoriginisolated 36212. https://html.spec.whatwg.org/#dom-originagentcluster 36213. https://html.spec.whatwg.org/#dom-document-domain 36214. https://html.spec.whatwg.org/#dom-document-domain 36215. https://html.spec.whatwg.org/#dom-window-postmessage 36216. https://html.spec.whatwg.org/#messagechannel 36217. https://webidl.spec.whatwg.org/#this 36218. https://dom.spec.whatwg.org/#concept-document-origin 36219. https://html.spec.whatwg.org/#concept-origin-effective-domain 36220. https://url.spec.whatwg.org/#concept-host-serializer 36221. https://html.spec.whatwg.org/#dom-document-domain 36222. https://webidl.spec.whatwg.org/#this 36223. https://html.spec.whatwg.org/#concept-document-bc 36224. https://webidl.spec.whatwg.org/#securityerror 36225. https://webidl.spec.whatwg.org/#dfn-DOMException 36226. https://webidl.spec.whatwg.org/#this 36227. https://html.spec.whatwg.org/#active-sandboxing-flag-set 36228. https://html.spec.whatwg.org/#sandboxed-document.domain-browsing-context-flag 36229. https://webidl.spec.whatwg.org/#securityerror 36230. https://webidl.spec.whatwg.org/#dfn-DOMException 36231. https://webidl.spec.whatwg.org/#this 36232. https://dom.spec.whatwg.org/#concept-document-origin 36233. https://html.spec.whatwg.org/#concept-origin-effective-domain 36234. https://webidl.spec.whatwg.org/#securityerror 36235. https://webidl.spec.whatwg.org/#dfn-DOMException 36236. https://html.spec.whatwg.org/#is-a-registrable-domain-suffix-of-or-is-equal-to 36237. https://webidl.spec.whatwg.org/#securityerror 36238. https://webidl.spec.whatwg.org/#dfn-DOMException 36239. https://tc39.es/ecma262/#surrounding-agent 36240. https://tc39.es/ecma262/#sec-agent-clusters 36241. https://html.spec.whatwg.org/#is-origin-keyed 36242. https://webidl.spec.whatwg.org/#this 36243. https://dom.spec.whatwg.org/#concept-document-origin 36244. https://html.spec.whatwg.org/#concept-origin-domain 36245. https://url.spec.whatwg.org/#concept-host-parser 36246. https://infra.spec.whatwg.org/#scalar-value-string 36247. https://url.spec.whatwg.org/#concept-host 36248. https://url.spec.whatwg.org/#concept-host-parser 36249. https://url.spec.whatwg.org/#concept-host-equals 36250. https://url.spec.whatwg.org/#concept-domain 36251. https://url.spec.whatwg.org/#concept-host 36252. https://url.spec.whatwg.org/#ip-address 36253. https://url.spec.whatwg.org/#concept-host-equals 36254. https://url.spec.whatwg.org/#host-public-suffix 36255. https://url.spec.whatwg.org/#host-public-suffix 36256. https://html.spec.whatwg.org/#refsURL 36257. https://infra.spec.whatwg.org/#assert 36258. https://url.spec.whatwg.org/#host-public-suffix 36259. https://html.spec.whatwg.org/#is-a-registrable-domain-suffix-of-or-is-equal-to 36260. https://html.spec.whatwg.org/#dom-originagentcluster 36261. https://html.spec.whatwg.org/#window 36262. https://tc39.es/ecma262/#sec-agent-clusters 36263. https://html.spec.whatwg.org/#concept-origin 36264. https://html.spec.whatwg.org/#agent-cluster-key 36265. https://html.spec.whatwg.org/#document 36266. https://html.spec.whatwg.org/#secure-context 36267. https://html.spec.whatwg.org/#concept-origin 36268. https://html.spec.whatwg.org/#agent-cluster-key 36269. https://tc39.es/ecma262/#sec-agent-clusters 36270. https://httpwg.org/specs/rfc8941.html 36271. https://httpwg.org/specs/rfc8941.html#boolean 36272. https://html.spec.whatwg.org/#refsSTRUCTURED-FIELDS 36273. https://html.spec.whatwg.org/#initialise-the-document-object 36274. https://httpwg.org/specs/rfc8941.html#boolean 36275. https://html.spec.whatwg.org/#document 36276. https://html.spec.whatwg.org/#agent-cluster-key 36277. https://dom.spec.whatwg.org/#concept-document-origin 36278. https://html.spec.whatwg.org/#obtain-a-site 36279. https://html.spec.whatwg.org/#relaxing-the-same-origin-restriction 36280. https://html.spec.whatwg.org/#dom-document-domain 36281. https://webassembly.github.io/spec/js-api/#module 36282. https://html.spec.whatwg.org/#document 36283. https://html.spec.whatwg.org/#same-site 36284. https://tc39.es/ecma262/#sec-agent-clusters 36285. https://html.spec.whatwg.org/#browsing-context-group 36286. https://html.spec.whatwg.org/#origin-agent-cluster 36287. https://html.spec.whatwg.org/#document 36288. https://tc39.es/ecma262/#sec-agent-clusters 36289. https://html.spec.whatwg.org/#historical-agent-cluster-key-map 36290. https://html.spec.whatwg.org/#dom-originagentcluster 36291. https://html.spec.whatwg.org/#browsing-context-group 36292. https://tc39.es/ecma262/#surrounding-agent 36293. https://tc39.es/ecma262/#sec-agent-clusters 36294. https://html.spec.whatwg.org/#is-origin-keyed 36295. https://html.spec.whatwg.org/#document 36296. https://html.spec.whatwg.org/#concept-origin-opaque 36297. https://html.spec.whatwg.org/#dom-originagentcluster 36298. https://html.spec.whatwg.org/#document 36299. https://tc39.es/ecma262/#sec-agent-clusters 36300. https://html.spec.whatwg.org/#agent-cluster-cross-origin-isolation 36301. https://html.spec.whatwg.org/#cross-origin-isolation-none 36302. https://html.spec.whatwg.org/#origin-agent-cluster 36303. https://html.spec.whatwg.org/#cross-origin-opener-policy-2 36304. https://html.spec.whatwg.org/#cross-origin-embedder-policy 36305. https://html.spec.whatwg.org/#top-level-browsing-context 36306. https://html.spec.whatwg.org/#top-level-browsing-context 36307. https://html.spec.whatwg.org/#tlbc-group 36308. https://html.spec.whatwg.org/#top-level-browsing-context 36309. https://html.spec.whatwg.org/#cross-origin-opener-policy 36310. https://html.spec.whatwg.org/#top-level-browsing-context 36311. https://html.spec.whatwg.org/#cross-origin-opener-policy 36312. https://html.spec.whatwg.org/#same-origin 36313. https://html.spec.whatwg.org/#coop-same-origin-allow-popups 36314. https://html.spec.whatwg.org/#auxiliary-browsing-context 36315. https://html.spec.whatwg.org/#same-origin 36316. https://html.spec.whatwg.org/#cross-origin-opener-policy 36317. https://html.spec.whatwg.org/#coop-same-origin 36318. https://html.spec.whatwg.org/#top-level-browsing-context 36319. https://html.spec.whatwg.org/#tlbc-group 36320. https://html.spec.whatwg.org/#bcg-cross-origin-isolation 36321. https://html.spec.whatwg.org/#cross-origin-isolation-logical 36322. https://html.spec.whatwg.org/#cross-origin-isolation-concrete 36323. https://html.spec.whatwg.org/#coop-same-origin-plus-coep 36324. https://html.spec.whatwg.org/#cross-origin-opener-policy-2 36325. https://html.spec.whatwg.org/#cross-origin-opener-policy-2 36326. https://html.spec.whatwg.org/#coop-same-origin 36327. https://html.spec.whatwg.org/#cross-origin-embedder-policy 36328. https://html.spec.whatwg.org/#compatible-with-cross-origin-isolation 36329. https://html.spec.whatwg.org/#top-level-browsing-context 36330. https://html.spec.whatwg.org/#coop-noopener-allow-popups 36331. https://html.spec.whatwg.org/#refsFETCHMETADATA 36332. https://html.spec.whatwg.org/#x-frame-options 36333. https://w3c.github.io/webappsec-csp/#frame-ancestors 36334. https://html.spec.whatwg.org/#dom-localstorage 36335. https://w3c.github.io/ServiceWorker/#cache 36336. https://html.spec.whatwg.org/#refsSW 36337. https://html.spec.whatwg.org/#broadcastchannel 36338. https://html.spec.whatwg.org/#coop-noopener-allow-popups 36339. https://html.spec.whatwg.org/#dom-localstorage 36340. https://html.spec.whatwg.org/#broadcastchannel 36341. https://html.spec.whatwg.org/#cross-origin-opener-policy-value 36342. https://html.spec.whatwg.org/#coop-unsafe-none 36343. https://html.spec.whatwg.org/#cross-origin-opener-policy-value 36344. https://html.spec.whatwg.org/#coop-unsafe-none 36345. https://html.spec.whatwg.org/#cross-origin-opener-policy-value 36346. https://html.spec.whatwg.org/#concept-origin 36347. https://html.spec.whatwg.org/#cross-origin-opener-policy-value 36348. https://html.spec.whatwg.org/#concept-origin 36349. https://html.spec.whatwg.org/#coop-unsafe-none 36350. https://html.spec.whatwg.org/#coop-unsafe-none 36351. https://html.spec.whatwg.org/#coop-unsafe-none 36352. https://html.spec.whatwg.org/#coop-unsafe-none 36353. https://html.spec.whatwg.org/#same-origin 36354. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy 36355. https://html.spec.whatwg.org/#document 36356. https://html.spec.whatwg.org/#concept-document-coop 36357. https://httpwg.org/specs/rfc8941.html 36358. https://httpwg.org/specs/rfc8941.html#token 36359. https://html.spec.whatwg.org/#refsSTRUCTURED-FIELDS 36360. https://httpwg.org/specs/rfc8941.html#token 36361. https://html.spec.whatwg.org/#cross-origin-opener-policy-value 36362. https://httpwg.org/specs/rfc8941.html#param 36363. https://url.spec.whatwg.org/#valid-url-string 36364. https://html.spec.whatwg.org/#refsREPORTING 36365. https://httpwg.org/specs/rfc8941.html#token 36366. https://fetch.spec.whatwg.org/#concept-response 36367. https://html.spec.whatwg.org/#environment 36368. https://html.spec.whatwg.org/#cross-origin-opener-policy 36369. https://html.spec.whatwg.org/#non-secure-context 36370. https://fetch.spec.whatwg.org/#concept-header-list-get-structured-header 36371. https://html.spec.whatwg.org/#cross-origin-opener-policy-2 36372. https://fetch.spec.whatwg.org/#concept-response-header-list 36373. https://html.spec.whatwg.org/#coop-same-origin 36374. https://html.spec.whatwg.org/#obtain-an-embedder-policy 36375. https://html.spec.whatwg.org/#embedder-policy-value-2 36376. https://html.spec.whatwg.org/#compatible-with-cross-origin-isolation 36377. https://html.spec.whatwg.org/#coop-struct-value 36378. https://html.spec.whatwg.org/#coop-same-origin-plus-coep 36379. https://html.spec.whatwg.org/#coop-struct-value 36380. https://html.spec.whatwg.org/#coop-same-origin 36381. https://html.spec.whatwg.org/#coop-same-origin-allow-popups 36382. https://html.spec.whatwg.org/#coop-struct-value 36383. https://html.spec.whatwg.org/#coop-same-origin-allow-popups 36384. https://html.spec.whatwg.org/#coop-noopener-allow-popups 36385. https://html.spec.whatwg.org/#coop-struct-value 36386. https://html.spec.whatwg.org/#coop-noopener-allow-popups 36387. https://html.spec.whatwg.org/#coop-report-to 36388. https://infra.spec.whatwg.org/#map-exists 36389. https://html.spec.whatwg.org/#coop-struct-report-endpoint 36390. https://html.spec.whatwg.org/#coop-report-to 36391. https://fetch.spec.whatwg.org/#concept-header-list-get-structured-header 36392. https://html.spec.whatwg.org/#cross-origin-opener-policy-report-only 36393. https://fetch.spec.whatwg.org/#concept-response-header-list 36394. https://html.spec.whatwg.org/#coop-same-origin 36395. https://html.spec.whatwg.org/#obtain-an-embedder-policy 36396. https://html.spec.whatwg.org/#embedder-policy-value-2 36397. https://html.spec.whatwg.org/#compatible-with-cross-origin-isolation 36398. https://html.spec.whatwg.org/#embedder-policy-report-only-value 36399. https://html.spec.whatwg.org/#compatible-with-cross-origin-isolation 36400. https://html.spec.whatwg.org/#coop-struct-report-only-value 36401. https://html.spec.whatwg.org/#coop-same-origin-plus-coep 36402. https://html.spec.whatwg.org/#coop-same-origin-plus-coep 36403. https://html.spec.whatwg.org/#coop-struct-report-only-value 36404. https://html.spec.whatwg.org/#coop-same-origin 36405. https://html.spec.whatwg.org/#coop-same-origin-allow-popups 36406. https://html.spec.whatwg.org/#coop-struct-report-only-value 36407. https://html.spec.whatwg.org/#coop-same-origin-allow-popups 36408. https://html.spec.whatwg.org/#coop-report-to 36409. https://infra.spec.whatwg.org/#map-exists 36410. https://html.spec.whatwg.org/#coop-struct-report-only-endpoint 36411. https://html.spec.whatwg.org/#coop-report-to 36412. https://html.spec.whatwg.org/#concept-origin 36413. https://html.spec.whatwg.org/#coop-struct-value 36414. https://html.spec.whatwg.org/#coop-noopener-allow-popups 36415. https://html.spec.whatwg.org/#coop-struct-value 36416. https://html.spec.whatwg.org/#coop-same-origin-allow-popups 36417. https://html.spec.whatwg.org/#coop-noopener-allow-popups 36418. https://html.spec.whatwg.org/#coop-unsafe-none 36419. https://html.spec.whatwg.org/#matching-coop 36420. https://html.spec.whatwg.org/#concept-origin 36421. https://html.spec.whatwg.org/#coop-struct-value 36422. https://html.spec.whatwg.org/#check-browsing-context-group-switch-coop-value-popup 36423. https://html.spec.whatwg.org/#matching-coop 36424. https://html.spec.whatwg.org/#concept-origin 36425. https://html.spec.whatwg.org/#cross-origin-opener-policy 36426. https://html.spec.whatwg.org/#check-browsing-context-group-switch-coop-value 36427. https://html.spec.whatwg.org/#coop-struct-report-only-value 36428. https://html.spec.whatwg.org/#coop-struct-report-only-value 36429. https://html.spec.whatwg.org/#check-browsing-context-group-switch-coop-value 36430. https://html.spec.whatwg.org/#coop-struct-value 36431. https://html.spec.whatwg.org/#coop-struct-report-only-value 36432. https://html.spec.whatwg.org/#check-browsing-context-group-switch-coop-value 36433. https://html.spec.whatwg.org/#coop-struct-report-only-value 36434. https://html.spec.whatwg.org/#coop-struct-value 36435. https://infra.spec.whatwg.org/#struct 36436. https://infra.spec.whatwg.org/#struct-item 36437. https://url.spec.whatwg.org/#concept-url 36438. https://html.spec.whatwg.org/#concept-origin 36439. https://html.spec.whatwg.org/#cross-origin-opener-policy 36440. https://html.spec.whatwg.org/#browsing-context 36441. https://url.spec.whatwg.org/#concept-url 36442. https://html.spec.whatwg.org/#concept-origin 36443. https://html.spec.whatwg.org/#cross-origin-opener-policy 36444. https://html.spec.whatwg.org/#coop-enforcement-result 36445. https://fetch.spec.whatwg.org/#concept-request-referrer 36446. https://html.spec.whatwg.org/#coop-enforcement-result 36447. https://html.spec.whatwg.org/#coop-enforcement-bcg-switch 36448. https://html.spec.whatwg.org/#coop-enforcement-bcg-switch 36449. https://html.spec.whatwg.org/#coop-enforcement-bcg-switch-report-only 36450. https://html.spec.whatwg.org/#coop-enforcement-bcg-switch-report-only 36451. https://html.spec.whatwg.org/#coop-enforcement-url 36452. https://html.spec.whatwg.org/#coop-enforcement-origin 36453. https://html.spec.whatwg.org/#coop-enforcement-coop 36454. https://html.spec.whatwg.org/#coop-enforcement-source 36455. https://html.spec.whatwg.org/#active-document 36456. https://html.spec.whatwg.org/#is-initial-about:blank 36457. https://html.spec.whatwg.org/#browsing-context-initial-url 36458. https://html.spec.whatwg.org/#browsing-context-initial-url 36459. https://html.spec.whatwg.org/#check-browsing-context-group-switch-coop-value 36460. https://html.spec.whatwg.org/#coop-enforcement-coop 36461. https://html.spec.whatwg.org/#coop-struct-value 36462. https://html.spec.whatwg.org/#coop-enforcement-origin 36463. https://html.spec.whatwg.org/#coop-struct-value 36464. https://html.spec.whatwg.org/#coop-enforcement-bcg-switch 36465. https://html.spec.whatwg.org/#tlbc-group 36466. https://html.spec.whatwg.org/#browsing-context-set 36467. https://infra.spec.whatwg.org/#list-size 36468. https://html.spec.whatwg.org/#coop-violation-navigation-to 36469. https://html.spec.whatwg.org/#coop-enforcement-url 36470. https://html.spec.whatwg.org/#coop-enforcement-origin 36471. https://html.spec.whatwg.org/#coop-violation-navigation-from 36472. https://html.spec.whatwg.org/#coop-enforcement-coop 36473. https://html.spec.whatwg.org/#coop-enforcement-url 36474. https://html.spec.whatwg.org/#coop-enforcement-origin 36475. https://html.spec.whatwg.org/#coop-enforcement-source 36476. https://html.spec.whatwg.org/#check-bcg-switch-navigation-report-only 36477. https://html.spec.whatwg.org/#coop-enforcement-origin 36478. https://html.spec.whatwg.org/#coop-enforcement-coop 36479. https://html.spec.whatwg.org/#coop-enforcement-bcg-switch-report-only 36480. https://html.spec.whatwg.org/#tlbc-group 36481. https://html.spec.whatwg.org/#browsing-context-set 36482. https://infra.spec.whatwg.org/#list-size 36483. https://html.spec.whatwg.org/#coop-violation-navigation-to 36484. https://html.spec.whatwg.org/#coop-enforcement-url 36485. https://html.spec.whatwg.org/#coop-enforcement-origin 36486. https://html.spec.whatwg.org/#coop-violation-navigation-from 36487. https://html.spec.whatwg.org/#coop-enforcement-coop 36488. https://html.spec.whatwg.org/#coop-enforcement-url 36489. https://html.spec.whatwg.org/#coop-enforcement-origin 36490. https://html.spec.whatwg.org/#coop-enforcement-source 36491. https://html.spec.whatwg.org/#navigation-params 36492. https://html.spec.whatwg.org/#navigation-params-navigable 36493. https://html.spec.whatwg.org/#nav-bc 36494. https://html.spec.whatwg.org/#top-level-browsing-context 36495. https://html.spec.whatwg.org/#navigation-params-coop-enforcement-result 36496. https://html.spec.whatwg.org/#coop-enforcement-bcg-switch 36497. https://html.spec.whatwg.org/#active-document 36498. https://dom.spec.whatwg.org/#concept-document-origin 36499. https://html.spec.whatwg.org/#navigation-params-origin 36500. https://html.spec.whatwg.org/#same-site 36501. https://html.spec.whatwg.org/#concept-origin-scheme 36502. https://fetch.spec.whatwg.org/#http-scheme 36503. https://infra.spec.whatwg.org/#implementation-defined 36504. https://github.com/whatwg/html/issues/10842 36505. https://html.spec.whatwg.org/#navigation-params-user-involvement 36506. https://html.spec.whatwg.org/#uni-browser-ui 36507. https://github.com/whatwg/html/issues/6356 36508. https://html.spec.whatwg.org/#tlbc-group 36509. https://html.spec.whatwg.org/#browsing-context-set 36510. https://infra.spec.whatwg.org/#list-size 36511. https://html.spec.whatwg.org/#coop-enforcement-bcg-switch-report-only 36512. https://html.spec.whatwg.org/#virtual-browsing-context-group-id 36513. https://html.spec.whatwg.org/#creating-a-new-top-level-browsing-context 36514. https://html.spec.whatwg.org/#document 36515. https://html.spec.whatwg.org/#initialise-the-document-object 36516. https://html.spec.whatwg.org/#document 36517. https://html.spec.whatwg.org/#a-browsing-context-is-discarded 36518. https://html.spec.whatwg.org/#navigation-params-coop 36519. https://html.spec.whatwg.org/#coop-struct-value 36520. https://html.spec.whatwg.org/#coop-same-origin-plus-coep 36521. https://html.spec.whatwg.org/#tlbc-group 36522. https://html.spec.whatwg.org/#bcg-cross-origin-isolation 36523. https://html.spec.whatwg.org/#cross-origin-isolation-logical 36524. https://html.spec.whatwg.org/#cross-origin-isolation-concrete 36525. https://infra.spec.whatwg.org/#implementation-defined 36526. https://html.spec.whatwg.org/#concept-settings-object-cross-origin-isolated-capability 36527. https://html.spec.whatwg.org/#cross-origin-isolation-concrete 36528. https://html.spec.whatwg.org/#cross-origin-isolation-logical 36529. https://infra.spec.whatwg.org/#list-clone 36530. https://html.spec.whatwg.org/#navigation-params-sandboxing 36531. https://infra.spec.whatwg.org/#assert 36532. https://html.spec.whatwg.org/#coop-struct-value 36533. https://html.spec.whatwg.org/#coop-unsafe-none 36534. https://infra.spec.whatwg.org/#assert 36535. https://html.spec.whatwg.org/#popup-sandboxing-flag-set 36536. https://infra.spec.whatwg.org/#list-is-empty 36537. https://html.spec.whatwg.org/#popup-sandboxing-flag-set 36538. https://html.spec.whatwg.org/#browsing-context 36539. https://html.spec.whatwg.org/#browsing-context 36540. https://html.spec.whatwg.org/#ancestor-browsing-context 36541. https://html.spec.whatwg.org/#opener-browsing-context 36542. https://html.spec.whatwg.org/#browsing-context 36543. https://html.spec.whatwg.org/#bc-tlbc 36544. https://html.spec.whatwg.org/#browsing-context 36545. https://html.spec.whatwg.org/#ancestor-browsing-context 36546. https://html.spec.whatwg.org/#opener-browsing-context 36547. https://html.spec.whatwg.org/#browsing-context 36548. https://html.spec.whatwg.org/#bc-tlbc 36549. https://html.spec.whatwg.org/#browsing-context 36550. https://html.spec.whatwg.org/#browsing-context 36551. https://html.spec.whatwg.org/#ancestor-browsing-context 36552. https://html.spec.whatwg.org/#browsing-context 36553. https://html.spec.whatwg.org/#environment-settings-object 36554. https://html.spec.whatwg.org/#cross-origin-accessible-window-property-name 36555. https://infra.spec.whatwg.org/#assert 36556. https://html.spec.whatwg.org/#active-document 36557. https://html.spec.whatwg.org/#active-document 36558. https://html.spec.whatwg.org/#fully-active 36559. https://html.spec.whatwg.org/#bc-tlbc 36560. https://html.spec.whatwg.org/#active-document 36561. https://dom.spec.whatwg.org/#concept-document-origin 36562. https://html.spec.whatwg.org/#nav-document 36563. https://html.spec.whatwg.org/#active-document 36564. https://html.spec.whatwg.org/#inclusive-ancestor-navigables 36565. https://html.spec.whatwg.org/#bc-tlbc 36566. https://html.spec.whatwg.org/#active-document 36567. https://dom.spec.whatwg.org/#concept-document-origin 36568. https://html.spec.whatwg.org/#nav-document 36569. https://html.spec.whatwg.org/#active-document 36570. https://html.spec.whatwg.org/#inclusive-ancestor-navigables 36571. https://html.spec.whatwg.org/#same-origin 36572. https://dom.spec.whatwg.org/#concept-document-origin 36573. https://html.spec.whatwg.org/#same-origin 36574. https://dom.spec.whatwg.org/#concept-document-origin 36575. https://html.spec.whatwg.org/#bc-tlbc 36576. https://html.spec.whatwg.org/#virtual-browsing-context-group-id 36577. https://html.spec.whatwg.org/#bc-tlbc 36578. https://html.spec.whatwg.org/#virtual-browsing-context-group-id 36579. https://html.spec.whatwg.org/#accessor-accessed-relationship 36580. https://html.spec.whatwg.org/#accessor-accessed-none 36581. https://html.spec.whatwg.org/#bc-tlbc 36582. https://html.spec.whatwg.org/#opener-browsing-context 36583. https://html.spec.whatwg.org/#ancestor-browsing-context 36584. https://html.spec.whatwg.org/#accessor-accessed-opener 36585. https://html.spec.whatwg.org/#bc-tlbc 36586. https://html.spec.whatwg.org/#opener-browsing-context 36587. https://html.spec.whatwg.org/#ancestor-browsing-context 36588. https://html.spec.whatwg.org/#accessor-accessed-openee 36589. https://html.spec.whatwg.org/#coop-violation-access 36590. https://html.spec.whatwg.org/#concept-document-coop 36591. https://html.spec.whatwg.org/#concept-document-coop 36592. https://html.spec.whatwg.org/#active-document 36593. https://dom.spec.whatwg.org/#concept-document-url 36594. https://html.spec.whatwg.org/#active-document 36595. https://dom.spec.whatwg.org/#concept-document-url 36596. https://html.spec.whatwg.org/#bc-tlbc 36597. https://html.spec.whatwg.org/#browsing-context-initial-url 36598. https://html.spec.whatwg.org/#bc-tlbc 36599. https://html.spec.whatwg.org/#browsing-context-initial-url 36600. https://html.spec.whatwg.org/#active-document 36601. https://dom.spec.whatwg.org/#concept-document-origin 36602. https://html.spec.whatwg.org/#active-document 36603. https://dom.spec.whatwg.org/#concept-document-origin 36604. https://html.spec.whatwg.org/#bc-tlbc 36605. https://html.spec.whatwg.org/#opener-origin-at-creation 36606. https://html.spec.whatwg.org/#bc-tlbc 36607. https://html.spec.whatwg.org/#opener-origin-at-creation 36608. https://html.spec.whatwg.org/#dom-document-referrer 36609. https://html.spec.whatwg.org/#dom-document-referrer 36610. https://url.spec.whatwg.org/#concept-url 36611. https://url.spec.whatwg.org/#set-the-username 36612. https://url.spec.whatwg.org/#set-the-password 36613. https://url.spec.whatwg.org/#concept-url-serializer 36614. https://url.spec.whatwg.org/#url-serializer-exclude-fragment 36615. https://html.spec.whatwg.org/#cross-origin-opener-policy 36616. https://url.spec.whatwg.org/#concept-url 36617. https://url.spec.whatwg.org/#concept-url 36618. https://html.spec.whatwg.org/#concept-origin 36619. https://fetch.spec.whatwg.org/#concept-request-referrer 36620. https://html.spec.whatwg.org/#coop-struct-report-endpoint 36621. https://html.spec.whatwg.org/#coop-struct-value 36622. https://html.spec.whatwg.org/#coop-struct-report-only-value 36623. https://url.spec.whatwg.org/#concept-url 36624. https://url.spec.whatwg.org/#concept-url-serializer 36625. https://html.spec.whatwg.org/#same-origin 36626. https://html.spec.whatwg.org/#sanitize-url-report 36627. https://w3c.github.io/reporting/#queue-report 36628. https://html.spec.whatwg.org/#coop-struct-report-endpoint 36629. https://html.spec.whatwg.org/#cross-origin-opener-policy 36630. https://url.spec.whatwg.org/#concept-url 36631. https://url.spec.whatwg.org/#concept-url 36632. https://html.spec.whatwg.org/#concept-origin 36633. https://html.spec.whatwg.org/#coop-struct-report-endpoint 36634. https://html.spec.whatwg.org/#coop-struct-value 36635. https://html.spec.whatwg.org/#coop-struct-report-only-value 36636. https://html.spec.whatwg.org/#same-origin 36637. https://html.spec.whatwg.org/#sanitize-url-report 36638. https://w3c.github.io/reporting/#queue-report 36639. https://html.spec.whatwg.org/#coop-struct-report-endpoint 36640. https://html.spec.whatwg.org/#accessor-accessed-relationship 36641. https://html.spec.whatwg.org/#cross-origin-opener-policy 36642. https://url.spec.whatwg.org/#concept-url 36643. https://html.spec.whatwg.org/#concept-origin 36644. https://html.spec.whatwg.org/#dom-document-referrer 36645. https://html.spec.whatwg.org/#environment-settings-object 36646. https://html.spec.whatwg.org/#coop-struct-report-endpoint 36647. https://html.spec.whatwg.org/#coop-struct-value 36648. https://html.spec.whatwg.org/#coop-struct-report-only-value 36649. https://html.spec.whatwg.org/#accessor-accessed-opener 36650. https://html.spec.whatwg.org/#coop-violation-access-to-opened 36651. https://html.spec.whatwg.org/#coop-violation-access-from-opener 36652. https://html.spec.whatwg.org/#accessor-accessed-openee 36653. https://html.spec.whatwg.org/#coop-violation-access-to-opener 36654. https://html.spec.whatwg.org/#coop-violation-access-from-opened 36655. https://html.spec.whatwg.org/#coop-violation-access-to-opened 36656. https://html.spec.whatwg.org/#coop-violation-access-from-other 36657. https://html.spec.whatwg.org/#cross-origin-opener-policy 36658. https://url.spec.whatwg.org/#concept-url 36659. https://html.spec.whatwg.org/#concept-origin 36660. https://fetch.spec.whatwg.org/#concept-request-referrer 36661. https://html.spec.whatwg.org/#environment-settings-object 36662. https://url.spec.whatwg.org/#concept-url 36663. https://url.spec.whatwg.org/#concept-url-serializer 36664. https://html.spec.whatwg.org/#coop-struct-report-only-value 36665. https://html.spec.whatwg.org/#same-origin 36666. https://html.spec.whatwg.org/#sanitize-url-report 36667. https://w3c.github.io/reporting/#queue-report 36668. https://html.spec.whatwg.org/#coop-struct-report-endpoint 36669. https://html.spec.whatwg.org/#cross-origin-opener-policy 36670. https://url.spec.whatwg.org/#concept-url 36671. https://html.spec.whatwg.org/#concept-origin 36672. https://html.spec.whatwg.org/#environment-settings-object 36673. https://html.spec.whatwg.org/#coop-struct-report-only-value 36674. https://html.spec.whatwg.org/#same-origin 36675. https://html.spec.whatwg.org/#sanitize-url-report 36676. https://html.spec.whatwg.org/#same-origin 36677. https://html.spec.whatwg.org/#sanitize-url-report 36678. https://w3c.github.io/reporting/#queue-report 36679. https://html.spec.whatwg.org/#coop-struct-report-endpoint 36680. https://html.spec.whatwg.org/#cross-origin-opener-policy 36681. https://url.spec.whatwg.org/#concept-url 36682. https://html.spec.whatwg.org/#concept-origin 36683. https://html.spec.whatwg.org/#environment-settings-object 36684. https://html.spec.whatwg.org/#coop-struct-report-only-value 36685. https://html.spec.whatwg.org/#same-origin 36686. https://html.spec.whatwg.org/#sanitize-url-report 36687. https://w3c.github.io/reporting/#queue-report 36688. https://html.spec.whatwg.org/#coop-struct-report-endpoint 36689. https://html.spec.whatwg.org/#cross-origin-opener-policy 36690. https://url.spec.whatwg.org/#concept-url 36691. https://html.spec.whatwg.org/#concept-origin 36692. https://fetch.spec.whatwg.org/#concept-request-referrer 36693. https://html.spec.whatwg.org/#coop-struct-report-endpoint 36694. https://url.spec.whatwg.org/#concept-url 36695. https://url.spec.whatwg.org/#concept-url-serializer 36696. https://html.spec.whatwg.org/#coop-struct-report-only-value 36697. https://html.spec.whatwg.org/#same-origin 36698. https://html.spec.whatwg.org/#sanitize-url-report 36699. https://w3c.github.io/reporting/#queue-report 36700. https://html.spec.whatwg.org/#coop-struct-report-endpoint 36701. https://html.spec.whatwg.org/#cross-origin-opener-policy 36702. https://url.spec.whatwg.org/#concept-url 36703. https://html.spec.whatwg.org/#concept-origin 36704. https://html.spec.whatwg.org/#coop-struct-report-endpoint 36705. https://html.spec.whatwg.org/#coop-struct-report-only-value 36706. https://html.spec.whatwg.org/#same-origin 36707. https://html.spec.whatwg.org/#sanitize-url-report 36708. https://html.spec.whatwg.org/#same-origin 36709. https://html.spec.whatwg.org/#sanitize-url-report 36710. https://w3c.github.io/reporting/#queue-report 36711. https://html.spec.whatwg.org/#coop-struct-report-endpoint 36712. https://html.spec.whatwg.org/#cross-origin-opener-policy 36713. https://url.spec.whatwg.org/#concept-url 36714. https://html.spec.whatwg.org/#concept-origin 36715. https://html.spec.whatwg.org/#coop-struct-report-endpoint 36716. https://html.spec.whatwg.org/#coop-struct-report-only-value 36717. https://html.spec.whatwg.org/#same-origin 36718. https://html.spec.whatwg.org/#sanitize-url-report 36719. https://w3c.github.io/reporting/#queue-report 36720. https://html.spec.whatwg.org/#coop-struct-report-endpoint 36721. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Embedder-Policy 36722. https://fetch.spec.whatwg.org/#http-cors-protocol 36723. https://fetch.spec.whatwg.org/#http-cross-origin-resource-policy 36724. https://fetch.spec.whatwg.org/#http-cors-protocol 36725. https://fetch.spec.whatwg.org/#http-cross-origin-resource-policy 36726. https://fetch.spec.whatwg.org/#http-cross-origin-resource-policy 36727. https://fetch.spec.whatwg.org/#http-cors-protocol 36728. https://fetch.spec.whatwg.org/#http-cross-origin-resource-policy 36729. https://html.spec.whatwg.org/#coep-credentialless 36730. https://wicg.github.io/private-network-access/ 36731. https://github.com/annevk/orb 36732. https://html.spec.whatwg.org/#concept-settings-object-cross-origin-isolated-capability 36733. https://html.spec.whatwg.org/#embedder-policy-value 36734. https://html.spec.whatwg.org/#coep-credentialless 36735. https://html.spec.whatwg.org/#coep-require-corp 36736. https://html.spec.whatwg.org/#embedder-policy-value 36737. https://html.spec.whatwg.org/#coep-unsafe-none 36738. https://html.spec.whatwg.org/#embedder-policy-value 36739. https://html.spec.whatwg.org/#coep-unsafe-none 36740. https://w3c.github.io/reporting/#report-type 36741. https://w3c.github.io/reporting/#visible-to-reportingobservers 36742. https://html.spec.whatwg.org/#embedder-policy 36743. https://html.spec.whatwg.org/#environment-settings-object 36744. https://httpwg.org/specs/rfc8941.html 36745. https://httpwg.org/specs/rfc8941.html#token 36746. https://html.spec.whatwg.org/#refsSTRUCTURED-FIELDS 36747. https://httpwg.org/specs/rfc8941.html#token 36748. https://html.spec.whatwg.org/#embedder-policy-value 36749. https://httpwg.org/specs/rfc8941.html#param 36750. https://url.spec.whatwg.org/#valid-url-string 36751. https://html.spec.whatwg.org/#refsREPORTING 36752. https://html.spec.whatwg.org/#obtain-an-embedder-policy 36753. https://html.spec.whatwg.org/#coep-unsafe-none 36754. https://html.spec.whatwg.org/#cross-origin-embedder-policy 36755. https://html.spec.whatwg.org/#cross-origin-embedder-policy 36756. https://html.spec.whatwg.org/#embedder-policy-value 36757. https://html.spec.whatwg.org/#coep-unsafe-none 36758. https://html.spec.whatwg.org/#coep-require-corp 36759. https://html.spec.whatwg.org/#coep-unsafe-none 36760. https://html.spec.whatwg.org/#coep-unsafe-none 36761. https://html.spec.whatwg.org/#coep-unsafe-none 36762. https://html.spec.whatwg.org/#coep-unsafe-none 36763. https://html.spec.whatwg.org/#coep-unsafe-none 36764. https://html.spec.whatwg.org/#cross-origin-embedder-policy-report-only 36765. https://fetch.spec.whatwg.org/#concept-response 36766. https://html.spec.whatwg.org/#environment 36767. https://html.spec.whatwg.org/#embedder-policy 36768. https://html.spec.whatwg.org/#non-secure-context 36769. https://fetch.spec.whatwg.org/#concept-header-list-get-structured-header 36770. https://html.spec.whatwg.org/#cross-origin-embedder-policy 36771. https://fetch.spec.whatwg.org/#concept-response-header-list 36772. https://html.spec.whatwg.org/#compatible-with-cross-origin-isolation 36773. https://html.spec.whatwg.org/#embedder-policy-value-2 36774. https://html.spec.whatwg.org/#coep-report-to 36775. https://infra.spec.whatwg.org/#map-exists 36776. https://html.spec.whatwg.org/#embedder-policy-reporting-endpoint 36777. https://html.spec.whatwg.org/#coep-report-to 36778. https://fetch.spec.whatwg.org/#concept-header-list-get-structured-header 36779. https://html.spec.whatwg.org/#cross-origin-embedder-policy-report-only 36780. https://fetch.spec.whatwg.org/#concept-response-header-list 36781. https://html.spec.whatwg.org/#compatible-with-cross-origin-isolation 36782. https://html.spec.whatwg.org/#embedder-policy-report-only-value 36783. https://html.spec.whatwg.org/#coep-report-to 36784. https://infra.spec.whatwg.org/#map-exists 36785. https://html.spec.whatwg.org/#embedder-policy-report-only-reporting-endpoint 36786. https://html.spec.whatwg.org/#coep-report-to 36787. https://fetch.spec.whatwg.org/#concept-response 36788. https://html.spec.whatwg.org/#navigable 36789. https://html.spec.whatwg.org/#embedder-policy 36790. https://html.spec.whatwg.org/#child-navigable 36791. https://html.spec.whatwg.org/#nav-container-document 36792. https://html.spec.whatwg.org/#concept-document-policy-container 36793. https://html.spec.whatwg.org/#policy-container-embedder-policy 36794. https://html.spec.whatwg.org/#embedder-policy-report-only-value 36795. https://html.spec.whatwg.org/#compatible-with-cross-origin-isolation 36796. https://html.spec.whatwg.org/#embedder-policy-value-2 36797. https://html.spec.whatwg.org/#queue-a-cross-origin-embedder-policy-inheritance-violation 36798. https://html.spec.whatwg.org/#embedder-policy-report-only-reporting-endpoint 36799. https://html.spec.whatwg.org/#nav-container-document 36800. https://html.spec.whatwg.org/#relevant-settings-object 36801. https://html.spec.whatwg.org/#embedder-policy-value-2 36802. https://html.spec.whatwg.org/#compatible-with-cross-origin-isolation 36803. https://html.spec.whatwg.org/#embedder-policy-value-2 36804. https://html.spec.whatwg.org/#compatible-with-cross-origin-isolation 36805. https://html.spec.whatwg.org/#queue-a-cross-origin-embedder-policy-inheritance-violation 36806. https://html.spec.whatwg.org/#embedder-policy-reporting-endpoint 36807. https://html.spec.whatwg.org/#nav-container-document 36808. https://html.spec.whatwg.org/#relevant-settings-object 36809. https://html.spec.whatwg.org/#workerglobalscope 36810. https://html.spec.whatwg.org/#environment-settings-object 36811. https://fetch.spec.whatwg.org/#concept-response 36812. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 36813. https://html.spec.whatwg.org/#concept-workerglobalscope-embedder-policy 36814. https://html.spec.whatwg.org/#concept-settings-object-policy-container 36815. https://html.spec.whatwg.org/#policy-container-embedder-policy 36816. https://html.spec.whatwg.org/#embedder-policy-report-only-value 36817. https://html.spec.whatwg.org/#compatible-with-cross-origin-isolation 36818. https://html.spec.whatwg.org/#embedder-policy-value-2 36819. https://html.spec.whatwg.org/#queue-a-cross-origin-embedder-policy-inheritance-violation 36820. https://html.spec.whatwg.org/#embedder-policy-report-only-reporting-endpoint 36821. https://html.spec.whatwg.org/#embedder-policy-value-2 36822. https://html.spec.whatwg.org/#compatible-with-cross-origin-isolation 36823. https://html.spec.whatwg.org/#embedder-policy-value-2 36824. https://html.spec.whatwg.org/#compatible-with-cross-origin-isolation 36825. https://html.spec.whatwg.org/#queue-a-cross-origin-embedder-policy-inheritance-violation 36826. https://html.spec.whatwg.org/#embedder-policy-reporting-endpoint 36827. https://fetch.spec.whatwg.org/#concept-response 36828. https://html.spec.whatwg.org/#environment-settings-object 36829. https://fetch.spec.whatwg.org/#serialize-a-response-url-for-reporting 36830. https://w3c.github.io/reporting/#queue-report 36831. https://html.spec.whatwg.org/#coep-report-type 36832. https://html.spec.whatwg.org/#sandboxLinks 36833. https://html.spec.whatwg.org/#auxiliary-browsing-context 36834. https://html.spec.whatwg.org/#sandboxed-auxiliary-navigation-browsing-context-flag 36835. https://html.spec.whatwg.org/#top-level-browsing-context 36836. https://html.spec.whatwg.org/#sandboxed-top-level-navigation-without-user-activation-browsing-context-flag 36837. https://html.spec.whatwg.org/#sandboxed-top-level-navigation-with-user-activation-browsing-context-flag 36838. https://html.spec.whatwg.org/#sandboxed-auxiliary-navigation-browsing-context-flag 36839. https://html.spec.whatwg.org/#top-level-browsing-context 36840. https://html.spec.whatwg.org/#browsing-context 36841. https://html.spec.whatwg.org/#browsing-context 36842. https://html.spec.whatwg.org/#sandboxed-navigation-browsing-context-flag 36843. https://html.spec.whatwg.org/#sandboxWindowOpen 36844. https://html.spec.whatwg.org/#attr-hyperlink-target 36845. https://html.spec.whatwg.org/#dom-open 36846. https://html.spec.whatwg.org/#sandboxLinks 36847. https://html.spec.whatwg.org/#sandboxClose 36848. https://html.spec.whatwg.org/#active-window 36849. https://html.spec.whatwg.org/#transient-activation 36850. https://html.spec.whatwg.org/#sandboxed-top-level-navigation-without-user-activation-browsing-context-flag 36851. https://html.spec.whatwg.org/#top-level-browsing-context 36852. https://html.spec.whatwg.org/#browsing-context 36853. https://html.spec.whatwg.org/#sandboxed-navigation-browsing-context-flag 36854. https://html.spec.whatwg.org/#sandboxed-auxiliary-navigation-browsing-context-flag 36855. https://html.spec.whatwg.org/#sandboxLinks 36856. https://html.spec.whatwg.org/#sandboxClose 36857. https://html.spec.whatwg.org/#active-window 36858. https://html.spec.whatwg.org/#transient-activation 36859. https://html.spec.whatwg.org/#sandboxed-top-level-navigation-without-user-activation-browsing-context-flag 36860. https://html.spec.whatwg.org/#top-level-browsing-context 36861. https://html.spec.whatwg.org/#browsing-context 36862. https://html.spec.whatwg.org/#sandboxOrigin 36863. https://html.spec.whatwg.org/#concept-origin 36864. https://html.spec.whatwg.org/#sandboxCookies 36865. https://html.spec.whatwg.org/#dom-localstorage 36866. https://html.spec.whatwg.org/#sandboxSubmitBlocked 36867. https://html.spec.whatwg.org/#refsPOINTERLOCK 36868. https://html.spec.whatwg.org/#sandboxScriptBlocked 36869. https://html.spec.whatwg.org/#attr-media-autoplay 36870. https://html.spec.whatwg.org/#attr-fe-autofocus 36871. https://html.spec.whatwg.org/#dom-document-domain 36872. https://html.spec.whatwg.org/#auxiliary-browsing-context 36873. https://html.spec.whatwg.org/#active-sandboxing-flag-set 36874. https://html.spec.whatwg.org/#dom-alert 36875. https://html.spec.whatwg.org/#dom-confirm 36876. https://html.spec.whatwg.org/#dom-print 36877. https://html.spec.whatwg.org/#dom-prompt 36878. https://html.spec.whatwg.org/#event-beforeunload 36879. https://html.spec.whatwg.org/#refsSCREENORIENTATION 36880. https://html.spec.whatwg.org/#refsPRESENTATION 36881. https://html.spec.whatwg.org/#downloading-hyperlinks 36882. https://html.spec.whatwg.org/#navigation-as-a-download 36883. https://html.spec.whatwg.org/#handle-as-a-download 36884. https://fetch.spec.whatwg.org/#fetch-scheme 36885. https://html.spec.whatwg.org/#hand-off-to-external-software 36886. https://html.spec.whatwg.org/#sandboxing-flag-set 36887. https://infra.spec.whatwg.org/#split-on-ascii-whitespace 36888. https://html.spec.whatwg.org/#sandboxed-navigation-browsing-context-flag 36889. https://html.spec.whatwg.org/#sandboxed-auxiliary-navigation-browsing-context-flag 36890. https://html.spec.whatwg.org/#sandboxed-top-level-navigation-without-user-activation-browsing-context-flag 36891. https://html.spec.whatwg.org/#sandboxed-top-level-navigation-with-user-activation-browsing-context-flag 36892. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation 36893. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation 36894. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation-by-user-activation 36895. https://html.spec.whatwg.org/#sandboxed-origin-browsing-context-flag 36896. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-same-origin 36897. https://html.spec.whatwg.org/#sandboxed-forms-browsing-context-flag 36898. https://html.spec.whatwg.org/#sandboxed-pointer-lock-browsing-context-flag 36899. https://html.spec.whatwg.org/#sandboxed-scripts-browsing-context-flag 36900. https://html.spec.whatwg.org/#sandboxed-automatic-features-browsing-context-flag 36901. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-scripts 36902. https://html.spec.whatwg.org/#sandboxed-document.domain-browsing-context-flag 36903. https://html.spec.whatwg.org/#sandbox-propagates-to-auxiliary-browsing-contexts-flag 36904. https://html.spec.whatwg.org/#sandboxed-modals-flag 36905. https://html.spec.whatwg.org/#sandboxed-orientation-lock-browsing-context-flag 36906. https://html.spec.whatwg.org/#sandboxed-presentation-browsing-context-flag 36907. https://html.spec.whatwg.org/#sandboxed-downloads-browsing-context-flag 36908. https://html.spec.whatwg.org/#sandboxed-custom-protocols-navigation-browsing-context-flag 36909. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-popups 36910. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation 36911. https://html.spec.whatwg.org/#top-level-browsing-context 36912. https://html.spec.whatwg.org/#sandboxing-flag-set 36913. https://html.spec.whatwg.org/#browsing-context 36914. https://html.spec.whatwg.org/#popup-sandboxing-flag-set 36915. https://html.spec.whatwg.org/#the-rules-for-choosing-a-navigable 36916. https://html.spec.whatwg.org/#obtain-browsing-context-navigation 36917. https://html.spec.whatwg.org/#the-iframe-element 36918. https://html.spec.whatwg.org/#sandboxing-flag-set 36919. https://html.spec.whatwg.org/#iframe-sandboxing-flag-set 36920. https://html.spec.whatwg.org/#the-iframe-element 36921. https://html.spec.whatwg.org/#attr-iframe-sandbox 36922. https://html.spec.whatwg.org/#document 36923. https://html.spec.whatwg.org/#sandboxing-flag-set 36924. https://html.spec.whatwg.org/#document 36925. https://html.spec.whatwg.org/#active-sandboxing-flag-set 36926. https://html.spec.whatwg.org/#navigate 36927. https://w3c.github.io/webappsec-csp/#csp-list 36928. https://html.spec.whatwg.org/#sandboxing-flag-set 36929. https://infra.spec.whatwg.org/#ordered-set 36930. https://infra.spec.whatwg.org/#list-iterate 36931. https://w3c.github.io/webappsec-csp/#policy-disposition 36932. https://infra.spec.whatwg.org/#iteration-continue 36933. https://w3c.github.io/webappsec-csp/#policy-directive-set 36934. https://infra.spec.whatwg.org/#list-contain 36935. https://w3c.github.io/webappsec-csp/#directives 36936. https://w3c.github.io/webappsec-csp/#sandbox 36937. https://infra.spec.whatwg.org/#list-append 36938. https://html.spec.whatwg.org/#sandboxing-flag-set 36939. https://infra.spec.whatwg.org/#list-size 36940. https://html.spec.whatwg.org/#parse-a-sandboxing-directive 36941. https://html.spec.whatwg.org/#concept-document-bc 36942. https://infra.spec.whatwg.org/#set-union 36943. https://html.spec.whatwg.org/#sandboxing-flag-set 36944. https://html.spec.whatwg.org/#popup-sandboxing-flag-set 36945. https://html.spec.whatwg.org/#iframe-sandboxing-flag-set 36946. https://dom.spec.whatwg.org/#concept-node-document 36947. https://html.spec.whatwg.org/#active-sandboxing-flag-set 36948. https://infra.spec.whatwg.org/#struct 36949. https://html.spec.whatwg.org/#document 36950. https://html.spec.whatwg.org/#workerglobalscope 36951. https://html.spec.whatwg.org/#workletglobalscope 36952. https://infra.spec.whatwg.org/#struct-item 36953. https://w3c.github.io/webappsec-csp/#csp-list 36954. https://html.spec.whatwg.org/#embedder-policy 36955. https://html.spec.whatwg.org/#embedder-policy 36956. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 36957. https://w3c.github.io/webappsec-referrer-policy/#default-referrer-policy 36958. https://html.spec.whatwg.org/#policy-container 36959. https://html.spec.whatwg.org/#policy-container 36960. https://infra.spec.whatwg.org/#list-iterate 36961. https://html.spec.whatwg.org/#policy-container-csp-list 36962. https://infra.spec.whatwg.org/#list-append 36963. https://html.spec.whatwg.org/#policy-container-csp-list 36964. https://html.spec.whatwg.org/#policy-container-embedder-policy 36965. https://html.spec.whatwg.org/#policy-container-embedder-policy 36966. https://html.spec.whatwg.org/#policy-container-referrer-policy 36967. https://html.spec.whatwg.org/#policy-container-referrer-policy 36968. https://url.spec.whatwg.org/#concept-url 36969. https://url.spec.whatwg.org/#concept-url-scheme 36970. https://fetch.spec.whatwg.org/#is-local 36971. https://fetch.spec.whatwg.org/#concept-response 36972. https://html.spec.whatwg.org/#environment 36973. https://fetch.spec.whatwg.org/#concept-response-url 36974. https://url.spec.whatwg.org/#concept-url-scheme 36975. https://html.spec.whatwg.org/#clone-a-policy-container 36976. https://fetch.spec.whatwg.org/#concept-response-url 36977. https://url.spec.whatwg.org/#concept-url-blob-entry 36978. https://w3c.github.io/FileAPI/#blob-url-entry-environment 36979. https://html.spec.whatwg.org/#policy-container 36980. https://html.spec.whatwg.org/#policy-container 36981. https://html.spec.whatwg.org/#policy-container-csp-list 36982. https://w3c.github.io/webappsec-csp/#parse-response-csp 36983. https://html.spec.whatwg.org/#policy-container-embedder-policy 36984. https://html.spec.whatwg.org/#obtain-an-embedder-policy 36985. https://html.spec.whatwg.org/#coep-unsafe-none 36986. https://html.spec.whatwg.org/#policy-container-referrer-policy 36987. https://w3c.github.io/webappsec-referrer-policy/#parse-referrer-policy-from-header 36988. https://html.spec.whatwg.org/#refsREFERRERPOLICY 36989. https://url.spec.whatwg.org/#concept-url 36990. https://html.spec.whatwg.org/#policy-container 36991. https://infra.spec.whatwg.org/#assert 36992. https://html.spec.whatwg.org/#requires-storing-the-policy-container-in-history 36993. https://html.spec.whatwg.org/#clone-a-policy-container 36994. https://html.spec.whatwg.org/#about:srcdoc 36995. https://infra.spec.whatwg.org/#assert 36996. https://html.spec.whatwg.org/#clone-a-policy-container 36997. https://fetch.spec.whatwg.org/#is-local 36998. https://html.spec.whatwg.org/#clone-a-policy-container 36999. https://html.spec.whatwg.org/#policy-container 37000. https://html.spec.whatwg.org/#workerglobalscope 37001. https://fetch.spec.whatwg.org/#concept-response 37002. https://html.spec.whatwg.org/#environment 37003. https://html.spec.whatwg.org/#concept-workerglobalscope-url 37004. https://fetch.spec.whatwg.org/#is-local 37005. https://url.spec.whatwg.org/#concept-url-scheme 37006. https://infra.spec.whatwg.org/#assert 37007. https://html.spec.whatwg.org/#concept-WorkerGlobalScope-owner-set 37008. https://infra.spec.whatwg.org/#list-size 37009. https://html.spec.whatwg.org/#concept-workerglobalscope-policy-container 37010. https://html.spec.whatwg.org/#clone-a-policy-container 37011. https://html.spec.whatwg.org/#concept-WorkerGlobalScope-owner-set 37012. https://html.spec.whatwg.org/#relevant-settings-object 37013. https://html.spec.whatwg.org/#concept-settings-object-policy-container 37014. https://html.spec.whatwg.org/#concept-workerglobalscope-policy-container 37015. https://html.spec.whatwg.org/#creating-a-policy-container-from-a-fetch-response 37016. https://html.spec.whatwg.org/#window 37017. https://html.spec.whatwg.org/#windowproxy 37018. https://html.spec.whatwg.org/#location 37019. https://html.spec.whatwg.org/#concept-origin 37020. https://html.spec.whatwg.org/#refsJAVASCRIPT 37021. https://webidl.spec.whatwg.org/#dfn-perform-a-security-check 37022. https://html.spec.whatwg.org/#window 37023. https://html.spec.whatwg.org/#location 37024. https://html.spec.whatwg.org/#crossoriginproperties-(-o-) 37025. https://tc39.es/ecma262/#sec-samevalue 37026. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 37027. https://webidl.spec.whatwg.org/#securityerror 37028. https://webidl.spec.whatwg.org/#dfn-DOMException 37029. https://html.spec.whatwg.org/#window 37030. https://html.spec.whatwg.org/#location 37031. https://html.spec.whatwg.org/#crossoriginpropertydescriptormap 37032. https://html.spec.whatwg.org/#window 37033. https://html.spec.whatwg.org/#location 37034. https://html.spec.whatwg.org/#crossorigingetownpropertyhelper-(-o,-p-) 37035. https://html.spec.whatwg.org/#dom-document-domain 37036. https://html.spec.whatwg.org/#dom-document-domain 37037. https://html.spec.whatwg.org/#dom-document-domain 37038. https://html.spec.whatwg.org/#concept-origin 37039. https://infra.spec.whatwg.org/#assert 37040. https://html.spec.whatwg.org/#location 37041. https://html.spec.whatwg.org/#window 37042. https://html.spec.whatwg.org/#location 37043. https://tc39.es/ecma262/#sec-completion-record-specification-type 37044. https://html.spec.whatwg.org/#windowproxy 37045. https://webidl.spec.whatwg.org/#dfn-array-index-property-name 37046. https://html.spec.whatwg.org/#symbol.tostringtag 37047. https://html.spec.whatwg.org/#symbol.hasinstance 37048. https://html.spec.whatwg.org/#symbol.isconcatspreadable 37049. https://tc39.es/ecma262/#sec-property-descriptor-specification-type 37050. https://webidl.spec.whatwg.org/#securityerror 37051. https://webidl.spec.whatwg.org/#dfn-DOMException 37052. https://html.spec.whatwg.org/#current-settings-object 37053. https://html.spec.whatwg.org/#concept-settings-object-origin 37054. https://html.spec.whatwg.org/#same-origin-domain 37055. https://html.spec.whatwg.org/#relevant-settings-object 37056. https://html.spec.whatwg.org/#concept-settings-object-origin 37057. https://tc39.es/ecma262/#sec-completion-record-specification-type 37058. https://html.spec.whatwg.org/#current-settings-object 37059. https://tc39.es/ecma262/#sec-execution-contexts 37060. https://tc39.es/ecma262/#execution-context-stack 37061. https://html.spec.whatwg.org/#dom-document-2 37062. https://html.spec.whatwg.org/#windowproxy-get 37063. https://html.spec.whatwg.org/#windowproxy 37064. https://webidl.spec.whatwg.org/#securityerror 37065. https://webidl.spec.whatwg.org/#dfn-DOMException 37066. https://html.spec.whatwg.org/#crossoriginpropertyfallback-(-p-) 37067. https://html.spec.whatwg.org/#current-settings-object 37068. https://html.spec.whatwg.org/#relevant-settings-object 37069. https://html.spec.whatwg.org/#crossoriginproperties-(-o-) 37070. https://tc39.es/ecma262/#sec-samevalue 37071. https://html.spec.whatwg.org/#crossoriginpropertydescriptormap 37072. https://tc39.es/ecma262/#sec-ordinarygetownproperty 37073. https://tc39.es/ecma262/#sec-iscallable 37074. https://tc39.es/ecma262/#current-realm 37075. https://tc39.es/ecma262/#sec-property-descriptor-specification-type 37076. https://tc39.es/ecma262/#current-realm 37077. https://tc39.es/ecma262/#current-realm 37078. https://tc39.es/ecma262/#sec-property-descriptor-specification-type 37079. https://html.spec.whatwg.org/#crossoriginpropertydescriptormap 37080. https://tc39.es/ecma262/#sec-completion-record-specification-type 37081. https://tc39.es/ecma262/#sec-invariants-of-the-essential-internal-methods 37082. https://github.com/tc39/ecma262/issues/672 37083. https://html.spec.whatwg.org/#refsJAVASCRIPT 37084. https://github.com/whatwg/html/issues/3183 37085. https://infra.spec.whatwg.org/#assert 37086. https://tc39.es/ecma262/#sec-isdatadescriptor 37087. https://infra.spec.whatwg.org/#assert 37088. https://tc39.es/ecma262/#sec-isaccessordescriptor 37089. https://webidl.spec.whatwg.org/#securityerror 37090. https://webidl.spec.whatwg.org/#dfn-DOMException 37091. https://tc39.es/ecma262/#sec-call 37092. https://infra.spec.whatwg.org/#assert 37093. https://tc39.es/ecma262/#sec-call 37094. https://webidl.spec.whatwg.org/#securityerror 37095. https://webidl.spec.whatwg.org/#dfn-DOMException 37096. https://tc39.es/ecma262/#sec-list-and-record-specification-type 37097. https://html.spec.whatwg.org/#crossoriginproperties-(-o-) 37098. https://infra.spec.whatwg.org/#list-append 37099. https://html.spec.whatwg.org/#symbol.tostringtag 37100. https://html.spec.whatwg.org/#symbol.hasinstance 37101. https://html.spec.whatwg.org/#symbol.isconcatspreadable 37102. https://tc39.es/ecma262/#sec-completion-record-specification-type 37103. https://html.spec.whatwg.org/#window 37104. https://developer.mozilla.org/en-US/docs/Web/API/Window 37105. https://webidl.spec.whatwg.org/#LegacyUnenumerableNamedProperties 37106. https://dom.spec.whatwg.org/#interface-eventtarget 37107. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37108. https://html.spec.whatwg.org/#windowproxy 37109. https://html.spec.whatwg.org/#dom-window 37110. https://html.spec.whatwg.org/#windowproxy 37111. https://html.spec.whatwg.org/#dom-self 37112. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37113. https://html.spec.whatwg.org/#document 37114. https://html.spec.whatwg.org/#dom-document-2 37115. https://html.spec.whatwg.org/#dom-name 37116. https://html.spec.whatwg.org/#dom-location-href 37117. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37118. https://html.spec.whatwg.org/#location 37119. https://html.spec.whatwg.org/#dom-location 37120. https://html.spec.whatwg.org/#history-3 37121. https://html.spec.whatwg.org/#dom-history 37122. https://html.spec.whatwg.org/#navigation 37123. https://html.spec.whatwg.org/#dom-navigation 37124. https://html.spec.whatwg.org/#customelementregistry 37125. https://html.spec.whatwg.org/#dom-window-customelements 37126. https://html.spec.whatwg.org/#barprop 37127. https://html.spec.whatwg.org/#dom-window-locationbar 37128. https://html.spec.whatwg.org/#barprop 37129. https://html.spec.whatwg.org/#dom-window-menubar 37130. https://html.spec.whatwg.org/#barprop 37131. https://html.spec.whatwg.org/#dom-window-personalbar 37132. https://html.spec.whatwg.org/#barprop 37133. https://html.spec.whatwg.org/#dom-window-scrollbars 37134. https://html.spec.whatwg.org/#barprop 37135. https://html.spec.whatwg.org/#dom-window-statusbar 37136. https://html.spec.whatwg.org/#barprop 37137. https://html.spec.whatwg.org/#dom-window-toolbar 37138. https://html.spec.whatwg.org/#dom-window-status 37139. https://html.spec.whatwg.org/#dom-window-close 37140. https://html.spec.whatwg.org/#dom-window-closed 37141. https://html.spec.whatwg.org/#dom-window-stop 37142. https://html.spec.whatwg.org/#dom-window-focus 37143. https://html.spec.whatwg.org/#dom-window-blur 37144. https://html.spec.whatwg.org/#windowproxy 37145. https://html.spec.whatwg.org/#dom-frames 37146. https://html.spec.whatwg.org/#dom-length 37147. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37148. https://html.spec.whatwg.org/#windowproxy 37149. https://html.spec.whatwg.org/#dom-top 37150. https://html.spec.whatwg.org/#dom-opener 37151. https://html.spec.whatwg.org/#windowproxy 37152. https://html.spec.whatwg.org/#dom-parent 37153. https://dom.spec.whatwg.org/#interface-element 37154. https://html.spec.whatwg.org/#dom-frameelement 37155. https://html.spec.whatwg.org/#windowproxy 37156. https://html.spec.whatwg.org/#dom-open 37157. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 37158. https://html.spec.whatwg.org/#windowproxy 37159. https://html.spec.whatwg.org/#dom-window-nameditem 37160. https://webidl.spec.whatwg.org/#idl-object 37161. https://html.spec.whatwg.org/#navigator 37162. https://html.spec.whatwg.org/#dom-navigator 37163. https://html.spec.whatwg.org/#navigator 37164. https://html.spec.whatwg.org/#dom-clientinformation 37165. https://html.spec.whatwg.org/#dom-originagentcluster 37166. https://html.spec.whatwg.org/#dom-alert-noargs 37167. https://html.spec.whatwg.org/#dom-alert 37168. https://html.spec.whatwg.org/#dom-confirm 37169. https://html.spec.whatwg.org/#dom-prompt 37170. https://html.spec.whatwg.org/#dom-print 37171. https://html.spec.whatwg.org/#dom-window-postmessage 37172. https://webidl.spec.whatwg.org/#idl-object 37173. https://html.spec.whatwg.org/#dom-window-postmessage-options 37174. https://html.spec.whatwg.org/#windowpostmessageoptions 37175. https://html.spec.whatwg.org/#Window-partial 37176. https://html.spec.whatwg.org/#window 37177. https://html.spec.whatwg.org/#globaleventhandlers 37178. https://html.spec.whatwg.org/#window 37179. https://html.spec.whatwg.org/#windoweventhandlers 37180. https://html.spec.whatwg.org/#structuredserializeoptions 37181. https://html.spec.whatwg.org/#dom-window 37182. https://developer.mozilla.org/en-US/docs/Web/API/Window/window 37183. https://html.spec.whatwg.org/#dom-frames 37184. https://developer.mozilla.org/en-US/docs/Web/API/Window/frames 37185. https://html.spec.whatwg.org/#dom-self 37186. https://developer.mozilla.org/en-US/docs/Web/API/Window/self 37187. https://html.spec.whatwg.org/#dom-document-2 37188. https://developer.mozilla.org/en-US/docs/Web/API/Window/document 37189. https://html.spec.whatwg.org/#document 37190. https://html.spec.whatwg.org/#dom-document-defaultview 37191. https://developer.mozilla.org/en-US/docs/Web/API/Document/defaultView 37192. https://html.spec.whatwg.org/#window 37193. https://html.spec.whatwg.org/#window 37194. https://html.spec.whatwg.org/#document 37195. https://html.spec.whatwg.org/#window 37196. https://html.spec.whatwg.org/#navigate 37197. https://html.spec.whatwg.org/#is-initial-about:blank 37198. https://html.spec.whatwg.org/#document 37199. https://html.spec.whatwg.org/#window 37200. https://html.spec.whatwg.org/#concept-document-window 37201. https://html.spec.whatwg.org/#concept-document-bc 37202. https://html.spec.whatwg.org/#browsing-context 37203. https://html.spec.whatwg.org/#window 37204. https://html.spec.whatwg.org/#navigable 37205. https://html.spec.whatwg.org/#nav-document 37206. https://html.spec.whatwg.org/#window 37207. https://html.spec.whatwg.org/#concept-document-window 37208. https://html.spec.whatwg.org/#navigable 37209. https://webidl.spec.whatwg.org/#this 37210. https://html.spec.whatwg.org/#concept-relevant-realm 37211. https://webidl.spec.whatwg.org/#this 37212. https://html.spec.whatwg.org/#concept-document-window 37213. https://html.spec.whatwg.org/#document 37214. https://html.spec.whatwg.org/#window 37215. https://html.spec.whatwg.org/#navigate 37216. https://html.spec.whatwg.org/#initialise-the-document-object 37217. https://html.spec.whatwg.org/#browsing-context 37218. https://html.spec.whatwg.org/#window 37219. https://html.spec.whatwg.org/#is-initial-about:blank 37220. https://html.spec.whatwg.org/#document 37221. https://webidl.spec.whatwg.org/#this 37222. https://html.spec.whatwg.org/#concept-document-bc 37223. https://webidl.spec.whatwg.org/#this 37224. https://html.spec.whatwg.org/#concept-document-bc 37225. https://html.spec.whatwg.org/#windowproxy 37226. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDocument 37227. https://html.spec.whatwg.org/#window 37228. https://html.spec.whatwg.org/#document 37229. https://webidl.spec.whatwg.org/#dfn-interface-object 37230. https://html.spec.whatwg.org/#dom-open 37231. https://developer.mozilla.org/en-US/docs/Web/API/Window/open 37232. https://html.spec.whatwg.org/#about:blank 37233. https://html.spec.whatwg.org/#set-of-comma-separated-tokens 37234. https://html.spec.whatwg.org/#link-type-noopener 37235. https://html.spec.whatwg.org/#link-type-noreferrer 37236. https://html.spec.whatwg.org/#hyperlink 37237. https://html.spec.whatwg.org/#dom-barprop-visible 37238. https://html.spec.whatwg.org/#barprop 37239. https://html.spec.whatwg.org/#dom-name 37240. https://developer.mozilla.org/en-US/docs/Web/API/Window/name 37241. https://html.spec.whatwg.org/#dom-window-close 37242. https://developer.mozilla.org/en-US/docs/Web/API/Window/close 37243. https://html.spec.whatwg.org/#dom-window-closed 37244. https://developer.mozilla.org/en-US/docs/Web/API/Window/closed 37245. https://html.spec.whatwg.org/#dom-window-stop 37246. https://developer.mozilla.org/en-US/docs/Web/API/Window/stop 37247. https://html.spec.whatwg.org/#document 37248. https://infra.spec.whatwg.org/#ordered-map 37249. https://url.spec.whatwg.org/#concept-url 37250. https://url.spec.whatwg.org/#concept-url-blob-entry 37251. https://url.spec.whatwg.org/#concept-url-blob-entry 37252. https://w3c.github.io/FileAPI/#blob-url-entry-environment 37253. https://html.spec.whatwg.org/#concept-settings-object-origin 37254. https://html.spec.whatwg.org/#relevant-settings-object 37255. https://html.spec.whatwg.org/#concept-environment-top-level-origin 37256. https://html.spec.whatwg.org/#same-site 37257. https://infra.spec.whatwg.org/#map-exists 37258. https://html.spec.whatwg.org/#concept-window-open-features-parse-boolean 37259. https://html.spec.whatwg.org/#event-loop 37260. https://html.spec.whatwg.org/#termination-nesting-level 37261. https://html.spec.whatwg.org/#entry-global-object 37262. https://html.spec.whatwg.org/#concept-document-window 37263. https://html.spec.whatwg.org/#encoding-parsing-a-url 37264. https://webidl.spec.whatwg.org/#syntaxerror 37265. https://webidl.spec.whatwg.org/#dfn-DOMException 37266. https://html.spec.whatwg.org/#concept-window-open-features-tokenize 37267. https://infra.spec.whatwg.org/#map-exists 37268. https://html.spec.whatwg.org/#concept-window-open-features-parse-boolean 37269. https://html.spec.whatwg.org/#get-noopener-for-window-open 37270. https://infra.spec.whatwg.org/#map-remove 37271. https://html.spec.whatwg.org/#the-rules-for-choosing-a-navigable 37272. https://html.spec.whatwg.org/#node-navigable 37273. https://html.spec.whatwg.org/#handler-onclick 37274. https://html.spec.whatwg.org/#dom-open 37275. https://html.spec.whatwg.org/#the-iframe-element 37276. https://html.spec.whatwg.org/#nav-bc 37277. https://html.spec.whatwg.org/#is-popup 37278. https://html.spec.whatwg.org/#popup-window-is-requested 37279. https://drafts.csswg.org/cssom-view/#set-up-browsing-context-features 37280. https://html.spec.whatwg.org/#nav-bc 37281. https://html.spec.whatwg.org/#refsCSSOMVIEW 37282. https://url.spec.whatwg.org/#concept-url 37283. https://html.spec.whatwg.org/#about:blank 37284. https://html.spec.whatwg.org/#matches-about:blank 37285. https://html.spec.whatwg.org/#url-and-history-update-steps 37286. https://html.spec.whatwg.org/#nav-document 37287. https://html.spec.whatwg.org/#navigate 37288. https://html.spec.whatwg.org/#navigation-referrer-policy 37289. https://html.spec.whatwg.org/#exceptions-enabled 37290. https://html.spec.whatwg.org/#navigate 37291. https://html.spec.whatwg.org/#navigation-referrer-policy 37292. https://html.spec.whatwg.org/#exceptions-enabled 37293. https://html.spec.whatwg.org/#nav-bc 37294. https://html.spec.whatwg.org/#opener-browsing-context 37295. https://html.spec.whatwg.org/#concept-document-bc 37296. https://html.spec.whatwg.org/#nav-wp 37297. https://html.spec.whatwg.org/#window-open-steps 37298. https://html.spec.whatwg.org/#navigate 37299. https://html.spec.whatwg.org/#browsing-context 37300. https://html.spec.whatwg.org/#auxiliary-browsing-context 37301. https://infra.spec.whatwg.org/#ordered-map 37302. https://infra.spec.whatwg.org/#iteration-while 37303. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 37304. https://html.spec.whatwg.org/#feature-separator 37305. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 37306. https://html.spec.whatwg.org/#feature-separator 37307. https://infra.spec.whatwg.org/#ascii-lowercase 37308. https://html.spec.whatwg.org/#normalizing-the-feature-name 37309. https://infra.spec.whatwg.org/#iteration-while 37310. https://html.spec.whatwg.org/#feature-separator 37311. https://infra.spec.whatwg.org/#iteration-break 37312. https://html.spec.whatwg.org/#feature-separator 37313. https://html.spec.whatwg.org/#feature-separator 37314. https://infra.spec.whatwg.org/#iteration-break 37315. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 37316. https://html.spec.whatwg.org/#feature-separator 37317. https://infra.spec.whatwg.org/#ascii-lowercase 37318. https://infra.spec.whatwg.org/#map-exists 37319. https://html.spec.whatwg.org/#concept-window-open-features-parse-boolean 37320. https://infra.spec.whatwg.org/#map-is-empty 37321. https://infra.spec.whatwg.org/#map-exists 37322. https://html.spec.whatwg.org/#concept-window-open-features-parse-boolean 37323. https://html.spec.whatwg.org/#window-feature-is-set 37324. https://html.spec.whatwg.org/#window-feature-is-set 37325. https://html.spec.whatwg.org/#window-feature-is-set 37326. https://html.spec.whatwg.org/#window-feature-is-set 37327. https://html.spec.whatwg.org/#window-feature-is-set 37328. https://html.spec.whatwg.org/#window-feature-is-set 37329. https://infra.spec.whatwg.org/#ascii-whitespace 37330. https://infra.spec.whatwg.org/#string-is 37331. https://infra.spec.whatwg.org/#string-is 37332. https://html.spec.whatwg.org/#rules-for-parsing-integers 37333. https://webidl.spec.whatwg.org/#this 37334. https://html.spec.whatwg.org/#window-navigable 37335. https://webidl.spec.whatwg.org/#this 37336. https://html.spec.whatwg.org/#window-navigable 37337. https://html.spec.whatwg.org/#nav-target 37338. https://html.spec.whatwg.org/#dom-name 37339. https://webidl.spec.whatwg.org/#this 37340. https://html.spec.whatwg.org/#window-navigable 37341. https://webidl.spec.whatwg.org/#this 37342. https://html.spec.whatwg.org/#window-navigable 37343. https://html.spec.whatwg.org/#nav-active-history-entry 37344. https://html.spec.whatwg.org/#she-document-state 37345. https://html.spec.whatwg.org/#document-state-nav-target-name 37346. https://html.spec.whatwg.org/#resetBCName 37347. https://html.spec.whatwg.org/#navigate 37348. https://html.spec.whatwg.org/#concept-origin 37349. https://webidl.spec.whatwg.org/#this 37350. https://html.spec.whatwg.org/#window-navigable 37351. https://html.spec.whatwg.org/#top-level-traversable 37352. https://html.spec.whatwg.org/#is-closing 37353. https://html.spec.whatwg.org/#nav-bc 37354. https://html.spec.whatwg.org/#snapshotting-source-snapshot-params 37355. https://html.spec.whatwg.org/#nav-document 37356. https://html.spec.whatwg.org/#script-closable 37357. https://html.spec.whatwg.org/#concept-incumbent-global 37358. https://html.spec.whatwg.org/#window-bc 37359. https://html.spec.whatwg.org/#familiar-with 37360. https://html.spec.whatwg.org/#concept-incumbent-global 37361. https://html.spec.whatwg.org/#window-navigable 37362. https://html.spec.whatwg.org/#allowed-to-navigate 37363. https://html.spec.whatwg.org/#is-closing 37364. https://html.spec.whatwg.org/#queue-a-task 37365. https://html.spec.whatwg.org/#dom-manipulation-task-source 37366. https://html.spec.whatwg.org/#definitely-close-a-top-level-traversable 37367. https://html.spec.whatwg.org/#navigable 37368. https://html.spec.whatwg.org/#top-level-traversable 37369. https://html.spec.whatwg.org/#is-created-by-web-content 37370. https://html.spec.whatwg.org/#tn-session-history-entries 37371. https://infra.spec.whatwg.org/#list-size 37372. https://webidl.spec.whatwg.org/#this 37373. https://html.spec.whatwg.org/#window-bc 37374. https://html.spec.whatwg.org/#is-closing 37375. https://webidl.spec.whatwg.org/#this 37376. https://html.spec.whatwg.org/#window-navigable 37377. https://html.spec.whatwg.org/#nav-stop 37378. https://webidl.spec.whatwg.org/#this 37379. https://html.spec.whatwg.org/#window-navigable 37380. https://html.spec.whatwg.org/#window 37381. https://html.spec.whatwg.org/#dom-length 37382. https://developer.mozilla.org/en-US/docs/Web/API/Window/length 37383. https://html.spec.whatwg.org/#document-tree-child-navigables 37384. https://html.spec.whatwg.org/#windowproxy 37385. https://html.spec.whatwg.org/#document-tree-child-navigables 37386. https://webidl.spec.whatwg.org/#this 37387. https://html.spec.whatwg.org/#concept-document-window 37388. https://html.spec.whatwg.org/#document-tree-child-navigables 37389. https://infra.spec.whatwg.org/#list-size 37390. https://html.spec.whatwg.org/#document-tree-child-navigables 37391. https://html.spec.whatwg.org/#windowproxy-getownproperty 37392. https://html.spec.whatwg.org/#windowproxy 37393. https://html.spec.whatwg.org/#window 37394. https://html.spec.whatwg.org/#window 37395. https://html.spec.whatwg.org/#document-tree-child-navigables 37396. https://html.spec.whatwg.org/#concept-document-window 37397. https://infra.spec.whatwg.org/#ordered-set 37398. https://infra.spec.whatwg.org/#list-iterate 37399. https://html.spec.whatwg.org/#nav-target 37400. https://infra.spec.whatwg.org/#iteration-continue 37401. https://infra.spec.whatwg.org/#list-contain 37402. https://html.spec.whatwg.org/#navigable 37403. https://html.spec.whatwg.org/#nav-target 37404. https://infra.spec.whatwg.org/#iteration-continue 37405. https://infra.spec.whatwg.org/#list-append 37406. https://infra.spec.whatwg.org/#ordered-set 37407. https://infra.spec.whatwg.org/#list-iterate 37408. https://html.spec.whatwg.org/#nav-target 37409. https://html.spec.whatwg.org/#nav-document 37410. https://dom.spec.whatwg.org/#concept-document-origin 37411. https://html.spec.whatwg.org/#same-origin 37412. https://html.spec.whatwg.org/#relevant-settings-object 37413. https://html.spec.whatwg.org/#concept-settings-object-origin 37414. https://infra.spec.whatwg.org/#list-append 37415. https://html.spec.whatwg.org/#dom-name 37416. https://html.spec.whatwg.org/#window 37417. https://webidl.spec.whatwg.org/#dfn-support-named-properties 37418. https://webidl.spec.whatwg.org/#dfn-supported-property-names 37419. https://html.spec.whatwg.org/#window 37420. https://dom.spec.whatwg.org/#concept-tree-order 37421. https://html.spec.whatwg.org/#document-tree-child-navigable-target-name-property-set 37422. https://html.spec.whatwg.org/#the-embed-element 37423. https://html.spec.whatwg.org/#the-form-element 37424. https://html.spec.whatwg.org/#the-img-element 37425. https://html.spec.whatwg.org/#the-object-element 37426. https://dom.spec.whatwg.org/#in-a-document-tree 37427. https://html.spec.whatwg.org/#concept-document-window 37428. https://dom.spec.whatwg.org/#concept-tree-root 37429. https://html.spec.whatwg.org/#the-id-attribute 37430. https://html.spec.whatwg.org/#html-elements 37431. https://html.spec.whatwg.org/#the-id-attribute 37432. https://dom.spec.whatwg.org/#in-a-document-tree 37433. https://html.spec.whatwg.org/#concept-document-window 37434. https://dom.spec.whatwg.org/#concept-tree-root 37435. https://webidl.spec.whatwg.org/#dfn-determine-the-value-of-a-named-property 37436. https://html.spec.whatwg.org/#window 37437. https://html.spec.whatwg.org/#dom-window-nameditem-filter 37438. https://webidl.spec.whatwg.org/#named-properties-object-getownproperty 37439. https://html.spec.whatwg.org/#navigable 37440. https://html.spec.whatwg.org/#navigable-container 37441. https://html.spec.whatwg.org/#concept-document-window 37442. https://dom.spec.whatwg.org/#concept-tree-descendant 37443. https://html.spec.whatwg.org/#content-navigable 37444. https://html.spec.whatwg.org/#content-navigable 37445. https://html.spec.whatwg.org/#nav-wp 37446. https://dom.spec.whatwg.org/#interface-htmlcollection 37447. https://html.spec.whatwg.org/#concept-document-window 37448. https://html.spec.whatwg.org/#dom-window-nameditem-filter 37449. https://html.spec.whatwg.org/#window 37450. https://html.spec.whatwg.org/#document-tree-child-navigables 37451. https://html.spec.whatwg.org/#concept-document-window 37452. https://html.spec.whatwg.org/#nav-target 37453. https://html.spec.whatwg.org/#the-embed-element 37454. https://html.spec.whatwg.org/#the-form-element 37455. https://html.spec.whatwg.org/#the-img-element 37456. https://html.spec.whatwg.org/#the-object-element 37457. https://dom.spec.whatwg.org/#in-a-document-tree 37458. https://html.spec.whatwg.org/#concept-document-window 37459. https://dom.spec.whatwg.org/#concept-tree-root 37460. https://html.spec.whatwg.org/#html-elements 37461. https://html.spec.whatwg.org/#the-id-attribute 37462. https://dom.spec.whatwg.org/#in-a-document-tree 37463. https://html.spec.whatwg.org/#concept-document-window 37464. https://dom.spec.whatwg.org/#concept-tree-root 37465. https://html.spec.whatwg.org/#window 37466. https://webidl.spec.whatwg.org/#Global 37467. https://webidl.spec.whatwg.org/#dfn-named-properties-object 37468. https://webidl.spec.whatwg.org/#dfn-legacy-platform-object 37469. https://html.spec.whatwg.org/#dom-top 37470. https://developer.mozilla.org/en-US/docs/Web/API/Window/top 37471. https://html.spec.whatwg.org/#windowproxy 37472. https://html.spec.whatwg.org/#top-level-traversable 37473. https://html.spec.whatwg.org/#dom-opener 37474. https://developer.mozilla.org/en-US/docs/Web/API/Window/opener 37475. https://html.spec.whatwg.org/#windowproxy 37476. https://html.spec.whatwg.org/#opener-browsing-context 37477. https://html.spec.whatwg.org/#dom-parent 37478. https://developer.mozilla.org/en-US/docs/Web/API/Window/parent 37479. https://html.spec.whatwg.org/#windowproxy 37480. https://html.spec.whatwg.org/#nav-parent 37481. https://html.spec.whatwg.org/#dom-frameelement 37482. https://developer.mozilla.org/en-US/docs/Web/API/Window/frameElement 37483. https://html.spec.whatwg.org/#navigable-container 37484. https://webidl.spec.whatwg.org/#this 37485. https://html.spec.whatwg.org/#window-navigable 37486. https://webidl.spec.whatwg.org/#this 37487. https://html.spec.whatwg.org/#window-navigable 37488. https://html.spec.whatwg.org/#nav-top 37489. https://html.spec.whatwg.org/#nav-wp 37490. https://webidl.spec.whatwg.org/#this 37491. https://html.spec.whatwg.org/#window-bc 37492. https://html.spec.whatwg.org/#opener-browsing-context 37493. https://html.spec.whatwg.org/#opener-browsing-context 37494. https://html.spec.whatwg.org/#windowproxy 37495. https://html.spec.whatwg.org/#dom-opener 37496. https://webidl.spec.whatwg.org/#this 37497. https://html.spec.whatwg.org/#window-bc 37498. https://webidl.spec.whatwg.org/#this 37499. https://html.spec.whatwg.org/#window-bc 37500. https://html.spec.whatwg.org/#opener-browsing-context 37501. https://tc39.es/ecma262/#sec-definepropertyorthrow 37502. https://webidl.spec.whatwg.org/#this 37503. https://html.spec.whatwg.org/#dom-opener 37504. https://html.spec.whatwg.org/#opener-browsing-context 37505. https://html.spec.whatwg.org/#opener-browsing-context 37506. https://html.spec.whatwg.org/#window 37507. https://html.spec.whatwg.org/#opener-browsing-context 37508. https://html.spec.whatwg.org/#window 37509. https://html.spec.whatwg.org/#dom-opener 37510. https://html.spec.whatwg.org/#opener-browsing-context 37511. https://webidl.spec.whatwg.org/#this 37512. https://html.spec.whatwg.org/#window-navigable 37513. https://html.spec.whatwg.org/#nav-parent 37514. https://html.spec.whatwg.org/#nav-parent 37515. https://html.spec.whatwg.org/#nav-wp 37516. https://webidl.spec.whatwg.org/#this 37517. https://html.spec.whatwg.org/#node-navigable 37518. https://html.spec.whatwg.org/#nav-container 37519. https://dom.spec.whatwg.org/#concept-node-document 37520. https://dom.spec.whatwg.org/#concept-document-origin 37521. https://html.spec.whatwg.org/#same-origin-domain 37522. https://html.spec.whatwg.org/#current-settings-object 37523. https://html.spec.whatwg.org/#concept-settings-object-origin 37524. https://html.spec.whatwg.org/#browsing-context 37525. https://html.spec.whatwg.org/#destroy-a-document 37526. https://html.spec.whatwg.org/#window 37527. https://html.spec.whatwg.org/#window 37528. https://html.spec.whatwg.org/#window-bc 37529. https://html.spec.whatwg.org/#is-popup 37530. https://html.spec.whatwg.org/#barprop 37531. https://developer.mozilla.org/en-US/docs/Web/API/BarProp 37532. https://html.spec.whatwg.org/#dom-barprop-visible 37533. https://html.spec.whatwg.org/#dom-window-locationbar 37534. https://html.spec.whatwg.org/#dom-barprop-visible 37535. https://developer.mozilla.org/en-US/docs/Web/API/Window/locationbar 37536. https://html.spec.whatwg.org/#dom-window-menubar 37537. https://html.spec.whatwg.org/#dom-barprop-visible 37538. https://developer.mozilla.org/en-US/docs/Web/API/Window/menubar 37539. https://html.spec.whatwg.org/#dom-window-personalbar 37540. https://html.spec.whatwg.org/#dom-barprop-visible 37541. https://developer.mozilla.org/en-US/docs/Web/API/Window/personalbar 37542. https://html.spec.whatwg.org/#dom-window-scrollbars 37543. https://html.spec.whatwg.org/#dom-barprop-visible 37544. https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollbars 37545. https://html.spec.whatwg.org/#dom-window-statusbar 37546. https://html.spec.whatwg.org/#dom-barprop-visible 37547. https://developer.mozilla.org/en-US/docs/Web/API/Window/statusbar 37548. https://html.spec.whatwg.org/#dom-window-toolbar 37549. https://html.spec.whatwg.org/#dom-barprop-visible 37550. https://developer.mozilla.org/en-US/docs/Web/API/Window/toolbar 37551. https://html.spec.whatwg.org/#window 37552. https://developer.mozilla.org/en-US/docs/Web/API/BarProp/visible 37553. https://webidl.spec.whatwg.org/#this 37554. https://html.spec.whatwg.org/#concept-relevant-global 37555. https://html.spec.whatwg.org/#window-bc 37556. https://html.spec.whatwg.org/#bc-tlbc 37557. https://html.spec.whatwg.org/#is-popup 37558. https://html.spec.whatwg.org/#barprop 37559. https://html.spec.whatwg.org/#window 37560. https://html.spec.whatwg.org/#apply-the-traverse-history-step 37561. https://html.spec.whatwg.org/#the-location-bar-barprop-object 37562. https://html.spec.whatwg.org/#the-menu-bar-barprop-object 37563. https://html.spec.whatwg.org/#the-personal-bar-barprop-object 37564. https://html.spec.whatwg.org/#the-scrollbar-barprop-object 37565. https://html.spec.whatwg.org/#the-status-bar-barprop-object 37566. https://html.spec.whatwg.org/#the-toolbar-barprop-object 37567. https://html.spec.whatwg.org/#window 37568. https://html.spec.whatwg.org/#window 37569. https://html.spec.whatwg.org/#window 37570. https://url.spec.whatwg.org/#concept-url 37571. https://tc39.es/ecma262/#sec-execution-contexts 37572. https://html.spec.whatwg.org/#environment 37573. https://url.spec.whatwg.org/#concept-url 37574. https://html.spec.whatwg.org/#concept-origin 37575. https://html.spec.whatwg.org/#concept-realm-global 37576. https://html.spec.whatwg.org/#environment-settings-object 37577. https://html.spec.whatwg.org/#realm-execution-context 37578. https://html.spec.whatwg.org/#concept-settings-object-module-map 37579. https://html.spec.whatwg.org/#concept-document-module-map 37580. https://html.spec.whatwg.org/#concept-document-window 37581. https://html.spec.whatwg.org/#api-base-url 37582. https://html.spec.whatwg.org/#document-base-url 37583. https://html.spec.whatwg.org/#concept-document-window 37584. https://html.spec.whatwg.org/#concept-settings-object-origin 37585. https://dom.spec.whatwg.org/#concept-document-origin 37586. https://html.spec.whatwg.org/#concept-document-window 37587. https://html.spec.whatwg.org/#concept-settings-object-policy-container 37588. https://html.spec.whatwg.org/#concept-document-policy-container 37589. https://html.spec.whatwg.org/#concept-document-window 37590. https://html.spec.whatwg.org/#concept-settings-object-cross-origin-isolated-capability 37591. https://tc39.es/ecma262/#sec-agent-clusters 37592. https://html.spec.whatwg.org/#agent-cluster-cross-origin-isolation 37593. https://html.spec.whatwg.org/#cross-origin-isolation-concrete 37594. https://html.spec.whatwg.org/#concept-document-window 37595. https://html.spec.whatwg.org/#allowed-to-use 37596. https://html.spec.whatwg.org/#cross-origin-isolated-feature 37597. https://html.spec.whatwg.org/#concept-settings-object-time-origin 37598. https://html.spec.whatwg.org/#concept-document-window 37599. https://html.spec.whatwg.org/#load-timing-info 37600. https://html.spec.whatwg.org/#navigation-start-time 37601. https://html.spec.whatwg.org/#concept-environment-id 37602. https://html.spec.whatwg.org/#concept-environment-id 37603. https://html.spec.whatwg.org/#concept-environment-target-browsing-context 37604. https://html.spec.whatwg.org/#concept-environment-target-browsing-context 37605. https://html.spec.whatwg.org/#concept-environment-active-service-worker 37606. https://html.spec.whatwg.org/#concept-environment-active-service-worker 37607. https://html.spec.whatwg.org/#concept-environment-id 37608. https://html.spec.whatwg.org/#environment-settings-object 37609. https://html.spec.whatwg.org/#environment 37610. https://html.spec.whatwg.org/#concept-environment-id 37611. https://html.spec.whatwg.org/#concept-environment-id 37612. https://html.spec.whatwg.org/#concept-environment-target-browsing-context 37613. https://html.spec.whatwg.org/#concept-environment-active-service-worker 37614. https://html.spec.whatwg.org/#concept-environment-creation-url 37615. https://html.spec.whatwg.org/#concept-environment-top-level-creation-url 37616. https://html.spec.whatwg.org/#concept-environment-top-level-origin 37617. https://html.spec.whatwg.org/#windowproxy 37618. https://html.spec.whatwg.org/#window 37619. https://html.spec.whatwg.org/#browsing-context 37620. https://html.spec.whatwg.org/#windowproxy 37621. https://html.spec.whatwg.org/#browsing-context 37622. https://html.spec.whatwg.org/#navigate 37623. https://html.spec.whatwg.org/#window 37624. https://html.spec.whatwg.org/#browsing-context 37625. https://html.spec.whatwg.org/#windowproxy 37626. https://html.spec.whatwg.org/#windowproxy 37627. https://html.spec.whatwg.org/#windowproxy 37628. https://webidl.spec.whatwg.org/#dfn-interface-object 37629. https://html.spec.whatwg.org/#windowproxy 37630. https://html.spec.whatwg.org/#window 37631. https://html.spec.whatwg.org/#windowproxy 37632. https://html.spec.whatwg.org/#windowproxy 37633. https://html.spec.whatwg.org/#location 37634. https://html.spec.whatwg.org/#window 37635. https://html.spec.whatwg.org/#concept-windowproxy-window 37636. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 37637. https://tc39.es/ecma262/#sec-ordinarygetprototypeof 37638. https://tc39.es/ecma262/#sec-set-immutable-prototype 37639. https://html.spec.whatwg.org/#concept-windowproxy-window 37640. https://webidl.spec.whatwg.org/#dfn-array-index-property-name 37641. https://tc39.es/ecma262/#sec-touint32 37642. https://html.spec.whatwg.org/#document-tree-child-navigables 37643. https://html.spec.whatwg.org/#concept-document-window 37644. https://infra.spec.whatwg.org/#list-size 37645. https://infra.spec.whatwg.org/#list-sort-in-ascending-order 37646. https://html.spec.whatwg.org/#nav-container 37647. https://html.spec.whatwg.org/#concept-document-window 37648. https://html.spec.whatwg.org/#nav-container 37649. https://html.spec.whatwg.org/#nav-wp 37650. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 37651. https://webidl.spec.whatwg.org/#securityerror 37652. https://webidl.spec.whatwg.org/#dfn-DOMException 37653. https://tc39.es/ecma262/#sec-property-descriptor-specification-type 37654. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 37655. https://tc39.es/ecma262/#sec-ordinarygetownproperty 37656. https://infra.spec.whatwg.org/#willful-violation 37657. https://tc39.es/ecma262/#sec-invariants-of-the-essential-internal-methods 37658. https://github.com/tc39/ecma262/issues/672 37659. https://html.spec.whatwg.org/#refsJAVASCRIPT 37660. https://html.spec.whatwg.org/#crossorigingetownpropertyhelper-(-o,-p-) 37661. https://html.spec.whatwg.org/#document-tree-child-navigable-target-name-property-set 37662. https://html.spec.whatwg.org/#nav-wp 37663. https://html.spec.whatwg.org/#dom-window-nameditem-filter 37664. https://tc39.es/ecma262/#sec-property-descriptor-specification-type 37665. https://github.com/whatwg/html/issues/3183 37666. https://html.spec.whatwg.org/#crossoriginpropertyfallback-(-p-) 37667. https://html.spec.whatwg.org/#concept-windowproxy-window 37668. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 37669. https://webidl.spec.whatwg.org/#dfn-array-index-property-name 37670. https://tc39.es/ecma262/#sec-ordinarydefineownproperty 37671. https://infra.spec.whatwg.org/#willful-violation 37672. https://tc39.es/ecma262/#sec-invariants-of-the-essential-internal-methods 37673. https://github.com/tc39/ecma262/issues/672 37674. https://html.spec.whatwg.org/#refsJAVASCRIPT 37675. https://webidl.spec.whatwg.org/#securityerror 37676. https://webidl.spec.whatwg.org/#dfn-DOMException 37677. https://html.spec.whatwg.org/#concept-windowproxy-window 37678. https://html.spec.whatwg.org/#coop-check-access-report 37679. https://html.spec.whatwg.org/#current-global-object 37680. https://html.spec.whatwg.org/#window-bc 37681. https://html.spec.whatwg.org/#window-bc 37682. https://html.spec.whatwg.org/#current-settings-object 37683. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 37684. https://tc39.es/ecma262/#sec-ordinaryget 37685. https://html.spec.whatwg.org/#crossoriginget-(-o,-p,-receiver-) 37686. https://tc39.es/ecma262/#sec-ordinaryget 37687. https://html.spec.whatwg.org/#crossoriginget-(-o,-p,-receiver-) 37688. https://html.spec.whatwg.org/#windowproxy-getownproperty 37689. https://html.spec.whatwg.org/#concept-windowproxy-window 37690. https://html.spec.whatwg.org/#coop-check-access-report 37691. https://html.spec.whatwg.org/#current-global-object 37692. https://html.spec.whatwg.org/#browsing-context 37693. https://html.spec.whatwg.org/#browsing-context 37694. https://html.spec.whatwg.org/#current-settings-object 37695. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 37696. https://webidl.spec.whatwg.org/#dfn-array-index-property-name 37697. https://tc39.es/ecma262/#sec-ordinaryset 37698. https://html.spec.whatwg.org/#crossoriginset-(-o,-p,-v,-receiver-) 37699. https://html.spec.whatwg.org/#crossoriginset-(-o,-p,-v,-receiver-) 37700. https://html.spec.whatwg.org/#windowproxy-getownproperty 37701. https://html.spec.whatwg.org/#concept-windowproxy-window 37702. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 37703. https://webidl.spec.whatwg.org/#dfn-array-index-property-name 37704. https://tc39.es/ecma262/#sec-ordinarydelete 37705. https://webidl.spec.whatwg.org/#securityerror 37706. https://webidl.spec.whatwg.org/#dfn-DOMException 37707. https://html.spec.whatwg.org/#concept-windowproxy-window 37708. https://html.spec.whatwg.org/#concept-document-window 37709. https://html.spec.whatwg.org/#document-tree-child-navigables 37710. https://infra.spec.whatwg.org/#list-size 37711. https://infra.spec.whatwg.org/#the-exclusive-range 37712. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 37713. https://tc39.es/ecma262/#sec-ordinaryownpropertykeys 37714. https://html.spec.whatwg.org/#crossoriginownpropertykeys-(-o-) 37715. https://html.spec.whatwg.org/#location 37716. https://developer.mozilla.org/en-US/docs/Web/API/Document/location 37717. https://developer.mozilla.org/en-US/docs/Web/API/Location 37718. https://developer.mozilla.org/en-US/docs/Web/API/Window/location 37719. https://html.spec.whatwg.org/#window 37720. https://html.spec.whatwg.org/#location 37721. https://html.spec.whatwg.org/#window 37722. https://html.spec.whatwg.org/#location 37723. https://html.spec.whatwg.org/#location 37724. https://html.spec.whatwg.org/#location 37725. https://webidl.spec.whatwg.org/#dfn-platform-object 37726. https://html.spec.whatwg.org/#concept-relevant-realm 37727. https://tc39.es/ecma262/#sec-object.prototype.valueof 37728. https://html.spec.whatwg.org/#symbol.toprimitive 37729. https://html.spec.whatwg.org/#defaultproperties 37730. https://html.spec.whatwg.org/#symbol.toprimitive 37731. https://html.spec.whatwg.org/#location 37732. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37733. https://html.spec.whatwg.org/#location 37734. https://dom.spec.whatwg.org/#concept-document-url 37735. https://html.spec.whatwg.org/#symbol.toprimitive 37736. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37737. https://html.spec.whatwg.org/#dom-document-location 37738. https://html.spec.whatwg.org/#dom-location 37739. https://html.spec.whatwg.org/#location 37740. https://html.spec.whatwg.org/#document 37741. https://webidl.spec.whatwg.org/#this 37742. https://html.spec.whatwg.org/#concept-relevant-global 37743. https://html.spec.whatwg.org/#location 37744. https://webidl.spec.whatwg.org/#this 37745. https://html.spec.whatwg.org/#fully-active 37746. https://html.spec.whatwg.org/#window 37747. https://webidl.spec.whatwg.org/#this 37748. https://html.spec.whatwg.org/#location 37749. https://html.spec.whatwg.org/#location 37750. https://dom.spec.whatwg.org/#concept-document-url 37751. https://html.spec.whatwg.org/#document 37752. https://html.spec.whatwg.org/#navigate 37753. https://html.spec.whatwg.org/#reload 37754. https://html.spec.whatwg.org/#navigable 37755. https://html.spec.whatwg.org/#the-location-interface 37756. https://html.spec.whatwg.org/#location-internal-methods 37757. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37758. https://html.spec.whatwg.org/#dom-location-href 37759. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37760. https://html.spec.whatwg.org/#dom-location-origin 37761. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37762. https://html.spec.whatwg.org/#dom-location-protocol 37763. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37764. https://html.spec.whatwg.org/#dom-location-host 37765. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37766. https://html.spec.whatwg.org/#dom-location-hostname 37767. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37768. https://html.spec.whatwg.org/#dom-location-port 37769. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37770. https://html.spec.whatwg.org/#dom-location-pathname 37771. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37772. https://html.spec.whatwg.org/#dom-location-search 37773. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37774. https://html.spec.whatwg.org/#dom-location-hash 37775. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37776. https://html.spec.whatwg.org/#dom-location-assign 37777. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37778. https://html.spec.whatwg.org/#dom-location-replace 37779. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37780. https://html.spec.whatwg.org/#dom-location-reload 37781. https://webidl.spec.whatwg.org/#LegacyUnforgeable 37782. https://html.spec.whatwg.org/#domstringlist 37783. https://html.spec.whatwg.org/#dom-location-ancestororigins 37784. https://html.spec.whatwg.org/#dom-location-href 37785. https://developer.mozilla.org/en-US/docs/Web/API/Location/href 37786. https://developer.mozilla.org/en-US/docs/Web/API/Location/toString 37787. https://html.spec.whatwg.org/#location 37788. https://html.spec.whatwg.org/#dom-location-origin 37789. https://developer.mozilla.org/en-US/docs/Web/API/Location/origin 37790. https://html.spec.whatwg.org/#location 37791. https://html.spec.whatwg.org/#dom-location-protocol 37792. https://developer.mozilla.org/en-US/docs/Web/API/Location/protocol 37793. https://html.spec.whatwg.org/#location 37794. https://html.spec.whatwg.org/#dom-location-host 37795. https://developer.mozilla.org/en-US/docs/Web/API/Location/host 37796. https://html.spec.whatwg.org/#location 37797. https://html.spec.whatwg.org/#dom-location-hostname 37798. https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname 37799. https://html.spec.whatwg.org/#location 37800. https://html.spec.whatwg.org/#dom-location-port 37801. https://developer.mozilla.org/en-US/docs/Web/API/Location/port 37802. https://html.spec.whatwg.org/#location 37803. https://html.spec.whatwg.org/#dom-location-pathname 37804. https://developer.mozilla.org/en-US/docs/Web/API/Location/pathname 37805. https://html.spec.whatwg.org/#location 37806. https://html.spec.whatwg.org/#dom-location-search 37807. https://developer.mozilla.org/en-US/docs/Web/API/Location/search 37808. https://html.spec.whatwg.org/#location 37809. https://html.spec.whatwg.org/#dom-location-hash 37810. https://developer.mozilla.org/en-US/docs/Web/API/Location/hash 37811. https://html.spec.whatwg.org/#location 37812. https://html.spec.whatwg.org/#dom-location-assign 37813. https://developer.mozilla.org/en-US/docs/Web/API/Location/assign 37814. https://html.spec.whatwg.org/#dom-location-replace 37815. https://developer.mozilla.org/en-US/docs/Web/API/Location/replace 37816. https://html.spec.whatwg.org/#dom-location-reload 37817. https://developer.mozilla.org/en-US/docs/Web/API/Location/reload 37818. https://html.spec.whatwg.org/#dom-location-ancestororigins 37819. https://developer.mozilla.org/en-US/docs/Web/API/Location/ancestorOrigins 37820. https://html.spec.whatwg.org/#domstringlist 37821. https://html.spec.whatwg.org/#ancestor-navigables 37822. https://html.spec.whatwg.org/#nav-document 37823. https://html.spec.whatwg.org/#location 37824. https://html.spec.whatwg.org/#concept-relevant-global 37825. https://html.spec.whatwg.org/#window-bc 37826. https://html.spec.whatwg.org/#active-document 37827. https://html.spec.whatwg.org/#location 37828. https://html.spec.whatwg.org/#concept-relevant-global 37829. https://html.spec.whatwg.org/#window-bc 37830. https://html.spec.whatwg.org/#location 37831. https://html.spec.whatwg.org/#location 37832. https://html.spec.whatwg.org/#relevant-document 37833. https://dom.spec.whatwg.org/#concept-document-url 37834. https://html.spec.whatwg.org/#location 37835. https://html.spec.whatwg.org/#relevant-document 37836. https://html.spec.whatwg.org/#about:blank 37837. https://html.spec.whatwg.org/#location 37838. https://html.spec.whatwg.org/#location 37839. https://html.spec.whatwg.org/#concept-location-ancestor-origins-list 37840. https://html.spec.whatwg.org/#domstringlist 37841. https://infra.spec.whatwg.org/#list 37842. https://infra.spec.whatwg.org/#list 37843. https://html.spec.whatwg.org/#location 37844. https://html.spec.whatwg.org/#relevant-document 37845. https://html.spec.whatwg.org/#doc-container-document 37846. https://html.spec.whatwg.org/#doc-container-document 37847. https://infra.spec.whatwg.org/#list-append 37848. https://html.spec.whatwg.org/#ascii-serialisation-of-an-origin 37849. https://dom.spec.whatwg.org/#concept-document-origin 37850. https://html.spec.whatwg.org/#location 37851. https://url.spec.whatwg.org/#concept-url 37852. https://html.spec.whatwg.org/#navigationhistorybehavior 37853. https://html.spec.whatwg.org/#navigationhistorybehavior-auto 37854. https://html.spec.whatwg.org/#concept-relevant-global 37855. https://html.spec.whatwg.org/#window-navigable 37856. https://html.spec.whatwg.org/#concept-incumbent-global 37857. https://html.spec.whatwg.org/#concept-document-window 37858. https://html.spec.whatwg.org/#relevant-document 37859. https://html.spec.whatwg.org/#completely-loaded 37860. https://html.spec.whatwg.org/#concept-incumbent-global 37861. https://html.spec.whatwg.org/#transient-activation 37862. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 37863. https://html.spec.whatwg.org/#navigate 37864. https://html.spec.whatwg.org/#exceptions-enabled 37865. https://html.spec.whatwg.org/#navigation-hh 37866. https://webidl.spec.whatwg.org/#this 37867. https://html.spec.whatwg.org/#relevant-document 37868. https://dom.spec.whatwg.org/#concept-document-origin 37869. https://html.spec.whatwg.org/#same-origin-domain 37870. https://html.spec.whatwg.org/#entry-settings-object 37871. https://html.spec.whatwg.org/#concept-settings-object-origin 37872. https://webidl.spec.whatwg.org/#securityerror 37873. https://webidl.spec.whatwg.org/#dfn-DOMException 37874. https://webidl.spec.whatwg.org/#this 37875. https://html.spec.whatwg.org/#concept-location-url 37876. https://url.spec.whatwg.org/#concept-url-serializer 37877. https://html.spec.whatwg.org/#dom-location-href 37878. https://webidl.spec.whatwg.org/#this 37879. https://html.spec.whatwg.org/#relevant-document 37880. https://html.spec.whatwg.org/#encoding-parsing-a-url 37881. https://html.spec.whatwg.org/#entry-settings-object 37882. https://webidl.spec.whatwg.org/#syntaxerror 37883. https://webidl.spec.whatwg.org/#dfn-DOMException 37884. https://html.spec.whatwg.org/#location-object-navigate 37885. https://webidl.spec.whatwg.org/#this 37886. https://html.spec.whatwg.org/#dom-location-href 37887. https://webidl.spec.whatwg.org/#this 37888. https://html.spec.whatwg.org/#relevant-document 37889. https://dom.spec.whatwg.org/#concept-document-origin 37890. https://html.spec.whatwg.org/#same-origin-domain 37891. https://html.spec.whatwg.org/#entry-settings-object 37892. https://html.spec.whatwg.org/#concept-settings-object-origin 37893. https://webidl.spec.whatwg.org/#securityerror 37894. https://webidl.spec.whatwg.org/#dfn-DOMException 37895. https://html.spec.whatwg.org/#ascii-serialisation-of-an-origin 37896. https://webidl.spec.whatwg.org/#this 37897. https://html.spec.whatwg.org/#concept-location-url 37898. https://url.spec.whatwg.org/#concept-url-origin 37899. https://webidl.spec.whatwg.org/#this 37900. https://html.spec.whatwg.org/#relevant-document 37901. https://dom.spec.whatwg.org/#concept-document-origin 37902. https://html.spec.whatwg.org/#same-origin-domain 37903. https://html.spec.whatwg.org/#entry-settings-object 37904. https://html.spec.whatwg.org/#concept-settings-object-origin 37905. https://webidl.spec.whatwg.org/#securityerror 37906. https://webidl.spec.whatwg.org/#dfn-DOMException 37907. https://webidl.spec.whatwg.org/#this 37908. https://html.spec.whatwg.org/#concept-location-url 37909. https://url.spec.whatwg.org/#concept-url-scheme 37910. https://html.spec.whatwg.org/#dom-location-protocol 37911. https://webidl.spec.whatwg.org/#this 37912. https://html.spec.whatwg.org/#relevant-document 37913. https://webidl.spec.whatwg.org/#this 37914. https://html.spec.whatwg.org/#relevant-document 37915. https://dom.spec.whatwg.org/#concept-document-origin 37916. https://html.spec.whatwg.org/#same-origin-domain 37917. https://html.spec.whatwg.org/#entry-settings-object 37918. https://html.spec.whatwg.org/#concept-settings-object-origin 37919. https://webidl.spec.whatwg.org/#securityerror 37920. https://webidl.spec.whatwg.org/#dfn-DOMException 37921. https://webidl.spec.whatwg.org/#this 37922. https://html.spec.whatwg.org/#concept-location-url 37923. https://url.spec.whatwg.org/#concept-basic-url-parser 37924. https://url.spec.whatwg.org/#basic-url-parser-url 37925. https://url.spec.whatwg.org/#scheme-start-state 37926. https://url.spec.whatwg.org/#basic-url-parser-state-override 37927. https://webidl.spec.whatwg.org/#syntaxerror 37928. https://webidl.spec.whatwg.org/#dfn-DOMException 37929. https://url.spec.whatwg.org/#concept-url-scheme 37930. https://fetch.spec.whatwg.org/#http-scheme 37931. https://html.spec.whatwg.org/#location-object-navigate 37932. https://webidl.spec.whatwg.org/#this 37933. https://webidl.spec.whatwg.org/#this 37934. https://html.spec.whatwg.org/#relevant-document 37935. https://dom.spec.whatwg.org/#concept-document-origin 37936. https://html.spec.whatwg.org/#same-origin-domain 37937. https://html.spec.whatwg.org/#entry-settings-object 37938. https://html.spec.whatwg.org/#concept-settings-object-origin 37939. https://webidl.spec.whatwg.org/#securityerror 37940. https://webidl.spec.whatwg.org/#dfn-DOMException 37941. https://webidl.spec.whatwg.org/#this 37942. https://html.spec.whatwg.org/#concept-location-url 37943. https://url.spec.whatwg.org/#concept-url-host 37944. https://url.spec.whatwg.org/#concept-url-port 37945. https://url.spec.whatwg.org/#concept-url-host 37946. https://url.spec.whatwg.org/#concept-host-serializer 37947. https://url.spec.whatwg.org/#concept-url-host 37948. https://url.spec.whatwg.org/#concept-host-serializer 37949. https://url.spec.whatwg.org/#concept-url-port 37950. https://url.spec.whatwg.org/#serialize-an-integer 37951. https://html.spec.whatwg.org/#dom-location-host 37952. https://webidl.spec.whatwg.org/#this 37953. https://html.spec.whatwg.org/#relevant-document 37954. https://webidl.spec.whatwg.org/#this 37955. https://html.spec.whatwg.org/#relevant-document 37956. https://dom.spec.whatwg.org/#concept-document-origin 37957. https://html.spec.whatwg.org/#same-origin-domain 37958. https://html.spec.whatwg.org/#entry-settings-object 37959. https://html.spec.whatwg.org/#concept-settings-object-origin 37960. https://webidl.spec.whatwg.org/#securityerror 37961. https://webidl.spec.whatwg.org/#dfn-DOMException 37962. https://webidl.spec.whatwg.org/#this 37963. https://html.spec.whatwg.org/#concept-location-url 37964. https://url.spec.whatwg.org/#url-opaque-path 37965. https://url.spec.whatwg.org/#concept-basic-url-parser 37966. https://url.spec.whatwg.org/#basic-url-parser-url 37967. https://url.spec.whatwg.org/#host-state 37968. https://url.spec.whatwg.org/#basic-url-parser-state-override 37969. https://html.spec.whatwg.org/#location-object-navigate 37970. https://webidl.spec.whatwg.org/#this 37971. https://webidl.spec.whatwg.org/#this 37972. https://html.spec.whatwg.org/#relevant-document 37973. https://dom.spec.whatwg.org/#concept-document-origin 37974. https://html.spec.whatwg.org/#same-origin-domain 37975. https://html.spec.whatwg.org/#entry-settings-object 37976. https://html.spec.whatwg.org/#concept-settings-object-origin 37977. https://webidl.spec.whatwg.org/#securityerror 37978. https://webidl.spec.whatwg.org/#dfn-DOMException 37979. https://webidl.spec.whatwg.org/#this 37980. https://html.spec.whatwg.org/#concept-location-url 37981. https://url.spec.whatwg.org/#concept-url-host 37982. https://webidl.spec.whatwg.org/#this 37983. https://html.spec.whatwg.org/#concept-location-url 37984. https://url.spec.whatwg.org/#concept-url-host 37985. https://url.spec.whatwg.org/#concept-host-serializer 37986. https://html.spec.whatwg.org/#dom-location-hostname 37987. https://webidl.spec.whatwg.org/#this 37988. https://html.spec.whatwg.org/#relevant-document 37989. https://webidl.spec.whatwg.org/#this 37990. https://html.spec.whatwg.org/#relevant-document 37991. https://dom.spec.whatwg.org/#concept-document-origin 37992. https://html.spec.whatwg.org/#same-origin-domain 37993. https://html.spec.whatwg.org/#entry-settings-object 37994. https://html.spec.whatwg.org/#concept-settings-object-origin 37995. https://webidl.spec.whatwg.org/#securityerror 37996. https://webidl.spec.whatwg.org/#dfn-DOMException 37997. https://webidl.spec.whatwg.org/#this 37998. https://html.spec.whatwg.org/#concept-location-url 37999. https://url.spec.whatwg.org/#url-opaque-path 38000. https://url.spec.whatwg.org/#concept-basic-url-parser 38001. https://url.spec.whatwg.org/#basic-url-parser-url 38002. https://url.spec.whatwg.org/#hostname-state 38003. https://url.spec.whatwg.org/#basic-url-parser-state-override 38004. https://html.spec.whatwg.org/#location-object-navigate 38005. https://webidl.spec.whatwg.org/#this 38006. https://webidl.spec.whatwg.org/#this 38007. https://html.spec.whatwg.org/#relevant-document 38008. https://dom.spec.whatwg.org/#concept-document-origin 38009. https://html.spec.whatwg.org/#same-origin-domain 38010. https://html.spec.whatwg.org/#entry-settings-object 38011. https://html.spec.whatwg.org/#concept-settings-object-origin 38012. https://webidl.spec.whatwg.org/#securityerror 38013. https://webidl.spec.whatwg.org/#dfn-DOMException 38014. https://webidl.spec.whatwg.org/#this 38015. https://html.spec.whatwg.org/#concept-location-url 38016. https://url.spec.whatwg.org/#concept-url-port 38017. https://webidl.spec.whatwg.org/#this 38018. https://html.spec.whatwg.org/#concept-location-url 38019. https://url.spec.whatwg.org/#concept-url-port 38020. https://url.spec.whatwg.org/#serialize-an-integer 38021. https://html.spec.whatwg.org/#dom-location-port 38022. https://webidl.spec.whatwg.org/#this 38023. https://html.spec.whatwg.org/#relevant-document 38024. https://webidl.spec.whatwg.org/#this 38025. https://html.spec.whatwg.org/#relevant-document 38026. https://dom.spec.whatwg.org/#concept-document-origin 38027. https://html.spec.whatwg.org/#same-origin-domain 38028. https://html.spec.whatwg.org/#entry-settings-object 38029. https://html.spec.whatwg.org/#concept-settings-object-origin 38030. https://webidl.spec.whatwg.org/#securityerror 38031. https://webidl.spec.whatwg.org/#dfn-DOMException 38032. https://webidl.spec.whatwg.org/#this 38033. https://html.spec.whatwg.org/#concept-location-url 38034. https://url.spec.whatwg.org/#cannot-have-a-username-password-port 38035. https://url.spec.whatwg.org/#concept-url-port 38036. https://url.spec.whatwg.org/#concept-basic-url-parser 38037. https://url.spec.whatwg.org/#basic-url-parser-url 38038. https://url.spec.whatwg.org/#port-state 38039. https://url.spec.whatwg.org/#basic-url-parser-state-override 38040. https://html.spec.whatwg.org/#location-object-navigate 38041. https://webidl.spec.whatwg.org/#this 38042. https://webidl.spec.whatwg.org/#this 38043. https://html.spec.whatwg.org/#relevant-document 38044. https://dom.spec.whatwg.org/#concept-document-origin 38045. https://html.spec.whatwg.org/#same-origin-domain 38046. https://html.spec.whatwg.org/#entry-settings-object 38047. https://html.spec.whatwg.org/#concept-settings-object-origin 38048. https://webidl.spec.whatwg.org/#securityerror 38049. https://webidl.spec.whatwg.org/#dfn-DOMException 38050. https://url.spec.whatwg.org/#url-path-serializer 38051. https://html.spec.whatwg.org/#location 38052. https://html.spec.whatwg.org/#concept-location-url 38053. https://html.spec.whatwg.org/#dom-location-pathname 38054. https://webidl.spec.whatwg.org/#this 38055. https://html.spec.whatwg.org/#relevant-document 38056. https://webidl.spec.whatwg.org/#this 38057. https://html.spec.whatwg.org/#relevant-document 38058. https://dom.spec.whatwg.org/#concept-document-origin 38059. https://html.spec.whatwg.org/#same-origin-domain 38060. https://html.spec.whatwg.org/#entry-settings-object 38061. https://html.spec.whatwg.org/#concept-settings-object-origin 38062. https://webidl.spec.whatwg.org/#securityerror 38063. https://webidl.spec.whatwg.org/#dfn-DOMException 38064. https://webidl.spec.whatwg.org/#this 38065. https://html.spec.whatwg.org/#concept-location-url 38066. https://url.spec.whatwg.org/#url-opaque-path 38067. https://url.spec.whatwg.org/#concept-url-path 38068. https://url.spec.whatwg.org/#concept-basic-url-parser 38069. https://url.spec.whatwg.org/#basic-url-parser-url 38070. https://url.spec.whatwg.org/#path-start-state 38071. https://url.spec.whatwg.org/#basic-url-parser-state-override 38072. https://html.spec.whatwg.org/#location-object-navigate 38073. https://webidl.spec.whatwg.org/#this 38074. https://webidl.spec.whatwg.org/#this 38075. https://html.spec.whatwg.org/#relevant-document 38076. https://dom.spec.whatwg.org/#concept-document-origin 38077. https://html.spec.whatwg.org/#same-origin-domain 38078. https://html.spec.whatwg.org/#entry-settings-object 38079. https://html.spec.whatwg.org/#concept-settings-object-origin 38080. https://webidl.spec.whatwg.org/#securityerror 38081. https://webidl.spec.whatwg.org/#dfn-DOMException 38082. https://webidl.spec.whatwg.org/#this 38083. https://html.spec.whatwg.org/#concept-location-url 38084. https://url.spec.whatwg.org/#concept-url-query 38085. https://webidl.spec.whatwg.org/#this 38086. https://html.spec.whatwg.org/#concept-location-url 38087. https://url.spec.whatwg.org/#concept-url-query 38088. https://html.spec.whatwg.org/#dom-location-search 38089. https://webidl.spec.whatwg.org/#this 38090. https://html.spec.whatwg.org/#relevant-document 38091. https://webidl.spec.whatwg.org/#this 38092. https://html.spec.whatwg.org/#relevant-document 38093. https://dom.spec.whatwg.org/#concept-document-origin 38094. https://html.spec.whatwg.org/#same-origin-domain 38095. https://html.spec.whatwg.org/#entry-settings-object 38096. https://html.spec.whatwg.org/#concept-settings-object-origin 38097. https://webidl.spec.whatwg.org/#securityerror 38098. https://webidl.spec.whatwg.org/#dfn-DOMException 38099. https://webidl.spec.whatwg.org/#this 38100. https://html.spec.whatwg.org/#concept-location-url 38101. https://url.spec.whatwg.org/#concept-url-query 38102. https://url.spec.whatwg.org/#concept-url-query 38103. https://url.spec.whatwg.org/#concept-basic-url-parser 38104. https://html.spec.whatwg.org/#relevant-document 38105. https://dom.spec.whatwg.org/#concept-document-encoding 38106. https://url.spec.whatwg.org/#basic-url-parser-url 38107. https://url.spec.whatwg.org/#query-state 38108. https://url.spec.whatwg.org/#basic-url-parser-state-override 38109. https://html.spec.whatwg.org/#location-object-navigate 38110. https://webidl.spec.whatwg.org/#this 38111. https://webidl.spec.whatwg.org/#this 38112. https://html.spec.whatwg.org/#relevant-document 38113. https://dom.spec.whatwg.org/#concept-document-origin 38114. https://html.spec.whatwg.org/#same-origin-domain 38115. https://html.spec.whatwg.org/#entry-settings-object 38116. https://html.spec.whatwg.org/#concept-settings-object-origin 38117. https://webidl.spec.whatwg.org/#securityerror 38118. https://webidl.spec.whatwg.org/#dfn-DOMException 38119. https://webidl.spec.whatwg.org/#this 38120. https://html.spec.whatwg.org/#concept-location-url 38121. https://url.spec.whatwg.org/#concept-url-fragment 38122. https://webidl.spec.whatwg.org/#this 38123. https://html.spec.whatwg.org/#concept-location-url 38124. https://url.spec.whatwg.org/#concept-url-fragment 38125. https://html.spec.whatwg.org/#dom-location-hash 38126. https://webidl.spec.whatwg.org/#this 38127. https://html.spec.whatwg.org/#relevant-document 38128. https://webidl.spec.whatwg.org/#this 38129. https://html.spec.whatwg.org/#relevant-document 38130. https://dom.spec.whatwg.org/#concept-document-origin 38131. https://html.spec.whatwg.org/#same-origin-domain 38132. https://html.spec.whatwg.org/#entry-settings-object 38133. https://html.spec.whatwg.org/#concept-settings-object-origin 38134. https://webidl.spec.whatwg.org/#securityerror 38135. https://webidl.spec.whatwg.org/#dfn-DOMException 38136. https://webidl.spec.whatwg.org/#this 38137. https://html.spec.whatwg.org/#concept-location-url 38138. https://url.spec.whatwg.org/#concept-url-fragment 38139. https://url.spec.whatwg.org/#concept-url-fragment 38140. https://url.spec.whatwg.org/#concept-basic-url-parser 38141. https://url.spec.whatwg.org/#basic-url-parser-url 38142. https://url.spec.whatwg.org/#fragment-state 38143. https://url.spec.whatwg.org/#basic-url-parser-state-override 38144. https://url.spec.whatwg.org/#concept-url-fragment 38145. https://bugzilla.mozilla.org/show_bug.cgi?id=1733797#c2 38146. https://html.spec.whatwg.org/#dom-location-href 38147. https://html.spec.whatwg.org/#dom-location-assign 38148. https://html.spec.whatwg.org/#location-object-navigate 38149. https://webidl.spec.whatwg.org/#this 38150. https://html.spec.whatwg.org/#the-a-element 38151. https://html.spec.whatwg.org/#the-area-element 38152. https://html.spec.whatwg.org/#dom-location-hash 38153. https://webidl.spec.whatwg.org/#this 38154. https://html.spec.whatwg.org/#relevant-document 38155. https://webidl.spec.whatwg.org/#this 38156. https://html.spec.whatwg.org/#relevant-document 38157. https://dom.spec.whatwg.org/#concept-document-origin 38158. https://html.spec.whatwg.org/#same-origin-domain 38159. https://html.spec.whatwg.org/#entry-settings-object 38160. https://html.spec.whatwg.org/#concept-settings-object-origin 38161. https://webidl.spec.whatwg.org/#securityerror 38162. https://webidl.spec.whatwg.org/#dfn-DOMException 38163. https://html.spec.whatwg.org/#encoding-parsing-a-url 38164. https://html.spec.whatwg.org/#entry-settings-object 38165. https://webidl.spec.whatwg.org/#syntaxerror 38166. https://webidl.spec.whatwg.org/#dfn-DOMException 38167. https://html.spec.whatwg.org/#location-object-navigate 38168. https://webidl.spec.whatwg.org/#this 38169. https://webidl.spec.whatwg.org/#this 38170. https://html.spec.whatwg.org/#relevant-document 38171. https://html.spec.whatwg.org/#encoding-parsing-a-url 38172. https://html.spec.whatwg.org/#entry-settings-object 38173. https://webidl.spec.whatwg.org/#syntaxerror 38174. https://webidl.spec.whatwg.org/#dfn-DOMException 38175. https://html.spec.whatwg.org/#location-object-navigate 38176. https://webidl.spec.whatwg.org/#this 38177. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 38178. https://html.spec.whatwg.org/#dom-location-replace 38179. https://webidl.spec.whatwg.org/#this 38180. https://html.spec.whatwg.org/#relevant-document 38181. https://dom.spec.whatwg.org/#concept-document-origin 38182. https://html.spec.whatwg.org/#same-origin-domain 38183. https://html.spec.whatwg.org/#entry-settings-object 38184. https://html.spec.whatwg.org/#concept-settings-object-origin 38185. https://webidl.spec.whatwg.org/#securityerror 38186. https://webidl.spec.whatwg.org/#dfn-DOMException 38187. https://html.spec.whatwg.org/#reload 38188. https://html.spec.whatwg.org/#node-navigable 38189. https://webidl.spec.whatwg.org/#this 38190. https://html.spec.whatwg.org/#relevant-document 38191. https://infra.spec.whatwg.org/#list 38192. https://webidl.spec.whatwg.org/#this 38193. https://html.spec.whatwg.org/#relevant-document 38194. https://dom.spec.whatwg.org/#concept-document-origin 38195. https://html.spec.whatwg.org/#same-origin-domain 38196. https://html.spec.whatwg.org/#entry-settings-object 38197. https://html.spec.whatwg.org/#concept-settings-object-origin 38198. https://webidl.spec.whatwg.org/#securityerror 38199. https://webidl.spec.whatwg.org/#dfn-DOMException 38200. https://webidl.spec.whatwg.org/#this 38201. https://html.spec.whatwg.org/#concept-location-ancestor-origins-list 38202. https://html.spec.whatwg.org/#dom-location-ancestororigins 38203. https://github.com/whatwg/html/issues/1918 38204. https://html.spec.whatwg.org/#location 38205. https://html.spec.whatwg.org/#location 38206. https://html.spec.whatwg.org/#location 38207. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 38208. https://tc39.es/ecma262/#sec-ordinarygetprototypeof 38209. https://tc39.es/ecma262/#sec-set-immutable-prototype 38210. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 38211. https://tc39.es/ecma262/#sec-ordinarygetownproperty 38212. https://html.spec.whatwg.org/#defaultproperties 38213. https://html.spec.whatwg.org/#crossorigingetownpropertyhelper-(-o,-p-) 38214. https://html.spec.whatwg.org/#crossoriginpropertyfallback-(-p-) 38215. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 38216. https://html.spec.whatwg.org/#defaultproperties 38217. https://tc39.es/ecma262/#sec-ordinarydefineownproperty 38218. https://webidl.spec.whatwg.org/#securityerror 38219. https://webidl.spec.whatwg.org/#dfn-DOMException 38220. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 38221. https://tc39.es/ecma262/#sec-ordinaryget 38222. https://html.spec.whatwg.org/#crossoriginget-(-o,-p,-receiver-) 38223. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 38224. https://tc39.es/ecma262/#sec-ordinaryset 38225. https://html.spec.whatwg.org/#crossoriginset-(-o,-p,-v,-receiver-) 38226. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 38227. https://tc39.es/ecma262/#sec-ordinarydelete 38228. https://webidl.spec.whatwg.org/#securityerror 38229. https://webidl.spec.whatwg.org/#dfn-DOMException 38230. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 38231. https://tc39.es/ecma262/#sec-ordinaryownpropertykeys 38232. https://html.spec.whatwg.org/#crossoriginownpropertykeys-(-o-) 38233. https://html.spec.whatwg.org/#history-3 38234. https://developer.mozilla.org/en-US/docs/Web/API/History 38235. https://developer.mozilla.org/en-US/docs/Web/API/Window/history 38236. https://html.spec.whatwg.org/#dom-scrollrestoration-auto 38237. https://html.spec.whatwg.org/#dom-scrollrestoration-manual 38238. https://html.spec.whatwg.org/#dom-history-length 38239. https://html.spec.whatwg.org/#scrollrestoration 38240. https://html.spec.whatwg.org/#dom-history-scroll-restoration 38241. https://html.spec.whatwg.org/#dom-history-state 38242. https://html.spec.whatwg.org/#dom-history-go 38243. https://html.spec.whatwg.org/#dom-history-back 38244. https://html.spec.whatwg.org/#dom-history-forward 38245. https://html.spec.whatwg.org/#dom-history-pushstate 38246. https://html.spec.whatwg.org/#dom-history-replacestate 38247. https://html.spec.whatwg.org/#dom-history 38248. https://html.spec.whatwg.org/#dom-history-length 38249. https://developer.mozilla.org/en-US/docs/Web/API/History/length 38250. https://html.spec.whatwg.org/#tn-session-history-entries 38251. https://html.spec.whatwg.org/#traversable-navigable 38252. https://html.spec.whatwg.org/#dom-history 38253. https://html.spec.whatwg.org/#dom-history-scroll-restoration 38254. https://developer.mozilla.org/en-US/docs/Web/API/History/scrollRestoration 38255. https://html.spec.whatwg.org/#she-scroll-restoration-mode 38256. https://html.spec.whatwg.org/#nav-active-history-entry 38257. https://html.spec.whatwg.org/#dom-history 38258. https://html.spec.whatwg.org/#dom-history-scroll-restoration 38259. https://html.spec.whatwg.org/#she-scroll-restoration-mode 38260. https://html.spec.whatwg.org/#nav-active-history-entry 38261. https://html.spec.whatwg.org/#dom-history 38262. https://html.spec.whatwg.org/#dom-history-state 38263. https://developer.mozilla.org/en-US/docs/Web/API/History/state 38264. https://html.spec.whatwg.org/#she-classic-history-api-state 38265. https://html.spec.whatwg.org/#nav-active-history-entry 38266. https://html.spec.whatwg.org/#dom-history 38267. https://html.spec.whatwg.org/#dom-history-go 38268. https://html.spec.whatwg.org/#dom-history 38269. https://html.spec.whatwg.org/#dom-history-go 38270. https://developer.mozilla.org/en-US/docs/Web/API/History/go 38271. https://html.spec.whatwg.org/#tn-session-history-entries 38272. https://html.spec.whatwg.org/#traversable-navigable 38273. https://html.spec.whatwg.org/#dom-history 38274. https://html.spec.whatwg.org/#dom-history-back 38275. https://developer.mozilla.org/en-US/docs/Web/API/History/back 38276. https://html.spec.whatwg.org/#tn-session-history-entries 38277. https://html.spec.whatwg.org/#traversable-navigable 38278. https://html.spec.whatwg.org/#dom-history 38279. https://html.spec.whatwg.org/#dom-history-forward 38280. https://developer.mozilla.org/en-US/docs/Web/API/History/forward 38281. https://html.spec.whatwg.org/#tn-session-history-entries 38282. https://html.spec.whatwg.org/#traversable-navigable 38283. https://html.spec.whatwg.org/#dom-history 38284. https://html.spec.whatwg.org/#dom-history-pushstate 38285. https://developer.mozilla.org/en-US/docs/Web/API/History/pushState 38286. https://html.spec.whatwg.org/#she-classic-history-api-state 38287. https://html.spec.whatwg.org/#nav-active-history-entry 38288. https://html.spec.whatwg.org/#she-url 38289. https://html.spec.whatwg.org/#dom-history 38290. https://html.spec.whatwg.org/#dom-history-pushstate 38291. https://html.spec.whatwg.org/#she-classic-history-api-state 38292. https://html.spec.whatwg.org/#she-url 38293. https://html.spec.whatwg.org/#document 38294. https://html.spec.whatwg.org/#can-have-its-url-rewritten 38295. https://webidl.spec.whatwg.org/#securityerror 38296. https://webidl.spec.whatwg.org/#dfn-DOMException 38297. https://html.spec.whatwg.org/#dom-history 38298. https://html.spec.whatwg.org/#dom-history-replacestate 38299. https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState 38300. https://html.spec.whatwg.org/#she-classic-history-api-state 38301. https://html.spec.whatwg.org/#nav-active-history-entry 38302. https://html.spec.whatwg.org/#dom-history 38303. https://html.spec.whatwg.org/#dom-history-replacestate 38304. https://html.spec.whatwg.org/#she-classic-history-api-state 38305. https://html.spec.whatwg.org/#nav-active-history-entry 38306. https://html.spec.whatwg.org/#she-url 38307. https://html.spec.whatwg.org/#document 38308. https://html.spec.whatwg.org/#can-have-its-url-rewritten 38309. https://webidl.spec.whatwg.org/#securityerror 38310. https://webidl.spec.whatwg.org/#dfn-DOMException 38311. https://html.spec.whatwg.org/#document 38312. https://html.spec.whatwg.org/#history-3 38313. https://webidl.spec.whatwg.org/#this 38314. https://html.spec.whatwg.org/#concept-document-window 38315. https://html.spec.whatwg.org/#doc-history 38316. https://html.spec.whatwg.org/#history-3 38317. https://html.spec.whatwg.org/#history-3 38318. https://html.spec.whatwg.org/#history-3 38319. https://html.spec.whatwg.org/#concept-history-index 38320. https://html.spec.whatwg.org/#concept-history-length 38321. https://webidl.spec.whatwg.org/#this 38322. https://html.spec.whatwg.org/#concept-relevant-global 38323. https://html.spec.whatwg.org/#concept-document-window 38324. https://html.spec.whatwg.org/#fully-active 38325. https://webidl.spec.whatwg.org/#securityerror 38326. https://webidl.spec.whatwg.org/#dfn-DOMException 38327. https://webidl.spec.whatwg.org/#this 38328. https://html.spec.whatwg.org/#concept-history-length 38329. https://webidl.spec.whatwg.org/#this 38330. https://html.spec.whatwg.org/#concept-relevant-global 38331. https://html.spec.whatwg.org/#concept-document-window 38332. https://html.spec.whatwg.org/#fully-active 38333. https://webidl.spec.whatwg.org/#securityerror 38334. https://webidl.spec.whatwg.org/#dfn-DOMException 38335. https://webidl.spec.whatwg.org/#this 38336. https://html.spec.whatwg.org/#concept-relevant-global 38337. https://html.spec.whatwg.org/#window-navigable 38338. https://html.spec.whatwg.org/#nav-active-history-entry 38339. https://html.spec.whatwg.org/#she-scroll-restoration-mode 38340. https://html.spec.whatwg.org/#dom-history-scroll-restoration 38341. https://webidl.spec.whatwg.org/#this 38342. https://html.spec.whatwg.org/#concept-relevant-global 38343. https://html.spec.whatwg.org/#concept-document-window 38344. https://html.spec.whatwg.org/#fully-active 38345. https://webidl.spec.whatwg.org/#securityerror 38346. https://webidl.spec.whatwg.org/#dfn-DOMException 38347. https://webidl.spec.whatwg.org/#this 38348. https://html.spec.whatwg.org/#concept-relevant-global 38349. https://html.spec.whatwg.org/#window-navigable 38350. https://html.spec.whatwg.org/#nav-active-history-entry 38351. https://html.spec.whatwg.org/#she-scroll-restoration-mode 38352. https://webidl.spec.whatwg.org/#this 38353. https://html.spec.whatwg.org/#concept-relevant-global 38354. https://html.spec.whatwg.org/#concept-document-window 38355. https://html.spec.whatwg.org/#fully-active 38356. https://webidl.spec.whatwg.org/#securityerror 38357. https://webidl.spec.whatwg.org/#dfn-DOMException 38358. https://webidl.spec.whatwg.org/#this 38359. https://html.spec.whatwg.org/#concept-history-state 38360. https://html.spec.whatwg.org/#delta-traverse 38361. https://webidl.spec.whatwg.org/#this 38362. https://html.spec.whatwg.org/#delta-traverse 38363. https://webidl.spec.whatwg.org/#this 38364. https://html.spec.whatwg.org/#delta-traverse 38365. https://webidl.spec.whatwg.org/#this 38366. https://html.spec.whatwg.org/#history-3 38367. https://html.spec.whatwg.org/#concept-relevant-global 38368. https://html.spec.whatwg.org/#concept-document-window 38369. https://html.spec.whatwg.org/#fully-active 38370. https://webidl.spec.whatwg.org/#securityerror 38371. https://webidl.spec.whatwg.org/#dfn-DOMException 38372. https://html.spec.whatwg.org/#reload 38373. https://html.spec.whatwg.org/#node-navigable 38374. https://html.spec.whatwg.org/#traverse-the-history-by-a-delta 38375. https://html.spec.whatwg.org/#node-navigable 38376. https://html.spec.whatwg.org/#nav-traversable 38377. https://html.spec.whatwg.org/#traverse-sourcedocument 38378. https://html.spec.whatwg.org/#shared-history-push/replace-state-steps 38379. https://webidl.spec.whatwg.org/#this 38380. https://html.spec.whatwg.org/#navigationhistorybehavior-push 38381. https://html.spec.whatwg.org/#shared-history-push/replace-state-steps 38382. https://webidl.spec.whatwg.org/#this 38383. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 38384. https://html.spec.whatwg.org/#history-3 38385. https://infra.spec.whatwg.org/#scalar-value-string 38386. https://html.spec.whatwg.org/#history-handling-behavior 38387. https://html.spec.whatwg.org/#concept-relevant-global 38388. https://html.spec.whatwg.org/#concept-document-window 38389. https://html.spec.whatwg.org/#fully-active 38390. https://webidl.spec.whatwg.org/#securityerror 38391. https://webidl.spec.whatwg.org/#dfn-DOMException 38392. https://webidl.spec.whatwg.org/#securityerror 38393. https://webidl.spec.whatwg.org/#dfn-DOMException 38394. https://html.spec.whatwg.org/#structuredserializeforstorage 38395. https://dom.spec.whatwg.org/#concept-document-url 38396. https://html.spec.whatwg.org/#encoding-parsing-a-url 38397. https://html.spec.whatwg.org/#relevant-settings-object 38398. https://webidl.spec.whatwg.org/#securityerror 38399. https://webidl.spec.whatwg.org/#dfn-DOMException 38400. https://html.spec.whatwg.org/#can-have-its-url-rewritten 38401. https://webidl.spec.whatwg.org/#securityerror 38402. https://webidl.spec.whatwg.org/#dfn-DOMException 38403. https://html.spec.whatwg.org/#concept-relevant-global 38404. https://html.spec.whatwg.org/#window-navigation-api 38405. https://html.spec.whatwg.org/#fire-a-push/replace/reload-navigate-event 38406. https://html.spec.whatwg.org/#fire-navigate-prr-navigationtype 38407. https://html.spec.whatwg.org/#fire-navigate-prr-issamedocument 38408. https://html.spec.whatwg.org/#fire-navigate-prr-destinationurl 38409. https://html.spec.whatwg.org/#fire-navigate-prr-classichistoryapistate 38410. https://html.spec.whatwg.org/#url-and-history-update-steps 38411. https://html.spec.whatwg.org/#uhus-serializeddata 38412. https://html.spec.whatwg.org/#uhus-historyhandling 38413. https://infra.spec.whatwg.org/#implementation-defined 38414. https://html.spec.whatwg.org/#document 38415. https://html.spec.whatwg.org/#document 38416. https://url.spec.whatwg.org/#concept-url 38417. https://dom.spec.whatwg.org/#concept-document-url 38418. https://url.spec.whatwg.org/#concept-url-scheme 38419. https://url.spec.whatwg.org/#concept-url-username 38420. https://url.spec.whatwg.org/#concept-url-password 38421. https://url.spec.whatwg.org/#concept-url-host 38422. https://url.spec.whatwg.org/#concept-url-port 38423. https://url.spec.whatwg.org/#concept-url-scheme 38424. https://fetch.spec.whatwg.org/#http-scheme 38425. https://url.spec.whatwg.org/#concept-url-path 38426. https://url.spec.whatwg.org/#concept-url-query 38427. https://url.spec.whatwg.org/#concept-url-fragment 38428. https://httpwg.org/specs/rfc7230.html#http.uri 38429. https://httpwg.org/specs/rfc7230.html#https.uri 38430. https://url.spec.whatwg.org/#concept-url-scheme 38431. https://url.spec.whatwg.org/#concept-url-path 38432. https://url.spec.whatwg.org/#concept-url-query 38433. https://url.spec.whatwg.org/#concept-url-fragment 38434. https://url.spec.whatwg.org/#concept-url-path 38435. https://url.spec.whatwg.org/#concept-url-query 38436. https://url.spec.whatwg.org/#concept-url-fragment 38437. https://dom.spec.whatwg.org/#concept-document-url 38438. https://html.spec.whatwg.org/#can-have-its-url-rewritten 38439. https://dom.spec.whatwg.org/#concept-document-url 38440. https://html.spec.whatwg.org/#document 38441. https://dom.spec.whatwg.org/#concept-document-origin 38442. https://html.spec.whatwg.org/#about:blank 38443. https://html.spec.whatwg.org/#document 38444. https://html.spec.whatwg.org/#the-iframe-element 38445. https://html.spec.whatwg.org/#dom-document-domain 38446. https://html.spec.whatwg.org/#dom-history-pushstate 38447. https://html.spec.whatwg.org/#scroll-restoration-mode 38448. https://html.spec.whatwg.org/#dom-history-scroll-restoration 38449. https://html.spec.whatwg.org/#the-script-element 38450. https://html.spec.whatwg.org/#the-head-element 38451. https://html.spec.whatwg.org/#dom-navigation 38452. https://html.spec.whatwg.org/#dom-location 38453. https://html.spec.whatwg.org/#dom-history 38454. https://html.spec.whatwg.org/#session-history-entry 38455. https://html.spec.whatwg.org/#dom-navigation-entries 38456. https://html.spec.whatwg.org/#navigationhistoryentry 38457. https://html.spec.whatwg.org/#dom-navigationhistoryentry-url 38458. https://html.spec.whatwg.org/#dom-navigationhistoryentry-index 38459. https://html.spec.whatwg.org/#navigationhistoryentry 38460. https://html.spec.whatwg.org/#navigable 38461. https://html.spec.whatwg.org/#navigable-container 38462. https://html.spec.whatwg.org/#the-iframe-element 38463. https://html.spec.whatwg.org/#nav-parent 38464. https://html.spec.whatwg.org/#the-iframe-element 38465. https://html.spec.whatwg.org/#navigationhistoryentry 38466. https://html.spec.whatwg.org/#concept-origin 38467. https://html.spec.whatwg.org/#session-history-entry 38468. https://html.spec.whatwg.org/#navigationhistoryentry 38469. https://html.spec.whatwg.org/#concept-origin 38470. https://html.spec.whatwg.org/#dom-navigation-cangoback 38471. https://html.spec.whatwg.org/#session-history-entry 38472. https://html.spec.whatwg.org/#event-navigate 38473. https://html.spec.whatwg.org/#navigable 38474. https://html.spec.whatwg.org/#the-navigateevent-interface 38475. https://html.spec.whatwg.org/#nav-traversal-ui 38476. https://dom.spec.whatwg.org/#dom-event-cancelable 38477. https://dom.spec.whatwg.org/#dom-event-preventdefault 38478. https://dom.spec.whatwg.org/#dom-event-cancelable 38479. https://html.spec.whatwg.org/#dom-navigationtype-traverse 38480. https://html.spec.whatwg.org/#child-navigable 38481. https://dom.spec.whatwg.org/#dom-event-preventdefault 38482. https://html.spec.whatwg.org/#navigateevent 38483. https://html.spec.whatwg.org/#dom-navigateevent-intercept 38484. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-handler 38485. https://html.spec.whatwg.org/#dom-navigation-navigate 38486. https://html.spec.whatwg.org/#navigation 38487. https://dom.spec.whatwg.org/#interface-eventtarget 38488. https://html.spec.whatwg.org/#navigationhistoryentry 38489. https://html.spec.whatwg.org/#dom-navigation-entries 38490. https://html.spec.whatwg.org/#navigationhistoryentry 38491. https://html.spec.whatwg.org/#dom-navigation-currententry 38492. https://html.spec.whatwg.org/#dom-navigation-updatecurrententry 38493. https://html.spec.whatwg.org/#navigationupdatecurrententryoptions 38494. https://html.spec.whatwg.org/#navigationtransition 38495. https://html.spec.whatwg.org/#dom-navigation-transition 38496. https://html.spec.whatwg.org/#navigationactivation 38497. https://html.spec.whatwg.org/#dom-navigation-activation 38498. https://html.spec.whatwg.org/#dom-navigation-cangoback 38499. https://html.spec.whatwg.org/#dom-navigation-cangoforward 38500. https://html.spec.whatwg.org/#navigationresult 38501. https://html.spec.whatwg.org/#dom-navigation-navigate 38502. https://html.spec.whatwg.org/#navigationnavigateoptions 38503. https://html.spec.whatwg.org/#navigationresult 38504. https://html.spec.whatwg.org/#dom-navigation-reload 38505. https://html.spec.whatwg.org/#navigationreloadoptions 38506. https://html.spec.whatwg.org/#navigationresult 38507. https://html.spec.whatwg.org/#dom-navigation-traverseto 38508. https://html.spec.whatwg.org/#navigationoptions 38509. https://html.spec.whatwg.org/#navigationresult 38510. https://html.spec.whatwg.org/#dom-navigation-back 38511. https://html.spec.whatwg.org/#navigationoptions 38512. https://html.spec.whatwg.org/#navigationresult 38513. https://html.spec.whatwg.org/#dom-navigation-forward 38514. https://html.spec.whatwg.org/#navigationoptions 38515. https://html.spec.whatwg.org/#eventhandler 38516. https://html.spec.whatwg.org/#handler-navigation-onnavigate 38517. https://html.spec.whatwg.org/#eventhandler 38518. https://html.spec.whatwg.org/#handler-navigation-onnavigatesuccess 38519. https://html.spec.whatwg.org/#eventhandler 38520. https://html.spec.whatwg.org/#handler-navigation-onnavigateerror 38521. https://html.spec.whatwg.org/#eventhandler 38522. https://html.spec.whatwg.org/#handler-navigation-oncurrententrychange 38523. https://html.spec.whatwg.org/#navigationoptions 38524. https://html.spec.whatwg.org/#navigationhistorybehavior 38525. https://html.spec.whatwg.org/#navigationhistorybehavior-auto 38526. https://html.spec.whatwg.org/#navigationoptions 38527. https://webidl.spec.whatwg.org/#idl-promise 38528. https://html.spec.whatwg.org/#navigationhistoryentry 38529. https://webidl.spec.whatwg.org/#idl-promise 38530. https://html.spec.whatwg.org/#navigationhistoryentry 38531. https://html.spec.whatwg.org/#navigationhistorybehavior-auto 38532. https://html.spec.whatwg.org/#navigationhistorybehavior-push 38533. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 38534. https://html.spec.whatwg.org/#window 38535. https://html.spec.whatwg.org/#navigation 38536. https://html.spec.whatwg.org/#window 38537. https://html.spec.whatwg.org/#window-navigation-api 38538. https://webidl.spec.whatwg.org/#new 38539. https://html.spec.whatwg.org/#navigation 38540. https://html.spec.whatwg.org/#window 38541. https://html.spec.whatwg.org/#concept-relevant-realm 38542. https://webidl.spec.whatwg.org/#this 38543. https://html.spec.whatwg.org/#window-navigation-api 38544. https://html.spec.whatwg.org/#event-handlers 38545. https://html.spec.whatwg.org/#event-handler-event-type 38546. https://html.spec.whatwg.org/#event-handler-idl-attributes 38547. https://html.spec.whatwg.org/#navigation 38548. https://html.spec.whatwg.org/#event-handlers 38549. https://html.spec.whatwg.org/#event-handler-event-type 38550. https://html.spec.whatwg.org/#event-navigate 38551. https://html.spec.whatwg.org/#event-navigatesuccess 38552. https://html.spec.whatwg.org/#event-navigateerror 38553. https://html.spec.whatwg.org/#event-currententrychange 38554. https://html.spec.whatwg.org/#navigation 38555. https://infra.spec.whatwg.org/#list 38556. https://html.spec.whatwg.org/#navigationhistoryentry 38557. https://html.spec.whatwg.org/#navigation 38558. https://html.spec.whatwg.org/#navigation 38559. https://html.spec.whatwg.org/#has-entries-and-events-disabled 38560. https://infra.spec.whatwg.org/#assert 38561. https://html.spec.whatwg.org/#navigation-current-entry-index 38562. https://html.spec.whatwg.org/#navigation-entry-list 38563. https://html.spec.whatwg.org/#navigation-current-entry-index 38564. https://html.spec.whatwg.org/#navigation 38565. https://html.spec.whatwg.org/#concept-relevant-global 38566. https://html.spec.whatwg.org/#concept-document-window 38567. https://html.spec.whatwg.org/#fully-active 38568. https://html.spec.whatwg.org/#is-initial-about:blank 38569. https://dom.spec.whatwg.org/#concept-document-origin 38570. https://html.spec.whatwg.org/#concept-origin-opaque 38571. https://html.spec.whatwg.org/#session-history-entry 38572. https://html.spec.whatwg.org/#navigation 38573. https://infra.spec.whatwg.org/#list-iterate 38574. https://html.spec.whatwg.org/#navigation-entry-list 38575. https://html.spec.whatwg.org/#nhe-she 38576. https://html.spec.whatwg.org/#navigationtype 38577. https://html.spec.whatwg.org/#dom-navigationtype-push 38578. https://html.spec.whatwg.org/#dom-navigationtype-replace 38579. https://html.spec.whatwg.org/#dom-navigationtype-reload 38580. https://html.spec.whatwg.org/#dom-navigationtype-traverse 38581. https://html.spec.whatwg.org/#note-meaning-of-navigate 38582. https://html.spec.whatwg.org/#navigate 38583. https://html.spec.whatwg.org/#navigate 38584. https://html.spec.whatwg.org/#history-handling-behavior 38585. https://html.spec.whatwg.org/#navigationhistorybehavior-push 38586. https://html.spec.whatwg.org/#dom-history-pushstate 38587. https://html.spec.whatwg.org/#navigate 38588. https://html.spec.whatwg.org/#history-handling-behavior 38589. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 38590. https://html.spec.whatwg.org/#dom-history-pushstate 38591. https://html.spec.whatwg.org/#reload 38592. https://html.spec.whatwg.org/#traverse-the-history-by-a-delta 38593. https://html.spec.whatwg.org/#navigationtype 38594. https://html.spec.whatwg.org/#history-handling-behavior 38595. https://html.spec.whatwg.org/#history-handling-behavior 38596. https://html.spec.whatwg.org/#navigationtype 38597. https://html.spec.whatwg.org/#navigation 38598. https://infra.spec.whatwg.org/#list 38599. https://html.spec.whatwg.org/#session-history-entry 38600. https://html.spec.whatwg.org/#session-history-entry 38601. https://infra.spec.whatwg.org/#assert 38602. https://html.spec.whatwg.org/#navigation-entry-list 38603. https://infra.spec.whatwg.org/#list-is-empty 38604. https://infra.spec.whatwg.org/#assert 38605. https://html.spec.whatwg.org/#navigation-current-entry-index 38606. https://html.spec.whatwg.org/#has-entries-and-events-disabled 38607. https://infra.spec.whatwg.org/#list-iterate 38608. https://webidl.spec.whatwg.org/#new 38609. https://html.spec.whatwg.org/#navigationhistoryentry 38610. https://html.spec.whatwg.org/#concept-relevant-realm 38611. https://html.spec.whatwg.org/#nhe-she 38612. https://infra.spec.whatwg.org/#list-append 38613. https://html.spec.whatwg.org/#navigation-entry-list 38614. https://html.spec.whatwg.org/#getting-session-history-entries-for-the-navigation-api 38615. https://html.spec.whatwg.org/#same-origin 38616. https://html.spec.whatwg.org/#document-state-origin 38617. https://html.spec.whatwg.org/#navigation-current-entry-index 38618. https://html.spec.whatwg.org/#getting-the-navigation-api-entry-index 38619. https://html.spec.whatwg.org/#navigation 38620. https://infra.spec.whatwg.org/#list 38621. https://html.spec.whatwg.org/#session-history-entry 38622. https://html.spec.whatwg.org/#session-history-entry 38623. https://html.spec.whatwg.org/#has-entries-and-events-disabled 38624. https://infra.spec.whatwg.org/#list 38625. https://infra.spec.whatwg.org/#list-clone 38626. https://html.spec.whatwg.org/#navigation-entry-list 38627. https://infra.spec.whatwg.org/#list-iterate 38628. https://infra.spec.whatwg.org/#list-contain 38629. https://html.spec.whatwg.org/#navigationhistoryentry 38630. https://html.spec.whatwg.org/#nhe-she 38631. https://infra.spec.whatwg.org/#list-remove 38632. https://webidl.spec.whatwg.org/#new 38633. https://html.spec.whatwg.org/#navigationhistoryentry 38634. https://html.spec.whatwg.org/#concept-relevant-realm 38635. https://html.spec.whatwg.org/#nhe-she 38636. https://infra.spec.whatwg.org/#list-append 38637. https://html.spec.whatwg.org/#getting-session-history-entries-for-the-navigation-api 38638. https://html.spec.whatwg.org/#same-origin 38639. https://html.spec.whatwg.org/#document-state-origin 38640. https://html.spec.whatwg.org/#navigationhistoryentry 38641. https://html.spec.whatwg.org/#session-history-entry 38642. https://html.spec.whatwg.org/#document 38643. https://html.spec.whatwg.org/#note-bfcache 38644. https://html.spec.whatwg.org/#entry-list 38645. https://html.spec.whatwg.org/#navigation-current-entry-index 38646. https://html.spec.whatwg.org/#getting-the-navigation-api-entry-index 38647. https://html.spec.whatwg.org/#queue-a-global-task 38648. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 38649. https://html.spec.whatwg.org/#concept-relevant-global 38650. https://infra.spec.whatwg.org/#list-iterate 38651. https://dom.spec.whatwg.org/#concept-event-fire 38652. https://html.spec.whatwg.org/#event-dispose 38653. https://html.spec.whatwg.org/#event-dispose 38654. https://html.spec.whatwg.org/#event-pageshow 38655. https://html.spec.whatwg.org/#event-pageshow 38656. https://html.spec.whatwg.org/#reactivate-a-document 38657. https://html.spec.whatwg.org/#event-pageshow 38658. https://html.spec.whatwg.org/#dom-navigation-entries 38659. https://html.spec.whatwg.org/#dom-navigation-currententry 38660. https://html.spec.whatwg.org/#event-pageshow 38661. https://html.spec.whatwg.org/#navigation 38662. https://html.spec.whatwg.org/#session-history-entry 38663. https://html.spec.whatwg.org/#navigationtype 38664. https://html.spec.whatwg.org/#has-entries-and-events-disabled 38665. https://html.spec.whatwg.org/#navigation-current-entry 38666. https://infra.spec.whatwg.org/#list 38667. https://html.spec.whatwg.org/#dom-navigationtype-traverse 38668. https://html.spec.whatwg.org/#navigation-current-entry-index 38669. https://html.spec.whatwg.org/#getting-the-navigation-api-entry-index 38670. https://infra.spec.whatwg.org/#assert 38671. https://html.spec.whatwg.org/#navigation-current-entry-index 38672. https://html.spec.whatwg.org/#initialize-the-navigation-api-entries-for-a-new-document 38673. https://html.spec.whatwg.org/#update-the-navigation-api-entries-for-reactivation 38674. https://html.spec.whatwg.org/#dom-navigationtype-push 38675. https://html.spec.whatwg.org/#navigation-current-entry-index 38676. https://html.spec.whatwg.org/#navigation-current-entry-index 38677. https://html.spec.whatwg.org/#navigation-current-entry-index 38678. https://infra.spec.whatwg.org/#iteration-while 38679. https://html.spec.whatwg.org/#navigation-entry-list 38680. https://infra.spec.whatwg.org/#list-size 38681. https://infra.spec.whatwg.org/#list-append 38682. https://html.spec.whatwg.org/#navigation-entry-list 38683. https://infra.spec.whatwg.org/#list-remove 38684. https://html.spec.whatwg.org/#navigation-entry-list 38685. https://html.spec.whatwg.org/#dom-navigationtype-replace 38686. https://infra.spec.whatwg.org/#list-append 38687. https://html.spec.whatwg.org/#dom-navigationtype-push 38688. https://html.spec.whatwg.org/#dom-navigationtype-replace 38689. https://webidl.spec.whatwg.org/#new 38690. https://html.spec.whatwg.org/#navigationhistoryentry 38691. https://html.spec.whatwg.org/#concept-relevant-realm 38692. https://html.spec.whatwg.org/#nhe-she 38693. https://html.spec.whatwg.org/#navigation-entry-list 38694. https://html.spec.whatwg.org/#navigation-current-entry-index 38695. https://html.spec.whatwg.org/#ongoing-api-method-tracker 38696. https://html.spec.whatwg.org/#notify-about-the-committed-to-entry 38697. https://html.spec.whatwg.org/#ongoing-api-method-tracker 38698. https://html.spec.whatwg.org/#navigation-current-entry 38699. https://html.spec.whatwg.org/#event-dispose 38700. https://html.spec.whatwg.org/#event-currententrychange 38701. https://html.spec.whatwg.org/#ongoing-api-method-tracker 38702. https://html.spec.whatwg.org/#prepare-to-run-script 38703. https://html.spec.whatwg.org/#relevant-settings-object 38704. https://html.spec.whatwg.org/#note-suppress-microtasks-during-navigation-events 38705. https://dom.spec.whatwg.org/#concept-event-fire 38706. https://html.spec.whatwg.org/#event-currententrychange 38707. https://html.spec.whatwg.org/#navigationcurrententrychangeevent 38708. https://html.spec.whatwg.org/#dom-navigationcurrententrychangeevent-navigationtype 38709. https://html.spec.whatwg.org/#dom-navigationcurrententrychangeevent-from 38710. https://infra.spec.whatwg.org/#list-iterate 38711. https://dom.spec.whatwg.org/#concept-event-fire 38712. https://html.spec.whatwg.org/#event-dispose 38713. https://html.spec.whatwg.org/#clean-up-after-running-script 38714. https://html.spec.whatwg.org/#relevant-settings-object 38715. https://html.spec.whatwg.org/#session-history-entry 38716. https://github.com/whatwg/html/issues/8620 38717. https://html.spec.whatwg.org/#navigationhistoryentry 38718. https://dom.spec.whatwg.org/#interface-eventtarget 38719. https://html.spec.whatwg.org/#dom-navigationhistoryentry-url 38720. https://html.spec.whatwg.org/#dom-navigationhistoryentry-key 38721. https://html.spec.whatwg.org/#dom-navigationhistoryentry-id 38722. https://html.spec.whatwg.org/#dom-navigationhistoryentry-index 38723. https://html.spec.whatwg.org/#dom-navigationhistoryentry-samedocument 38724. https://html.spec.whatwg.org/#dom-navigationhistoryentry-getstate 38725. https://html.spec.whatwg.org/#eventhandler 38726. https://html.spec.whatwg.org/#handler-navigationhistoryentry-ondispose 38727. https://html.spec.whatwg.org/#dom-navigationhistoryentry-url 38728. https://html.spec.whatwg.org/#document 38729. https://html.spec.whatwg.org/#dom-navigationhistoryentry-samedocument 38730. https://html.spec.whatwg.org/#document 38731. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 38732. https://html.spec.whatwg.org/#document 38733. https://html.spec.whatwg.org/#dom-navigationhistoryentry-key 38734. https://html.spec.whatwg.org/#navigationhistoryentry 38735. https://html.spec.whatwg.org/#dom-navigationtype-replace 38736. https://html.spec.whatwg.org/#dom-navigation-traverseto 38737. https://html.spec.whatwg.org/#dom-navigationhistoryentry-id 38738. https://html.spec.whatwg.org/#navigationhistoryentry 38739. https://html.spec.whatwg.org/#dom-navigationhistoryentry-index 38740. https://html.spec.whatwg.org/#navigationhistoryentry 38741. https://html.spec.whatwg.org/#dom-navigation-entries 38742. https://html.spec.whatwg.org/#dom-navigationhistoryentry-samedocument 38743. https://html.spec.whatwg.org/#document 38744. https://html.spec.whatwg.org/#dom-navigationhistoryentry-getstate 38745. https://html.spec.whatwg.org/#structureddeserialize 38746. https://html.spec.whatwg.org/#dom-navigation-navigate 38747. https://html.spec.whatwg.org/#dom-navigation-updatecurrententry 38748. https://html.spec.whatwg.org/#dom-history-state 38749. https://html.spec.whatwg.org/#navigationhistoryentry 38750. https://html.spec.whatwg.org/#session-history-entry 38751. https://html.spec.whatwg.org/#navigationhistoryentry 38752. https://html.spec.whatwg.org/#concept-relevant-global 38753. https://html.spec.whatwg.org/#concept-document-window 38754. https://html.spec.whatwg.org/#fully-active 38755. https://html.spec.whatwg.org/#nhe-she 38756. https://html.spec.whatwg.org/#she-navigation-api-key 38757. https://html.spec.whatwg.org/#navigationhistoryentry 38758. https://html.spec.whatwg.org/#concept-relevant-global 38759. https://html.spec.whatwg.org/#concept-document-window 38760. https://html.spec.whatwg.org/#fully-active 38761. https://html.spec.whatwg.org/#nhe-she 38762. https://html.spec.whatwg.org/#she-navigation-api-id 38763. https://html.spec.whatwg.org/#navigationhistoryentry 38764. https://html.spec.whatwg.org/#concept-relevant-global 38765. https://html.spec.whatwg.org/#concept-document-window 38766. https://html.spec.whatwg.org/#fully-active 38767. https://html.spec.whatwg.org/#getting-the-navigation-api-entry-index 38768. https://webidl.spec.whatwg.org/#this 38769. https://html.spec.whatwg.org/#nhe-she 38770. https://webidl.spec.whatwg.org/#this 38771. https://html.spec.whatwg.org/#concept-relevant-global 38772. https://html.spec.whatwg.org/#window-navigation-api 38773. https://webidl.spec.whatwg.org/#this 38774. https://html.spec.whatwg.org/#concept-relevant-global 38775. https://html.spec.whatwg.org/#concept-document-window 38776. https://html.spec.whatwg.org/#fully-active 38777. https://webidl.spec.whatwg.org/#this 38778. https://html.spec.whatwg.org/#nhe-she 38779. https://html.spec.whatwg.org/#she-document 38780. https://html.spec.whatwg.org/#she-document-state 38781. https://html.spec.whatwg.org/#document-state-request-referrer-policy 38782. https://html.spec.whatwg.org/#she-url 38783. https://url.spec.whatwg.org/#concept-url-serializer 38784. https://webidl.spec.whatwg.org/#this 38785. https://html.spec.whatwg.org/#concept-navigationhistoryentry-key 38786. https://webidl.spec.whatwg.org/#this 38787. https://html.spec.whatwg.org/#concept-navigationhistoryentry-id 38788. https://webidl.spec.whatwg.org/#this 38789. https://html.spec.whatwg.org/#concept-navigationhistoryentry-index 38790. https://webidl.spec.whatwg.org/#this 38791. https://html.spec.whatwg.org/#concept-relevant-global 38792. https://html.spec.whatwg.org/#concept-document-window 38793. https://html.spec.whatwg.org/#fully-active 38794. https://webidl.spec.whatwg.org/#this 38795. https://html.spec.whatwg.org/#nhe-she 38796. https://html.spec.whatwg.org/#she-document 38797. https://webidl.spec.whatwg.org/#this 38798. https://html.spec.whatwg.org/#concept-relevant-global 38799. https://html.spec.whatwg.org/#concept-document-window 38800. https://html.spec.whatwg.org/#fully-active 38801. https://html.spec.whatwg.org/#structureddeserialize 38802. https://webidl.spec.whatwg.org/#this 38803. https://html.spec.whatwg.org/#nhe-she 38804. https://html.spec.whatwg.org/#she-navigation-api-state 38805. https://webidl.spec.whatwg.org/#idl-ArrayBuffer 38806. https://html.spec.whatwg.org/#event-handlers 38807. https://html.spec.whatwg.org/#event-handler-event-type 38808. https://html.spec.whatwg.org/#event-handler-idl-attributes 38809. https://html.spec.whatwg.org/#navigationhistoryentry 38810. https://html.spec.whatwg.org/#event-handlers 38811. https://html.spec.whatwg.org/#event-handler-event-type 38812. https://html.spec.whatwg.org/#event-dispose 38813. https://html.spec.whatwg.org/#dom-navigation 38814. https://html.spec.whatwg.org/#dom-navigation-entries 38815. https://html.spec.whatwg.org/#navigationhistoryentry 38816. https://html.spec.whatwg.org/#session-history-entry 38817. https://html.spec.whatwg.org/#navigable 38818. https://html.spec.whatwg.org/#same-origin 38819. https://html.spec.whatwg.org/#nav-current-history-entry 38820. https://html.spec.whatwg.org/#dom-navigation 38821. https://html.spec.whatwg.org/#dom-navigation-currententry 38822. https://html.spec.whatwg.org/#navigationhistoryentry 38823. https://html.spec.whatwg.org/#nav-current-history-entry 38824. https://html.spec.whatwg.org/#dom-navigation 38825. https://html.spec.whatwg.org/#dom-navigation-updatecurrententry 38826. https://html.spec.whatwg.org/#dom-navigationupdatecurrententryoptions-state 38827. https://html.spec.whatwg.org/#she-navigation-api-state 38828. https://html.spec.whatwg.org/#nav-current-history-entry 38829. https://html.spec.whatwg.org/#dom-navigation-reload 38830. https://html.spec.whatwg.org/#dom-navigation-navigate 38831. https://html.spec.whatwg.org/#dom-navigation-reload 38832. https://html.spec.whatwg.org/#event-navigate 38833. https://html.spec.whatwg.org/#dom-navigation 38834. https://html.spec.whatwg.org/#dom-navigation-cangoback 38835. https://html.spec.whatwg.org/#nav-current-history-entry 38836. https://html.spec.whatwg.org/#dom-navigation-currententry 38837. https://html.spec.whatwg.org/#dom-navigation-entries 38838. https://html.spec.whatwg.org/#session-history-entry 38839. https://html.spec.whatwg.org/#navigable 38840. https://html.spec.whatwg.org/#she-document-state 38841. https://html.spec.whatwg.org/#document-state-origin 38842. https://html.spec.whatwg.org/#same-origin 38843. https://html.spec.whatwg.org/#document 38844. https://dom.spec.whatwg.org/#concept-document-origin 38845. https://html.spec.whatwg.org/#dom-navigation 38846. https://html.spec.whatwg.org/#dom-navigation-cangoforward 38847. https://html.spec.whatwg.org/#nav-current-history-entry 38848. https://html.spec.whatwg.org/#dom-navigation-currententry 38849. https://html.spec.whatwg.org/#dom-navigation-entries 38850. https://html.spec.whatwg.org/#session-history-entry 38851. https://html.spec.whatwg.org/#navigable 38852. https://html.spec.whatwg.org/#she-document-state 38853. https://html.spec.whatwg.org/#document-state-origin 38854. https://html.spec.whatwg.org/#same-origin 38855. https://html.spec.whatwg.org/#document 38856. https://dom.spec.whatwg.org/#concept-document-origin 38857. https://webidl.spec.whatwg.org/#this 38858. https://html.spec.whatwg.org/#has-entries-and-events-disabled 38859. https://webidl.spec.whatwg.org/#this 38860. https://html.spec.whatwg.org/#navigation-entry-list 38861. https://html.spec.whatwg.org/#dom-navigation-entries 38862. https://html.spec.whatwg.org/#dom-navigation-entries 38863. https://html.spec.whatwg.org/#navigation-current-entry 38864. https://webidl.spec.whatwg.org/#this 38865. https://html.spec.whatwg.org/#navigation-current-entry 38866. https://webidl.spec.whatwg.org/#this 38867. https://webidl.spec.whatwg.org/#invalidstateerror 38868. https://webidl.spec.whatwg.org/#dfn-DOMException 38869. https://html.spec.whatwg.org/#structuredserializeforstorage 38870. https://html.spec.whatwg.org/#dom-navigationupdatecurrententryoptions-state 38871. https://html.spec.whatwg.org/#nhe-she 38872. https://html.spec.whatwg.org/#she-navigation-api-state 38873. https://dom.spec.whatwg.org/#concept-event-fire 38874. https://html.spec.whatwg.org/#event-currententrychange 38875. https://webidl.spec.whatwg.org/#this 38876. https://html.spec.whatwg.org/#navigationcurrententrychangeevent 38877. https://html.spec.whatwg.org/#dom-navigationcurrententrychangeevent-navigationtype 38878. https://html.spec.whatwg.org/#dom-navigationcurrententrychangeevent-from 38879. https://webidl.spec.whatwg.org/#this 38880. https://html.spec.whatwg.org/#has-entries-and-events-disabled 38881. https://infra.spec.whatwg.org/#assert 38882. https://webidl.spec.whatwg.org/#this 38883. https://html.spec.whatwg.org/#navigation-current-entry-index 38884. https://webidl.spec.whatwg.org/#this 38885. https://html.spec.whatwg.org/#navigation-current-entry-index 38886. https://webidl.spec.whatwg.org/#this 38887. https://html.spec.whatwg.org/#has-entries-and-events-disabled 38888. https://infra.spec.whatwg.org/#assert 38889. https://webidl.spec.whatwg.org/#this 38890. https://html.spec.whatwg.org/#navigation-current-entry-index 38891. https://webidl.spec.whatwg.org/#this 38892. https://html.spec.whatwg.org/#navigation-current-entry-index 38893. https://webidl.spec.whatwg.org/#this 38894. https://html.spec.whatwg.org/#navigation-entry-list 38895. https://infra.spec.whatwg.org/#list-size 38896. https://html.spec.whatwg.org/#dom-navigationresult-committed 38897. https://html.spec.whatwg.org/#dom-navigationresult-finished 38898. https://html.spec.whatwg.org/#dom-navigation 38899. https://html.spec.whatwg.org/#dom-navigation-navigate 38900. https://html.spec.whatwg.org/#dom-navigationresult-committed 38901. https://html.spec.whatwg.org/#dom-navigationresult-finished 38902. https://html.spec.whatwg.org/#dom-navigation 38903. https://html.spec.whatwg.org/#dom-navigation-navigate 38904. https://html.spec.whatwg.org/#navigate 38905. https://html.spec.whatwg.org/#dom-navigationnavigateoptions-history 38906. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 38907. https://html.spec.whatwg.org/#dom-navigationoptions-info 38908. https://html.spec.whatwg.org/#dom-navigateevent-info 38909. https://html.spec.whatwg.org/#navigateevent 38910. https://html.spec.whatwg.org/#dom-navigationnavigateoptions-state 38911. https://html.spec.whatwg.org/#serializable-objects 38912. https://html.spec.whatwg.org/#dom-navigationhistoryentry-getstate 38913. https://url.spec.whatwg.org/#concept-url-fragment 38914. https://html.spec.whatwg.org/#dom-navigateevent-intercept 38915. https://webidl.spec.whatwg.org/#aborterror 38916. https://webidl.spec.whatwg.org/#dfn-DOMException 38917. https://html.spec.whatwg.org/#dom-navigateevent-intercept 38918. https://html.spec.whatwg.org/#dom-navigationresult-committed 38919. https://html.spec.whatwg.org/#dom-navigationresult-finished 38920. https://html.spec.whatwg.org/#dom-navigateevent-intercept 38921. https://html.spec.whatwg.org/#navigate-fragid 38922. https://fetch.spec.whatwg.org/#concept-response-status 38923. https://httpwg.org/specs/rfc6266.html 38924. https://html.spec.whatwg.org/#navigationhistoryentry 38925. https://html.spec.whatwg.org/#dom-navigationresult-committed 38926. https://html.spec.whatwg.org/#dom-navigationresult-finished 38927. https://html.spec.whatwg.org/#dom-navigation 38928. https://html.spec.whatwg.org/#dom-navigation-reload 38929. https://html.spec.whatwg.org/#reload 38930. https://html.spec.whatwg.org/#dom-navigationoptions-info 38931. https://html.spec.whatwg.org/#dom-navigationreloadoptions-state 38932. https://html.spec.whatwg.org/#dom-navigateevent-intercept 38933. https://html.spec.whatwg.org/#dom-navigationoptions-info 38934. https://html.spec.whatwg.org/#event-navigate 38935. https://html.spec.whatwg.org/#dom-navigateevent-intercept 38936. https://html.spec.whatwg.org/#dom-navigationresult-committed 38937. https://html.spec.whatwg.org/#dom-navigationresult-finished 38938. https://html.spec.whatwg.org/#dom-navigateevent-intercept 38939. https://html.spec.whatwg.org/#dom-navigationresult-committed 38940. https://html.spec.whatwg.org/#dom-navigationresult-finished 38941. https://html.spec.whatwg.org/#dom-navigation 38942. https://html.spec.whatwg.org/#dom-navigation-traverseto 38943. https://html.spec.whatwg.org/#dom-navigationresult-committed 38944. https://html.spec.whatwg.org/#dom-navigationresult-finished 38945. https://html.spec.whatwg.org/#dom-navigation 38946. https://html.spec.whatwg.org/#dom-navigation-traverseto 38947. https://html.spec.whatwg.org/#dom-navigationoptions-info 38948. https://html.spec.whatwg.org/#apply-the-traverse-history-step 38949. https://html.spec.whatwg.org/#session-history-entry 38950. https://html.spec.whatwg.org/#navigationhistoryentry 38951. https://html.spec.whatwg.org/#dom-navigationoptions-info 38952. https://html.spec.whatwg.org/#dom-navigateevent-info 38953. https://html.spec.whatwg.org/#navigateevent 38954. https://html.spec.whatwg.org/#session-history-entry 38955. https://html.spec.whatwg.org/#dom-navigateevent-info 38956. https://html.spec.whatwg.org/#navigationhistoryentry 38957. https://html.spec.whatwg.org/#dom-navigation-entries 38958. https://html.spec.whatwg.org/#dom-navigationhistoryentry-key 38959. https://webidl.spec.whatwg.org/#invalidstateerror 38960. https://webidl.spec.whatwg.org/#dfn-DOMException 38961. https://html.spec.whatwg.org/#dom-navigateevent-intercept 38962. https://html.spec.whatwg.org/#dom-navigationresult-committed 38963. https://html.spec.whatwg.org/#dom-navigation-currententry 38964. https://html.spec.whatwg.org/#dom-navigationresult-finished 38965. https://html.spec.whatwg.org/#dom-navigateevent-intercept 38966. https://html.spec.whatwg.org/#dom-navigation-currententry 38967. https://fetch.spec.whatwg.org/#concept-response-status 38968. https://httpwg.org/specs/rfc6266.html 38969. https://html.spec.whatwg.org/#dom-navigationresult-committed 38970. https://html.spec.whatwg.org/#dom-navigationresult-finished 38971. https://html.spec.whatwg.org/#dom-navigation 38972. https://html.spec.whatwg.org/#dom-navigation-back 38973. https://html.spec.whatwg.org/#dom-navigationresult-committed 38974. https://html.spec.whatwg.org/#dom-navigationresult-finished 38975. https://html.spec.whatwg.org/#dom-navigation 38976. https://html.spec.whatwg.org/#dom-navigation-back 38977. https://html.spec.whatwg.org/#dom-navigationoptions-info 38978. https://html.spec.whatwg.org/#session-history-entry 38979. https://html.spec.whatwg.org/#navigable 38980. https://html.spec.whatwg.org/#navigationhistoryentry 38981. https://html.spec.whatwg.org/#dom-navigation-currententry 38982. https://html.spec.whatwg.org/#dom-navigationoptions-info 38983. https://html.spec.whatwg.org/#dom-navigateevent-info 38984. https://html.spec.whatwg.org/#navigateevent 38985. https://html.spec.whatwg.org/#session-history-entry 38986. https://html.spec.whatwg.org/#dom-navigateevent-info 38987. https://html.spec.whatwg.org/#dom-navigation-traverseto 38988. https://html.spec.whatwg.org/#dom-navigationresult-committed 38989. https://html.spec.whatwg.org/#dom-navigationresult-finished 38990. https://html.spec.whatwg.org/#dom-navigation 38991. https://html.spec.whatwg.org/#dom-navigation-forward 38992. https://html.spec.whatwg.org/#dom-navigationresult-committed 38993. https://html.spec.whatwg.org/#dom-navigationresult-finished 38994. https://html.spec.whatwg.org/#dom-navigation 38995. https://html.spec.whatwg.org/#dom-navigation-forward 38996. https://html.spec.whatwg.org/#dom-navigationoptions-info 38997. https://html.spec.whatwg.org/#session-history-entry 38998. https://html.spec.whatwg.org/#navigable 38999. https://html.spec.whatwg.org/#navigationhistoryentry 39000. https://html.spec.whatwg.org/#dom-navigation-currententry 39001. https://html.spec.whatwg.org/#dom-navigationoptions-info 39002. https://html.spec.whatwg.org/#dom-navigateevent-info 39003. https://html.spec.whatwg.org/#navigateevent 39004. https://html.spec.whatwg.org/#session-history-entry 39005. https://html.spec.whatwg.org/#dom-navigateevent-info 39006. https://html.spec.whatwg.org/#dom-navigation-traverseto 39007. https://html.spec.whatwg.org/#parse-a-url 39008. https://webidl.spec.whatwg.org/#this 39009. https://html.spec.whatwg.org/#relevant-settings-object 39010. https://html.spec.whatwg.org/#navigation-api-early-error-result 39011. https://webidl.spec.whatwg.org/#syntaxerror 39012. https://webidl.spec.whatwg.org/#dfn-DOMException 39013. https://webidl.spec.whatwg.org/#this 39014. https://html.spec.whatwg.org/#concept-relevant-global 39015. https://html.spec.whatwg.org/#concept-document-window 39016. https://html.spec.whatwg.org/#dom-navigationnavigateoptions-history 39017. https://html.spec.whatwg.org/#navigationhistorybehavior-push 39018. https://html.spec.whatwg.org/#the-navigation-must-be-a-replace 39019. https://html.spec.whatwg.org/#navigation-api-early-error-result 39020. https://webidl.spec.whatwg.org/#notsupportederror 39021. https://webidl.spec.whatwg.org/#dfn-DOMException 39022. https://html.spec.whatwg.org/#dom-navigationnavigateoptions-state 39023. https://infra.spec.whatwg.org/#map-exists 39024. https://html.spec.whatwg.org/#structuredserializeforstorage 39025. https://html.spec.whatwg.org/#navigation-api-early-error-result 39026. https://html.spec.whatwg.org/#fully-active 39027. https://html.spec.whatwg.org/#navigation-api-early-error-result 39028. https://webidl.spec.whatwg.org/#invalidstateerror 39029. https://webidl.spec.whatwg.org/#dfn-DOMException 39030. https://html.spec.whatwg.org/#unload-counter 39031. https://html.spec.whatwg.org/#navigation-api-early-error-result 39032. https://webidl.spec.whatwg.org/#invalidstateerror 39033. https://webidl.spec.whatwg.org/#dfn-DOMException 39034. https://html.spec.whatwg.org/#dom-navigationoptions-info 39035. https://infra.spec.whatwg.org/#map-exists 39036. https://html.spec.whatwg.org/#maybe-set-the-upcoming-non-traverse-api-method-tracker 39037. https://webidl.spec.whatwg.org/#this 39038. https://html.spec.whatwg.org/#navigate 39039. https://html.spec.whatwg.org/#node-navigable 39040. https://html.spec.whatwg.org/#navigation-hh 39041. https://html.spec.whatwg.org/#dom-navigationnavigateoptions-history 39042. https://html.spec.whatwg.org/#navigation-navigation-api-state 39043. https://html.spec.whatwg.org/#dom-location-assign 39044. https://html.spec.whatwg.org/#same-origin-domain 39045. https://html.spec.whatwg.org/#dom-navigation-navigate 39046. https://html.spec.whatwg.org/#dom-navigation 39047. https://html.spec.whatwg.org/#allowed-to-navigate 39048. https://html.spec.whatwg.org/#exceptions-enabled 39049. https://html.spec.whatwg.org/#document 39050. https://html.spec.whatwg.org/#navigation 39051. https://webidl.spec.whatwg.org/#this 39052. https://html.spec.whatwg.org/#upcoming-non-traverse-api-method-tracker 39053. https://html.spec.whatwg.org/#upcoming-non-traverse-api-method-tracker 39054. https://html.spec.whatwg.org/#navigate 39055. https://html.spec.whatwg.org/#inner-navigate-event-firing-algorithm 39056. https://html.spec.whatwg.org/#promote-an-upcoming-api-method-tracker-to-ongoing 39057. https://webidl.spec.whatwg.org/#this 39058. https://html.spec.whatwg.org/#upcoming-non-traverse-api-method-tracker 39059. https://html.spec.whatwg.org/#navigation-api-early-error-result 39060. https://webidl.spec.whatwg.org/#aborterror 39061. https://webidl.spec.whatwg.org/#dfn-DOMException 39062. https://html.spec.whatwg.org/#navigation-api-method-tracker-derived-result 39063. https://webidl.spec.whatwg.org/#this 39064. https://html.spec.whatwg.org/#concept-relevant-global 39065. https://html.spec.whatwg.org/#concept-document-window 39066. https://html.spec.whatwg.org/#structuredserializeforstorage 39067. https://html.spec.whatwg.org/#dom-navigationreloadoptions-state 39068. https://infra.spec.whatwg.org/#map-exists 39069. https://html.spec.whatwg.org/#structuredserializeforstorage 39070. https://html.spec.whatwg.org/#dom-navigationreloadoptions-state 39071. https://html.spec.whatwg.org/#navigation-api-early-error-result 39072. https://html.spec.whatwg.org/#navigation-current-entry 39073. https://webidl.spec.whatwg.org/#this 39074. https://html.spec.whatwg.org/#nhe-she 39075. https://html.spec.whatwg.org/#she-navigation-api-state 39076. https://html.spec.whatwg.org/#fully-active 39077. https://html.spec.whatwg.org/#navigation-api-early-error-result 39078. https://webidl.spec.whatwg.org/#invalidstateerror 39079. https://webidl.spec.whatwg.org/#dfn-DOMException 39080. https://html.spec.whatwg.org/#unload-counter 39081. https://html.spec.whatwg.org/#navigation-api-early-error-result 39082. https://webidl.spec.whatwg.org/#invalidstateerror 39083. https://webidl.spec.whatwg.org/#dfn-DOMException 39084. https://html.spec.whatwg.org/#dom-navigationoptions-info 39085. https://infra.spec.whatwg.org/#map-exists 39086. https://html.spec.whatwg.org/#maybe-set-the-upcoming-non-traverse-api-method-tracker 39087. https://webidl.spec.whatwg.org/#this 39088. https://html.spec.whatwg.org/#reload 39089. https://html.spec.whatwg.org/#node-navigable 39090. https://html.spec.whatwg.org/#reload-navigation-api-state 39091. https://html.spec.whatwg.org/#navigation-api-method-tracker-derived-result 39092. https://webidl.spec.whatwg.org/#this 39093. https://html.spec.whatwg.org/#navigation-current-entry-index 39094. https://html.spec.whatwg.org/#navigation-api-early-error-result 39095. https://webidl.spec.whatwg.org/#invalidstateerror 39096. https://webidl.spec.whatwg.org/#dfn-DOMException 39097. https://webidl.spec.whatwg.org/#this 39098. https://html.spec.whatwg.org/#navigation-entry-list 39099. https://infra.spec.whatwg.org/#list-contain 39100. https://html.spec.whatwg.org/#navigationhistoryentry 39101. https://html.spec.whatwg.org/#nhe-she 39102. https://html.spec.whatwg.org/#she-navigation-api-key 39103. https://html.spec.whatwg.org/#navigation-api-early-error-result 39104. https://webidl.spec.whatwg.org/#invalidstateerror 39105. https://webidl.spec.whatwg.org/#dfn-DOMException 39106. https://html.spec.whatwg.org/#performing-a-navigation-api-traversal 39107. https://webidl.spec.whatwg.org/#this 39108. https://webidl.spec.whatwg.org/#this 39109. https://html.spec.whatwg.org/#navigation-current-entry-index 39110. https://html.spec.whatwg.org/#navigation-api-early-error-result 39111. https://webidl.spec.whatwg.org/#invalidstateerror 39112. https://webidl.spec.whatwg.org/#dfn-DOMException 39113. https://webidl.spec.whatwg.org/#this 39114. https://html.spec.whatwg.org/#navigation-entry-list 39115. https://webidl.spec.whatwg.org/#this 39116. https://html.spec.whatwg.org/#navigation-current-entry-index 39117. https://html.spec.whatwg.org/#nhe-she 39118. https://html.spec.whatwg.org/#she-navigation-api-key 39119. https://html.spec.whatwg.org/#performing-a-navigation-api-traversal 39120. https://webidl.spec.whatwg.org/#this 39121. https://webidl.spec.whatwg.org/#this 39122. https://html.spec.whatwg.org/#navigation-current-entry-index 39123. https://webidl.spec.whatwg.org/#this 39124. https://html.spec.whatwg.org/#navigation-entry-list 39125. https://infra.spec.whatwg.org/#list-size 39126. https://html.spec.whatwg.org/#navigation-api-early-error-result 39127. https://webidl.spec.whatwg.org/#invalidstateerror 39128. https://webidl.spec.whatwg.org/#dfn-DOMException 39129. https://webidl.spec.whatwg.org/#this 39130. https://html.spec.whatwg.org/#navigation-entry-list 39131. https://webidl.spec.whatwg.org/#this 39132. https://html.spec.whatwg.org/#navigation-current-entry-index 39133. https://html.spec.whatwg.org/#nhe-she 39134. https://html.spec.whatwg.org/#she-navigation-api-key 39135. https://html.spec.whatwg.org/#performing-a-navigation-api-traversal 39136. https://webidl.spec.whatwg.org/#this 39137. https://html.spec.whatwg.org/#navigation 39138. https://html.spec.whatwg.org/#navigationoptions 39139. https://html.spec.whatwg.org/#concept-relevant-global 39140. https://html.spec.whatwg.org/#concept-document-window 39141. https://html.spec.whatwg.org/#fully-active 39142. https://html.spec.whatwg.org/#navigation-api-early-error-result 39143. https://webidl.spec.whatwg.org/#invalidstateerror 39144. https://webidl.spec.whatwg.org/#dfn-DOMException 39145. https://html.spec.whatwg.org/#unload-counter 39146. https://html.spec.whatwg.org/#navigation-api-early-error-result 39147. https://webidl.spec.whatwg.org/#invalidstateerror 39148. https://webidl.spec.whatwg.org/#dfn-DOMException 39149. https://html.spec.whatwg.org/#navigation-current-entry 39150. https://html.spec.whatwg.org/#nhe-she 39151. https://html.spec.whatwg.org/#she-navigation-api-key 39152. https://html.spec.whatwg.org/#dom-navigationresult-committed 39153. https://webidl.spec.whatwg.org/#a-promise-resolved-with 39154. https://html.spec.whatwg.org/#dom-navigationresult-finished 39155. https://webidl.spec.whatwg.org/#a-promise-resolved-with 39156. https://html.spec.whatwg.org/#upcoming-traverse-api-method-trackers 39157. https://infra.spec.whatwg.org/#map-exists 39158. https://html.spec.whatwg.org/#navigation-api-method-tracker-derived-result 39159. https://html.spec.whatwg.org/#upcoming-traverse-api-method-trackers 39160. https://html.spec.whatwg.org/#dom-navigationoptions-info 39161. https://infra.spec.whatwg.org/#map-exists 39162. https://html.spec.whatwg.org/#add-an-upcoming-traverse-api-method-tracker 39163. https://html.spec.whatwg.org/#node-navigable 39164. https://html.spec.whatwg.org/#nav-traversable 39165. https://html.spec.whatwg.org/#snapshotting-source-snapshot-params 39166. https://html.spec.whatwg.org/#tn-append-session-history-traversal-steps 39167. https://html.spec.whatwg.org/#getting-session-history-entries 39168. https://html.spec.whatwg.org/#session-history-entry 39169. https://html.spec.whatwg.org/#she-navigation-api-key 39170. https://html.spec.whatwg.org/#queue-a-global-task 39171. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 39172. https://html.spec.whatwg.org/#concept-relevant-global 39173. https://html.spec.whatwg.org/#reject-the-finished-promise 39174. https://webidl.spec.whatwg.org/#invalidstateerror 39175. https://webidl.spec.whatwg.org/#dfn-DOMException 39176. https://html.spec.whatwg.org/#navigation-entry-list 39177. https://html.spec.whatwg.org/#nav-active-history-entry 39178. https://html.spec.whatwg.org/#tn-append-session-history-traversal-steps 39179. https://html.spec.whatwg.org/#session-history-entry 39180. https://html.spec.whatwg.org/#apply-the-traverse-history-step 39181. https://html.spec.whatwg.org/#she-step 39182. https://html.spec.whatwg.org/#uni-none 39183. https://html.spec.whatwg.org/#queue-a-global-task 39184. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 39185. https://html.spec.whatwg.org/#concept-relevant-global 39186. https://html.spec.whatwg.org/#reject-the-finished-promise 39187. https://webidl.spec.whatwg.org/#aborterror 39188. https://webidl.spec.whatwg.org/#dfn-DOMException 39189. https://html.spec.whatwg.org/#concept-relevant-realm 39190. https://html.spec.whatwg.org/#queue-a-global-task 39191. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 39192. https://html.spec.whatwg.org/#concept-relevant-global 39193. https://html.spec.whatwg.org/#reject-the-finished-promise 39194. https://webidl.spec.whatwg.org/#securityerror 39195. https://webidl.spec.whatwg.org/#dfn-DOMException 39196. https://html.spec.whatwg.org/#concept-relevant-realm 39197. https://html.spec.whatwg.org/#event-navigate 39198. https://html.spec.whatwg.org/#abort-the-ongoing-navigation 39199. https://html.spec.whatwg.org/#event-navigateerror 39200. https://html.spec.whatwg.org/#event-navigate 39201. https://html.spec.whatwg.org/#event-navigate 39202. https://html.spec.whatwg.org/#inner-navigate-event-firing-algorithm 39203. https://html.spec.whatwg.org/#abort-the-ongoing-navigation 39204. https://html.spec.whatwg.org/#navigation-api-method-tracker-derived-result 39205. https://html.spec.whatwg.org/#navigationresult 39206. https://html.spec.whatwg.org/#dom-navigationresult-committed 39207. https://webidl.spec.whatwg.org/#a-promise-rejected-with 39208. https://html.spec.whatwg.org/#dom-navigationresult-finished 39209. https://webidl.spec.whatwg.org/#a-promise-rejected-with 39210. https://html.spec.whatwg.org/#navigation-api-method-tracker 39211. https://html.spec.whatwg.org/#navigationresult 39212. https://html.spec.whatwg.org/#dom-navigationresult-committed 39213. https://html.spec.whatwg.org/#navigation-api-method-tracker-committed 39214. https://html.spec.whatwg.org/#dom-navigationresult-finished 39215. https://html.spec.whatwg.org/#navigation-api-method-tracker-finished 39216. https://html.spec.whatwg.org/#navigationtype 39217. https://html.spec.whatwg.org/#navigation 39218. https://html.spec.whatwg.org/#navigateevent 39219. https://dom.spec.whatwg.org/#canceled-flag 39220. https://html.spec.whatwg.org/#concept-navigateevent-abort-controller 39221. https://html.spec.whatwg.org/#dom-navigateevent-intercept 39222. https://dom.spec.whatwg.org/#abortcontroller-signal-abort 39223. https://html.spec.whatwg.org/#focusing-steps 39224. https://html.spec.whatwg.org/#dom-navigateevent-intercept 39225. https://html.spec.whatwg.org/#potentially-reset-the-focus 39226. https://html.spec.whatwg.org/#navigationhistoryentry 39227. https://html.spec.whatwg.org/#dom-navigateevent-intercept 39228. https://html.spec.whatwg.org/#dom-navigationresult-committed 39229. https://html.spec.whatwg.org/#dom-navigationresult-finished 39230. https://html.spec.whatwg.org/#dom-navigationresult-finished 39231. https://html.spec.whatwg.org/#dom-navigateevent-intercept 39232. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39233. https://html.spec.whatwg.org/#dom-navigationnavigateoptions-state 39234. https://html.spec.whatwg.org/#she-navigation-api-state 39235. https://dom.spec.whatwg.org/#canceled-flag 39236. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39237. https://html.spec.whatwg.org/#dom-navigationoptions-info 39238. https://html.spec.whatwg.org/#event-navigate 39239. https://html.spec.whatwg.org/#event-navigate 39240. https://html.spec.whatwg.org/#tn-session-history-traversal-queue 39241. https://html.spec.whatwg.org/#dom-navigationresult-committed 39242. https://html.spec.whatwg.org/#dom-navigateevent-intercept 39243. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-scroll 39244. https://html.spec.whatwg.org/#dom-navigation-navigate 39245. https://html.spec.whatwg.org/#navigation 39246. https://html.spec.whatwg.org/#navigateevent 39247. https://html.spec.whatwg.org/#navigation-api-method-tracker 39248. https://html.spec.whatwg.org/#navigation-api-method-tracker 39249. https://infra.spec.whatwg.org/#ordered-map 39250. https://html.spec.whatwg.org/#navigation-api-method-tracker 39251. https://html.spec.whatwg.org/#navigation-api-method-tracker 39252. https://infra.spec.whatwg.org/#struct 39253. https://infra.spec.whatwg.org/#struct-item 39254. https://html.spec.whatwg.org/#navigation 39255. https://html.spec.whatwg.org/#serialized-state 39256. https://html.spec.whatwg.org/#navigationhistoryentry 39257. https://html.spec.whatwg.org/#navigation 39258. https://html.spec.whatwg.org/#serialized-state 39259. https://html.spec.whatwg.org/#concept-relevant-realm 39260. https://webidl.spec.whatwg.org/#mark-a-promise-as-handled 39261. https://html.spec.whatwg.org/#event-navigateerror 39262. https://html.spec.whatwg.org/#dom-navigationtransition-finished 39263. https://html.spec.whatwg.org/#event-unhandledrejection 39264. https://html.spec.whatwg.org/#navigation-api-method-tracker 39265. https://html.spec.whatwg.org/#navigation-api-method-tracker-navigation 39266. https://html.spec.whatwg.org/#navigation-api-method-tracker-key 39267. https://html.spec.whatwg.org/#navigation-api-method-tracker-info 39268. https://html.spec.whatwg.org/#navigation-api-method-tracker-state 39269. https://html.spec.whatwg.org/#navigation-api-method-tracker-committed-to-entry 39270. https://html.spec.whatwg.org/#navigation-api-method-tracker-committed 39271. https://html.spec.whatwg.org/#navigation-api-method-tracker-finished 39272. https://infra.spec.whatwg.org/#assert 39273. https://html.spec.whatwg.org/#upcoming-non-traverse-api-method-tracker 39274. https://html.spec.whatwg.org/#has-entries-and-events-disabled 39275. https://html.spec.whatwg.org/#upcoming-non-traverse-api-method-tracker 39276. https://html.spec.whatwg.org/#has-entries-and-events-disabled 39277. https://html.spec.whatwg.org/#navigationhistoryentry 39278. https://html.spec.whatwg.org/#document 39279. https://html.spec.whatwg.org/#navigationhistoryentry 39280. https://html.spec.whatwg.org/#event-navigate 39281. https://html.spec.whatwg.org/#navigation 39282. https://html.spec.whatwg.org/#concept-relevant-realm 39283. https://webidl.spec.whatwg.org/#mark-a-promise-as-handled 39284. https://html.spec.whatwg.org/#note-mark-as-handled-navigation-api-finished 39285. https://html.spec.whatwg.org/#navigation-api-method-tracker 39286. https://html.spec.whatwg.org/#navigation-api-method-tracker-navigation 39287. https://html.spec.whatwg.org/#navigation-api-method-tracker-key 39288. https://html.spec.whatwg.org/#navigation-api-method-tracker-info 39289. https://html.spec.whatwg.org/#navigation-api-method-tracker-state 39290. https://html.spec.whatwg.org/#navigation-api-method-tracker-committed-to-entry 39291. https://html.spec.whatwg.org/#navigation-api-method-tracker-committed 39292. https://html.spec.whatwg.org/#navigation-api-method-tracker-finished 39293. https://html.spec.whatwg.org/#upcoming-traverse-api-method-trackers 39294. https://html.spec.whatwg.org/#navigation 39295. https://infra.spec.whatwg.org/#assert 39296. https://html.spec.whatwg.org/#ongoing-api-method-tracker 39297. https://infra.spec.whatwg.org/#assert 39298. https://html.spec.whatwg.org/#upcoming-non-traverse-api-method-tracker 39299. https://html.spec.whatwg.org/#upcoming-traverse-api-method-trackers 39300. https://infra.spec.whatwg.org/#map-exists 39301. https://html.spec.whatwg.org/#ongoing-api-method-tracker 39302. https://html.spec.whatwg.org/#upcoming-traverse-api-method-trackers 39303. https://infra.spec.whatwg.org/#map-remove 39304. https://html.spec.whatwg.org/#upcoming-traverse-api-method-trackers 39305. https://html.spec.whatwg.org/#ongoing-api-method-tracker 39306. https://html.spec.whatwg.org/#upcoming-non-traverse-api-method-tracker 39307. https://html.spec.whatwg.org/#upcoming-non-traverse-api-method-tracker 39308. https://html.spec.whatwg.org/#navigation-api-method-tracker 39309. https://html.spec.whatwg.org/#navigation-api-method-tracker-navigation 39310. https://html.spec.whatwg.org/#ongoing-api-method-tracker 39311. https://html.spec.whatwg.org/#ongoing-api-method-tracker 39312. https://html.spec.whatwg.org/#navigation-api-method-tracker-key 39313. https://infra.spec.whatwg.org/#assert 39314. https://infra.spec.whatwg.org/#assert 39315. https://html.spec.whatwg.org/#upcoming-traverse-api-method-trackers 39316. https://infra.spec.whatwg.org/#map-exists 39317. https://infra.spec.whatwg.org/#map-remove 39318. https://html.spec.whatwg.org/#upcoming-traverse-api-method-trackers 39319. https://html.spec.whatwg.org/#navigation-api-method-tracker 39320. https://html.spec.whatwg.org/#navigationhistoryentry 39321. https://html.spec.whatwg.org/#navigation-api-method-tracker-committed-to-entry 39322. https://html.spec.whatwg.org/#navigation-api-method-tracker-state 39323. https://html.spec.whatwg.org/#nhe-she 39324. https://html.spec.whatwg.org/#she-navigation-api-state 39325. https://html.spec.whatwg.org/#navigation-api-method-tracker-state 39326. https://html.spec.whatwg.org/#dom-navigation-traverseto 39327. https://html.spec.whatwg.org/#navigation-api-method-tracker-state 39328. https://html.spec.whatwg.org/#navigation-api-method-tracker 39329. https://html.spec.whatwg.org/#navigation-api-method-tracker-committed 39330. https://html.spec.whatwg.org/#navigation-api-method-tracker-committed 39331. https://html.spec.whatwg.org/#navigation-api-method-tracker 39332. https://html.spec.whatwg.org/#navigation-api-method-tracker 39333. https://infra.spec.whatwg.org/#assert 39334. https://html.spec.whatwg.org/#navigation-api-method-tracker-committed-to-entry 39335. https://html.spec.whatwg.org/#navigation-api-method-tracker-finished 39336. https://html.spec.whatwg.org/#navigation-api-method-tracker-committed-to-entry 39337. https://html.spec.whatwg.org/#navigation-api-method-tracker-clean-up 39338. https://html.spec.whatwg.org/#navigation-api-method-tracker 39339. https://html.spec.whatwg.org/#navigation-api-method-tracker-committed 39340. https://html.spec.whatwg.org/#navigation-api-method-tracker-committed 39341. https://html.spec.whatwg.org/#notify-about-the-committed-to-entry 39342. https://html.spec.whatwg.org/#navigation-api-method-tracker-finished 39343. https://html.spec.whatwg.org/#navigation-api-method-tracker-clean-up 39344. https://html.spec.whatwg.org/#navigation 39345. https://webidl.spec.whatwg.org/#dfn-DOMException 39346. https://html.spec.whatwg.org/#ongoing-navigate-event 39347. https://infra.spec.whatwg.org/#assert 39348. https://html.spec.whatwg.org/#focus-changed-during-ongoing-navigation 39349. https://html.spec.whatwg.org/#suppress-normal-scroll-restoration-during-ongoing-navigation 39350. https://webidl.spec.whatwg.org/#aborterror 39351. https://webidl.spec.whatwg.org/#dfn-DOMException 39352. https://html.spec.whatwg.org/#concept-relevant-realm 39353. https://dom.spec.whatwg.org/#dispatch-flag 39354. https://dom.spec.whatwg.org/#canceled-flag 39355. https://dom.spec.whatwg.org/#abortcontroller-signal-abort 39356. https://html.spec.whatwg.org/#concept-navigateevent-abort-controller 39357. https://html.spec.whatwg.org/#ongoing-navigate-event 39358. https://html.spec.whatwg.org/#extract-error 39359. https://html.spec.whatwg.org/#dom-window-stop 39360. https://html.spec.whatwg.org/#dom-window-stop 39361. https://dom.spec.whatwg.org/#concept-event-fire 39362. https://html.spec.whatwg.org/#event-navigateerror 39363. https://html.spec.whatwg.org/#errorevent 39364. https://html.spec.whatwg.org/#ongoing-api-method-tracker 39365. https://html.spec.whatwg.org/#reject-the-finished-promise 39366. https://html.spec.whatwg.org/#concept-navigation-transition 39367. https://html.spec.whatwg.org/#concept-navigation-transition 39368. https://html.spec.whatwg.org/#concept-navigationtransition-finished 39369. https://html.spec.whatwg.org/#concept-navigation-transition 39370. https://html.spec.whatwg.org/#navigable 39371. https://html.spec.whatwg.org/#nav-window 39372. https://html.spec.whatwg.org/#relevant-agent 39373. https://html.spec.whatwg.org/#concept-agent-event-loop 39374. https://html.spec.whatwg.org/#queue-a-global-task 39375. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 39376. https://html.spec.whatwg.org/#nav-window 39377. https://html.spec.whatwg.org/#nav-window 39378. https://html.spec.whatwg.org/#window-navigation-api 39379. https://html.spec.whatwg.org/#ongoing-navigate-event 39380. https://html.spec.whatwg.org/#abort-the-ongoing-navigation 39381. https://html.spec.whatwg.org/#navigable 39382. https://html.spec.whatwg.org/#inform-the-navigation-api-about-aborting-navigation 39383. https://html.spec.whatwg.org/#nav-window 39384. https://html.spec.whatwg.org/#window-navigation-api 39385. https://infra.spec.whatwg.org/#list-clone 39386. https://html.spec.whatwg.org/#upcoming-traverse-api-method-trackers 39387. https://infra.spec.whatwg.org/#list-iterate 39388. https://html.spec.whatwg.org/#reject-the-finished-promise 39389. https://webidl.spec.whatwg.org/#aborterror 39390. https://webidl.spec.whatwg.org/#dfn-DOMException 39391. https://html.spec.whatwg.org/#concept-relevant-realm 39392. https://html.spec.whatwg.org/#dom-navigation-transition 39393. https://html.spec.whatwg.org/#navigationtransition 39394. https://html.spec.whatwg.org/#navigationtype 39395. https://html.spec.whatwg.org/#dom-navigationtransition-navigationtype 39396. https://html.spec.whatwg.org/#navigationhistoryentry 39397. https://html.spec.whatwg.org/#dom-navigationtransition-from 39398. https://webidl.spec.whatwg.org/#idl-promise 39399. https://html.spec.whatwg.org/#dom-navigationtransition-finished 39400. https://html.spec.whatwg.org/#dom-navigation 39401. https://html.spec.whatwg.org/#dom-navigation-transition 39402. https://html.spec.whatwg.org/#navigationtransition 39403. https://html.spec.whatwg.org/#event-navigatesuccess 39404. https://html.spec.whatwg.org/#event-navigateerror 39405. https://html.spec.whatwg.org/#dom-navigation-currententry 39406. https://html.spec.whatwg.org/#dom-location-href 39407. https://html.spec.whatwg.org/#dom-navigation-transition 39408. https://html.spec.whatwg.org/#dom-navigateevent-intercept 39409. https://html.spec.whatwg.org/#dom-navigation 39410. https://html.spec.whatwg.org/#dom-navigation-transition 39411. https://html.spec.whatwg.org/#dom-navigationtransition-navigationtype 39412. https://html.spec.whatwg.org/#dom-navigationtype-push 39413. https://html.spec.whatwg.org/#dom-navigationtype-replace 39414. https://html.spec.whatwg.org/#dom-navigationtype-reload 39415. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39416. https://html.spec.whatwg.org/#dom-navigation 39417. https://html.spec.whatwg.org/#dom-navigation-transition 39418. https://html.spec.whatwg.org/#dom-navigationtransition-from 39419. https://html.spec.whatwg.org/#navigationhistoryentry 39420. https://html.spec.whatwg.org/#dom-navigation-currententry 39421. https://html.spec.whatwg.org/#dom-navigation 39422. https://html.spec.whatwg.org/#dom-navigation-transition 39423. https://html.spec.whatwg.org/#dom-navigationtransition-finished 39424. https://html.spec.whatwg.org/#event-navigatesuccess 39425. https://html.spec.whatwg.org/#event-navigateerror 39426. https://html.spec.whatwg.org/#navigation 39427. https://html.spec.whatwg.org/#navigationtransition 39428. https://webidl.spec.whatwg.org/#this 39429. https://html.spec.whatwg.org/#concept-navigation-transition 39430. https://html.spec.whatwg.org/#navigationtransition 39431. https://html.spec.whatwg.org/#navigationtype 39432. https://html.spec.whatwg.org/#navigationtransition 39433. https://html.spec.whatwg.org/#navigationhistoryentry 39434. https://html.spec.whatwg.org/#navigationtransition 39435. https://webidl.spec.whatwg.org/#this 39436. https://html.spec.whatwg.org/#concept-navigationtransition-navigationtype 39437. https://webidl.spec.whatwg.org/#this 39438. https://html.spec.whatwg.org/#concept-navigationtransition-from 39439. https://webidl.spec.whatwg.org/#this 39440. https://html.spec.whatwg.org/#concept-navigationtransition-finished 39441. https://html.spec.whatwg.org/#navigationactivation 39442. https://html.spec.whatwg.org/#navigationhistoryentry 39443. https://html.spec.whatwg.org/#dom-navigationactivation-from 39444. https://html.spec.whatwg.org/#navigationhistoryentry 39445. https://html.spec.whatwg.org/#dom-navigationactivation-entry 39446. https://html.spec.whatwg.org/#navigationtype 39447. https://html.spec.whatwg.org/#dom-navigationactivation-navigationtype 39448. https://html.spec.whatwg.org/#dom-navigation 39449. https://html.spec.whatwg.org/#dom-navigation-activation 39450. https://html.spec.whatwg.org/#navigationactivation 39451. https://html.spec.whatwg.org/#document 39452. https://html.spec.whatwg.org/#dom-navigation-currententry 39453. https://html.spec.whatwg.org/#document 39454. https://dom.spec.whatwg.org/#concept-document-url 39455. https://html.spec.whatwg.org/#dom-navigation-activation 39456. https://html.spec.whatwg.org/#document 39457. https://html.spec.whatwg.org/#reactivate-a-document 39458. https://html.spec.whatwg.org/#dom-navigation 39459. https://html.spec.whatwg.org/#dom-navigation-activation 39460. https://html.spec.whatwg.org/#dom-navigationactivation-entry 39461. https://html.spec.whatwg.org/#navigationhistoryentry 39462. https://html.spec.whatwg.org/#dom-navigation-currententry 39463. https://html.spec.whatwg.org/#document 39464. https://html.spec.whatwg.org/#dom-navigation 39465. https://html.spec.whatwg.org/#dom-navigation-activation 39466. https://html.spec.whatwg.org/#dom-navigationactivation-from 39467. https://html.spec.whatwg.org/#navigationhistoryentry 39468. https://html.spec.whatwg.org/#document 39469. https://html.spec.whatwg.org/#document 39470. https://html.spec.whatwg.org/#document 39471. https://html.spec.whatwg.org/#same-origin 39472. https://html.spec.whatwg.org/#is-initial-about:blank 39473. https://html.spec.whatwg.org/#document 39474. https://html.spec.whatwg.org/#dom-navigationactivation-from 39475. https://html.spec.whatwg.org/#dom-navigationactivation-entry 39476. https://html.spec.whatwg.org/#navigationhistoryentry 39477. https://html.spec.whatwg.org/#dom-navigation-traverseto 39478. https://html.spec.whatwg.org/#document 39479. https://html.spec.whatwg.org/#dom-location-replace 39480. https://html.spec.whatwg.org/#dom-history-replacestate 39481. https://html.spec.whatwg.org/#dom-navigationhistoryentry-url 39482. https://html.spec.whatwg.org/#dom-navigationhistoryentry-getstate 39483. https://html.spec.whatwg.org/#dom-navigation 39484. https://html.spec.whatwg.org/#dom-navigation-activation 39485. https://html.spec.whatwg.org/#dom-navigationactivation-navigationtype 39486. https://html.spec.whatwg.org/#dom-navigationtype-push 39487. https://html.spec.whatwg.org/#dom-navigationtype-replace 39488. https://html.spec.whatwg.org/#dom-navigationtype-reload 39489. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39490. https://html.spec.whatwg.org/#document 39491. https://html.spec.whatwg.org/#navigation 39492. https://html.spec.whatwg.org/#navigationactivation 39493. https://html.spec.whatwg.org/#navigationactivation 39494. https://html.spec.whatwg.org/#navigationhistoryentry 39495. https://html.spec.whatwg.org/#navigationhistoryentry 39496. https://html.spec.whatwg.org/#navigationtype 39497. https://webidl.spec.whatwg.org/#this 39498. https://html.spec.whatwg.org/#navigation-activation 39499. https://webidl.spec.whatwg.org/#this 39500. https://html.spec.whatwg.org/#nav-activation-old-entry 39501. https://webidl.spec.whatwg.org/#this 39502. https://html.spec.whatwg.org/#nav-activation-new-entry 39503. https://webidl.spec.whatwg.org/#this 39504. https://html.spec.whatwg.org/#nav-activation-navigation-type 39505. https://html.spec.whatwg.org/#event-navigate 39506. https://html.spec.whatwg.org/#event-navigate 39507. https://html.spec.whatwg.org/#navigationtype 39508. https://dom.spec.whatwg.org/#dom-event-cancelable 39509. https://html.spec.whatwg.org/#dom-navigateevent-intercept 39510. https://html.spec.whatwg.org/#navigateevent 39511. https://html.spec.whatwg.org/#navigateevent 39512. https://dom.spec.whatwg.org/#interface-event 39513. https://html.spec.whatwg.org/#navigateeventinit 39514. https://html.spec.whatwg.org/#navigationtype 39515. https://html.spec.whatwg.org/#dom-navigateevent-navigationtype 39516. https://html.spec.whatwg.org/#navigationdestination 39517. https://html.spec.whatwg.org/#dom-navigateevent-destination 39518. https://html.spec.whatwg.org/#dom-navigateevent-canintercept 39519. https://html.spec.whatwg.org/#dom-navigateevent-userinitiated 39520. https://html.spec.whatwg.org/#dom-navigateevent-hashchange 39521. https://dom.spec.whatwg.org/#abortsignal 39522. https://html.spec.whatwg.org/#dom-navigateevent-signal 39523. https://xhr.spec.whatwg.org/#formdata 39524. https://html.spec.whatwg.org/#dom-navigateevent-formdata 39525. https://html.spec.whatwg.org/#dom-navigateevent-downloadrequest 39526. https://html.spec.whatwg.org/#dom-navigateevent-info 39527. https://html.spec.whatwg.org/#dom-navigateevent-hasuavisualtransition 39528. https://html.spec.whatwg.org/#dom-navigateevent-sourceelement 39529. https://html.spec.whatwg.org/#dom-navigateevent-intercept 39530. https://html.spec.whatwg.org/#navigationinterceptoptions 39531. https://html.spec.whatwg.org/#dom-navigateevent-scroll 39532. https://dom.spec.whatwg.org/#dictdef-eventinit 39533. https://html.spec.whatwg.org/#navigationtype 39534. https://html.spec.whatwg.org/#dom-navigationtype-push 39535. https://html.spec.whatwg.org/#navigationdestination 39536. https://dom.spec.whatwg.org/#abortsignal 39537. https://xhr.spec.whatwg.org/#formdata 39538. https://html.spec.whatwg.org/#navigationintercepthandler 39539. https://html.spec.whatwg.org/#navigationfocusreset 39540. https://html.spec.whatwg.org/#navigationscrollbehavior 39541. https://webidl.spec.whatwg.org/#idl-promise 39542. https://html.spec.whatwg.org/#dom-navigateevent-navigationtype 39543. https://html.spec.whatwg.org/#dom-navigationtype-push 39544. https://html.spec.whatwg.org/#dom-navigationtype-replace 39545. https://html.spec.whatwg.org/#dom-navigationtype-reload 39546. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39547. https://html.spec.whatwg.org/#dom-navigateevent-destination 39548. https://html.spec.whatwg.org/#navigationdestination 39549. https://html.spec.whatwg.org/#dom-navigateevent-canintercept 39550. https://html.spec.whatwg.org/#dom-navigateevent-intercept 39551. https://html.spec.whatwg.org/#document 39552. https://html.spec.whatwg.org/#can-have-its-url-rewritten 39553. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39554. https://html.spec.whatwg.org/#dom-navigateevent-userinitiated 39555. https://html.spec.whatwg.org/#the-a-element 39556. https://html.spec.whatwg.org/#the-form-element 39557. https://html.spec.whatwg.org/#nav-traversal-ui 39558. https://html.spec.whatwg.org/#dom-navigateevent-hashchange 39559. https://html.spec.whatwg.org/#navigate-fragid 39560. https://html.spec.whatwg.org/#dom-navigateevent-signal 39561. https://dom.spec.whatwg.org/#abortsignal 39562. https://fetch.spec.whatwg.org/#dom-global-fetch 39563. https://html.spec.whatwg.org/#dom-navigateevent-formdata 39564. https://xhr.spec.whatwg.org/#formdata 39565. https://html.spec.whatwg.org/#dom-navigationtype-push 39566. https://html.spec.whatwg.org/#dom-navigationtype-replace 39567. https://html.spec.whatwg.org/#concept-form-submit 39568. https://html.spec.whatwg.org/#dom-navigationtype-reload 39569. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39570. https://html.spec.whatwg.org/#session-history-entry 39571. https://html.spec.whatwg.org/#dom-navigateevent-downloadrequest 39572. https://html.spec.whatwg.org/#the-a-element 39573. https://html.spec.whatwg.org/#the-area-element 39574. https://html.spec.whatwg.org/#attr-hyperlink-download 39575. https://html.spec.whatwg.org/#attr-hyperlink-download 39576. https://html.spec.whatwg.org/#navigationhistorybehavior-push 39577. https://github.com/whatwg/html/issues/7718 39578. https://httpwg.org/specs/rfc6266.html 39579. https://html.spec.whatwg.org/#event-navigate 39580. https://html.spec.whatwg.org/#dom-navigateevent-info 39581. https://html.spec.whatwg.org/#navigation-api-initiating-navigations 39582. https://html.spec.whatwg.org/#dom-navigateevent-hasuavisualtransition 39583. https://html.spec.whatwg.org/#dom-navigateevent-sourceelement 39584. https://dom.spec.whatwg.org/#interface-element 39585. https://html.spec.whatwg.org/#the-a-element 39586. https://html.spec.whatwg.org/#the-area-element 39587. https://html.spec.whatwg.org/#concept-submit-button 39588. https://html.spec.whatwg.org/#the-form-element 39589. https://html.spec.whatwg.org/#dom-navigateevent-intercept 39590. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-handler 39591. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-focusreset 39592. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-scroll 39593. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-handler 39594. https://html.spec.whatwg.org/#event-navigate 39595. https://html.spec.whatwg.org/#dom-navigation-currententry 39596. https://html.spec.whatwg.org/#event-navigatesuccess 39597. https://html.spec.whatwg.org/#event-navigateerror 39598. https://html.spec.whatwg.org/#attr-fe-autofocus 39599. https://html.spec.whatwg.org/#the-body-element-2 39600. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-focusreset 39601. https://html.spec.whatwg.org/#dom-navigationfocusreset-manual 39602. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39603. https://html.spec.whatwg.org/#dom-navigationtype-reload 39604. https://html.spec.whatwg.org/#dom-navigationtype-push 39605. https://html.spec.whatwg.org/#dom-navigationtype-replace 39606. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-scroll 39607. https://html.spec.whatwg.org/#dom-navigationscrollbehavior-manual 39608. https://html.spec.whatwg.org/#dom-navigateevent-scroll 39609. https://webidl.spec.whatwg.org/#securityerror 39610. https://webidl.spec.whatwg.org/#dfn-DOMException 39611. https://html.spec.whatwg.org/#dom-navigateevent-canintercept 39612. https://dom.spec.whatwg.org/#dom-event-istrusted 39613. https://webidl.spec.whatwg.org/#invalidstateerror 39614. https://webidl.spec.whatwg.org/#dfn-DOMException 39615. https://html.spec.whatwg.org/#dom-navigateevent-scroll 39616. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39617. https://html.spec.whatwg.org/#dom-navigationtype-reload 39618. https://html.spec.whatwg.org/#dom-navigationtype-push 39619. https://html.spec.whatwg.org/#dom-navigationtype-replace 39620. https://url.spec.whatwg.org/#concept-url-fragment 39621. https://html.spec.whatwg.org/#dom-navigationdestination-url 39622. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-scroll 39623. https://html.spec.whatwg.org/#dom-navigationscrollbehavior-after-transition 39624. https://webidl.spec.whatwg.org/#invalidstateerror 39625. https://webidl.spec.whatwg.org/#dfn-DOMException 39626. https://html.spec.whatwg.org/#navigateevent 39627. https://html.spec.whatwg.org/#navigateevent 39628. https://infra.spec.whatwg.org/#list 39629. https://html.spec.whatwg.org/#navigationintercepthandler 39630. https://html.spec.whatwg.org/#navigateevent 39631. https://html.spec.whatwg.org/#navigationfocusreset 39632. https://html.spec.whatwg.org/#navigateevent 39633. https://html.spec.whatwg.org/#navigationscrollbehavior 39634. https://html.spec.whatwg.org/#navigateevent 39635. https://dom.spec.whatwg.org/#abortcontroller 39636. https://html.spec.whatwg.org/#navigateevent 39637. https://html.spec.whatwg.org/#serialized-state 39638. https://html.spec.whatwg.org/#dom-navigateevent-navigationtype 39639. https://html.spec.whatwg.org/#dom-navigationtype-push 39640. https://html.spec.whatwg.org/#dom-navigationtype-replace 39641. https://dom.spec.whatwg.org/#concept-event-fire 39642. https://html.spec.whatwg.org/#navigateevent-perform-shared-checks 39643. https://webidl.spec.whatwg.org/#this 39644. https://webidl.spec.whatwg.org/#this 39645. https://html.spec.whatwg.org/#dom-navigateevent-canintercept 39646. https://webidl.spec.whatwg.org/#securityerror 39647. https://webidl.spec.whatwg.org/#dfn-DOMException 39648. https://webidl.spec.whatwg.org/#this 39649. https://dom.spec.whatwg.org/#dispatch-flag 39650. https://webidl.spec.whatwg.org/#invalidstateerror 39651. https://webidl.spec.whatwg.org/#dfn-DOMException 39652. https://infra.spec.whatwg.org/#assert 39653. https://webidl.spec.whatwg.org/#this 39654. https://html.spec.whatwg.org/#concept-navigateevent-interception-state 39655. https://webidl.spec.whatwg.org/#this 39656. https://html.spec.whatwg.org/#concept-navigateevent-interception-state 39657. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-handler 39658. https://infra.spec.whatwg.org/#map-exists 39659. https://infra.spec.whatwg.org/#list-append 39660. https://webidl.spec.whatwg.org/#this 39661. https://html.spec.whatwg.org/#concept-navigateevent-navigation-handler-list 39662. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-focusreset 39663. https://infra.spec.whatwg.org/#map-exists 39664. https://webidl.spec.whatwg.org/#this 39665. https://html.spec.whatwg.org/#concept-navigateevent-focusreset 39666. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-focusreset 39667. https://console.spec.whatwg.org/#report-a-warning-to-the-console 39668. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-focusreset 39669. https://html.spec.whatwg.org/#dom-navigateevent-intercept 39670. https://webidl.spec.whatwg.org/#this 39671. https://html.spec.whatwg.org/#concept-navigateevent-focusreset 39672. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-focusreset 39673. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-scroll 39674. https://infra.spec.whatwg.org/#map-exists 39675. https://webidl.spec.whatwg.org/#this 39676. https://html.spec.whatwg.org/#concept-navigateevent-scroll 39677. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-scroll 39678. https://console.spec.whatwg.org/#report-a-warning-to-the-console 39679. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-scroll 39680. https://html.spec.whatwg.org/#dom-navigateevent-intercept 39681. https://webidl.spec.whatwg.org/#this 39682. https://html.spec.whatwg.org/#concept-navigateevent-scroll 39683. https://html.spec.whatwg.org/#dom-navigationinterceptoptions-scroll 39684. https://html.spec.whatwg.org/#navigateevent-perform-shared-checks 39685. https://webidl.spec.whatwg.org/#this 39686. https://webidl.spec.whatwg.org/#this 39687. https://html.spec.whatwg.org/#concept-navigateevent-interception-state 39688. https://webidl.spec.whatwg.org/#invalidstateerror 39689. https://webidl.spec.whatwg.org/#dfn-DOMException 39690. https://html.spec.whatwg.org/#process-scroll-behavior 39691. https://webidl.spec.whatwg.org/#this 39692. https://html.spec.whatwg.org/#navigateevent 39693. https://html.spec.whatwg.org/#concept-relevant-global 39694. https://html.spec.whatwg.org/#concept-document-window 39695. https://html.spec.whatwg.org/#fully-active 39696. https://webidl.spec.whatwg.org/#invalidstateerror 39697. https://webidl.spec.whatwg.org/#dfn-DOMException 39698. https://dom.spec.whatwg.org/#dom-event-istrusted 39699. https://webidl.spec.whatwg.org/#securityerror 39700. https://webidl.spec.whatwg.org/#dfn-DOMException 39701. https://dom.spec.whatwg.org/#canceled-flag 39702. https://webidl.spec.whatwg.org/#invalidstateerror 39703. https://webidl.spec.whatwg.org/#dfn-DOMException 39704. https://html.spec.whatwg.org/#navigationdestination 39705. https://html.spec.whatwg.org/#dom-navigationdestination-url 39706. https://html.spec.whatwg.org/#dom-navigationdestination-key 39707. https://html.spec.whatwg.org/#dom-navigationdestination-id 39708. https://html.spec.whatwg.org/#dom-navigationdestination-index 39709. https://html.spec.whatwg.org/#dom-navigationdestination-samedocument 39710. https://html.spec.whatwg.org/#dom-navigationdestination-getstate 39711. https://html.spec.whatwg.org/#dom-navigateevent-destination 39712. https://html.spec.whatwg.org/#dom-navigationdestination-url 39713. https://html.spec.whatwg.org/#dom-navigateevent-destination 39714. https://html.spec.whatwg.org/#dom-navigationdestination-key 39715. https://html.spec.whatwg.org/#dom-navigationhistoryentry-key 39716. https://html.spec.whatwg.org/#navigationhistoryentry 39717. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39718. https://html.spec.whatwg.org/#dom-navigateevent-destination 39719. https://html.spec.whatwg.org/#dom-navigationdestination-id 39720. https://html.spec.whatwg.org/#dom-navigationhistoryentry-id 39721. https://html.spec.whatwg.org/#navigationhistoryentry 39722. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39723. https://html.spec.whatwg.org/#dom-navigateevent-destination 39724. https://html.spec.whatwg.org/#dom-navigationdestination-index 39725. https://html.spec.whatwg.org/#dom-navigationhistoryentry-index 39726. https://html.spec.whatwg.org/#navigationhistoryentry 39727. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39728. https://html.spec.whatwg.org/#dom-navigateevent-destination 39729. https://html.spec.whatwg.org/#dom-navigationdestination-samedocument 39730. https://html.spec.whatwg.org/#document 39731. https://html.spec.whatwg.org/#dom-history-pushstate 39732. https://html.spec.whatwg.org/#dom-navigateevent-intercept 39733. https://html.spec.whatwg.org/#dom-navigateevent-destination 39734. https://html.spec.whatwg.org/#dom-navigationdestination-getstate 39735. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39736. https://html.spec.whatwg.org/#structureddeserialize 39737. https://html.spec.whatwg.org/#session-history-entry 39738. https://html.spec.whatwg.org/#dom-navigationtype-push 39739. https://html.spec.whatwg.org/#dom-navigationtype-replace 39740. https://html.spec.whatwg.org/#structureddeserialize 39741. https://html.spec.whatwg.org/#dom-navigation-navigate 39742. https://html.spec.whatwg.org/#dom-navigationtype-reload 39743. https://html.spec.whatwg.org/#structureddeserialize 39744. https://html.spec.whatwg.org/#dom-navigation-reload 39745. https://html.spec.whatwg.org/#navigationdestination 39746. https://url.spec.whatwg.org/#concept-url 39747. https://html.spec.whatwg.org/#navigationdestination 39748. https://html.spec.whatwg.org/#navigationhistoryentry 39749. https://html.spec.whatwg.org/#navigationdestination 39750. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39751. https://html.spec.whatwg.org/#navigationdestination 39752. https://html.spec.whatwg.org/#serialized-state 39753. https://html.spec.whatwg.org/#navigationdestination 39754. https://webidl.spec.whatwg.org/#this 39755. https://html.spec.whatwg.org/#concept-navigationdestination-url 39756. https://url.spec.whatwg.org/#concept-url-serializer 39757. https://webidl.spec.whatwg.org/#this 39758. https://html.spec.whatwg.org/#concept-navigationdestination-entry 39759. https://webidl.spec.whatwg.org/#this 39760. https://html.spec.whatwg.org/#concept-navigationdestination-entry 39761. https://html.spec.whatwg.org/#concept-navigationhistoryentry-key 39762. https://webidl.spec.whatwg.org/#this 39763. https://html.spec.whatwg.org/#concept-navigationdestination-entry 39764. https://webidl.spec.whatwg.org/#this 39765. https://html.spec.whatwg.org/#concept-navigationdestination-entry 39766. https://html.spec.whatwg.org/#concept-navigationhistoryentry-id 39767. https://webidl.spec.whatwg.org/#this 39768. https://html.spec.whatwg.org/#concept-navigationdestination-entry 39769. https://webidl.spec.whatwg.org/#this 39770. https://html.spec.whatwg.org/#concept-navigationdestination-entry 39771. https://html.spec.whatwg.org/#concept-navigationhistoryentry-index 39772. https://webidl.spec.whatwg.org/#this 39773. https://html.spec.whatwg.org/#concept-navigationdestination-samedocument 39774. https://html.spec.whatwg.org/#structureddeserialize 39775. https://webidl.spec.whatwg.org/#this 39776. https://html.spec.whatwg.org/#concept-navigationdestination-state 39777. https://html.spec.whatwg.org/#event-navigate 39778. https://html.spec.whatwg.org/#navigation 39779. https://html.spec.whatwg.org/#session-history-entry 39780. https://html.spec.whatwg.org/#user-navigation-involvement 39781. https://html.spec.whatwg.org/#uni-none 39782. https://dom.spec.whatwg.org/#concept-event-create 39783. https://html.spec.whatwg.org/#navigateevent 39784. https://html.spec.whatwg.org/#concept-relevant-realm 39785. https://html.spec.whatwg.org/#concept-navigateevent-classic-history-api-state 39786. https://webidl.spec.whatwg.org/#new 39787. https://html.spec.whatwg.org/#navigationdestination 39788. https://html.spec.whatwg.org/#concept-relevant-realm 39789. https://html.spec.whatwg.org/#concept-navigationdestination-url 39790. https://html.spec.whatwg.org/#she-url 39791. https://html.spec.whatwg.org/#navigationhistoryentry 39792. https://html.spec.whatwg.org/#navigation-entry-list 39793. https://html.spec.whatwg.org/#nhe-she 39794. https://html.spec.whatwg.org/#navigationhistoryentry 39795. https://html.spec.whatwg.org/#concept-navigationdestination-entry 39796. https://html.spec.whatwg.org/#concept-navigationdestination-state 39797. https://html.spec.whatwg.org/#she-navigation-api-state 39798. https://html.spec.whatwg.org/#concept-navigationdestination-entry 39799. https://html.spec.whatwg.org/#concept-navigationdestination-state 39800. https://html.spec.whatwg.org/#structuredserializeforstorage 39801. https://html.spec.whatwg.org/#concept-navigationdestination-samedocument 39802. https://html.spec.whatwg.org/#she-document 39803. https://html.spec.whatwg.org/#concept-relevant-global 39804. https://html.spec.whatwg.org/#concept-document-window 39805. https://html.spec.whatwg.org/#inner-navigate-event-firing-algorithm 39806. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39807. https://html.spec.whatwg.org/#navigation 39808. https://html.spec.whatwg.org/#navigationtype 39809. https://url.spec.whatwg.org/#concept-url 39810. https://html.spec.whatwg.org/#user-navigation-involvement 39811. https://html.spec.whatwg.org/#uni-none 39812. https://dom.spec.whatwg.org/#interface-element 39813. https://html.spec.whatwg.org/#entry-list 39814. https://html.spec.whatwg.org/#serialized-state 39815. https://html.spec.whatwg.org/#structuredserializeforstorage 39816. https://html.spec.whatwg.org/#serialized-state 39817. https://dom.spec.whatwg.org/#concept-event-create 39818. https://html.spec.whatwg.org/#navigateevent 39819. https://html.spec.whatwg.org/#concept-relevant-realm 39820. https://html.spec.whatwg.org/#concept-navigateevent-classic-history-api-state 39821. https://webidl.spec.whatwg.org/#new 39822. https://html.spec.whatwg.org/#navigationdestination 39823. https://html.spec.whatwg.org/#concept-relevant-realm 39824. https://html.spec.whatwg.org/#concept-navigationdestination-url 39825. https://html.spec.whatwg.org/#concept-navigationdestination-entry 39826. https://html.spec.whatwg.org/#concept-navigationdestination-state 39827. https://html.spec.whatwg.org/#concept-navigationdestination-samedocument 39828. https://html.spec.whatwg.org/#inner-navigate-event-firing-algorithm 39829. https://html.spec.whatwg.org/#navigation 39830. https://url.spec.whatwg.org/#concept-url 39831. https://html.spec.whatwg.org/#user-navigation-involvement 39832. https://dom.spec.whatwg.org/#interface-element 39833. https://dom.spec.whatwg.org/#concept-event-create 39834. https://html.spec.whatwg.org/#navigateevent 39835. https://html.spec.whatwg.org/#concept-relevant-realm 39836. https://html.spec.whatwg.org/#concept-navigateevent-classic-history-api-state 39837. https://webidl.spec.whatwg.org/#new 39838. https://html.spec.whatwg.org/#navigationdestination 39839. https://html.spec.whatwg.org/#concept-relevant-realm 39840. https://html.spec.whatwg.org/#concept-navigationdestination-url 39841. https://html.spec.whatwg.org/#concept-navigationdestination-entry 39842. https://html.spec.whatwg.org/#concept-navigationdestination-state 39843. https://html.spec.whatwg.org/#structuredserializeforstorage 39844. https://html.spec.whatwg.org/#concept-navigationdestination-samedocument 39845. https://html.spec.whatwg.org/#inner-navigate-event-firing-algorithm 39846. https://html.spec.whatwg.org/#dom-navigationtype-push 39847. https://html.spec.whatwg.org/#navigation 39848. https://html.spec.whatwg.org/#navigationtype 39849. https://html.spec.whatwg.org/#navigateevent 39850. https://html.spec.whatwg.org/#navigationdestination 39851. https://html.spec.whatwg.org/#user-navigation-involvement 39852. https://dom.spec.whatwg.org/#interface-element 39853. https://html.spec.whatwg.org/#entry-list 39854. https://html.spec.whatwg.org/#has-entries-and-events-disabled 39855. https://infra.spec.whatwg.org/#assert 39856. https://html.spec.whatwg.org/#ongoing-api-method-tracker 39857. https://infra.spec.whatwg.org/#assert 39858. https://html.spec.whatwg.org/#upcoming-non-traverse-api-method-tracker 39859. https://infra.spec.whatwg.org/#assert 39860. https://html.spec.whatwg.org/#upcoming-traverse-api-method-trackers 39861. https://infra.spec.whatwg.org/#list-is-empty 39862. https://html.spec.whatwg.org/#dom-navigation-traverseto 39863. https://html.spec.whatwg.org/#dom-navigation-back 39864. https://html.spec.whatwg.org/#dom-navigation-forward 39865. https://html.spec.whatwg.org/#dom-navigation-navigate 39866. https://html.spec.whatwg.org/#dom-navigation-reload 39867. https://html.spec.whatwg.org/#dont-always-set-upcoming-non-traverse-api-method-tracker 39868. https://html.spec.whatwg.org/#upcoming-non-traverse-api-method-tracker 39869. https://html.spec.whatwg.org/#concept-navigationdestination-entry 39870. https://html.spec.whatwg.org/#concept-navigationdestination-entry 39871. https://html.spec.whatwg.org/#concept-navigationhistoryentry-key 39872. https://infra.spec.whatwg.org/#assert 39873. https://html.spec.whatwg.org/#promote-an-upcoming-api-method-tracker-to-ongoing 39874. https://html.spec.whatwg.org/#ongoing-api-method-tracker 39875. https://html.spec.whatwg.org/#concept-relevant-global 39876. https://html.spec.whatwg.org/#window-navigable 39877. https://html.spec.whatwg.org/#concept-relevant-global 39878. https://html.spec.whatwg.org/#concept-document-window 39879. https://html.spec.whatwg.org/#can-have-its-url-rewritten 39880. https://html.spec.whatwg.org/#concept-navigationdestination-url 39881. https://html.spec.whatwg.org/#concept-navigationdestination-samedocument 39882. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39883. https://html.spec.whatwg.org/#dom-navigateevent-canintercept 39884. https://html.spec.whatwg.org/#top-level-traversable 39885. https://html.spec.whatwg.org/#concept-navigationdestination-samedocument 39886. https://html.spec.whatwg.org/#uni-browser-ui 39887. https://html.spec.whatwg.org/#concept-relevant-global 39888. https://html.spec.whatwg.org/#history-action-activation 39889. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39890. https://dom.spec.whatwg.org/#dom-event-cancelable 39891. https://dom.spec.whatwg.org/#dom-event-type 39892. https://html.spec.whatwg.org/#event-navigate 39893. https://html.spec.whatwg.org/#dom-navigateevent-navigationtype 39894. https://html.spec.whatwg.org/#dom-navigateevent-destination 39895. https://html.spec.whatwg.org/#dom-navigateevent-downloadrequest 39896. https://html.spec.whatwg.org/#dom-navigateevent-info 39897. https://html.spec.whatwg.org/#navigation-api-method-tracker-info 39898. https://html.spec.whatwg.org/#navigation-api-method-tracker-info 39899. https://html.spec.whatwg.org/#navigation-api-method-tracker 39900. https://html.spec.whatwg.org/#dom-navigateevent-hasuavisualtransition 39901. https://html.spec.whatwg.org/#latest-entry 39902. https://html.spec.whatwg.org/#dom-navigateevent-sourceelement 39903. https://html.spec.whatwg.org/#concept-navigateevent-abort-controller 39904. https://webidl.spec.whatwg.org/#new 39905. https://dom.spec.whatwg.org/#abortcontroller 39906. https://html.spec.whatwg.org/#concept-relevant-realm 39907. https://html.spec.whatwg.org/#dom-navigateevent-signal 39908. https://html.spec.whatwg.org/#concept-navigateevent-abort-controller 39909. https://dom.spec.whatwg.org/#abortcontroller-signal 39910. https://dom.spec.whatwg.org/#concept-document-url 39911. https://html.spec.whatwg.org/#concept-navigateevent-classic-history-api-state 39912. https://html.spec.whatwg.org/#concept-navigationdestination-samedocument 39913. https://html.spec.whatwg.org/#concept-navigationdestination-url 39914. https://url.spec.whatwg.org/#concept-url-equals 39915. https://url.spec.whatwg.org/#url-equals-exclude-fragments 39916. https://html.spec.whatwg.org/#concept-navigationdestination-url 39917. https://url.spec.whatwg.org/#concept-url-fragment 39918. https://infra.spec.whatwg.org/#string-is 39919. https://url.spec.whatwg.org/#concept-url-fragment 39920. https://html.spec.whatwg.org/#dom-navigateevent-hashchange 39921. https://html.spec.whatwg.org/#dom-navigateevent-hashchange 39922. https://html.spec.whatwg.org/#navigate-fragid 39923. https://html.spec.whatwg.org/#uni-none 39924. https://html.spec.whatwg.org/#dom-navigateevent-userinitiated 39925. https://html.spec.whatwg.org/#dom-navigateevent-formdata 39926. https://webidl.spec.whatwg.org/#new 39927. https://xhr.spec.whatwg.org/#formdata 39928. https://html.spec.whatwg.org/#concept-relevant-realm 39929. https://infra.spec.whatwg.org/#assert 39930. https://html.spec.whatwg.org/#ongoing-navigate-event 39931. https://html.spec.whatwg.org/#ongoing-navigate-event 39932. https://html.spec.whatwg.org/#focus-changed-during-ongoing-navigation 39933. https://html.spec.whatwg.org/#suppress-normal-scroll-restoration-during-ongoing-navigation 39934. https://dom.spec.whatwg.org/#concept-event-dispatch 39935. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39936. https://html.spec.whatwg.org/#consume-history-action-user-activation 39937. https://html.spec.whatwg.org/#concept-relevant-global 39938. https://html.spec.whatwg.org/#concept-navigateevent-abort-controller 39939. https://dom.spec.whatwg.org/#abortcontroller-signal 39940. https://dom.spec.whatwg.org/#abortsignal-aborted 39941. https://html.spec.whatwg.org/#abort-the-ongoing-navigation 39942. https://html.spec.whatwg.org/#concept-navigateevent-interception-state 39943. https://html.spec.whatwg.org/#dom-navigateevent-destination 39944. https://html.spec.whatwg.org/#concept-navigationdestination-samedocument 39945. https://html.spec.whatwg.org/#prepare-to-run-script 39946. https://html.spec.whatwg.org/#relevant-settings-object 39947. https://tc39.es/ecma262/#execution-context-stack 39948. https://html.spec.whatwg.org/#event-currententrychange 39949. https://html.spec.whatwg.org/#url-and-history-update-steps 39950. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 39951. https://html.spec.whatwg.org/#dom-navigateevent-intercept 39952. https://html.spec.whatwg.org/#event-currententrychange 39953. https://html.spec.whatwg.org/#dom-navigateevent-intercept 39954. https://tc39.es/ecma262/#execution-context-stack 39955. https://tc39.es/ecma262/#sec-execution-contexts 39956. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 39957. https://html.spec.whatwg.org/#event-currententrychange 39958. https://html.spec.whatwg.org/#dom-navigateevent-intercept 39959. https://html.spec.whatwg.org/#concept-navigateevent-interception-state 39960. https://html.spec.whatwg.org/#concept-navigateevent-interception-state 39961. https://html.spec.whatwg.org/#navigation-current-entry 39962. https://infra.spec.whatwg.org/#assert 39963. https://html.spec.whatwg.org/#concept-navigation-transition 39964. https://webidl.spec.whatwg.org/#new 39965. https://html.spec.whatwg.org/#navigationtransition 39966. https://html.spec.whatwg.org/#concept-relevant-realm 39967. https://html.spec.whatwg.org/#concept-navigationtransition-navigationtype 39968. https://html.spec.whatwg.org/#concept-navigationtransition-from 39969. https://html.spec.whatwg.org/#concept-navigationtransition-finished 39970. https://html.spec.whatwg.org/#concept-relevant-realm 39971. https://webidl.spec.whatwg.org/#mark-a-promise-as-handled 39972. https://html.spec.whatwg.org/#concept-navigation-transition 39973. https://html.spec.whatwg.org/#concept-navigationtransition-finished 39974. https://html.spec.whatwg.org/#note-mark-as-handled-navigation-api-finished 39975. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39976. https://html.spec.whatwg.org/#suppress-normal-scroll-restoration-during-ongoing-navigation 39977. https://html.spec.whatwg.org/#concept-navigateevent-scroll 39978. https://html.spec.whatwg.org/#dom-navigationscrollbehavior-after-transition 39979. https://html.spec.whatwg.org/#navigateevent-finish 39980. https://html.spec.whatwg.org/#navigateevent 39981. https://html.spec.whatwg.org/#dom-navigateevent-intercept 39982. https://html.spec.whatwg.org/#dom-navigationtype-push 39983. https://html.spec.whatwg.org/#dom-navigationtype-replace 39984. https://html.spec.whatwg.org/#url-and-history-update-steps 39985. https://html.spec.whatwg.org/#dom-navigateevent-destination 39986. https://html.spec.whatwg.org/#dom-navigationdestination-url 39987. https://html.spec.whatwg.org/#uhus-serializeddata 39988. https://html.spec.whatwg.org/#concept-navigateevent-classic-history-api-state 39989. https://html.spec.whatwg.org/#uhus-historyhandling 39990. https://html.spec.whatwg.org/#dom-navigationtype-reload 39991. https://html.spec.whatwg.org/#update-the-navigation-api-entries-for-a-same-document-navigation 39992. https://html.spec.whatwg.org/#nav-active-history-entry 39993. https://html.spec.whatwg.org/#dom-navigationtype-reload 39994. https://html.spec.whatwg.org/#dom-navigationtype-traverse 39995. https://html.spec.whatwg.org/#apply-the-traverse-history-step 39996. https://infra.spec.whatwg.org/#list 39997. https://infra.spec.whatwg.org/#list-iterate 39998. https://html.spec.whatwg.org/#concept-navigateevent-navigation-handler-list 39999. https://infra.spec.whatwg.org/#list-append 40000. https://webidl.spec.whatwg.org/#invoke-a-callback-function 40001. https://infra.spec.whatwg.org/#list-size 40002. https://webidl.spec.whatwg.org/#a-promise-resolved-with 40003. https://webidl.spec.whatwg.org/#wait-for-all 40004. https://webidl.spec.whatwg.org/#wait-for-all 40005. https://html.spec.whatwg.org/#event-navigatesuccess 40006. https://html.spec.whatwg.org/#event-navigateerror 40007. https://html.spec.whatwg.org/#event-currententrychange 40008. https://html.spec.whatwg.org/#event-dispose 40009. https://html.spec.whatwg.org/#dom-navigationtransition-finished 40010. https://webidl.spec.whatwg.org/#wait-for-all 40011. https://html.spec.whatwg.org/#concept-relevant-global 40012. https://html.spec.whatwg.org/#concept-document-window 40013. https://html.spec.whatwg.org/#fully-active 40014. https://html.spec.whatwg.org/#concept-navigateevent-abort-controller 40015. https://dom.spec.whatwg.org/#abortcontroller-signal 40016. https://dom.spec.whatwg.org/#abortsignal-aborted 40017. https://infra.spec.whatwg.org/#assert 40018. https://html.spec.whatwg.org/#ongoing-navigate-event 40019. https://html.spec.whatwg.org/#ongoing-navigate-event 40020. https://html.spec.whatwg.org/#navigateevent-finish 40021. https://dom.spec.whatwg.org/#concept-event-fire 40022. https://html.spec.whatwg.org/#event-navigatesuccess 40023. https://html.spec.whatwg.org/#resolve-the-finished-promise 40024. https://html.spec.whatwg.org/#concept-navigation-transition 40025. https://html.spec.whatwg.org/#concept-navigation-transition 40026. https://html.spec.whatwg.org/#concept-navigationtransition-finished 40027. https://html.spec.whatwg.org/#concept-navigation-transition 40028. https://html.spec.whatwg.org/#concept-relevant-global 40029. https://html.spec.whatwg.org/#concept-document-window 40030. https://html.spec.whatwg.org/#fully-active 40031. https://html.spec.whatwg.org/#concept-navigateevent-abort-controller 40032. https://dom.spec.whatwg.org/#abortcontroller-signal 40033. https://dom.spec.whatwg.org/#abortsignal-aborted 40034. https://infra.spec.whatwg.org/#assert 40035. https://html.spec.whatwg.org/#ongoing-navigate-event 40036. https://html.spec.whatwg.org/#ongoing-navigate-event 40037. https://html.spec.whatwg.org/#navigateevent-finish 40038. https://html.spec.whatwg.org/#extract-error 40039. https://dom.spec.whatwg.org/#concept-event-fire 40040. https://html.spec.whatwg.org/#event-navigateerror 40041. https://html.spec.whatwg.org/#errorevent 40042. https://html.spec.whatwg.org/#reject-the-finished-promise 40043. https://html.spec.whatwg.org/#concept-navigation-transition 40044. https://html.spec.whatwg.org/#concept-navigation-transition 40045. https://html.spec.whatwg.org/#concept-navigationtransition-finished 40046. https://html.spec.whatwg.org/#concept-navigation-transition 40047. https://html.spec.whatwg.org/#navigation-api-method-tracker-clean-up 40048. https://html.spec.whatwg.org/#clean-up-after-running-script 40049. https://html.spec.whatwg.org/#relevant-settings-object 40050. https://html.spec.whatwg.org/#note-suppress-microtasks-during-navigation-events 40051. https://html.spec.whatwg.org/#concept-navigateevent-interception-state 40052. https://html.spec.whatwg.org/#dom-navigateevent-intercept 40053. https://html.spec.whatwg.org/#navigateevent 40054. https://infra.spec.whatwg.org/#assert 40055. https://html.spec.whatwg.org/#concept-navigateevent-interception-state 40056. https://html.spec.whatwg.org/#concept-navigateevent-interception-state 40057. https://html.spec.whatwg.org/#potentially-reset-the-focus 40058. https://html.spec.whatwg.org/#potentially-process-scroll-behavior 40059. https://html.spec.whatwg.org/#concept-navigateevent-interception-state 40060. https://html.spec.whatwg.org/#navigateevent 40061. https://infra.spec.whatwg.org/#assert 40062. https://html.spec.whatwg.org/#concept-navigateevent-interception-state 40063. https://html.spec.whatwg.org/#concept-relevant-global 40064. https://html.spec.whatwg.org/#window-navigation-api 40065. https://html.spec.whatwg.org/#focus-changed-during-ongoing-navigation 40066. https://html.spec.whatwg.org/#focus-changed-during-ongoing-navigation 40067. https://html.spec.whatwg.org/#concept-navigateevent-focusreset 40068. https://html.spec.whatwg.org/#dom-navigationfocusreset-manual 40069. https://html.spec.whatwg.org/#dom-navigationfocusreset-after-transition 40070. https://html.spec.whatwg.org/#concept-relevant-global 40071. https://html.spec.whatwg.org/#concept-document-window 40072. https://html.spec.whatwg.org/#autofocus-delegate 40073. https://html.spec.whatwg.org/#the-body-element-2 40074. https://dom.spec.whatwg.org/#document-element 40075. https://html.spec.whatwg.org/#focusing-steps 40076. https://drafts.csswg.org/css2/#viewport 40077. https://html.spec.whatwg.org/#sequential-focus-navigation-starting-point 40078. https://html.spec.whatwg.org/#navigateevent 40079. https://infra.spec.whatwg.org/#assert 40080. https://html.spec.whatwg.org/#concept-navigateevent-interception-state 40081. https://html.spec.whatwg.org/#concept-navigateevent-interception-state 40082. https://html.spec.whatwg.org/#concept-navigateevent-scroll 40083. https://html.spec.whatwg.org/#dom-navigationscrollbehavior-manual 40084. https://html.spec.whatwg.org/#dom-navigationscrollbehavior-after-transition 40085. https://html.spec.whatwg.org/#process-scroll-behavior 40086. https://html.spec.whatwg.org/#navigateevent 40087. https://infra.spec.whatwg.org/#assert 40088. https://html.spec.whatwg.org/#concept-navigateevent-interception-state 40089. https://html.spec.whatwg.org/#concept-navigateevent-interception-state 40090. https://html.spec.whatwg.org/#dom-navigateevent-navigationtype 40091. https://html.spec.whatwg.org/#dom-navigationtype-traverse 40092. https://html.spec.whatwg.org/#dom-navigationtype-reload 40093. https://html.spec.whatwg.org/#restore-scroll-position-data 40094. https://html.spec.whatwg.org/#concept-relevant-global 40095. https://html.spec.whatwg.org/#window-navigable 40096. https://html.spec.whatwg.org/#nav-active-history-entry 40097. https://html.spec.whatwg.org/#concept-relevant-global 40098. https://html.spec.whatwg.org/#concept-document-window 40099. https://html.spec.whatwg.org/#the-indicated-part-of-the-document 40100. https://drafts.csswg.org/cssom-view/#scroll-to-the-beginning-of-the-document 40101. https://html.spec.whatwg.org/#refsCSSOMVIEW 40102. https://html.spec.whatwg.org/#scroll-to-the-fragment-identifier 40103. https://html.spec.whatwg.org/#navigateevent 40104. https://html.spec.whatwg.org/#the-navigate-event 40105. https://html.spec.whatwg.org/#navigationcurrententrychangeevent 40106. https://dom.spec.whatwg.org/#interface-event 40107. https://html.spec.whatwg.org/#navigationcurrententrychangeeventinit 40108. https://html.spec.whatwg.org/#navigationtype 40109. https://html.spec.whatwg.org/#dom-navigationcurrententrychangeevent-navigationtype 40110. https://html.spec.whatwg.org/#navigationhistoryentry 40111. https://html.spec.whatwg.org/#dom-navigationcurrententrychangeevent-from 40112. https://dom.spec.whatwg.org/#dictdef-eventinit 40113. https://html.spec.whatwg.org/#navigationtype 40114. https://html.spec.whatwg.org/#navigationhistoryentry 40115. https://html.spec.whatwg.org/#dom-navigationcurrententrychangeevent-navigationtype 40116. https://html.spec.whatwg.org/#dom-navigation-updatecurrententry 40117. https://html.spec.whatwg.org/#dom-navigationcurrententrychangeevent-from 40118. https://html.spec.whatwg.org/#dom-navigation-currententry 40119. https://html.spec.whatwg.org/#dom-navigationcurrententrychangeevent-navigationtype 40120. https://html.spec.whatwg.org/#dom-navigationtype-reload 40121. https://html.spec.whatwg.org/#dom-navigation-currententry 40122. https://html.spec.whatwg.org/#popstateevent 40123. https://developer.mozilla.org/en-US/docs/Web/API/PopStateEvent/PopStateEvent 40124. https://developer.mozilla.org/en-US/docs/Web/API/PopStateEvent 40125. https://dom.spec.whatwg.org/#interface-event 40126. https://html.spec.whatwg.org/#popstateeventinit 40127. https://html.spec.whatwg.org/#dom-popstateevent-state 40128. https://html.spec.whatwg.org/#dom-popstateevent-hasuavisualtransition 40129. https://dom.spec.whatwg.org/#dictdef-eventinit 40130. https://html.spec.whatwg.org/#dom-popstateevent-state 40131. https://developer.mozilla.org/en-US/docs/Web/API/PopStateEvent/state 40132. https://html.spec.whatwg.org/#dom-history-pushstate 40133. https://html.spec.whatwg.org/#dom-history-replacestate 40134. https://html.spec.whatwg.org/#dom-popstateevent-hasuavisualtransition 40135. https://html.spec.whatwg.org/#document 40136. https://html.spec.whatwg.org/#hashchangeevent 40137. https://developer.mozilla.org/en-US/docs/Web/API/HashChangeEvent/HashChangeEvent 40138. https://developer.mozilla.org/en-US/docs/Web/API/HashChangeEvent 40139. https://dom.spec.whatwg.org/#interface-event 40140. https://html.spec.whatwg.org/#hashchangeeventinit 40141. https://html.spec.whatwg.org/#dom-hashchangeevent-oldurl 40142. https://html.spec.whatwg.org/#dom-hashchangeevent-newurl 40143. https://dom.spec.whatwg.org/#dictdef-eventinit 40144. https://html.spec.whatwg.org/#dom-hashchangeevent-oldurl 40145. https://developer.mozilla.org/en-US/docs/Web/API/HashChangeEvent/oldURL 40146. https://url.spec.whatwg.org/#concept-url 40147. https://html.spec.whatwg.org/#session-history-entry 40148. https://html.spec.whatwg.org/#dom-hashchangeevent-newurl 40149. https://developer.mozilla.org/en-US/docs/Web/API/HashChangeEvent/newURL 40150. https://url.spec.whatwg.org/#concept-url 40151. https://html.spec.whatwg.org/#session-history-entry 40152. https://html.spec.whatwg.org/#session-history-entry 40153. https://html.spec.whatwg.org/#session-history-entry 40154. https://html.spec.whatwg.org/#pageswapevent 40155. https://dom.spec.whatwg.org/#interface-event 40156. https://html.spec.whatwg.org/#pageswapeventinit 40157. https://html.spec.whatwg.org/#navigationactivation 40158. https://html.spec.whatwg.org/#dom-pageswapevent-activation 40159. https://drafts.csswg.org/css-view-transitions/#viewtransition 40160. https://html.spec.whatwg.org/#dom-pageswapevent-viewtransition 40161. https://dom.spec.whatwg.org/#dictdef-eventinit 40162. https://html.spec.whatwg.org/#navigationactivation 40163. https://drafts.csswg.org/css-view-transitions/#viewtransition 40164. https://html.spec.whatwg.org/#dom-pageswapevent-activation 40165. https://html.spec.whatwg.org/#navigationactivation 40166. https://html.spec.whatwg.org/#dom-pageswapevent-activation 40167. https://html.spec.whatwg.org/#dom-navigationactivation-entry 40168. https://html.spec.whatwg.org/#navigationhistoryentry 40169. https://html.spec.whatwg.org/#document 40170. https://html.spec.whatwg.org/#dom-pageswapevent-activation 40171. https://html.spec.whatwg.org/#dom-navigationactivation-from 40172. https://html.spec.whatwg.org/#navigationhistoryentry 40173. https://html.spec.whatwg.org/#dom-navigation-currententry 40174. https://html.spec.whatwg.org/#dom-pageswapevent-activation 40175. https://html.spec.whatwg.org/#dom-navigationactivation-navigationtype 40176. https://html.spec.whatwg.org/#dom-navigationtype-push 40177. https://html.spec.whatwg.org/#dom-navigationtype-replace 40178. https://html.spec.whatwg.org/#dom-navigationtype-reload 40179. https://html.spec.whatwg.org/#dom-navigationtype-traverse 40180. https://html.spec.whatwg.org/#dom-pageswapevent-viewtransition 40181. https://drafts.csswg.org/css-view-transitions/#viewtransition 40182. https://html.spec.whatwg.org/#pagerevealevent 40183. https://dom.spec.whatwg.org/#interface-event 40184. https://html.spec.whatwg.org/#pagerevealeventinit 40185. https://drafts.csswg.org/css-view-transitions/#viewtransition 40186. https://html.spec.whatwg.org/#dom-pagerevealevent-viewtransition 40187. https://dom.spec.whatwg.org/#dictdef-eventinit 40188. https://drafts.csswg.org/css-view-transitions/#viewtransition 40189. https://html.spec.whatwg.org/#dom-pagerevealevent-viewtransition 40190. https://drafts.csswg.org/css-view-transitions/#viewtransition 40191. https://html.spec.whatwg.org/#pagetransitionevent 40192. https://developer.mozilla.org/en-US/docs/Web/API/PageTransitionEvent/PageTransitionEvent 40193. https://developer.mozilla.org/en-US/docs/Web/API/PageTransitionEvent 40194. https://dom.spec.whatwg.org/#interface-event 40195. https://html.spec.whatwg.org/#pagetransitioneventinit 40196. https://html.spec.whatwg.org/#dom-pagetransitionevent-persisted 40197. https://dom.spec.whatwg.org/#dictdef-eventinit 40198. https://html.spec.whatwg.org/#dom-pagetransitionevent-persisted 40199. https://developer.mozilla.org/en-US/docs/Web/API/PageTransitionEvent/persisted 40200. https://html.spec.whatwg.org/#event-pageshow 40201. https://html.spec.whatwg.org/#event-load 40202. https://html.spec.whatwg.org/#event-pagehide 40203. https://html.spec.whatwg.org/#document 40204. https://html.spec.whatwg.org/#concept-document-salvageable 40205. https://html.spec.whatwg.org/#document 40206. https://html.spec.whatwg.org/#session-history-entry 40207. https://html.spec.whatwg.org/#unload-a-document 40208. https://html.spec.whatwg.org/#the-iframe-element 40209. https://html.spec.whatwg.org/#concept-document-salvageable 40210. https://websockets.spec.whatwg.org/#websocket 40211. https://html.spec.whatwg.org/#abort-a-document 40212. https://html.spec.whatwg.org/#window 40213. https://dom.spec.whatwg.org/#concept-event-fire 40214. https://html.spec.whatwg.org/#pagetransitionevent 40215. https://html.spec.whatwg.org/#dom-pagetransitionevent-persisted 40216. https://dom.spec.whatwg.org/#dom-event-cancelable 40217. https://dom.spec.whatwg.org/#dom-event-bubbles 40218. https://dom.spec.whatwg.org/#dom-event-cancelable 40219. https://dom.spec.whatwg.org/#dom-event-bubbles 40220. https://html.spec.whatwg.org/#window 40221. https://html.spec.whatwg.org/#beforeunloadevent 40222. https://developer.mozilla.org/en-US/docs/Web/API/BeforeUnloadEvent 40223. https://dom.spec.whatwg.org/#interface-event 40224. https://html.spec.whatwg.org/#dom-beforeunloadevent-returnvalue 40225. https://html.spec.whatwg.org/#beforeunloadevent 40226. https://html.spec.whatwg.org/#beforeunloadevent 40227. https://html.spec.whatwg.org/#checking-if-unloading-is-canceled 40228. https://html.spec.whatwg.org/#dom-beforeunloadevent-returnvalue 40229. https://dom.spec.whatwg.org/#dom-event-preventdefault 40230. https://html.spec.whatwg.org/#dom-beforeunloadevent-returnvalue 40231. https://html.spec.whatwg.org/#checking-if-unloading-is-canceled 40232. https://html.spec.whatwg.org/#notrestoredreasons 40233. https://html.spec.whatwg.org/#dom-not-restored-reason-details-reason 40234. https://html.spec.whatwg.org/#dom-not-restored-reasons-src 40235. https://html.spec.whatwg.org/#dom-not-restored-reasons-id 40236. https://html.spec.whatwg.org/#dom-not-restored-reasons-name 40237. https://html.spec.whatwg.org/#dom-not-restored-reasons-url 40238. https://html.spec.whatwg.org/#notrestoredreasondetails 40239. https://html.spec.whatwg.org/#dom-not-restored-reasons-reasons 40240. https://html.spec.whatwg.org/#notrestoredreasons 40241. https://html.spec.whatwg.org/#dom-not-restored-reasons-children 40242. https://html.spec.whatwg.org/#dom-not-restored-reason-details-reason 40243. https://html.spec.whatwg.org/#note-bfcache 40244. https://html.spec.whatwg.org/#concept-document-bfcache-blocking-details 40245. https://html.spec.whatwg.org/#dom-not-restored-reasons-src 40246. https://html.spec.whatwg.org/#attr-iframe-src 40247. https://html.spec.whatwg.org/#node-navigable 40248. https://html.spec.whatwg.org/#nav-container 40249. https://html.spec.whatwg.org/#the-iframe-element 40250. https://html.spec.whatwg.org/#the-iframe-element 40251. https://html.spec.whatwg.org/#dom-not-restored-reasons-id 40252. https://html.spec.whatwg.org/#the-id-attribute 40253. https://html.spec.whatwg.org/#node-navigable 40254. https://html.spec.whatwg.org/#nav-container 40255. https://html.spec.whatwg.org/#the-iframe-element 40256. https://html.spec.whatwg.org/#the-iframe-element 40257. https://html.spec.whatwg.org/#dom-not-restored-reasons-name 40258. https://html.spec.whatwg.org/#attr-iframe-name 40259. https://html.spec.whatwg.org/#node-navigable 40260. https://html.spec.whatwg.org/#nav-container 40261. https://html.spec.whatwg.org/#the-iframe-element 40262. https://html.spec.whatwg.org/#the-iframe-element 40263. https://html.spec.whatwg.org/#dom-not-restored-reasons-url 40264. https://dom.spec.whatwg.org/#concept-document-url 40265. https://html.spec.whatwg.org/#the-iframe-element 40266. https://html.spec.whatwg.org/#dom-not-restored-reasons-src 40267. https://html.spec.whatwg.org/#the-iframe-element 40268. https://html.spec.whatwg.org/#attr-iframe-src 40269. https://html.spec.whatwg.org/#dom-not-restored-reasons-reasons 40270. https://html.spec.whatwg.org/#notrestoredreasondetails 40271. https://html.spec.whatwg.org/#the-iframe-element 40272. https://html.spec.whatwg.org/#dom-not-restored-reasons-children 40273. https://html.spec.whatwg.org/#notrestoredreasons 40274. https://html.spec.whatwg.org/#the-iframe-element 40275. https://html.spec.whatwg.org/#notrestoredreasondetails 40276. https://html.spec.whatwg.org/#nrr-details-struct 40277. https://webidl.spec.whatwg.org/#this 40278. https://html.spec.whatwg.org/#concept-not-restored-reason-details-backing-struct 40279. https://html.spec.whatwg.org/#nrr-details-reason 40280. https://html.spec.whatwg.org/#nrr-details-struct 40281. https://tc39.es/ecma262/#sec-code-realms 40282. https://html.spec.whatwg.org/#notrestoredreasondetails 40283. https://html.spec.whatwg.org/#concept-not-restored-reason-details-backing-struct 40284. https://infra.spec.whatwg.org/#struct 40285. https://infra.spec.whatwg.org/#struct-item 40286. https://html.spec.whatwg.org/#nrr-details-reason 40287. https://html.spec.whatwg.org/#note-bfcache 40288. https://html.spec.whatwg.org/#unload-a-document 40289. https://html.spec.whatwg.org/#document 40290. https://html.spec.whatwg.org/#note-bfcache 40291. https://html.spec.whatwg.org/#document 40292. https://html.spec.whatwg.org/#note-bfcache 40293. https://html.spec.whatwg.org/#document 40294. https://html.spec.whatwg.org/#note-bfcache 40295. https://html.spec.whatwg.org/#unload-a-document 40296. https://websockets.spec.whatwg.org/#websocket 40297. https://html.spec.whatwg.org/#note-bfcache 40298. https://html.spec.whatwg.org/#refsWEBSOCKETS 40299. https://html.spec.whatwg.org/#unload-a-document 40300. https://w3c.github.io/web-locks/#lock-concept 40301. https://w3c.github.io/web-locks/#lock-request 40302. https://html.spec.whatwg.org/#note-bfcache 40303. https://html.spec.whatwg.org/#refsWEBLOCKS 40304. https://html.spec.whatwg.org/#document 40305. https://html.spec.whatwg.org/#the-iframe-element 40306. https://html.spec.whatwg.org/#note-bfcache 40307. https://html.spec.whatwg.org/#document 40308. https://html.spec.whatwg.org/#note-bfcache 40309. https://html.spec.whatwg.org/#ua-specific-blocking-reasons 40310. https://html.spec.whatwg.org/note-bfcache 40311. https://html.spec.whatwg.org/#document 40312. https://w3c.github.io/mediacapture-main/getusermedia.html#dom-mediadevices-getusermedia 40313. https://html.spec.whatwg.org/#refsMEDIASTREAM 40314. https://html.spec.whatwg.org/#document 40315. https://wicg.github.io/background-sync/spec/#syncmanager 40316. https://wicg.github.io/background-sync/spec/#dom-syncmanager-register 40317. https://wicg.github.io/periodic-background-sync/#periodicsyncmanager 40318. https://wicg.github.io/periodic-background-sync/#dom-periodicsyncmanager-register 40319. https://wicg.github.io/background-fetch/#backgroundfetchmanager 40320. https://wicg.github.io/background-fetch/#dom-backgroundfetchmanager-fetch 40321. https://html.spec.whatwg.org/#note-bfcache 40322. https://html.spec.whatwg.org/#broadcastchannel 40323. https://html.spec.whatwg.org/#event-message 40324. https://html.spec.whatwg.org/#document 40325. https://w3c.github.io/IndexedDB/#idbversionchangeevent 40326. https://html.spec.whatwg.org/#unload-a-document 40327. https://html.spec.whatwg.org/#refsINDEXEDDB 40328. https://html.spec.whatwg.org/#document 40329. https://wicg.github.io/idle-detection/#idledetector 40330. https://html.spec.whatwg.org/#unload-a-document 40331. https://html.spec.whatwg.org/#unload-a-document 40332. https://wicg.github.io/keyboard-lock/#keyboard 40333. https://wicg.github.io/keyboard-lock/#dom-keyboard-lock 40334. https://w3c.github.io/mediacapture-main/getusermedia.html#mediastreamtrack 40335. https://w3c.github.io/mediacapture-main/getusermedia.html#idl-def-MediaStreamTrackState.live 40336. https://html.spec.whatwg.org/#unload-a-document 40337. https://html.spec.whatwg.org/#refsMEDIASTREAM 40338. https://html.spec.whatwg.org/#document 40339. https://webaudio.github.io/web-midi-api/#dom-navigator-requestmidiaccess 40340. https://html.spec.whatwg.org/#user-prompts 40341. https://html.spec.whatwg.org/#unload-a-document 40342. https://html.spec.whatwg.org/#unload-a-document 40343. https://html.spec.whatwg.org/#document 40344. https://html.spec.whatwg.org/#note-bfcache 40345. https://html.spec.whatwg.org/#dom-window-stop 40346. https://html.spec.whatwg.org/note-bfcache 40347. https://html.spec.whatwg.org/#browsing-context-group 40348. https://html.spec.whatwg.org/#document 40349. https://html.spec.whatwg.org/#top-level-browsing-context 40350. https://html.spec.whatwg.org/#document 40351. https://wicg.github.io/web-otp/#otpcredential 40352. https://html.spec.whatwg.org/#unload-a-document 40353. https://html.spec.whatwg.org/#document 40354. https://html.spec.whatwg.org/#note-bfcache 40355. https://html.spec.whatwg.org/#document 40356. https://w3c.github.io/payment-request/#dom-paymentrequest 40357. https://html.spec.whatwg.org/#unload-a-document 40358. https://html.spec.whatwg.org/#refsPAYMENTREQUEST 40359. https://html.spec.whatwg.org/#document 40360. https://w3c.github.io/picture-in-picture/#pictureinpicturewindow 40361. https://html.spec.whatwg.org/#unload-a-document 40362. https://html.spec.whatwg.org/#refsPICTUREINPICTURE 40363. https://html.spec.whatwg.org/#document 40364. https://html.spec.whatwg.org/#plugin 40365. https://html.spec.whatwg.org/#document 40366. https://fetch.spec.whatwg.org/#concept-request-method 40367. https://html.spec.whatwg.org/#refsFETCH 40368. https://html.spec.whatwg.org/#document 40369. https://html.spec.whatwg.org/#document 40370. https://httpwg.org/specs/rfc7234.html#header.cache-control 40371. https://html.spec.whatwg.org/#refsHTTP 40372. https://html.spec.whatwg.org/#document 40373. https://httpwg.org/specs/rfc7234.html#header.cache-control 40374. https://html.spec.whatwg.org/#refsHTTP 40375. https://html.spec.whatwg.org/#document 40376. https://html.spec.whatwg.org/#document 40377. https://fetch.spec.whatwg.org/#concept-response-url 40378. https://url.spec.whatwg.org/#concept-url-scheme 40379. https://fetch.spec.whatwg.org/#http-scheme 40380. https://html.spec.whatwg.org/#refsFETCH 40381. https://html.spec.whatwg.org/#document 40382. https://fetch.spec.whatwg.org/#concept-response-status 40383. https://fetch.spec.whatwg.org/#ok-status 40384. https://html.spec.whatwg.org/#refsFETCH 40385. https://html.spec.whatwg.org/#unload-a-document 40386. https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection 40387. https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel 40388. https://html.spec.whatwg.org/#note-bfcache 40389. https://html.spec.whatwg.org/#refsWEBRTC 40390. https://html.spec.whatwg.org/#document 40391. https://w3c.github.io/sensors/#request-sensor-access 40392. https://html.spec.whatwg.org/#document 40393. https://w3c.github.io/ServiceWorker/#serviceworkercontainer-service-worker-client 40394. https://w3c.github.io/ServiceWorker/#dfn-control 40395. https://w3c.github.io/ServiceWorker/#serviceworker 40396. https://html.spec.whatwg.org/#note-bfcache 40397. https://html.spec.whatwg.org/#refsSW 40398. https://html.spec.whatwg.org/#document 40399. https://w3c.github.io/ServiceWorker/#serviceworkercontainer-service-worker-client 40400. https://html.spec.whatwg.org/#concept-environment-active-service-worker 40401. https://html.spec.whatwg.org/#note-bfcache 40402. https://html.spec.whatwg.org/#refsSW 40403. https://html.spec.whatwg.org/#document 40404. https://w3c.github.io/ServiceWorker/#serviceworkercontainer-service-worker-client 40405. https://html.spec.whatwg.org/#concept-environment-active-service-worker 40406. https://html.spec.whatwg.org/#note-bfcache 40407. https://html.spec.whatwg.org/#refsSW 40408. https://html.spec.whatwg.org/#document 40409. https://w3c.github.io/ServiceWorker/#serviceworkercontainer-service-worker-client 40410. https://html.spec.whatwg.org/#concept-environment-active-service-worker 40411. https://html.spec.whatwg.org/#note-bfcache 40412. https://html.spec.whatwg.org/#refsSW 40413. https://html.spec.whatwg.org/#document 40414. https://w3c.github.io/ServiceWorker/#serviceworkercontainer-service-worker-client 40415. https://html.spec.whatwg.org/#concept-environment-active-service-worker 40416. https://w3c.github.io/service-workers/#dfn-service-worker-registration 40417. https://w3c.github.io/service-workers/#navigator-service-worker-unregister 40418. https://html.spec.whatwg.org/#note-bfcache 40419. https://html.spec.whatwg.org/#refsSW 40420. https://html.spec.whatwg.org/#document 40421. https://html.spec.whatwg.org/#concept-WorkerGlobalScope-owner-set 40422. https://html.spec.whatwg.org/#sharedworkerglobalscope 40423. https://html.spec.whatwg.org/#document 40424. https://wicg.github.io/web-smart-card/#dom-smartcardconnection 40425. https://html.spec.whatwg.org/#unload-a-document 40426. https://html.spec.whatwg.org/#document 40427. https://wicg.github.io/speech-api/#speechrecognition 40428. https://html.spec.whatwg.org/#unload-a-document 40429. https://html.spec.whatwg.org/#document 40430. https://html.spec.whatwg.org/#document 40431. https://dom.spec.whatwg.org/#concept-event-listener 40432. https://html.spec.whatwg.org/#event-unload 40433. https://html.spec.whatwg.org/#document 40434. https://w3c.github.io/mediacapture-main/getusermedia.html#dom-mediadevices-getusermedia 40435. https://html.spec.whatwg.org/#refsMEDIASTREAM 40436. https://html.spec.whatwg.org/#document 40437. https://wicg.github.io/webhid/#requestdevice-method 40438. https://html.spec.whatwg.org/#document 40439. https://w3c.github.io/web-share/#share-method 40440. https://html.spec.whatwg.org/#unload-a-document 40441. https://w3c.github.io/webtransport/#webtransport 40442. https://html.spec.whatwg.org/#note-bfcache 40443. https://html.spec.whatwg.org/#refsWEBTRANSPORT 40444. https://html.spec.whatwg.org/#document 40445. https://immersive-web.github.io/webxr/#xrsystem 40446. https://html.spec.whatwg.org/#notrestoredreasons 40447. https://html.spec.whatwg.org/#nrr-struct 40448. https://html.spec.whatwg.org/#notrestoredreasons 40449. https://html.spec.whatwg.org/#notrestoredreasondetails 40450. https://html.spec.whatwg.org/#notrestoredreasons 40451. https://html.spec.whatwg.org/#notrestoredreasons 40452. https://webidl.spec.whatwg.org/#this 40453. https://html.spec.whatwg.org/#concept-not-restored-reasons-backing-struct 40454. https://html.spec.whatwg.org/#nrr-src 40455. https://webidl.spec.whatwg.org/#this 40456. https://html.spec.whatwg.org/#concept-not-restored-reasons-backing-struct 40457. https://html.spec.whatwg.org/#nrr-id 40458. https://webidl.spec.whatwg.org/#this 40459. https://html.spec.whatwg.org/#concept-not-restored-reasons-backing-struct 40460. https://html.spec.whatwg.org/#nrr-name 40461. https://webidl.spec.whatwg.org/#this 40462. https://html.spec.whatwg.org/#concept-not-restored-reasons-backing-struct 40463. https://html.spec.whatwg.org/#nrr-url 40464. https://webidl.spec.whatwg.org/#this 40465. https://html.spec.whatwg.org/#concept-not-restored-reasons-backing-struct 40466. https://html.spec.whatwg.org/#nrr-url 40467. https://url.spec.whatwg.org/#concept-url-serializer 40468. https://webidl.spec.whatwg.org/#this 40469. https://html.spec.whatwg.org/#concept-not-restored-reasons-reasons 40470. https://webidl.spec.whatwg.org/#this 40471. https://html.spec.whatwg.org/#concept-not-restored-reasons-children 40472. https://html.spec.whatwg.org/#nrr-struct 40473. https://tc39.es/ecma262/#sec-code-realms 40474. https://html.spec.whatwg.org/#notrestoredreasons 40475. https://html.spec.whatwg.org/#concept-not-restored-reasons-backing-struct 40476. https://html.spec.whatwg.org/#nrr-reasons 40477. https://html.spec.whatwg.org/#concept-not-restored-reasons-reasons 40478. https://infra.spec.whatwg.org/#list 40479. https://infra.spec.whatwg.org/#list-iterate 40480. https://html.spec.whatwg.org/#nrr-reasons 40481. https://html.spec.whatwg.org/#create-a-notrestoredreasondetails-object 40482. https://infra.spec.whatwg.org/#list-append 40483. https://html.spec.whatwg.org/#concept-not-restored-reasons-reasons 40484. https://webidl.spec.whatwg.org/#dfn-create-frozen-array 40485. https://html.spec.whatwg.org/#nrr-children 40486. https://html.spec.whatwg.org/#concept-not-restored-reasons-children 40487. https://infra.spec.whatwg.org/#list 40488. https://infra.spec.whatwg.org/#list-iterate 40489. https://html.spec.whatwg.org/#nrr-children 40490. https://html.spec.whatwg.org/#create-a-notrestoredreasons-object 40491. https://infra.spec.whatwg.org/#list-append 40492. https://html.spec.whatwg.org/#concept-not-restored-reasons-children 40493. https://webidl.spec.whatwg.org/#dfn-create-frozen-array 40494. https://infra.spec.whatwg.org/#struct 40495. https://infra.spec.whatwg.org/#struct-item 40496. https://infra.spec.whatwg.org/#scalar-value-string 40497. https://url.spec.whatwg.org/#concept-url 40498. https://infra.spec.whatwg.org/#list 40499. https://html.spec.whatwg.org/#nrr-details-struct 40500. https://infra.spec.whatwg.org/#list 40501. https://html.spec.whatwg.org/#nrr-struct 40502. https://html.spec.whatwg.org/#node-navigable 40503. https://html.spec.whatwg.org/#nav-active-history-entry 40504. https://html.spec.whatwg.org/#she-document-state 40505. https://html.spec.whatwg.org/#document-state-not-restored-reasons 40506. https://html.spec.whatwg.org/#document 40507. https://html.spec.whatwg.org/#node-navigable 40508. https://html.spec.whatwg.org/#top-level-traversable 40509. https://html.spec.whatwg.org/#navigable 40510. https://html.spec.whatwg.org/#the-iframe-element 40511. https://html.spec.whatwg.org/#frame 40512. https://html.spec.whatwg.org/#frameset 40513. https://html.spec.whatwg.org/#traversable-navigable 40514. https://html.spec.whatwg.org/#browsing-context 40515. https://html.spec.whatwg.org/#windowproxy 40516. https://html.spec.whatwg.org/#browsing-context-group-switches-due-to-cross-origin-opener-policy 40517. https://html.spec.whatwg.org/#document 40518. https://html.spec.whatwg.org/#nav-active-history-entry 40519. https://html.spec.whatwg.org/#new-unique-internal-value 40520. https://html.spec.whatwg.org/#navigable 40521. https://html.spec.whatwg.org/#session-history-entry 40522. https://html.spec.whatwg.org/#tn-session-history-traversal-queue 40523. https://html.spec.whatwg.org/#traversable-navigable 40524. https://html.spec.whatwg.org/#session-history-entry 40525. https://html.spec.whatwg.org/#nav-active-history-entry 40526. https://html.spec.whatwg.org/#she-document 40527. https://html.spec.whatwg.org/#top-level-traversable 40528. https://html.spec.whatwg.org/#nav-parent 40529. https://html.spec.whatwg.org/#nav-current-history-entry 40530. https://html.spec.whatwg.org/#nav-active-history-entry 40531. https://html.spec.whatwg.org/#nav-active-history-entry 40532. https://html.spec.whatwg.org/#nav-current-history-entry 40533. https://html.spec.whatwg.org/#apply-the-history-step 40534. https://html.spec.whatwg.org/#nav-current-history-entry 40535. https://html.spec.whatwg.org/#nav-active-history-entry 40536. https://html.spec.whatwg.org/#navigable 40537. https://html.spec.whatwg.org/#nav-active-history-entry 40538. https://html.spec.whatwg.org/#she-document 40539. https://html.spec.whatwg.org/#tn-session-history-traversal-queue 40540. https://html.spec.whatwg.org/#nav-top 40541. https://html.spec.whatwg.org/#navigable 40542. https://html.spec.whatwg.org/#nav-active-history-entry 40543. https://html.spec.whatwg.org/#document 40544. https://html.spec.whatwg.org/#navigable 40545. https://html.spec.whatwg.org/#nav-document 40546. https://html.spec.whatwg.org/#concept-document-bc 40547. https://html.spec.whatwg.org/#navigable 40548. https://html.spec.whatwg.org/#traversable-navigable 40549. https://html.spec.whatwg.org/#nav-bc 40550. https://html.spec.whatwg.org/#top-level-browsing-context 40551. https://html.spec.whatwg.org/#navigable 40552. https://html.spec.whatwg.org/#nav-bc 40553. https://html.spec.whatwg.org/#windowproxy 40554. https://html.spec.whatwg.org/#navigable 40555. https://html.spec.whatwg.org/#nav-wp 40556. https://html.spec.whatwg.org/#concept-windowproxy-window 40557. https://html.spec.whatwg.org/#nav-document 40558. https://html.spec.whatwg.org/#concept-relevant-global 40559. https://html.spec.whatwg.org/#make-active 40560. https://html.spec.whatwg.org/#navigable 40561. https://html.spec.whatwg.org/#nav-active-history-entry 40562. https://html.spec.whatwg.org/#she-document-state 40563. https://html.spec.whatwg.org/#document-state-nav-target-name 40564. https://dom.spec.whatwg.org/#interface-node 40565. https://html.spec.whatwg.org/#navigable 40566. https://html.spec.whatwg.org/#nav-document 40567. https://dom.spec.whatwg.org/#concept-node-document 40568. https://html.spec.whatwg.org/#navigable 40569. https://html.spec.whatwg.org/#navigable 40570. https://html.spec.whatwg.org/#document-state-2 40571. https://html.spec.whatwg.org/#navigable 40572. https://infra.spec.whatwg.org/#assert 40573. https://html.spec.whatwg.org/#document-state-document 40574. https://html.spec.whatwg.org/#session-history-entry 40575. https://html.spec.whatwg.org/#she-url 40576. https://html.spec.whatwg.org/#document-state-document 40577. https://dom.spec.whatwg.org/#concept-document-url 40578. https://html.spec.whatwg.org/#she-document-state 40579. https://html.spec.whatwg.org/#she-step 40580. https://html.spec.whatwg.org/#nav-current-history-entry 40581. https://html.spec.whatwg.org/#nav-active-history-entry 40582. https://html.spec.whatwg.org/#nav-parent 40583. https://html.spec.whatwg.org/#navigable 40584. https://html.spec.whatwg.org/#session-history-entry 40585. https://html.spec.whatwg.org/#nav-current-history-entry 40586. https://html.spec.whatwg.org/#nav-active-history-entry 40587. https://html.spec.whatwg.org/#navigable 40588. https://html.spec.whatwg.org/#navigable 40589. https://html.spec.whatwg.org/#traversable-navigable 40590. https://infra.spec.whatwg.org/#list 40591. https://html.spec.whatwg.org/#session-history-entry 40592. https://infra.spec.whatwg.org/#list 40593. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue 40594. https://html.spec.whatwg.org/#starting-a-new-session-history-traversal-parallel-queue 40595. https://html.spec.whatwg.org/#page-visibility 40596. https://html.spec.whatwg.org/#navigable 40597. https://html.spec.whatwg.org/#traversable-navigable 40598. https://html.spec.whatwg.org/#nav-parent 40599. https://html.spec.whatwg.org/#traversable-navigable 40600. https://html.spec.whatwg.org/#nav-parent 40601. https://html.spec.whatwg.org/#traversable-navigable 40602. https://html.spec.whatwg.org/#top-level-traversable 40603. https://infra.spec.whatwg.org/#ordered-set 40604. https://html.spec.whatwg.org/#top-level-traversable 40605. https://html.spec.whatwg.org/#navigable 40606. https://html.spec.whatwg.org/#nav-parent 40607. https://html.spec.whatwg.org/#nav-parent 40608. https://html.spec.whatwg.org/#browsing-context 40609. https://html.spec.whatwg.org/#navigable 40610. https://html.spec.whatwg.org/#creating-a-new-top-level-browsing-context 40611. https://html.spec.whatwg.org/#creating-a-new-auxiliary-browsing-context 40612. https://html.spec.whatwg.org/#document-state-2 40613. https://html.spec.whatwg.org/#document-state-document 40614. https://html.spec.whatwg.org/#document-state-initiator-origin 40615. https://dom.spec.whatwg.org/#concept-document-origin 40616. https://html.spec.whatwg.org/#document-state-origin 40617. https://dom.spec.whatwg.org/#concept-document-origin 40618. https://html.spec.whatwg.org/#document-state-nav-target-name 40619. https://html.spec.whatwg.org/#document-state-about-base-url 40620. https://html.spec.whatwg.org/#concept-document-about-base-url 40621. https://html.spec.whatwg.org/#traversable-navigable 40622. https://html.spec.whatwg.org/#initialize-the-navigable 40623. https://html.spec.whatwg.org/#nav-active-history-entry 40624. https://html.spec.whatwg.org/#she-step 40625. https://infra.spec.whatwg.org/#list-append 40626. https://html.spec.whatwg.org/#tn-session-history-entries 40627. https://storage.spec.whatwg.org/#legacy-clone-a-traversable-storage-shed 40628. https://html.spec.whatwg.org/#bc-traversable 40629. https://html.spec.whatwg.org/#refsSTORAGE 40630. https://infra.spec.whatwg.org/#list-append 40631. https://html.spec.whatwg.org/#top-level-traversable-set 40632. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigable-created 40633. https://url.spec.whatwg.org/#concept-url 40634. https://html.spec.whatwg.org/#post-resource 40635. https://html.spec.whatwg.org/#creating-a-new-top-level-traversable 40636. https://html.spec.whatwg.org/#navigate 40637. https://html.spec.whatwg.org/#nav-document 40638. https://html.spec.whatwg.org/#navigation-resource 40639. https://html.spec.whatwg.org/#the-iframe-element 40640. https://html.spec.whatwg.org/#navigable 40641. https://html.spec.whatwg.org/#navigable-container 40642. https://html.spec.whatwg.org/#navigable 40643. https://html.spec.whatwg.org/#navigable 40644. https://html.spec.whatwg.org/#navigable-container 40645. https://html.spec.whatwg.org/#content-navigable 40646. https://html.spec.whatwg.org/#navigable 40647. https://html.spec.whatwg.org/#nav-container 40648. https://html.spec.whatwg.org/#nav-container 40649. https://dom.spec.whatwg.org/#concept-node-document 40650. https://html.spec.whatwg.org/#nav-container 40651. https://dom.spec.whatwg.org/#concept-shadow-including-root 40652. https://html.spec.whatwg.org/#nav-container 40653. https://dom.spec.whatwg.org/#connected 40654. https://html.spec.whatwg.org/#document 40655. https://html.spec.whatwg.org/#node-navigable 40656. https://html.spec.whatwg.org/#node-navigable 40657. https://html.spec.whatwg.org/#nav-container-document 40658. https://html.spec.whatwg.org/#navigable 40659. https://html.spec.whatwg.org/#nav-parent 40660. https://html.spec.whatwg.org/#navigable 40661. https://html.spec.whatwg.org/#child-navigable 40662. https://html.spec.whatwg.org/#nav-parent 40663. https://html.spec.whatwg.org/#child-navigable 40664. https://html.spec.whatwg.org/#content-navigable 40665. https://html.spec.whatwg.org/#nav-container 40666. https://html.spec.whatwg.org/#navigable-container 40667. https://html.spec.whatwg.org/#content-navigable 40668. https://html.spec.whatwg.org/#content-navigable 40669. https://html.spec.whatwg.org/#nav-document 40670. https://dom.spec.whatwg.org/#concept-document-origin 40671. https://dom.spec.whatwg.org/#concept-node-document 40672. https://dom.spec.whatwg.org/#concept-document-origin 40673. https://html.spec.whatwg.org/#same-origin-domain 40674. https://html.spec.whatwg.org/#navigable-container 40675. https://html.spec.whatwg.org/#content-navigable 40676. https://html.spec.whatwg.org/#content-navigable 40677. https://html.spec.whatwg.org/#nav-wp 40678. https://html.spec.whatwg.org/#node-navigable 40679. https://dom.spec.whatwg.org/#concept-node-document 40680. https://html.spec.whatwg.org/#concept-document-bc 40681. https://html.spec.whatwg.org/#bc-tlbc 40682. https://html.spec.whatwg.org/#tlbc-group 40683. https://html.spec.whatwg.org/#creating-a-new-browsing-context 40684. https://dom.spec.whatwg.org/#concept-node-document 40685. https://html.spec.whatwg.org/#document-state-2 40686. https://html.spec.whatwg.org/#document-state-document 40687. https://html.spec.whatwg.org/#document-state-initiator-origin 40688. https://dom.spec.whatwg.org/#concept-document-origin 40689. https://html.spec.whatwg.org/#document-state-origin 40690. https://dom.spec.whatwg.org/#concept-document-origin 40691. https://html.spec.whatwg.org/#document-state-nav-target-name 40692. https://html.spec.whatwg.org/#document-state-about-base-url 40693. https://html.spec.whatwg.org/#concept-document-about-base-url 40694. https://html.spec.whatwg.org/#navigable 40695. https://html.spec.whatwg.org/#initialize-the-navigable 40696. https://html.spec.whatwg.org/#content-navigable 40697. https://html.spec.whatwg.org/#nav-active-history-entry 40698. https://html.spec.whatwg.org/#nav-traversable 40699. https://html.spec.whatwg.org/#tn-append-session-history-traversal-steps 40700. https://html.spec.whatwg.org/#nav-active-history-entry 40701. https://html.spec.whatwg.org/#she-document-state 40702. https://html.spec.whatwg.org/#getting-session-history-entries 40703. https://html.spec.whatwg.org/#session-history-entry 40704. https://html.spec.whatwg.org/#she-document-state 40705. https://html.spec.whatwg.org/#she-step 40706. https://html.spec.whatwg.org/#she-step 40707. https://html.spec.whatwg.org/#nested-history 40708. https://html.spec.whatwg.org/#nested-history-id 40709. https://html.spec.whatwg.org/#nav-id 40710. https://html.spec.whatwg.org/#nested-history-entries 40711. https://infra.spec.whatwg.org/#list-append 40712. https://html.spec.whatwg.org/#document-state-nested-histories 40713. https://html.spec.whatwg.org/#update-for-navigable-creation/destruction 40714. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigable-created 40715. https://html.spec.whatwg.org/#navigable 40716. https://html.spec.whatwg.org/#session-history-entry 40717. https://html.spec.whatwg.org/#tn-current-session-history-step 40718. https://html.spec.whatwg.org/#navigable 40719. https://html.spec.whatwg.org/#top-level-traversable 40720. https://html.spec.whatwg.org/#child-navigable 40721. https://html.spec.whatwg.org/#navigable 40722. https://url.spec.whatwg.org/#syntax-url-relative 40723. https://html.spec.whatwg.org/#tn-current-session-history-step 40724. https://html.spec.whatwg.org/#nav-current-history-entry 40725. https://html.spec.whatwg.org/#top-level-traversable 40726. https://html.spec.whatwg.org/#child-navigable 40727. https://html.spec.whatwg.org/#navigate 40728. https://html.spec.whatwg.org/#navigate 40729. https://html.spec.whatwg.org/#navigate 40730. https://html.spec.whatwg.org/#navigate 40731. https://html.spec.whatwg.org/#traverse-the-history-by-a-delta 40732. https://html.spec.whatwg.org/#jake-diagram 40733. https://html.spec.whatwg.org/#jake-diagram 40734. https://html.spec.whatwg.org/#navigable 40735. https://html.spec.whatwg.org/#document 40736. https://html.spec.whatwg.org/#document 40737. https://html.spec.whatwg.org/#navigable 40738. https://html.spec.whatwg.org/#fully-active 40739. https://html.spec.whatwg.org/#document 40740. https://html.spec.whatwg.org/#fully-active 40741. https://html.spec.whatwg.org/#document 40742. https://html.spec.whatwg.org/#dom-parent 40743. https://html.spec.whatwg.org/#document 40744. https://html.spec.whatwg.org/#node-navigable 40745. https://html.spec.whatwg.org/#nav-parent 40746. https://infra.spec.whatwg.org/#list-prepend 40747. https://html.spec.whatwg.org/#nav-parent 40748. https://html.spec.whatwg.org/#document 40749. https://html.spec.whatwg.org/#ancestor-navigables 40750. https://infra.spec.whatwg.org/#list-append 40751. https://html.spec.whatwg.org/#node-navigable 40752. https://html.spec.whatwg.org/#document 40753. https://infra.spec.whatwg.org/#list 40754. https://infra.spec.whatwg.org/#list 40755. https://dom.spec.whatwg.org/#concept-shadow-including-descendant 40756. https://html.spec.whatwg.org/#navigable-container 40757. https://dom.spec.whatwg.org/#concept-shadow-including-tree-order 40758. https://infra.spec.whatwg.org/#list-iterate 40759. https://html.spec.whatwg.org/#content-navigable 40760. https://infra.spec.whatwg.org/#list-extend 40761. https://html.spec.whatwg.org/#content-navigable 40762. https://html.spec.whatwg.org/#nav-document 40763. https://html.spec.whatwg.org/#inclusive-descendant-navigables 40764. https://html.spec.whatwg.org/#document 40765. https://html.spec.whatwg.org/#node-navigable 40766. https://infra.spec.whatwg.org/#list-extend 40767. https://html.spec.whatwg.org/#descendant-navigables 40768. https://html.spec.whatwg.org/#document 40769. https://html.spec.whatwg.org/#document 40770. https://html.spec.whatwg.org/#node-navigable 40771. https://infra.spec.whatwg.org/#list 40772. https://infra.spec.whatwg.org/#list 40773. https://dom.spec.whatwg.org/#concept-tree-descendant 40774. https://html.spec.whatwg.org/#navigable-container 40775. https://dom.spec.whatwg.org/#concept-tree-order 40776. https://infra.spec.whatwg.org/#list-iterate 40777. https://html.spec.whatwg.org/#content-navigable 40778. https://infra.spec.whatwg.org/#iteration-continue 40779. https://infra.spec.whatwg.org/#list-append 40780. https://html.spec.whatwg.org/#content-navigable 40781. https://html.spec.whatwg.org/#navigable-container 40782. https://html.spec.whatwg.org/#content-navigable 40783. https://html.spec.whatwg.org/#content-navigable 40784. https://html.spec.whatwg.org/#inform-the-navigation-api-about-child-navigable-destruction 40785. https://html.spec.whatwg.org/#destroy-a-document-and-its-descendants 40786. https://html.spec.whatwg.org/#nav-document 40787. https://html.spec.whatwg.org/#node-navigable 40788. https://html.spec.whatwg.org/#nav-active-history-entry 40789. https://html.spec.whatwg.org/#she-document-state 40790. https://infra.spec.whatwg.org/#list-remove 40791. https://html.spec.whatwg.org/#nested-history 40792. https://html.spec.whatwg.org/#document-state-nested-histories 40793. https://html.spec.whatwg.org/#nested-history-id 40794. https://html.spec.whatwg.org/#nav-id 40795. https://html.spec.whatwg.org/#node-navigable 40796. https://html.spec.whatwg.org/#nav-traversable 40797. https://html.spec.whatwg.org/#tn-append-session-history-traversal-steps 40798. https://html.spec.whatwg.org/#update-for-navigable-creation/destruction 40799. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigable-destroyed 40800. https://html.spec.whatwg.org/#top-level-traversable 40801. https://html.spec.whatwg.org/#nav-bc 40802. https://infra.spec.whatwg.org/#list-iterate 40803. https://html.spec.whatwg.org/#tn-session-history-entries 40804. https://html.spec.whatwg.org/#she-document 40805. https://html.spec.whatwg.org/#destroy-a-document-and-its-descendants 40806. https://html.spec.whatwg.org/#bcg-remove 40807. https://infra.spec.whatwg.org/#list-remove 40808. https://html.spec.whatwg.org/#top-level-traversable-set 40809. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigable-destroyed 40810. https://html.spec.whatwg.org/#destroy-a-top-level-traversable 40811. https://html.spec.whatwg.org/#nav-traversal-ui 40812. https://html.spec.whatwg.org/#top-level-traversable 40813. https://html.spec.whatwg.org/#is-closing 40814. https://html.spec.whatwg.org/#definitely-close-a-top-level-traversable 40815. https://html.spec.whatwg.org/#top-level-traversable 40816. https://html.spec.whatwg.org/#nav-document 40817. https://html.spec.whatwg.org/#inclusive-descendant-navigables 40818. https://html.spec.whatwg.org/#checking-if-unloading-is-canceled 40819. https://html.spec.whatwg.org/#tn-append-session-history-traversal-steps 40820. https://html.spec.whatwg.org/#destroy-a-top-level-traversable 40821. https://html.spec.whatwg.org/#unload-a-document-and-its-descendants 40822. https://html.spec.whatwg.org/#nav-document 40823. https://html.spec.whatwg.org/#close-a-top-level-traversable 40824. https://html.spec.whatwg.org/#definitely-close-a-top-level-traversable 40825. https://html.spec.whatwg.org/#close-a-top-level-traversable 40826. https://html.spec.whatwg.org/#dom-window-close 40827. https://html.spec.whatwg.org/#navigable 40828. https://html.spec.whatwg.org/#nav-target 40829. https://html.spec.whatwg.org/#dom-open 40830. https://html.spec.whatwg.org/#the-a-element 40831. https://html.spec.whatwg.org/#attr-hyperlink-target 40832. https://html.spec.whatwg.org/#navigate 40833. https://infra.spec.whatwg.org/#ascii-tab-or-newline 40834. https://html.spec.whatwg.org/#valid-navigable-target-name 40835. https://infra.spec.whatwg.org/#ascii-case-insensitive 40836. https://html.spec.whatwg.org/#navigable 40837. https://html.spec.whatwg.org/#nav-parent 40838. https://html.spec.whatwg.org/#navigable 40839. https://html.spec.whatwg.org/#nav-top 40840. https://html.spec.whatwg.org/#navigable 40841. https://html.spec.whatwg.org/#traversable-navigable 40842. https://html.spec.whatwg.org/#nav-parent 40843. https://html.spec.whatwg.org/#auxiliary-browsing-context 40844. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-popups 40845. https://html.spec.whatwg.org/#attr-iframe-sandbox 40846. https://html.spec.whatwg.org/#the-iframe-element 40847. https://html.spec.whatwg.org/#familiar-with 40848. https://html.spec.whatwg.org/#one-permitted-sandboxed-navigator 40849. https://html.spec.whatwg.org/#familiar-with 40850. https://html.spec.whatwg.org/#one-permitted-sandboxed-navigator 40851. https://html.spec.whatwg.org/#familiar-with 40852. https://html.spec.whatwg.org/#navigate 40853. https://html.spec.whatwg.org/#the-rules-for-choosing-a-navigable 40854. https://html.spec.whatwg.org/#navigable 40855. https://html.spec.whatwg.org/#nav-document 40856. https://html.spec.whatwg.org/#snapshotting-source-snapshot-params 40857. https://infra.spec.whatwg.org/#implementation-defined 40858. https://html.spec.whatwg.org/#nav-traversable 40859. https://html.spec.whatwg.org/#inclusive-ancestor-navigables 40860. https://github.com/whatwg/html/issues/10848 40861. https://infra.spec.whatwg.org/#list-iterate 40862. https://html.spec.whatwg.org/#nav-document 40863. https://infra.spec.whatwg.org/#list-iterate 40864. https://html.spec.whatwg.org/#inclusive-descendant-navigables 40865. https://html.spec.whatwg.org/#allowed-to-navigate 40866. https://infra.spec.whatwg.org/#iteration-continue 40867. https://github.com/whatwg/html/issues/10849 40868. https://html.spec.whatwg.org/#nav-target 40869. https://html.spec.whatwg.org/#nav-bc 40870. https://html.spec.whatwg.org/#bc-tlbc 40871. https://html.spec.whatwg.org/#tlbc-group 40872. https://infra.spec.whatwg.org/#list-iterate 40873. https://html.spec.whatwg.org/#browsing-context-set 40874. https://infra.spec.whatwg.org/#implementation-defined 40875. https://github.com/whatwg/html/issues/10850 40876. https://infra.spec.whatwg.org/#iteration-continue 40877. https://html.spec.whatwg.org/#active-document 40878. https://infra.spec.whatwg.org/#list-iterate 40879. https://html.spec.whatwg.org/#inclusive-descendant-navigables 40880. https://html.spec.whatwg.org/#nav-bc 40881. https://html.spec.whatwg.org/#familiar-with 40882. https://html.spec.whatwg.org/#nav-bc 40883. https://infra.spec.whatwg.org/#iteration-continue 40884. https://html.spec.whatwg.org/#allowed-to-navigate 40885. https://infra.spec.whatwg.org/#iteration-continue 40886. https://github.com/whatwg/html/issues/10849 40887. https://html.spec.whatwg.org/#nav-target 40888. https://html.spec.whatwg.org/#navigable 40889. https://html.spec.whatwg.org/#nav-document 40890. https://html.spec.whatwg.org/#active-sandboxing-flag-set 40891. https://infra.spec.whatwg.org/#ascii-case-insensitive 40892. https://infra.spec.whatwg.org/#ascii-case-insensitive 40893. https://html.spec.whatwg.org/#nav-parent 40894. https://infra.spec.whatwg.org/#ascii-case-insensitive 40895. https://html.spec.whatwg.org/#nav-traversable 40896. https://infra.spec.whatwg.org/#ascii-case-insensitive 40897. https://html.spec.whatwg.org/#navigable 40898. https://html.spec.whatwg.org/#find-a-navigable-by-target-name 40899. https://html.spec.whatwg.org/#top-level-traversable 40900. https://html.spec.whatwg.org/#nav-window 40901. https://html.spec.whatwg.org/#transient-activation 40902. https://html.spec.whatwg.org/#sandboxed-auxiliary-navigation-browsing-context-flag 40903. https://html.spec.whatwg.org/#top-level-traversable 40904. https://html.spec.whatwg.org/#consume-user-activation 40905. https://html.spec.whatwg.org/#nav-window 40906. https://html.spec.whatwg.org/#nav-document 40907. https://html.spec.whatwg.org/#concept-document-coop 40908. https://html.spec.whatwg.org/#coop-struct-value 40909. https://html.spec.whatwg.org/#coop-same-origin 40910. https://html.spec.whatwg.org/#coop-same-origin-plus-coep 40911. https://dom.spec.whatwg.org/#concept-document-origin 40912. https://html.spec.whatwg.org/#same-origin 40913. https://html.spec.whatwg.org/#relevant-settings-object 40914. https://html.spec.whatwg.org/#concept-environment-top-level-origin 40915. https://html.spec.whatwg.org/#cross-origin-opener-policy 40916. https://infra.spec.whatwg.org/#ascii-case-insensitive 40917. https://html.spec.whatwg.org/#creating-a-new-top-level-traversable 40918. https://html.spec.whatwg.org/#creating-a-new-top-level-traversable 40919. https://html.spec.whatwg.org/#nav-bc 40920. https://html.spec.whatwg.org/#sandboxed-navigation-browsing-context-flag 40921. https://html.spec.whatwg.org/#nav-bc 40922. https://html.spec.whatwg.org/#one-permitted-sandboxed-navigator 40923. https://html.spec.whatwg.org/#nav-bc 40924. https://html.spec.whatwg.org/#sandbox-propagates-to-auxiliary-browsing-contexts-flag 40925. https://html.spec.whatwg.org/#nav-bc 40926. https://html.spec.whatwg.org/#popup-sandboxing-flag-set 40927. https://html.spec.whatwg.org/#is-created-by-web-content 40928. https://html.spec.whatwg.org/#navigable 40929. https://html.spec.whatwg.org/#navigate 40930. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 40931. https://html.spec.whatwg.org/#navigable 40932. https://html.spec.whatwg.org/#browsing-context 40933. https://html.spec.whatwg.org/#windowproxy 40934. https://html.spec.whatwg.org/#browsing-context 40935. https://html.spec.whatwg.org/#concept-origin 40936. https://html.spec.whatwg.org/#is-popup 40937. https://html.spec.whatwg.org/#dom-barprop-visible 40938. https://html.spec.whatwg.org/#barprop 40939. https://html.spec.whatwg.org/#nav-traversal-ui 40940. https://url.spec.whatwg.org/#concept-url 40941. https://html.spec.whatwg.org/#coop-struct-report-only-value 40942. https://html.spec.whatwg.org/#browsing-context 40943. https://html.spec.whatwg.org/#windowproxy 40944. https://html.spec.whatwg.org/#concept-windowproxy-window 40945. https://html.spec.whatwg.org/#browsing-context 40946. https://html.spec.whatwg.org/#active-window 40947. https://html.spec.whatwg.org/#concept-document-window 40948. https://html.spec.whatwg.org/#browsing-context 40949. https://html.spec.whatwg.org/#active-document 40950. https://html.spec.whatwg.org/#node-navigable 40951. https://html.spec.whatwg.org/#nav-top 40952. https://html.spec.whatwg.org/#browsing-context 40953. https://html.spec.whatwg.org/#is-auxiliary 40954. https://html.spec.whatwg.org/#top-level-browsing-context 40955. https://html.spec.whatwg.org/#is-auxiliary 40956. https://github.com/whatwg/html/issues/5680 40957. https://html.spec.whatwg.org/#opener-browsing-context 40958. https://html.spec.whatwg.org/#browsing-context 40959. https://html.spec.whatwg.org/#browsing-context-group-switches-due-to-cross-origin-opener-policy 40960. https://html.spec.whatwg.org/#agent-cluster-map 40961. https://html.spec.whatwg.org/#document 40962. https://html.spec.whatwg.org/#navigable 40963. https://html.spec.whatwg.org/#browsing-context 40964. https://html.spec.whatwg.org/#document 40965. https://html.spec.whatwg.org/#concept-document-bc 40966. https://html.spec.whatwg.org/#document 40967. https://dom.spec.whatwg.org/#dom-domimplementation-createdocument 40968. https://html.spec.whatwg.org/#concept-document-bc 40969. https://html.spec.whatwg.org/#document 40970. https://html.spec.whatwg.org/#the-iframe-element 40971. https://html.spec.whatwg.org/#remove-an-element-from-a-document 40972. https://html.spec.whatwg.org/#destroy-a-document 40973. https://html.spec.whatwg.org/#window 40974. https://html.spec.whatwg.org/#document 40975. https://html.spec.whatwg.org/#document 40976. https://html.spec.whatwg.org/#concept-document-bc 40977. https://html.spec.whatwg.org/#window 40978. https://html.spec.whatwg.org/#document 40979. https://html.spec.whatwg.org/#browsing-context 40980. https://html.spec.whatwg.org/#browsing-context 40981. https://html.spec.whatwg.org/#navigate 40982. https://html.spec.whatwg.org/#is-initial-about:blank 40983. https://html.spec.whatwg.org/#document 40984. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 40985. https://html.spec.whatwg.org/#document 40986. https://html.spec.whatwg.org/#browsing-context-group 40987. https://html.spec.whatwg.org/#browsing-context 40988. https://w3c.github.io/hr-time/#dfn-unsafe-shared-current-time 40989. https://dom.spec.whatwg.org/#concept-document-origin 40990. https://html.spec.whatwg.org/#document-base-url 40991. https://html.spec.whatwg.org/#virtual-browsing-context-group-id 40992. https://html.spec.whatwg.org/#concept-document-bc 40993. https://html.spec.whatwg.org/#bc-tlbc 40994. https://html.spec.whatwg.org/#virtual-browsing-context-group-id 40995. https://html.spec.whatwg.org/#determining-the-creation-sandboxing-flags 40996. https://html.spec.whatwg.org/#determining-the-origin 40997. https://html.spec.whatwg.org/#about:blank 40998. https://w3c.github.io/webappsec-feature-policy/#create-for-navigable 40999. https://html.spec.whatwg.org/#refsPERMISSIONSPOLICY 41000. https://html.spec.whatwg.org/#obtain-similar-origin-window-agent 41001. https://html.spec.whatwg.org/#creating-a-new-javascript-realm 41002. https://html.spec.whatwg.org/#window 41003. https://html.spec.whatwg.org/#windowproxy 41004. https://html.spec.whatwg.org/#about:blank 41005. https://html.spec.whatwg.org/#relevant-settings-object 41006. https://html.spec.whatwg.org/#concept-environment-top-level-creation-url 41007. https://html.spec.whatwg.org/#relevant-settings-object 41008. https://html.spec.whatwg.org/#concept-environment-top-level-origin 41009. https://html.spec.whatwg.org/#set-up-a-window-environment-settings-object 41010. https://html.spec.whatwg.org/#about:blank 41011. https://html.spec.whatwg.org/#document-load-timing-info 41012. https://html.spec.whatwg.org/#navigation-start-time 41013. https://w3c.github.io/hr-time/#dfn-coarsen-time 41014. https://html.spec.whatwg.org/#environment-settings-object 41015. https://html.spec.whatwg.org/#concept-settings-object-cross-origin-isolated-capability 41016. https://html.spec.whatwg.org/#document 41017. https://dom.spec.whatwg.org/#concept-document-type 41018. https://dom.spec.whatwg.org/#concept-document-content-type 41019. https://html.spec.whatwg.org/#text/html 41020. https://dom.spec.whatwg.org/#concept-document-mode 41021. https://dom.spec.whatwg.org/#concept-document-origin 41022. https://html.spec.whatwg.org/#concept-document-bc 41023. https://html.spec.whatwg.org/#concept-document-permissions-policy 41024. https://html.spec.whatwg.org/#active-sandboxing-flag-set 41025. https://html.spec.whatwg.org/#load-timing-info 41026. https://html.spec.whatwg.org/#is-initial-about:blank 41027. https://html.spec.whatwg.org/#concept-document-about-base-url 41028. https://dom.spec.whatwg.org/#concept-document-allow-declarative-shadow-roots 41029. https://dom.spec.whatwg.org/#document-custom-element-registry 41030. https://html.spec.whatwg.org/#the-document's-referrer 41031. https://url.spec.whatwg.org/#concept-url-serializer 41032. https://dom.spec.whatwg.org/#concept-document-url 41033. https://html.spec.whatwg.org/#concept-document-policy-container 41034. https://html.spec.whatwg.org/#clone-a-policy-container 41035. https://html.spec.whatwg.org/#concept-document-policy-container 41036. https://dom.spec.whatwg.org/#concept-document-origin 41037. https://html.spec.whatwg.org/#same-origin 41038. https://html.spec.whatwg.org/#relevant-settings-object 41039. https://html.spec.whatwg.org/#concept-environment-top-level-origin 41040. https://html.spec.whatwg.org/#concept-document-coop 41041. https://html.spec.whatwg.org/#concept-document-bc 41042. https://html.spec.whatwg.org/#bc-tlbc 41043. https://html.spec.whatwg.org/#active-document 41044. https://html.spec.whatwg.org/#concept-document-coop 41045. https://infra.spec.whatwg.org/#assert 41046. https://dom.spec.whatwg.org/#concept-document-url 41047. https://html.spec.whatwg.org/#relevant-settings-object 41048. https://html.spec.whatwg.org/#concept-environment-creation-url 41049. https://html.spec.whatwg.org/#about:blank 41050. https://html.spec.whatwg.org/#ready-for-post-load-tasks 41051. https://html.spec.whatwg.org/#populate-with-html/head/body 41052. https://html.spec.whatwg.org/#make-active 41053. https://html.spec.whatwg.org/#completely-finish-loading 41054. https://html.spec.whatwg.org/#creating-a-new-browsing-context-group-and-document 41055. https://html.spec.whatwg.org/#browsing-context-set 41056. https://html.spec.whatwg.org/#browsing-context 41057. https://html.spec.whatwg.org/#bc-traversable 41058. https://html.spec.whatwg.org/#nav-bc 41059. https://html.spec.whatwg.org/#tlbc-group 41060. https://infra.spec.whatwg.org/#assert 41061. https://html.spec.whatwg.org/#navigate 41062. https://html.spec.whatwg.org/#creating-a-new-browsing-context 41063. https://html.spec.whatwg.org/#nav-document 41064. https://html.spec.whatwg.org/#is-auxiliary 41065. https://html.spec.whatwg.org/#bcg-append 41066. https://html.spec.whatwg.org/#opener-browsing-context 41067. https://html.spec.whatwg.org/#virtual-browsing-context-group-id 41068. https://html.spec.whatwg.org/#virtual-browsing-context-group-id 41069. https://html.spec.whatwg.org/#opener-origin-at-creation 41070. https://html.spec.whatwg.org/#nav-document 41071. https://dom.spec.whatwg.org/#concept-document-origin 41072. https://url.spec.whatwg.org/#concept-url 41073. https://html.spec.whatwg.org/#sandboxing-flag-set 41074. https://html.spec.whatwg.org/#concept-origin 41075. https://html.spec.whatwg.org/#sandboxed-origin-browsing-context-flag 41076. https://html.spec.whatwg.org/#concept-origin-opaque 41077. https://html.spec.whatwg.org/#concept-origin-opaque 41078. https://html.spec.whatwg.org/#about:srcdoc 41079. https://infra.spec.whatwg.org/#assert 41080. https://html.spec.whatwg.org/#matches-about:blank 41081. https://url.spec.whatwg.org/#concept-url-origin 41082. https://html.spec.whatwg.org/#document 41083. https://dom.spec.whatwg.org/#concept-document-origin 41084. https://html.spec.whatwg.org/#dom-document-domain 41085. https://html.spec.whatwg.org/#browsing-context 41086. https://html.spec.whatwg.org/#active-document 41087. https://html.spec.whatwg.org/#fully-active 41088. https://html.spec.whatwg.org/#concept-document-bc 41089. https://html.spec.whatwg.org/#nav-document 41090. https://html.spec.whatwg.org/#ancestor-navigables 41091. https://infra.spec.whatwg.org/#list-contain 41092. https://html.spec.whatwg.org/#browsing-context 41093. https://html.spec.whatwg.org/#active-document 41094. https://html.spec.whatwg.org/#node-navigable 41095. https://html.spec.whatwg.org/#traversable-navigable 41096. https://html.spec.whatwg.org/#top-level-traversable 41097. https://html.spec.whatwg.org/#browsing-context 41098. https://html.spec.whatwg.org/#active-document 41099. https://html.spec.whatwg.org/#fully-active 41100. https://html.spec.whatwg.org/#active-document 41101. https://html.spec.whatwg.org/#node-navigable 41102. https://html.spec.whatwg.org/#nav-parent 41103. https://html.spec.whatwg.org/#nav-parent 41104. https://html.spec.whatwg.org/#nav-bc 41105. https://html.spec.whatwg.org/#ancestor-browsing-context 41106. https://html.spec.whatwg.org/#top-level-browsing-context 41107. https://html.spec.whatwg.org/#browsing-context 41108. https://html.spec.whatwg.org/#warning-avoid-using-bcs 41109. https://html.spec.whatwg.org/#browsing-context 41110. https://html.spec.whatwg.org/#active-document 41111. https://html.spec.whatwg.org/#fully-active 41112. https://html.spec.whatwg.org/#note-bfcache 41113. https://html.spec.whatwg.org/#ancestor-navigables 41114. https://html.spec.whatwg.org/#nav-parent 41115. https://html.spec.whatwg.org/#nav-traversable 41116. https://html.spec.whatwg.org/#browsing-context 41117. https://html.spec.whatwg.org/#browsing-context 41118. https://html.spec.whatwg.org/#active-document 41119. https://dom.spec.whatwg.org/#concept-document-origin 41120. https://html.spec.whatwg.org/#same-origin 41121. https://html.spec.whatwg.org/#active-document 41122. https://dom.spec.whatwg.org/#concept-document-origin 41123. https://html.spec.whatwg.org/#bc-tlbc 41124. https://html.spec.whatwg.org/#auxiliary-browsing-context 41125. https://html.spec.whatwg.org/#familiar-with 41126. https://html.spec.whatwg.org/#opener-browsing-context 41127. https://html.spec.whatwg.org/#ancestor-browsing-context 41128. https://html.spec.whatwg.org/#active-document 41129. https://html.spec.whatwg.org/#same-origin 41130. https://dom.spec.whatwg.org/#concept-document-origin 41131. https://html.spec.whatwg.org/#active-document 41132. https://html.spec.whatwg.org/#ancestor-browsing-context 41133. https://html.spec.whatwg.org/#top-level-browsing-context 41134. https://html.spec.whatwg.org/#browsing-context-group 41135. https://infra.spec.whatwg.org/#ordered-set 41136. https://html.spec.whatwg.org/#browsing-context-group 41137. https://infra.spec.whatwg.org/#ordered-set 41138. https://html.spec.whatwg.org/#top-level-browsing-context 41139. https://html.spec.whatwg.org/#top-level-browsing-context 41140. https://html.spec.whatwg.org/#browsing-context-group 41141. https://html.spec.whatwg.org/#creating-a-new-browsing-context-group-and-document 41142. https://html.spec.whatwg.org/#top-level-browsing-context 41143. https://html.spec.whatwg.org/#browsing-context-group 41144. https://html.spec.whatwg.org/#auxiliary-browsing-context 41145. https://html.spec.whatwg.org/#browsing-context-group 41146. https://infra.spec.whatwg.org/#ordered-map 41147. https://html.spec.whatwg.org/#agent-cluster-key 41148. https://tc39.es/ecma262/#sec-agent-clusters 41149. https://html.spec.whatwg.org/#browsing-context-group 41150. https://infra.spec.whatwg.org/#ordered-map 41151. https://html.spec.whatwg.org/#concept-origin 41152. https://html.spec.whatwg.org/#agent-cluster-key 41153. https://html.spec.whatwg.org/#origin-keyed-agent-clusters 41154. https://html.spec.whatwg.org/#historical-agent-cluster-key-map 41155. https://html.spec.whatwg.org/#browsing-context-group 41156. https://html.spec.whatwg.org/#cross-origin-isolation-mode 41157. https://html.spec.whatwg.org/#cross-origin-isolation-none 41158. https://html.spec.whatwg.org/#cross-origin-isolation-logical 41159. https://html.spec.whatwg.org/#cross-origin-isolation-concrete 41160. https://html.spec.whatwg.org/#browsing-context-group 41161. https://html.spec.whatwg.org/#document 41162. https://html.spec.whatwg.org/#cross-origin-opener-policy-2 41163. https://html.spec.whatwg.org/#coop-same-origin 41164. https://html.spec.whatwg.org/#document 41165. https://html.spec.whatwg.org/#cross-origin-embedder-policy 41166. https://html.spec.whatwg.org/#compatible-with-cross-origin-isolation 41167. https://html.spec.whatwg.org/#concept-settings-object-cross-origin-isolated-capability 41168. https://html.spec.whatwg.org/#cross-origin-isolation-concrete 41169. https://html.spec.whatwg.org/#cross-origin-isolation-logical 41170. https://html.spec.whatwg.org/#browsing-context-group 41171. https://infra.spec.whatwg.org/#set-append 41172. https://html.spec.whatwg.org/#browsing-context-group-set 41173. https://html.spec.whatwg.org/#creating-a-new-browsing-context 41174. https://html.spec.whatwg.org/#bcg-append 41175. https://html.spec.whatwg.org/#top-level-browsing-context 41176. https://html.spec.whatwg.org/#browsing-context-group 41177. https://infra.spec.whatwg.org/#set-append 41178. https://html.spec.whatwg.org/#browsing-context-set 41179. https://html.spec.whatwg.org/#tlbc-group 41180. https://html.spec.whatwg.org/#top-level-browsing-context 41181. https://infra.spec.whatwg.org/#assert 41182. https://html.spec.whatwg.org/#tlbc-group 41183. https://html.spec.whatwg.org/#tlbc-group 41184. https://html.spec.whatwg.org/#tlbc-group 41185. https://infra.spec.whatwg.org/#list-remove 41186. https://html.spec.whatwg.org/#browsing-context-set 41187. https://html.spec.whatwg.org/#browsing-context-set 41188. https://infra.spec.whatwg.org/#list-is-empty 41189. https://infra.spec.whatwg.org/#list-remove 41190. https://html.spec.whatwg.org/#browsing-context-group-set 41191. https://html.spec.whatwg.org/#bcg-append 41192. https://html.spec.whatwg.org/#bcg-remove 41193. https://html.spec.whatwg.org/#browsing-context-group 41194. https://html.spec.whatwg.org/#document 41195. https://html.spec.whatwg.org/#browsing-context 41196. https://html.spec.whatwg.org/#document 41197. https://html.spec.whatwg.org/#concept-document-bc 41198. https://html.spec.whatwg.org/#browsing-context 41199. https://html.spec.whatwg.org/#document 41200. https://html.spec.whatwg.org/#destroy-a-document 41201. https://html.spec.whatwg.org/#browsing-context 41202. https://html.spec.whatwg.org/#windowproxy 41203. https://html.spec.whatwg.org/#browsing-context 41204. https://html.spec.whatwg.org/#top-level-browsing-context 41205. https://html.spec.whatwg.org/#bcg-remove 41206. https://html.spec.whatwg.org/#document 41207. https://html.spec.whatwg.org/#nav-document 41208. https://html.spec.whatwg.org/#navigable 41209. https://html.spec.whatwg.org/#top-level-traversable 41210. https://html.spec.whatwg.org/#nav-container-document 41211. https://html.spec.whatwg.org/#fully-active 41212. https://html.spec.whatwg.org/#child-navigable 41213. https://html.spec.whatwg.org/#document 41214. https://html.spec.whatwg.org/#nav-container-document 41215. https://html.spec.whatwg.org/#nav-parent 41216. https://html.spec.whatwg.org/#child-navigable 41217. https://html.spec.whatwg.org/#nav-container-document 41218. https://html.spec.whatwg.org/#fully-active 41219. https://html.spec.whatwg.org/#document 41220. https://html.spec.whatwg.org/#nav-document 41221. https://html.spec.whatwg.org/#node-navigable 41222. https://html.spec.whatwg.org/#fully-active 41223. https://html.spec.whatwg.org/#the-iframe-element 41224. https://html.spec.whatwg.org/#nav-document 41225. https://html.spec.whatwg.org/#node-navigable 41226. https://html.spec.whatwg.org/#fully-active 41227. https://html.spec.whatwg.org/#the-button-element 41228. https://html.spec.whatwg.org/#document 41229. https://html.spec.whatwg.org/#document 41230. https://html.spec.whatwg.org/#nav-document 41231. https://html.spec.whatwg.org/#fully-active 41232. https://html.spec.whatwg.org/#document 41233. https://html.spec.whatwg.org/#nav-document 41234. https://html.spec.whatwg.org/#fully-active 41235. https://html.spec.whatwg.org/#document 41236. https://html.spec.whatwg.org/#nav-document 41237. https://html.spec.whatwg.org/#fully-active 41238. https://html.spec.whatwg.org/#document 41239. https://html.spec.whatwg.org/#nav-document 41240. https://html.spec.whatwg.org/#nav-container-document 41241. https://html.spec.whatwg.org/#document 41242. https://html.spec.whatwg.org/#fully-active 41243. https://html.spec.whatwg.org/#document 41244. https://html.spec.whatwg.org/#fully-active 41245. https://html.spec.whatwg.org/#navigable 41246. https://html.spec.whatwg.org/#nav-document 41247. https://html.spec.whatwg.org/#navigate 41248. https://url.spec.whatwg.org/#concept-url 41249. https://html.spec.whatwg.org/#attempt-to-populate-the-history-entry's-document 41250. https://html.spec.whatwg.org/#session-history-entry 41251. https://html.spec.whatwg.org/#initialise-the-document-object 41252. https://html.spec.whatwg.org/#document 41253. https://html.spec.whatwg.org/#navigable 41254. https://html.spec.whatwg.org/#nav-active-history-entry 41255. https://html.spec.whatwg.org/#nav-document 41256. https://html.spec.whatwg.org/#traverse-the-history-by-a-delta 41257. https://html.spec.whatwg.org/#session-history-entry 41258. https://html.spec.whatwg.org/#she-url 41259. https://html.spec.whatwg.org/#session-history-entry 41260. https://html.spec.whatwg.org/#attempt-to-populate-the-history-entry's-document 41261. https://html.spec.whatwg.org/#she-document 41262. https://html.spec.whatwg.org/#navigable 41263. https://html.spec.whatwg.org/#nav-active-history-entry 41264. https://html.spec.whatwg.org/#child-navigable 41265. https://html.spec.whatwg.org/#the-iframe-element 41266. https://html.spec.whatwg.org/#tn-session-history-entries 41267. https://html.spec.whatwg.org/#traversable-navigable 41268. https://html.spec.whatwg.org/#navigable 41269. https://html.spec.whatwg.org/#child-navigable 41270. https://html.spec.whatwg.org/#event-loop 41271. https://tc39.es/ecma262/#sec-agent-clusters 41272. https://httpwg.org/specs/rfc6266.html 41273. https://html.spec.whatwg.org/#navigable 41274. https://html.spec.whatwg.org/#active-document 41275. https://html.spec.whatwg.org/#refresh 41276. https://html.spec.whatwg.org/#x-frame-options 41277. https://html.spec.whatwg.org/#create-navigation-params-by-fetching 41278. https://html.spec.whatwg.org/#initialise-the-document-object 41279. https://html.spec.whatwg.org/#cross-origin-opener-policy-2 41280. https://html.spec.whatwg.org/#browsing-context-group-switches-due-to-cross-origin-opener-policy 41281. https://html.spec.whatwg.org/#scroll-to-fragid 41282. https://html.spec.whatwg.org/#navigate-non-frag-sync 41283. https://html.spec.whatwg.org/#navigable 41284. https://html.spec.whatwg.org/#the-javascript:-url-special-case 41285. https://html.spec.whatwg.org/#attr-iframe-srcdoc 41286. https://html.spec.whatwg.org/#the-iframe-element 41287. https://html.spec.whatwg.org/#event-beforeunload 41288. https://html.spec.whatwg.org/#how-to-read-this-specification 41289. https://infra.spec.whatwg.org/#struct 41290. https://infra.spec.whatwg.org/#struct-item 41291. https://url.spec.whatwg.org/#concept-url 41292. https://html.spec.whatwg.org/#document-state-2 41293. https://html.spec.whatwg.org/#serialized-state 41294. https://html.spec.whatwg.org/#structuredserializeforstorage 41295. https://html.spec.whatwg.org/#serialized-state 41296. https://html.spec.whatwg.org/#structuredserializeforstorage 41297. https://w3c.github.io/webcrypto/#dfn-generate-a-random-uuid 41298. https://w3c.github.io/webcrypto/#dfn-generate-a-random-uuid 41299. https://html.spec.whatwg.org/#scroll-restoration-mode 41300. https://html.spec.whatwg.org/#dom-scrollrestoration-auto 41301. https://html.spec.whatwg.org/#she-document 41302. https://html.spec.whatwg.org/#restorable-scrollable-regions 41303. https://infra.spec.whatwg.org/#implementation-defined 41304. https://html.spec.whatwg.org/#attr-dir 41305. https://html.spec.whatwg.org/#session-history-entry 41306. https://html.spec.whatwg.org/#she-document-state 41307. https://html.spec.whatwg.org/#document-state-document 41308. https://html.spec.whatwg.org/#structuredserializeforstorage 41309. https://html.spec.whatwg.org/#structureddeserialize 41310. https://html.spec.whatwg.org/#dom-history-pushstate 41311. https://html.spec.whatwg.org/#serialized-state 41312. https://html.spec.whatwg.org/#structureddeserialize 41313. https://html.spec.whatwg.org/#event-popstate 41314. https://html.spec.whatwg.org/#serialized-state 41315. https://url.spec.whatwg.org/#concept-url 41316. https://url.spec.whatwg.org/#concept-url 41317. https://html.spec.whatwg.org/#document 41318. https://html.spec.whatwg.org/#document 41319. https://html.spec.whatwg.org/#the-div-element 41320. https://url.spec.whatwg.org/#concept-url 41321. https://html.spec.whatwg.org/#session-history-entry 41322. https://html.spec.whatwg.org/#session-history-entry 41323. https://html.spec.whatwg.org/#document 41324. https://html.spec.whatwg.org/#document 41325. https://html.spec.whatwg.org/#nav-active-history-entry 41326. https://html.spec.whatwg.org/#document 41327. https://html.spec.whatwg.org/#she-document-state 41328. https://html.spec.whatwg.org/#document 41329. https://html.spec.whatwg.org/#fully-active 41330. https://html.spec.whatwg.org/#destroy-a-document 41331. https://html.spec.whatwg.org/#document-state-document 41332. https://html.spec.whatwg.org/#she-url 41333. https://html.spec.whatwg.org/#session-history-entry 41334. https://html.spec.whatwg.org/#she-document-state 41335. https://html.spec.whatwg.org/#document 41336. https://html.spec.whatwg.org/#document 41337. https://html.spec.whatwg.org/#destroy-a-document 41338. https://html.spec.whatwg.org/#traverse-the-history-by-a-delta 41339. https://html.spec.whatwg.org/#reactivate-a-document 41340. https://html.spec.whatwg.org/#document 41341. https://bugzilla.mozilla.org/show_bug.cgi?id=274784 41342. https://html.spec.whatwg.org/#policy-container 41343. https://url.spec.whatwg.org/#concept-url 41344. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 41345. https://w3c.github.io/webappsec-referrer-policy/#default-referrer-policy 41346. https://html.spec.whatwg.org/#document-state-request-referrer-policy 41347. https://html.spec.whatwg.org/#document-state-history-policy-container 41348. https://html.spec.whatwg.org/#policy-container-referrer-policy 41349. https://html.spec.whatwg.org/#concept-origin 41350. https://html.spec.whatwg.org/#concept-origin 41351. https://html.spec.whatwg.org/#document 41352. https://dom.spec.whatwg.org/#concept-document-origin 41353. https://html.spec.whatwg.org/#document 41354. https://html.spec.whatwg.org/#session-history-entry 41355. https://html.spec.whatwg.org/#attempt-to-populate-the-history-entry's-document 41356. https://html.spec.whatwg.org/#document-state-nav-target-name 41357. https://url.spec.whatwg.org/#concept-url 41358. https://html.spec.whatwg.org/#document 41359. https://html.spec.whatwg.org/#fallback-base-url 41360. https://html.spec.whatwg.org/#document 41361. https://html.spec.whatwg.org/#document 41362. https://html.spec.whatwg.org/#document-base-url 41363. https://infra.spec.whatwg.org/#list 41364. https://html.spec.whatwg.org/#nested-history 41365. https://infra.spec.whatwg.org/#list 41366. https://html.spec.whatwg.org/#post-resource 41367. https://html.spec.whatwg.org/#an-iframe-srcdoc-document 41368. https://html.spec.whatwg.org/#nrr-struct 41369. https://html.spec.whatwg.org/#destroy-a-document-and-its-descendants 41370. https://html.spec.whatwg.org/#document-state-document 41371. https://html.spec.whatwg.org/#document-state-2 41372. https://html.spec.whatwg.org/#document-state-document 41373. https://html.spec.whatwg.org/#document 41374. https://html.spec.whatwg.org/#fully-active 41375. https://html.spec.whatwg.org/#document-state-document 41376. https://html.spec.whatwg.org/#document-state-2 41377. https://infra.spec.whatwg.org/#byte-sequence 41378. https://html.spec.whatwg.org/#in-parallel 41379. https://infra.spec.whatwg.org/#byte-sequence 41380. https://url.spec.whatwg.org/#concept-urlencoded 41381. https://html.spec.whatwg.org/#multipart/form-data 41382. https://www.rfc-editor.org/rfc/rfc2046#section-4.1.3 41383. https://html.spec.whatwg.org/#unique-internal-value 41384. https://html.spec.whatwg.org/#nested-history 41385. https://html.spec.whatwg.org/#navigable 41386. https://infra.spec.whatwg.org/#list 41387. https://html.spec.whatwg.org/#session-history-entry 41388. https://html.spec.whatwg.org/#she-document-state 41389. https://html.spec.whatwg.org/#navigate 41390. https://html.spec.whatwg.org/#dom-history-pushstate 41391. https://html.spec.whatwg.org/#navigate-fragid 41392. https://html.spec.whatwg.org/#she-document-state 41393. https://html.spec.whatwg.org/#document 41394. https://html.spec.whatwg.org/#session-history-entry 41395. https://html.spec.whatwg.org/#document 41396. https://html.spec.whatwg.org/#document 41397. https://html.spec.whatwg.org/#session-history-entry 41398. https://html.spec.whatwg.org/#session-history-entry 41399. https://html.spec.whatwg.org/#she-document-state 41400. https://html.spec.whatwg.org/#traversable-navigable 41401. https://html.spec.whatwg.org/#tn-session-history-entries 41402. https://html.spec.whatwg.org/#navigable 41403. https://html.spec.whatwg.org/#event-loop 41404. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue 41405. https://html.spec.whatwg.org/#parallel-queue 41406. https://infra.spec.whatwg.org/#ordered-set 41407. https://infra.spec.whatwg.org/#list-item 41408. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue 41409. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-algorithm-set 41410. https://html.spec.whatwg.org/#navigable 41411. https://html.spec.whatwg.org/#traversable-navigable 41412. https://infra.spec.whatwg.org/#list-append 41413. https://html.spec.whatwg.org/#tn-session-history-traversal-queue 41414. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-algorithm-set 41415. https://html.spec.whatwg.org/#navigable 41416. https://html.spec.whatwg.org/#traversable-navigable 41417. https://infra.spec.whatwg.org/#list-append 41418. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-sync-nav-steps 41419. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-sync-nav-steps-target-nav 41420. https://html.spec.whatwg.org/#tn-session-history-traversal-queue 41421. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-algorithm-set 41422. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue 41423. https://html.spec.whatwg.org/#in-parallel 41424. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-algorithm-set 41425. https://infra.spec.whatwg.org/#iteration-continue 41426. https://infra.spec.whatwg.org/#queue-dequeue 41427. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-algorithm-set 41428. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-sync-nav-steps 41429. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-algorithm-set 41430. https://html.spec.whatwg.org/#sync-navigations-jump-queue 41431. https://html.spec.whatwg.org/#jake-diagram 41432. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue 41433. https://html.spec.whatwg.org/#dom-history-back 41434. https://html.spec.whatwg.org/#tn-append-session-history-traversal-steps 41435. https://html.spec.whatwg.org/#dom-location-href 41436. https://html.spec.whatwg.org/#nav-active-history-entry 41437. https://html.spec.whatwg.org/#tn-append-session-history-sync-nav-steps 41438. https://html.spec.whatwg.org/#nav-current-history-entry 41439. https://html.spec.whatwg.org/#tn-current-session-history-step 41440. https://html.spec.whatwg.org/#tn-session-history-entries 41441. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue 41442. https://html.spec.whatwg.org/#dom-history-back 41443. https://html.spec.whatwg.org/#tn-current-session-history-step 41444. https://html.spec.whatwg.org/#apply-the-history-step 41445. https://html.spec.whatwg.org/#she-document 41446. https://html.spec.whatwg.org/#attempt-to-populate-the-history-entry's-document 41447. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-sync-nav-steps 41448. https://html.spec.whatwg.org/#dom-location-href 41449. https://html.spec.whatwg.org/#she-step 41450. https://html.spec.whatwg.org/#tn-current-session-history-step 41451. https://html.spec.whatwg.org/#apply-the-history-step 41452. https://html.spec.whatwg.org/#update-document-for-history-step-application 41453. https://html.spec.whatwg.org/#event-hashchange 41454. https://html.spec.whatwg.org/#she-document 41455. https://html.spec.whatwg.org/#document 41456. https://html.spec.whatwg.org/#unload-a-document 41457. https://html.spec.whatwg.org/#nav-active-history-entry 41458. https://html.spec.whatwg.org/#tn-current-session-history-step 41459. https://html.spec.whatwg.org/#the-iframe-element 41460. https://html.spec.whatwg.org/#dom-history-go 41461. https://html.spec.whatwg.org/#dom-history-go 41462. https://html.spec.whatwg.org/#tn-append-session-history-traversal-steps 41463. https://html.spec.whatwg.org/#attempt-to-populate-the-history-entry's-document 41464. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-sync-nav-steps 41465. https://html.spec.whatwg.org/#apply-the-history-step 41466. https://html.spec.whatwg.org/#navigable 41467. https://html.spec.whatwg.org/#nav-active-history-entry 41468. https://html.spec.whatwg.org/#scripts-may-run-for-the-newly-created-document 41469. https://html.spec.whatwg.org/#navigable 41470. https://html.spec.whatwg.org/#nav-document 41471. https://html.spec.whatwg.org/#nav-active-history-entry 41472. https://html.spec.whatwg.org/#tn-append-session-history-sync-nav-steps 41473. https://html.spec.whatwg.org/#example-sync-navigation-steps-queue-jumping-basic 41474. https://html.spec.whatwg.org/#traversable-navigable 41475. https://html.spec.whatwg.org/#tn-current-session-history-step 41476. https://html.spec.whatwg.org/#navigable 41477. https://html.spec.whatwg.org/#nav-active-history-entry 41478. https://html.spec.whatwg.org/#tn-current-session-history-step 41479. https://html.spec.whatwg.org/#she-step 41480. https://html.spec.whatwg.org/#tn-current-session-history-step 41481. https://html.spec.whatwg.org/#clear-the-forward-session-history 41482. https://html.spec.whatwg.org/#apply-the-history-step 41483. https://html.spec.whatwg.org/#update-document-for-history-step-application 41484. https://html.spec.whatwg.org/#event-hashchange 41485. https://html.spec.whatwg.org/#tn-current-session-history-step 41486. https://html.spec.whatwg.org/#navigable 41487. https://html.spec.whatwg.org/#nav-traversable 41488. https://infra.spec.whatwg.org/#assert 41489. https://html.spec.whatwg.org/#tn-session-history-traversal-queue 41490. https://html.spec.whatwg.org/#tn-session-history-entries 41491. https://infra.spec.whatwg.org/#ordered-set 41492. https://html.spec.whatwg.org/#document-state-2 41493. https://html.spec.whatwg.org/#tn-session-history-entries 41494. https://infra.spec.whatwg.org/#set-append 41495. https://html.spec.whatwg.org/#she-document-state 41496. https://infra.spec.whatwg.org/#list-iterate 41497. https://infra.spec.whatwg.org/#list-iterate 41498. https://html.spec.whatwg.org/#document-state-nested-histories 41499. https://html.spec.whatwg.org/#nested-history-id 41500. https://html.spec.whatwg.org/#nav-id 41501. https://html.spec.whatwg.org/#nested-history-entries 41502. https://html.spec.whatwg.org/#nested-history-entries 41503. https://infra.spec.whatwg.org/#set-append 41504. https://html.spec.whatwg.org/#she-document-state 41505. https://infra.spec.whatwg.org/#assert 41506. https://html.spec.whatwg.org/#navigable 41507. https://html.spec.whatwg.org/#getting-session-history-entries 41508. https://infra.spec.whatwg.org/#list 41509. https://html.spec.whatwg.org/#session-history-entry 41510. https://html.spec.whatwg.org/#she-step 41511. https://html.spec.whatwg.org/#example-getting-the-target-history-entry 41512. https://infra.spec.whatwg.org/#list-append 41513. https://html.spec.whatwg.org/#she-document-state 41514. https://html.spec.whatwg.org/#document-state-origin 41515. https://html.spec.whatwg.org/#she-document-state 41516. https://html.spec.whatwg.org/#document-state-origin 41517. https://html.spec.whatwg.org/#same-origin 41518. https://infra.spec.whatwg.org/#iteration-break 41519. https://infra.spec.whatwg.org/#list-prepend 41520. https://infra.spec.whatwg.org/#list-size 41521. https://html.spec.whatwg.org/#she-document-state 41522. https://html.spec.whatwg.org/#document-state-origin 41523. https://html.spec.whatwg.org/#same-origin 41524. https://infra.spec.whatwg.org/#iteration-break 41525. https://infra.spec.whatwg.org/#list-append 41526. https://html.spec.whatwg.org/#traversable-navigable 41527. https://infra.spec.whatwg.org/#assert 41528. https://html.spec.whatwg.org/#tn-session-history-traversal-queue 41529. https://html.spec.whatwg.org/#tn-current-session-history-step 41530. https://infra.spec.whatwg.org/#ordered-set 41531. https://html.spec.whatwg.org/#tn-session-history-entries 41532. https://infra.spec.whatwg.org/#list-iterate 41533. https://infra.spec.whatwg.org/#list-remove 41534. https://html.spec.whatwg.org/#session-history-entry 41535. https://html.spec.whatwg.org/#she-step 41536. https://infra.spec.whatwg.org/#list-iterate 41537. https://infra.spec.whatwg.org/#list-iterate 41538. https://html.spec.whatwg.org/#she-document-state 41539. https://html.spec.whatwg.org/#document-state-nested-histories 41540. https://infra.spec.whatwg.org/#set-append 41541. https://html.spec.whatwg.org/#nested-history-entries 41542. https://html.spec.whatwg.org/#traversable-navigable 41543. https://infra.spec.whatwg.org/#assert 41544. https://html.spec.whatwg.org/#tn-session-history-traversal-queue 41545. https://infra.spec.whatwg.org/#ordered-set 41546. https://infra.spec.whatwg.org/#ordered-set 41547. https://html.spec.whatwg.org/#tn-session-history-entries 41548. https://infra.spec.whatwg.org/#list-iterate 41549. https://infra.spec.whatwg.org/#list-iterate 41550. https://infra.spec.whatwg.org/#set-append 41551. https://html.spec.whatwg.org/#she-step 41552. https://infra.spec.whatwg.org/#list-iterate 41553. https://html.spec.whatwg.org/#she-document-state 41554. https://html.spec.whatwg.org/#document-state-nested-histories 41555. https://infra.spec.whatwg.org/#set-append 41556. https://html.spec.whatwg.org/#nested-history-entries 41557. https://infra.spec.whatwg.org/#list-sort-in-ascending-order 41558. https://html.spec.whatwg.org/#navigable 41559. https://html.spec.whatwg.org/#navigate 41560. https://html.spec.whatwg.org/#following-hyperlinks-2 41561. https://html.spec.whatwg.org/#concept-form-submit 41562. https://html.spec.whatwg.org/#dom-open 41563. https://html.spec.whatwg.org/#dom-location-assign 41564. https://html.spec.whatwg.org/#navigate 41565. https://html.spec.whatwg.org/#url-and-history-update-steps 41566. https://html.spec.whatwg.org/#navigate 41567. https://html.spec.whatwg.org/#reload 41568. https://html.spec.whatwg.org/#traverse-the-history-by-a-delta 41569. https://html.spec.whatwg.org/#attempt-to-populate-the-history-entry's-document 41570. https://html.spec.whatwg.org/#navigate 41571. https://html.spec.whatwg.org/#refsNAVIGATIONTIMING 41572. https://html.spec.whatwg.org/#navigate-fragid 41573. https://html.spec.whatwg.org/#navigate 41574. https://html.spec.whatwg.org/#navigate 41575. https://infra.spec.whatwg.org/#struct 41576. https://html.spec.whatwg.org/#document 41577. https://infra.spec.whatwg.org/#struct-item 41578. https://html.spec.whatwg.org/#sandboxing-flag-set 41579. https://html.spec.whatwg.org/#environment-settings-object 41580. https://fetch.spec.whatwg.org/#concept-request-client 41581. https://html.spec.whatwg.org/#policy-container 41582. https://html.spec.whatwg.org/#document 41583. https://html.spec.whatwg.org/#source-snapshot-params 41584. https://html.spec.whatwg.org/#source-snapshot-params-activation 41585. https://html.spec.whatwg.org/#concept-relevant-global 41586. https://html.spec.whatwg.org/#transient-activation 41587. https://html.spec.whatwg.org/#source-snapshot-params-sandbox 41588. https://html.spec.whatwg.org/#active-sandboxing-flag-set 41589. https://html.spec.whatwg.org/#source-snapshot-params-download 41590. https://html.spec.whatwg.org/#active-sandboxing-flag-set 41591. https://html.spec.whatwg.org/#sandboxed-downloads-browsing-context-flag 41592. https://html.spec.whatwg.org/#source-snapshot-params-client 41593. https://html.spec.whatwg.org/#relevant-settings-object 41594. https://html.spec.whatwg.org/#source-snapshot-params-policy-container 41595. https://html.spec.whatwg.org/#clone-a-policy-container 41596. https://html.spec.whatwg.org/#concept-document-policy-container 41597. https://infra.spec.whatwg.org/#struct 41598. https://html.spec.whatwg.org/#navigable 41599. https://html.spec.whatwg.org/#source-snapshot-params 41600. https://infra.spec.whatwg.org/#struct-item 41601. https://html.spec.whatwg.org/#sandboxing-flag-set 41602. https://html.spec.whatwg.org/#navigable 41603. https://html.spec.whatwg.org/#target-snapshot-params 41604. https://html.spec.whatwg.org/#target-snapshot-params-sandbox 41605. https://html.spec.whatwg.org/#determining-the-creation-sandboxing-flags 41606. https://html.spec.whatwg.org/#nav-bc 41607. https://html.spec.whatwg.org/#nav-container 41608. https://html.spec.whatwg.org/#document 41609. https://html.spec.whatwg.org/#initialise-the-document-object 41610. https://infra.spec.whatwg.org/#struct 41611. https://infra.spec.whatwg.org/#struct-item 41612. https://html.spec.whatwg.org/#navigation-id 41613. https://html.spec.whatwg.org/#navigable 41614. https://fetch.spec.whatwg.org/#concept-request 41615. https://fetch.spec.whatwg.org/#concept-response 41616. https://fetch.spec.whatwg.org/#concept-network-error 41617. https://fetch.spec.whatwg.org/#fetch-controller 41618. https://html.spec.whatwg.org/#document 41619. https://html.spec.whatwg.org/#coop-enforcement-result 41620. https://html.spec.whatwg.org/#browsing-context-group-switches-due-to-cross-origin-opener-policy 41621. https://html.spec.whatwg.org/#environment 41622. https://html.spec.whatwg.org/#document 41623. https://html.spec.whatwg.org/#concept-origin 41624. https://html.spec.whatwg.org/#document 41625. https://html.spec.whatwg.org/#policy-container 41626. https://html.spec.whatwg.org/#document 41627. https://html.spec.whatwg.org/#sandboxing-flag-set 41628. https://html.spec.whatwg.org/#document 41629. https://html.spec.whatwg.org/#cross-origin-opener-policy 41630. https://html.spec.whatwg.org/#document 41631. https://w3c.github.io/navigation-timing/#dom-navigationtimingtype 41632. https://w3c.github.io/navigation-timing/#dfn-create-the-navigation-timing-entry 41633. https://html.spec.whatwg.org/#document 41634. https://url.spec.whatwg.org/#concept-url 41635. https://html.spec.whatwg.org/#document 41636. https://html.spec.whatwg.org/#concept-document-about-base-url 41637. https://html.spec.whatwg.org/#user-navigation-involvement 41638. https://html.spec.whatwg.org/#obtain-browsing-context-navigation 41639. https://html.spec.whatwg.org/#document 41640. https://html.spec.whatwg.org/#navigation-params 41641. https://infra.spec.whatwg.org/#struct-item 41642. https://html.spec.whatwg.org/#ongoing-navigation 41643. https://html.spec.whatwg.org/#refsWEBDRIVERBIDI 41644. https://html.spec.whatwg.org/#document 41645. https://html.spec.whatwg.org/#traversable-navigable 41646. https://html.spec.whatwg.org/#tn-session-history-entries 41647. https://html.spec.whatwg.org/#navigationhistorybehavior 41648. https://html.spec.whatwg.org/#navigate 41649. https://html.spec.whatwg.org/#session-history-entry 41650. https://html.spec.whatwg.org/#clear-the-forward-session-history 41651. https://html.spec.whatwg.org/#nav-active-history-entry 41652. https://html.spec.whatwg.org/#navigate 41653. https://html.spec.whatwg.org/#navigationhistorybehavior-push 41654. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 41655. https://html.spec.whatwg.org/#navigationhistorybehavior-push 41656. https://html.spec.whatwg.org/#navigate-convert-to-replace 41657. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 41658. https://html.spec.whatwg.org/#navigationhistorybehavior 41659. https://html.spec.whatwg.org/#navigationhistorybehavior-push 41660. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 41661. https://html.spec.whatwg.org/#navigationhistorybehavior-auto 41662. https://url.spec.whatwg.org/#concept-url 41663. https://html.spec.whatwg.org/#document 41664. https://url.spec.whatwg.org/#concept-url-scheme 41665. https://html.spec.whatwg.org/#the-javascript:-url-special-case 41666. https://html.spec.whatwg.org/#is-initial-about:blank 41667. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 41668. https://html.spec.whatwg.org/#document 41669. https://html.spec.whatwg.org/#completely-loaded 41670. https://url.spec.whatwg.org/#concept-url 41671. https://html.spec.whatwg.org/#document 41672. https://dom.spec.whatwg.org/#concept-document-url 41673. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 41674. https://dom.spec.whatwg.org/#interface-event 41675. https://infra.spec.whatwg.org/#assert 41676. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 41677. https://infra.spec.whatwg.org/#assert 41678. https://dom.spec.whatwg.org/#dom-event-type 41679. https://w3c.github.io/uievents/#event-type-click 41680. https://dom.spec.whatwg.org/#dom-event-istrusted 41681. https://html.spec.whatwg.org/#uni-activation 41682. https://html.spec.whatwg.org/#uni-none 41683. https://html.spec.whatwg.org/#navigable 41684. https://url.spec.whatwg.org/#concept-url 41685. https://html.spec.whatwg.org/#document 41686. https://html.spec.whatwg.org/#post-resource 41687. https://fetch.spec.whatwg.org/#concept-response 41688. https://html.spec.whatwg.org/#navigationhistorybehavior 41689. https://html.spec.whatwg.org/#navigationhistorybehavior-auto 41690. https://html.spec.whatwg.org/#serialized-state 41691. https://html.spec.whatwg.org/#entry-list 41692. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 41693. https://html.spec.whatwg.org/#user-navigation-involvement 41694. https://html.spec.whatwg.org/#uni-none 41695. https://dom.spec.whatwg.org/#interface-element 41696. https://html.spec.whatwg.org/#snapshotting-source-snapshot-params 41697. https://dom.spec.whatwg.org/#concept-document-origin 41698. https://html.spec.whatwg.org/#document-base-url 41699. https://html.spec.whatwg.org/#node-navigable 41700. https://html.spec.whatwg.org/#allowed-to-navigate 41701. https://webidl.spec.whatwg.org/#securityerror 41702. https://webidl.spec.whatwg.org/#dfn-DOMException 41703. https://w3c.github.io/webcrypto/#dfn-generate-a-random-uuid 41704. https://html.spec.whatwg.org/#refsWEBCRYPTO 41705. https://tc39.es/ecma262/#surrounding-agent 41706. https://html.spec.whatwg.org/#nav-document 41707. https://html.spec.whatwg.org/#relevant-agent 41708. https://html.spec.whatwg.org/#queue-a-global-task 41709. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 41710. https://html.spec.whatwg.org/#nav-window 41711. https://html.spec.whatwg.org/#nav-document 41712. https://html.spec.whatwg.org/#event-loop 41713. https://html.spec.whatwg.org/#navigate-fragid 41714. https://html.spec.whatwg.org/#nav-document 41715. https://html.spec.whatwg.org/#unload-counter 41716. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-failed 41717. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-status 41718. https://w3c.github.io/webdriver-bidi/#navigation-status-id 41719. https://w3c.github.io/webdriver-bidi/#navigation-status-status 41720. https://w3c.github.io/webdriver-bidi/#navigation-status-canceled 41721. https://w3c.github.io/webdriver-bidi/#navigation-status-url 41722. https://html.spec.whatwg.org/#nav-container 41723. https://html.spec.whatwg.org/#the-iframe-element 41724. https://html.spec.whatwg.org/#will-lazy-load-element-steps 41725. https://html.spec.whatwg.org/#stop-intersection-observing-a-lazy-loading-element 41726. https://html.spec.whatwg.org/#lazy-load-resumption-steps 41727. https://html.spec.whatwg.org/#navigationhistorybehavior-auto 41728. https://url.spec.whatwg.org/#concept-url-equals 41729. https://html.spec.whatwg.org/#nav-document 41730. https://dom.spec.whatwg.org/#concept-document-url 41731. https://html.spec.whatwg.org/#same-origin 41732. https://html.spec.whatwg.org/#nav-document 41733. https://dom.spec.whatwg.org/#concept-document-origin 41734. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 41735. https://html.spec.whatwg.org/#navigationhistorybehavior-push 41736. https://html.spec.whatwg.org/#the-navigation-must-be-a-replace 41737. https://html.spec.whatwg.org/#nav-document 41738. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 41739. https://url.spec.whatwg.org/#concept-url-equals 41740. https://html.spec.whatwg.org/#nav-active-history-entry 41741. https://html.spec.whatwg.org/#she-url 41742. https://url.spec.whatwg.org/#url-equals-exclude-fragments 41743. https://url.spec.whatwg.org/#concept-url-fragment 41744. https://html.spec.whatwg.org/#navigate-fragid 41745. https://html.spec.whatwg.org/#nav-parent 41746. https://html.spec.whatwg.org/#delaying-load-events-mode 41747. https://html.spec.whatwg.org/#snapshotting-target-snapshot-params 41748. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-started 41749. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-status 41750. https://w3c.github.io/webdriver-bidi/#navigation-status-id 41751. https://w3c.github.io/webdriver-bidi/#navigation-status-status 41752. https://w3c.github.io/webdriver-bidi/#navigation-status-pending 41753. https://w3c.github.io/webdriver-bidi/#navigation-status-url 41754. https://html.spec.whatwg.org/#ongoing-navigation 41755. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-failed 41756. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-status 41757. https://w3c.github.io/webdriver-bidi/#navigation-status-id 41758. https://w3c.github.io/webdriver-bidi/#navigation-status-status 41759. https://w3c.github.io/webdriver-bidi/#navigation-status-canceled 41760. https://w3c.github.io/webdriver-bidi/#navigation-status-url 41761. https://html.spec.whatwg.org/#navigable 41762. https://html.spec.whatwg.org/#apply-the-traverse-history-step 41763. https://html.spec.whatwg.org/#set-the-ongoing-navigation 41764. https://html.spec.whatwg.org/#ongoing-navigation 41765. https://url.spec.whatwg.org/#concept-url-scheme 41766. https://html.spec.whatwg.org/#the-javascript:-url-special-case 41767. https://html.spec.whatwg.org/#queue-a-global-task 41768. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 41769. https://html.spec.whatwg.org/#nav-window 41770. https://html.spec.whatwg.org/#navigate-to-a-javascript:-url 41771. https://html.spec.whatwg.org/#uni-browser-ui 41772. https://html.spec.whatwg.org/#nav-document 41773. https://dom.spec.whatwg.org/#concept-document-origin 41774. https://html.spec.whatwg.org/#same-origin-domain 41775. https://dom.spec.whatwg.org/#concept-document-origin 41776. https://html.spec.whatwg.org/#nav-document 41777. https://html.spec.whatwg.org/#is-initial-about:blank 41778. https://url.spec.whatwg.org/#concept-url-scheme 41779. https://fetch.spec.whatwg.org/#fetch-scheme 41780. https://html.spec.whatwg.org/#nav-window 41781. https://html.spec.whatwg.org/#window-navigation-api 41782. https://html.spec.whatwg.org/#post-resource 41783. https://html.spec.whatwg.org/#structuredserializeforstorage 41784. https://html.spec.whatwg.org/#fire-a-push/replace/reload-navigate-event 41785. https://html.spec.whatwg.org/#fire-navigate-prr-navigationtype 41786. https://html.spec.whatwg.org/#fire-navigate-prr-issamedocument 41787. https://html.spec.whatwg.org/#fire-navigate-prr-userinvolvement 41788. https://html.spec.whatwg.org/#fire-navigate-prr-sourceelement 41789. https://html.spec.whatwg.org/#fire-navigate-prr-formdataentrylist 41790. https://html.spec.whatwg.org/#fire-navigate-prr-destinationurl 41791. https://html.spec.whatwg.org/#fire-navigate-prr-navigationapistate 41792. https://html.spec.whatwg.org/#uni-browser-ui 41793. https://html.spec.whatwg.org/#same-origin-domain 41794. https://html.spec.whatwg.org/#event-navigate 41795. https://html.spec.whatwg.org/#navigate-fragid 41796. https://html.spec.whatwg.org/#in-parallel 41797. https://html.spec.whatwg.org/#checking-if-unloading-is-canceled 41798. https://html.spec.whatwg.org/#nav-document 41799. https://html.spec.whatwg.org/#inclusive-descendant-navigables 41800. https://html.spec.whatwg.org/#ongoing-navigation 41801. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-failed 41802. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-status 41803. https://w3c.github.io/webdriver-bidi/#navigation-status-id 41804. https://w3c.github.io/webdriver-bidi/#navigation-status-status 41805. https://w3c.github.io/webdriver-bidi/#navigation-status-canceled 41806. https://w3c.github.io/webdriver-bidi/#navigation-status-url 41807. https://html.spec.whatwg.org/#queue-a-global-task 41808. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 41809. https://html.spec.whatwg.org/#nav-window 41810. https://html.spec.whatwg.org/#abort-a-document-and-its-descendants 41811. https://html.spec.whatwg.org/#nav-document 41812. https://html.spec.whatwg.org/#document-state-2 41813. https://html.spec.whatwg.org/#document-state-request-referrer-policy 41814. https://html.spec.whatwg.org/#document-state-initiator-origin 41815. https://html.spec.whatwg.org/#document-state-resource 41816. https://html.spec.whatwg.org/#document-state-nav-target-name 41817. https://html.spec.whatwg.org/#nav-target 41818. https://html.spec.whatwg.org/#document-state-nav-target-name 41819. https://html.spec.whatwg.org/#matches-about:blank 41820. https://html.spec.whatwg.org/#about:srcdoc 41821. https://html.spec.whatwg.org/#document-state-origin 41822. https://html.spec.whatwg.org/#document-state-about-base-url 41823. https://html.spec.whatwg.org/#session-history-entry 41824. https://html.spec.whatwg.org/#she-url 41825. https://html.spec.whatwg.org/#she-document-state 41826. https://html.spec.whatwg.org/#navigate 41827. https://fetch.spec.whatwg.org/#concept-response 41828. https://html.spec.whatwg.org/#the-object-element 41829. https://html.spec.whatwg.org/#the-embed-element 41830. https://html.spec.whatwg.org/#navigate-multipart-x-mixed-replace 41831. https://html.spec.whatwg.org/#determining-navigation-params-policy-container 41832. https://fetch.spec.whatwg.org/#concept-response 41833. https://fetch.spec.whatwg.org/#concept-response-url 41834. https://html.spec.whatwg.org/#clone-a-policy-container 41835. https://html.spec.whatwg.org/#concept-document-policy-container 41836. https://html.spec.whatwg.org/#nav-container-document 41837. https://html.spec.whatwg.org/#concept-document-policy-container 41838. https://infra.spec.whatwg.org/#set-union 41839. https://html.spec.whatwg.org/#target-snapshot-params-sandbox 41840. https://html.spec.whatwg.org/#policy-container-csp-list 41841. https://html.spec.whatwg.org/#csp-derived-sandboxing-flags 41842. https://html.spec.whatwg.org/#determining-the-origin 41843. https://fetch.spec.whatwg.org/#concept-response-url 41844. https://html.spec.whatwg.org/#document-state-initiator-origin 41845. https://html.spec.whatwg.org/#cross-origin-opener-policy 41846. https://html.spec.whatwg.org/#coop-enforcement-result 41847. https://html.spec.whatwg.org/#coop-enforcement-url 41848. https://fetch.spec.whatwg.org/#concept-response-url 41849. https://html.spec.whatwg.org/#coop-enforcement-origin 41850. https://html.spec.whatwg.org/#coop-enforcement-coop 41851. https://html.spec.whatwg.org/#navigation-params 41852. https://html.spec.whatwg.org/#navigation-params-id 41853. https://html.spec.whatwg.org/#navigation-params-navigable 41854. https://html.spec.whatwg.org/#navigation-params-request 41855. https://html.spec.whatwg.org/#navigation-params-response 41856. https://html.spec.whatwg.org/#navigation-params-fetch-controller 41857. https://html.spec.whatwg.org/#navigation-params-commit-early-hints 41858. https://html.spec.whatwg.org/#navigation-params-coop-enforcement-result 41859. https://html.spec.whatwg.org/#navigation-params-reserved-environment 41860. https://html.spec.whatwg.org/#navigation-params-origin 41861. https://html.spec.whatwg.org/#navigation-params-policy-container 41862. https://html.spec.whatwg.org/#navigation-params-sandboxing 41863. https://html.spec.whatwg.org/#navigation-params-coop 41864. https://html.spec.whatwg.org/#navigation-params-nav-timing-type 41865. https://w3c.github.io/navigation-timing/#dom-navigationtimingtype-navigate 41866. https://html.spec.whatwg.org/#navigation-params-about-base-url 41867. https://html.spec.whatwg.org/#document-state-about-base-url 41868. https://html.spec.whatwg.org/#navigation-params-user-involvement 41869. https://html.spec.whatwg.org/#attempt-to-populate-the-history-entry's-document 41870. https://w3c.github.io/navigation-timing/#dom-navigationtimingtype-navigate 41871. https://html.spec.whatwg.org/#attempt-to-populate-allow-post 41872. https://html.spec.whatwg.org/#attempt-to-populate-completion-steps 41873. https://html.spec.whatwg.org/#tn-append-session-history-traversal-steps 41874. https://html.spec.whatwg.org/#nav-traversable 41875. https://html.spec.whatwg.org/#finalize-a-cross-document-navigation 41876. https://html.spec.whatwg.org/#populating-a-session-history-entry 41877. https://html.spec.whatwg.org/#document 41878. https://html.spec.whatwg.org/#navigable 41879. https://html.spec.whatwg.org/#history-handling-behavior 41880. https://html.spec.whatwg.org/#user-navigation-involvement 41881. https://html.spec.whatwg.org/#session-history-entry 41882. https://infra.spec.whatwg.org/#assert 41883. https://html.spec.whatwg.org/#nav-traversable 41884. https://html.spec.whatwg.org/#tn-session-history-traversal-queue 41885. https://html.spec.whatwg.org/#delaying-load-events-mode 41886. https://html.spec.whatwg.org/#she-document 41887. https://html.spec.whatwg.org/#attempt-to-populate-the-history-entry's-document 41888. https://html.spec.whatwg.org/#nav-parent 41889. https://html.spec.whatwg.org/#she-document 41890. https://html.spec.whatwg.org/#concept-document-bc 41891. https://html.spec.whatwg.org/#auxiliary-browsing-context 41892. https://html.spec.whatwg.org/#opener-browsing-context 41893. https://html.spec.whatwg.org/#she-document 41894. https://dom.spec.whatwg.org/#concept-document-origin 41895. https://html.spec.whatwg.org/#nav-document 41896. https://dom.spec.whatwg.org/#concept-document-origin 41897. https://html.spec.whatwg.org/#she-document-state 41898. https://html.spec.whatwg.org/#document-state-nav-target-name 41899. https://html.spec.whatwg.org/#nav-active-history-entry 41900. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 41901. https://html.spec.whatwg.org/#nav-traversable 41902. https://html.spec.whatwg.org/#getting-session-history-entries 41903. https://html.spec.whatwg.org/#clear-the-forward-session-history 41904. https://html.spec.whatwg.org/#tn-current-session-history-step 41905. https://html.spec.whatwg.org/#she-step 41906. https://infra.spec.whatwg.org/#list-append 41907. https://infra.spec.whatwg.org/#list-replace 41908. https://html.spec.whatwg.org/#she-step 41909. https://html.spec.whatwg.org/#she-step 41910. https://html.spec.whatwg.org/#she-document-state 41911. https://html.spec.whatwg.org/#document-state-origin 41912. https://html.spec.whatwg.org/#same-origin 41913. https://html.spec.whatwg.org/#she-document-state 41914. https://html.spec.whatwg.org/#document-state-origin 41915. https://html.spec.whatwg.org/#she-navigation-api-key 41916. https://html.spec.whatwg.org/#she-navigation-api-key 41917. https://html.spec.whatwg.org/#tn-current-session-history-step 41918. https://html.spec.whatwg.org/#apply-the-push/replace-history-step 41919. https://html.spec.whatwg.org/#the-javascript:-url-special-case 41920. https://github.com/whatwg/html/labels/topic: javascript: URLs 41921. https://html.spec.whatwg.org/#navigable 41922. https://url.spec.whatwg.org/#concept-url 41923. https://html.spec.whatwg.org/#history-handling-behavior 41924. https://html.spec.whatwg.org/#source-snapshot-params 41925. https://html.spec.whatwg.org/#concept-origin 41926. https://html.spec.whatwg.org/#user-navigation-involvement 41927. https://infra.spec.whatwg.org/#assert 41928. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 41929. https://html.spec.whatwg.org/#set-the-ongoing-navigation 41930. https://html.spec.whatwg.org/#same-origin-domain 41931. https://html.spec.whatwg.org/#nav-document 41932. https://dom.spec.whatwg.org/#concept-document-origin 41933. https://fetch.spec.whatwg.org/#concept-request 41934. https://fetch.spec.whatwg.org/#concept-request-url 41935. https://fetch.spec.whatwg.org/#concept-request-policy-container 41936. https://html.spec.whatwg.org/#source-snapshot-params-policy-container 41937. https://fetch.spec.whatwg.org/#concept-request 41938. https://w3c.github.io/webappsec-csp/#should-block-navigation-request 41939. https://html.spec.whatwg.org/#refsCSP 41940. https://html.spec.whatwg.org/#evaluate-a-javascript:-url 41941. https://html.spec.whatwg.org/#document 41942. https://infra.spec.whatwg.org/#assert 41943. https://dom.spec.whatwg.org/#concept-document-origin 41944. https://html.spec.whatwg.org/#nav-active-history-entry 41945. https://html.spec.whatwg.org/#she-document-state 41946. https://html.spec.whatwg.org/#document-state-2 41947. https://html.spec.whatwg.org/#document-state-document 41948. https://html.spec.whatwg.org/#document-state-history-policy-container 41949. https://html.spec.whatwg.org/#clone-a-policy-container 41950. https://html.spec.whatwg.org/#document-state-history-policy-container 41951. https://html.spec.whatwg.org/#document-state-request-referrer 41952. https://html.spec.whatwg.org/#document-state-request-referrer 41953. https://html.spec.whatwg.org/#document-state-request-referrer-policy 41954. https://html.spec.whatwg.org/#document-state-request-referrer-policy 41955. https://html.spec.whatwg.org/#navigate 41956. https://html.spec.whatwg.org/#document-state-initiator-origin 41957. https://html.spec.whatwg.org/#document-state-origin 41958. https://html.spec.whatwg.org/#document-state-about-base-url 41959. https://html.spec.whatwg.org/#document-state-about-base-url 41960. https://html.spec.whatwg.org/#document-state-resource 41961. https://html.spec.whatwg.org/#document-state-ever-populated 41962. https://html.spec.whatwg.org/#document-state-nav-target-name 41963. https://html.spec.whatwg.org/#document-state-nav-target-name 41964. https://html.spec.whatwg.org/#session-history-entry 41965. https://html.spec.whatwg.org/#she-url 41966. https://html.spec.whatwg.org/#she-url 41967. https://html.spec.whatwg.org/#she-document-state 41968. https://html.spec.whatwg.org/#she-url 41969. https://html.spec.whatwg.org/#the-javascript:-url-special-case 41970. https://html.spec.whatwg.org/#navigate 41971. https://html.spec.whatwg.org/#the-javascript:-url-special-case 41972. https://html.spec.whatwg.org/#tn-append-session-history-traversal-steps 41973. https://html.spec.whatwg.org/#nav-traversable 41974. https://html.spec.whatwg.org/#finalize-a-cross-document-navigation 41975. https://html.spec.whatwg.org/#navigable 41976. https://url.spec.whatwg.org/#concept-url 41977. https://html.spec.whatwg.org/#concept-origin 41978. https://html.spec.whatwg.org/#user-navigation-involvement 41979. https://url.spec.whatwg.org/#concept-url-serializer 41980. https://encoding.spec.whatwg.org/#utf-8-decode 41981. https://url.spec.whatwg.org/#string-percent-decode 41982. https://html.spec.whatwg.org/#nav-document 41983. https://html.spec.whatwg.org/#relevant-settings-object 41984. https://html.spec.whatwg.org/#api-base-url 41985. https://html.spec.whatwg.org/#creating-a-classic-script 41986. https://html.spec.whatwg.org/#default-script-fetch-options 41987. https://html.spec.whatwg.org/#run-a-classic-script 41988. https://fetch.spec.whatwg.org/#concept-response 41989. https://fetch.spec.whatwg.org/#concept-response-url 41990. https://html.spec.whatwg.org/#nav-document 41991. https://dom.spec.whatwg.org/#concept-document-url 41992. https://fetch.spec.whatwg.org/#concept-response-header-list 41993. https://html.spec.whatwg.org/#content-type 41994. https://fetch.spec.whatwg.org/#concept-response-body 41995. https://encoding.spec.whatwg.org/#utf-8-encode 41996. https://fetch.spec.whatwg.org/#byte-sequence-as-a-body 41997. https://infra.spec.whatwg.org/#surrogate 41998. https://html.spec.whatwg.org/#nav-document 41999. https://html.spec.whatwg.org/#concept-document-policy-container 42000. https://html.spec.whatwg.org/#policy-container-csp-list 42001. https://html.spec.whatwg.org/#csp-derived-sandboxing-flags 42002. https://html.spec.whatwg.org/#nav-document 42003. https://html.spec.whatwg.org/#concept-document-coop 42004. https://html.spec.whatwg.org/#coop-enforcement-result 42005. https://html.spec.whatwg.org/#coop-enforcement-url 42006. https://html.spec.whatwg.org/#coop-enforcement-origin 42007. https://html.spec.whatwg.org/#coop-enforcement-coop 42008. https://html.spec.whatwg.org/#navigation-params 42009. https://html.spec.whatwg.org/#navigation-params-id 42010. https://html.spec.whatwg.org/#navigation-params-navigable 42011. https://html.spec.whatwg.org/#navigation-params-request 42012. https://html.spec.whatwg.org/#document 42013. https://html.spec.whatwg.org/#navigation-params-response 42014. https://html.spec.whatwg.org/#navigation-params-fetch-controller 42015. https://html.spec.whatwg.org/#navigation-params-commit-early-hints 42016. https://html.spec.whatwg.org/#navigation-params-coop-enforcement-result 42017. https://html.spec.whatwg.org/#navigation-params-reserved-environment 42018. https://html.spec.whatwg.org/#navigation-params-origin 42019. https://html.spec.whatwg.org/#navigation-params-policy-container 42020. https://html.spec.whatwg.org/#navigation-params-sandboxing 42021. https://html.spec.whatwg.org/#navigation-params-coop 42022. https://html.spec.whatwg.org/#navigation-params-nav-timing-type 42023. https://w3c.github.io/navigation-timing/#dom-navigationtimingtype-navigate 42024. https://html.spec.whatwg.org/#navigation-params-about-base-url 42025. https://html.spec.whatwg.org/#nav-document 42026. https://html.spec.whatwg.org/#concept-document-about-base-url 42027. https://html.spec.whatwg.org/#navigation-params-user-involvement 42028. https://html.spec.whatwg.org/#navigate-html 42029. https://html.spec.whatwg.org/#navigable 42030. https://url.spec.whatwg.org/#concept-url 42031. https://html.spec.whatwg.org/#history-handling-behavior 42032. https://html.spec.whatwg.org/#user-navigation-involvement 42033. https://dom.spec.whatwg.org/#interface-element 42034. https://html.spec.whatwg.org/#serialized-state 42035. https://html.spec.whatwg.org/#navigation-id 42036. https://html.spec.whatwg.org/#nav-window 42037. https://html.spec.whatwg.org/#window-navigation-api 42038. https://html.spec.whatwg.org/#nav-active-history-entry 42039. https://html.spec.whatwg.org/#she-navigation-api-state 42040. https://html.spec.whatwg.org/#fire-a-push/replace/reload-navigate-event 42041. https://html.spec.whatwg.org/#fire-navigate-prr-navigationtype 42042. https://html.spec.whatwg.org/#fire-navigate-prr-issamedocument 42043. https://html.spec.whatwg.org/#fire-navigate-prr-userinvolvement 42044. https://html.spec.whatwg.org/#fire-navigate-prr-sourceelement 42045. https://html.spec.whatwg.org/#fire-navigate-prr-destinationurl 42046. https://html.spec.whatwg.org/#fire-navigate-prr-navigationapistate 42047. https://html.spec.whatwg.org/#session-history-entry 42048. https://html.spec.whatwg.org/#she-url 42049. https://html.spec.whatwg.org/#she-document-state 42050. https://html.spec.whatwg.org/#nav-active-history-entry 42051. https://html.spec.whatwg.org/#she-document-state 42052. https://html.spec.whatwg.org/#she-navigation-api-state 42053. https://html.spec.whatwg.org/#she-scroll-restoration-mode 42054. https://html.spec.whatwg.org/#nav-active-history-entry 42055. https://html.spec.whatwg.org/#she-scroll-restoration-mode 42056. https://html.spec.whatwg.org/#dom-navigation-navigate 42057. https://html.spec.whatwg.org/#dom-navigationnavigateoptions-state 42058. https://html.spec.whatwg.org/#she-navigation-api-state 42059. https://html.spec.whatwg.org/#she-navigation-api-state 42060. https://html.spec.whatwg.org/#she-classic-history-api-state 42061. https://html.spec.whatwg.org/#nav-active-history-entry 42062. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 42063. https://html.spec.whatwg.org/#nav-document 42064. https://html.spec.whatwg.org/#doc-history 42065. https://html.spec.whatwg.org/#concept-history-index 42066. https://html.spec.whatwg.org/#concept-history-length 42067. https://html.spec.whatwg.org/#navigationhistorybehavior-push 42068. https://html.spec.whatwg.org/#concept-history-state 42069. https://html.spec.whatwg.org/#nav-document 42070. https://dom.spec.whatwg.org/#concept-document-url 42071. https://html.spec.whatwg.org/#nav-active-history-entry 42072. https://html.spec.whatwg.org/#update-document-for-history-step-application 42073. https://html.spec.whatwg.org/#nav-document 42074. https://html.spec.whatwg.org/#dom-history-state 42075. https://html.spec.whatwg.org/#dom-history-state 42076. https://html.spec.whatwg.org/#scroll-to-the-fragment-identifier 42077. https://html.spec.whatwg.org/#nav-document 42078. https://html.spec.whatwg.org/#document 42079. https://dom.spec.whatwg.org/#concept-id 42080. https://html.spec.whatwg.org/#update-document-for-history-step-application 42081. https://html.spec.whatwg.org/#nav-traversable 42082. https://html.spec.whatwg.org/#tn-append-session-history-sync-nav-steps 42083. https://html.spec.whatwg.org/#finalize-a-same-document-navigation 42084. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-fragment-navigated 42085. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-status 42086. https://w3c.github.io/webdriver-bidi/#navigation-status-id 42087. https://w3c.github.io/webdriver-bidi/#navigation-status-url 42088. https://w3c.github.io/webdriver-bidi/#navigation-status-status 42089. https://w3c.github.io/webdriver-bidi/#navigation-status-complete 42090. https://html.spec.whatwg.org/#traversable-navigable 42091. https://html.spec.whatwg.org/#navigable 42092. https://html.spec.whatwg.org/#session-history-entry 42093. https://html.spec.whatwg.org/#session-history-entry 42094. https://html.spec.whatwg.org/#history-handling-behavior 42095. https://html.spec.whatwg.org/#user-navigation-involvement 42096. https://html.spec.whatwg.org/#navigate-fragid 42097. https://html.spec.whatwg.org/#url-and-history-update-steps 42098. https://html.spec.whatwg.org/#top-level-traversable 42099. https://html.spec.whatwg.org/#tn-session-history-traversal-queue 42100. https://html.spec.whatwg.org/#top-level-traversable 42101. https://html.spec.whatwg.org/#tn-current-session-history-step 42102. https://infra.spec.whatwg.org/#assert 42103. https://html.spec.whatwg.org/#tn-session-history-traversal-queue 42104. https://html.spec.whatwg.org/#nav-active-history-entry 42105. https://html.spec.whatwg.org/#getting-session-history-entries 42106. https://html.spec.whatwg.org/#clear-the-forward-session-history 42107. https://html.spec.whatwg.org/#tn-current-session-history-step 42108. https://html.spec.whatwg.org/#she-step 42109. https://infra.spec.whatwg.org/#list-append 42110. https://infra.spec.whatwg.org/#list-replace 42111. https://html.spec.whatwg.org/#she-step 42112. https://html.spec.whatwg.org/#she-step 42113. https://html.spec.whatwg.org/#tn-current-session-history-step 42114. https://html.spec.whatwg.org/#apply-the-push/replace-history-step 42115. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 42116. https://html.spec.whatwg.org/#attempt-to-create-a-non-fetch-scheme-document 42117. https://infra.spec.whatwg.org/#struct 42118. https://html.spec.whatwg.org/#navigation-params 42119. https://fetch.spec.whatwg.org/#fetch-scheme 42120. https://infra.spec.whatwg.org/#struct-item 42121. https://html.spec.whatwg.org/#navigation-id 42122. https://html.spec.whatwg.org/#navigable 42123. https://url.spec.whatwg.org/#concept-url 42124. https://html.spec.whatwg.org/#target-snapshot-params 42125. https://html.spec.whatwg.org/#target-snapshot-params-sandbox 42126. https://html.spec.whatwg.org/#source-snapshot-params 42127. https://html.spec.whatwg.org/#source-snapshot-params-activation 42128. https://html.spec.whatwg.org/#concept-origin 42129. https://html.spec.whatwg.org/#she-document-state 42130. https://html.spec.whatwg.org/#document-state-initiator-origin 42131. https://html.spec.whatwg.org/#non-fetch-scheme-navigation-params 42132. https://html.spec.whatwg.org/#non-fetch-scheme-params-initiator-origin 42133. https://fetch.spec.whatwg.org/#fetch-scheme 42134. https://fetch.spec.whatwg.org/#fetch-scheme 42135. https://w3c.github.io/navigation-timing/#dom-navigationtimingtype 42136. https://w3c.github.io/navigation-timing/#dfn-create-the-navigation-timing-entry 42137. https://html.spec.whatwg.org/#document 42138. https://html.spec.whatwg.org/#user-navigation-involvement 42139. https://html.spec.whatwg.org/#obtain-browsing-context-navigation 42140. https://html.spec.whatwg.org/#document 42141. https://html.spec.whatwg.org/#non-fetch-scheme-navigation-params 42142. https://html.spec.whatwg.org/#non-fetch-scheme-params-url 42143. https://html.spec.whatwg.org/#non-fetch-scheme-params-navigable 42144. https://url.spec.whatwg.org/#concept-url-scheme 42145. https://html.spec.whatwg.org/#hand-off-to-external-software 42146. https://html.spec.whatwg.org/#non-fetch-scheme-params-target-sandbox 42147. https://html.spec.whatwg.org/#non-fetch-scheme-params-source-activation 42148. https://html.spec.whatwg.org/#non-fetch-scheme-params-initiator-origin 42149. https://html.spec.whatwg.org/#dom-navigator-registerprotocolhandler 42150. https://html.spec.whatwg.org/#read-ua-inline 42151. https://html.spec.whatwg.org/#non-fetch-scheme-params-id 42152. https://html.spec.whatwg.org/#non-fetch-scheme-params-nav-timing-type 42153. https://html.spec.whatwg.org/#non-fetch-scheme-params-user-involvement 42154. https://html.spec.whatwg.org/#navigate 42155. https://url.spec.whatwg.org/#concept-url 42156. https://fetch.spec.whatwg.org/#concept-response 42157. https://html.spec.whatwg.org/#navigable 42158. https://html.spec.whatwg.org/#sandboxing-flag-set 42159. https://html.spec.whatwg.org/#concept-origin 42160. https://html.spec.whatwg.org/#top-level-traversable 42161. https://html.spec.whatwg.org/#sandboxed-custom-protocols-navigation-browsing-context-flag 42162. https://html.spec.whatwg.org/#sandboxed-top-level-navigation-with-user-activation-browsing-context-flag 42163. https://html.spec.whatwg.org/#the-iframe-element 42164. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-popups 42165. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation 42166. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation-by-user-activation 42167. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation-to-custom-protocols 42168. https://html.spec.whatwg.org/#navigable 42169. https://html.spec.whatwg.org/#navigable 42170. https://html.spec.whatwg.org/#navigable 42171. https://html.spec.whatwg.org/#source-snapshot-params 42172. https://html.spec.whatwg.org/#top-level-traversable 42173. https://html.spec.whatwg.org/#source-snapshot-params-activation 42174. https://html.spec.whatwg.org/#source-snapshot-params-sandbox 42175. https://html.spec.whatwg.org/#sandboxed-top-level-navigation-with-user-activation-browsing-context-flag 42176. https://html.spec.whatwg.org/#source-snapshot-params-activation 42177. https://html.spec.whatwg.org/#source-snapshot-params-sandbox 42178. https://html.spec.whatwg.org/#sandboxed-top-level-navigation-without-user-activation-browsing-context-flag 42179. https://html.spec.whatwg.org/#top-level-traversable 42180. https://html.spec.whatwg.org/#one-permitted-sandboxed-navigator 42181. https://html.spec.whatwg.org/#source-snapshot-params-sandbox 42182. https://html.spec.whatwg.org/#sandboxed-navigation-browsing-context-flag 42183. https://html.spec.whatwg.org/#source-snapshot-params-sandbox 42184. https://html.spec.whatwg.org/#sandboxed-navigation-browsing-context-flag 42185. https://infra.spec.whatwg.org/#list 42186. https://html.spec.whatwg.org/#navigable 42187. https://html.spec.whatwg.org/#traversable-navigable 42188. https://html.spec.whatwg.org/#user-navigation-involvement 42189. https://html.spec.whatwg.org/#nav-document 42190. https://infra.spec.whatwg.org/#list-item 42191. https://infra.spec.whatwg.org/#assert 42192. https://html.spec.whatwg.org/#getting-the-target-history-entry 42193. https://html.spec.whatwg.org/#nav-current-history-entry 42194. https://html.spec.whatwg.org/#she-document-state 42195. https://html.spec.whatwg.org/#document-state-origin 42196. https://html.spec.whatwg.org/#same-origin 42197. https://html.spec.whatwg.org/#nav-current-history-entry 42198. https://html.spec.whatwg.org/#she-document-state 42199. https://html.spec.whatwg.org/#document-state-origin 42200. https://html.spec.whatwg.org/#event-navigate 42201. https://html.spec.whatwg.org/#navigate-event-traverse-can-be-canceled 42202. https://html.spec.whatwg.org/#descendant-navigable-traversal-navigate-events 42203. https://html.spec.whatwg.org/#event-beforeunload 42204. https://html.spec.whatwg.org/#event-navigate 42205. https://html.spec.whatwg.org/#event-beforeunload 42206. https://infra.spec.whatwg.org/#list-contain 42207. https://infra.spec.whatwg.org/#list-remove 42208. https://html.spec.whatwg.org/#nav-document 42209. https://html.spec.whatwg.org/#queue-a-global-task 42210. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 42211. https://html.spec.whatwg.org/#nav-window 42212. https://html.spec.whatwg.org/#steps-to-fire-beforeunload 42213. https://html.spec.whatwg.org/#nav-document 42214. https://html.spec.whatwg.org/#nav-window 42215. https://html.spec.whatwg.org/#window-navigation-api 42216. https://html.spec.whatwg.org/#fire-a-traverse-navigate-event 42217. https://infra.spec.whatwg.org/#list-size 42218. https://infra.spec.whatwg.org/#list-iterate 42219. https://html.spec.whatwg.org/#queue-a-global-task 42220. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 42221. https://html.spec.whatwg.org/#concept-relevant-global 42222. https://html.spec.whatwg.org/#steps-to-fire-beforeunload 42223. https://html.spec.whatwg.org/#document 42224. https://html.spec.whatwg.org/#unload-counter 42225. https://html.spec.whatwg.org/#relevant-agent 42226. https://html.spec.whatwg.org/#concept-agent-event-loop 42227. https://html.spec.whatwg.org/#termination-nesting-level 42228. https://dom.spec.whatwg.org/#concept-event-fire 42229. https://html.spec.whatwg.org/#event-beforeunload 42230. https://html.spec.whatwg.org/#concept-relevant-global 42231. https://html.spec.whatwg.org/#beforeunloadevent 42232. https://dom.spec.whatwg.org/#dom-event-cancelable 42233. https://html.spec.whatwg.org/#relevant-agent 42234. https://html.spec.whatwg.org/#concept-agent-event-loop 42235. https://html.spec.whatwg.org/#termination-nesting-level 42236. https://html.spec.whatwg.org/#active-sandboxing-flag-set 42237. https://html.spec.whatwg.org/#sandboxed-modals-flag 42238. https://html.spec.whatwg.org/#concept-relevant-global 42239. https://html.spec.whatwg.org/#sticky-activation 42240. https://html.spec.whatwg.org/#dom-beforeunloadevent-returnvalue 42241. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-user-prompt-opened 42242. https://html.spec.whatwg.org/#concept-relevant-global 42243. https://html.spec.whatwg.org/#pause 42244. https://html.spec.whatwg.org/#dom-beforeunloadevent-returnvalue 42245. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-user-prompt-closed 42246. https://html.spec.whatwg.org/#concept-relevant-global 42247. https://html.spec.whatwg.org/#unload-counter 42248. https://html.spec.whatwg.org/#navigable 42249. https://html.spec.whatwg.org/#navigation-id 42250. https://html.spec.whatwg.org/#apply-the-traverse-history-step 42251. https://html.spec.whatwg.org/#navigable 42252. https://html.spec.whatwg.org/#ongoing-navigation 42253. https://html.spec.whatwg.org/#inform-the-navigation-api-about-aborting-navigation 42254. https://html.spec.whatwg.org/#ongoing-navigation 42255. https://html.spec.whatwg.org/#navigable 42256. https://html.spec.whatwg.org/#serialized-state 42257. https://html.spec.whatwg.org/#user-navigation-involvement 42258. https://html.spec.whatwg.org/#uni-none 42259. https://html.spec.whatwg.org/#uni-browser-ui 42260. https://html.spec.whatwg.org/#nav-window 42261. https://html.spec.whatwg.org/#window-navigation-api 42262. https://html.spec.whatwg.org/#nav-active-history-entry 42263. https://html.spec.whatwg.org/#she-navigation-api-state 42264. https://html.spec.whatwg.org/#fire-a-push/replace/reload-navigate-event 42265. https://html.spec.whatwg.org/#fire-navigate-prr-navigationtype 42266. https://html.spec.whatwg.org/#dom-navigationtype-reload 42267. https://html.spec.whatwg.org/#fire-navigate-prr-issamedocument 42268. https://html.spec.whatwg.org/#fire-navigate-prr-userinvolvement 42269. https://html.spec.whatwg.org/#fire-navigate-prr-destinationurl 42270. https://html.spec.whatwg.org/#nav-active-history-entry 42271. https://html.spec.whatwg.org/#she-url 42272. https://html.spec.whatwg.org/#fire-navigate-prr-navigationapistate 42273. https://html.spec.whatwg.org/#nav-active-history-entry 42274. https://html.spec.whatwg.org/#she-document-state 42275. https://html.spec.whatwg.org/#document-state-reload-pending 42276. https://html.spec.whatwg.org/#nav-traversable 42277. https://html.spec.whatwg.org/#tn-append-session-history-traversal-steps 42278. https://html.spec.whatwg.org/#apply-the-reload-history-step 42279. https://html.spec.whatwg.org/#traversable-navigable 42280. https://html.spec.whatwg.org/#document 42281. https://html.spec.whatwg.org/#uni-browser-ui 42282. https://html.spec.whatwg.org/#snapshotting-source-snapshot-params 42283. https://html.spec.whatwg.org/#node-navigable 42284. https://html.spec.whatwg.org/#uni-none 42285. https://html.spec.whatwg.org/#tn-append-session-history-traversal-steps 42286. https://html.spec.whatwg.org/#getting-all-used-history-steps 42287. https://html.spec.whatwg.org/#tn-current-session-history-step 42288. https://infra.spec.whatwg.org/#list-contain 42289. https://html.spec.whatwg.org/#apply-the-traverse-history-step 42290. https://html.spec.whatwg.org/#navigate 42291. https://html.spec.whatwg.org/#session-history-entry 42292. https://html.spec.whatwg.org/#url-and-history-update-steps 42293. https://html.spec.whatwg.org/#dom-history-replacestate 42294. https://html.spec.whatwg.org/#dom-history-pushstate 42295. https://html.spec.whatwg.org/#nav-active-history-entry 42296. https://html.spec.whatwg.org/#document 42297. https://url.spec.whatwg.org/#concept-url 42298. https://html.spec.whatwg.org/#serialized-state 42299. https://html.spec.whatwg.org/#history-handling-behavior 42300. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 42301. https://html.spec.whatwg.org/#node-navigable 42302. https://html.spec.whatwg.org/#nav-active-history-entry 42303. https://html.spec.whatwg.org/#session-history-entry 42304. https://html.spec.whatwg.org/#she-url 42305. https://html.spec.whatwg.org/#she-classic-history-api-state 42306. https://html.spec.whatwg.org/#she-classic-history-api-state 42307. https://html.spec.whatwg.org/#she-document-state 42308. https://html.spec.whatwg.org/#she-document-state 42309. https://html.spec.whatwg.org/#she-scroll-restoration-mode 42310. https://html.spec.whatwg.org/#she-scroll-restoration-mode 42311. https://html.spec.whatwg.org/#she-other 42312. https://html.spec.whatwg.org/#she-other 42313. https://html.spec.whatwg.org/#is-initial-about:blank 42314. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 42315. https://html.spec.whatwg.org/#dom-history-pushstate 42316. https://html.spec.whatwg.org/#is-initial-about:blank 42317. https://html.spec.whatwg.org/#document 42318. https://html.spec.whatwg.org/#dom-history-replacestate 42319. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 42320. https://html.spec.whatwg.org/#navigationhistorybehavior-push 42321. https://html.spec.whatwg.org/#doc-history 42322. https://html.spec.whatwg.org/#concept-history-index 42323. https://html.spec.whatwg.org/#doc-history 42324. https://html.spec.whatwg.org/#concept-history-length 42325. https://html.spec.whatwg.org/#concept-history-index 42326. https://html.spec.whatwg.org/#restore-the-history-object-state 42327. https://dom.spec.whatwg.org/#concept-document-url 42328. https://html.spec.whatwg.org/#navigate 42329. https://html.spec.whatwg.org/#traverse-the-history-by-a-delta 42330. https://html.spec.whatwg.org/#event-hashchange 42331. https://html.spec.whatwg.org/#latest-entry 42332. https://html.spec.whatwg.org/#nav-active-history-entry 42333. https://html.spec.whatwg.org/#update-the-navigation-api-entries-for-a-same-document-navigation 42334. https://html.spec.whatwg.org/#concept-relevant-global 42335. https://html.spec.whatwg.org/#window-navigation-api 42336. https://html.spec.whatwg.org/#nav-traversable 42337. https://html.spec.whatwg.org/#tn-append-session-history-sync-nav-steps 42338. https://html.spec.whatwg.org/#finalize-a-same-document-navigation 42339. https://html.spec.whatwg.org/#uni-none 42340. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-history-updated 42341. https://html.spec.whatwg.org/#navigate-fragid 42342. https://html.spec.whatwg.org/#url-and-history-update-steps 42343. https://html.spec.whatwg.org/#update-document-for-history-step-application 42344. https://html.spec.whatwg.org/#url-and-history-update-steps 42345. https://github.com/whatwg/html/issues/5562 42346. https://html.spec.whatwg.org/#event-popstate 42347. https://html.spec.whatwg.org/#dom-history-pushstate 42348. https://html.spec.whatwg.org/#history 42349. https://html.spec.whatwg.org/#navigating-across-documents 42350. https://html.spec.whatwg.org/#reloading-and-traversing 42351. https://html.spec.whatwg.org/#session-history-entry 42352. https://html.spec.whatwg.org/#she-document 42353. https://html.spec.whatwg.org/#navigable 42354. https://html.spec.whatwg.org/#note-navigate-called-with-response 42355. https://html.spec.whatwg.org/#document-state-resource 42356. https://html.spec.whatwg.org/#session-history-entry 42357. https://html.spec.whatwg.org/#create-navigation-params-by-fetching 42358. https://html.spec.whatwg.org/#navigable 42359. https://html.spec.whatwg.org/#nav-document 42360. https://html.spec.whatwg.org/#document 42361. https://html.spec.whatwg.org/#session-history-entry 42362. https://html.spec.whatwg.org/#read-ua-inline 42363. https://html.spec.whatwg.org/#session-history-entry 42364. https://html.spec.whatwg.org/#navigable 42365. https://w3c.github.io/navigation-timing/#dom-navigationtimingtype 42366. https://html.spec.whatwg.org/#source-snapshot-params 42367. https://html.spec.whatwg.org/#target-snapshot-params 42368. https://html.spec.whatwg.org/#user-navigation-involvement 42369. https://html.spec.whatwg.org/#navigation-id 42370. https://html.spec.whatwg.org/#navigation-params 42371. https://infra.spec.whatwg.org/#assert 42372. https://html.spec.whatwg.org/#in-parallel 42373. https://infra.spec.whatwg.org/#assert 42374. https://html.spec.whatwg.org/#navigation-params-response 42375. https://html.spec.whatwg.org/#she-document-state 42376. https://html.spec.whatwg.org/#document-state-resource 42377. https://html.spec.whatwg.org/#create-navigation-params-from-a-srcdoc-resource 42378. https://html.spec.whatwg.org/#she-url 42379. https://url.spec.whatwg.org/#concept-url-scheme 42380. https://fetch.spec.whatwg.org/#fetch-scheme 42381. https://html.spec.whatwg.org/#post-resource-request-body 42382. https://html.spec.whatwg.org/#create-navigation-params-by-fetching 42383. https://html.spec.whatwg.org/#she-url 42384. https://url.spec.whatwg.org/#concept-url-scheme 42385. https://fetch.spec.whatwg.org/#fetch-scheme 42386. https://html.spec.whatwg.org/#non-fetch-scheme-navigation-params 42387. https://html.spec.whatwg.org/#non-fetch-scheme-params-id 42388. https://html.spec.whatwg.org/#non-fetch-scheme-params-navigable 42389. https://html.spec.whatwg.org/#non-fetch-scheme-params-url 42390. https://html.spec.whatwg.org/#she-url 42391. https://html.spec.whatwg.org/#non-fetch-scheme-params-target-sandbox 42392. https://html.spec.whatwg.org/#target-snapshot-params-sandbox 42393. https://html.spec.whatwg.org/#non-fetch-scheme-params-source-activation 42394. https://html.spec.whatwg.org/#source-snapshot-params-activation 42395. https://html.spec.whatwg.org/#non-fetch-scheme-params-initiator-origin 42396. https://html.spec.whatwg.org/#she-document-state 42397. https://html.spec.whatwg.org/#document-state-initiator-origin 42398. https://html.spec.whatwg.org/#non-fetch-scheme-params-nav-timing-type 42399. https://html.spec.whatwg.org/#non-fetch-scheme-params-user-involvement 42400. https://html.spec.whatwg.org/#queue-a-global-task 42401. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 42402. https://html.spec.whatwg.org/#active-window 42403. https://html.spec.whatwg.org/#ongoing-navigation 42404. https://html.spec.whatwg.org/#she-document-state 42405. https://html.spec.whatwg.org/#document-state-document 42406. https://html.spec.whatwg.org/#document 42407. https://html.spec.whatwg.org/#document-state-document 42408. https://html.spec.whatwg.org/#note-bfcache 42409. https://html.spec.whatwg.org/#document 42410. https://html.spec.whatwg.org/#non-fetch-scheme-navigation-params 42411. https://html.spec.whatwg.org/#she-document-state 42412. https://html.spec.whatwg.org/#document-state-document 42413. https://html.spec.whatwg.org/#attempt-to-create-a-non-fetch-scheme-document 42414. https://html.spec.whatwg.org/#she-document-state 42415. https://html.spec.whatwg.org/#document-state-document 42416. https://html.spec.whatwg.org/#hand-off-to-external-software 42417. https://w3c.github.io/webappsec-csp/#should-block-navigation-response 42418. https://html.spec.whatwg.org/#navigation-params-request 42419. https://html.spec.whatwg.org/#navigation-params-response 42420. https://html.spec.whatwg.org/#navigation-params-policy-container 42421. https://html.spec.whatwg.org/#policy-container-csp-list 42422. https://html.spec.whatwg.org/#navigation-params-reserved-environment 42423. https://html.spec.whatwg.org/#check-a-navigation-response's-adherence-to-its-embedder-policy 42424. https://html.spec.whatwg.org/#navigation-params-response 42425. https://html.spec.whatwg.org/#navigation-params-policy-container 42426. https://html.spec.whatwg.org/#policy-container-embedder-policy 42427. https://html.spec.whatwg.org/#check-a-navigation-response's-adherence-to-x-frame-options 42428. https://html.spec.whatwg.org/#navigation-params-response 42429. https://html.spec.whatwg.org/#navigation-params-policy-container 42430. https://html.spec.whatwg.org/#policy-container-csp-list 42431. https://html.spec.whatwg.org/#navigation-params-origin 42432. https://html.spec.whatwg.org/#she-document-state 42433. https://html.spec.whatwg.org/#document-state-document 42434. https://html.spec.whatwg.org/#read-ua-inline 42435. https://html.spec.whatwg.org/#make-document-unsalvageable 42436. https://html.spec.whatwg.org/#she-document-state 42437. https://html.spec.whatwg.org/#document-state-document 42438. https://html.spec.whatwg.org/#blocking-navigation-failure 42439. https://html.spec.whatwg.org/#environment-discarding-steps 42440. https://html.spec.whatwg.org/#navigation-params-reserved-environment 42441. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-failed 42442. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-status 42443. https://w3c.github.io/webdriver-bidi/#navigation-status-id 42444. https://w3c.github.io/webdriver-bidi/#navigation-status-status 42445. https://w3c.github.io/webdriver-bidi/#navigation-status-canceled 42446. https://w3c.github.io/webdriver-bidi/#navigation-status-url 42447. https://html.spec.whatwg.org/#navigation-params-response 42448. https://fetch.spec.whatwg.org/#concept-response-url 42449. https://html.spec.whatwg.org/#navigation-params-response 42450. https://httpwg.org/specs/rfc6266.html 42451. https://html.spec.whatwg.org/#source-snapshot-params-download 42452. https://html.spec.whatwg.org/#navigation-params-sandboxing 42453. https://html.spec.whatwg.org/#sandboxed-downloads-browsing-context-flag 42454. https://html.spec.whatwg.org/#handle-as-a-download 42455. https://html.spec.whatwg.org/#navigation-params-response 42456. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-download-started 42457. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-status 42458. https://w3c.github.io/webdriver-bidi/#navigation-status-id 42459. https://w3c.github.io/webdriver-bidi/#navigation-status-status 42460. https://w3c.github.io/webdriver-bidi/#navigation-status-complete 42461. https://w3c.github.io/webdriver-bidi/#navigation-status-url 42462. https://html.spec.whatwg.org/#navigation-params-response 42463. https://fetch.spec.whatwg.org/#concept-response-url 42464. https://w3c.github.io/webdriver-bidi/#navigation-status-suggested-filename 42465. https://html.spec.whatwg.org/#she-document-state 42466. https://html.spec.whatwg.org/#document-state-document 42467. https://html.spec.whatwg.org/#navigation-params-response 42468. https://fetch.spec.whatwg.org/#concept-response-status 42469. https://html.spec.whatwg.org/#she-document-state 42470. https://html.spec.whatwg.org/#document-state-document 42471. https://html.spec.whatwg.org/#loading-a-document 42472. https://html.spec.whatwg.org/#she-document-state 42473. https://html.spec.whatwg.org/#document-state-initiator-origin 42474. https://html.spec.whatwg.org/#she-document-state 42475. https://html.spec.whatwg.org/#document-state-document 42476. https://html.spec.whatwg.org/#hand-off-to-external-software 42477. https://html.spec.whatwg.org/#she-document-state 42478. https://html.spec.whatwg.org/#document-state-document 42479. https://html.spec.whatwg.org/#she-document-state 42480. https://html.spec.whatwg.org/#document-state-ever-populated 42481. https://html.spec.whatwg.org/#she-document-state 42482. https://html.spec.whatwg.org/#document-state-document 42483. https://html.spec.whatwg.org/#she-document-state 42484. https://html.spec.whatwg.org/#document-state-origin 42485. https://dom.spec.whatwg.org/#concept-document-origin 42486. https://dom.spec.whatwg.org/#concept-document-url 42487. https://html.spec.whatwg.org/#requires-storing-the-policy-container-in-history 42488. https://infra.spec.whatwg.org/#assert 42489. https://html.spec.whatwg.org/#navigation-params 42490. https://html.spec.whatwg.org/#non-fetch-scheme-navigation-params 42491. https://html.spec.whatwg.org/#she-document-state 42492. https://html.spec.whatwg.org/#document-state-history-policy-container 42493. https://html.spec.whatwg.org/#navigation-params-policy-container 42494. https://html.spec.whatwg.org/#she-document-state 42495. https://html.spec.whatwg.org/#document-state-request-referrer 42496. https://html.spec.whatwg.org/#navigation-params 42497. https://html.spec.whatwg.org/#non-fetch-scheme-navigation-params 42498. https://infra.spec.whatwg.org/#assert 42499. https://html.spec.whatwg.org/#navigation-params-request 42500. https://html.spec.whatwg.org/#she-document-state 42501. https://html.spec.whatwg.org/#document-state-request-referrer 42502. https://html.spec.whatwg.org/#navigation-params-request 42503. https://fetch.spec.whatwg.org/#concept-request-referrer 42504. https://html.spec.whatwg.org/#session-history-entry 42505. https://html.spec.whatwg.org/#navigable 42506. https://html.spec.whatwg.org/#target-snapshot-params 42507. https://html.spec.whatwg.org/#user-navigation-involvement 42508. https://html.spec.whatwg.org/#navigation-id 42509. https://w3c.github.io/navigation-timing/#dom-navigationtimingtype 42510. https://html.spec.whatwg.org/#she-document-state 42511. https://html.spec.whatwg.org/#document-state-resource 42512. https://fetch.spec.whatwg.org/#concept-response 42513. https://fetch.spec.whatwg.org/#concept-response-url 42514. https://html.spec.whatwg.org/#about:srcdoc 42515. https://fetch.spec.whatwg.org/#concept-response-header-list 42516. https://html.spec.whatwg.org/#content-type 42517. https://fetch.spec.whatwg.org/#concept-response-body 42518. https://encoding.spec.whatwg.org/#utf-8-encode 42519. https://fetch.spec.whatwg.org/#byte-sequence-as-a-body 42520. https://html.spec.whatwg.org/#determining-the-origin 42521. https://fetch.spec.whatwg.org/#concept-response-url 42522. https://html.spec.whatwg.org/#target-snapshot-params-sandbox 42523. https://html.spec.whatwg.org/#she-document-state 42524. https://html.spec.whatwg.org/#document-state-origin 42525. https://html.spec.whatwg.org/#cross-origin-opener-policy 42526. https://html.spec.whatwg.org/#coop-enforcement-result 42527. https://html.spec.whatwg.org/#coop-enforcement-url 42528. https://fetch.spec.whatwg.org/#concept-response-url 42529. https://html.spec.whatwg.org/#coop-enforcement-origin 42530. https://html.spec.whatwg.org/#coop-enforcement-coop 42531. https://html.spec.whatwg.org/#determining-navigation-params-policy-container 42532. https://fetch.spec.whatwg.org/#concept-response-url 42533. https://html.spec.whatwg.org/#she-document-state 42534. https://html.spec.whatwg.org/#document-state-history-policy-container 42535. https://html.spec.whatwg.org/#nav-container-document 42536. https://html.spec.whatwg.org/#concept-document-policy-container 42537. https://html.spec.whatwg.org/#navigation-params 42538. https://html.spec.whatwg.org/#navigation-params-id 42539. https://html.spec.whatwg.org/#navigation-params-navigable 42540. https://html.spec.whatwg.org/#navigation-params-request 42541. https://html.spec.whatwg.org/#navigation-params-response 42542. https://html.spec.whatwg.org/#navigation-params-fetch-controller 42543. https://html.spec.whatwg.org/#navigation-params-commit-early-hints 42544. https://html.spec.whatwg.org/#navigation-params-coop-enforcement-result 42545. https://html.spec.whatwg.org/#navigation-params-reserved-environment 42546. https://html.spec.whatwg.org/#navigation-params-origin 42547. https://html.spec.whatwg.org/#navigation-params-policy-container 42548. https://html.spec.whatwg.org/#navigation-params-sandboxing 42549. https://html.spec.whatwg.org/#target-snapshot-params-sandbox 42550. https://html.spec.whatwg.org/#navigation-params-coop 42551. https://html.spec.whatwg.org/#navigation-params-nav-timing-type 42552. https://html.spec.whatwg.org/#navigation-params-about-base-url 42553. https://html.spec.whatwg.org/#she-document-state 42554. https://html.spec.whatwg.org/#document-state-about-base-url 42555. https://html.spec.whatwg.org/#navigation-params-user-involvement 42556. https://html.spec.whatwg.org/#session-history-entry 42557. https://html.spec.whatwg.org/#navigable 42558. https://html.spec.whatwg.org/#source-snapshot-params 42559. https://html.spec.whatwg.org/#target-snapshot-params 42560. https://html.spec.whatwg.org/#user-navigation-involvement 42561. https://html.spec.whatwg.org/#navigation-id 42562. https://w3c.github.io/navigation-timing/#dom-navigationtimingtype 42563. https://html.spec.whatwg.org/#navigation-params 42564. https://html.spec.whatwg.org/#non-fetch-scheme-navigation-params 42565. https://infra.spec.whatwg.org/#assert 42566. https://html.spec.whatwg.org/#in-parallel 42567. https://html.spec.whatwg.org/#she-document-state 42568. https://html.spec.whatwg.org/#document-state-resource 42569. https://fetch.spec.whatwg.org/#concept-request 42570. https://fetch.spec.whatwg.org/#concept-request-url 42571. https://html.spec.whatwg.org/#she-url 42572. https://fetch.spec.whatwg.org/#concept-request-client 42573. https://html.spec.whatwg.org/#source-snapshot-params-client 42574. https://fetch.spec.whatwg.org/#concept-request-destination 42575. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 42576. https://fetch.spec.whatwg.org/#concept-request-use-url-credentials-flag 42577. https://fetch.spec.whatwg.org/#concept-request-redirect-mode 42578. https://fetch.spec.whatwg.org/#concept-request-replaces-client-id 42579. https://html.spec.whatwg.org/#nav-document 42580. https://html.spec.whatwg.org/#relevant-settings-object 42581. https://html.spec.whatwg.org/#concept-environment-id 42582. https://fetch.spec.whatwg.org/#concept-request-mode 42583. https://fetch.spec.whatwg.org/#concept-request-referrer 42584. https://html.spec.whatwg.org/#she-document-state 42585. https://html.spec.whatwg.org/#document-state-request-referrer 42586. https://fetch.spec.whatwg.org/#concept-request-referrer-policy 42587. https://html.spec.whatwg.org/#she-document-state 42588. https://html.spec.whatwg.org/#document-state-request-referrer-policy 42589. https://fetch.spec.whatwg.org/#concept-request-policy-container 42590. https://html.spec.whatwg.org/#source-snapshot-params-policy-container 42591. https://html.spec.whatwg.org/#post-resource 42592. https://fetch.spec.whatwg.org/#concept-request-method 42593. https://fetch.spec.whatwg.org/#concept-request-body 42594. https://html.spec.whatwg.org/#post-resource-request-body 42595. https://fetch.spec.whatwg.org/#concept-header-list-set 42596. https://html.spec.whatwg.org/#post-resource-request-content-type 42597. https://fetch.spec.whatwg.org/#concept-request-header-list 42598. https://html.spec.whatwg.org/#she-document-state 42599. https://html.spec.whatwg.org/#document-state-reload-pending 42600. https://fetch.spec.whatwg.org/#concept-request-reload-navigation-flag 42601. https://html.spec.whatwg.org/#she-document-state 42602. https://html.spec.whatwg.org/#document-state-ever-populated 42603. https://fetch.spec.whatwg.org/#concept-request-history-navigation-flag 42604. https://html.spec.whatwg.org/#source-snapshot-params-activation 42605. https://fetch.spec.whatwg.org/#request-user-activation 42606. https://html.spec.whatwg.org/#nav-container 42607. https://html.spec.whatwg.org/#nav-container 42608. https://html.spec.whatwg.org/#browsing-context-scope-origin 42609. https://fetch.spec.whatwg.org/#concept-request-origin 42610. https://html.spec.whatwg.org/#browsing-context-scope-origin 42611. https://fetch.spec.whatwg.org/#concept-request-destination 42612. https://html.spec.whatwg.org/#nav-container 42613. https://dom.spec.whatwg.org/#concept-element-local-name 42614. https://html.spec.whatwg.org/#source-snapshot-params-client 42615. https://html.spec.whatwg.org/#nav-container-document 42616. https://html.spec.whatwg.org/#relevant-settings-object 42617. https://fetch.spec.whatwg.org/#request-initiator-type 42618. https://html.spec.whatwg.org/#nav-container 42619. https://dom.spec.whatwg.org/#concept-element-local-name 42620. https://html.spec.whatwg.org/#coop-enforcement-result 42621. https://html.spec.whatwg.org/#coop-enforcement-url 42622. https://html.spec.whatwg.org/#nav-document 42623. https://dom.spec.whatwg.org/#concept-document-url 42624. https://html.spec.whatwg.org/#coop-enforcement-origin 42625. https://html.spec.whatwg.org/#nav-document 42626. https://dom.spec.whatwg.org/#concept-document-origin 42627. https://html.spec.whatwg.org/#coop-enforcement-coop 42628. https://html.spec.whatwg.org/#nav-document 42629. https://html.spec.whatwg.org/#concept-document-coop 42630. https://html.spec.whatwg.org/#coop-enforcement-source 42631. https://html.spec.whatwg.org/#nav-document 42632. https://dom.spec.whatwg.org/#concept-document-origin 42633. https://html.spec.whatwg.org/#same-origin 42634. https://html.spec.whatwg.org/#she-document-state 42635. https://html.spec.whatwg.org/#document-state-initiator-origin 42636. https://html.spec.whatwg.org/#sandboxing-flag-set 42637. https://html.spec.whatwg.org/#cross-origin-opener-policy 42638. https://fetch.spec.whatwg.org/#concept-request-current-url 42639. https://fetch.spec.whatwg.org/#concept-request-reserved-client 42640. https://url.spec.whatwg.org/#concept-url-origin 42641. https://html.spec.whatwg.org/#same-origin 42642. https://fetch.spec.whatwg.org/#concept-request-reserved-client 42643. https://html.spec.whatwg.org/#concept-environment-creation-url 42644. https://url.spec.whatwg.org/#concept-url-origin 42645. https://html.spec.whatwg.org/#environment-discarding-steps 42646. https://fetch.spec.whatwg.org/#concept-request-reserved-client 42647. https://fetch.spec.whatwg.org/#concept-request-reserved-client 42648. https://html.spec.whatwg.org/#early-hints-2 42649. https://html.spec.whatwg.org/#same-origin 42650. https://fetch.spec.whatwg.org/#concept-request-reserved-client 42651. https://html.spec.whatwg.org/#top-level-traversable 42652. https://html.spec.whatwg.org/#nav-parent 42653. https://html.spec.whatwg.org/#nav-document 42654. https://html.spec.whatwg.org/#relevant-settings-object 42655. https://html.spec.whatwg.org/#concept-environment-top-level-creation-url 42656. https://html.spec.whatwg.org/#concept-environment-top-level-origin 42657. https://fetch.spec.whatwg.org/#concept-request-reserved-client 42658. https://html.spec.whatwg.org/#environment 42659. https://html.spec.whatwg.org/#concept-environment-id 42660. https://html.spec.whatwg.org/#concept-environment-target-browsing-context 42661. https://html.spec.whatwg.org/#nav-bc 42662. https://html.spec.whatwg.org/#concept-environment-creation-url 42663. https://html.spec.whatwg.org/#concept-environment-top-level-creation-url 42664. https://html.spec.whatwg.org/#concept-environment-top-level-origin 42665. https://html.spec.whatwg.org/#concept-environment-active-service-worker 42666. https://w3c.github.io/ServiceWorker/#on-fetch-request-algorithm 42667. https://html.spec.whatwg.org/#refsSW 42668. https://w3c.github.io/webappsec-csp/#should-block-navigation-request 42669. https://fetch.spec.whatwg.org/#concept-network-error 42670. https://infra.spec.whatwg.org/#iteration-break 42671. https://html.spec.whatwg.org/#refsCSP 42672. https://fetch.spec.whatwg.org/#concept-fetch 42673. https://fetch.spec.whatwg.org/#fetch-processearlyhintsresponse 42674. https://fetch.spec.whatwg.org/#process-response 42675. https://fetch.spec.whatwg.org/#fetch-useparallelqueue 42676. https://fetch.spec.whatwg.org/#concept-response 42677. https://html.spec.whatwg.org/#process-early-hint-headers 42678. https://fetch.spec.whatwg.org/#concept-request-reserved-client 42679. https://fetch.spec.whatwg.org/#concept-response 42680. https://fetch.spec.whatwg.org/#fetch-controller-process-the-next-manual-redirect 42681. https://fetch.spec.whatwg.org/#process-response 42682. https://www.rfc-editor.org/rfc/rfc6068#section-2 42683. https://html.spec.whatwg.org/#ongoing-navigation 42684. https://fetch.spec.whatwg.org/#fetch-controller-abort 42685. https://fetch.spec.whatwg.org/#concept-request-body 42686. https://html.spec.whatwg.org/#she-document-state 42687. https://html.spec.whatwg.org/#document-state-resource 42688. https://fetch.spec.whatwg.org/#concept-request-body 42689. https://html.spec.whatwg.org/#creating-a-policy-container-from-a-fetch-response 42690. https://fetch.spec.whatwg.org/#concept-request-reserved-client 42691. https://infra.spec.whatwg.org/#set-union 42692. https://html.spec.whatwg.org/#target-snapshot-params-sandbox 42693. https://html.spec.whatwg.org/#policy-container-csp-list 42694. https://html.spec.whatwg.org/#csp-derived-sandboxing-flags 42695. https://html.spec.whatwg.org/#determining-the-origin 42696. https://fetch.spec.whatwg.org/#concept-response-url 42697. https://html.spec.whatwg.org/#she-document-state 42698. https://html.spec.whatwg.org/#document-state-initiator-origin 42699. https://fetch.spec.whatwg.org/#concept-response-url 42700. https://fetch.spec.whatwg.org/#concept-response-location-url 42701. https://fetch.spec.whatwg.org/#concept-response-location-url 42702. https://html.spec.whatwg.org/#top-level-traversable 42703. https://html.spec.whatwg.org/#obtain-coop 42704. https://fetch.spec.whatwg.org/#concept-request-reserved-client 42705. https://html.spec.whatwg.org/#coop-enforce 42706. https://html.spec.whatwg.org/#nav-bc 42707. https://fetch.spec.whatwg.org/#concept-response-url 42708. https://fetch.spec.whatwg.org/#concept-request-referrer 42709. https://html.spec.whatwg.org/#coop-struct-value 42710. https://html.spec.whatwg.org/#coop-unsafe-none 42711. https://fetch.spec.whatwg.org/#concept-network-error 42712. https://infra.spec.whatwg.org/#iteration-break 42713. https://fetch.spec.whatwg.org/#concept-network-error 42714. https://html.spec.whatwg.org/#child-navigable 42715. https://fetch.spec.whatwg.org/#cross-origin-resource-policy-check 42716. https://html.spec.whatwg.org/#nav-container-document 42717. https://dom.spec.whatwg.org/#concept-document-origin 42718. https://html.spec.whatwg.org/#nav-container-document 42719. https://html.spec.whatwg.org/#relevant-settings-object 42720. https://fetch.spec.whatwg.org/#concept-request-destination 42721. https://fetch.spec.whatwg.org/#concept-network-error 42722. https://infra.spec.whatwg.org/#iteration-break 42723. https://fetch.spec.whatwg.org/#cross-origin-resource-policy-check 42724. https://html.spec.whatwg.org/#nav-parent 42725. https://fetch.spec.whatwg.org/#concept-response-location-url 42726. https://url.spec.whatwg.org/#concept-url-fragment 42727. https://infra.spec.whatwg.org/#iteration-break 42728. https://infra.spec.whatwg.org/#assert 42729. https://url.spec.whatwg.org/#concept-url 42730. https://html.spec.whatwg.org/#she-classic-history-api-state 42731. https://html.spec.whatwg.org/#structuredserializeforstorage 42732. https://html.spec.whatwg.org/#she-document-state 42733. https://html.spec.whatwg.org/#she-document-state 42734. https://html.spec.whatwg.org/#document-state-2 42735. https://html.spec.whatwg.org/#document-state-history-policy-container 42736. https://html.spec.whatwg.org/#clone-a-policy-container 42737. https://html.spec.whatwg.org/#document-state-history-policy-container 42738. https://html.spec.whatwg.org/#document-state-request-referrer 42739. https://html.spec.whatwg.org/#document-state-request-referrer 42740. https://html.spec.whatwg.org/#document-state-request-referrer-policy 42741. https://html.spec.whatwg.org/#document-state-request-referrer-policy 42742. https://html.spec.whatwg.org/#document-state-initiator-origin 42743. https://html.spec.whatwg.org/#document-state-initiator-origin 42744. https://html.spec.whatwg.org/#document-state-origin 42745. https://html.spec.whatwg.org/#document-state-origin 42746. https://html.spec.whatwg.org/#document-state-about-base-url 42747. https://html.spec.whatwg.org/#document-state-about-base-url 42748. https://html.spec.whatwg.org/#document-state-resource 42749. https://html.spec.whatwg.org/#document-state-resource 42750. https://html.spec.whatwg.org/#document-state-ever-populated 42751. https://html.spec.whatwg.org/#document-state-ever-populated 42752. https://html.spec.whatwg.org/#document-state-nav-target-name 42753. https://html.spec.whatwg.org/#document-state-nav-target-name 42754. https://html.spec.whatwg.org/#navigation-create-document-state 42755. https://html.spec.whatwg.org/#she-document-state 42756. https://html.spec.whatwg.org/#session-history-entry 42757. https://html.spec.whatwg.org/#she-document-state 42758. https://html.spec.whatwg.org/#document-state-history-policy-container 42759. https://html.spec.whatwg.org/#requires-storing-the-policy-container-in-history 42760. https://html.spec.whatwg.org/#jake-diagram 42761. https://html.spec.whatwg.org/#she-document-state 42762. https://html.spec.whatwg.org/#document-state-document 42763. https://html.spec.whatwg.org/#note-bfcache 42764. https://infra.spec.whatwg.org/#iteration-break 42765. https://html.spec.whatwg.org/#she-document-state 42766. https://html.spec.whatwg.org/#session-history-entry 42767. https://html.spec.whatwg.org/#jake-diagram 42768. https://url.spec.whatwg.org/#concept-url-scheme 42769. https://fetch.spec.whatwg.org/#http-scheme 42770. https://html.spec.whatwg.org/#she-document-state 42771. https://html.spec.whatwg.org/#document-state-resource 42772. https://infra.spec.whatwg.org/#iteration-break 42773. https://html.spec.whatwg.org/#she-url 42774. https://fetch.spec.whatwg.org/#concept-network-error 42775. https://fetch.spec.whatwg.org/#concept-network-error 42776. https://url.spec.whatwg.org/#concept-url 42777. https://fetch.spec.whatwg.org/#http-scheme 42778. https://url.spec.whatwg.org/#concept-url-scheme 42779. https://url.spec.whatwg.org/#concept-url 42780. https://url.spec.whatwg.org/#concept-url-scheme 42781. https://fetch.spec.whatwg.org/#fetch-scheme 42782. https://html.spec.whatwg.org/#non-fetch-scheme-navigation-params 42783. https://html.spec.whatwg.org/#non-fetch-scheme-params-id 42784. https://html.spec.whatwg.org/#non-fetch-scheme-params-navigable 42785. https://html.spec.whatwg.org/#non-fetch-scheme-params-url 42786. https://html.spec.whatwg.org/#non-fetch-scheme-params-target-sandbox 42787. https://html.spec.whatwg.org/#target-snapshot-params-sandbox 42788. https://html.spec.whatwg.org/#non-fetch-scheme-params-source-activation 42789. https://html.spec.whatwg.org/#source-snapshot-params-activation 42790. https://html.spec.whatwg.org/#non-fetch-scheme-params-initiator-origin 42791. https://html.spec.whatwg.org/#non-fetch-scheme-params-nav-timing-type 42792. https://html.spec.whatwg.org/#non-fetch-scheme-params-user-involvement 42793. https://fetch.spec.whatwg.org/#concept-request-current-url 42794. https://url.spec.whatwg.org/#concept-url 42795. https://fetch.spec.whatwg.org/#fetch-scheme 42796. https://url.spec.whatwg.org/#concept-url-scheme 42797. https://fetch.spec.whatwg.org/#fetch-scheme 42798. https://url.spec.whatwg.org/#concept-url 42799. https://url.spec.whatwg.org/#concept-url 42800. https://url.spec.whatwg.org/#concept-url-origin 42801. https://fetch.spec.whatwg.org/#fetch-scheme 42802. https://url.spec.whatwg.org/#concept-url 42803. https://fetch.spec.whatwg.org/#concept-network-error 42804. https://url.spec.whatwg.org/#concept-url 42805. https://url.spec.whatwg.org/#concept-url-scheme 42806. https://fetch.spec.whatwg.org/#fetch-scheme 42807. https://fetch.spec.whatwg.org/#fetch-scheme 42808. https://url.spec.whatwg.org/#concept-url 42809. https://fetch.spec.whatwg.org/#fetch-scheme 42810. https://url.spec.whatwg.org/#concept-url 42811. https://fetch.spec.whatwg.org/#http-scheme 42812. https://infra.spec.whatwg.org/#assert 42813. https://fetch.spec.whatwg.org/#concept-network-error 42814. https://html.spec.whatwg.org/#determining-navigation-params-policy-container 42815. https://fetch.spec.whatwg.org/#concept-response-url 42816. https://html.spec.whatwg.org/#she-document-state 42817. https://html.spec.whatwg.org/#document-state-history-policy-container 42818. https://html.spec.whatwg.org/#source-snapshot-params-policy-container 42819. https://html.spec.whatwg.org/#nav-container 42820. https://html.spec.whatwg.org/#the-iframe-element 42821. https://fetch.spec.whatwg.org/#concept-response-timing-allow-passed 42822. https://html.spec.whatwg.org/#nav-container 42823. https://html.spec.whatwg.org/#iframe-pending-resource-timing-start-time 42824. https://html.spec.whatwg.org/#the-iframe-element 42825. https://html.spec.whatwg.org/#navigation-params 42826. https://html.spec.whatwg.org/#navigation-params-id 42827. https://html.spec.whatwg.org/#navigation-params-navigable 42828. https://html.spec.whatwg.org/#navigation-params-request 42829. https://html.spec.whatwg.org/#navigation-params-response 42830. https://html.spec.whatwg.org/#navigation-params-fetch-controller 42831. https://html.spec.whatwg.org/#navigation-params-commit-early-hints 42832. https://html.spec.whatwg.org/#navigation-params-coop 42833. https://html.spec.whatwg.org/#navigation-params-reserved-environment 42834. https://fetch.spec.whatwg.org/#concept-request-reserved-client 42835. https://html.spec.whatwg.org/#navigation-params-origin 42836. https://html.spec.whatwg.org/#navigation-params-policy-container 42837. https://html.spec.whatwg.org/#navigation-params-sandboxing 42838. https://html.spec.whatwg.org/#navigation-params-coop-enforcement-result 42839. https://html.spec.whatwg.org/#navigation-params-nav-timing-type 42840. https://html.spec.whatwg.org/#navigation-params-about-base-url 42841. https://html.spec.whatwg.org/#she-document-state 42842. https://html.spec.whatwg.org/#document-state-about-base-url 42843. https://html.spec.whatwg.org/#navigation-params-user-involvement 42844. https://html.spec.whatwg.org/#document 42845. https://html.spec.whatwg.org/#node-navigable 42846. https://html.spec.whatwg.org/#top-level-traversable 42847. https://html.spec.whatwg.org/#document 42848. https://html.spec.whatwg.org/#ancestor-navigables 42849. https://html.spec.whatwg.org/#nav-document 42850. https://dom.spec.whatwg.org/#concept-document-origin 42851. https://html.spec.whatwg.org/#same-origin 42852. https://dom.spec.whatwg.org/#concept-node-document 42853. https://dom.spec.whatwg.org/#concept-document-origin 42854. https://html.spec.whatwg.org/#browsing-context-scope-origin 42855. https://dom.spec.whatwg.org/#concept-document-origin 42856. https://dom.spec.whatwg.org/#concept-node-document 42857. https://github.com/whatwg/html/issues/4703 42858. https://html.spec.whatwg.org/#navigation-params 42859. https://html.spec.whatwg.org/#source-snapshot-params 42860. https://html.spec.whatwg.org/#concept-origin 42861. https://html.spec.whatwg.org/#document 42862. https://mimesniff.spec.whatwg.org/#computed-mime-type 42863. https://html.spec.whatwg.org/#navigation-params-response 42864. https://html.spec.whatwg.org/#navigable 42865. https://mimesniff.spec.whatwg.org/#html-mime-type 42866. https://html.spec.whatwg.org/#navigate-html 42867. https://mimesniff.spec.whatwg.org/#xml-mime-type 42868. https://html.spec.whatwg.org/#explicitly-supported-xml-mime-type 42869. https://html.spec.whatwg.org/#read-xml 42870. https://mimesniff.spec.whatwg.org/#javascript-mime-type 42871. https://mimesniff.spec.whatwg.org/#json-mime-type 42872. https://html.spec.whatwg.org/#explicitly-supported-json-mime-type 42873. https://html.spec.whatwg.org/#text/css 42874. https://www.rfc-editor.org/rfc/rfc2046#section-4.1.3 42875. https://html.spec.whatwg.org/#text/vtt 42876. https://html.spec.whatwg.org/#navigate-text 42877. https://html.spec.whatwg.org/#multipart/x-mixed-replace 42878. https://html.spec.whatwg.org/#navigate-multipart-x-mixed-replace 42879. https://html.spec.whatwg.org/#navigate-media 42880. https://html.spec.whatwg.org/#pdf-viewer-supported 42881. https://html.spec.whatwg.org/#read-ua-inline 42882. https://html.spec.whatwg.org/#navigation-params-navigable 42883. https://html.spec.whatwg.org/#navigation-params-id 42884. https://html.spec.whatwg.org/#navigation-params-nav-timing-type 42885. https://html.spec.whatwg.org/#navigation-params-user-involvement 42886. https://mimesniff.spec.whatwg.org/#xml-mime-type 42887. https://html.spec.whatwg.org/#application/atom+xml 42888. https://mimesniff.spec.whatwg.org/#json-mime-type 42889. https://html.spec.whatwg.org/#read-ua-inline 42890. https://html.spec.whatwg.org/#navigation-params-navigable 42891. https://html.spec.whatwg.org/#hand-off-to-external-software 42892. https://html.spec.whatwg.org/#read-ua-inline 42893. https://html.spec.whatwg.org/#navigation-params-navigable 42894. https://html.spec.whatwg.org/#navigation-params-id 42895. https://html.spec.whatwg.org/#navigation-params-nav-timing-type 42896. https://html.spec.whatwg.org/#navigation-params-user-involvement 42897. https://html.spec.whatwg.org/#navigation-params-navigable 42898. https://html.spec.whatwg.org/#handle-as-a-download 42899. https://html.spec.whatwg.org/#hand-off-to-external-software 42900. https://html.spec.whatwg.org/#navigation-params-response 42901. https://html.spec.whatwg.org/#navigation-params-navigable 42902. https://html.spec.whatwg.org/#navigation-params-sandboxing 42903. https://html.spec.whatwg.org/#source-snapshot-params-activation 42904. https://html.spec.whatwg.org/#traversable-navigable 42905. https://html.spec.whatwg.org/#document 42906. https://html.spec.whatwg.org/#traversable-navigable 42907. https://html.spec.whatwg.org/#navigable 42908. https://html.spec.whatwg.org/#populating-a-session-history-entry 42909. https://html.spec.whatwg.org/#apply-the-history-step 42910. https://infra.spec.whatwg.org/#struct 42911. https://html.spec.whatwg.org/#document 42912. https://html.spec.whatwg.org/#session-history-entry 42913. https://html.spec.whatwg.org/#navigable 42914. https://html.spec.whatwg.org/#traversable-navigable 42915. https://html.spec.whatwg.org/#apply-the-history-step 42916. https://html.spec.whatwg.org/#traversable-navigable 42917. https://html.spec.whatwg.org/#tn-current-session-history-step 42918. https://html.spec.whatwg.org/#apply-the-history-step 42919. https://html.spec.whatwg.org/#uni-none 42920. https://html.spec.whatwg.org/#traversable-navigable 42921. https://html.spec.whatwg.org/#history-handling-behavior 42922. https://html.spec.whatwg.org/#user-navigation-involvement 42923. https://html.spec.whatwg.org/#apply-the-history-step 42924. https://html.spec.whatwg.org/#apply-the-push/replace-history-step 42925. https://html.spec.whatwg.org/#source-snapshot-params 42926. https://html.spec.whatwg.org/#navigable 42927. https://html.spec.whatwg.org/#apply-the-history-step 42928. https://html.spec.whatwg.org/#navigate 42929. https://html.spec.whatwg.org/#traversable-navigable 42930. https://html.spec.whatwg.org/#user-navigation-involvement 42931. https://html.spec.whatwg.org/#tn-current-session-history-step 42932. https://html.spec.whatwg.org/#apply-the-history-step 42933. https://html.spec.whatwg.org/#dom-navigationtype-reload 42934. https://html.spec.whatwg.org/#apply-the-reload-history-step 42935. https://html.spec.whatwg.org/#source-snapshot-params 42936. https://html.spec.whatwg.org/#navigable 42937. https://html.spec.whatwg.org/#apply-the-history-step 42938. https://html.spec.whatwg.org/#navigable 42939. https://html.spec.whatwg.org/#traversable-navigable 42940. https://html.spec.whatwg.org/#source-snapshot-params 42941. https://html.spec.whatwg.org/#navigable 42942. https://html.spec.whatwg.org/#user-navigation-involvement 42943. https://html.spec.whatwg.org/#apply-the-history-step 42944. https://html.spec.whatwg.org/#dom-navigationtype-traverse 42945. https://html.spec.whatwg.org/#traversable-navigable 42946. https://html.spec.whatwg.org/#source-snapshot-params 42947. https://html.spec.whatwg.org/#navigable 42948. https://html.spec.whatwg.org/#user-navigation-involvement 42949. https://html.spec.whatwg.org/#navigationtype 42950. https://infra.spec.whatwg.org/#assert 42951. https://html.spec.whatwg.org/#tn-session-history-traversal-queue 42952. https://html.spec.whatwg.org/#getting-the-used-step 42953. https://infra.spec.whatwg.org/#assert 42954. https://infra.spec.whatwg.org/#list-iterate 42955. https://html.spec.whatwg.org/#get-all-navigables-whose-current-session-history-entry-will-change-or-reload 42956. https://html.spec.whatwg.org/#allowed-to-navigate 42957. https://html.spec.whatwg.org/#getting-all-navigables-that-might-experience-a-cross-document-traversal 42958. https://html.spec.whatwg.org/#checking-if-unloading-is-canceled 42959. https://html.spec.whatwg.org/#get-all-navigables-whose-current-session-history-entry-will-change-or-reload 42960. https://html.spec.whatwg.org/#getting-all-navigables-that-only-need-history-object-length/index-update 42961. https://infra.spec.whatwg.org/#list-iterate 42962. https://html.spec.whatwg.org/#getting-the-target-history-entry 42963. https://html.spec.whatwg.org/#nav-current-history-entry 42964. https://html.spec.whatwg.org/#set-the-ongoing-navigation 42965. https://infra.spec.whatwg.org/#list-size 42966. https://infra.spec.whatwg.org/#queue 42967. https://html.spec.whatwg.org/#changing-navigable-continuation-state 42968. https://html.spec.whatwg.org/#continuations-dequeue 42969. https://infra.spec.whatwg.org/#list-iterate 42970. https://html.spec.whatwg.org/#queue-a-global-task 42971. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 42972. https://html.spec.whatwg.org/#nav-window 42973. https://html.spec.whatwg.org/#continuations-dequeue 42974. https://html.spec.whatwg.org/#nav-active-history-entry 42975. https://html.spec.whatwg.org/#nav-current-history-entry 42976. https://html.spec.whatwg.org/#changing-navigable-continuation-state 42977. https://html.spec.whatwg.org/#changing-nav-continuation-displayed-document 42978. https://html.spec.whatwg.org/#she-document 42979. https://html.spec.whatwg.org/#changing-nav-continuation-target-entry 42980. https://html.spec.whatwg.org/#changing-nav-continuation-navigable 42981. https://html.spec.whatwg.org/#changing-nav-continuation-update-only 42982. https://html.spec.whatwg.org/#she-document-state 42983. https://html.spec.whatwg.org/#document-state-reload-pending 42984. https://html.spec.whatwg.org/#changing-nav-continuation-update-only 42985. https://infra.spec.whatwg.org/#queue-enqueue 42986. https://html.spec.whatwg.org/#finalize-a-same-document-navigation 42987. https://html.spec.whatwg.org/#nav-active-history-entry 42988. https://html.spec.whatwg.org/#dom-navigationtype-reload 42989. https://infra.spec.whatwg.org/#assert 42990. https://html.spec.whatwg.org/#she-document-state 42991. https://html.spec.whatwg.org/#document-state-reload-pending 42992. https://html.spec.whatwg.org/#dom-navigationtype-traverse 42993. https://infra.spec.whatwg.org/#assert 42994. https://html.spec.whatwg.org/#she-document-state 42995. https://html.spec.whatwg.org/#document-state-ever-populated 42996. https://html.spec.whatwg.org/#dom-navigationtype-replace 42997. https://infra.spec.whatwg.org/#assert 42998. https://html.spec.whatwg.org/#she-step 42999. https://html.spec.whatwg.org/#she-step 43000. https://html.spec.whatwg.org/#she-document-state 43001. https://html.spec.whatwg.org/#document-state-ever-populated 43002. https://html.spec.whatwg.org/#dom-navigationtype-push 43003. https://infra.spec.whatwg.org/#assert 43004. https://html.spec.whatwg.org/#she-step 43005. https://html.spec.whatwg.org/#she-step 43006. https://html.spec.whatwg.org/#she-document-state 43007. https://html.spec.whatwg.org/#document-state-ever-populated 43008. https://html.spec.whatwg.org/#she-document-state 43009. https://html.spec.whatwg.org/#document-state-origin 43010. https://html.spec.whatwg.org/#nav-current-history-entry 43011. https://html.spec.whatwg.org/#same-origin 43012. https://html.spec.whatwg.org/#nav-current-history-entry 43013. https://html.spec.whatwg.org/#she-document-state 43014. https://html.spec.whatwg.org/#document-state-origin 43015. https://html.spec.whatwg.org/#nav-window 43016. https://html.spec.whatwg.org/#window-navigation-api 43017. https://html.spec.whatwg.org/#fire-a-traverse-navigate-event 43018. https://html.spec.whatwg.org/#she-document 43019. https://html.spec.whatwg.org/#she-document-state 43020. https://html.spec.whatwg.org/#document-state-reload-pending 43021. https://w3c.github.io/navigation-timing/#dom-navigationtimingtype-back_forward 43022. https://html.spec.whatwg.org/#she-document 43023. https://w3c.github.io/navigation-timing/#dom-navigationtimingtype-back_forward 43024. https://html.spec.whatwg.org/#snapshotting-target-snapshot-params 43025. https://html.spec.whatwg.org/#snapshotting-source-snapshot-params 43026. https://html.spec.whatwg.org/#nav-document 43027. https://html.spec.whatwg.org/#she-document-state 43028. https://html.spec.whatwg.org/#document-state-initiator-origin 43029. https://html.spec.whatwg.org/#document-state-request-referrer 43030. https://html.spec.whatwg.org/#she-document-state 43031. https://html.spec.whatwg.org/#document-state-reload-pending 43032. https://html.spec.whatwg.org/#she-document-state 43033. https://html.spec.whatwg.org/#document-state-reload-pending 43034. https://html.spec.whatwg.org/#in-parallel 43035. https://html.spec.whatwg.org/#attempt-to-populate-the-history-entry's-document 43036. https://html.spec.whatwg.org/#attempt-to-populate-allow-post 43037. https://html.spec.whatwg.org/#attempt-to-populate-completion-steps 43038. https://html.spec.whatwg.org/#queue-a-global-task 43039. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 43040. https://html.spec.whatwg.org/#nav-window 43041. https://html.spec.whatwg.org/#immediately 43042. https://html.spec.whatwg.org/#she-document 43043. https://html.spec.whatwg.org/#changing-nav-continuation-update-only 43044. https://html.spec.whatwg.org/#navigation-api 43045. https://html.spec.whatwg.org/#navigation-api-method-tracker 43046. https://html.spec.whatwg.org/#event-navigateerror 43047. https://html.spec.whatwg.org/#dom-navigationtransition-finished 43048. https://console.spec.whatwg.org/#report-a-warning-to-the-console 43049. https://html.spec.whatwg.org/#she-document 43050. https://dom.spec.whatwg.org/#concept-document-origin 43051. https://html.spec.whatwg.org/#she-classic-history-api-state 43052. https://html.spec.whatwg.org/#structuredserializeforstorage 43053. https://html.spec.whatwg.org/#nav-parent 43054. https://html.spec.whatwg.org/#she-document 43055. https://html.spec.whatwg.org/#concept-document-bc 43056. https://html.spec.whatwg.org/#auxiliary-browsing-context 43057. https://html.spec.whatwg.org/#opener-browsing-context 43058. https://html.spec.whatwg.org/#she-document 43059. https://dom.spec.whatwg.org/#concept-document-origin 43060. https://html.spec.whatwg.org/#she-document-state 43061. https://html.spec.whatwg.org/#document-state-nav-target-name 43062. https://infra.spec.whatwg.org/#queue-enqueue 43063. https://html.spec.whatwg.org/#continuations-dequeue 43064. https://infra.spec.whatwg.org/#ordered-set 43065. https://html.spec.whatwg.org/#tn-running-nested-apply-history-step 43066. https://html.spec.whatwg.org/#tn-session-history-traversal-queue 43067. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-algorithm-set 43068. https://infra.spec.whatwg.org/#list-contain 43069. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-sync-nav-steps 43070. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-sync-nav-steps-target-nav 43071. https://infra.spec.whatwg.org/#list-contain 43072. https://infra.spec.whatwg.org/#list-item 43073. https://html.spec.whatwg.org/#tn-session-history-traversal-queue 43074. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-algorithm-set 43075. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-sync-nav-steps 43076. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-sync-nav-steps-target-nav 43077. https://infra.spec.whatwg.org/#list-contain 43078. https://infra.spec.whatwg.org/#list-remove 43079. https://html.spec.whatwg.org/#tn-session-history-traversal-queue 43080. https://html.spec.whatwg.org/#session-history-traversal-parallel-queue-algorithm-set 43081. https://html.spec.whatwg.org/#tn-running-nested-apply-history-step 43082. https://html.spec.whatwg.org/#tn-running-nested-apply-history-step 43083. https://html.spec.whatwg.org/#tn-session-history-entries 43084. https://html.spec.whatwg.org/#sync-navigation-steps-queue-jumping-examples 43085. https://infra.spec.whatwg.org/#queue-dequeue 43086. https://infra.spec.whatwg.org/#iteration-continue 43087. https://html.spec.whatwg.org/#changing-nav-continuation-displayed-document 43088. https://html.spec.whatwg.org/#changing-nav-continuation-target-entry 43089. https://html.spec.whatwg.org/#changing-nav-continuation-navigable 43090. https://html.spec.whatwg.org/#getting-the-history-object-length-and-index 43091. https://infra.spec.whatwg.org/#list-append 43092. https://html.spec.whatwg.org/#sync-navigation-steps-queue-jumping-examples 43093. https://html.spec.whatwg.org/#getting-session-history-entries-for-the-navigation-api 43094. https://html.spec.whatwg.org/#changing-nav-continuation-update-only 43095. https://html.spec.whatwg.org/#she-document 43096. https://html.spec.whatwg.org/#set-the-ongoing-navigation 43097. https://html.spec.whatwg.org/#navigate 43098. https://html.spec.whatwg.org/#queue-a-global-task 43099. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 43100. https://html.spec.whatwg.org/#nav-window 43101. https://infra.spec.whatwg.org/#assert 43102. https://html.spec.whatwg.org/#deactivate-a-document-for-a-cross-document-navigation 43103. https://html.spec.whatwg.org/#nav-active-history-entry 43104. https://html.spec.whatwg.org/#changing-nav-continuation-update-only 43105. https://html.spec.whatwg.org/#activate-history-entry 43106. https://html.spec.whatwg.org/#update-document-for-history-step-application 43107. https://html.spec.whatwg.org/#she-document 43108. https://html.spec.whatwg.org/#changing-nav-continuation-update-only 43109. https://html.spec.whatwg.org/#she-document 43110. https://html.spec.whatwg.org/#queue-a-global-task 43111. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 43112. https://html.spec.whatwg.org/#she-document 43113. https://html.spec.whatwg.org/#concept-relevant-global 43114. https://infra.spec.whatwg.org/#list-size 43115. https://html.spec.whatwg.org/#sync-navigations-jump-queue 43116. https://html.spec.whatwg.org/#getting-the-history-object-length-and-index 43117. https://infra.spec.whatwg.org/#list-iterate 43118. https://html.spec.whatwg.org/#queue-a-global-task 43119. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 43120. https://html.spec.whatwg.org/#nav-window 43121. https://html.spec.whatwg.org/#nav-document 43122. https://html.spec.whatwg.org/#doc-history 43123. https://html.spec.whatwg.org/#concept-history-index 43124. https://html.spec.whatwg.org/#doc-history 43125. https://html.spec.whatwg.org/#concept-history-length 43126. https://html.spec.whatwg.org/#tn-current-session-history-step 43127. https://html.spec.whatwg.org/#document 43128. https://html.spec.whatwg.org/#user-navigation-involvement 43129. https://html.spec.whatwg.org/#session-history-entry 43130. https://html.spec.whatwg.org/#navigationtype 43131. https://html.spec.whatwg.org/#node-navigable 43132. https://html.spec.whatwg.org/#uni-browser-ui 43133. https://drafts.csswg.org/css-view-transitions-2/#can-navigation-trigger-a-cross-document-view-transition 43134. https://html.spec.whatwg.org/#she-document 43135. https://html.spec.whatwg.org/#fire-the-pageswap-event 43136. https://html.spec.whatwg.org/#set-the-ongoing-navigation 43137. https://html.spec.whatwg.org/#navigate 43138. https://html.spec.whatwg.org/#unload-a-document-and-its-descendants 43139. https://html.spec.whatwg.org/#she-document 43140. https://html.spec.whatwg.org/#queue-a-global-task 43141. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 43142. https://html.spec.whatwg.org/#nav-window 43143. https://html.spec.whatwg.org/#tn-append-session-history-traversal-steps 43144. https://html.spec.whatwg.org/#nav-traversable 43145. https://html.spec.whatwg.org/#set-the-ongoing-navigation 43146. https://html.spec.whatwg.org/#navigate 43147. https://html.spec.whatwg.org/#unload-a-document-and-its-descendants 43148. https://html.spec.whatwg.org/#she-document 43149. https://drafts.csswg.org/css-view-transitions-2/#setup-cross-document-view-transition 43150. https://html.spec.whatwg.org/#she-document 43151. https://html.spec.whatwg.org/#fire-the-pageswap-event 43152. https://html.spec.whatwg.org/#document 43153. https://html.spec.whatwg.org/#session-history-entry 43154. https://html.spec.whatwg.org/#navigationtype 43155. https://drafts.csswg.org/css-view-transitions/#viewtransition 43156. https://infra.spec.whatwg.org/#assert 43157. https://html.spec.whatwg.org/#concept-task 43158. https://html.spec.whatwg.org/#relevant-agent 43159. https://html.spec.whatwg.org/#concept-agent-event-loop 43160. https://html.spec.whatwg.org/#concept-relevant-global 43161. https://html.spec.whatwg.org/#window-navigation-api 43162. https://html.spec.whatwg.org/#she-document 43163. https://dom.spec.whatwg.org/#concept-document-origin 43164. https://html.spec.whatwg.org/#same-origin 43165. https://dom.spec.whatwg.org/#concept-document-origin 43166. https://html.spec.whatwg.org/#she-document 43167. https://html.spec.whatwg.org/#was-created-via-cross-origin-redirects 43168. https://html.spec.whatwg.org/#she-document 43169. https://html.spec.whatwg.org/#latest-entry 43170. https://html.spec.whatwg.org/#dom-navigationtype-reload 43171. https://html.spec.whatwg.org/#navigation-current-entry 43172. https://html.spec.whatwg.org/#dom-navigationtype-traverse 43173. https://html.spec.whatwg.org/#navigationhistoryentry 43174. https://html.spec.whatwg.org/#navigation-entry-list 43175. https://html.spec.whatwg.org/#nhe-she 43176. https://html.spec.whatwg.org/#dom-navigationtype-push 43177. https://html.spec.whatwg.org/#dom-navigationtype-replace 43178. https://html.spec.whatwg.org/#navigationhistoryentry 43179. https://html.spec.whatwg.org/#concept-relevant-realm 43180. https://html.spec.whatwg.org/#nhe-she 43181. https://webidl.spec.whatwg.org/#new 43182. https://html.spec.whatwg.org/#navigationactivation 43183. https://html.spec.whatwg.org/#concept-relevant-realm 43184. https://html.spec.whatwg.org/#nav-activation-old-entry 43185. https://html.spec.whatwg.org/#navigation-current-entry 43186. https://html.spec.whatwg.org/#nav-activation-new-entry 43187. https://html.spec.whatwg.org/#nav-activation-navigation-type 43188. https://html.spec.whatwg.org/#dom-pageswapevent-activation 43189. https://html.spec.whatwg.org/#pageswapevent 43190. https://html.spec.whatwg.org/#note-bfcache 43191. https://dom.spec.whatwg.org/#concept-event-fire 43192. https://html.spec.whatwg.org/#event-pageswap 43193. https://html.spec.whatwg.org/#concept-relevant-global 43194. https://html.spec.whatwg.org/#pageswapevent 43195. https://html.spec.whatwg.org/#dom-pageswapevent-activation 43196. https://html.spec.whatwg.org/#dom-pageswapevent-viewtransition 43197. https://html.spec.whatwg.org/#session-history-entry 43198. https://html.spec.whatwg.org/#navigable 43199. https://html.spec.whatwg.org/#save-persisted-state 43200. https://html.spec.whatwg.org/#navigable 43201. https://html.spec.whatwg.org/#nav-active-history-entry 43202. https://html.spec.whatwg.org/#she-document 43203. https://infra.spec.whatwg.org/#assert 43204. https://html.spec.whatwg.org/#is-initial-about:blank 43205. https://html.spec.whatwg.org/#is-initial-about:blank 43206. https://html.spec.whatwg.org/#document 43207. https://html.spec.whatwg.org/#navigate-convert-to-replace 43208. https://html.spec.whatwg.org/#nav-active-history-entry 43209. https://html.spec.whatwg.org/#make-active 43210. https://html.spec.whatwg.org/#traversable-navigable 43211. https://html.spec.whatwg.org/#getting-all-used-history-steps 43212. https://infra.spec.whatwg.org/#list-item 43213. https://html.spec.whatwg.org/#session-history-entry 43214. https://html.spec.whatwg.org/#she-step 43215. https://html.spec.whatwg.org/#navigable 43216. https://html.spec.whatwg.org/#traversable-navigable 43217. https://infra.spec.whatwg.org/#tuple 43218. https://html.spec.whatwg.org/#getting-all-used-history-steps 43219. https://infra.spec.whatwg.org/#list-size 43220. https://infra.spec.whatwg.org/#assert 43221. https://infra.spec.whatwg.org/#list-contain 43222. https://html.spec.whatwg.org/#getting-the-used-step 43223. https://html.spec.whatwg.org/#traversable-navigable 43224. https://infra.spec.whatwg.org/#list 43225. https://html.spec.whatwg.org/#navigable 43226. https://infra.spec.whatwg.org/#list 43227. https://infra.spec.whatwg.org/#list-iterate 43228. https://html.spec.whatwg.org/#getting-the-target-history-entry 43229. https://html.spec.whatwg.org/#nav-current-history-entry 43230. https://html.spec.whatwg.org/#she-document-state 43231. https://html.spec.whatwg.org/#document-state-reload-pending 43232. https://infra.spec.whatwg.org/#list-append 43233. https://html.spec.whatwg.org/#she-document 43234. https://html.spec.whatwg.org/#nav-document 43235. https://html.spec.whatwg.org/#she-document-state 43236. https://html.spec.whatwg.org/#document-state-reload-pending 43237. https://infra.spec.whatwg.org/#list-extend 43238. https://html.spec.whatwg.org/#child-navigable 43239. https://html.spec.whatwg.org/#child-navigable 43240. https://html.spec.whatwg.org/#child-navigable 43241. https://html.spec.whatwg.org/#nav-document 43242. https://html.spec.whatwg.org/#traversable-navigable 43243. https://infra.spec.whatwg.org/#list 43244. https://html.spec.whatwg.org/#navigable 43245. https://html.spec.whatwg.org/#navigable 43246. https://html.spec.whatwg.org/#nav-current-history-entry 43247. https://html.spec.whatwg.org/#nav-active-history-entry 43248. https://infra.spec.whatwg.org/#list 43249. https://infra.spec.whatwg.org/#list-iterate 43250. https://html.spec.whatwg.org/#getting-the-target-history-entry 43251. https://html.spec.whatwg.org/#nav-current-history-entry 43252. https://html.spec.whatwg.org/#she-document-state 43253. https://html.spec.whatwg.org/#document-state-reload-pending 43254. https://infra.spec.whatwg.org/#list-append 43255. https://infra.spec.whatwg.org/#list-extend 43256. https://html.spec.whatwg.org/#child-navigable 43257. https://html.spec.whatwg.org/#child-navigable 43258. https://html.spec.whatwg.org/#child-navigable 43259. https://html.spec.whatwg.org/#nav-document 43260. https://html.spec.whatwg.org/#navigable 43261. https://html.spec.whatwg.org/#session-history-entry 43262. https://html.spec.whatwg.org/#getting-session-history-entries 43263. https://infra.spec.whatwg.org/#list-item 43264. https://html.spec.whatwg.org/#she-step 43265. https://html.spec.whatwg.org/#getting-the-target-history-entry 43266. https://html.spec.whatwg.org/#she-step 43267. https://html.spec.whatwg.org/#jake-diagram 43268. https://html.spec.whatwg.org/#she-step 43269. https://html.spec.whatwg.org/#she-step 43270. https://html.spec.whatwg.org/#she-step 43271. https://html.spec.whatwg.org/#she-step 43272. https://html.spec.whatwg.org/#traversable-navigable 43273. https://infra.spec.whatwg.org/#list 43274. https://html.spec.whatwg.org/#navigable 43275. https://html.spec.whatwg.org/#tn-session-history-traversal-queue 43276. https://html.spec.whatwg.org/#navigable 43277. https://html.spec.whatwg.org/#navigable 43278. https://html.spec.whatwg.org/#child-navigable 43279. https://html.spec.whatwg.org/#unload-a-document 43280. https://infra.spec.whatwg.org/#list 43281. https://infra.spec.whatwg.org/#list-iterate 43282. https://html.spec.whatwg.org/#getting-the-target-history-entry 43283. https://html.spec.whatwg.org/#she-document 43284. https://html.spec.whatwg.org/#nav-document 43285. https://html.spec.whatwg.org/#she-document-state 43286. https://html.spec.whatwg.org/#document-state-reload-pending 43287. https://infra.spec.whatwg.org/#list-append 43288. https://html.spec.whatwg.org/#nav-active-history-entry 43289. https://html.spec.whatwg.org/#document 43290. https://html.spec.whatwg.org/#nav-document 43291. https://infra.spec.whatwg.org/#list-extend 43292. https://html.spec.whatwg.org/#child-navigable 43293. https://html.spec.whatwg.org/#child-navigable 43294. https://html.spec.whatwg.org/#child-navigable 43295. https://html.spec.whatwg.org/#nav-document 43296. https://html.spec.whatwg.org/#document 43297. https://html.spec.whatwg.org/#session-history-entry 43298. https://html.spec.whatwg.org/#navigationtype 43299. https://infra.spec.whatwg.org/#list 43300. https://html.spec.whatwg.org/#session-history-entry 43301. https://html.spec.whatwg.org/#session-history-entry 43302. https://html.spec.whatwg.org/#latest-entry 43303. https://html.spec.whatwg.org/#latest-entry 43304. https://html.spec.whatwg.org/#doc-history 43305. https://html.spec.whatwg.org/#concept-history-index 43306. https://html.spec.whatwg.org/#doc-history 43307. https://html.spec.whatwg.org/#concept-history-length 43308. https://html.spec.whatwg.org/#concept-relevant-global 43309. https://html.spec.whatwg.org/#window-navigation-api 43310. https://html.spec.whatwg.org/#latest-entry 43311. https://html.spec.whatwg.org/#she-url 43312. https://html.spec.whatwg.org/#latest-entry 43313. https://html.spec.whatwg.org/#restore-the-history-object-state 43314. https://infra.spec.whatwg.org/#assert 43315. https://html.spec.whatwg.org/#update-the-navigation-api-entries-for-a-same-document-navigation 43316. https://dom.spec.whatwg.org/#concept-event-fire 43317. https://html.spec.whatwg.org/#event-popstate 43318. https://html.spec.whatwg.org/#concept-relevant-global 43319. https://html.spec.whatwg.org/#popstateevent 43320. https://html.spec.whatwg.org/#dom-popstateevent-state 43321. https://html.spec.whatwg.org/#doc-history 43322. https://html.spec.whatwg.org/#concept-history-state 43323. https://html.spec.whatwg.org/#dom-popstateevent-hasuavisualtransition 43324. https://html.spec.whatwg.org/#latest-entry 43325. https://html.spec.whatwg.org/#restore-persisted-state 43326. https://url.spec.whatwg.org/#concept-url-fragment 43327. https://html.spec.whatwg.org/#she-url 43328. https://url.spec.whatwg.org/#concept-url-fragment 43329. https://html.spec.whatwg.org/#queue-a-global-task 43330. https://html.spec.whatwg.org/#dom-manipulation-task-source 43331. https://html.spec.whatwg.org/#concept-relevant-global 43332. https://dom.spec.whatwg.org/#concept-event-fire 43333. https://html.spec.whatwg.org/#event-hashchange 43334. https://html.spec.whatwg.org/#concept-relevant-global 43335. https://html.spec.whatwg.org/#hashchangeevent 43336. https://html.spec.whatwg.org/#dom-hashchangeevent-oldurl 43337. https://url.spec.whatwg.org/#concept-url-serializer 43338. https://html.spec.whatwg.org/#dom-hashchangeevent-newurl 43339. https://url.spec.whatwg.org/#concept-url-serializer 43340. https://html.spec.whatwg.org/#she-url 43341. https://infra.spec.whatwg.org/#assert 43342. https://html.spec.whatwg.org/#restore-persisted-state 43343. https://html.spec.whatwg.org/#initialize-the-navigation-api-entries-for-a-new-document 43344. https://html.spec.whatwg.org/#dom-navigationtype-reload 43345. https://html.spec.whatwg.org/#she-document 43346. https://html.spec.whatwg.org/#navigation-activation 43347. https://html.spec.whatwg.org/#navigation-activation 43348. https://html.spec.whatwg.org/#navigationactivation 43349. https://html.spec.whatwg.org/#concept-relevant-realm 43350. https://html.spec.whatwg.org/#getting-the-navigation-api-entry-index 43351. https://html.spec.whatwg.org/#nav-activation-old-entry 43352. https://html.spec.whatwg.org/#navigation-entry-list 43353. https://html.spec.whatwg.org/#dom-navigationtype-replace 43354. https://html.spec.whatwg.org/#she-document-state 43355. https://html.spec.whatwg.org/#document-state-origin 43356. https://html.spec.whatwg.org/#same-origin 43357. https://dom.spec.whatwg.org/#concept-document-origin 43358. https://html.spec.whatwg.org/#she-document 43359. https://html.spec.whatwg.org/#is-initial-about:blank 43360. https://html.spec.whatwg.org/#nav-activation-old-entry 43361. https://html.spec.whatwg.org/#navigationhistoryentry 43362. https://html.spec.whatwg.org/#concept-relevant-realm 43363. https://html.spec.whatwg.org/#nhe-she 43364. https://html.spec.whatwg.org/#nav-activation-new-entry 43365. https://html.spec.whatwg.org/#navigation-current-entry 43366. https://html.spec.whatwg.org/#nav-activation-navigation-type 43367. https://infra.spec.whatwg.org/#assert 43368. https://html.spec.whatwg.org/#concept-document-navigation-id 43369. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-committed 43370. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-status 43371. https://w3c.github.io/webdriver-bidi/#navigation-status-id 43372. https://html.spec.whatwg.org/#concept-document-navigation-id 43373. https://w3c.github.io/webdriver-bidi/#navigation-status-status 43374. https://w3c.github.io/webdriver-bidi/#navigation-status-committed 43375. https://w3c.github.io/webdriver-bidi/#navigation-status-url 43376. https://dom.spec.whatwg.org/#concept-document-url 43377. https://html.spec.whatwg.org/#try-to-scroll-to-the-fragment 43378. https://infra.spec.whatwg.org/#assert 43379. https://html.spec.whatwg.org/#reactivate-a-document 43380. https://html.spec.whatwg.org/#note-bfcache 43381. https://html.spec.whatwg.org/#latest-entry 43382. https://html.spec.whatwg.org/#document 43383. https://html.spec.whatwg.org/#session-history-entry 43384. https://html.spec.whatwg.org/#concept-relevant-realm 43385. https://html.spec.whatwg.org/#structureddeserialize 43386. https://html.spec.whatwg.org/#she-classic-history-api-state 43387. https://html.spec.whatwg.org/#doc-history 43388. https://html.spec.whatwg.org/#concept-history-state 43389. https://html.spec.whatwg.org/#document 43390. https://html.spec.whatwg.org/#concept-relevant-global 43391. https://html.spec.whatwg.org/#concept-document-bc 43392. https://html.spec.whatwg.org/#windowproxy 43393. https://html.spec.whatwg.org/#concept-windowproxy-window 43394. https://html.spec.whatwg.org/#visibility-state 43395. https://html.spec.whatwg.org/#node-navigable 43396. https://html.spec.whatwg.org/#nav-traversable 43397. https://html.spec.whatwg.org/#system-visibility-state 43398. https://w3c.github.io/performance-timeline/#queue-a-performanceentry 43399. https://html.spec.whatwg.org/#visibilitystateentry 43400. https://html.spec.whatwg.org/#visibilitystateentry-state 43401. https://html.spec.whatwg.org/#visibility-state 43402. https://html.spec.whatwg.org/#visibilitystateentry-timestamp 43403. https://html.spec.whatwg.org/#relevant-settings-object 43404. https://html.spec.whatwg.org/#concept-environment-execution-ready-flag 43405. https://html.spec.whatwg.org/#document 43406. https://html.spec.whatwg.org/#session-history-entry 43407. https://infra.spec.whatwg.org/#list 43408. https://html.spec.whatwg.org/#session-history-entry 43409. https://html.spec.whatwg.org/#note-bfcache 43410. https://html.spec.whatwg.org/#fully-active 43411. https://html.spec.whatwg.org/#fully-active 43412. https://infra.spec.whatwg.org/#list-iterate 43413. https://html.spec.whatwg.org/#autofill-field-name 43414. https://html.spec.whatwg.org/#attr-fe-autocomplete-off 43415. https://html.spec.whatwg.org/#concept-form-reset-control 43416. https://html.spec.whatwg.org/#suspended-timer-handles 43417. https://infra.spec.whatwg.org/#list-empty 43418. https://infra.spec.whatwg.org/#assert 43419. https://html.spec.whatwg.org/#suspension-time 43420. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 43421. https://html.spec.whatwg.org/#suspension-time 43422. https://html.spec.whatwg.org/#concept-relevant-global 43423. https://html.spec.whatwg.org/#map-of-active-timers 43424. https://html.spec.whatwg.org/#suspended-timer-handles 43425. https://infra.spec.whatwg.org/#map-exists 43426. https://html.spec.whatwg.org/#update-the-navigation-api-entries-for-reactivation 43427. https://html.spec.whatwg.org/#concept-relevant-global 43428. https://html.spec.whatwg.org/#window-navigation-api 43429. https://html.spec.whatwg.org/#current-document-readiness 43430. https://html.spec.whatwg.org/#page-showing 43431. https://html.spec.whatwg.org/#page-showing 43432. https://html.spec.whatwg.org/#has-been-revealed 43433. https://html.spec.whatwg.org/#update-the-visibility-state 43434. https://html.spec.whatwg.org/#fire-a-page-transition-event 43435. https://html.spec.whatwg.org/#event-pageshow 43436. https://html.spec.whatwg.org/#concept-relevant-global 43437. https://html.spec.whatwg.org/#document 43438. https://html.spec.whatwg.org/#in-parallel 43439. https://infra.spec.whatwg.org/#implementation-defined 43440. https://html.spec.whatwg.org/#queue-a-global-task 43441. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 43442. https://html.spec.whatwg.org/#concept-relevant-global 43443. https://html.spec.whatwg.org/#stop-parsing 43444. https://url.spec.whatwg.org/#concept-url-fragment 43445. https://html.spec.whatwg.org/#scroll-to-the-fragment-identifier 43446. https://html.spec.whatwg.org/#the-indicated-part-of-the-document 43447. https://html.spec.whatwg.org/#try-to-scroll-to-the-fragment 43448. https://html.spec.whatwg.org/#document 43449. https://html.spec.whatwg.org/#nrr-details-struct 43450. https://html.spec.whatwg.org/#nrr-details-reason 43451. https://infra.spec.whatwg.org/#set-append 43452. https://html.spec.whatwg.org/#concept-document-bfcache-blocking-details 43453. https://html.spec.whatwg.org/#concept-document-salvageable 43454. https://html.spec.whatwg.org/#document 43455. https://html.spec.whatwg.org/#nrr-struct 43456. https://html.spec.whatwg.org/#nrr-url 43457. https://dom.spec.whatwg.org/#concept-document-url 43458. https://html.spec.whatwg.org/#node-navigable 43459. https://html.spec.whatwg.org/#nav-container 43460. https://html.spec.whatwg.org/#the-iframe-element 43461. https://html.spec.whatwg.org/#dom-iframe-src 43462. https://html.spec.whatwg.org/#encoding-parsing-and-serializing-a-url 43463. https://html.spec.whatwg.org/#attr-iframe-src 43464. https://dom.spec.whatwg.org/#concept-node-document 43465. https://html.spec.whatwg.org/#attr-iframe-src 43466. https://html.spec.whatwg.org/#nrr-src 43467. https://html.spec.whatwg.org/#nrr-id 43468. https://html.spec.whatwg.org/#the-id-attribute 43469. https://html.spec.whatwg.org/#nrr-name 43470. https://html.spec.whatwg.org/#attr-iframe-name 43471. https://html.spec.whatwg.org/#nrr-reasons 43472. https://infra.spec.whatwg.org/#list-clone 43473. https://html.spec.whatwg.org/#concept-document-bfcache-blocking-details 43474. https://infra.spec.whatwg.org/#list-iterate 43475. https://html.spec.whatwg.org/#document-tree-child-navigables 43476. https://html.spec.whatwg.org/#nav-document 43477. https://html.spec.whatwg.org/#build-not-restored-reasons-for-document-state 43478. https://infra.spec.whatwg.org/#list-append 43479. https://html.spec.whatwg.org/#concept-document-nrr 43480. https://html.spec.whatwg.org/#nrr-children 43481. https://html.spec.whatwg.org/#node-navigable 43482. https://html.spec.whatwg.org/#nav-active-history-entry 43483. https://html.spec.whatwg.org/#she-document-state 43484. https://html.spec.whatwg.org/#document-state-not-restored-reasons 43485. https://html.spec.whatwg.org/#top-level-traversable 43486. https://html.spec.whatwg.org/#build-not-restored-reasons-for-document-state 43487. https://html.spec.whatwg.org/#nav-document 43488. https://infra.spec.whatwg.org/#list 43489. https://infra.spec.whatwg.org/#list-iterate 43490. https://html.spec.whatwg.org/#nav-document 43491. https://html.spec.whatwg.org/#descendant-navigables 43492. https://html.spec.whatwg.org/#nav-document 43493. https://dom.spec.whatwg.org/#concept-document-origin 43494. https://html.spec.whatwg.org/#same-origin 43495. https://html.spec.whatwg.org/#nav-document 43496. https://dom.spec.whatwg.org/#concept-document-origin 43497. https://infra.spec.whatwg.org/#list-append 43498. https://infra.spec.whatwg.org/#list-iterate 43499. https://html.spec.whatwg.org/#nav-document 43500. https://html.spec.whatwg.org/#document-state-2 43501. https://html.spec.whatwg.org/#document-state-not-restored-reasons 43502. https://html.spec.whatwg.org/#nrr-reasons 43503. https://html.spec.whatwg.org/#nrr-url 43504. https://html.spec.whatwg.org/#nrr-reasons 43505. https://html.spec.whatwg.org/#nrr-children 43506. https://html.spec.whatwg.org/#make-document-unsalvageable 43507. https://html.spec.whatwg.org/#nav-document 43508. https://html.spec.whatwg.org/#blocking-masked 43509. https://html.spec.whatwg.org/#document 43510. https://html.spec.whatwg.org/#event-pagereveal 43511. https://html.spec.whatwg.org/#document 43512. https://html.spec.whatwg.org/#reactivate-a-document 43513. https://html.spec.whatwg.org/#document 43514. https://html.spec.whatwg.org/#has-been-revealed 43515. https://html.spec.whatwg.org/#has-been-revealed 43516. https://drafts.csswg.org/css-view-transitions-2/#resolve-inbound-cross-document-view-transition 43517. https://dom.spec.whatwg.org/#concept-event-fire 43518. https://html.spec.whatwg.org/#event-pagereveal 43519. https://html.spec.whatwg.org/#concept-relevant-global 43520. https://html.spec.whatwg.org/#pagerevealevent 43521. https://html.spec.whatwg.org/#dom-pagerevealevent-viewtransition 43522. https://html.spec.whatwg.org/#prepare-to-run-script 43523. https://html.spec.whatwg.org/#relevant-settings-object 43524. https://drafts.csswg.org/css-view-transitions/#activate-view-transition 43525. https://html.spec.whatwg.org/#clean-up-after-running-script 43526. https://html.spec.whatwg.org/#relevant-settings-object 43527. https://html.spec.whatwg.org/#event-pagereveal 43528. https://html.spec.whatwg.org/#update-the-rendering 43529. https://html.spec.whatwg.org/#event-pagereveal 43530. https://html.spec.whatwg.org/#document 43531. https://html.spec.whatwg.org/#the-indicated-part-of-the-document 43532. https://html.spec.whatwg.org/#target-element 43533. https://html.spec.whatwg.org/#the-indicated-part-of-the-document 43534. https://html.spec.whatwg.org/#top-of-the-document 43535. https://html.spec.whatwg.org/#target-element 43536. https://drafts.csswg.org/cssom-view/#scroll-to-the-beginning-of-the-document 43537. https://html.spec.whatwg.org/#refsCSSOMVIEW 43538. https://infra.spec.whatwg.org/#assert 43539. https://html.spec.whatwg.org/#the-indicated-part-of-the-document 43540. https://html.spec.whatwg.org/#the-indicated-part-of-the-document 43541. https://html.spec.whatwg.org/#target-element 43542. https://html.spec.whatwg.org/#ancestor-details-revealing-algorithm 43543. https://html.spec.whatwg.org/#ancestor-hidden-until-found-revealing-algorithm 43544. https://drafts.csswg.org/cssom-view/#scroll-a-target-into-view 43545. https://html.spec.whatwg.org/#refsCSSOMVIEW 43546. https://html.spec.whatwg.org/#focusing-steps 43547. https://html.spec.whatwg.org/#document 43548. https://drafts.csswg.org/css2/#viewport 43549. https://html.spec.whatwg.org/#sequential-focus-navigation-starting-point 43550. https://html.spec.whatwg.org/#document 43551. https://dom.spec.whatwg.org/#concept-document-url 43552. https://url.spec.whatwg.org/#concept-url-fragment 43553. https://url.spec.whatwg.org/#concept-url-fragment 43554. https://mimesniff.spec.whatwg.org/#mime-type 43555. https://html.spec.whatwg.org/#document 43556. https://url.spec.whatwg.org/#concept-url-fragment 43557. https://mimesniff.spec.whatwg.org/#xml-mime-type 43558. https://html.spec.whatwg.org/#refsRFC7303 43559. https://html.spec.whatwg.org/#document 43560. https://html.spec.whatwg.org/#selector-target 43561. https://dom.spec.whatwg.org/#html-document 43562. https://html.spec.whatwg.org/#the-indicated-part-of-the-document 43563. https://html.spec.whatwg.org/#select-the-indicated-part 43564. https://dom.spec.whatwg.org/#concept-document-url 43565. https://html.spec.whatwg.org/#document 43566. https://url.spec.whatwg.org/#concept-url 43567. https://dom.spec.whatwg.org/#concept-document-url 43568. https://url.spec.whatwg.org/#concept-url-equals 43569. https://url.spec.whatwg.org/#url-equals-exclude-fragments 43570. https://url.spec.whatwg.org/#concept-url-fragment 43571. https://html.spec.whatwg.org/#find-a-potential-indicated-element 43572. https://url.spec.whatwg.org/#string-percent-decode 43573. https://encoding.spec.whatwg.org/#utf-8-decode-without-bom 43574. https://html.spec.whatwg.org/#find-a-potential-indicated-element 43575. https://infra.spec.whatwg.org/#ascii-case-insensitive 43576. https://html.spec.whatwg.org/#top-of-the-document 43577. https://html.spec.whatwg.org/#document 43578. https://dom.spec.whatwg.org/#in-a-document-tree 43579. https://dom.spec.whatwg.org/#concept-tree-root 43580. https://dom.spec.whatwg.org/#concept-id 43581. https://dom.spec.whatwg.org/#concept-tree-order 43582. https://html.spec.whatwg.org/#the-a-element 43583. https://dom.spec.whatwg.org/#in-a-document-tree 43584. https://dom.spec.whatwg.org/#concept-tree-root 43585. https://html.spec.whatwg.org/#attr-a-name 43586. https://dom.spec.whatwg.org/#concept-tree-order 43587. https://html.spec.whatwg.org/#session-history-entry 43588. https://html.spec.whatwg.org/#she-scroll-position 43589. https://html.spec.whatwg.org/#she-document 43590. https://html.spec.whatwg.org/#restorable-scrollable-regions 43591. https://html.spec.whatwg.org/#she-other 43592. https://html.spec.whatwg.org/#session-history-entry 43593. https://html.spec.whatwg.org/#she-scroll-restoration-mode 43594. https://html.spec.whatwg.org/#dom-scrollrestoration-auto 43595. https://html.spec.whatwg.org/#she-document 43596. https://html.spec.whatwg.org/#concept-relevant-global 43597. https://html.spec.whatwg.org/#window-navigation-api 43598. https://html.spec.whatwg.org/#suppress-normal-scroll-restoration-during-ongoing-navigation 43599. https://html.spec.whatwg.org/#restore-scroll-position-data 43600. https://html.spec.whatwg.org/#suppress-normal-scroll-restoration-during-ongoing-navigation 43601. https://html.spec.whatwg.org/#restore-scroll-position-data 43602. https://html.spec.whatwg.org/#navigateevent-finish 43603. https://html.spec.whatwg.org/#navigateevent 43604. https://html.spec.whatwg.org/#dom-navigateevent-scroll 43605. https://html.spec.whatwg.org/#she-document 43606. https://html.spec.whatwg.org/#she-other 43607. https://html.spec.whatwg.org/#attr-dir 43608. https://html.spec.whatwg.org/#the-textarea-element 43609. https://html.spec.whatwg.org/#the-input-element 43610. https://html.spec.whatwg.org/#attr-input-type 43611. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 43612. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 43613. https://html.spec.whatwg.org/#telephone-state-(type=tel) 43614. https://html.spec.whatwg.org/#url-state-(type=url) 43615. https://html.spec.whatwg.org/#email-state-(type=email) 43616. https://w3c.github.io/uievents/#event-type-input 43617. https://html.spec.whatwg.org/#event-change 43618. https://html.spec.whatwg.org/#form-associated-custom-element 43619. https://html.spec.whatwg.org/#document 43620. https://html.spec.whatwg.org/#has-been-scrolled-by-the-user 43621. https://html.spec.whatwg.org/#document 43622. https://drafts.csswg.org/css2/#viewport 43623. https://html.spec.whatwg.org/#navigable-container 43624. https://html.spec.whatwg.org/#child-navigable 43625. https://html.spec.whatwg.org/#session-history-entry 43626. https://html.spec.whatwg.org/#navigable 43627. https://html.spec.whatwg.org/#document 43628. https://html.spec.whatwg.org/#session-history-entry 43629. https://html.spec.whatwg.org/#she-document 43630. https://html.spec.whatwg.org/#has-been-scrolled-by-the-user 43631. https://html.spec.whatwg.org/#she-scroll-position 43632. https://html.spec.whatwg.org/#she-document 43633. https://html.spec.whatwg.org/#restorable-scrollable-regions 43634. https://html.spec.whatwg.org/#has-been-scrolled-by-the-user 43635. https://html.spec.whatwg.org/#she-scroll-position 43636. https://html.spec.whatwg.org/#refsCSSSCROLLANCHORING 43637. https://dom.spec.whatwg.org/#concept-document-type 43638. https://dom.spec.whatwg.org/#concept-document-content-type 43639. https://html.spec.whatwg.org/#navigation-params 43640. https://html.spec.whatwg.org/#document 43641. https://html.spec.whatwg.org/#creating-a-new-browsing-context 43642. https://html.spec.whatwg.org/#is-initial-about:blank 43643. https://html.spec.whatwg.org/#document 43644. https://html.spec.whatwg.org/#concept-document-bc 43645. https://html.spec.whatwg.org/#document 43646. https://dom.spec.whatwg.org/#dom-domimplementation-createhtmldocument 43647. https://html.spec.whatwg.org/#obtain-browsing-context-navigation 43648. https://html.spec.whatwg.org/#browsing-context-group-switches-due-to-cross-origin-opener-policy 43649. https://html.spec.whatwg.org/#creating-a-new-browsing-context 43650. https://html.spec.whatwg.org/#browsing-context 43651. https://html.spec.whatwg.org/#navigation-params-navigable 43652. https://html.spec.whatwg.org/#nav-bc 43653. https://html.spec.whatwg.org/#window 43654. https://html.spec.whatwg.org/#document 43655. https://tc39.es/ecma262/#sec-agents 43656. https://html.spec.whatwg.org/#document 43657. https://dom.spec.whatwg.org/#concept-document-origin 43658. https://html.spec.whatwg.org/#concept-origin-opaque 43659. https://tc39.es/ecma262/#sec-agents 43660. https://html.spec.whatwg.org/#window 43661. https://html.spec.whatwg.org/#create-new-agent-and-window 43662. https://html.spec.whatwg.org/#document 43663. https://w3c.github.io/webappsec-feature-policy/#create-from-response 43664. https://html.spec.whatwg.org/#navigation-params-navigable 43665. https://html.spec.whatwg.org/#nav-container 43666. https://html.spec.whatwg.org/#navigation-params-origin 43667. https://html.spec.whatwg.org/#navigation-params-response 43668. https://html.spec.whatwg.org/#refsPERMISSIONSPOLICY 43669. https://w3c.github.io/webappsec-feature-policy/#create-from-response 43670. https://html.spec.whatwg.org/#concept-origin 43671. https://html.spec.whatwg.org/#dom-document-domain 43672. https://html.spec.whatwg.org/#navigation-params-navigable 43673. https://html.spec.whatwg.org/#nav-container-document 43674. https://dom.spec.whatwg.org/#concept-document-origin 43675. https://html.spec.whatwg.org/#same-origin-domain 43676. https://html.spec.whatwg.org/#dom-document-domain 43677. https://html.spec.whatwg.org/#same-origin 43678. https://html.spec.whatwg.org/#navigation-params-response 43679. https://fetch.spec.whatwg.org/#concept-response-url 43680. https://html.spec.whatwg.org/#navigation-params-request 43681. https://html.spec.whatwg.org/#navigation-params-request 43682. https://fetch.spec.whatwg.org/#concept-request-current-url 43683. https://html.spec.whatwg.org/#active-document 43684. https://html.spec.whatwg.org/#is-initial-about:blank 43685. https://html.spec.whatwg.org/#active-document 43686. https://dom.spec.whatwg.org/#concept-document-origin 43687. https://html.spec.whatwg.org/#same-origin-domain 43688. https://html.spec.whatwg.org/#navigation-params-origin 43689. https://html.spec.whatwg.org/#active-window 43690. https://html.spec.whatwg.org/#is-initial-about:blank 43691. https://html.spec.whatwg.org/#document 43692. https://html.spec.whatwg.org/#document 43693. https://html.spec.whatwg.org/#window 43694. https://fetch.spec.whatwg.org/#concept-header-list-get-structured-header 43695. https://html.spec.whatwg.org/#origin-agent-cluster 43696. https://html.spec.whatwg.org/#navigation-params-response 43697. https://fetch.spec.whatwg.org/#concept-response-header-list 43698. https://httpwg.org/specs/rfc8941.html#boolean 43699. https://html.spec.whatwg.org/#navigation-params-reserved-environment 43700. https://html.spec.whatwg.org/#non-secure-context 43701. https://html.spec.whatwg.org/#obtain-similar-origin-window-agent 43702. https://html.spec.whatwg.org/#navigation-params-origin 43703. https://html.spec.whatwg.org/#tlbc-group 43704. https://html.spec.whatwg.org/#creating-a-new-javascript-realm 43705. https://html.spec.whatwg.org/#window 43706. https://html.spec.whatwg.org/#windowproxy 43707. https://html.spec.whatwg.org/#concept-realm-global 43708. https://html.spec.whatwg.org/#navigation-params-origin 43709. https://html.spec.whatwg.org/#nav-container 43710. https://html.spec.whatwg.org/#nav-container 43711. https://html.spec.whatwg.org/#relevant-settings-object 43712. https://html.spec.whatwg.org/#concept-environment-top-level-creation-url 43713. https://html.spec.whatwg.org/#concept-environment-top-level-origin 43714. https://html.spec.whatwg.org/#set-up-a-window-environment-settings-object 43715. https://html.spec.whatwg.org/#navigation-params-reserved-environment 43716. https://html.spec.whatwg.org/#document 43717. https://html.spec.whatwg.org/#window 43718. https://html.spec.whatwg.org/#document-load-timing-info 43719. https://html.spec.whatwg.org/#navigation-start-time 43720. https://html.spec.whatwg.org/#navigation-params-response 43721. https://fetch.spec.whatwg.org/#concept-response-timing-info 43722. https://fetch.spec.whatwg.org/#fetch-timing-info-start-time 43723. https://html.spec.whatwg.org/#document 43724. https://dom.spec.whatwg.org/#concept-document-type 43725. https://dom.spec.whatwg.org/#concept-document-content-type 43726. https://dom.spec.whatwg.org/#concept-document-origin 43727. https://html.spec.whatwg.org/#navigation-params-origin 43728. https://html.spec.whatwg.org/#concept-document-bc 43729. https://html.spec.whatwg.org/#concept-document-policy-container 43730. https://html.spec.whatwg.org/#navigation-params-policy-container 43731. https://html.spec.whatwg.org/#concept-document-permissions-policy 43732. https://html.spec.whatwg.org/#active-sandboxing-flag-set 43733. https://html.spec.whatwg.org/#navigation-params-sandboxing 43734. https://html.spec.whatwg.org/#concept-document-coop 43735. https://html.spec.whatwg.org/#navigation-params-coop 43736. https://html.spec.whatwg.org/#load-timing-info 43737. https://html.spec.whatwg.org/#was-created-via-cross-origin-redirects 43738. https://html.spec.whatwg.org/#navigation-params-response 43739. https://fetch.spec.whatwg.org/#response-has-cross-origin-redirects 43740. https://html.spec.whatwg.org/#concept-document-navigation-id 43741. https://html.spec.whatwg.org/#navigation-params-id 43742. https://dom.spec.whatwg.org/#concept-document-url 43743. https://html.spec.whatwg.org/#current-document-readiness 43744. https://html.spec.whatwg.org/#concept-document-about-base-url 43745. https://html.spec.whatwg.org/#navigation-params-about-base-url 43746. https://dom.spec.whatwg.org/#concept-document-allow-declarative-shadow-roots 43747. https://dom.spec.whatwg.org/#document-custom-element-registry 43748. https://html.spec.whatwg.org/#concept-document-window 43749. https://w3c.github.io/webappsec-csp/#run-document-csp-initialization 43750. https://html.spec.whatwg.org/#refsCSP 43751. https://html.spec.whatwg.org/#navigation-params-request 43752. https://html.spec.whatwg.org/#the-document's-referrer 43753. https://html.spec.whatwg.org/#navigation-params-request 43754. https://fetch.spec.whatwg.org/#concept-request-referrer 43755. https://url.spec.whatwg.org/#concept-url 43756. https://html.spec.whatwg.org/#the-document's-referrer 43757. https://url.spec.whatwg.org/#concept-url-serializer 43758. https://url.spec.whatwg.org/#concept-url 43759. https://html.spec.whatwg.org/#navigation-params-fetch-controller 43760. https://fetch.spec.whatwg.org/#extract-full-timing-info 43761. https://html.spec.whatwg.org/#navigation-params-fetch-controller 43762. https://html.spec.whatwg.org/#navigation-params-response 43763. https://fetch.spec.whatwg.org/#response-has-cross-origin-redirects 43764. https://html.spec.whatwg.org/#navigation-params-request 43765. https://fetch.spec.whatwg.org/#concept-request-redirect-count 43766. https://w3c.github.io/navigation-timing/#dfn-create-the-navigation-timing-entry 43767. https://html.spec.whatwg.org/#navigation-params-response 43768. https://fetch.spec.whatwg.org/#response-service-worker-timing-info 43769. https://html.spec.whatwg.org/#navigation-params-response 43770. https://fetch.spec.whatwg.org/#concept-response-body-info 43771. https://w3c.github.io/navigation-timing/#dfn-create-the-navigation-timing-entry 43772. https://html.spec.whatwg.org/#navigation-params-response 43773. https://fetch.spec.whatwg.org/#concept-response-timing-info 43774. https://html.spec.whatwg.org/#navigation-params-nav-timing-type 43775. https://html.spec.whatwg.org/#navigation-params-response 43776. https://fetch.spec.whatwg.org/#response-service-worker-timing-info 43777. https://html.spec.whatwg.org/#navigation-params-response 43778. https://html.spec.whatwg.org/#refresh 43779. https://infra.spec.whatwg.org/#isomorphic-decode 43780. https://html.spec.whatwg.org/#shared-declarative-refresh-steps 43781. https://html.spec.whatwg.org/#refresh 43782. https://github.com/whatwg/html/issues/2900 43783. https://html.spec.whatwg.org/#navigation-params-commit-early-hints 43784. https://html.spec.whatwg.org/#navigation-params-commit-early-hints 43785. https://html.spec.whatwg.org/#process-link-headers 43786. https://html.spec.whatwg.org/#navigation-params-response 43787. https://w3c.github.io/payment-request/#dom-paymentrequest 43788. https://html.spec.whatwg.org/#same-origin-domain 43789. https://html.spec.whatwg.org/#dom-document-domain 43790. https://w3c.github.io/payment-request/#dom-paymentrequest 43791. https://html.spec.whatwg.org/#same-origin-domain 43792. https://html.spec.whatwg.org/#dom-document-domain 43793. https://html.spec.whatwg.org/#same-origin-domain 43794. https://html.spec.whatwg.org/#same-origin 43795. https://html.spec.whatwg.org/#document 43796. https://dom.spec.whatwg.org/#concept-create-element 43797. https://infra.spec.whatwg.org/#html-namespace 43798. https://dom.spec.whatwg.org/#concept-create-element 43799. https://infra.spec.whatwg.org/#html-namespace 43800. https://dom.spec.whatwg.org/#concept-create-element 43801. https://infra.spec.whatwg.org/#html-namespace 43802. https://dom.spec.whatwg.org/#concept-node-append 43803. https://dom.spec.whatwg.org/#concept-node-append 43804. https://dom.spec.whatwg.org/#concept-node-append 43805. https://html.spec.whatwg.org/#navigation-params 43806. https://html.spec.whatwg.org/#initialise-the-document-object 43807. https://dom.spec.whatwg.org/#concept-document-url 43808. https://html.spec.whatwg.org/#about:blank 43809. https://html.spec.whatwg.org/#populate-with-html/head/body 43810. https://html.spec.whatwg.org/#is-initial-about:blank 43811. https://html.spec.whatwg.org/#document 43812. https://infra.spec.whatwg.org/#byte-sequence 43813. https://html.spec.whatwg.org/#html-parser 43814. https://html.spec.whatwg.org/#html-parser 43815. https://html.spec.whatwg.org/#concept-task 43816. https://html.spec.whatwg.org/#networking-task-source 43817. https://html.spec.whatwg.org/#task-queue 43818. https://html.spec.whatwg.org/#the-input-byte-stream 43819. https://html.spec.whatwg.org/#html-parser 43820. https://html.spec.whatwg.org/#concept-task 43821. https://html.spec.whatwg.org/#networking-task-source 43822. https://html.spec.whatwg.org/#task-queue 43823. https://html.spec.whatwg.org/#process-link-headers 43824. https://html.spec.whatwg.org/#navigation-params-response 43825. https://html.spec.whatwg.org/#html-parser 43826. https://html.spec.whatwg.org/#scripts-may-run-for-the-newly-created-document 43827. https://html.spec.whatwg.org/#the-input-byte-stream 43828. https://html.spec.whatwg.org/#tokenization 43829. https://html.spec.whatwg.org/#content-type 43830. https://html.spec.whatwg.org/#queue-a-global-task 43831. https://html.spec.whatwg.org/#networking-task-source 43832. https://html.spec.whatwg.org/#concept-relevant-global 43833. https://html.spec.whatwg.org/#event-load 43834. https://html.spec.whatwg.org/#navigation-params 43835. https://html.spec.whatwg.org/#initialise-the-document-object 43836. https://html.spec.whatwg.org/#document 43837. https://html.spec.whatwg.org/#xml-parser 43838. https://html.spec.whatwg.org/#refsXML 43839. https://html.spec.whatwg.org/#refsXMLNS 43840. https://html.spec.whatwg.org/#refsRFC7303 43841. https://html.spec.whatwg.org/#refsDOM 43842. https://html.spec.whatwg.org/#concept-task 43843. https://html.spec.whatwg.org/#networking-task-source 43844. https://html.spec.whatwg.org/#task-queue 43845. https://html.spec.whatwg.org/#process-link-headers 43846. https://html.spec.whatwg.org/#navigation-params-response 43847. https://html.spec.whatwg.org/#xml-parser 43848. https://dom.spec.whatwg.org/#concept-document-encoding 43849. https://html.spec.whatwg.org/#scripts-may-run-for-the-newly-created-document 43850. https://html.spec.whatwg.org/#document 43851. https://html.spec.whatwg.org/#concept-document-navigation-id 43852. https://html.spec.whatwg.org/#document 43853. https://html.spec.whatwg.org/#navigation-params 43854. https://html.spec.whatwg.org/#initialise-the-document-object 43855. https://html.spec.whatwg.org/#parser-cannot-change-the-mode-flag 43856. https://dom.spec.whatwg.org/#concept-document-mode 43857. https://html.spec.whatwg.org/#html-parser 43858. https://html.spec.whatwg.org/#html-parser 43859. https://html.spec.whatwg.org/#plaintext-state 43860. https://html.spec.whatwg.org/#concept-task 43861. https://html.spec.whatwg.org/#networking-task-source 43862. https://html.spec.whatwg.org/#task-queue 43863. https://html.spec.whatwg.org/#the-input-byte-stream 43864. https://html.spec.whatwg.org/#html-parser 43865. https://dom.spec.whatwg.org/#concept-document-encoding 43866. https://html.spec.whatwg.org/#concept-task 43867. https://html.spec.whatwg.org/#networking-task-source 43868. https://html.spec.whatwg.org/#task-queue 43869. https://html.spec.whatwg.org/#process-link-headers 43870. https://html.spec.whatwg.org/#navigation-params-response 43871. https://html.spec.whatwg.org/#html-parser 43872. https://html.spec.whatwg.org/#scripts-may-run-for-the-newly-created-document 43873. https://html.spec.whatwg.org/#queue-a-global-task 43874. https://html.spec.whatwg.org/#networking-task-source 43875. https://html.spec.whatwg.org/#concept-relevant-global 43876. https://html.spec.whatwg.org/#event-load 43877. https://html.spec.whatwg.org/#the-head-element 43878. https://html.spec.whatwg.org/#the-title-element 43879. https://mimesniff.spec.whatwg.org/#computed-mime-type 43880. https://html.spec.whatwg.org/#multipart/x-mixed-replace 43881. https://html.spec.whatwg.org/#navigation-params 43882. https://html.spec.whatwg.org/#source-snapshot-params 43883. https://html.spec.whatwg.org/#concept-origin 43884. https://html.spec.whatwg.org/#navigation-params-response 43885. https://fetch.spec.whatwg.org/#concept-response-body 43886. https://html.spec.whatwg.org/#refsRFC2046 43887. https://html.spec.whatwg.org/#navigation-params-response 43888. https://fetch.spec.whatwg.org/#concept-response 43889. https://html.spec.whatwg.org/#navigation-params-response 43890. https://fetch.spec.whatwg.org/#concept-response-body 43891. https://html.spec.whatwg.org/#loading-a-document 43892. https://html.spec.whatwg.org/#navigation-params-response 43893. https://html.spec.whatwg.org/#navigate 43894. https://html.spec.whatwg.org/#node-navigable 43895. https://html.spec.whatwg.org/#navigation-params-request 43896. https://fetch.spec.whatwg.org/#concept-request-url 43897. https://html.spec.whatwg.org/#navigation-response 43898. https://html.spec.whatwg.org/#navigation-params-response 43899. https://html.spec.whatwg.org/#navigation-hh 43900. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 43901. https://html.spec.whatwg.org/#event-load 43902. https://html.spec.whatwg.org/#event-unload 43903. https://html.spec.whatwg.org/#initialise-the-document-object 43904. https://dom.spec.whatwg.org/#concept-document-mode 43905. https://html.spec.whatwg.org/#populate-with-html/head/body 43906. https://html.spec.whatwg.org/#the-body-element 43907. https://html.spec.whatwg.org/#the-head-element 43908. https://html.spec.whatwg.org/#the-title-element 43909. https://html.spec.whatwg.org/#attr-media-autoplay 43910. https://html.spec.whatwg.org/#process-link-headers 43911. https://html.spec.whatwg.org/#navigation-params-response 43912. https://html.spec.whatwg.org/#stop-parsing 43913. https://html.spec.whatwg.org/#the-img-element 43914. https://html.spec.whatwg.org/#attr-img-src 43915. https://html.spec.whatwg.org/#the-video-element 43916. https://html.spec.whatwg.org/#attr-media-src 43917. https://html.spec.whatwg.org/#the-audio-element 43918. https://html.spec.whatwg.org/#attr-media-src 43919. https://html.spec.whatwg.org/#scripts-may-run-for-the-newly-created-document 43920. https://html.spec.whatwg.org/#document 43921. https://html.spec.whatwg.org/#navigable 43922. https://html.spec.whatwg.org/#navigation-id 43923. https://w3c.github.io/navigation-timing/#dom-navigationtimingtype 43924. https://html.spec.whatwg.org/#user-navigation-involvement 43925. https://html.spec.whatwg.org/#concept-origin-opaque 43926. https://html.spec.whatwg.org/#cross-origin-opener-policy 43927. https://html.spec.whatwg.org/#coop-enforcement-result 43928. https://html.spec.whatwg.org/#coop-enforcement-url 43929. https://fetch.spec.whatwg.org/#concept-response-url 43930. https://html.spec.whatwg.org/#coop-enforcement-origin 43931. https://html.spec.whatwg.org/#coop-enforcement-coop 43932. https://html.spec.whatwg.org/#navigation-params 43933. https://html.spec.whatwg.org/#navigation-params-id 43934. https://html.spec.whatwg.org/#navigation-params-navigable 43935. https://html.spec.whatwg.org/#navigation-params-request 43936. https://html.spec.whatwg.org/#navigation-params-response 43937. https://fetch.spec.whatwg.org/#concept-response 43938. https://html.spec.whatwg.org/#navigation-params-origin 43939. https://html.spec.whatwg.org/#navigation-params-fetch-controller 43940. https://html.spec.whatwg.org/#navigation-params-commit-early-hints 43941. https://html.spec.whatwg.org/#navigation-params-coop-enforcement-result 43942. https://html.spec.whatwg.org/#navigation-params-reserved-environment 43943. https://html.spec.whatwg.org/#navigation-params-policy-container 43944. https://html.spec.whatwg.org/#policy-container 43945. https://html.spec.whatwg.org/#navigation-params-sandboxing 43946. https://html.spec.whatwg.org/#navigation-params-coop 43947. https://html.spec.whatwg.org/#navigation-params-nav-timing-type 43948. https://html.spec.whatwg.org/#navigation-params-about-base-url 43949. https://html.spec.whatwg.org/#navigation-params-user-involvement 43950. https://html.spec.whatwg.org/#initialise-the-document-object 43951. https://html.spec.whatwg.org/#document 43952. https://html.spec.whatwg.org/#document 43953. https://dom.spec.whatwg.org/#concept-document-origin 43954. https://html.spec.whatwg.org/#concept-origin-opaque 43955. https://html.spec.whatwg.org/#document 43956. https://html.spec.whatwg.org/#document 43957. https://html.spec.whatwg.org/#text/html 43958. https://dom.spec.whatwg.org/#concept-document-type 43959. https://html.spec.whatwg.org/#initialise-the-document-object 43960. https://html.spec.whatwg.org/#stop-parsing 43961. https://html.spec.whatwg.org/#document 43962. https://html.spec.whatwg.org/#document 43963. https://html.spec.whatwg.org/#completely-loaded-time 43964. https://html.spec.whatwg.org/#document 43965. https://infra.spec.whatwg.org/#assert 43966. https://html.spec.whatwg.org/#concept-document-bc 43967. https://html.spec.whatwg.org/#completely-loaded-time 43968. https://html.spec.whatwg.org/#node-navigable 43969. https://html.spec.whatwg.org/#nav-container 43970. https://html.spec.whatwg.org/#is-initial-about:blank 43971. https://html.spec.whatwg.org/#document 43972. https://html.spec.whatwg.org/#frame 43973. https://html.spec.whatwg.org/#the-iframe-element 43974. https://html.spec.whatwg.org/#creating-a-new-browsing-context 43975. https://html.spec.whatwg.org/#create-a-new-child-navigable 43976. https://html.spec.whatwg.org/#event-load 43977. https://html.spec.whatwg.org/#event-load 43978. https://html.spec.whatwg.org/#process-the-iframe-attributes 43979. https://html.spec.whatwg.org/#the-iframe-element 43980. https://html.spec.whatwg.org/#queue-an-element-task 43981. https://html.spec.whatwg.org/#dom-manipulation-task-source 43982. https://html.spec.whatwg.org/#iframe-load-event-steps 43983. https://html.spec.whatwg.org/#queue-an-element-task 43984. https://html.spec.whatwg.org/#dom-manipulation-task-source 43985. https://dom.spec.whatwg.org/#concept-event-fire 43986. https://html.spec.whatwg.org/#event-load 43987. https://html.spec.whatwg.org/#document 43988. https://html.spec.whatwg.org/#page-showing 43989. https://html.spec.whatwg.org/#event-pageshow 43990. https://html.spec.whatwg.org/#event-pagehide 43991. https://html.spec.whatwg.org/#event-pagehide 43992. https://html.spec.whatwg.org/#event-pageshow 43993. https://html.spec.whatwg.org/#document 43994. https://w3c.github.io/hr-time/#dom-domhighrestimestamp 43995. https://html.spec.whatwg.org/#document 43996. https://infra.spec.whatwg.org/#list 43997. https://html.spec.whatwg.org/#event-loop 43998. https://html.spec.whatwg.org/#document 43999. https://html.spec.whatwg.org/#document 44000. https://html.spec.whatwg.org/#document 44001. https://infra.spec.whatwg.org/#assert 44002. https://html.spec.whatwg.org/#concept-task 44003. https://html.spec.whatwg.org/#relevant-agent 44004. https://html.spec.whatwg.org/#concept-agent-event-loop 44005. https://html.spec.whatwg.org/#document-unload-timing-info 44006. https://html.spec.whatwg.org/#event-loop 44007. https://html.spec.whatwg.org/#event-loop 44008. https://html.spec.whatwg.org/#unload-a-document 44009. https://html.spec.whatwg.org/#in-parallel 44010. https://html.spec.whatwg.org/#session-history-entry 44011. https://html.spec.whatwg.org/#note-bfcache 44012. https://html.spec.whatwg.org/#concept-document-salvageable 44013. https://html.spec.whatwg.org/#concept-document-salvageable 44014. https://html.spec.whatwg.org/#relevant-agent 44015. https://html.spec.whatwg.org/#concept-agent-event-loop 44016. https://html.spec.whatwg.org/#termination-nesting-level 44017. https://html.spec.whatwg.org/#unload-counter 44018. https://html.spec.whatwg.org/#concept-document-salvageable 44019. https://html.spec.whatwg.org/#page-showing 44020. https://html.spec.whatwg.org/#page-showing 44021. https://html.spec.whatwg.org/#fire-a-page-transition-event 44022. https://html.spec.whatwg.org/#event-pagehide 44023. https://html.spec.whatwg.org/#concept-relevant-global 44024. https://html.spec.whatwg.org/#concept-document-salvageable 44025. https://html.spec.whatwg.org/#update-the-visibility-state 44026. https://html.spec.whatwg.org/#unload-event-start-time 44027. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 44028. https://html.spec.whatwg.org/#concept-relevant-global 44029. https://w3c.github.io/hr-time/#dfn-coarsen-time 44030. https://html.spec.whatwg.org/#relevant-settings-object 44031. https://html.spec.whatwg.org/#concept-settings-object-cross-origin-isolated-capability 44032. https://html.spec.whatwg.org/#concept-document-salvageable 44033. https://dom.spec.whatwg.org/#concept-event-fire 44034. https://html.spec.whatwg.org/#event-unload 44035. https://html.spec.whatwg.org/#concept-relevant-global 44036. https://html.spec.whatwg.org/#unload-event-end-time 44037. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 44038. https://html.spec.whatwg.org/#concept-relevant-global 44039. https://w3c.github.io/hr-time/#dfn-coarsen-time 44040. https://html.spec.whatwg.org/#relevant-settings-object 44041. https://html.spec.whatwg.org/#concept-settings-object-cross-origin-isolated-capability 44042. https://html.spec.whatwg.org/#termination-nesting-level 44043. https://html.spec.whatwg.org/#suspension-time 44044. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 44045. https://html.spec.whatwg.org/#concept-relevant-global 44046. https://html.spec.whatwg.org/#suspended-timer-handles 44047. https://infra.spec.whatwg.org/#map-getting-the-keys 44048. https://html.spec.whatwg.org/#map-of-active-timers 44049. https://html.spec.whatwg.org/#has-been-scrolled-by-the-user 44050. https://html.spec.whatwg.org/#unloading-document-cleanup-steps 44051. https://html.spec.whatwg.org/#other-applicable-specifications 44052. https://html.spec.whatwg.org/#node-navigable 44053. https://html.spec.whatwg.org/#top-level-traversable 44054. https://html.spec.whatwg.org/#build-not-restored-reasons-for-a-top-level-traversable-and-its-descendants 44055. https://html.spec.whatwg.org/#node-navigable 44056. https://html.spec.whatwg.org/#concept-document-salvageable 44057. https://html.spec.whatwg.org/#destroy-a-document 44058. https://html.spec.whatwg.org/#unload-counter 44059. https://html.spec.whatwg.org/#was-created-via-cross-origin-redirects 44060. https://dom.spec.whatwg.org/#concept-document-origin 44061. https://html.spec.whatwg.org/#same-origin 44062. https://dom.spec.whatwg.org/#concept-document-origin 44063. https://html.spec.whatwg.org/#previous-document-unload-timing 44064. https://html.spec.whatwg.org/#document 44065. https://html.spec.whatwg.org/#document 44066. https://infra.spec.whatwg.org/#assert 44067. https://html.spec.whatwg.org/#node-navigable 44068. https://html.spec.whatwg.org/#nav-traversable 44069. https://html.spec.whatwg.org/#tn-session-history-traversal-queue 44070. https://html.spec.whatwg.org/#child-navigable 44071. https://infra.spec.whatwg.org/#list-iterate 44072. https://html.spec.whatwg.org/#queue-a-global-task 44073. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 44074. https://html.spec.whatwg.org/#nav-window 44075. https://html.spec.whatwg.org/#unload-a-document-and-its-descendants 44076. https://html.spec.whatwg.org/#nav-document 44077. https://infra.spec.whatwg.org/#list-size 44078. https://html.spec.whatwg.org/#queue-a-global-task 44079. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 44080. https://html.spec.whatwg.org/#concept-relevant-global 44081. https://html.spec.whatwg.org/#unload-a-document 44082. https://html.spec.whatwg.org/#document 44083. https://html.spec.whatwg.org/#concept-relevant-global 44084. https://websockets.spec.whatwg.org/#websocket 44085. https://html.spec.whatwg.org/#concept-relevant-global 44086. https://websockets.spec.whatwg.org/#make-disappear 44087. https://websockets.spec.whatwg.org/#websocket 44088. https://html.spec.whatwg.org/#make-document-unsalvageable 44089. https://html.spec.whatwg.org/#blocking-websocket 44090. https://w3c.github.io/webtransport/#webtransport 44091. https://html.spec.whatwg.org/#concept-relevant-global 44092. https://w3c.github.io/webtransport/#context-cleanup-steps 44093. https://html.spec.whatwg.org/#concept-document-salvageable 44094. https://html.spec.whatwg.org/#eventsource 44095. https://html.spec.whatwg.org/#concept-relevant-global 44096. https://html.spec.whatwg.org/#concept-eventsource-forcibly-close 44097. https://infra.spec.whatwg.org/#map-clear 44098. https://html.spec.whatwg.org/#map-of-active-timers 44099. https://html.spec.whatwg.org/#unloading-document-cleanup-steps 44100. https://html.spec.whatwg.org/#unloading-document-cleanup-steps 44101. https://html.spec.whatwg.org/#refsFULLSCREEN 44102. https://html.spec.whatwg.org/#refsWEBNFC 44103. https://html.spec.whatwg.org/#refsWEBDRIVERBIDI 44104. https://html.spec.whatwg.org/#refsCOMPUTEPRESSURE 44105. https://html.spec.whatwg.org/#refsFILEAPI 44106. https://html.spec.whatwg.org/#refsMEDIASTREAM 44107. https://html.spec.whatwg.org/#refsPICTUREINPICTURE 44108. https://html.spec.whatwg.org/#refsSCREENORIENTATION 44109. https://html.spec.whatwg.org/#refsSW 44110. https://html.spec.whatwg.org/#refsWEBLOCKS 44111. https://html.spec.whatwg.org/#refsWEBAUDIO 44112. https://html.spec.whatwg.org/#refsWEBRTC 44113. https://github.com/whatwg/html/issues/8906 44114. https://html.spec.whatwg.org/#document 44115. https://infra.spec.whatwg.org/#assert 44116. https://html.spec.whatwg.org/#concept-task 44117. https://html.spec.whatwg.org/#relevant-agent 44118. https://html.spec.whatwg.org/#concept-agent-event-loop 44119. https://html.spec.whatwg.org/#abort-a-document 44120. https://html.spec.whatwg.org/#concept-document-salvageable 44121. https://html.spec.whatwg.org/#messageport 44122. https://html.spec.whatwg.org/#concept-relevant-global 44123. https://html.spec.whatwg.org/#concept-document-window 44124. https://html.spec.whatwg.org/#disentangle 44125. https://html.spec.whatwg.org/#unloading-document-cleanup-steps 44126. https://html.spec.whatwg.org/#other-applicable-specifications 44127. https://html.spec.whatwg.org/#concept-task 44128. https://html.spec.whatwg.org/#concept-task-document 44129. https://html.spec.whatwg.org/#task-queue 44130. https://html.spec.whatwg.org/#concept-document-bc 44131. https://html.spec.whatwg.org/#node-navigable 44132. https://html.spec.whatwg.org/#nav-active-history-entry 44133. https://html.spec.whatwg.org/#she-document-state 44134. https://html.spec.whatwg.org/#document-state-document 44135. https://infra.spec.whatwg.org/#list-remove 44136. https://html.spec.whatwg.org/#concept-WorkerGlobalScope-owner-set 44137. https://html.spec.whatwg.org/#workerglobalscope 44138. https://infra.spec.whatwg.org/#list-contain 44139. https://infra.spec.whatwg.org/#list-iterate 44140. https://html.spec.whatwg.org/#concept-document-worklet-global-scopes 44141. https://html.spec.whatwg.org/#terminate-a-worklet-global-scope 44142. https://html.spec.whatwg.org/#document 44143. https://html.spec.whatwg.org/#destroy-a-child-navigable 44144. https://html.spec.whatwg.org/#document 44145. https://html.spec.whatwg.org/#in-parallel 44146. https://html.spec.whatwg.org/#fully-active 44147. https://html.spec.whatwg.org/#ua-specific-blocking-reasons 44148. https://html.spec.whatwg.org/#blocking-masked 44149. https://html.spec.whatwg.org/#make-document-unsalvageable 44150. https://html.spec.whatwg.org/#node-navigable 44151. https://html.spec.whatwg.org/#top-level-traversable 44152. https://html.spec.whatwg.org/#build-not-restored-reasons-for-a-top-level-traversable-and-its-descendants 44153. https://html.spec.whatwg.org/#node-navigable 44154. https://html.spec.whatwg.org/#child-navigable 44155. https://infra.spec.whatwg.org/#list-iterate 44156. https://html.spec.whatwg.org/#queue-a-global-task 44157. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 44158. https://html.spec.whatwg.org/#nav-window 44159. https://html.spec.whatwg.org/#destroy-a-document-and-its-descendants 44160. https://html.spec.whatwg.org/#nav-document 44161. https://infra.spec.whatwg.org/#list-size 44162. https://html.spec.whatwg.org/#queue-a-global-task 44163. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 44164. https://html.spec.whatwg.org/#concept-relevant-global 44165. https://html.spec.whatwg.org/#destroy-a-document 44166. https://html.spec.whatwg.org/#document 44167. https://infra.spec.whatwg.org/#assert 44168. https://html.spec.whatwg.org/#concept-task 44169. https://html.spec.whatwg.org/#relevant-agent 44170. https://html.spec.whatwg.org/#concept-agent-event-loop 44171. https://fetch.spec.whatwg.org/#concept-fetch 44172. https://html.spec.whatwg.org/#concept-task 44173. https://html.spec.whatwg.org/#queue-a-task 44174. https://fetch.spec.whatwg.org/#concept-fetch 44175. https://html.spec.whatwg.org/#queue-a-task 44176. https://html.spec.whatwg.org/#concept-task 44177. https://html.spec.whatwg.org/#make-document-unsalvageable 44178. https://html.spec.whatwg.org/#blocking-fetch 44179. https://html.spec.whatwg.org/#concept-document-navigation-id 44180. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-aborted 44181. https://html.spec.whatwg.org/#node-navigable 44182. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-status 44183. https://w3c.github.io/webdriver-bidi/#navigation-status-id 44184. https://html.spec.whatwg.org/#concept-document-navigation-id 44185. https://w3c.github.io/webdriver-bidi/#navigation-status-status 44186. https://w3c.github.io/webdriver-bidi/#navigation-status-canceled 44187. https://w3c.github.io/webdriver-bidi/#navigation-status-url 44188. https://dom.spec.whatwg.org/#concept-document-url 44189. https://html.spec.whatwg.org/#concept-document-navigation-id 44190. https://html.spec.whatwg.org/#active-parser 44191. https://html.spec.whatwg.org/#active-parser-was-aborted 44192. https://html.spec.whatwg.org/#abort-a-parser 44193. https://html.spec.whatwg.org/#concept-document-salvageable 44194. https://html.spec.whatwg.org/#make-document-unsalvageable 44195. https://html.spec.whatwg.org/#blocking-parser-aborted 44196. https://html.spec.whatwg.org/#document 44197. https://infra.spec.whatwg.org/#assert 44198. https://html.spec.whatwg.org/#concept-task 44199. https://html.spec.whatwg.org/#relevant-agent 44200. https://html.spec.whatwg.org/#concept-agent-event-loop 44201. https://html.spec.whatwg.org/#descendant-navigables 44202. https://infra.spec.whatwg.org/#list-iterate 44203. https://html.spec.whatwg.org/#queue-a-global-task 44204. https://html.spec.whatwg.org/#navigation-and-traversal-task-source 44205. https://html.spec.whatwg.org/#nav-window 44206. https://html.spec.whatwg.org/#abort-a-document 44207. https://html.spec.whatwg.org/#nav-document 44208. https://html.spec.whatwg.org/#nav-document 44209. https://html.spec.whatwg.org/#concept-document-salvageable 44210. https://html.spec.whatwg.org/#concept-document-salvageable 44211. https://html.spec.whatwg.org/#abort-a-document 44212. https://html.spec.whatwg.org/#navigable 44213. https://html.spec.whatwg.org/#nav-document 44214. https://html.spec.whatwg.org/#unload-counter 44215. https://html.spec.whatwg.org/#ongoing-navigation 44216. https://html.spec.whatwg.org/#navigation-id 44217. https://html.spec.whatwg.org/#set-the-ongoing-navigation 44218. https://html.spec.whatwg.org/#ongoing-navigation 44219. https://html.spec.whatwg.org/#abort-a-document-and-its-descendants 44220. https://html.spec.whatwg.org/#nav-traversal-ui 44221. https://html.spec.whatwg.org/#ongoing-navigation 44222. https://html.spec.whatwg.org/#dom-window-stop 44223. https://github.com/whatwg/html/issues/6905 44224. https://html.spec.whatwg.org/#x-frame-options 44225. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options 44226. https://html.spec.whatwg.org/#document 44227. https://html.spec.whatwg.org/#child-navigable 44228. https://w3c.github.io/webappsec-csp/#frame-ancestors 44229. https://html.spec.whatwg.org/#refsCSP 44230. https://html.spec.whatwg.org/#refsRFC7034 44231. https://w3c.github.io/webappsec-csp/#frame-ancestors 44232. https://html.spec.whatwg.org/#x-frame-options 44233. https://fetch.spec.whatwg.org/#concept-response 44234. https://html.spec.whatwg.org/#x-frame-options 44235. https://fetch.spec.whatwg.org/#abnf 44236. https://fetch.spec.whatwg.org/#concept-response 44237. https://html.spec.whatwg.org/#navigable 44238. https://w3c.github.io/webappsec-csp/#csp-list 44239. https://html.spec.whatwg.org/#concept-origin 44240. https://html.spec.whatwg.org/#child-navigable 44241. https://infra.spec.whatwg.org/#list-iterate 44242. https://w3c.github.io/webappsec-csp/#policy-disposition 44243. https://infra.spec.whatwg.org/#iteration-continue 44244. https://w3c.github.io/webappsec-csp/#policy-directive-set 44245. https://infra.spec.whatwg.org/#list-contain 44246. https://w3c.github.io/webappsec-csp/#frame-ancestors 44247. https://fetch.spec.whatwg.org/#concept-header-list-get-decode-split 44248. https://html.spec.whatwg.org/#x-frame-options 44249. https://fetch.spec.whatwg.org/#concept-response-header-list 44250. https://infra.spec.whatwg.org/#ordered-set 44251. https://infra.spec.whatwg.org/#list-iterate 44252. https://infra.spec.whatwg.org/#set-append 44253. https://infra.spec.whatwg.org/#ascii-lowercase 44254. https://infra.spec.whatwg.org/#list-size 44255. https://infra.spec.whatwg.org/#list-contain 44256. https://html.spec.whatwg.org/#x-frame-options 44257. https://infra.spec.whatwg.org/#list-size 44258. https://html.spec.whatwg.org/#nav-container-document 44259. https://infra.spec.whatwg.org/#iteration-while 44260. https://dom.spec.whatwg.org/#concept-document-origin 44261. https://html.spec.whatwg.org/#same-origin 44262. https://html.spec.whatwg.org/#doc-container-document 44263. https://html.spec.whatwg.org/#x-frame-options 44264. https://html.spec.whatwg.org/#x-frame-options 44265. https://html.spec.whatwg.org/#refresh 44266. https://html.spec.whatwg.org/#the-meta-element 44267. https://html.spec.whatwg.org/#attr-meta-http-equiv 44268. https://html.spec.whatwg.org/#attr-meta-http-equiv-refresh 44269. https://html.spec.whatwg.org/#conformance-attr-meta-http-equiv-refresh 44270. https://html.spec.whatwg.org/#initialise-the-document-object 44271. https://html.spec.whatwg.org/#navigate 44272. https://html.spec.whatwg.org/#reload 44273. https://html.spec.whatwg.org/#nav-stop 44274. https://html.spec.whatwg.org/#top-level-traversable 44275. https://html.spec.whatwg.org/#top-level-traversable-set 44276. https://html.spec.whatwg.org/#traverse-the-history-by-a-delta 44277. https://html.spec.whatwg.org/#top-level-traversable 44278. https://html.spec.whatwg.org/#top-level-traversable-set 44279. https://html.spec.whatwg.org/#dom-history-pushstate 44280. https://html.spec.whatwg.org/#navigate-fragid 44281. https://github.com/whatwg/html/issues/7832 44282. https://html.spec.whatwg.org/#create-a-fresh-top-level-traversable 44283. https://url.spec.whatwg.org/#concept-url 44284. https://html.spec.whatwg.org/#close-a-top-level-traversable 44285. https://html.spec.whatwg.org/#top-level-traversable 44286. https://html.spec.whatwg.org/#top-level-traversable-set 44287. https://html.spec.whatwg.org/#navigable 44288. https://html.spec.whatwg.org/#top-level-traversable 44289. https://html.spec.whatwg.org/#navigate 44290. https://html.spec.whatwg.org/#reload 44291. https://html.spec.whatwg.org/#nav-stop 44292. https://html.spec.whatwg.org/#destroy-a-top-level-traversable 44293. https://html.spec.whatwg.org/#top-level-traversable 44294. https://html.spec.whatwg.org/#reload 44295. https://html.spec.whatwg.org/#navigable 44296. https://html.spec.whatwg.org/#nav-active-history-entry 44297. https://html.spec.whatwg.org/#she-document-state 44298. https://html.spec.whatwg.org/#document-state-resource 44299. https://html.spec.whatwg.org/#post-resource 44300. https://html.spec.whatwg.org/#reload 44301. https://html.spec.whatwg.org/#navigable 44302. https://html.spec.whatwg.org/#navigate 44303. https://html.spec.whatwg.org/#navigation-user-involvement 44304. https://html.spec.whatwg.org/#uni-browser-ui 44305. https://html.spec.whatwg.org/#reload 44306. https://html.spec.whatwg.org/#reload-user-involvement 44307. https://html.spec.whatwg.org/#uni-browser-ui 44308. https://html.spec.whatwg.org/#traverse-the-history-by-a-delta 44309. https://html.spec.whatwg.org/#traverse-sourcedocument 44310. https://html.spec.whatwg.org/#top-level-traversable 44311. https://html.spec.whatwg.org/#tn-session-history-entries 44312. https://html.spec.whatwg.org/#traverse-the-history-by-a-delta 44313. https://html.spec.whatwg.org/#navigable 44314. https://html.spec.whatwg.org/#traversable-navigable 44315. https://html.spec.whatwg.org/#navigable 44316. https://html.spec.whatwg.org/#top-level-browsing-context 44317. https://html.spec.whatwg.org/#is-popup 44318. https://html.spec.whatwg.org/#top-level-traversable 44319. https://drafts.csswg.org/cssom-view/#set-up-browsing-context-features 44320. https://html.spec.whatwg.org/#the-script-element 44321. https://html.spec.whatwg.org/#the-javascript:-url-special-case 44322. https://html.spec.whatwg.org/#event-handler-content-attributes 44323. https://html.spec.whatwg.org/#event-handler-idl-attributes 44324. https://tc39.es/ecma262/#sec-agents 44325. https://tc39.es/ecma262/#sec-agents 44326. https://html.spec.whatwg.org/#concept-global-object-realm 44327. https://html.spec.whatwg.org/#window 44328. https://tc39.es/ecma262/#sec-agents 44329. https://html.spec.whatwg.org/#same-origin-domain 44330. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 44331. https://html.spec.whatwg.org/#window 44332. https://html.spec.whatwg.org/#dom-document-domain 44333. https://tc39.es/ecma262/#sec-agent-clusters 44334. https://html.spec.whatwg.org/#is-origin-keyed 44335. https://html.spec.whatwg.org/#window 44336. https://html.spec.whatwg.org/#same-origin 44337. https://html.spec.whatwg.org/#dom-document-domain 44338. https://html.spec.whatwg.org/#window 44339. https://html.spec.whatwg.org/#same-origin 44340. https://html.spec.whatwg.org/#similar-origin-window-agent 44341. https://html.spec.whatwg.org/#browsing-context-group 44342. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 44343. https://html.spec.whatwg.org/#sharedworkerglobalscope 44344. https://w3c.github.io/ServiceWorker/#serviceworkerglobalscope 44345. https://html.spec.whatwg.org/#workletglobalscope 44346. https://html.spec.whatwg.org/#shared-worker-agent 44347. https://html.spec.whatwg.org/#dedicated-worker-agent 44348. https://tc39.es/ecma262/#sec-atomics-object 44349. https://tc39.es/ecma262/#sec-forward-progress 44350. https://tc39.es/ecma262/#sec-candidate-executions 44351. https://tc39.es/ecma262/#sec-agents 44352. https://html.spec.whatwg.org/#concept-agent-event-loop 44353. https://html.spec.whatwg.org/#event-loop 44354. https://tc39.es/ecma262/#sec-code-realms 44355. https://tc39.es/ecma262/#sec-agents 44356. https://webidl.spec.whatwg.org/#dfn-platform-object 44357. https://html.spec.whatwg.org/#concept-relevant-realm 44358. https://html.spec.whatwg.org/#realm's-agent 44359. https://tc39.es/ecma262/#current-realm 44360. https://tc39.es/ecma262/#surrounding-agent 44361. https://tc39.es/ecma262/#sec-agent-clusters 44362. https://html.spec.whatwg.org/#obtain-similar-origin-window-agent 44363. https://html.spec.whatwg.org/#obtaining-a-worker/worklet-agent 44364. https://tc39.es/ecma262/#sec-agent-clusters 44365. https://tc39.es/ecma262/#sec-agents 44366. https://tc39.es/ecma262/#sec-sharedarraybuffer-objects 44367. https://tc39.es/ecma262/#sec-agent-clusters 44368. https://tc39.es/ecma262/#sec-agents 44369. https://tc39.es/ecma262/#sec-agent-clusters 44370. https://tc39.es/ecma262/#sec-agent-clusters 44371. https://html.spec.whatwg.org/#cross-origin-isolation-mode 44372. https://html.spec.whatwg.org/#cross-origin-isolation-none 44373. https://tc39.es/ecma262/#sec-agent-clusters 44374. https://tc39.es/ecma262/#sec-agent-clusters 44375. https://html.spec.whatwg.org/#similar-origin-window-agent 44376. https://html.spec.whatwg.org/#site 44377. https://html.spec.whatwg.org/#concept-origin-tuple 44378. https://html.spec.whatwg.org/#origin-keyed-agent-clusters 44379. https://html.spec.whatwg.org/#site 44380. https://html.spec.whatwg.org/#agent-cluster-key 44381. https://html.spec.whatwg.org/#scheme-and-host 44382. https://html.spec.whatwg.org/#concept-origin 44383. https://html.spec.whatwg.org/#concept-origin 44384. https://html.spec.whatwg.org/#browsing-context-group 44385. https://html.spec.whatwg.org/#obtain-a-site 44386. https://html.spec.whatwg.org/#bcg-cross-origin-isolation 44387. https://html.spec.whatwg.org/#cross-origin-isolation-none 44388. https://html.spec.whatwg.org/#historical-agent-cluster-key-map 44389. https://infra.spec.whatwg.org/#map-exists 44390. https://html.spec.whatwg.org/#historical-agent-cluster-key-map 44391. https://html.spec.whatwg.org/#historical-agent-cluster-key-map 44392. https://html.spec.whatwg.org/#agent-cluster-map 44393. https://infra.spec.whatwg.org/#map-exists 44394. https://tc39.es/ecma262/#sec-agent-clusters 44395. https://html.spec.whatwg.org/#agent-cluster-cross-origin-isolation 44396. https://html.spec.whatwg.org/#bcg-cross-origin-isolation 44397. https://html.spec.whatwg.org/#concept-origin 44398. https://infra.spec.whatwg.org/#assert 44399. https://html.spec.whatwg.org/#is-origin-keyed 44400. https://html.spec.whatwg.org/#create-an-agent 44401. https://html.spec.whatwg.org/#agent-cluster-map 44402. https://html.spec.whatwg.org/#similar-origin-window-agent 44403. https://html.spec.whatwg.org/#agent-cluster-map 44404. https://html.spec.whatwg.org/#similar-origin-window-agent 44405. https://html.spec.whatwg.org/#dedicated-worker-agent 44406. https://html.spec.whatwg.org/#worklet-agent 44407. https://tc39.es/ecma262/#sec-agent-clusters 44408. https://html.spec.whatwg.org/#environment-settings-object 44409. https://tc39.es/ecma262/#sec-agent-clusters 44410. https://html.spec.whatwg.org/#is-origin-keyed 44411. https://html.spec.whatwg.org/#dom-originagentcluster 44412. https://infra.spec.whatwg.org/#assert 44413. https://html.spec.whatwg.org/#environment-settings-object's-realm 44414. https://html.spec.whatwg.org/#realm's-agent 44415. https://html.spec.whatwg.org/#create-an-agent 44416. https://html.spec.whatwg.org/#environment-settings-object 44417. https://html.spec.whatwg.org/#obtaining-a-worker/worklet-agent 44418. https://html.spec.whatwg.org/#environment-settings-object 44419. https://html.spec.whatwg.org/#obtaining-a-worker/worklet-agent 44420. https://html.spec.whatwg.org/#obtaining-a-worker/worklet-agent 44421. https://tc39.es/ecma262/#sec-agent-clusters 44422. https://tc39.es/ecma262/#sec-sharedarraybuffer-objects 44423. https://html.spec.whatwg.org/#window 44424. https://html.spec.whatwg.org/#window 44425. https://html.spec.whatwg.org/#window 44426. https://html.spec.whatwg.org/#the-iframe-element 44427. https://html.spec.whatwg.org/#same-origin-domain 44428. https://html.spec.whatwg.org/#window 44429. https://html.spec.whatwg.org/#same-origin-domain 44430. https://html.spec.whatwg.org/#window 44431. https://html.spec.whatwg.org/#window 44432. https://tc39.es/ecma262/#sec-agent-clusters 44433. https://html.spec.whatwg.org/#window 44434. https://html.spec.whatwg.org/#window 44435. https://html.spec.whatwg.org/#window 44436. https://html.spec.whatwg.org/#window 44437. https://html.spec.whatwg.org/#the-iframe-element 44438. https://html.spec.whatwg.org/#same-origin-domain 44439. https://html.spec.whatwg.org/#window 44440. https://html.spec.whatwg.org/#window 44441. https://html.spec.whatwg.org/#same-origin 44442. https://tc39.es/ecma262/#sec-code-realms 44443. https://infra.spec.whatwg.org/#implementation-defined 44444. https://html.spec.whatwg.org/#global-object 44445. https://html.spec.whatwg.org/#window 44446. https://html.spec.whatwg.org/#workerglobalscope 44447. https://html.spec.whatwg.org/#environment-settings-object 44448. https://html.spec.whatwg.org/#navigate 44449. https://html.spec.whatwg.org/#environment 44450. https://html.spec.whatwg.org/#navigation-params 44451. https://html.spec.whatwg.org/#navigation-params-reserved-environment 44452. https://fetch.spec.whatwg.org/#concept-request 44453. https://fetch.spec.whatwg.org/#concept-request-reserved-client 44454. https://html.spec.whatwg.org/#environment 44455. https://html.spec.whatwg.org/#environment 44456. https://url.spec.whatwg.org/#concept-url 44457. https://html.spec.whatwg.org/#environment 44458. https://html.spec.whatwg.org/#window 44459. https://html.spec.whatwg.org/#environment-settings-object 44460. https://html.spec.whatwg.org/#concept-settings-object-global 44461. https://html.spec.whatwg.org/#concept-document-window 44462. https://dom.spec.whatwg.org/#concept-document-url 44463. https://html.spec.whatwg.org/#dom-history-pushstate 44464. https://url.spec.whatwg.org/#concept-url 44465. https://html.spec.whatwg.org/#concept-environment-creation-url 44466. https://html.spec.whatwg.org/#environment 44467. https://infra.spec.whatwg.org/#implementation-defined 44468. https://html.spec.whatwg.org/#concept-origin 44469. https://html.spec.whatwg.org/#environment 44470. https://html.spec.whatwg.org/#concept-settings-object-origin 44471. https://html.spec.whatwg.org/#concept-environment-top-level-origin 44472. https://infra.spec.whatwg.org/#implementation-defined 44473. https://html.spec.whatwg.org/#concept-environment-top-level-creation-url 44474. https://url.spec.whatwg.org/#concept-url-origin 44475. https://html.spec.whatwg.org/#browsing-context 44476. https://fetch.spec.whatwg.org/#navigation-request 44477. https://w3c.github.io/ServiceWorker/#dfn-service-worker 44478. https://w3c.github.io/ServiceWorker/#dfn-control 44479. https://html.spec.whatwg.org/#environment 44480. https://html.spec.whatwg.org/#environment 44481. https://html.spec.whatwg.org/#environment-discarding-steps 44482. https://html.spec.whatwg.org/#environment 44483. https://tc39.es/ecma262/#sec-execution-contexts 44484. https://html.spec.whatwg.org/#the-script-element 44485. https://tc39.es/ecma262/#sec-code-realms 44486. https://html.spec.whatwg.org/#run-a-classic-script 44487. https://html.spec.whatwg.org/#run-a-module-script 44488. https://tc39.es/ecma262/#execution-context-stack 44489. https://tc39.es/ecma262/#sec-source-text-module-records 44490. https://tc39.es/ecma262/#sec-moduleevaluation 44491. https://html.spec.whatwg.org/#module-map 44492. https://url.spec.whatwg.org/#concept-url 44493. https://html.spec.whatwg.org/#environment-settings-object 44494. https://html.spec.whatwg.org/#parse-a-url 44495. https://html.spec.whatwg.org/#concept-origin 44496. https://html.spec.whatwg.org/#policy-container 44497. https://html.spec.whatwg.org/#environment-settings-object 44498. https://html.spec.whatwg.org/#refsHRT 44499. https://html.spec.whatwg.org/#environment-settings-object 44500. https://html.spec.whatwg.org/#concept-settings-object-global 44501. https://html.spec.whatwg.org/#relevant-agent 44502. https://html.spec.whatwg.org/#concept-agent-event-loop 44503. https://tc39.es/ecma262/#sec-code-realms 44504. https://tc39.es/ecma262/#sec-code-realms 44505. https://html.spec.whatwg.org/#creating-a-new-javascript-realm 44506. https://html.spec.whatwg.org/#global-object 44507. https://html.spec.whatwg.org/#window 44508. https://html.spec.whatwg.org/#workerglobalscope 44509. https://html.spec.whatwg.org/#workletglobalscope 44510. https://html.spec.whatwg.org/#global-object 44511. https://html.spec.whatwg.org/#global-object 44512. https://infra.spec.whatwg.org/#ordered-set 44513. https://webidl.spec.whatwg.org/#idl-promise 44514. https://infra.spec.whatwg.org/#implementation-defined 44515. https://html.spec.whatwg.org/#global-object 44516. https://infra.spec.whatwg.org/#list 44517. https://webidl.spec.whatwg.org/#idl-promise 44518. https://html.spec.whatwg.org/#global-object 44519. https://html.spec.whatwg.org/#empty-import-map 44520. https://html.spec.whatwg.org/#window 44521. https://html.spec.whatwg.org/#global-object 44522. https://html.spec.whatwg.org/#concept-global-import-map 44523. https://html.spec.whatwg.org/#concept-global-import-map 44524. https://html.spec.whatwg.org/#module-script 44525. https://html.spec.whatwg.org/#global-object 44526. https://infra.spec.whatwg.org/#ordered-set 44527. https://html.spec.whatwg.org/#specifier-resolution-record 44528. https://html.spec.whatwg.org/#resolved-module-set 44529. https://html.spec.whatwg.org/#import-map 44530. https://html.spec.whatwg.org/#window 44531. https://html.spec.whatwg.org/#global-object 44532. https://tc39.es/ecma262/#sec-code-realms 44533. https://html.spec.whatwg.org/#global-object 44534. https://html.spec.whatwg.org/#environment-settings-object 44535. https://tc39.es/ecma262/#sec-code-realms 44536. https://tc39.es/ecma262/#sec-code-realms 44537. https://html.spec.whatwg.org/#global-object 44538. https://html.spec.whatwg.org/#creating-a-new-javascript-realm 44539. https://tc39.es/ecma262/#sec-code-realms 44540. https://html.spec.whatwg.org/#global-object 44541. https://html.spec.whatwg.org/#environment-settings-object 44542. https://html.spec.whatwg.org/#relevant-settings-object 44543. https://html.spec.whatwg.org/#environment-settings-object 44544. https://html.spec.whatwg.org/#realm-execution-context 44545. https://html.spec.whatwg.org/#environment-settings-object 44546. https://html.spec.whatwg.org/#environment-settings-object's-realm 44547. https://tc39.es/ecma262/#sec-agents 44548. https://tc39.es/ecma262/#sec-initializehostdefinedrealm 44549. https://tc39.es/ecma262/#running-execution-context 44550. https://tc39.es/ecma262/#sec-execution-contexts 44551. https://tc39.es/ecma262/#execution-context-stack 44552. https://tc39.es/ecma262/#sec-agent-clusters 44553. https://html.spec.whatwg.org/#agent-cluster-cross-origin-isolation 44554. https://html.spec.whatwg.org/#cross-origin-isolation-none 44555. https://html.spec.whatwg.org/#concept-realm-global 44556. https://infra.spec.whatwg.org/#assert 44557. https://tc39.es/ecma262/#sec-code-realms 44558. https://html.spec.whatwg.org/#global-object 44559. https://html.spec.whatwg.org/#environment-settings-object 44560. https://tc39.es/ecma262/#current-realm 44561. https://webidl.spec.whatwg.org/#dfn-platform-object 44562. https://html.spec.whatwg.org/#concept-relevant-realm 44563. https://tc39.es/ecma262/#sec-code-realms 44564. https://webidl.spec.whatwg.org/#dfn-platform-object 44565. https://html.spec.whatwg.org/#concept-relevant-realm 44566. https://html.spec.whatwg.org/#concept-relevant-realm 44567. https://html.spec.whatwg.org/#concept-entry-everything 44568. https://html.spec.whatwg.org/#concept-incumbent-everything 44569. https://html.spec.whatwg.org/#concept-current-everything 44570. https://html.spec.whatwg.org/#concept-relevant-everything 44571. https://webidl.spec.whatwg.org/#dfn-platform-object 44572. https://html.spec.whatwg.org/#concept-incumbent-everything 44573. https://html.spec.whatwg.org/#concept-entry-everything 44574. https://github.com/whatwg/html/issues/1430 44575. https://html.spec.whatwg.org/#concept-incumbent-everything 44576. https://github.com/whatwg/html/issues/1431 44577. https://html.spec.whatwg.org/#concept-entry-everything 44578. https://html.spec.whatwg.org/#concept-relevant-everything 44579. https://html.spec.whatwg.org/#concept-current-everything 44580. https://tc39.es/ecma262/#sec-code-realms 44581. https://html.spec.whatwg.org/#the-iframe-element 44582. https://html.spec.whatwg.org/#browsing-context 44583. https://tc39.es/ecma262/#sec-code-realms 44584. https://html.spec.whatwg.org/#global-object 44585. https://html.spec.whatwg.org/#environment-settings-object 44586. https://html.spec.whatwg.org/#dom-print 44587. https://html.spec.whatwg.org/#concept-entry-realm 44588. https://html.spec.whatwg.org/#concept-incumbent-realm 44589. https://tc39.es/ecma262/#current-realm 44590. https://html.spec.whatwg.org/#dom-print 44591. https://html.spec.whatwg.org/#concept-relevant-realm 44592. https://html.spec.whatwg.org/#dom-print 44593. https://html.spec.whatwg.org/#concept-relevant-everything 44594. https://html.spec.whatwg.org/#concept-current-everything 44595. https://w3c.github.io/battery/#widl-Navigator-getBattery-Promise-BatteryManager 44596. https://html.spec.whatwg.org/#concept-relevant-realm 44597. https://html.spec.whatwg.org/#navigator 44598. https://html.spec.whatwg.org/#refsBATTERY 44599. https://w3c.github.io/battery/#widl-Navigator-getBattery-Promise-BatteryManager 44600. https://tc39.es/ecma262/#current-realm 44601. https://w3c.github.io/battery/#widl-Navigator-getBattery-Promise-BatteryManager 44602. https://html.spec.whatwg.org/#navigator 44603. https://tc39.es/ecma262/#sec-code-realms 44604. https://html.spec.whatwg.org/#concept-relevant-realm 44605. https://html.spec.whatwg.org/#concept-entry-everything 44606. https://html.spec.whatwg.org/#concept-incumbent-everything 44607. https://html.spec.whatwg.org/#concept-current-everything 44608. https://html.spec.whatwg.org/#concept-relevant-everything 44609. https://html.spec.whatwg.org/#calling-scripts 44610. https://html.spec.whatwg.org/#realm-execution-context 44611. https://tc39.es/ecma262/#execution-context-stack 44612. https://tc39.es/ecma262/#sec-execution-contexts 44613. https://tc39.es/ecma262/#execution-context-stack 44614. https://html.spec.whatwg.org/#realm-execution-context 44615. https://html.spec.whatwg.org/#entry-execution-context 44616. https://html.spec.whatwg.org/#concept-realm-settings-object 44617. https://html.spec.whatwg.org/#concept-entry-realm 44618. https://html.spec.whatwg.org/#concept-realm-global 44619. https://html.spec.whatwg.org/#concept-entry-realm 44620. https://tc39.es/ecma262/#sec-execution-contexts 44621. https://html.spec.whatwg.org/#prepare-to-run-a-callback 44622. https://html.spec.whatwg.org/#clean-up-after-running-a-callback 44623. https://html.spec.whatwg.org/#event-loop 44624. https://html.spec.whatwg.org/#incumbent-settings-object 44625. https://html.spec.whatwg.org/#prepare-to-run-a-callback 44626. https://html.spec.whatwg.org/#clean-up-after-running-a-callback 44627. https://html.spec.whatwg.org/#refsWEBIDL 44628. https://webidl.spec.whatwg.org/#invoke-a-callback-function 44629. https://html.spec.whatwg.org/#hostenqueuepromisejob 44630. https://html.spec.whatwg.org/#incumbent-settings-object 44631. https://html.spec.whatwg.org/#environment-settings-object 44632. https://html.spec.whatwg.org/#backup-incumbent-settings-object-stack 44633. https://html.spec.whatwg.org/#topmost-script-having-execution-context 44634. https://html.spec.whatwg.org/#skip-when-determining-incumbent-counter 44635. https://html.spec.whatwg.org/#environment-settings-object 44636. https://html.spec.whatwg.org/#topmost-script-having-execution-context 44637. https://html.spec.whatwg.org/#topmost-script-having-execution-context 44638. https://html.spec.whatwg.org/#prepare-to-run-a-callback 44639. https://html.spec.whatwg.org/#skip-when-determining-incumbent-counter 44640. https://infra.spec.whatwg.org/#assert 44641. https://html.spec.whatwg.org/#backup-incumbent-settings-object-stack 44642. https://html.spec.whatwg.org/#backup-incumbent-settings-object-stack 44643. https://tc39.es/ecma262/#execution-context-stack 44644. https://tc39.es/ecma262/#execution-context-stack 44645. https://html.spec.whatwg.org/#topmost-script-having-execution-context 44646. https://html.spec.whatwg.org/#skip-when-determining-incumbent-counter 44647. https://infra.spec.whatwg.org/#assert 44648. https://html.spec.whatwg.org/#backup-incumbent-settings-object-stack 44649. https://html.spec.whatwg.org/#incumbent-settings-object 44650. https://html.spec.whatwg.org/#calling-scripts 44651. https://webidl.spec.whatwg.org/#invoke-a-callback-function 44652. https://html.spec.whatwg.org/#incumbent-settings-object 44653. https://html.spec.whatwg.org/#event-loop 44654. https://html.spec.whatwg.org/#concept-incumbent-everything 44655. https://html.spec.whatwg.org/#backup-incumbent-settings-object-stack 44656. https://html.spec.whatwg.org/#concept-realm-settings-object 44657. https://html.spec.whatwg.org/#environment-settings-object's-realm 44658. https://html.spec.whatwg.org/#incumbent-settings-object 44659. https://html.spec.whatwg.org/#concept-settings-object-global 44660. https://html.spec.whatwg.org/#incumbent-settings-object 44661. https://html.spec.whatwg.org/#incumbent 44662. https://html.spec.whatwg.org/#environment-settings-object 44663. https://html.spec.whatwg.org/#incumbent-settings-object 44664. https://html.spec.whatwg.org/#dom-window-postmessage 44665. https://html.spec.whatwg.org/#window-post-message-steps 44666. https://html.spec.whatwg.org/#incumbent-settings-object 44667. https://html.spec.whatwg.org/#dom-messageevent-source 44668. https://html.spec.whatwg.org/#messageevent 44669. https://html.spec.whatwg.org/#relevant-settings-object 44670. https://html.spec.whatwg.org/#window-post-message-steps 44671. https://html.spec.whatwg.org/#incumbent-settings-object 44672. https://html.spec.whatwg.org/#topmost-script-having-execution-context 44673. https://html.spec.whatwg.org/#the-script-element 44674. https://tc39.es/ecma262/#execution-context-stack 44675. https://tc39.es/ecma262/#sec-runtime-semantics-scriptevaluation 44676. https://html.spec.whatwg.org/#run-a-classic-script 44677. https://html.spec.whatwg.org/#skip-when-determining-incumbent-counter 44678. https://html.spec.whatwg.org/#incumbent-settings-object 44679. https://html.spec.whatwg.org/#environment-settings-object 44680. https://html.spec.whatwg.org/#environment-settings-object 44681. https://html.spec.whatwg.org/#relevant-settings-object 44682. https://webidl.spec.whatwg.org/#this 44683. https://html.spec.whatwg.org/#dom-window-postmessage 44684. https://html.spec.whatwg.org/#dom-settimeout 44685. https://html.spec.whatwg.org/#concept-incumbent-everything 44686. https://webidl.spec.whatwg.org/#es-type-mapping 44687. https://html.spec.whatwg.org/#incumbent-settings-object 44688. https://webidl.spec.whatwg.org/#dfn-callback-context 44689. https://html.spec.whatwg.org/#concept-task 44690. https://html.spec.whatwg.org/#dom-settimeout 44691. https://webidl.spec.whatwg.org/#invoke-a-callback-function 44692. https://html.spec.whatwg.org/#prepare-to-run-a-callback 44693. https://webidl.spec.whatwg.org/#dfn-callback-context 44694. https://html.spec.whatwg.org/#backup-incumbent-settings-object-stack 44695. https://html.spec.whatwg.org/#topmost-script-having-execution-context 44696. https://html.spec.whatwg.org/#skip-when-determining-incumbent-counter 44697. https://html.spec.whatwg.org/#dom-window-postmessage 44698. https://html.spec.whatwg.org/#dom-window-postmessage 44699. https://html.spec.whatwg.org/#incumbent-settings-object 44700. https://html.spec.whatwg.org/#topmost-script-having-execution-context 44701. https://tc39.es/ecma262/#sec-execution-contexts 44702. https://html.spec.whatwg.org/#dom-window-postmessage 44703. https://tc39.es/ecma262/#sec-runtime-semantics-scriptevaluation 44704. https://html.spec.whatwg.org/#backup-incumbent-settings-object-stack 44705. https://html.spec.whatwg.org/#relevant-settings-object 44706. https://html.spec.whatwg.org/#incumbent-settings-object 44707. https://html.spec.whatwg.org/#dom-window-postmessage 44708. https://html.spec.whatwg.org/#environment-settings-object 44709. https://html.spec.whatwg.org/#dom-location-assign 44710. https://html.spec.whatwg.org/#location-object-navigate 44711. https://html.spec.whatwg.org/#incumbent-settings-object 44712. https://w3c.github.io/uievents/#event-type-click 44713. https://html.spec.whatwg.org/#concept-incumbent-everything 44714. https://webidl.spec.whatwg.org/#es-type-mapping 44715. https://html.spec.whatwg.org/#incumbent-settings-object 44716. https://webidl.spec.whatwg.org/#dfn-callback-context 44717. https://html.spec.whatwg.org/#dom-click 44718. https://dom.spec.whatwg.org/#concept-event-dispatch 44719. https://w3c.github.io/uievents/#event-type-click 44720. https://html.spec.whatwg.org/#prepare-to-run-a-callback 44721. https://html.spec.whatwg.org/#topmost-script-having-execution-context 44722. https://html.spec.whatwg.org/#skip-when-determining-incumbent-counter 44723. https://html.spec.whatwg.org/#environment-settings-object 44724. https://html.spec.whatwg.org/#eventhandler 44725. https://webidl.spec.whatwg.org/#dfn-callback-context 44726. https://html.spec.whatwg.org/#backup-incumbent-settings-object-stack 44727. https://html.spec.whatwg.org/#location-object-navigate 44728. https://html.spec.whatwg.org/#incumbent-settings-object 44729. https://html.spec.whatwg.org/#topmost-script-having-execution-context 44730. https://html.spec.whatwg.org/#skip-when-determining-incumbent-counter 44731. https://html.spec.whatwg.org/#backup-incumbent-settings-object-stack 44732. https://html.spec.whatwg.org/#environment-settings-object 44733. https://html.spec.whatwg.org/#the-iframe-element 44734. https://html.spec.whatwg.org/#document 44735. https://fetch.spec.whatwg.org/#concept-request-client 44736. https://www.w3.org/Bugs/Public/show_bug.cgi?id=26603#c36 44737. https://html.spec.whatwg.org/#concept-current-everything 44738. https://html.spec.whatwg.org/#concept-relevant-everything 44739. https://tc39.es/ecma262/#current-realm 44740. https://html.spec.whatwg.org/#refsJAVASCRIPT 44741. https://html.spec.whatwg.org/#concept-realm-settings-object 44742. https://tc39.es/ecma262/#current-realm 44743. https://html.spec.whatwg.org/#concept-realm-global 44744. https://tc39.es/ecma262/#current-realm 44745. https://webidl.spec.whatwg.org/#dfn-platform-object 44746. https://webidl.spec.whatwg.org/#es-platform-objects 44747. https://webidl.spec.whatwg.org/#dfn-platform-object 44748. https://html.spec.whatwg.org/#concept-realm-settings-object 44749. https://html.spec.whatwg.org/#concept-relevant-realm 44750. https://webidl.spec.whatwg.org/#dfn-platform-object 44751. https://html.spec.whatwg.org/#concept-realm-global 44752. https://html.spec.whatwg.org/#concept-relevant-realm 44753. https://html.spec.whatwg.org/#environment-settings-object 44754. https://infra.spec.whatwg.org/#tracking-vector 44755. https://html.spec.whatwg.org/#environment-settings-object 44756. https://html.spec.whatwg.org/#concept-settings-object-global 44757. https://html.spec.whatwg.org/#window 44758. https://html.spec.whatwg.org/#concept-settings-object-global 44759. https://html.spec.whatwg.org/#concept-document-window 44760. https://html.spec.whatwg.org/#active-sandboxing-flag-set 44761. https://html.spec.whatwg.org/#sandboxed-scripts-browsing-context-flag 44762. https://html.spec.whatwg.org/#environment-settings-object 44763. https://html.spec.whatwg.org/#concept-environment-script 44764. https://dom.spec.whatwg.org/#concept-node-document 44765. https://html.spec.whatwg.org/#concept-document-bc 44766. https://html.spec.whatwg.org/#concept-environment-script 44767. https://html.spec.whatwg.org/#relevant-settings-object 44768. https://html.spec.whatwg.org/#concept-n-script 44769. https://dom.spec.whatwg.org/#concept-node-document 44770. https://html.spec.whatwg.org/#concept-document-bc 44771. https://html.spec.whatwg.org/#concept-environment-noscript 44772. https://html.spec.whatwg.org/#relevant-settings-object 44773. https://html.spec.whatwg.org/#environment 44774. https://html.spec.whatwg.org/#environment-settings-object 44775. https://html.spec.whatwg.org/#concept-settings-object-global 44776. https://html.spec.whatwg.org/#workerglobalscope 44777. https://html.spec.whatwg.org/#concept-WorkerGlobalScope-owner-set 44778. https://html.spec.whatwg.org/#relevant-settings-object 44779. https://html.spec.whatwg.org/#secure-context 44780. https://html.spec.whatwg.org/#workletglobalscope 44781. https://w3c.github.io/webappsec-secure-contexts/#potentially-trustworthy-url 44782. https://html.spec.whatwg.org/#concept-environment-top-level-creation-url 44783. https://html.spec.whatwg.org/#environment 44784. https://html.spec.whatwg.org/#secure-context 44785. https://infra.spec.whatwg.org/#struct 44786. https://html.spec.whatwg.org/#classic-script 44787. https://html.spec.whatwg.org/#module-script 44788. https://html.spec.whatwg.org/#environment-settings-object 44789. https://html.spec.whatwg.org/#concept-script 44790. https://tc39.es/ecma262/#sec-script-records 44791. https://html.spec.whatwg.org/#classic-script 44792. https://tc39.es/ecma262/#sec-source-text-module-records 44793. https://html.spec.whatwg.org/#javascript-module-script 44794. https://tc39.es/ecma262/#sec-synthetic-module-records 44795. https://html.spec.whatwg.org/#css-module-script 44796. https://html.spec.whatwg.org/#json-module-script 44797. https://webassembly.github.io/esm-integration/js-api/index.html#webassembly-module-record 44798. https://html.spec.whatwg.org/#webassembly-module-script 44799. https://html.spec.whatwg.org/#concept-script-record 44800. https://html.spec.whatwg.org/#creating-scripts 44801. https://html.spec.whatwg.org/#concept-script-error-to-rethrow 44802. https://html.spec.whatwg.org/#calling-scripts 44803. https://html.spec.whatwg.org/#concept-script-parse-error 44804. https://html.spec.whatwg.org/#module-script 44805. https://html.spec.whatwg.org/#concept-script-parse-error 44806. https://html.spec.whatwg.org/#resolve-a-module-specifier 44807. https://html.spec.whatwg.org/#script-fetch-options 44808. https://html.spec.whatwg.org/#module-script 44809. https://url.spec.whatwg.org/#concept-url 44810. https://html.spec.whatwg.org/#resolve-a-module-specifier 44811. https://html.spec.whatwg.org/#document-base-url 44812. https://html.spec.whatwg.org/#concept-script 44813. https://infra.spec.whatwg.org/#struct-item 44814. https://html.spec.whatwg.org/#concept-script 44815. https://infra.spec.whatwg.org/#struct-item 44816. https://html.spec.whatwg.org/#module-script 44817. https://html.spec.whatwg.org/#module-script 44818. https://html.spec.whatwg.org/#concept-script-record 44819. https://tc39.es/ecma262/#sec-source-text-module-records 44820. https://html.spec.whatwg.org/#module-script 44821. https://html.spec.whatwg.org/#concept-script-record 44822. https://tc39.es/ecma262/#sec-synthetic-module-records 44823. https://html.spec.whatwg.org/#creating-a-css-module-script 44824. https://html.spec.whatwg.org/#module-script 44825. https://html.spec.whatwg.org/#concept-script-record 44826. https://tc39.es/ecma262/#sec-synthetic-module-records 44827. https://html.spec.whatwg.org/#creating-a-json-module-script 44828. https://html.spec.whatwg.org/#module-script 44829. https://html.spec.whatwg.org/#concept-script-record 44830. https://webassembly.github.io/esm-integration/js-api/index.html#webassembly-module-record 44831. https://html.spec.whatwg.org/#concept-script-script-fetch-options 44832. https://html.spec.whatwg.org/#concept-script-base-url 44833. https://html.spec.whatwg.org/#css-module-script 44834. https://html.spec.whatwg.org/#json-module-script 44835. https://tc39.es/ecma262/#sec-getactivescriptormodule 44836. https://html.spec.whatwg.org/#active-script 44837. https://tc39.es/ecma262/#sec-import-calls 44838. https://html.spec.whatwg.org/#concept-script-base-url 44839. https://html.spec.whatwg.org/#classic-script 44840. https://html.spec.whatwg.org/#module-script 44841. https://infra.spec.whatwg.org/#struct 44842. https://infra.spec.whatwg.org/#struct-item 44843. https://fetch.spec.whatwg.org/#concept-request-nonce-metadata 44844. https://fetch.spec.whatwg.org/#concept-request-integrity-metadata 44845. https://fetch.spec.whatwg.org/#concept-request-parser-metadata 44846. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 44847. https://html.spec.whatwg.org/#module-script 44848. https://html.spec.whatwg.org/#module-script 44849. https://html.spec.whatwg.org/#classic-script 44850. https://fetch.spec.whatwg.org/#concept-request-referrer-policy 44851. https://html.spec.whatwg.org/#module-script 44852. https://fetch.spec.whatwg.org/#concept-response 44853. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 44854. https://w3c.github.io/webappsec-referrer-policy/#parse-referrer-policy-from-header 44855. https://fetch.spec.whatwg.org/#concept-response 44856. https://fetch.spec.whatwg.org/#request-render-blocking 44857. https://fetch.spec.whatwg.org/#request-priority 44858. https://tc39.es/ecma262/#sec-import-calls 44859. https://html.spec.whatwg.org/#classic-script 44860. https://html.spec.whatwg.org/#module-script 44861. https://html.spec.whatwg.org/#script-fetch-options 44862. https://html.spec.whatwg.org/#concept-script-fetch-options-nonce 44863. https://html.spec.whatwg.org/#concept-script-fetch-options-integrity 44864. https://html.spec.whatwg.org/#concept-script-fetch-options-parser 44865. https://html.spec.whatwg.org/#concept-script-fetch-options-credentials 44866. https://html.spec.whatwg.org/#concept-script-fetch-options-referrer-policy 44867. https://html.spec.whatwg.org/#concept-script-fetch-options-fetch-priority 44868. https://fetch.spec.whatwg.org/#concept-request 44869. https://html.spec.whatwg.org/#script-fetch-options 44870. https://fetch.spec.whatwg.org/#concept-request-nonce-metadata 44871. https://html.spec.whatwg.org/#concept-script-fetch-options-nonce 44872. https://fetch.spec.whatwg.org/#concept-request-integrity-metadata 44873. https://html.spec.whatwg.org/#concept-script-fetch-options-integrity 44874. https://fetch.spec.whatwg.org/#concept-request-parser-metadata 44875. https://html.spec.whatwg.org/#concept-script-fetch-options-parser 44876. https://fetch.spec.whatwg.org/#concept-request-referrer-policy 44877. https://html.spec.whatwg.org/#concept-script-fetch-options-referrer-policy 44878. https://fetch.spec.whatwg.org/#request-render-blocking 44879. https://html.spec.whatwg.org/#concept-script-fetch-options-render-blocking 44880. https://fetch.spec.whatwg.org/#request-priority 44881. https://html.spec.whatwg.org/#concept-script-fetch-options-fetch-priority 44882. https://fetch.spec.whatwg.org/#concept-request-nonce-metadata 44883. https://html.spec.whatwg.org/#concept-script-fetch-options-nonce 44884. https://fetch.spec.whatwg.org/#concept-request-integrity-metadata 44885. https://html.spec.whatwg.org/#concept-script-fetch-options-integrity 44886. https://fetch.spec.whatwg.org/#concept-request-parser-metadata 44887. https://html.spec.whatwg.org/#concept-script-fetch-options-parser 44888. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 44889. https://html.spec.whatwg.org/#concept-script-fetch-options-credentials 44890. https://fetch.spec.whatwg.org/#concept-request-referrer-policy 44891. https://html.spec.whatwg.org/#concept-script-fetch-options-referrer-policy 44892. https://fetch.spec.whatwg.org/#request-render-blocking 44893. https://html.spec.whatwg.org/#concept-script-fetch-options-render-blocking 44894. https://fetch.spec.whatwg.org/#request-priority 44895. https://html.spec.whatwg.org/#concept-script-fetch-options-fetch-priority 44896. https://html.spec.whatwg.org/#script-fetch-options 44897. https://url.spec.whatwg.org/#concept-url 44898. https://html.spec.whatwg.org/#environment-settings-object 44899. https://html.spec.whatwg.org/#resolving-a-module-integrity-metadata 44900. https://html.spec.whatwg.org/#concept-script-fetch-options-integrity 44901. https://html.spec.whatwg.org/#concept-script-fetch-options-fetch-priority 44902. https://url.spec.whatwg.org/#concept-url 44903. https://html.spec.whatwg.org/#environment-settings-object 44904. https://html.spec.whatwg.org/#concept-settings-object-global 44905. https://html.spec.whatwg.org/#concept-global-import-map 44906. https://html.spec.whatwg.org/#concept-import-map-integrity 44907. https://infra.spec.whatwg.org/#map-exists 44908. https://html.spec.whatwg.org/#concept-import-map-integrity 44909. https://fetch.spec.whatwg.org/#concept-request 44910. https://html.spec.whatwg.org/#fetching-scripts-is-top-level 44911. https://html.spec.whatwg.org/#fetching-scripts-processcustomfetchresponse 44912. https://fetch.spec.whatwg.org/#concept-response 44913. https://infra.spec.whatwg.org/#byte-sequence 44914. https://html.spec.whatwg.org/#classic-script 44915. https://html.spec.whatwg.org/#fetch-a-module-script-tree 44916. https://html.spec.whatwg.org/#fetch-a-module-worker-script-tree 44917. https://html.spec.whatwg.org/#fetching-scripts-perform-fetch 44918. https://fetch.spec.whatwg.org/#concept-fetch 44919. https://fetch.spec.whatwg.org/#concept-request 44920. https://fetch.spec.whatwg.org/#concept-request 44921. https://fetch.spec.whatwg.org/#concept-response 44922. https://html.spec.whatwg.org/#fetching-scripts-perform-fetch 44923. https://fetch.spec.whatwg.org/#concept-request 44924. https://fetch.spec.whatwg.org/#concept-fetch 44925. https://fetch.spec.whatwg.org/#concept-response 44926. https://fetch.spec.whatwg.org/#concept-network-error 44927. https://fetch.spec.whatwg.org/#concept-response 44928. https://fetch.spec.whatwg.org/#concept-fetch 44929. https://html.spec.whatwg.org/#refsSW 44930. https://url.spec.whatwg.org/#concept-url 44931. https://html.spec.whatwg.org/#environment-settings-object 44932. https://html.spec.whatwg.org/#script-fetch-options 44933. https://html.spec.whatwg.org/#cors-settings-attribute 44934. https://encoding.spec.whatwg.org/#encoding 44935. https://html.spec.whatwg.org/#classic-script 44936. https://html.spec.whatwg.org/#create-a-potential-cors-request 44937. https://fetch.spec.whatwg.org/#concept-request-client 44938. https://fetch.spec.whatwg.org/#request-initiator-type 44939. https://html.spec.whatwg.org/#set-up-the-classic-script-request 44940. https://fetch.spec.whatwg.org/#concept-fetch 44941. https://fetch.spec.whatwg.org/#process-response-end-of-body 44942. https://fetch.spec.whatwg.org/#concept-response 44943. https://infra.spec.whatwg.org/#byte-sequence 44944. https://html.spec.whatwg.org/#cors-same-origin 44945. https://html.spec.whatwg.org/#cors-cross-origin 44946. https://html.spec.whatwg.org/#unsafe-response 44947. https://fetch.spec.whatwg.org/#concept-response-status 44948. https://fetch.spec.whatwg.org/#ok-status 44949. https://fetch.spec.whatwg.org/#concept-header-extract-mime-type 44950. https://fetch.spec.whatwg.org/#concept-response-header-list 44951. https://fetch.spec.whatwg.org/#legacy-extract-an-encoding 44952. https://mimesniff.spec.whatwg.org/#mime-type-essence 44953. https://encoding.spec.whatwg.org/#decode 44954. https://encoding.spec.whatwg.org/#decode 44955. https://html.spec.whatwg.org/#cors-cross-origin 44956. https://html.spec.whatwg.org/#creating-a-classic-script 44957. https://fetch.spec.whatwg.org/#concept-response-url 44958. https://url.spec.whatwg.org/#concept-url 44959. https://html.spec.whatwg.org/#environment-settings-object 44960. https://fetch.spec.whatwg.org/#concept-request-destination 44961. https://html.spec.whatwg.org/#environment-settings-object 44962. https://html.spec.whatwg.org/#fetching-scripts-perform-fetch 44963. https://html.spec.whatwg.org/#classic-script 44964. https://fetch.spec.whatwg.org/#concept-request 44965. https://fetch.spec.whatwg.org/#concept-request-url 44966. https://fetch.spec.whatwg.org/#concept-request-client 44967. https://fetch.spec.whatwg.org/#concept-request-destination 44968. https://fetch.spec.whatwg.org/#request-initiator-type 44969. https://fetch.spec.whatwg.org/#concept-request-mode 44970. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 44971. https://fetch.spec.whatwg.org/#concept-request-parser-metadata 44972. https://fetch.spec.whatwg.org/#concept-request-use-url-credentials-flag 44973. https://fetch.spec.whatwg.org/#concept-fetch 44974. https://fetch.spec.whatwg.org/#process-response-end-of-body 44975. https://fetch.spec.whatwg.org/#concept-response 44976. https://infra.spec.whatwg.org/#byte-sequence 44977. https://html.spec.whatwg.org/#unsafe-response 44978. https://fetch.spec.whatwg.org/#concept-response-status 44979. https://fetch.spec.whatwg.org/#ok-status 44980. https://fetch.spec.whatwg.org/#concept-response-url 44981. https://url.spec.whatwg.org/#concept-url-scheme 44982. https://fetch.spec.whatwg.org/#http-scheme 44983. https://fetch.spec.whatwg.org/#concept-header-extract-mime-type 44984. https://fetch.spec.whatwg.org/#concept-response-header-list 44985. https://mimesniff.spec.whatwg.org/#javascript-mime-type 44986. https://fetch.spec.whatwg.org/#fetch-scheme 44987. https://github.com/whatwg/html/issues/3255 44988. https://encoding.spec.whatwg.org/#utf-8-decode 44989. https://html.spec.whatwg.org/#creating-a-classic-script 44990. https://fetch.spec.whatwg.org/#concept-response-url 44991. https://html.spec.whatwg.org/#default-script-fetch-options 44992. https://url.spec.whatwg.org/#concept-url 44993. https://html.spec.whatwg.org/#environment-settings-object 44994. https://html.spec.whatwg.org/#fetching-scripts-perform-fetch 44995. https://html.spec.whatwg.org/#classic-script 44996. https://fetch.spec.whatwg.org/#concept-request 44997. https://fetch.spec.whatwg.org/#concept-request-url 44998. https://fetch.spec.whatwg.org/#concept-request-client 44999. https://fetch.spec.whatwg.org/#concept-request-destination 45000. https://fetch.spec.whatwg.org/#request-initiator-type 45001. https://fetch.spec.whatwg.org/#concept-request-parser-metadata 45002. https://fetch.spec.whatwg.org/#concept-request-use-url-credentials-flag 45003. https://fetch.spec.whatwg.org/#concept-fetch 45004. https://fetch.spec.whatwg.org/#process-response-end-of-body 45005. https://fetch.spec.whatwg.org/#concept-response 45006. https://infra.spec.whatwg.org/#byte-sequence 45007. https://html.spec.whatwg.org/#pause 45008. https://html.spec.whatwg.org/#unsafe-response 45009. https://fetch.spec.whatwg.org/#concept-response-status 45010. https://fetch.spec.whatwg.org/#ok-status 45011. https://fetch.spec.whatwg.org/#concept-header-extract-mime-type 45012. https://fetch.spec.whatwg.org/#concept-response-header-list 45013. https://mimesniff.spec.whatwg.org/#javascript-mime-type 45014. https://webidl.spec.whatwg.org/#networkerror 45015. https://webidl.spec.whatwg.org/#dfn-DOMException 45016. https://encoding.spec.whatwg.org/#utf-8-decode 45017. https://html.spec.whatwg.org/#cors-cross-origin 45018. https://html.spec.whatwg.org/#creating-a-classic-script 45019. https://fetch.spec.whatwg.org/#concept-response-url 45020. https://html.spec.whatwg.org/#default-script-fetch-options 45021. https://url.spec.whatwg.org/#concept-url 45022. https://html.spec.whatwg.org/#environment-settings-object 45023. https://html.spec.whatwg.org/#script-fetch-options 45024. https://html.spec.whatwg.org/#module-script 45025. https://html.spec.whatwg.org/#fetch-a-single-module-script 45026. https://html.spec.whatwg.org/#fetch-the-descendants-of-and-link-a-module-script 45027. https://url.spec.whatwg.org/#concept-url 45028. https://fetch.spec.whatwg.org/#concept-request-destination 45029. https://html.spec.whatwg.org/#environment-settings-object 45030. https://html.spec.whatwg.org/#script-fetch-options 45031. https://html.spec.whatwg.org/#module-script 45032. https://html.spec.whatwg.org/#fetch-a-single-module-script 45033. https://infra.spec.whatwg.org/#assert 45034. https://html.spec.whatwg.org/#concept-settings-object-global 45035. https://html.spec.whatwg.org/#window 45036. https://html.spec.whatwg.org/#fetch-the-descendants-of-and-link-a-module-script 45037. https://html.spec.whatwg.org/#fetch-a-module-script-tree 45038. https://infra.spec.whatwg.org/#string 45039. https://url.spec.whatwg.org/#concept-url 45040. https://html.spec.whatwg.org/#environment-settings-object 45041. https://html.spec.whatwg.org/#script-fetch-options 45042. https://html.spec.whatwg.org/#module-script 45043. https://html.spec.whatwg.org/#creating-a-javascript-module-script 45044. https://html.spec.whatwg.org/#fetch-the-descendants-of-and-link-a-module-script 45045. https://url.spec.whatwg.org/#concept-url 45046. https://html.spec.whatwg.org/#environment-settings-object 45047. https://fetch.spec.whatwg.org/#concept-request-destination 45048. https://html.spec.whatwg.org/#concept-script-fetch-options-credentials 45049. https://html.spec.whatwg.org/#environment-settings-object 45050. https://html.spec.whatwg.org/#fetch-a-worklet/module-worker-script-graph 45051. https://url.spec.whatwg.org/#concept-url 45052. https://html.spec.whatwg.org/#environment-settings-object 45053. https://fetch.spec.whatwg.org/#concept-request-destination 45054. https://html.spec.whatwg.org/#concept-script-fetch-options-credentials 45055. https://html.spec.whatwg.org/#environment-settings-object 45056. https://html.spec.whatwg.org/#concept-worklet-module-responses-map 45057. https://html.spec.whatwg.org/#fetch-a-worklet/module-worker-script-graph 45058. https://html.spec.whatwg.org/#fetching-scripts-perform-fetch 45059. https://html.spec.whatwg.org/#fetching-scripts-processcustomfetchresponse 45060. https://fetch.spec.whatwg.org/#concept-request-url 45061. https://html.spec.whatwg.org/#in-parallel 45062. https://html.spec.whatwg.org/#queue-a-task 45063. https://html.spec.whatwg.org/#networking-task-source 45064. https://infra.spec.whatwg.org/#map-exists 45065. https://infra.spec.whatwg.org/#map-set 45066. https://fetch.spec.whatwg.org/#concept-fetch 45067. https://fetch.spec.whatwg.org/#process-response-end-of-body 45068. https://fetch.spec.whatwg.org/#concept-response 45069. https://infra.spec.whatwg.org/#byte-sequence 45070. https://html.spec.whatwg.org/#fetch-a-module-script-tree 45071. https://html.spec.whatwg.org/#fetch-a-module-script-tree 45072. https://html.spec.whatwg.org/#fetch-a-modulepreload-module-script-graph 45073. https://html.spec.whatwg.org/#fetch-an-inline-module-script-graph 45074. https://html.spec.whatwg.org/#fetch-a-module-worker-script-tree 45075. https://html.spec.whatwg.org/#fetch-a-worklet-script-graph 45076. https://html.spec.whatwg.org/#fetch-a-worklet/module-worker-script-graph 45077. https://html.spec.whatwg.org/#fetch-the-descendants-of-and-link-a-module-script 45078. https://url.spec.whatwg.org/#concept-url 45079. https://html.spec.whatwg.org/#environment-settings-object 45080. https://fetch.spec.whatwg.org/#concept-request-destination 45081. https://html.spec.whatwg.org/#concept-script-fetch-options-credentials 45082. https://html.spec.whatwg.org/#environment-settings-object 45083. https://html.spec.whatwg.org/#fetching-scripts-perform-fetch 45084. https://html.spec.whatwg.org/#module-script 45085. https://html.spec.whatwg.org/#script-fetch-options 45086. https://html.spec.whatwg.org/#concept-script-fetch-options-nonce 45087. https://html.spec.whatwg.org/#concept-script-fetch-options-integrity 45088. https://html.spec.whatwg.org/#concept-script-fetch-options-parser 45089. https://html.spec.whatwg.org/#concept-script-fetch-options-credentials 45090. https://html.spec.whatwg.org/#concept-script-fetch-options-referrer-policy 45091. https://html.spec.whatwg.org/#concept-script-fetch-options-fetch-priority 45092. https://html.spec.whatwg.org/#fetch-a-single-module-script 45093. https://html.spec.whatwg.org/#fetch-the-descendants-of-and-link-a-module-script 45094. https://html.spec.whatwg.org/#module-script 45095. https://html.spec.whatwg.org/#environment-settings-object 45096. https://fetch.spec.whatwg.org/#concept-request-destination 45097. https://html.spec.whatwg.org/#fetching-scripts-perform-fetch 45098. https://html.spec.whatwg.org/#module-script 45099. https://html.spec.whatwg.org/#concept-script-record 45100. https://html.spec.whatwg.org/#concept-script-error-to-rethrow 45101. https://html.spec.whatwg.org/#parse-errors 45102. https://tc39.es/ecma262/#sec-list-and-record-specification-type 45103. https://tc39.es/ecma262/#sec-LoadRequestedModules 45104. https://webidl.spec.whatwg.org/#upon-fulfillment 45105. https://tc39.es/ecma262/#sec-moduledeclarationlinking 45106. https://tc39.es/ecma262/#sec-moduledeclarationlinking 45107. https://html.spec.whatwg.org/#concept-script-error-to-rethrow 45108. https://webidl.spec.whatwg.org/#upon-rejection 45109. https://html.spec.whatwg.org/#concept-script-error-to-rethrow 45110. https://url.spec.whatwg.org/#concept-url 45111. https://html.spec.whatwg.org/#environment-settings-object 45112. https://fetch.spec.whatwg.org/#concept-request-destination 45113. https://html.spec.whatwg.org/#script-fetch-options 45114. https://html.spec.whatwg.org/#environment-settings-object 45115. https://fetch.spec.whatwg.org/#concept-request-referrer 45116. https://tc39.es/ecma262/#modulerequest-record 45117. https://html.spec.whatwg.org/#fetching-scripts-is-top-level 45118. https://html.spec.whatwg.org/#fetching-scripts-perform-fetch 45119. https://html.spec.whatwg.org/#module-script 45120. https://html.spec.whatwg.org/#module-type-from-module-request 45121. https://infra.spec.whatwg.org/#assert 45122. https://html.spec.whatwg.org/#module-type-allowed 45123. https://html.spec.whatwg.org/#validate-requested-module-specifiers 45124. https://html.spec.whatwg.org/#fetch-a-single-imported-module-script 45125. https://html.spec.whatwg.org/#concept-settings-object-module-map 45126. https://html.spec.whatwg.org/#in-parallel 45127. https://html.spec.whatwg.org/#queue-a-task 45128. https://html.spec.whatwg.org/#networking-task-source 45129. https://infra.spec.whatwg.org/#map-exists 45130. https://infra.spec.whatwg.org/#map-set 45131. https://fetch.spec.whatwg.org/#concept-request 45132. https://fetch.spec.whatwg.org/#concept-request-url 45133. https://fetch.spec.whatwg.org/#concept-request-mode 45134. https://fetch.spec.whatwg.org/#concept-request-referrer 45135. https://fetch.spec.whatwg.org/#concept-request-client 45136. https://fetch.spec.whatwg.org/#concept-request-destination 45137. https://html.spec.whatwg.org/#fetch-destination-from-module-type 45138. https://fetch.spec.whatwg.org/#concept-request-mode 45139. https://fetch.spec.whatwg.org/#request-initiator-type 45140. https://html.spec.whatwg.org/#set-up-the-module-script-request 45141. https://fetch.spec.whatwg.org/#concept-fetch 45142. https://fetch.spec.whatwg.org/#process-response-end-of-body 45143. https://fetch.spec.whatwg.org/#concept-response 45144. https://infra.spec.whatwg.org/#byte-sequence 45145. https://html.spec.whatwg.org/#cors-same-origin 45146. https://fetch.spec.whatwg.org/#concept-response-status 45147. https://fetch.spec.whatwg.org/#ok-status 45148. https://infra.spec.whatwg.org/#map-set 45149. https://fetch.spec.whatwg.org/#concept-header-extract-mime-type 45150. https://fetch.spec.whatwg.org/#concept-response-header-list 45151. https://w3c.github.io/webappsec-referrer-policy/#parse-referrer-policy-from-header 45152. https://html.spec.whatwg.org/#refsREFERRERPOLICY 45153. https://html.spec.whatwg.org/#concept-script-fetch-options-referrer-policy 45154. https://mimesniff.spec.whatwg.org/#mime-type-essence 45155. https://html.spec.whatwg.org/#application/wasm 45156. https://html.spec.whatwg.org/#creating-a-webassembly-module-script 45157. https://fetch.spec.whatwg.org/#concept-response-url 45158. https://encoding.spec.whatwg.org/#utf-8-decode 45159. https://mimesniff.spec.whatwg.org/#javascript-mime-type 45160. https://html.spec.whatwg.org/#creating-a-javascript-module-script 45161. https://fetch.spec.whatwg.org/#concept-response-url 45162. https://mimesniff.spec.whatwg.org/#mime-type-essence 45163. https://html.spec.whatwg.org/#text/css 45164. https://html.spec.whatwg.org/#creating-a-css-module-script 45165. https://mimesniff.spec.whatwg.org/#json-mime-type 45166. https://html.spec.whatwg.org/#creating-a-json-module-script 45167. https://infra.spec.whatwg.org/#map-set 45168. https://html.spec.whatwg.org/#module-map 45169. https://fetch.spec.whatwg.org/#concept-request-url 45170. https://html.spec.whatwg.org/#concept-script-base-url 45171. https://html.spec.whatwg.org/#module-script 45172. https://fetch.spec.whatwg.org/#concept-response-url 45173. https://url.spec.whatwg.org/#concept-url 45174. https://html.spec.whatwg.org/#environment-settings-object 45175. https://fetch.spec.whatwg.org/#concept-request-destination 45176. https://html.spec.whatwg.org/#script-fetch-options 45177. https://html.spec.whatwg.org/#environment-settings-object 45178. https://fetch.spec.whatwg.org/#concept-request-referrer 45179. https://tc39.es/ecma262/#modulerequest-record 45180. https://html.spec.whatwg.org/#fetching-scripts-perform-fetch 45181. https://html.spec.whatwg.org/#module-script 45182. https://infra.spec.whatwg.org/#assert 45183. https://tc39.es/ecma262/#sec-list-and-record-specification-type 45184. https://html.spec.whatwg.org/#hostgetsupportedimportattributes 45185. https://html.spec.whatwg.org/#module-type-from-module-request 45186. https://html.spec.whatwg.org/#module-type-allowed 45187. https://html.spec.whatwg.org/#fetch-a-single-module-script 45188. https://infra.spec.whatwg.org/#string 45189. https://html.spec.whatwg.org/#environment-settings-object 45190. https://url.spec.whatwg.org/#concept-url 45191. https://html.spec.whatwg.org/#script-fetch-options 45192. https://url.spec.whatwg.org/#concept-url 45193. https://html.spec.whatwg.org/#about:blank 45194. https://html.spec.whatwg.org/#cors-cross-origin 45195. https://fetch.spec.whatwg.org/#concept-response 45196. https://fetch.spec.whatwg.org/#concept-response-url 45197. https://html.spec.whatwg.org/#concept-environment-noscript 45198. https://html.spec.whatwg.org/#classic-script 45199. https://html.spec.whatwg.org/#settings-object 45200. https://html.spec.whatwg.org/#concept-script-base-url 45201. https://html.spec.whatwg.org/#concept-script-script-fetch-options 45202. https://html.spec.whatwg.org/#muted-errors 45203. https://html.spec.whatwg.org/#concept-script-parse-error 45204. https://html.spec.whatwg.org/#concept-script-error-to-rethrow 45205. https://w3c.github.io/long-animation-frames/#record-classic-script-creation-time 45206. https://tc39.es/ecma262/#sec-parse-script 45207. https://html.spec.whatwg.org/#environment-settings-object's-realm 45208. https://infra.spec.whatwg.org/#list 45209. https://html.spec.whatwg.org/#concept-script-parse-error 45210. https://html.spec.whatwg.org/#concept-script-error-to-rethrow 45211. https://html.spec.whatwg.org/#concept-script-record 45212. https://infra.spec.whatwg.org/#string 45213. https://html.spec.whatwg.org/#environment-settings-object 45214. https://url.spec.whatwg.org/#concept-url 45215. https://html.spec.whatwg.org/#script-fetch-options 45216. https://html.spec.whatwg.org/#concept-environment-noscript 45217. https://html.spec.whatwg.org/#module-script 45218. https://html.spec.whatwg.org/#settings-object 45219. https://html.spec.whatwg.org/#concept-script-base-url 45220. https://html.spec.whatwg.org/#concept-script-script-fetch-options 45221. https://html.spec.whatwg.org/#concept-script-parse-error 45222. https://html.spec.whatwg.org/#concept-script-error-to-rethrow 45223. https://tc39.es/ecma262/#sec-parsemodule 45224. https://html.spec.whatwg.org/#environment-settings-object's-realm 45225. https://infra.spec.whatwg.org/#list 45226. https://html.spec.whatwg.org/#concept-script-parse-error 45227. https://html.spec.whatwg.org/#concept-script-record 45228. https://infra.spec.whatwg.org/#byte-sequence 45229. https://html.spec.whatwg.org/#environment-settings-object 45230. https://url.spec.whatwg.org/#concept-url 45231. https://html.spec.whatwg.org/#script-fetch-options 45232. https://html.spec.whatwg.org/#concept-environment-noscript 45233. https://html.spec.whatwg.org/#module-script 45234. https://html.spec.whatwg.org/#settings-object 45235. https://html.spec.whatwg.org/#concept-script-base-url 45236. https://html.spec.whatwg.org/#concept-script-script-fetch-options 45237. https://html.spec.whatwg.org/#concept-script-parse-error 45238. https://html.spec.whatwg.org/#concept-script-error-to-rethrow 45239. https://webassembly.github.io/esm-integration/js-api/index.html#parse-a-webassembly-module 45240. https://html.spec.whatwg.org/#environment-settings-object's-realm 45241. https://html.spec.whatwg.org/#concept-script-parse-error 45242. https://html.spec.whatwg.org/#concept-script-record 45243. https://html.spec.whatwg.org/#refsWASMESM 45244. https://html.spec.whatwg.org/#environment-settings-object 45245. https://html.spec.whatwg.org/#module-script 45246. https://html.spec.whatwg.org/#settings-object 45247. https://html.spec.whatwg.org/#concept-script-base-url 45248. https://html.spec.whatwg.org/#concept-script-script-fetch-options 45249. https://html.spec.whatwg.org/#concept-script-parse-error 45250. https://html.spec.whatwg.org/#concept-script-error-to-rethrow 45251. https://drafts.csswg.org/cssom/#create-a-constructed-cssstylesheet 45252. https://drafts.csswg.org/cssom/#synchronously-replace-the-rules-of-a-cssstylesheet 45253. https://html.spec.whatwg.org/#concept-script-parse-error 45254. https://drafts.csswg.org/cssom/#synchronously-replace-the-rules-of-a-cssstylesheet 45255. https://html.spec.whatwg.org/#concept-script-record 45256. https://tc39.es/ecma262/#sec-create-default-export-synthetic-module 45257. https://html.spec.whatwg.org/#environment-settings-object 45258. https://html.spec.whatwg.org/#module-script 45259. https://html.spec.whatwg.org/#settings-object 45260. https://html.spec.whatwg.org/#concept-script-base-url 45261. https://html.spec.whatwg.org/#concept-script-script-fetch-options 45262. https://html.spec.whatwg.org/#concept-script-parse-error 45263. https://html.spec.whatwg.org/#concept-script-error-to-rethrow 45264. https://tc39.es/ecma262/#sec-parse-json-module 45265. https://html.spec.whatwg.org/#concept-script-parse-error 45266. https://html.spec.whatwg.org/#concept-script-record 45267. https://tc39.es/ecma262/#modulerequest-record 45268. https://tc39.es/ecma262/#sec-list-and-record-specification-type 45269. https://html.spec.whatwg.org/#javascript-module-script 45270. https://html.spec.whatwg.org/#webassembly-module-script 45271. https://html.spec.whatwg.org/#module-type-allowed 45272. https://infra.spec.whatwg.org/#string 45273. https://html.spec.whatwg.org/#environment-settings-object 45274. https://drafts.csswg.org/cssom/#the-cssstylesheet-interface 45275. https://webidl.spec.whatwg.org/#dfn-exposed 45276. https://html.spec.whatwg.org/#environment-settings-object's-realm 45277. https://fetch.spec.whatwg.org/#concept-request-destination 45278. https://infra.spec.whatwg.org/#string 45279. https://html.spec.whatwg.org/#classic-script 45280. https://html.spec.whatwg.org/#settings-object 45281. https://html.spec.whatwg.org/#check-if-we-can-run-script 45282. https://tc39.es/ecma262/#sec-normalcompletion 45283. https://w3c.github.io/long-animation-frames/#record-classic-script-execution-start-time 45284. https://html.spec.whatwg.org/#prepare-to-run-script 45285. https://html.spec.whatwg.org/#concept-script-error-to-rethrow 45286. https://html.spec.whatwg.org/#concept-script-error-to-rethrow 45287. https://tc39.es/ecma262/#sec-runtime-semantics-scriptevaluation 45288. https://html.spec.whatwg.org/#concept-script-record 45289. https://tc39.es/ecma262/#sec-runtime-semantics-scriptevaluation 45290. https://html.spec.whatwg.org/#abort-a-running-script 45291. https://tc39.es/ecma262/#sec-completion-record-specification-type 45292. https://html.spec.whatwg.org/#muted-errors 45293. https://html.spec.whatwg.org/#clean-up-after-running-script 45294. https://html.spec.whatwg.org/#muted-errors 45295. https://html.spec.whatwg.org/#clean-up-after-running-script 45296. https://webidl.spec.whatwg.org/#networkerror 45297. https://webidl.spec.whatwg.org/#dfn-DOMException 45298. https://html.spec.whatwg.org/#report-an-exception 45299. https://html.spec.whatwg.org/#settings-object 45300. https://html.spec.whatwg.org/#concept-settings-object-global 45301. https://html.spec.whatwg.org/#clean-up-after-running-script 45302. https://html.spec.whatwg.org/#clean-up-after-running-script 45303. https://html.spec.whatwg.org/#abort-a-running-script 45304. https://webidl.spec.whatwg.org/#quotaexceedederror 45305. https://webidl.spec.whatwg.org/#dfn-DOMException 45306. https://html.spec.whatwg.org/#module-script 45307. https://html.spec.whatwg.org/#settings-object 45308. https://html.spec.whatwg.org/#check-if-we-can-run-script 45309. https://webidl.spec.whatwg.org/#a-promise-resolved-with 45310. https://w3c.github.io/long-animation-frames/#record-module-script-execution-start-time 45311. https://html.spec.whatwg.org/#prepare-to-run-script 45312. https://html.spec.whatwg.org/#concept-script-error-to-rethrow 45313. https://webidl.spec.whatwg.org/#a-promise-rejected-with 45314. https://html.spec.whatwg.org/#concept-script-error-to-rethrow 45315. https://html.spec.whatwg.org/#concept-script-record 45316. https://tc39.es/ecma262/#sec-moduleevaluation 45317. https://tc39.es/ecma262/#sec-moduleevaluation 45318. https://html.spec.whatwg.org/#abort-a-running-script 45319. https://webidl.spec.whatwg.org/#a-promise-rejected-with 45320. https://webidl.spec.whatwg.org/#quotaexceedederror 45321. https://webidl.spec.whatwg.org/#dfn-DOMException 45322. https://webidl.spec.whatwg.org/#upon-rejection 45323. https://html.spec.whatwg.org/#report-an-exception 45324. https://html.spec.whatwg.org/#settings-object 45325. https://html.spec.whatwg.org/#concept-settings-object-global 45326. https://html.spec.whatwg.org/#clean-up-after-running-script 45327. https://html.spec.whatwg.org/#environment-settings-object 45328. https://html.spec.whatwg.org/#concept-settings-object-global 45329. https://html.spec.whatwg.org/#window 45330. https://html.spec.whatwg.org/#document 45331. https://html.spec.whatwg.org/#fully-active 45332. https://html.spec.whatwg.org/#concept-environment-noscript 45333. https://html.spec.whatwg.org/#environment-settings-object 45334. https://html.spec.whatwg.org/#realm-execution-context 45335. https://tc39.es/ecma262/#execution-context-stack 45336. https://tc39.es/ecma262/#running-execution-context 45337. https://tc39.es/ecma262/#surrounding-agent 45338. https://html.spec.whatwg.org/#concept-agent-event-loop 45339. https://html.spec.whatwg.org/#currently-running-task 45340. https://html.spec.whatwg.org/#script-evaluation-environment-settings-object-set 45341. https://html.spec.whatwg.org/#environment-settings-object 45342. https://infra.spec.whatwg.org/#assert 45343. https://html.spec.whatwg.org/#realm-execution-context 45344. https://tc39.es/ecma262/#running-execution-context 45345. https://html.spec.whatwg.org/#realm-execution-context 45346. https://tc39.es/ecma262/#execution-context-stack 45347. https://tc39.es/ecma262/#execution-context-stack 45348. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 45349. https://html.spec.whatwg.org/#concept-script 45350. https://tc39.es/ecma262/#running-execution-context 45351. https://tc39.es/ecma262/#sec-runtime-semantics-scriptevaluation 45352. https://tc39.es/ecma262/#sec-source-text-module-records 45353. https://tc39.es/ecma262/#sec-moduleevaluation 45354. https://tc39.es/ecma262/#execution-context-stack 45355. https://html.spec.whatwg.org/#refsJAVASCRIPT 45356. https://webidl.spec.whatwg.org/#quotaexceedederror 45357. https://webidl.spec.whatwg.org/#dfn-DOMException 45358. https://html.spec.whatwg.org/#abort-a-running-script 45359. https://html.spec.whatwg.org/#dom-alert 45360. https://html.spec.whatwg.org/#browsing-context 45361. https://html.spec.whatwg.org/#event-unload 45362. https://developer.mozilla.org/en-US/docs/Web/API/reportError 45363. https://html.spec.whatwg.org/#dom-reporterror 45364. https://html.spec.whatwg.org/#event-error 45365. https://infra.spec.whatwg.org/#ordered-map 45366. https://html.spec.whatwg.org/#dom-errorevent-error 45367. https://html.spec.whatwg.org/#dom-errorevent-message 45368. https://html.spec.whatwg.org/#dom-errorevent-filename 45369. https://html.spec.whatwg.org/#dom-errorevent-lineno 45370. https://html.spec.whatwg.org/#dom-errorevent-colno 45371. https://infra.spec.whatwg.org/#implementation-defined 45372. https://html.spec.whatwg.org/#global-object 45373. https://html.spec.whatwg.org/#extract-error 45374. https://html.spec.whatwg.org/#concept-script 45375. https://infra.spec.whatwg.org/#implementation-defined 45376. https://html.spec.whatwg.org/#running-script 45377. https://html.spec.whatwg.org/#run-a-classic-script 45378. https://html.spec.whatwg.org/#classic-script 45379. https://html.spec.whatwg.org/#muted-errors 45380. https://html.spec.whatwg.org/#dom-errorevent-error 45381. https://html.spec.whatwg.org/#dom-errorevent-message 45382. https://html.spec.whatwg.org/#dom-errorevent-filename 45383. https://html.spec.whatwg.org/#dom-errorevent-lineno 45384. https://html.spec.whatwg.org/#dom-errorevent-colno 45385. https://html.spec.whatwg.org/#dom-errorevent-error 45386. https://html.spec.whatwg.org/#in-error-reporting-mode 45387. https://html.spec.whatwg.org/#in-error-reporting-mode 45388. https://dom.spec.whatwg.org/#interface-eventtarget 45389. https://dom.spec.whatwg.org/#concept-event-fire 45390. https://html.spec.whatwg.org/#event-error 45391. https://html.spec.whatwg.org/#errorevent 45392. https://dom.spec.whatwg.org/#dom-event-cancelable 45393. https://html.spec.whatwg.org/#the-event-handler-processing-algorithm 45394. https://html.spec.whatwg.org/#in-error-reporting-mode 45395. https://html.spec.whatwg.org/#dom-errorevent-error 45396. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 45397. https://html.spec.whatwg.org/#queue-a-global-task 45398. https://html.spec.whatwg.org/#dom-manipulation-task-source 45399. https://html.spec.whatwg.org/#worker 45400. https://html.spec.whatwg.org/#concept-relevant-global 45401. https://html.spec.whatwg.org/#worker 45402. https://dom.spec.whatwg.org/#concept-event-fire 45403. https://html.spec.whatwg.org/#event-error 45404. https://html.spec.whatwg.org/#errorevent 45405. https://dom.spec.whatwg.org/#dom-event-cancelable 45406. https://html.spec.whatwg.org/#report-an-exception 45407. https://html.spec.whatwg.org/#concept-relevant-global 45408. https://html.spec.whatwg.org/#report-exception-omiterror 45409. https://html.spec.whatwg.org/#worker 45410. https://html.spec.whatwg.org/#worker 45411. https://html.spec.whatwg.org/#event-error 45412. https://html.spec.whatwg.org/#handler-workerglobalscope-onerror 45413. https://html.spec.whatwg.org/#document 45414. https://github.com/whatwg/html 45415. https://html.spec.whatwg.org/#report-an-exception 45416. https://github.com/whatwg/html/issues/10516 45417. https://html.spec.whatwg.org/#report-an-exception 45418. https://webidl.spec.whatwg.org/#this 45419. https://html.spec.whatwg.org/#muted-errors 45420. https://github.com/whatwg/html/issues/958 45421. https://developer.mozilla.org/en-US/docs/Web/API/ErrorEvent 45422. https://html.spec.whatwg.org/#errorevent 45423. https://dom.spec.whatwg.org/#interface-event 45424. https://dom.spec.whatwg.org/#concept-event-constructor 45425. https://html.spec.whatwg.org/#erroreventinit 45426. https://html.spec.whatwg.org/#dom-errorevent-message 45427. https://html.spec.whatwg.org/#dom-errorevent-filename 45428. https://html.spec.whatwg.org/#dom-errorevent-lineno 45429. https://html.spec.whatwg.org/#dom-errorevent-colno 45430. https://html.spec.whatwg.org/#dom-errorevent-error 45431. https://dom.spec.whatwg.org/#dictdef-eventinit 45432. https://url.spec.whatwg.org/#concept-url 45433. https://developer.mozilla.org/en-US/docs/Web/API/Window/rejectionhandled_event 45434. https://html.spec.whatwg.org/#runtime-script-errors 45435. https://html.spec.whatwg.org/#event-unhandledrejection 45436. https://html.spec.whatwg.org/#event-rejectionhandled 45437. https://html.spec.whatwg.org/#the-hostpromiserejectiontracker-implementation 45438. https://html.spec.whatwg.org/#global-object 45439. https://infra.spec.whatwg.org/#list-clone 45440. https://html.spec.whatwg.org/#about-to-be-notified-rejected-promises-list 45441. https://infra.spec.whatwg.org/#list-is-empty 45442. https://infra.spec.whatwg.org/#list-empty 45443. https://html.spec.whatwg.org/#about-to-be-notified-rejected-promises-list 45444. https://html.spec.whatwg.org/#queue-a-global-task 45445. https://html.spec.whatwg.org/#dom-manipulation-task-source 45446. https://infra.spec.whatwg.org/#list-iterate 45447. https://infra.spec.whatwg.org/#iteration-continue 45448. https://dom.spec.whatwg.org/#concept-event-fire 45449. https://html.spec.whatwg.org/#event-unhandledrejection 45450. https://html.spec.whatwg.org/#promiserejectionevent 45451. https://dom.spec.whatwg.org/#dom-event-cancelable 45452. https://html.spec.whatwg.org/#dom-promiserejectionevent-promise 45453. https://html.spec.whatwg.org/#dom-promiserejectionevent-reason 45454. https://infra.spec.whatwg.org/#set-append 45455. https://html.spec.whatwg.org/#outstanding-rejected-promises-weak-set 45456. https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent 45457. https://html.spec.whatwg.org/#promiserejectionevent 45458. https://dom.spec.whatwg.org/#interface-event 45459. https://dom.spec.whatwg.org/#concept-event-constructor 45460. https://html.spec.whatwg.org/#promiserejectioneventinit 45461. https://webidl.spec.whatwg.org/#idl-object 45462. https://html.spec.whatwg.org/#dom-promiserejectionevent-promise 45463. https://html.spec.whatwg.org/#dom-promiserejectionevent-reason 45464. https://dom.spec.whatwg.org/#dictdef-eventinit 45465. https://webidl.spec.whatwg.org/#idl-object 45466. https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent/promise 45467. https://webidl.spec.whatwg.org/#idl-promise 45468. https://html.spec.whatwg.org/#dom-promiserejectionevent-promise 45469. https://webidl.spec.whatwg.org/#idl-object 45470. https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent/reason 45471. https://infra.spec.whatwg.org/#struct 45472. https://html.spec.whatwg.org/#concept-script 45473. https://html.spec.whatwg.org/#the-script-element 45474. https://html.spec.whatwg.org/#concept-script-result 45475. https://html.spec.whatwg.org/#concept-script 45476. https://infra.spec.whatwg.org/#struct-item 45477. https://html.spec.whatwg.org/#import-map 45478. https://infra.spec.whatwg.org/#string 45479. https://url.spec.whatwg.org/#concept-url 45480. https://html.spec.whatwg.org/#import-map-parse-result 45481. https://html.spec.whatwg.org/#impr-import-map 45482. https://html.spec.whatwg.org/#impr-error-to-rethrow 45483. https://html.spec.whatwg.org/#parse-an-import-map-string 45484. https://html.spec.whatwg.org/#impr-error-to-rethrow 45485. https://html.spec.whatwg.org/#impr-import-map 45486. https://html.spec.whatwg.org/#window 45487. https://html.spec.whatwg.org/#import-map-parse-result 45488. https://html.spec.whatwg.org/#impr-error-to-rethrow 45489. https://html.spec.whatwg.org/#report-an-exception 45490. https://html.spec.whatwg.org/#impr-error-to-rethrow 45491. https://html.spec.whatwg.org/#merge-existing-and-new-import-maps 45492. https://html.spec.whatwg.org/#impr-import-map 45493. https://html.spec.whatwg.org/#resolve-a-module-specifier 45494. https://url.spec.whatwg.org/#concept-url 45495. https://html.spec.whatwg.org/#import-map 45496. https://html.spec.whatwg.org/#resolving-a-url-like-module-specifier 45497. https://html.spec.whatwg.org/#import-map 45498. https://html.spec.whatwg.org/#module-specifier-map 45499. https://html.spec.whatwg.org/#concept-import-map-scopes 45500. https://html.spec.whatwg.org/#concept-import-map-imports 45501. https://html.spec.whatwg.org/#resolving-an-imports-match 45502. https://url.spec.whatwg.org/#concept-url 45503. https://html.spec.whatwg.org/#resolve-a-module-specifier 45504. https://html.spec.whatwg.org/#resolve-a-module-specifier 45505. https://html.spec.whatwg.org/#resolve-a-module-specifier 45506. https://html.spec.whatwg.org/#module-specifier-map 45507. https://html.spec.whatwg.org/#resolve-a-module-specifier 45508. https://url.spec.whatwg.org/#concept-url 45509. https://html.spec.whatwg.org/#the-script-element 45510. https://infra.spec.whatwg.org/#string 45511. https://html.spec.whatwg.org/#settings-object 45512. https://html.spec.whatwg.org/#concept-script-base-url 45513. https://infra.spec.whatwg.org/#assert 45514. https://html.spec.whatwg.org/#current-settings-object 45515. https://html.spec.whatwg.org/#current-settings-object 45516. https://html.spec.whatwg.org/#api-base-url 45517. https://html.spec.whatwg.org/#empty-import-map 45518. https://html.spec.whatwg.org/#concept-settings-object-global 45519. https://html.spec.whatwg.org/#window 45520. https://html.spec.whatwg.org/#concept-settings-object-global 45521. https://html.spec.whatwg.org/#concept-global-import-map 45522. https://url.spec.whatwg.org/#concept-url-serializer 45523. https://html.spec.whatwg.org/#resolving-a-url-like-module-specifier 45524. https://url.spec.whatwg.org/#concept-url-serializer 45525. https://url.spec.whatwg.org/#concept-url 45526. https://infra.spec.whatwg.org/#list-iterate 45527. https://html.spec.whatwg.org/#concept-import-map-scopes 45528. https://infra.spec.whatwg.org/#code-unit-prefix 45529. https://html.spec.whatwg.org/#resolving-an-imports-match 45530. https://infra.spec.whatwg.org/#iteration-break 45531. https://html.spec.whatwg.org/#resolving-an-imports-match 45532. https://html.spec.whatwg.org/#concept-import-map-imports 45533. https://html.spec.whatwg.org/#add-module-to-resolved-module-set 45534. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 45535. https://infra.spec.whatwg.org/#string 45536. https://url.spec.whatwg.org/#concept-url 45537. https://html.spec.whatwg.org/#module-specifier-map 45538. https://infra.spec.whatwg.org/#list-iterate 45539. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 45540. https://html.spec.whatwg.org/#resolve-a-module-specifier 45541. https://infra.spec.whatwg.org/#assert 45542. https://url.spec.whatwg.org/#concept-url 45543. https://infra.spec.whatwg.org/#code-unit-prefix 45544. https://url.spec.whatwg.org/#is-special 45545. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 45546. https://html.spec.whatwg.org/#resolve-a-module-specifier 45547. https://infra.spec.whatwg.org/#assert 45548. https://url.spec.whatwg.org/#concept-url 45549. https://infra.spec.whatwg.org/#assert 45550. https://url.spec.whatwg.org/#concept-url-serializer 45551. https://html.spec.whatwg.org/#parse-an-import-map-string 45552. https://url.spec.whatwg.org/#concept-url-parser 45553. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 45554. https://html.spec.whatwg.org/#resolve-a-module-specifier 45555. https://infra.spec.whatwg.org/#assert 45556. https://url.spec.whatwg.org/#concept-url 45557. https://url.spec.whatwg.org/#concept-url-serializer 45558. https://infra.spec.whatwg.org/#code-unit-prefix 45559. https://url.spec.whatwg.org/#concept-url-serializer 45560. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 45561. https://html.spec.whatwg.org/#resolve-a-module-specifier 45562. https://html.spec.whatwg.org/#resolve-a-module-specifier 45563. https://infra.spec.whatwg.org/#string 45564. https://url.spec.whatwg.org/#concept-url 45565. https://infra.spec.whatwg.org/#string-starts-with 45566. https://url.spec.whatwg.org/#concept-url-parser 45567. https://www.rfc-editor.org/rfc/rfc2397#section-2 45568. https://infra.spec.whatwg.org/#string-starts-with 45569. https://url.spec.whatwg.org/#concept-url-host 45570. https://url.spec.whatwg.org/#concept-url-parser 45571. https://html.spec.whatwg.org/#import-map 45572. https://html.spec.whatwg.org/#the-script-element 45573. https://html.spec.whatwg.org/#attr-script-type 45574. https://dom.spec.whatwg.org/#concept-child-text-content 45575. https://html.spec.whatwg.org/#document 45576. https://tc39.es/ecma262/#sec-import-calls 45577. https://html.spec.whatwg.org/#the-script-element 45578. https://html.spec.whatwg.org/#attr-script-type 45579. https://html.spec.whatwg.org/#merge-existing-and-new-import-maps 45580. https://html.spec.whatwg.org/#example-import-map-trailing-slashes 45581. https://infra.spec.whatwg.org/#code-unit-less-than 45582. https://html.spec.whatwg.org/#refsSRI 45583. https://dom.spec.whatwg.org/#concept-child-text-content 45584. https://html.spec.whatwg.org/#the-script-element 45585. https://html.spec.whatwg.org/#import-map 45586. https://html.spec.whatwg.org/#refsJSON 45587. https://html.spec.whatwg.org/#valid-module-specifier-map 45588. https://url.spec.whatwg.org/#valid-url-string 45589. https://html.spec.whatwg.org/#valid-module-specifier-map 45590. https://url.spec.whatwg.org/#valid-url-string 45591. https://w3c.github.io/webappsec-subresource-integrity/#the-integrity-attribute 45592. https://url.spec.whatwg.org/#syntax-url-absolute 45593. https://url.spec.whatwg.org/#valid-url-string 45594. https://infra.spec.whatwg.org/#string-starts-with 45595. https://infra.spec.whatwg.org/#string-ends-with 45596. https://infra.spec.whatwg.org/#struct 45597. https://infra.spec.whatwg.org/#struct-item 45598. https://html.spec.whatwg.org/#module-specifier-map 45599. https://infra.spec.whatwg.org/#ordered-map 45600. https://url.spec.whatwg.org/#concept-url 45601. https://html.spec.whatwg.org/#module-specifier-map 45602. https://html.spec.whatwg.org/#module-integrity-map 45603. https://infra.spec.whatwg.org/#ordered-map 45604. https://infra.spec.whatwg.org/#map-key 45605. https://infra.spec.whatwg.org/#string 45606. https://infra.spec.whatwg.org/#map-value 45607. https://url.spec.whatwg.org/#concept-url 45608. https://infra.spec.whatwg.org/#ordered-map 45609. https://infra.spec.whatwg.org/#map-key 45610. https://url.spec.whatwg.org/#concept-url 45611. https://infra.spec.whatwg.org/#map-value 45612. https://infra.spec.whatwg.org/#string 45613. https://fetch.spec.whatwg.org/#concept-request-integrity-metadata 45614. https://html.spec.whatwg.org/#import-map 45615. https://html.spec.whatwg.org/#concept-import-map-imports 45616. https://html.spec.whatwg.org/#concept-import-map-scopes 45617. https://infra.spec.whatwg.org/#struct 45618. https://infra.spec.whatwg.org/#struct-item 45619. https://infra.spec.whatwg.org/#string 45620. https://infra.spec.whatwg.org/#string 45621. https://url.spec.whatwg.org/#concept-url 45622. https://html.spec.whatwg.org/#specifier-resolution-record-as-url 45623. https://url.spec.whatwg.org/#is-special 45624. https://html.spec.whatwg.org/#environment-settings-object 45625. https://infra.spec.whatwg.org/#string 45626. https://infra.spec.whatwg.org/#string 45627. https://url.spec.whatwg.org/#concept-url 45628. https://html.spec.whatwg.org/#concept-settings-object-global 45629. https://html.spec.whatwg.org/#window 45630. https://html.spec.whatwg.org/#specifier-resolution-record 45631. https://html.spec.whatwg.org/#specifier-resolution-record-serialized-base-url 45632. https://html.spec.whatwg.org/#specifier-resolution-record-specifier 45633. https://html.spec.whatwg.org/#specifier-resolution-record-as-url 45634. https://infra.spec.whatwg.org/#set-append 45635. https://html.spec.whatwg.org/#resolved-module-set 45636. https://infra.spec.whatwg.org/#string 45637. https://url.spec.whatwg.org/#concept-url 45638. https://infra.spec.whatwg.org/#parse-a-json-string-to-an-infra-value 45639. https://infra.spec.whatwg.org/#ordered-map 45640. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 45641. https://infra.spec.whatwg.org/#ordered-map 45642. https://infra.spec.whatwg.org/#map-exists 45643. https://infra.spec.whatwg.org/#ordered-map 45644. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 45645. https://html.spec.whatwg.org/#sorting-and-normalizing-a-module-specifier-map 45646. https://infra.spec.whatwg.org/#ordered-map 45647. https://infra.spec.whatwg.org/#map-exists 45648. https://infra.spec.whatwg.org/#ordered-map 45649. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 45650. https://html.spec.whatwg.org/#sorting-and-normalizing-scopes 45651. https://infra.spec.whatwg.org/#ordered-map 45652. https://infra.spec.whatwg.org/#map-exists 45653. https://infra.spec.whatwg.org/#ordered-map 45654. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 45655. https://html.spec.whatwg.org/#normalizing-a-module-integrity-map 45656. https://infra.spec.whatwg.org/#map-key 45657. https://infra.spec.whatwg.org/#list-contain 45658. https://console.spec.whatwg.org/#report-a-warning-to-the-console 45659. https://html.spec.whatwg.org/#import-map 45660. https://html.spec.whatwg.org/#concept-import-map-imports 45661. https://html.spec.whatwg.org/#concept-import-map-scopes 45662. https://html.spec.whatwg.org/#concept-import-map-integrity 45663. https://html.spec.whatwg.org/#import-map 45664. https://html.spec.whatwg.org/#import-map 45665. https://html.spec.whatwg.org/#concept-import-map-imports 45666. https://infra.spec.whatwg.org/#ordered-map 45667. https://html.spec.whatwg.org/#concept-import-map-scopes 45668. https://html.spec.whatwg.org/#module-specifier-map 45669. https://html.spec.whatwg.org/#module-specifier-map 45670. https://infra.spec.whatwg.org/#map-iterate 45671. https://infra.spec.whatwg.org/#map-exists 45672. https://console.spec.whatwg.org/#report-a-warning-to-the-console 45673. https://infra.spec.whatwg.org/#iteration-continue 45674. https://html.spec.whatwg.org/#concept-settings-object-global 45675. https://html.spec.whatwg.org/#import-map 45676. https://html.spec.whatwg.org/#concept-import-map-scopes 45677. https://html.spec.whatwg.org/#concept-global-import-map 45678. https://html.spec.whatwg.org/#concept-import-map-imports 45679. https://infra.spec.whatwg.org/#map-iterate 45680. https://infra.spec.whatwg.org/#list-iterate 45681. https://html.spec.whatwg.org/#resolved-module-set 45682. https://html.spec.whatwg.org/#specifier-resolution-record-serialized-base-url 45683. https://infra.spec.whatwg.org/#code-unit-prefix 45684. https://html.spec.whatwg.org/#specifier-resolution-record-serialized-base-url 45685. https://infra.spec.whatwg.org/#list-iterate 45686. https://html.spec.whatwg.org/#specifier-resolution-record-specifier 45687. https://infra.spec.whatwg.org/#code-unit-prefix 45688. https://html.spec.whatwg.org/#specifier-resolution-record-specifier 45689. https://html.spec.whatwg.org/#specifier-resolution-record-as-url 45690. https://url.spec.whatwg.org/#is-special 45691. https://console.spec.whatwg.org/#report-a-warning-to-the-console 45692. https://html.spec.whatwg.org/#resolved-module-set 45693. https://infra.spec.whatwg.org/#map-exists 45694. https://html.spec.whatwg.org/#concept-import-map-scopes 45695. https://html.spec.whatwg.org/#concept-import-map-scopes 45696. https://html.spec.whatwg.org/#merge-module-specifier-maps 45697. https://html.spec.whatwg.org/#concept-import-map-scopes 45698. https://html.spec.whatwg.org/#concept-import-map-scopes 45699. https://infra.spec.whatwg.org/#map-iterate 45700. https://html.spec.whatwg.org/#concept-import-map-integrity 45701. https://infra.spec.whatwg.org/#map-exists 45702. https://html.spec.whatwg.org/#concept-import-map-integrity 45703. https://console.spec.whatwg.org/#report-a-warning-to-the-console 45704. https://infra.spec.whatwg.org/#iteration-continue 45705. https://html.spec.whatwg.org/#concept-import-map-integrity 45706. https://infra.spec.whatwg.org/#list-iterate 45707. https://html.spec.whatwg.org/#resolved-module-set 45708. https://infra.spec.whatwg.org/#list-iterate 45709. https://infra.spec.whatwg.org/#string-starts-with 45710. https://html.spec.whatwg.org/#specifier-resolution-record-specifier 45711. https://console.spec.whatwg.org/#report-a-warning-to-the-console 45712. https://html.spec.whatwg.org/#concept-import-map-imports 45713. https://html.spec.whatwg.org/#merge-module-specifier-maps 45714. https://html.spec.whatwg.org/#concept-import-map-imports 45715. https://html.spec.whatwg.org/#environment-settings-object 45716. https://html.spec.whatwg.org/#global-object 45717. https://html.spec.whatwg.org/#import-map 45718. https://html.spec.whatwg.org/#resolved-module-set 45719. https://infra.spec.whatwg.org/#ordered-map 45720. https://url.spec.whatwg.org/#concept-url 45721. https://infra.spec.whatwg.org/#ordered-map 45722. https://infra.spec.whatwg.org/#list-iterate 45723. https://html.spec.whatwg.org/#normalizing-a-specifier-key 45724. https://infra.spec.whatwg.org/#iteration-continue 45725. https://infra.spec.whatwg.org/#string 45726. https://console.spec.whatwg.org/#report-a-warning-to-the-console 45727. https://infra.spec.whatwg.org/#iteration-continue 45728. https://html.spec.whatwg.org/#resolving-a-url-like-module-specifier 45729. https://console.spec.whatwg.org/#report-a-warning-to-the-console 45730. https://infra.spec.whatwg.org/#iteration-continue 45731. https://url.spec.whatwg.org/#concept-url-serializer 45732. https://console.spec.whatwg.org/#report-a-warning-to-the-console 45733. https://infra.spec.whatwg.org/#iteration-continue 45734. https://infra.spec.whatwg.org/#map-sort-in-descending-order 45735. https://infra.spec.whatwg.org/#map-key 45736. https://infra.spec.whatwg.org/#code-unit-less-than 45737. https://infra.spec.whatwg.org/#map-key 45738. https://infra.spec.whatwg.org/#ordered-map 45739. https://url.spec.whatwg.org/#concept-url 45740. https://infra.spec.whatwg.org/#ordered-map 45741. https://infra.spec.whatwg.org/#list-iterate 45742. https://infra.spec.whatwg.org/#ordered-map 45743. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 45744. https://url.spec.whatwg.org/#concept-url-parser 45745. https://console.spec.whatwg.org/#report-a-warning-to-the-console 45746. https://infra.spec.whatwg.org/#iteration-continue 45747. https://url.spec.whatwg.org/#concept-url-serializer 45748. https://html.spec.whatwg.org/#sorting-and-normalizing-a-module-specifier-map 45749. https://infra.spec.whatwg.org/#map-sort-in-descending-order 45750. https://infra.spec.whatwg.org/#map-key 45751. https://infra.spec.whatwg.org/#code-unit-less-than 45752. https://infra.spec.whatwg.org/#map-key 45753. https://html.spec.whatwg.org/#resolve-a-module-specifier 45754. https://infra.spec.whatwg.org/#ordered-map 45755. https://infra.spec.whatwg.org/#ordered-map 45756. https://infra.spec.whatwg.org/#list-iterate 45757. https://html.spec.whatwg.org/#resolving-a-url-like-module-specifier 45758. https://html.spec.whatwg.org/#resolving-a-url-like-module-specifier 45759. https://console.spec.whatwg.org/#report-a-warning-to-the-console 45760. https://infra.spec.whatwg.org/#iteration-continue 45761. https://infra.spec.whatwg.org/#string 45762. https://console.spec.whatwg.org/#report-a-warning-to-the-console 45763. https://fetch.spec.whatwg.org/#concept-request-integrity-metadata 45764. https://infra.spec.whatwg.org/#string 45765. https://infra.spec.whatwg.org/#iteration-continue 45766. https://infra.spec.whatwg.org/#string 45767. https://url.spec.whatwg.org/#concept-url 45768. https://console.spec.whatwg.org/#report-a-warning-to-the-console 45769. https://html.spec.whatwg.org/#resolving-a-url-like-module-specifier 45770. https://url.spec.whatwg.org/#concept-url-serializer 45771. https://infra.spec.whatwg.org/#implementation-defined 45772. https://infra.spec.whatwg.org/#implementation-defined 45773. https://tc39.es/ecma262/#sec-hostensurecanaddprivateelement 45774. https://html.spec.whatwg.org/#refsJAVASCRIPT 45775. https://html.spec.whatwg.org/#windowproxy 45776. https://webidl.spec.whatwg.org/#implements 45777. https://html.spec.whatwg.org/#location 45778. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 45779. https://tc39.es/ecma262/#sec-normalcompletion 45780. https://html.spec.whatwg.org/#windowproxy 45781. https://html.spec.whatwg.org/#location 45782. https://infra.spec.whatwg.org/#implementation-defined 45783. https://tc39.es/proposal-dynamic-code-brand-checks/#sec-hostensurecancompilestrings 45784. https://html.spec.whatwg.org/#refsJAVASCRIPT 45785. https://html.spec.whatwg.org/#refsJSDYNAMICCODEBRANDCHECKS 45786. https://w3c.github.io/webappsec-csp/#can-compile-strings 45787. https://html.spec.whatwg.org/#refsCSP 45788. https://infra.spec.whatwg.org/#implementation-defined 45789. https://tc39.es/proposal-dynamic-code-brand-checks/#sec-hostgetcodeforeval 45790. https://html.spec.whatwg.org/#refsJSDYNAMICCODEBRANDCHECKS 45791. https://w3c.github.io/trusted-types/dist/spec/#trusted-script 45792. https://w3c.github.io/trusted-types/dist/spec/#trustedscript-data 45793. https://infra.spec.whatwg.org/#implementation-defined 45794. https://tc39.es/ecma262/#sec-host-promise-rejection-tracker 45795. https://html.spec.whatwg.org/#refsJAVASCRIPT 45796. https://html.spec.whatwg.org/#running-script 45797. https://html.spec.whatwg.org/#classic-script 45798. https://html.spec.whatwg.org/#muted-errors 45799. https://html.spec.whatwg.org/#current-settings-object 45800. https://html.spec.whatwg.org/#settings-object 45801. https://html.spec.whatwg.org/#concept-settings-object-global 45802. https://infra.spec.whatwg.org/#list-append 45803. https://html.spec.whatwg.org/#about-to-be-notified-rejected-promises-list 45804. https://html.spec.whatwg.org/#about-to-be-notified-rejected-promises-list 45805. https://infra.spec.whatwg.org/#list-contain 45806. https://infra.spec.whatwg.org/#list-remove 45807. https://html.spec.whatwg.org/#outstanding-rejected-promises-weak-set 45808. https://infra.spec.whatwg.org/#list-contain 45809. https://infra.spec.whatwg.org/#list-remove 45810. https://html.spec.whatwg.org/#outstanding-rejected-promises-weak-set 45811. https://html.spec.whatwg.org/#queue-a-global-task 45812. https://html.spec.whatwg.org/#dom-manipulation-task-source 45813. https://dom.spec.whatwg.org/#concept-event-fire 45814. https://html.spec.whatwg.org/#event-rejectionhandled 45815. https://html.spec.whatwg.org/#promiserejectionevent 45816. https://html.spec.whatwg.org/#dom-promiserejectionevent-promise 45817. https://html.spec.whatwg.org/#dom-promiserejectionevent-reason 45818. https://infra.spec.whatwg.org/#implementation-defined 45819. https://tc39.es/proposal-temporal/#sec-hostsystemutcepochnanoseconds 45820. https://html.spec.whatwg.org/#refsJSTEMPORAL 45821. https://html.spec.whatwg.org/#relevant-settings-object 45822. https://w3c.github.io/hr-time/#dfn-current-wall-time 45823. https://w3c.github.io/hr-time/#dfn-unix-epoch 45824. https://tc39.es/ecma262/#clamping 45825. https://tc39.es/proposal-temporal/#eqn-nsMinInstant 45826. https://tc39.es/proposal-temporal/#eqn-nsMaxInstant 45827. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise#Incumbent_settings_object_tracking 45828. https://tc39.es/ecma262/#sec-jobcallback-records 45829. https://infra.spec.whatwg.org/#implementation-defined 45830. https://html.spec.whatwg.org/#incumbent-settings-object 45831. https://tc39.es/ecma262/#sec-finalization-registry-objects 45832. https://html.spec.whatwg.org/#incumbent-settings-object 45833. https://tc39.es/ecma262/#sec-execution-contexts 45834. https://html.spec.whatwg.org/#active-script 45835. https://infra.spec.whatwg.org/#implementation-defined 45836. https://tc39.es/ecma262/#sec-hostcalljobcallback 45837. https://html.spec.whatwg.org/#refsJAVASCRIPT 45838. https://html.spec.whatwg.org/#prepare-to-run-a-callback 45839. https://html.spec.whatwg.org/#concept-incumbent-everything 45840. https://infra.spec.whatwg.org/#stack-push 45841. https://tc39.es/ecma262/#execution-context-stack 45842. https://html.spec.whatwg.org/#active-script 45843. https://tc39.es/ecma262/#sec-call 45844. https://infra.spec.whatwg.org/#stack-pop 45845. https://tc39.es/ecma262/#execution-context-stack 45846. https://html.spec.whatwg.org/#clean-up-after-running-a-callback 45847. https://tc39.es/ecma262/#sec-finalization-registry-objects 45848. https://infra.spec.whatwg.org/#implementation-defined 45849. https://tc39.es/ecma262/#sec-host-cleanup-finalization-registry 45850. https://infra.spec.whatwg.org/#implementation-defined 45851. https://tc39.es/ecma262/#sec-weak-ref.prototype.deref 45852. https://tc39.es/ecma262/#sec-finalization-registry-objects 45853. https://tc39.es/ecma262/#sec-weak-ref-objects 45854. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 45855. https://html.spec.whatwg.org/#concept-task 45856. https://html.spec.whatwg.org/#refsJAVASCRIPT 45857. https://html.spec.whatwg.org/#global-object 45858. https://html.spec.whatwg.org/#queue-a-global-task 45859. https://html.spec.whatwg.org/#concept-realm-settings-object 45860. https://html.spec.whatwg.org/#check-if-we-can-run-script 45861. https://html.spec.whatwg.org/#prepare-to-run-script 45862. https://html.spec.whatwg.org/#concept-entry-everything 45863. https://tc39.es/ecma262/#sec-cleanup-finalization-registry 45864. https://html.spec.whatwg.org/#clean-up-after-running-script 45865. https://tc39.es/ecma262/#sec-completion-record-specification-type 45866. https://html.spec.whatwg.org/#report-an-exception 45867. https://infra.spec.whatwg.org/#implementation-defined 45868. https://tc39.es/ecma262/#sec-hostenqueuegenericjob 45869. https://tc39.es/ecma262/#sec-atomics.waitasync 45870. https://html.spec.whatwg.org/#refsJAVASCRIPT 45871. https://html.spec.whatwg.org/#concept-realm-global 45872. https://html.spec.whatwg.org/#queue-a-global-task 45873. https://html.spec.whatwg.org/#javascript-engine-task-source 45874. https://infra.spec.whatwg.org/#implementation-defined 45875. https://tc39.es/ecma262/#sec-hostenqueuepromisejob 45876. https://html.spec.whatwg.org/#refsJAVASCRIPT 45877. https://html.spec.whatwg.org/#concept-realm-settings-object 45878. https://tc39.es/ecma262/#sec-code-realms 45879. https://tc39.es/ecma262/#sec-newpromisereactionjob 45880. https://tc39.es/ecma262/#sec-newpromiseresolvethenablejob 45881. https://tc39.es/ecma262/#sec-newpromiseresolvethenablejob 45882. https://tc39.es/ecma262/#sec-newpromisereactionjob 45883. https://html.spec.whatwg.org/#queue-a-microtask 45884. https://html.spec.whatwg.org/#check-if-we-can-run-script 45885. https://html.spec.whatwg.org/#prepare-to-run-script 45886. https://html.spec.whatwg.org/#concept-entry-everything 45887. https://tc39.es/ecma262/#sec-abstract-closure 45888. https://tc39.es/ecma262/#sec-newpromisereactionjob 45889. https://tc39.es/ecma262/#sec-newpromiseresolvethenablejob 45890. https://tc39.es/ecma262/#sec-newpromisereactionjob 45891. https://tc39.es/ecma262/#sec-newpromiseresolvethenablejob 45892. https://tc39.es/ecma262/#sec-jobcallback-records 45893. https://html.spec.whatwg.org/#incumbent-settings-object 45894. https://tc39.es/ecma262/#sec-execution-contexts 45895. https://html.spec.whatwg.org/#active-script 45896. https://html.spec.whatwg.org/#hostmakejobcallback 45897. https://html.spec.whatwg.org/#hostcalljobcallback 45898. https://html.spec.whatwg.org/#clean-up-after-running-script 45899. https://tc39.es/ecma262/#sec-completion-record-specification-type 45900. https://html.spec.whatwg.org/#report-an-exception 45901. https://html.spec.whatwg.org/#concept-realm-global 45902. https://github.com/whatwg/html/issues/10526 45903. https://infra.spec.whatwg.org/#implementation-defined 45904. https://tc39.es/ecma262/#sec-hostenqueuetimeoutjob 45905. https://html.spec.whatwg.org/#run-steps-after-a-timeout 45906. https://html.spec.whatwg.org/#refsJAVASCRIPT 45907. https://html.spec.whatwg.org/#concept-realm-global 45908. https://html.spec.whatwg.org/#queue-a-global-task 45909. https://html.spec.whatwg.org/#javascript-engine-task-source 45910. https://html.spec.whatwg.org/#run-steps-after-a-timeout 45911. https://infra.spec.whatwg.org/#implementation-defined 45912. https://tc39.es/ecma262/#sec-hostmakejobcallback 45913. https://html.spec.whatwg.org/#concept-task 45914. https://html.spec.whatwg.org/#refsJAVASCRIPT 45915. https://html.spec.whatwg.org/#incumbent-settings-object 45916. https://html.spec.whatwg.org/#active-script 45917. https://tc39.es/ecma262/#sec-execution-contexts 45918. https://html.spec.whatwg.org/#settings-object 45919. https://html.spec.whatwg.org/#environment-settings-object's-realm 45920. https://html.spec.whatwg.org/#concept-script-record 45921. https://html.spec.whatwg.org/#active-script 45922. https://html.spec.whatwg.org/#hostcalljobcallback 45923. https://html.spec.whatwg.org/#active-script 45924. https://tc39.es/ecma262/#sec-import-calls 45925. https://tc39.es/ecma262/#sec-eval-x 45926. https://html.spec.whatwg.org/#concept-script 45927. https://tc39.es/ecma262/#sec-import-calls 45928. https://html.spec.whatwg.org/#concept-script-base-url 45929. https://html.spec.whatwg.org/#event-handlers 45930. https://html.spec.whatwg.org/#getting-the-current-value-of-the-event-handler 45931. https://html.spec.whatwg.org/#hostmakejobcallback 45932. https://html.spec.whatwg.org/#active-script 45933. https://tc39.es/ecma262/#sec-import-calls 45934. https://html.spec.whatwg.org/#active-script 45935. https://html.spec.whatwg.org/#hostloadimportedmodule 45936. https://html.spec.whatwg.org/#current-settings-object 45937. https://html.spec.whatwg.org/#api-base-url 45938. https://tc39.es/ecma262/#sec-jobcallback-records 45939. https://html.spec.whatwg.org/#the-script-element 45940. https://html.spec.whatwg.org/#attr-script-type 45941. https://html.spec.whatwg.org/#refsJAVASCRIPT 45942. https://html.spec.whatwg.org/#classic-script 45943. https://html.spec.whatwg.org/#module-script 45944. https://html.spec.whatwg.org/#the-script-element 45945. https://tc39.es/ecma262/#sec-import-calls 45946. https://html.spec.whatwg.org/#module-script 45947. https://html.spec.whatwg.org/#resolve-a-module-specifier 45948. https://html.spec.whatwg.org/#active-script 45949. https://html.spec.whatwg.org/#hostloadimportedmodule 45950. https://html.spec.whatwg.org/#classic-script 45951. https://html.spec.whatwg.org/#module-script 45952. https://tc39.es/ecma262/#sec-meta-properties 45953. https://html.spec.whatwg.org/#import-meta-url 45954. https://html.spec.whatwg.org/#active-script 45955. https://html.spec.whatwg.org/#concept-script-base-url 45956. https://html.spec.whatwg.org/#module-script 45957. https://tc39.es/ecma262/#sec-meta-properties 45958. https://html.spec.whatwg.org/#import-meta-resolve 45959. https://html.spec.whatwg.org/#resolve-a-module-specifier 45960. https://html.spec.whatwg.org/#active-script 45961. https://tc39.es/ecma262/#sec-import-calls 45962. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 45963. https://html.spec.whatwg.org/#module-script 45964. https://infra.spec.whatwg.org/#ordered-map 45965. https://infra.spec.whatwg.org/#tuple 45966. https://url.spec.whatwg.org/#concept-url 45967. https://infra.spec.whatwg.org/#string 45968. https://url.spec.whatwg.org/#concept-url 45969. https://fetch.spec.whatwg.org/#concept-request-url 45970. https://infra.spec.whatwg.org/#string 45971. https://html.spec.whatwg.org/#module-map 45972. https://html.spec.whatwg.org/#module-script 45973. https://html.spec.whatwg.org/#module-map 45974. https://html.spec.whatwg.org/#document 45975. https://html.spec.whatwg.org/#workers 45976. https://html.spec.whatwg.org/#module-map 45977. https://html.spec.whatwg.org/#module-map 45978. https://infra.spec.whatwg.org/#tuple 45979. https://url.spec.whatwg.org/#concept-url-query 45980. https://url.spec.whatwg.org/#concept-url-fragment 45981. https://html.spec.whatwg.org/#module-map 45982. https://html.spec.whatwg.org/#module-map 45983. https://url.spec.whatwg.org/#concept-url-parser 45984. https://url.spec.whatwg.org/#concept-url 45985. https://html.spec.whatwg.org/#sharedworker 45986. https://html.spec.whatwg.org/#concept-sharedworkerglobalscope-constructor-url 45987. https://html.spec.whatwg.org/#module-map 45988. https://html.spec.whatwg.org/#module-map 45989. https://github.com/whatwg/html/issues/6110 45990. https://html.spec.whatwg.org/#fetch-a-single-module-script 45991. https://html.spec.whatwg.org/#module-map 45992. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import.meta/resolve 45993. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import.meta 45994. https://infra.spec.whatwg.org/#implementation-defined 45995. https://tc39.es/ecma262/#sec-hostgetimportmetaproperties 45996. https://html.spec.whatwg.org/#refsJAVASCRIPT 45997. https://infra.spec.whatwg.org/#assert 45998. https://html.spec.whatwg.org/#concept-script-base-url 45999. https://html.spec.whatwg.org/#javascript-module-script 46000. https://html.spec.whatwg.org/#concept-script-base-url 46001. https://url.spec.whatwg.org/#concept-url-serializer 46002. https://tc39.es/ecma262/#sec-tostring 46003. https://html.spec.whatwg.org/#resolve-a-module-specifier 46004. https://url.spec.whatwg.org/#concept-url-serializer 46005. https://tc39.es/ecma262/#sec-createbuiltinfunction 46006. https://tc39.es/ecma262/#sec-list-and-record-specification-type 46007. https://tc39.es/ecma262/#sec-list-and-record-specification-type 46008. https://infra.spec.whatwg.org/#implementation-defined 46009. https://tc39.es/ecma262/#sec-hostgetsupportedimportattributes 46010. https://html.spec.whatwg.org/#refsJAVASCRIPT 46011. https://infra.spec.whatwg.org/#implementation-defined 46012. https://tc39.es/ecma262/#sec-HostLoadImportedModule 46013. https://html.spec.whatwg.org/#refsJAVASCRIPT 46014. https://html.spec.whatwg.org/#current-settings-object 46015. https://html.spec.whatwg.org/#concept-settings-object-global 46016. https://html.spec.whatwg.org/#workletglobalscope 46017. https://w3c.github.io/ServiceWorker/#serviceworkerglobalscope 46018. https://tc39.es/ecma262/#sec-import-calls 46019. https://tc39.es/ecma262/#sec-completion-record-specification-type 46020. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 46021. https://tc39.es/ecma262/#sec-FinishLoadingImportedModule 46022. https://html.spec.whatwg.org/#default-script-fetch-options 46023. https://tc39.es/ecma262/#sec-script-records 46024. https://tc39.es/ecma262/#sec-cyclic-module-records 46025. https://html.spec.whatwg.org/#settings-object 46026. https://html.spec.whatwg.org/#concept-script-base-url 46027. https://html.spec.whatwg.org/#concept-script-script-fetch-options 46028. https://tc39.es/ecma262/#sec-script-records 46029. https://tc39.es/ecma262/#sec-cyclic-module-records 46030. https://html.spec.whatwg.org/#getting-the-current-value-of-the-event-handler 46031. https://w3c.github.io/uievents/#event-type-click 46032. https://tc39.es/ecma262/#sec-import-calls 46033. https://tc39.es/ecma262/#sec-getactivescriptormodule 46034. https://tc39.es/ecma262/#current-realm 46035. https://tc39.es/ecma262/#sec-cyclic-module-records 46036. https://infra.spec.whatwg.org/#list-iterate 46037. https://tc39.es/ecma262/#modulerequest-record 46038. https://tc39.es/ecma262/#sec-list-and-record-specification-type 46039. https://tc39.es/ecma262/#sec-completion-record-specification-type 46040. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-syntaxerror 46041. https://tc39.es/ecma262/#sec-FinishLoadingImportedModule 46042. https://html.spec.whatwg.org/#resolve-a-module-specifier 46043. https://tc39.es/ecma262/#sec-completion-record-specification-type 46044. https://tc39.es/ecma262/#sec-FinishLoadingImportedModule 46045. https://html.spec.whatwg.org/#module-type-from-module-request 46046. https://html.spec.whatwg.org/#module-type-allowed 46047. https://tc39.es/ecma262/#sec-completion-record-specification-type 46048. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 46049. https://tc39.es/ecma262/#sec-FinishLoadingImportedModule 46050. https://html.spec.whatwg.org/#hostloadimportedmodule 46051. https://html.spec.whatwg.org/#resolve-a-module-specifier 46052. https://tc39.es/ecma262/#sec-completion-record-specification-type 46053. https://tc39.es/ecma262/#sec-FinishLoadingImportedModule 46054. https://html.spec.whatwg.org/#get-the-descendant-script-fetch-options 46055. https://html.spec.whatwg.org/#fetch-a-single-imported-module-script 46056. https://tc39.es/ecma262/#sec-completion-record-specification-type 46057. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 46058. https://html.spec.whatwg.org/#concept-script-parse-error 46059. https://html.spec.whatwg.org/#concept-script-parse-error 46060. https://tc39.es/ecma262/#sec-completion-record-specification-type 46061. https://tc39.es/ecma262/#sec-completion-record-specification-type 46062. https://html.spec.whatwg.org/#concept-script-record 46063. https://tc39.es/ecma262/#sec-FinishLoadingImportedModule 46064. https://tc39.es/ecma262/#sec-agents 46065. https://html.spec.whatwg.org/#concept-agent-event-loop 46066. https://html.spec.whatwg.org/#similar-origin-window-agent 46067. https://html.spec.whatwg.org/#concept-agent-event-loop 46068. https://html.spec.whatwg.org/#dedicated-worker-agent 46069. https://html.spec.whatwg.org/#shared-worker-agent 46070. https://html.spec.whatwg.org/#service-worker-agent 46071. https://html.spec.whatwg.org/#concept-agent-event-loop 46072. https://html.spec.whatwg.org/#worklet-agent 46073. https://html.spec.whatwg.org/#event-loop 46074. https://html.spec.whatwg.org/#window-event-loop 46075. https://tc39.es/ecma262/#sec-agents 46076. https://tc39.es/ecma262/#sec-forward-progress 46077. https://html.spec.whatwg.org/#event-loop 46078. https://html.spec.whatwg.org/#task-queue 46079. https://infra.spec.whatwg.org/#ordered-set 46080. https://html.spec.whatwg.org/#concept-task 46081. https://html.spec.whatwg.org/#task-queue 46082. https://infra.spec.whatwg.org/#ordered-set 46083. https://infra.spec.whatwg.org/#queue 46084. https://html.spec.whatwg.org/#event-loop-processing-model 46085. https://html.spec.whatwg.org/#concept-task-runnable 46086. https://html.spec.whatwg.org/#concept-task 46087. https://infra.spec.whatwg.org/#queue-dequeue 46088. https://html.spec.whatwg.org/#microtask-queue 46089. https://html.spec.whatwg.org/#task-queue 46090. https://dom.spec.whatwg.org/#interface-event 46091. https://dom.spec.whatwg.org/#interface-eventtarget 46092. https://html.spec.whatwg.org/#task-queue 46093. https://html.spec.whatwg.org/#html-parser 46094. https://fetch.spec.whatwg.org/#concept-fetch 46095. https://html.spec.whatwg.org/#insert-an-element-into-a-document 46096. https://infra.spec.whatwg.org/#struct 46097. https://html.spec.whatwg.org/#task-source 46098. https://html.spec.whatwg.org/#document 46099. https://html.spec.whatwg.org/#window-event-loop 46100. https://infra.spec.whatwg.org/#ordered-set 46101. https://html.spec.whatwg.org/#environment-settings-object 46102. https://html.spec.whatwg.org/#concept-task 46103. https://html.spec.whatwg.org/#concept-task-document 46104. https://html.spec.whatwg.org/#fully-active 46105. https://html.spec.whatwg.org/#concept-task-source 46106. https://html.spec.whatwg.org/#concept-task 46107. https://html.spec.whatwg.org/#event-loop 46108. https://html.spec.whatwg.org/#task-source 46109. https://html.spec.whatwg.org/#task-queue 46110. https://html.spec.whatwg.org/#task-source 46111. https://html.spec.whatwg.org/#task-queue 46112. https://html.spec.whatwg.org/#event-loop 46113. https://html.spec.whatwg.org/#task-queue 46114. https://html.spec.whatwg.org/#user-interaction-task-source 46115. https://html.spec.whatwg.org/#task-source 46116. https://html.spec.whatwg.org/#event-loop-processing-model 46117. https://html.spec.whatwg.org/#task-source 46118. https://html.spec.whatwg.org/#event-loop 46119. https://html.spec.whatwg.org/#concept-task 46120. https://html.spec.whatwg.org/#event-loop 46121. https://infra.spec.whatwg.org/#queue 46122. https://html.spec.whatwg.org/#microtask 46123. https://html.spec.whatwg.org/#concept-task 46124. https://html.spec.whatwg.org/#queue-a-microtask 46125. https://html.spec.whatwg.org/#event-loop 46126. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 46127. https://html.spec.whatwg.org/#window-event-loop 46128. https://w3c.github.io/hr-time/#dom-domhighrestimestamp 46129. https://html.spec.whatwg.org/#window-event-loop 46130. https://w3c.github.io/hr-time/#dom-domhighrestimestamp 46131. https://html.spec.whatwg.org/#window-event-loop 46132. https://html.spec.whatwg.org/#window 46133. https://html.spec.whatwg.org/#relevant-agent 46134. https://html.spec.whatwg.org/#concept-agent-event-loop 46135. https://html.spec.whatwg.org/#task-source 46136. https://html.spec.whatwg.org/#implied-event-loop 46137. https://html.spec.whatwg.org/#implied-document 46138. https://html.spec.whatwg.org/#concept-task 46139. https://html.spec.whatwg.org/#concept-task-steps 46140. https://html.spec.whatwg.org/#concept-task-source 46141. https://html.spec.whatwg.org/#concept-task-document 46142. https://html.spec.whatwg.org/#script-evaluation-environment-settings-object-set 46143. https://infra.spec.whatwg.org/#ordered-set 46144. https://html.spec.whatwg.org/#task-queue 46145. https://infra.spec.whatwg.org/#list-append 46146. https://html.spec.whatwg.org/#queue-a-task 46147. https://html.spec.whatwg.org/#implied-event-loop 46148. https://html.spec.whatwg.org/#implied-document 46149. https://html.spec.whatwg.org/#queue-a-global-task 46150. https://html.spec.whatwg.org/#queue-an-element-task 46151. https://html.spec.whatwg.org/#task-source 46152. https://html.spec.whatwg.org/#global-object 46153. https://html.spec.whatwg.org/#relevant-agent 46154. https://html.spec.whatwg.org/#concept-agent-event-loop 46155. https://html.spec.whatwg.org/#concept-document-window 46156. https://html.spec.whatwg.org/#window 46157. https://html.spec.whatwg.org/#queue-a-task 46158. https://html.spec.whatwg.org/#task-source 46159. https://html.spec.whatwg.org/#concept-relevant-global 46160. https://html.spec.whatwg.org/#queue-a-global-task 46161. https://infra.spec.whatwg.org/#assert 46162. https://tc39.es/ecma262/#surrounding-agent 46163. https://html.spec.whatwg.org/#in-parallel 46164. https://tc39.es/ecma262/#surrounding-agent 46165. https://html.spec.whatwg.org/#concept-agent-event-loop 46166. https://html.spec.whatwg.org/#implied-document 46167. https://html.spec.whatwg.org/#concept-task 46168. https://html.spec.whatwg.org/#concept-task-steps 46169. https://html.spec.whatwg.org/#concept-task-source 46170. https://html.spec.whatwg.org/#concept-task-document 46171. https://html.spec.whatwg.org/#script-evaluation-environment-settings-object-set 46172. https://infra.spec.whatwg.org/#ordered-set 46173. https://infra.spec.whatwg.org/#queue-enqueue 46174. https://html.spec.whatwg.org/#microtask-queue 46175. https://html.spec.whatwg.org/#microtask 46176. https://html.spec.whatwg.org/#task-queue 46177. https://html.spec.whatwg.org/#spin-the-event-loop 46178. https://html.spec.whatwg.org/#concept-task-source 46179. https://html.spec.whatwg.org/#concept-task-document 46180. https://html.spec.whatwg.org/#script-evaluation-environment-settings-object-set 46181. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 46182. https://tc39.es/ecma262/#sec-agents 46183. https://html.spec.whatwg.org/#event-loop 46184. https://html.spec.whatwg.org/#implied-event-loop 46185. https://html.spec.whatwg.org/#event-loop 46186. https://html.spec.whatwg.org/#queue-a-task 46187. https://html.spec.whatwg.org/#event-loop 46188. https://html.spec.whatwg.org/#window-event-loop 46189. https://dom.spec.whatwg.org/#concept-node-document 46190. https://html.spec.whatwg.org/#browsing-context 46191. https://html.spec.whatwg.org/#active-document 46192. https://html.spec.whatwg.org/#concept-script 46193. https://html.spec.whatwg.org/#settings-object 46194. https://html.spec.whatwg.org/#concept-settings-object-global 46195. https://html.spec.whatwg.org/#concept-document-window 46196. https://infra.spec.whatwg.org/#assert 46197. https://html.spec.whatwg.org/#implied-event-loop 46198. https://html.spec.whatwg.org/#implied-document 46199. https://html.spec.whatwg.org/#implied-document 46200. https://github.com/whatwg/html/issues/4980 46201. https://html.spec.whatwg.org/#event-loop 46202. https://html.spec.whatwg.org/#event-loop 46203. https://html.spec.whatwg.org/#task-queue 46204. https://html.spec.whatwg.org/#concept-task-runnable 46205. https://html.spec.whatwg.org/#concept-task 46206. https://html.spec.whatwg.org/#task-queue 46207. https://infra.spec.whatwg.org/#implementation-defined 46208. https://html.spec.whatwg.org/#microtask-queue 46209. https://html.spec.whatwg.org/#task-queue 46210. https://html.spec.whatwg.org/#task-queue 46211. https://html.spec.whatwg.org/#microtask-task-source 46212. https://html.spec.whatwg.org/#concept-task 46213. https://html.spec.whatwg.org/#microtask 46214. https://html.spec.whatwg.org/#spin-the-event-loop 46215. https://w3c.github.io/hr-time/#dfn-unsafe-shared-current-time 46216. https://html.spec.whatwg.org/#concept-task-runnable 46217. https://html.spec.whatwg.org/#concept-task 46218. https://infra.spec.whatwg.org/#list-remove 46219. https://html.spec.whatwg.org/#concept-task-document 46220. https://w3c.github.io/long-animation-frames/#record-task-start-time 46221. https://html.spec.whatwg.org/#concept-task-document 46222. https://html.spec.whatwg.org/#event-loop 46223. https://html.spec.whatwg.org/#currently-running-task 46224. https://html.spec.whatwg.org/#concept-task-steps 46225. https://html.spec.whatwg.org/#event-loop 46226. https://html.spec.whatwg.org/#currently-running-task 46227. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 46228. https://w3c.github.io/hr-time/#dfn-unsafe-shared-current-time 46229. https://html.spec.whatwg.org/#refsHRT 46230. https://infra.spec.whatwg.org/#ordered-set 46231. https://html.spec.whatwg.org/#environment-settings-object 46232. https://html.spec.whatwg.org/#script-evaluation-environment-settings-object-set 46233. https://html.spec.whatwg.org/#concept-settings-object-global 46234. https://html.spec.whatwg.org/#window 46235. https://infra.spec.whatwg.org/#iteration-continue 46236. https://html.spec.whatwg.org/#window-bc 46237. https://infra.spec.whatwg.org/#iteration-continue 46238. https://html.spec.whatwg.org/#window-bc 46239. https://html.spec.whatwg.org/#bc-tlbc 46240. https://infra.spec.whatwg.org/#set-append 46241. https://w3c.github.io/longtasks/#report-long-tasks 46242. https://html.spec.whatwg.org/#concept-task-document 46243. https://w3c.github.io/long-animation-frames/#record-task-end-time 46244. https://html.spec.whatwg.org/#concept-task-document 46245. https://html.spec.whatwg.org/#window-event-loop 46246. https://html.spec.whatwg.org/#concept-task-runnable 46247. https://html.spec.whatwg.org/#concept-task 46248. https://html.spec.whatwg.org/#event-loop 46249. https://html.spec.whatwg.org/#task-queue 46250. https://html.spec.whatwg.org/#event-loop 46251. https://html.spec.whatwg.org/#last-idle-period-start-time 46252. https://w3c.github.io/hr-time/#dfn-unsafe-shared-current-time 46253. https://html.spec.whatwg.org/#event-loop 46254. https://html.spec.whatwg.org/#last-idle-period-start-time 46255. https://html.spec.whatwg.org/#same-loop-windows 46256. https://html.spec.whatwg.org/#event-loop 46257. https://html.spec.whatwg.org/#list-of-animation-frame-callbacks 46258. https://infra.spec.whatwg.org/#map-is-empty 46259. https://infra.spec.whatwg.org/#map-getting-the-values 46260. https://html.spec.whatwg.org/#map-of-active-timers 46261. https://html.spec.whatwg.org/#event-loop 46262. https://html.spec.whatwg.org/#last-render-opportunity-time 46263. https://html.spec.whatwg.org/#last-render-opportunity-time 46264. https://html.spec.whatwg.org/#same-loop-windows 46265. https://html.spec.whatwg.org/#event-loop 46266. https://w3c.github.io/requestidlecallback/#start-an-idle-period-algorithm 46267. https://w3c.github.io/hr-time/#dfn-coarsen-time 46268. https://html.spec.whatwg.org/#relevant-settings-object 46269. https://html.spec.whatwg.org/#concept-settings-object-cross-origin-isolated-capability 46270. https://html.spec.whatwg.org/#refsREQUESTIDLECALLBACK 46271. https://html.spec.whatwg.org/#worker-event-loop-2 46272. https://html.spec.whatwg.org/#event-loop 46273. https://tc39.es/ecma262/#sec-agents 46274. https://tc39.es/ecma262/#sec-code-realms 46275. https://html.spec.whatwg.org/#concept-realm-global 46276. https://html.spec.whatwg.org/#concept-animationframeprovider-supported 46277. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 46278. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 46279. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 46280. https://html.spec.whatwg.org/#refsHRT 46281. https://html.spec.whatwg.org/#run-the-animation-frame-callbacks 46282. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 46283. https://html.spec.whatwg.org/#update-the-rendering 46284. https://html.spec.whatwg.org/#window-event-loop 46285. https://html.spec.whatwg.org/#concept-task 46286. https://html.spec.whatwg.org/#event-loop 46287. https://html.spec.whatwg.org/#task-queue 46288. https://html.spec.whatwg.org/#workerglobalscope 46289. https://html.spec.whatwg.org/#dom-workerglobalscope-closing 46290. https://html.spec.whatwg.org/#event-loop 46291. https://html.spec.whatwg.org/#run-a-worker 46292. https://html.spec.whatwg.org/#workers 46293. https://html.spec.whatwg.org/#window-event-loop 46294. https://html.spec.whatwg.org/#in-parallel 46295. https://html.spec.whatwg.org/#navigable 46296. https://html.spec.whatwg.org/#nav-document 46297. https://html.spec.whatwg.org/#relevant-agent 46298. https://html.spec.whatwg.org/#concept-agent-event-loop 46299. https://html.spec.whatwg.org/#rendering-opportunity 46300. https://html.spec.whatwg.org/#last-render-opportunity-time 46301. https://w3c.github.io/hr-time/#dfn-unsafe-shared-current-time 46302. https://html.spec.whatwg.org/#rendering-opportunity 46303. https://html.spec.whatwg.org/#queue-a-global-task 46304. https://html.spec.whatwg.org/#rendering-task-source 46305. https://html.spec.whatwg.org/#nav-window 46306. https://html.spec.whatwg.org/#update-the-rendering 46307. https://html.spec.whatwg.org/#last-render-opportunity-time 46308. https://html.spec.whatwg.org/#fully-active 46309. https://html.spec.whatwg.org/#document 46310. https://html.spec.whatwg.org/#relevant-agent 46311. https://html.spec.whatwg.org/#concept-agent-event-loop 46312. https://html.spec.whatwg.org/#document 46313. https://html.spec.whatwg.org/#doc-container-document 46314. https://html.spec.whatwg.org/#doc-container-document 46315. https://dom.spec.whatwg.org/#concept-shadow-including-tree-order 46316. https://html.spec.whatwg.org/#navigable-container 46317. https://dom.spec.whatwg.org/#concept-node-tree 46318. https://html.spec.whatwg.org/#document 46319. https://html.spec.whatwg.org/#document 46320. https://html.spec.whatwg.org/#render-blocked 46321. https://html.spec.whatwg.org/#visibility-state 46322. https://drafts.csswg.org/css-view-transitions/#document-rendering-suppression-for-view-transitions 46323. https://html.spec.whatwg.org/#node-navigable 46324. https://html.spec.whatwg.org/#rendering-opportunity 46325. https://html.spec.whatwg.org/#in-parallel 46326. https://html.spec.whatwg.org/#event-loop 46327. https://html.spec.whatwg.org/#rendering-opportunity 46328. https://html.spec.whatwg.org/#document 46329. https://html.spec.whatwg.org/#node-navigable 46330. https://html.spec.whatwg.org/#list-of-animation-frame-callbacks 46331. https://html.spec.whatwg.org/#document 46332. https://html.spec.whatwg.org/#concept-task 46333. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 46334. https://html.spec.whatwg.org/#run-the-animation-frame-callbacks 46335. https://html.spec.whatwg.org/#reveal 46336. https://html.spec.whatwg.org/#flush-autofocus-candidates 46337. https://html.spec.whatwg.org/#node-navigable 46338. https://html.spec.whatwg.org/#top-level-traversable 46339. https://drafts.csswg.org/cssom-view/#document-run-the-resize-steps 46340. https://html.spec.whatwg.org/#refsCSSOMVIEW 46341. https://drafts.csswg.org/cssom-view/#document-run-the-scroll-steps 46342. https://html.spec.whatwg.org/#refsCSSOMVIEW 46343. https://drafts.csswg.org/cssom-view/#evaluate-media-queries-and-report-changes 46344. https://html.spec.whatwg.org/#refsCSSOMVIEW 46345. https://drafts.csswg.org/web-animations-1/#update-animations-and-send-events 46346. https://w3c.github.io/hr-time/#dfn-relative-high-resolution-time 46347. https://html.spec.whatwg.org/#concept-relevant-global 46348. https://html.spec.whatwg.org/#refsWEBANIMATIONS 46349. https://fullscreen.spec.whatwg.org/#run-the-fullscreen-steps 46350. https://html.spec.whatwg.org/#refsFULLSCREEN 46351. https://html.spec.whatwg.org/#canvasrenderingcontext2d 46352. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 46353. https://html.spec.whatwg.org/#dom-context-2d-canvas 46354. https://html.spec.whatwg.org/#canvasrenderingcontext2d 46355. https://html.spec.whatwg.org/#associated-offscreencanvas-object 46356. https://html.spec.whatwg.org/#concept-canvas-context-lost 46357. https://html.spec.whatwg.org/#reset-the-rendering-context-to-its-default-state 46358. https://dom.spec.whatwg.org/#concept-event-fire 46359. https://html.spec.whatwg.org/#event-contextlost 46360. https://dom.spec.whatwg.org/#dom-event-cancelable 46361. https://html.spec.whatwg.org/#concept-canvas-context-lost 46362. https://dom.spec.whatwg.org/#concept-event-fire 46363. https://html.spec.whatwg.org/#event-contextrestored 46364. https://html.spec.whatwg.org/#run-the-animation-frame-callbacks 46365. https://w3c.github.io/hr-time/#dfn-relative-high-resolution-time 46366. https://html.spec.whatwg.org/#concept-relevant-global 46367. https://w3c.github.io/hr-time/#dfn-unsafe-shared-current-time 46368. https://drafts.csswg.org/css-contain/#propdef-content-visibility 46369. https://drafts.csswg.org/css-contain/#content-visibility 46370. https://drafts.csswg.org/css-contain/#proximity-to-the-viewport 46371. https://drafts.csswg.org/css-contain/#relevant-to-the-user 46372. https://drafts.csswg.org/css-contain/#proximity-to-the-viewport 46373. https://drafts.csswg.org/css-contain/#relevant-to-the-user 46374. https://infra.spec.whatwg.org/#iteration-continue 46375. https://html.spec.whatwg.org/#rendering-opportunity 46376. https://html.spec.whatwg.org/#refsCSSCONTAIN 46377. https://drafts.csswg.org/resize-observer-1/#gather-active-observations-h 46378. https://drafts.csswg.org/resize-observer-1/#has-active-observations-h 46379. https://drafts.csswg.org/resize-observer-1/#broadcast-resize-notifications-h 46380. https://infra.spec.whatwg.org/#iteration-continue 46381. https://infra.spec.whatwg.org/#iteration-break 46382. https://drafts.csswg.org/resize-observer-1/#has-skipped-observations-h 46383. https://drafts.csswg.org/resize-observer-1/#deliver-resize-error 46384. https://html.spec.whatwg.org/#focused-area-of-the-document 46385. https://html.spec.whatwg.org/#focusable-area 46386. https://html.spec.whatwg.org/#focusing-steps 46387. https://drafts.csswg.org/css2/#viewport 46388. https://html.spec.whatwg.org/#concept-relevant-global 46389. https://html.spec.whatwg.org/#window-navigation-api 46390. https://html.spec.whatwg.org/#focus-changed-during-ongoing-navigation 46391. https://html.spec.whatwg.org/#attr-hidden 46392. https://html.spec.whatwg.org/#being-rendered 46393. https://html.spec.whatwg.org/#the-input-element 46394. https://html.spec.whatwg.org/#concept-fe-disabled 46395. https://html.spec.whatwg.org/#note-sometimes-no-blur-event 46396. https://html.spec.whatwg.org/#event-blur 46397. https://html.spec.whatwg.org/#event-change 46398. https://html.spec.whatwg.org/#focused-area-of-the-document 46399. https://html.spec.whatwg.org/#node-remove-focus-fixup 46400. https://html.spec.whatwg.org/#event-blur 46401. https://html.spec.whatwg.org/#event-change 46402. https://drafts.csswg.org/css-view-transitions/#perform-pending-transition-operations 46403. https://html.spec.whatwg.org/#refsCSSVIEWTRANSITIONS 46404. https://w3c.github.io/IntersectionObserver/#run-the-update-intersection-observations-steps 46405. https://w3c.github.io/hr-time/#dfn-relative-high-resolution-time 46406. https://html.spec.whatwg.org/#concept-relevant-global 46407. https://html.spec.whatwg.org/#refsINTERSECTIONOBSERVER 46408. https://w3c.github.io/long-animation-frames/#record-rendering-time 46409. https://w3c.github.io/paint-timing/#mark-paint-timing 46410. https://html.spec.whatwg.org/#node-navigable 46411. https://drafts.csswg.org/css-position-4/#process-top-layer-removals 46412. https://html.spec.whatwg.org/#navigable 46413. https://html.spec.whatwg.org/#navigable 46414. https://html.spec.whatwg.org/#navigable 46415. https://html.spec.whatwg.org/#rendering-opportunity 46416. https://html.spec.whatwg.org/#nav-document 46417. https://html.spec.whatwg.org/#visibility-state 46418. https://html.spec.whatwg.org/#navigable 46419. https://html.spec.whatwg.org/#navigable 46420. https://html.spec.whatwg.org/#navigable 46421. https://html.spec.whatwg.org/#event-loop 46422. https://html.spec.whatwg.org/#performing-a-microtask-checkpoint 46423. https://html.spec.whatwg.org/#event-loop 46424. https://html.spec.whatwg.org/#performing-a-microtask-checkpoint 46425. https://html.spec.whatwg.org/#event-loop 46426. https://html.spec.whatwg.org/#microtask-queue 46427. https://infra.spec.whatwg.org/#list-is-empty 46428. https://infra.spec.whatwg.org/#queue-dequeue 46429. https://html.spec.whatwg.org/#event-loop 46430. https://html.spec.whatwg.org/#microtask-queue 46431. https://html.spec.whatwg.org/#event-loop 46432. https://html.spec.whatwg.org/#currently-running-task 46433. https://html.spec.whatwg.org/#clean-up-after-running-script 46434. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 46435. https://html.spec.whatwg.org/#performing-a-microtask-checkpoint 46436. https://html.spec.whatwg.org/#event-loop 46437. https://html.spec.whatwg.org/#currently-running-task 46438. https://html.spec.whatwg.org/#environment-settings-object 46439. https://html.spec.whatwg.org/#responsible-event-loop 46440. https://html.spec.whatwg.org/#event-loop 46441. https://html.spec.whatwg.org/#notify-about-rejected-promises 46442. https://html.spec.whatwg.org/#concept-settings-object-global 46443. https://w3c.github.io/IndexedDB/#cleanup-indexed-database-transactions 46444. https://tc39.es/ecma262/#sec-clear-kept-objects 46445. https://tc39.es/ecma262/#sec-weak-ref.prototype.deref 46446. https://tc39.es/ecma262/#sec-clear-kept-objects 46447. https://html.spec.whatwg.org/#event-loop 46448. https://html.spec.whatwg.org/#performing-a-microtask-checkpoint 46449. https://w3c.github.io/long-animation-frames/#record-timing-info-for-microtask-checkpoint 46450. https://html.spec.whatwg.org/#in-parallel 46451. https://html.spec.whatwg.org/#queue-a-microtask 46452. https://html.spec.whatwg.org/#in-parallel 46453. https://html.spec.whatwg.org/#synchronous-section 46454. https://html.spec.whatwg.org/#event-loop 46455. https://html.spec.whatwg.org/#currently-running-task 46456. https://html.spec.whatwg.org/#microtask 46457. https://html.spec.whatwg.org/#concept-task-source 46458. https://tc39.es/ecma262/#execution-context-stack 46459. https://tc39.es/ecma262/#execution-context-stack 46460. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 46461. https://html.spec.whatwg.org/#microtask 46462. https://html.spec.whatwg.org/#performing-a-microtask-checkpoint 46463. https://html.spec.whatwg.org/#in-parallel 46464. https://html.spec.whatwg.org/#queue-a-task 46465. https://tc39.es/ecma262/#execution-context-stack 46466. https://html.spec.whatwg.org/#spin-the-event-loop 46467. https://html.spec.whatwg.org/#event-loop 46468. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 46469. https://html.spec.whatwg.org/#spin-the-event-loop 46470. https://html.spec.whatwg.org/#spin-the-event-loop 46471. https://tc39.es/ecma262/#execution-context-stack 46472. https://tc39.es/ecma262/#execution-context-stack 46473. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 46474. https://html.spec.whatwg.org/#in-parallel 46475. https://html.spec.whatwg.org/#queue-a-task 46476. https://tc39.es/ecma262/#execution-context-stack 46477. https://html.spec.whatwg.org/#spin-the-event-loop 46478. https://html.spec.whatwg.org/#in-parallel 46479. https://html.spec.whatwg.org/#queue-a-task 46480. https://html.spec.whatwg.org/#dom-manipulation-task-source 46481. https://html.spec.whatwg.org/#spin-the-event-loop 46482. https://html.spec.whatwg.org/#in-parallel 46483. https://html.spec.whatwg.org/#queue-a-task 46484. https://html.spec.whatwg.org/#dom-manipulation-task-source 46485. https://tc39.es/ecma262/#execution-context-stack 46486. https://tc39.es/ecma262/#execution-context-stack 46487. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 46488. https://html.spec.whatwg.org/#queue-a-task 46489. https://html.spec.whatwg.org/#dom-manipulation-task-source 46490. https://tc39.es/ecma262/#execution-context-stack 46491. https://html.spec.whatwg.org/#concept-task 46492. https://html.spec.whatwg.org/#current-global-object 46493. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 46494. https://html.spec.whatwg.org/#document 46495. https://html.spec.whatwg.org/#navigable 46496. https://html.spec.whatwg.org/#concept-task 46497. https://html.spec.whatwg.org/#event-loop 46498. https://html.spec.whatwg.org/#concept-task 46499. https://html.spec.whatwg.org/#concept-task 46500. https://html.spec.whatwg.org/#event-loop 46501. https://w3c.github.io/long-animation-frames/#record-pause-duration 46502. https://w3c.github.io/hr-time/#dfn-duration-from 46503. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 46504. https://html.spec.whatwg.org/#pause 46505. https://html.spec.whatwg.org/#event-loop 46506. https://html.spec.whatwg.org/#pause 46507. https://html.spec.whatwg.org/#spin-the-event-loop 46508. https://html.spec.whatwg.org/#event-loop 46509. https://html.spec.whatwg.org/#concept-task 46510. https://html.spec.whatwg.org/#microtask 46511. https://html.spec.whatwg.org/#pause 46512. https://html.spec.whatwg.org/#task-source 46513. https://html.spec.whatwg.org/#task-source 46514. https://html.spec.whatwg.org/#insert-an-element-into-a-document 46515. https://html.spec.whatwg.org/#task-source 46516. https://w3c.github.io/uievents/#event-type-click 46517. https://html.spec.whatwg.org/#concept-task 46518. https://html.spec.whatwg.org/#queue-a-task 46519. https://html.spec.whatwg.org/#user-interaction-task-source 46520. https://html.spec.whatwg.org/#refsUIEVENTS 46521. https://html.spec.whatwg.org/#task-source 46522. https://html.spec.whatwg.org/#task-source 46523. https://html.spec.whatwg.org/#navigate 46524. https://html.spec.whatwg.org/#apply-the-traverse-history-step 46525. https://html.spec.whatwg.org/#task-source 46526. https://html.spec.whatwg.org/#update-the-rendering 46527. https://html.spec.whatwg.org/#event-loop 46528. https://html.spec.whatwg.org/#event-loop 46529. https://html.spec.whatwg.org/#in-parallel 46530. https://html.spec.whatwg.org/#event-loop 46531. https://html.spec.whatwg.org/#event-loop-processing-model 46532. https://html.spec.whatwg.org/#concept-task 46533. https://html.spec.whatwg.org/#queue-a-task 46534. https://html.spec.whatwg.org/#script-processing-model 46535. https://html.spec.whatwg.org/#event-loop 46536. https://html.spec.whatwg.org/#in-parallel 46537. https://html.spec.whatwg.org/#in-parallel 46538. https://tc39.es/ecma262/#sec-code-realms 46539. https://html.spec.whatwg.org/#global-object 46540. https://html.spec.whatwg.org/#environment-settings-object 46541. https://html.spec.whatwg.org/#in-parallel 46542. https://webidl.spec.whatwg.org/#this 46543. https://html.spec.whatwg.org/#in-parallel 46544. https://webidl.spec.whatwg.org/#this 46545. https://webidl.spec.whatwg.org/#es-type-mapping 46546. https://html.spec.whatwg.org/#refsINFRA 46547. https://html.spec.whatwg.org/#refsWEBIDL 46548. https://html.spec.whatwg.org/#queue-a-global-task 46549. https://html.spec.whatwg.org/#event-loop 46550. https://html.spec.whatwg.org/#task-source 46551. https://html.spec.whatwg.org/#queue-a-global-task 46552. https://html.spec.whatwg.org/#task-source 46553. https://html.spec.whatwg.org/#generic-task-sources 46554. https://html.spec.whatwg.org/#global-object 46555. https://html.spec.whatwg.org/#queue-a-global-task 46556. https://html.spec.whatwg.org/#queue-a-task 46557. https://html.spec.whatwg.org/#queue-a-global-task 46558. https://html.spec.whatwg.org/#event-loop 46559. https://html.spec.whatwg.org/#concept-task-document 46560. https://html.spec.whatwg.org/#queue-a-task 46561. https://html.spec.whatwg.org/#implied-event-loop 46562. https://html.spec.whatwg.org/#implied-document 46563. https://html.spec.whatwg.org/#event-loop 46564. https://tc39.es/ecma262/#sec-code-realms 46565. https://html.spec.whatwg.org/#in-parallel 46566. https://html.spec.whatwg.org/#queue-a-global-task 46567. https://html.spec.whatwg.org/#task-source 46568. https://html.spec.whatwg.org/#global-object 46569. https://html.spec.whatwg.org/#event-loop 46570. https://infra.spec.whatwg.org/#list 46571. https://infra.spec.whatwg.org/#scalar-value-string 46572. https://infra.spec.whatwg.org/#list 46573. https://infra.spec.whatwg.org/#list-iterate 46574. https://html.spec.whatwg.org/#encoding-parsing-a-url 46575. https://html.spec.whatwg.org/#current-settings-object 46576. https://webidl.spec.whatwg.org/#a-promise-rejected-with 46577. https://webidl.spec.whatwg.org/#syntaxerror 46578. https://webidl.spec.whatwg.org/#dfn-DOMException 46579. https://url.spec.whatwg.org/#concept-url-serializer 46580. https://infra.spec.whatwg.org/#list-append 46581. https://tc39.es/ecma262/#current-realm 46582. https://html.spec.whatwg.org/#in-parallel 46583. https://infra.spec.whatwg.org/#list 46584. https://infra.spec.whatwg.org/#list-iterate 46585. https://infra.spec.whatwg.org/#string 46586. https://infra.spec.whatwg.org/#code-unit 46587. https://infra.spec.whatwg.org/#code-unit 46588. https://infra.spec.whatwg.org/#list-append 46589. https://html.spec.whatwg.org/#queue-a-global-task 46590. https://html.spec.whatwg.org/#networking-task-source 46591. https://html.spec.whatwg.org/#concept-realm-global 46592. https://webidl.spec.whatwg.org/#es-type-mapping 46593. https://html.spec.whatwg.org/#event-loop 46594. https://html.spec.whatwg.org/#in-parallel 46595. https://html.spec.whatwg.org/#current-settings-object 46596. https://html.spec.whatwg.org/#in-parallel 46597. https://html.spec.whatwg.org/#current-settings-object 46598. https://html.spec.whatwg.org/#api-base-url 46599. https://html.spec.whatwg.org/#in-parallel 46600. https://html.spec.whatwg.org/#current-settings-object 46601. https://html.spec.whatwg.org/#api-base-url 46602. https://infra.spec.whatwg.org/#list 46603. https://infra.spec.whatwg.org/#string 46604. https://html.spec.whatwg.org/#in-parallel 46605. https://infra.spec.whatwg.org/#list 46606. https://infra.spec.whatwg.org/#string 46607. https://tc39.es/ecma262/#sec-code-realms 46608. https://html.spec.whatwg.org/#in-parallel 46609. https://html.spec.whatwg.org/#event-loop 46610. https://html.spec.whatwg.org/#in-parallel 46611. https://html.spec.whatwg.org/#concept-task 46612. https://html.spec.whatwg.org/#queue-a-global-task 46613. https://github.com/whatwg/webidl/issues/135 46614. https://github.com/whatwg/webidl/issues/371 46615. https://webidl.spec.whatwg.org/#idl-USVString 46616. https://tc39.es/ecma262/#sec-code-realms 46617. https://webidl.spec.whatwg.org/#idl-USVString 46618. https://infra.spec.whatwg.org/#list 46619. https://infra.spec.whatwg.org/#scalar-value-string 46620. https://html.spec.whatwg.org/#event-loop 46621. https://html.spec.whatwg.org/#in-parallel 46622. https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Event_handlers 46623. https://dom.spec.whatwg.org/#concept-event-listener 46624. https://html.spec.whatwg.org/#refsDOM 46625. https://html.spec.whatwg.org/#event-handlers 46626. https://infra.spec.whatwg.org/#struct 46627. https://infra.spec.whatwg.org/#struct-item 46628. https://html.spec.whatwg.org/#internal-raw-uncompiled-handler 46629. https://html.spec.whatwg.org/#eventhandler 46630. https://html.spec.whatwg.org/#event-handlers 46631. https://html.spec.whatwg.org/#event-handler-value 46632. https://dom.spec.whatwg.org/#concept-event-listener 46633. https://html.spec.whatwg.org/#the-event-handler-processing-algorithm 46634. https://html.spec.whatwg.org/#event-handlers 46635. https://html.spec.whatwg.org/#event-handler-listener 46636. https://html.spec.whatwg.org/#event-handler-idl-attributes 46637. https://html.spec.whatwg.org/#event-handler-content-attributes 46638. https://html.spec.whatwg.org/#html-elements 46639. https://html.spec.whatwg.org/#window 46640. https://html.spec.whatwg.org/#event-handlers 46641. https://html.spec.whatwg.org/#event-handlers 46642. https://dom.spec.whatwg.org/#concept-event-listener 46643. https://html.spec.whatwg.org/#the-body-element 46644. https://html.spec.whatwg.org/#frameset 46645. https://html.spec.whatwg.org/#event-handlers 46646. https://html.spec.whatwg.org/#window 46647. https://html.spec.whatwg.org/#event-handlers 46648. https://html.spec.whatwg.org/#event-handlers 46649. https://dom.spec.whatwg.org/#interface-eventtarget 46650. https://html.spec.whatwg.org/#event-handlers 46651. https://html.spec.whatwg.org/#event-handler-name 46652. https://html.spec.whatwg.org/#the-body-element 46653. https://html.spec.whatwg.org/#frameset 46654. https://html.spec.whatwg.org/#windoweventhandlers 46655. https://html.spec.whatwg.org/#window-reflecting-body-element-event-handler-set 46656. https://infra.spec.whatwg.org/#list-contain 46657. https://dom.spec.whatwg.org/#concept-node-document 46658. https://html.spec.whatwg.org/#active-document 46659. https://html.spec.whatwg.org/#the-body-element 46660. https://html.spec.whatwg.org/#window 46661. https://html.spec.whatwg.org/#the-body-element 46662. https://html.spec.whatwg.org/#frameset 46663. https://html.spec.whatwg.org/#the-body-element-2 46664. https://dom.spec.whatwg.org/#concept-node-document 46665. https://html.spec.whatwg.org/#the-body-element 46666. https://html.spec.whatwg.org/#active-document 46667. https://dom.spec.whatwg.org/#dom-document-createelement 46668. https://dom.spec.whatwg.org/#connected 46669. https://html.spec.whatwg.org/#window 46670. https://html.spec.whatwg.org/#event-handler-target 46671. https://html.spec.whatwg.org/#event-handlers 46672. https://dom.spec.whatwg.org/#concept-node-document 46673. https://html.spec.whatwg.org/#concept-relevant-global 46674. https://dom.spec.whatwg.org/#interface-eventtarget 46675. https://html.spec.whatwg.org/#event-handlers 46676. https://infra.spec.whatwg.org/#ordered-map 46677. https://html.spec.whatwg.org/#event-handler-name 46678. https://html.spec.whatwg.org/#event-handlers 46679. https://html.spec.whatwg.org/#event-handlers 46680. https://dom.spec.whatwg.org/#interface-eventtarget 46681. https://html.spec.whatwg.org/#event-handlers 46682. https://html.spec.whatwg.org/#event-handler-map 46683. https://infra.spec.whatwg.org/#map-entry 46684. https://html.spec.whatwg.org/#event-handlers 46685. https://html.spec.whatwg.org/#event-handler-target 46686. https://infra.spec.whatwg.org/#struct-item 46687. https://html.spec.whatwg.org/#event-handlers 46688. https://infra.spec.whatwg.org/#map-entry 46689. https://html.spec.whatwg.org/#event-handler-map 46690. https://infra.spec.whatwg.org/#map-entry 46691. https://html.spec.whatwg.org/#event-handler-map 46692. https://html.spec.whatwg.org/#event-handlers 46693. https://html.spec.whatwg.org/#event-handler-target 46694. https://html.spec.whatwg.org/#event-handlers 46695. https://html.spec.whatwg.org/#event-handler-name 46696. https://html.spec.whatwg.org/#event-handlers 46697. https://html.spec.whatwg.org/#event-handler-idl-attributes 46698. https://html.spec.whatwg.org/#determining-the-target-of-an-event-handler 46699. https://html.spec.whatwg.org/#getting-the-current-value-of-the-event-handler 46700. https://html.spec.whatwg.org/#event-handler-idl-attributes 46701. https://html.spec.whatwg.org/#determining-the-target-of-an-event-handler 46702. https://html.spec.whatwg.org/#deactivate-an-event-handler 46703. https://html.spec.whatwg.org/#event-handler-map 46704. https://html.spec.whatwg.org/#event-handler-value 46705. https://html.spec.whatwg.org/#activate-an-event-handler 46706. https://html.spec.whatwg.org/#event-handler-idl-attributes 46707. https://html.spec.whatwg.org/#handler-messageeventtarget-onmessage 46708. https://html.spec.whatwg.org/#messageport 46709. https://html.spec.whatwg.org/#event-handlers 46710. https://html.spec.whatwg.org/#event-handler-name 46711. https://html.spec.whatwg.org/#event-handlers 46712. https://html.spec.whatwg.org/#event-handler-content-attributes 46713. https://tc39.es/ecma262/#prod-FunctionBody 46714. https://tc39.es/ecma262/#sec-automatic-semicolon-insertion 46715. https://dom.spec.whatwg.org/#concept-element-attributes-change-ext 46716. https://html.spec.whatwg.org/#event-handler-content-attributes 46717. https://html.spec.whatwg.org/#event-handlers 46718. https://html.spec.whatwg.org/#refsDOM 46719. https://html.spec.whatwg.org/#event-handler-content-attributes 46720. https://html.spec.whatwg.org/#determining-the-target-of-an-event-handler 46721. https://html.spec.whatwg.org/#deactivate-an-event-handler 46722. https://w3c.github.io/webappsec-csp/#should-block-inline 46723. https://html.spec.whatwg.org/#refsCSP 46724. https://html.spec.whatwg.org/#event-handler-map 46725. https://html.spec.whatwg.org/#event-handler-value 46726. https://html.spec.whatwg.org/#internal-raw-uncompiled-handler 46727. https://html.spec.whatwg.org/#activate-an-event-handler 46728. https://html.spec.whatwg.org/#refsDOM 46729. https://dom.spec.whatwg.org/#interface-eventtarget 46730. https://html.spec.whatwg.org/#event-handler-name 46731. https://html.spec.whatwg.org/#event-handlers 46732. https://html.spec.whatwg.org/#event-handler-map 46733. https://html.spec.whatwg.org/#event-handler-value 46734. https://html.spec.whatwg.org/#event-handler-listener 46735. https://dom.spec.whatwg.org/#remove-an-event-listener 46736. https://html.spec.whatwg.org/#event-handler-listener 46737. https://dom.spec.whatwg.org/#interface-eventtarget 46738. https://html.spec.whatwg.org/#event-handler-map 46739. https://html.spec.whatwg.org/#event-handler-map 46740. https://html.spec.whatwg.org/#deactivate-an-event-handler 46741. https://dom.spec.whatwg.org/#remove-all-event-listeners 46742. https://html.spec.whatwg.org/#dom-document-open 46743. https://dom.spec.whatwg.org/#interface-eventtarget 46744. https://html.spec.whatwg.org/#event-handler-name 46745. https://html.spec.whatwg.org/#event-handlers 46746. https://html.spec.whatwg.org/#event-handler-map 46747. https://html.spec.whatwg.org/#event-handler-listener 46748. https://dom.spec.whatwg.org/#callbackdef-eventlistener 46749. https://html.spec.whatwg.org/#the-event-handler-processing-algorithm 46750. https://dom.spec.whatwg.org/#callbackdef-eventlistener 46751. https://webidl.spec.whatwg.org/#dfn-callback-context 46752. https://html.spec.whatwg.org/#the-event-handler-processing-algorithm 46753. https://html.spec.whatwg.org/#refsDOM 46754. https://html.spec.whatwg.org/#event-handlers 46755. https://dom.spec.whatwg.org/#concept-event-listener 46756. https://dom.spec.whatwg.org/#event-listener-type 46757. https://dom.spec.whatwg.org/#event-listener-callback 46758. https://dom.spec.whatwg.org/#concept-event-listener 46759. https://dom.spec.whatwg.org/#callbackdef-eventlistener 46760. https://dom.spec.whatwg.org/#add-an-event-listener 46761. https://html.spec.whatwg.org/#event-handler-listener 46762. https://html.spec.whatwg.org/#event-handlers 46763. https://html.spec.whatwg.org/#event-handler-value 46764. https://html.spec.whatwg.org/#event-handlers 46765. https://html.spec.whatwg.org/#deactivate-an-event-handler 46766. https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener 46767. https://html.spec.whatwg.org/#event-handlers 46768. https://html.spec.whatwg.org/#event-handler-value 46769. https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener 46770. https://html.spec.whatwg.org/#event-handlers 46771. https://html.spec.whatwg.org/#event-handler-value 46772. https://html.spec.whatwg.org/#deactivate-an-event-handler 46773. https://html.spec.whatwg.org/#event-handlers 46774. https://dom.spec.whatwg.org/#interface-eventtarget 46775. https://html.spec.whatwg.org/#event-handler-name 46776. https://html.spec.whatwg.org/#event-handlers 46777. https://dom.spec.whatwg.org/#interface-event 46778. https://html.spec.whatwg.org/#getting-the-current-value-of-the-event-handler 46779. https://html.spec.whatwg.org/#errorevent 46780. https://dom.spec.whatwg.org/#dom-event-type 46781. https://html.spec.whatwg.org/#event-error 46782. https://dom.spec.whatwg.org/#dom-event-currenttarget 46783. https://html.spec.whatwg.org/#windoworworkerglobalscope 46784. https://dom.spec.whatwg.org/#interface-event 46785. https://webidl.spec.whatwg.org/#invoke-a-callback-function 46786. https://html.spec.whatwg.org/#dom-errorevent-message 46787. https://html.spec.whatwg.org/#dom-errorevent-filename 46788. https://html.spec.whatwg.org/#dom-errorevent-lineno 46789. https://html.spec.whatwg.org/#dom-errorevent-colno 46790. https://html.spec.whatwg.org/#dom-errorevent-error 46791. https://webidl.spec.whatwg.org/#dfn-callback-this-value 46792. https://dom.spec.whatwg.org/#dom-event-currenttarget 46793. https://webidl.spec.whatwg.org/#invoke-a-callback-function 46794. https://webidl.spec.whatwg.org/#dfn-callback-this-value 46795. https://dom.spec.whatwg.org/#dom-event-currenttarget 46796. https://dom.spec.whatwg.org/#concept-event-dispatch 46797. https://html.spec.whatwg.org/#report-an-exception 46798. https://html.spec.whatwg.org/#beforeunloadevent 46799. https://dom.spec.whatwg.org/#dom-event-type 46800. https://html.spec.whatwg.org/#event-beforeunload 46801. https://html.spec.whatwg.org/#event-handler-idl-attributes 46802. https://html.spec.whatwg.org/#onbeforeunloadeventhandler 46803. https://webidl.spec.whatwg.org/#idl-DOMString 46804. https://dom.spec.whatwg.org/#canceled-flag 46805. https://html.spec.whatwg.org/#dom-beforeunloadevent-returnvalue 46806. https://html.spec.whatwg.org/#dom-beforeunloadevent-returnvalue 46807. https://dom.spec.whatwg.org/#canceled-flag 46808. https://dom.spec.whatwg.org/#canceled-flag 46809. https://dom.spec.whatwg.org/#dom-event-type 46810. https://html.spec.whatwg.org/#event-beforeunload 46811. https://html.spec.whatwg.org/#beforeunloadevent 46812. https://webidl.spec.whatwg.org/#idl-DOMString 46813. https://html.spec.whatwg.org/#eventhandler 46814. https://webidl.spec.whatwg.org/#LegacyTreatNonObjectAsNull 46815. https://dom.spec.whatwg.org/#interface-event 46816. https://html.spec.whatwg.org/#eventhandlernonnull 46817. https://webidl.spec.whatwg.org/#common-Function 46818. https://html.spec.whatwg.org/#handler-onerror 46819. https://html.spec.whatwg.org/#handler-window-onbeforeunload 46820. https://html.spec.whatwg.org/#handler-onerror 46821. https://webidl.spec.whatwg.org/#LegacyTreatNonObjectAsNull 46822. https://dom.spec.whatwg.org/#interface-event 46823. https://html.spec.whatwg.org/#onerroreventhandlernonnull 46824. https://html.spec.whatwg.org/#handler-window-onbeforeunload 46825. https://webidl.spec.whatwg.org/#LegacyTreatNonObjectAsNull 46826. https://dom.spec.whatwg.org/#interface-event 46827. https://html.spec.whatwg.org/#onbeforeunloadeventhandlernonnull 46828. https://dom.spec.whatwg.org/#interface-eventtarget 46829. https://html.spec.whatwg.org/#event-handler-name 46830. https://html.spec.whatwg.org/#event-handlers 46831. https://html.spec.whatwg.org/#event-handler-map 46832. https://html.spec.whatwg.org/#event-handler-value 46833. https://html.spec.whatwg.org/#internal-raw-uncompiled-handler 46834. https://dom.spec.whatwg.org/#concept-node-document 46835. https://html.spec.whatwg.org/#window 46836. https://html.spec.whatwg.org/#concept-document-window 46837. https://html.spec.whatwg.org/#concept-n-noscript 46838. https://html.spec.whatwg.org/#event-handler-value 46839. https://html.spec.whatwg.org/#event-handler-value 46840. https://html.spec.whatwg.org/#form-owner 46841. https://html.spec.whatwg.org/#form-owner 46842. https://html.spec.whatwg.org/#relevant-settings-object 46843. https://tc39.es/ecma262/#prod-FunctionBody 46844. https://tc39.es/ecma262/#early-error-rule 46845. https://html.spec.whatwg.org/#event-handler-value 46846. https://html.spec.whatwg.org/#deactivate-an-event-handler 46847. https://dom.spec.whatwg.org/#remove-an-event-listener 46848. https://html.spec.whatwg.org/#event-handler-listener 46849. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-syntaxerror 46850. https://html.spec.whatwg.org/#environment-settings-object's-realm 46851. https://html.spec.whatwg.org/#report-an-exception 46852. https://html.spec.whatwg.org/#concept-settings-object-global 46853. https://html.spec.whatwg.org/#realm-execution-context 46854. https://tc39.es/ecma262/#execution-context-stack 46855. https://tc39.es/ecma262/#running-execution-context 46856. https://tc39.es/ecma262/#sec-ordinaryfunctioncreate 46857. https://tc39.es/ecma262/#sec-code-realms 46858. https://tc39.es/ecma262/#sec-ordinaryfunctioncreate 46859. https://tc39.es/ecma262/#sec-properties-of-the-function-prototype-object 46860. https://html.spec.whatwg.org/#handler-onerror 46861. https://html.spec.whatwg.org/#window 46862. https://html.spec.whatwg.org/#handler-onerror 46863. https://html.spec.whatwg.org/#window 46864. https://html.spec.whatwg.org/#environment-settings-object's-realm 46865. https://html.spec.whatwg.org/#event-handlers 46866. https://tc39.es/ecma262/#sec-newobjectenvironment 46867. https://html.spec.whatwg.org/#window 46868. https://html.spec.whatwg.org/#event-handlers 46869. https://tc39.es/ecma262/#sec-newobjectenvironment 46870. https://tc39.es/ecma262/#sec-newobjectenvironment 46871. https://html.spec.whatwg.org/#realm-execution-context 46872. https://tc39.es/ecma262/#execution-context-stack 46873. https://html.spec.whatwg.org/#concept-script 46874. https://html.spec.whatwg.org/#active-script 46875. https://tc39.es/ecma262/#sec-import-calls 46876. https://html.spec.whatwg.org/#concept-script-base-url 46877. https://html.spec.whatwg.org/#hostloadimportedmodule 46878. https://html.spec.whatwg.org/#current-settings-object 46879. https://html.spec.whatwg.org/#api-base-url 46880. https://html.spec.whatwg.org/#event-handler-value 46881. https://html.spec.whatwg.org/#eventhandler 46882. https://webidl.spec.whatwg.org/#dfn-callback-context 46883. https://html.spec.whatwg.org/#event-handler-value 46884. https://html.spec.whatwg.org/#document 46885. https://html.spec.whatwg.org/#window 46886. https://html.spec.whatwg.org/#event-handlers 46887. https://html.spec.whatwg.org/#event-handler-event-type 46888. https://html.spec.whatwg.org/#html-elements 46889. https://html.spec.whatwg.org/#event-handler-content-attributes 46890. https://html.spec.whatwg.org/#event-handler-idl-attributes 46891. https://html.spec.whatwg.org/#document 46892. https://html.spec.whatwg.org/#window 46893. https://html.spec.whatwg.org/#event-handler-idl-attributes 46894. https://html.spec.whatwg.org/#event-handlers 46895. https://html.spec.whatwg.org/#event-handler-event-type 46896. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/abort_event 46897. https://developer.mozilla.org/en-US/docs/Web/API/Element/auxclick_event 46898. https://w3c.github.io/uievents/#event-type-auxclick 46899. https://w3c.github.io/uievents/#event-type-beforeinput 46900. https://html.spec.whatwg.org/#event-beforematch 46901. https://html.spec.whatwg.org/#event-beforetoggle 46902. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/cancel_event 46903. https://html.spec.whatwg.org/#event-cancel 46904. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/canplay_event 46905. https://html.spec.whatwg.org/#event-media-canplay 46906. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/canplaythrough_event 46907. https://html.spec.whatwg.org/#event-media-canplaythrough 46908. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event 46909. https://html.spec.whatwg.org/#event-change 46910. https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event 46911. https://w3c.github.io/uievents/#event-type-click 46912. https://html.spec.whatwg.org/#event-close 46913. https://html.spec.whatwg.org/#event-command 46914. https://html.spec.whatwg.org/#event-contextlost 46915. https://w3c.github.io/uievents/#event-type-contextmenu 46916. https://html.spec.whatwg.org/#event-contextrestored 46917. https://developer.mozilla.org/en-US/docs/Web/API/Element/copy_event 46918. https://w3c.github.io/clipboard-apis/#clipboard-event-copy 46919. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTrackElement/cuechange_event 46920. https://html.spec.whatwg.org/#event-media-cuechange 46921. https://developer.mozilla.org/en-US/docs/Web/API/Element/cut_event 46922. https://w3c.github.io/clipboard-apis/#clipboard-event-cut 46923. https://developer.mozilla.org/en-US/docs/Web/API/Element/dblclick_event 46924. https://w3c.github.io/uievents/#event-type-dblclick 46925. https://html.spec.whatwg.org/#event-dnd-drag 46926. https://html.spec.whatwg.org/#event-dnd-dragend 46927. https://html.spec.whatwg.org/#event-dnd-dragenter 46928. https://html.spec.whatwg.org/#event-dnd-dragleave 46929. https://html.spec.whatwg.org/#event-dnd-dragover 46930. https://html.spec.whatwg.org/#event-dnd-dragstart 46931. https://html.spec.whatwg.org/#event-dnd-drop 46932. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/durationchange_event 46933. https://html.spec.whatwg.org/#event-media-durationchange 46934. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/emptied_event 46935. https://html.spec.whatwg.org/#event-media-emptied 46936. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/ended_event 46937. https://html.spec.whatwg.org/#event-media-ended 46938. https://html.spec.whatwg.org/#event-formdata 46939. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event 46940. https://w3c.github.io/uievents/#event-type-input 46941. https://html.spec.whatwg.org/#event-invalid 46942. https://developer.mozilla.org/en-US/docs/Web/API/Element/keydown_event 46943. https://w3c.github.io/uievents/#event-type-keydown 46944. https://w3c.github.io/uievents/#event-type-keypress 46945. https://developer.mozilla.org/en-US/docs/Web/API/Element/keyup_event 46946. https://w3c.github.io/uievents/#event-type-keyup 46947. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/loadeddata_event 46948. https://html.spec.whatwg.org/#event-media-loadeddata 46949. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/loadedmetadata_event 46950. https://html.spec.whatwg.org/#event-media-loadedmetadata 46951. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/loadstart_event 46952. https://html.spec.whatwg.org/#event-media-loadstart 46953. https://developer.mozilla.org/en-US/docs/Web/API/Element/mousedown_event 46954. https://w3c.github.io/uievents/#event-type-mousedown 46955. https://developer.mozilla.org/en-US/docs/Web/API/Element/mouseenter_event 46956. https://w3c.github.io/uievents/#event-type-mouseenter 46957. https://developer.mozilla.org/en-US/docs/Web/API/Element/mouseleave_event 46958. https://w3c.github.io/uievents/#event-type-mouseleave 46959. https://developer.mozilla.org/en-US/docs/Web/API/Element/mousemove_event 46960. https://w3c.github.io/uievents/#event-type-mousemove 46961. https://developer.mozilla.org/en-US/docs/Web/API/Element/mouseout_event 46962. https://w3c.github.io/uievents/#event-type-mouseout 46963. https://developer.mozilla.org/en-US/docs/Web/API/Element/mouseover_event 46964. https://w3c.github.io/uievents/#event-type-mouseover 46965. https://developer.mozilla.org/en-US/docs/Web/API/Element/mouseup_event 46966. https://w3c.github.io/uievents/#event-type-mouseup 46967. https://developer.mozilla.org/en-US/docs/Web/API/Element/paste_event 46968. https://w3c.github.io/clipboard-apis/#clipboard-event-paste 46969. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/pause_event 46970. https://html.spec.whatwg.org/#event-media-pause 46971. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/play_event 46972. https://html.spec.whatwg.org/#event-media-play 46973. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/playing_event 46974. https://html.spec.whatwg.org/#event-media-playing 46975. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/progress_event 46976. https://html.spec.whatwg.org/#event-media-progress 46977. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/ratechange_event 46978. https://html.spec.whatwg.org/#event-media-ratechange 46979. https://html.spec.whatwg.org/#event-reset 46980. https://developer.mozilla.org/en-US/docs/Web/API/Document/scrollend_event 46981. https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollend_event 46982. https://drafts.csswg.org/cssom-view/#eventdef-document-scrollend 46983. https://developer.mozilla.org/en-US/docs/Web/API/Element/securitypolicyviolation_event 46984. https://w3c.github.io/webappsec-csp/#eventdef-globaleventhandlers-securitypolicyviolation 46985. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/seeked_event 46986. https://html.spec.whatwg.org/#event-media-seeked 46987. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/seeking_event 46988. https://html.spec.whatwg.org/#event-media-seeking 46989. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/select_event 46990. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement/select_event 46991. https://html.spec.whatwg.org/#event-select 46992. https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement/slotchange_event 46993. https://dom.spec.whatwg.org/#eventdef-htmlslotelement-slotchange 46994. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/stalled_event 46995. https://html.spec.whatwg.org/#event-media-stalled 46996. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/submit_event 46997. https://html.spec.whatwg.org/#event-submit 46998. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/suspend_event 46999. https://html.spec.whatwg.org/#event-media-suspend 47000. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/timeupdate_event 47001. https://html.spec.whatwg.org/#event-media-timeupdate 47002. https://html.spec.whatwg.org/#event-toggle 47003. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/volumechange_event 47004. https://html.spec.whatwg.org/#event-media-volumechange 47005. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/waiting_event 47006. https://html.spec.whatwg.org/#event-media-waiting 47007. https://developer.mozilla.org/en-US/docs/Web/API/Element/wheel_event 47008. https://w3c.github.io/uievents/#event-type-wheel 47009. https://html.spec.whatwg.org/#event-handlers 47010. https://html.spec.whatwg.org/#event-handler-event-type 47011. https://html.spec.whatwg.org/#html-elements 47012. https://html.spec.whatwg.org/#the-body-element 47013. https://html.spec.whatwg.org/#frameset 47014. https://html.spec.whatwg.org/#event-handler-content-attributes 47015. https://html.spec.whatwg.org/#event-handler-idl-attributes 47016. https://html.spec.whatwg.org/#document 47017. https://html.spec.whatwg.org/#event-handler-idl-attributes 47018. https://html.spec.whatwg.org/#window 47019. https://html.spec.whatwg.org/#event-handler-idl-attributes 47020. https://html.spec.whatwg.org/#window 47021. https://html.spec.whatwg.org/#event-handler-content-attributes 47022. https://html.spec.whatwg.org/#event-handler-idl-attributes 47023. https://html.spec.whatwg.org/#the-body-element 47024. https://html.spec.whatwg.org/#frameset 47025. https://html.spec.whatwg.org/#window 47026. https://html.spec.whatwg.org/#concept-document-window 47027. https://html.spec.whatwg.org/#event-handlers 47028. https://html.spec.whatwg.org/#event-handler-event-type 47029. https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event 47030. https://developer.mozilla.org/en-US/docs/Web/API/Window/blur_event 47031. https://html.spec.whatwg.org/#event-blur 47032. https://developer.mozilla.org/en-US/docs/Web/API/Window/error_event 47033. https://html.spec.whatwg.org/#event-error 47034. https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event 47035. https://developer.mozilla.org/en-US/docs/Web/API/Window/focus_event 47036. https://html.spec.whatwg.org/#event-focus 47037. https://html.spec.whatwg.org/#event-load 47038. https://drafts.csswg.org/cssom-view/#eventdef-window-resize 47039. https://developer.mozilla.org/en-US/docs/Web/API/Document/scroll_event 47040. https://developer.mozilla.org/en-US/docs/Web/API/Element/scroll_event 47041. https://drafts.csswg.org/cssom-view/#eventdef-document-scroll 47042. https://infra.spec.whatwg.org/#ordered-set 47043. https://html.spec.whatwg.org/#event-handler-name 47044. https://html.spec.whatwg.org/#event-handlers 47045. https://html.spec.whatwg.org/#event-handlers 47046. https://html.spec.whatwg.org/#event-handler-event-type 47047. https://html.spec.whatwg.org/#window 47048. https://html.spec.whatwg.org/#event-handler-idl-attributes 47049. https://html.spec.whatwg.org/#window 47050. https://html.spec.whatwg.org/#event-handler-content-attributes 47051. https://html.spec.whatwg.org/#event-handler-idl-attributes 47052. https://html.spec.whatwg.org/#the-body-element 47053. https://html.spec.whatwg.org/#frameset 47054. https://html.spec.whatwg.org/#window 47055. https://html.spec.whatwg.org/#concept-document-window 47056. https://html.spec.whatwg.org/#event-handlers 47057. https://html.spec.whatwg.org/#event-handler-event-type 47058. https://developer.mozilla.org/en-US/docs/Web/API/Window/afterprint_event 47059. https://html.spec.whatwg.org/#event-afterprint 47060. https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeprint_event 47061. https://html.spec.whatwg.org/#event-beforeprint 47062. https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event 47063. https://html.spec.whatwg.org/#event-beforeunload 47064. https://developer.mozilla.org/en-US/docs/Web/API/Window/hashchange_event 47065. https://html.spec.whatwg.org/#event-hashchange 47066. https://developer.mozilla.org/en-US/docs/Web/API/Window/languagechange_event 47067. https://html.spec.whatwg.org/#event-languagechange 47068. https://developer.mozilla.org/en-US/docs/Web/API/Window/message_event 47069. https://html.spec.whatwg.org/#event-message 47070. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/error_event 47071. https://developer.mozilla.org/en-US/docs/Web/API/Window/messageerror_event 47072. https://html.spec.whatwg.org/#event-messageerror 47073. https://developer.mozilla.org/en-US/docs/Web/API/Window/offline_event 47074. https://html.spec.whatwg.org/#event-offline 47075. https://developer.mozilla.org/en-US/docs/Web/API/Window/online_event 47076. https://html.spec.whatwg.org/#event-online 47077. https://html.spec.whatwg.org/#event-pageswap 47078. https://html.spec.whatwg.org/#event-pagehide 47079. https://html.spec.whatwg.org/#event-pagereveal 47080. https://html.spec.whatwg.org/#event-pageshow 47081. https://developer.mozilla.org/en-US/docs/Web/API/Window/popstate_event 47082. https://html.spec.whatwg.org/#event-popstate 47083. https://developer.mozilla.org/en-US/docs/Web/API/Window/rejectionhandled_event 47084. https://html.spec.whatwg.org/#event-rejectionhandled 47085. https://developer.mozilla.org/en-US/docs/Web/API/Window/storage_event 47086. https://html.spec.whatwg.org/#event-storage 47087. https://developer.mozilla.org/en-US/docs/Web/API/Window/unhandledrejection_event 47088. https://html.spec.whatwg.org/#event-unhandledrejection 47089. https://developer.mozilla.org/en-US/docs/Web/API/Window/unload_event 47090. https://html.spec.whatwg.org/#event-unload 47091. https://html.spec.whatwg.org/#event-handlers 47092. https://html.spec.whatwg.org/#event-handler-idl-attributes 47093. https://html.spec.whatwg.org/#windoweventhandlers 47094. https://html.spec.whatwg.org/#event-handlers 47095. https://html.spec.whatwg.org/#event-handler-event-type 47096. https://html.spec.whatwg.org/#document 47097. https://html.spec.whatwg.org/#event-handler-idl-attributes 47098. https://html.spec.whatwg.org/#event-handlers 47099. https://html.spec.whatwg.org/#event-handler-event-type 47100. https://html.spec.whatwg.org/#event-readystatechange 47101. https://developer.mozilla.org/en-US/docs/Web/API/Document/visibilitychange_event 47102. https://html.spec.whatwg.org/#event-visibilitychange 47103. https://html.spec.whatwg.org/#eventhandler 47104. https://html.spec.whatwg.org/#handler-onabort 47105. https://html.spec.whatwg.org/#eventhandler 47106. https://html.spec.whatwg.org/#handler-onauxclick 47107. https://html.spec.whatwg.org/#eventhandler 47108. https://html.spec.whatwg.org/#handler-onbeforeinput 47109. https://html.spec.whatwg.org/#eventhandler 47110. https://html.spec.whatwg.org/#handler-onbeforematch 47111. https://html.spec.whatwg.org/#eventhandler 47112. https://html.spec.whatwg.org/#handler-onbeforetoggle 47113. https://html.spec.whatwg.org/#eventhandler 47114. https://html.spec.whatwg.org/#handler-onblur 47115. https://html.spec.whatwg.org/#eventhandler 47116. https://html.spec.whatwg.org/#handler-oncancel 47117. https://html.spec.whatwg.org/#eventhandler 47118. https://html.spec.whatwg.org/#handler-oncanplay 47119. https://html.spec.whatwg.org/#eventhandler 47120. https://html.spec.whatwg.org/#handler-oncanplaythrough 47121. https://html.spec.whatwg.org/#eventhandler 47122. https://html.spec.whatwg.org/#handler-onchange 47123. https://html.spec.whatwg.org/#eventhandler 47124. https://html.spec.whatwg.org/#handler-onclick 47125. https://html.spec.whatwg.org/#eventhandler 47126. https://html.spec.whatwg.org/#handler-onclose 47127. https://html.spec.whatwg.org/#eventhandler 47128. https://html.spec.whatwg.org/#handler-oncommand 47129. https://html.spec.whatwg.org/#eventhandler 47130. https://html.spec.whatwg.org/#handler-oncontextlost 47131. https://html.spec.whatwg.org/#eventhandler 47132. https://html.spec.whatwg.org/#handler-oncontextmenu 47133. https://html.spec.whatwg.org/#eventhandler 47134. https://html.spec.whatwg.org/#handler-oncontextrestored 47135. https://html.spec.whatwg.org/#eventhandler 47136. https://html.spec.whatwg.org/#handler-oncopy 47137. https://html.spec.whatwg.org/#eventhandler 47138. https://html.spec.whatwg.org/#handler-oncuechange 47139. https://html.spec.whatwg.org/#eventhandler 47140. https://html.spec.whatwg.org/#handler-oncut 47141. https://html.spec.whatwg.org/#eventhandler 47142. https://html.spec.whatwg.org/#handler-ondblclick 47143. https://html.spec.whatwg.org/#eventhandler 47144. https://html.spec.whatwg.org/#handler-ondrag 47145. https://html.spec.whatwg.org/#eventhandler 47146. https://html.spec.whatwg.org/#handler-ondragend 47147. https://html.spec.whatwg.org/#eventhandler 47148. https://html.spec.whatwg.org/#handler-ondragenter 47149. https://html.spec.whatwg.org/#eventhandler 47150. https://html.spec.whatwg.org/#handler-ondragleave 47151. https://html.spec.whatwg.org/#eventhandler 47152. https://html.spec.whatwg.org/#handler-ondragover 47153. https://html.spec.whatwg.org/#eventhandler 47154. https://html.spec.whatwg.org/#handler-ondragstart 47155. https://html.spec.whatwg.org/#eventhandler 47156. https://html.spec.whatwg.org/#handler-ondrop 47157. https://html.spec.whatwg.org/#eventhandler 47158. https://html.spec.whatwg.org/#handler-ondurationchange 47159. https://html.spec.whatwg.org/#eventhandler 47160. https://html.spec.whatwg.org/#handler-onemptied 47161. https://html.spec.whatwg.org/#eventhandler 47162. https://html.spec.whatwg.org/#handler-onended 47163. https://html.spec.whatwg.org/#onerroreventhandler 47164. https://html.spec.whatwg.org/#handler-onerror 47165. https://html.spec.whatwg.org/#eventhandler 47166. https://html.spec.whatwg.org/#handler-onfocus 47167. https://html.spec.whatwg.org/#eventhandler 47168. https://html.spec.whatwg.org/#handler-onformdata 47169. https://html.spec.whatwg.org/#eventhandler 47170. https://html.spec.whatwg.org/#handler-oninput 47171. https://html.spec.whatwg.org/#eventhandler 47172. https://html.spec.whatwg.org/#handler-oninvalid 47173. https://html.spec.whatwg.org/#eventhandler 47174. https://html.spec.whatwg.org/#handler-onkeydown 47175. https://html.spec.whatwg.org/#eventhandler 47176. https://html.spec.whatwg.org/#handler-onkeypress 47177. https://html.spec.whatwg.org/#eventhandler 47178. https://html.spec.whatwg.org/#handler-onkeyup 47179. https://html.spec.whatwg.org/#eventhandler 47180. https://html.spec.whatwg.org/#handler-onload 47181. https://html.spec.whatwg.org/#eventhandler 47182. https://html.spec.whatwg.org/#handler-onloadeddata 47183. https://html.spec.whatwg.org/#eventhandler 47184. https://html.spec.whatwg.org/#handler-onloadedmetadata 47185. https://html.spec.whatwg.org/#eventhandler 47186. https://html.spec.whatwg.org/#handler-onloadstart 47187. https://html.spec.whatwg.org/#eventhandler 47188. https://html.spec.whatwg.org/#handler-onmousedown 47189. https://webidl.spec.whatwg.org/#LegacyLenientThis 47190. https://html.spec.whatwg.org/#eventhandler 47191. https://html.spec.whatwg.org/#handler-onmouseenter 47192. https://webidl.spec.whatwg.org/#LegacyLenientThis 47193. https://html.spec.whatwg.org/#eventhandler 47194. https://html.spec.whatwg.org/#handler-onmouseleave 47195. https://html.spec.whatwg.org/#eventhandler 47196. https://html.spec.whatwg.org/#handler-onmousemove 47197. https://html.spec.whatwg.org/#eventhandler 47198. https://html.spec.whatwg.org/#handler-onmouseout 47199. https://html.spec.whatwg.org/#eventhandler 47200. https://html.spec.whatwg.org/#handler-onmouseover 47201. https://html.spec.whatwg.org/#eventhandler 47202. https://html.spec.whatwg.org/#handler-onmouseup 47203. https://html.spec.whatwg.org/#eventhandler 47204. https://html.spec.whatwg.org/#handler-onpaste 47205. https://html.spec.whatwg.org/#eventhandler 47206. https://html.spec.whatwg.org/#handler-onpause 47207. https://html.spec.whatwg.org/#eventhandler 47208. https://html.spec.whatwg.org/#handler-onplay 47209. https://html.spec.whatwg.org/#eventhandler 47210. https://html.spec.whatwg.org/#handler-onplaying 47211. https://html.spec.whatwg.org/#eventhandler 47212. https://html.spec.whatwg.org/#handler-onprogress 47213. https://html.spec.whatwg.org/#eventhandler 47214. https://html.spec.whatwg.org/#handler-onratechange 47215. https://html.spec.whatwg.org/#eventhandler 47216. https://html.spec.whatwg.org/#handler-onreset 47217. https://html.spec.whatwg.org/#eventhandler 47218. https://html.spec.whatwg.org/#handler-onresize 47219. https://html.spec.whatwg.org/#eventhandler 47220. https://html.spec.whatwg.org/#handler-onscroll 47221. https://html.spec.whatwg.org/#eventhandler 47222. https://html.spec.whatwg.org/#handler-onscrollend 47223. https://html.spec.whatwg.org/#eventhandler 47224. https://html.spec.whatwg.org/#handler-onsecuritypolicyviolation 47225. https://html.spec.whatwg.org/#eventhandler 47226. https://html.spec.whatwg.org/#handler-onseeked 47227. https://html.spec.whatwg.org/#eventhandler 47228. https://html.spec.whatwg.org/#handler-onseeking 47229. https://html.spec.whatwg.org/#eventhandler 47230. https://html.spec.whatwg.org/#handler-onselect 47231. https://html.spec.whatwg.org/#eventhandler 47232. https://html.spec.whatwg.org/#handler-onslotchange 47233. https://html.spec.whatwg.org/#eventhandler 47234. https://html.spec.whatwg.org/#handler-onstalled 47235. https://html.spec.whatwg.org/#eventhandler 47236. https://html.spec.whatwg.org/#handler-onsubmit 47237. https://html.spec.whatwg.org/#eventhandler 47238. https://html.spec.whatwg.org/#handler-onsuspend 47239. https://html.spec.whatwg.org/#eventhandler 47240. https://html.spec.whatwg.org/#handler-ontimeupdate 47241. https://html.spec.whatwg.org/#eventhandler 47242. https://html.spec.whatwg.org/#handler-ontoggle 47243. https://html.spec.whatwg.org/#eventhandler 47244. https://html.spec.whatwg.org/#handler-onvolumechange 47245. https://html.spec.whatwg.org/#eventhandler 47246. https://html.spec.whatwg.org/#handler-onwaiting 47247. https://html.spec.whatwg.org/#eventhandler 47248. https://html.spec.whatwg.org/#handler-onwebkitanimationend 47249. https://html.spec.whatwg.org/#eventhandler 47250. https://html.spec.whatwg.org/#handler-onwebkitanimationiteration 47251. https://html.spec.whatwg.org/#eventhandler 47252. https://html.spec.whatwg.org/#handler-onwebkitanimationstart 47253. https://html.spec.whatwg.org/#eventhandler 47254. https://html.spec.whatwg.org/#handler-onwebkittransitionend 47255. https://html.spec.whatwg.org/#eventhandler 47256. https://html.spec.whatwg.org/#handler-onwheel 47257. https://html.spec.whatwg.org/#eventhandler 47258. https://html.spec.whatwg.org/#handler-window-onafterprint 47259. https://html.spec.whatwg.org/#eventhandler 47260. https://html.spec.whatwg.org/#handler-window-onbeforeprint 47261. https://html.spec.whatwg.org/#onbeforeunloadeventhandler 47262. https://html.spec.whatwg.org/#handler-window-onbeforeunload 47263. https://html.spec.whatwg.org/#eventhandler 47264. https://html.spec.whatwg.org/#handler-window-onhashchange 47265. https://html.spec.whatwg.org/#eventhandler 47266. https://html.spec.whatwg.org/#handler-window-onlanguagechange 47267. https://html.spec.whatwg.org/#eventhandler 47268. https://html.spec.whatwg.org/#handler-window-onmessage 47269. https://html.spec.whatwg.org/#eventhandler 47270. https://html.spec.whatwg.org/#handler-window-onmessageerror 47271. https://html.spec.whatwg.org/#eventhandler 47272. https://html.spec.whatwg.org/#handler-window-onoffline 47273. https://html.spec.whatwg.org/#eventhandler 47274. https://html.spec.whatwg.org/#handler-window-ononline 47275. https://html.spec.whatwg.org/#eventhandler 47276. https://html.spec.whatwg.org/#handler-window-onpagehide 47277. https://html.spec.whatwg.org/#eventhandler 47278. https://html.spec.whatwg.org/#handler-window-onpagereveal 47279. https://html.spec.whatwg.org/#eventhandler 47280. https://html.spec.whatwg.org/#handler-window-onpageshow 47281. https://html.spec.whatwg.org/#eventhandler 47282. https://html.spec.whatwg.org/#handler-window-onpageswap 47283. https://html.spec.whatwg.org/#eventhandler 47284. https://html.spec.whatwg.org/#handler-window-onpopstate 47285. https://html.spec.whatwg.org/#eventhandler 47286. https://html.spec.whatwg.org/#handler-window-onrejectionhandled 47287. https://html.spec.whatwg.org/#eventhandler 47288. https://html.spec.whatwg.org/#handler-window-onstorage 47289. https://html.spec.whatwg.org/#eventhandler 47290. https://html.spec.whatwg.org/#handler-window-onunhandledrejection 47291. https://html.spec.whatwg.org/#eventhandler 47292. https://html.spec.whatwg.org/#handler-window-onunload 47293. https://html.spec.whatwg.org/#dom-click 47294. https://html.spec.whatwg.org/#htmlelement 47295. https://w3c.github.io/uievents/#event-type-click 47296. https://html.spec.whatwg.org/#refsUIEVENTS 47297. https://dom.spec.whatwg.org/#concept-event-create 47298. https://w3c.github.io/pointerevents/#pointerevent-interface 47299. https://dom.spec.whatwg.org/#dom-event-type 47300. https://dom.spec.whatwg.org/#dom-event-bubbles 47301. https://dom.spec.whatwg.org/#dom-event-cancelable 47302. https://dom.spec.whatwg.org/#composed-flag 47303. https://dom.spec.whatwg.org/#dom-event-istrusted 47304. https://w3c.github.io/uievents/#dom-uievent-view 47305. https://dom.spec.whatwg.org/#concept-node-document 47306. https://html.spec.whatwg.org/#window 47307. https://dom.spec.whatwg.org/#concept-event-dispatch 47308. https://html.spec.whatwg.org/#fire-a-synthetic-pointer-event 47309. https://html.spec.whatwg.org/#windoworworkerglobalscope 47310. https://html.spec.whatwg.org/#windoworworkerglobalscope 47311. https://html.spec.whatwg.org/#window 47312. https://html.spec.whatwg.org/#workerglobalscope 47313. https://html.spec.whatwg.org/#windoworworkerglobalscope 47314. https://webidl.spec.whatwg.org/#common-Function 47315. https://w3c.github.io/trusted-types/dist/spec/#trusted-script 47316. https://html.spec.whatwg.org/#dom-origin 47317. https://html.spec.whatwg.org/#dom-issecurecontext 47318. https://html.spec.whatwg.org/#dom-crossoriginisolated 47319. https://html.spec.whatwg.org/#dom-reporterror 47320. https://html.spec.whatwg.org/#dom-btoa 47321. https://html.spec.whatwg.org/#dom-atob 47322. https://html.spec.whatwg.org/#dom-settimeout 47323. https://html.spec.whatwg.org/#timerhandler 47324. https://html.spec.whatwg.org/#dom-cleartimeout 47325. https://html.spec.whatwg.org/#dom-setinterval 47326. https://html.spec.whatwg.org/#timerhandler 47327. https://html.spec.whatwg.org/#dom-clearinterval 47328. https://html.spec.whatwg.org/#dom-queuemicrotask 47329. https://webidl.spec.whatwg.org/#VoidFunction 47330. https://webidl.spec.whatwg.org/#idl-promise 47331. https://html.spec.whatwg.org/#imagebitmap 47332. https://html.spec.whatwg.org/#dom-createimagebitmap 47333. https://html.spec.whatwg.org/#imagebitmapsource 47334. https://html.spec.whatwg.org/#imagebitmapoptions 47335. https://webidl.spec.whatwg.org/#idl-promise 47336. https://html.spec.whatwg.org/#imagebitmap 47337. https://html.spec.whatwg.org/#dom-createimagebitmap 47338. https://html.spec.whatwg.org/#imagebitmapsource 47339. https://html.spec.whatwg.org/#imagebitmapoptions 47340. https://html.spec.whatwg.org/#dom-structuredclone 47341. https://html.spec.whatwg.org/#structuredserializeoptions 47342. https://html.spec.whatwg.org/#window 47343. https://html.spec.whatwg.org/#windoworworkerglobalscope 47344. https://html.spec.whatwg.org/#workerglobalscope 47345. https://html.spec.whatwg.org/#windoworworkerglobalscope 47346. https://html.spec.whatwg.org/#dom-issecurecontext 47347. https://developer.mozilla.org/en-US/docs/Web/API/isSecureContext 47348. https://html.spec.whatwg.org/#secure-context 47349. https://html.spec.whatwg.org/#refsSECURE-CONTEXTS 47350. https://html.spec.whatwg.org/#dom-origin 47351. https://developer.mozilla.org/en-US/docs/Web/API/origin 47352. https://html.spec.whatwg.org/#concept-origin 47353. https://html.spec.whatwg.org/#dom-crossoriginisolated 47354. https://developer.mozilla.org/en-US/docs/Web/API/crossOriginIsolated 47355. https://html.spec.whatwg.org/#cross-origin-opener-policy-2 47356. https://html.spec.whatwg.org/#cross-origin-embedder-policy 47357. https://html.spec.whatwg.org/#cross-origin-isolated-feature 47358. https://html.spec.whatwg.org/#concept-origin 47359. https://webidl.spec.whatwg.org/#this 47360. https://html.spec.whatwg.org/#relevant-settings-object 47361. https://html.spec.whatwg.org/#secure-context 47362. https://webidl.spec.whatwg.org/#this 47363. https://html.spec.whatwg.org/#relevant-settings-object 47364. https://html.spec.whatwg.org/#concept-settings-object-origin 47365. https://html.spec.whatwg.org/#ascii-serialisation-of-an-origin 47366. https://webidl.spec.whatwg.org/#this 47367. https://html.spec.whatwg.org/#relevant-settings-object 47368. https://html.spec.whatwg.org/#concept-settings-object-cross-origin-isolated-capability 47369. https://html.spec.whatwg.org/#dom-atob 47370. https://html.spec.whatwg.org/#dom-btoa 47371. https://html.spec.whatwg.org/#dom-btoa 47372. https://developer.mozilla.org/en-US/docs/Web/API/btoa 47373. https://webidl.spec.whatwg.org/#invalidcharactererror 47374. https://webidl.spec.whatwg.org/#dfn-DOMException 47375. https://html.spec.whatwg.org/#dom-atob 47376. https://developer.mozilla.org/en-US/docs/Web/API/atob 47377. https://webidl.spec.whatwg.org/#invalidcharactererror 47378. https://webidl.spec.whatwg.org/#dfn-DOMException 47379. https://webidl.spec.whatwg.org/#invalidcharactererror 47380. https://webidl.spec.whatwg.org/#dfn-DOMException 47381. https://infra.spec.whatwg.org/#forgiving-base64-encode 47382. https://infra.spec.whatwg.org/#forgiving-base64-decode 47383. https://webidl.spec.whatwg.org/#invalidcharactererror 47384. https://webidl.spec.whatwg.org/#dfn-DOMException 47385. https://dom.spec.whatwg.org/#html-document 47386. https://html.spec.whatwg.org/#html-parser 47387. https://dom.spec.whatwg.org/#xml-document 47388. https://html.spec.whatwg.org/#xml-parser 47389. https://html.spec.whatwg.org/#document 47390. https://html.spec.whatwg.org/#create-an-element-for-the-token 47391. https://html.spec.whatwg.org/#custom-element-constructor 47392. https://html.spec.whatwg.org/#dom-document-open 47393. https://html.spec.whatwg.org/#dom-document-close 47394. https://html.spec.whatwg.org/#dom-document-write 47395. https://html.spec.whatwg.org/#dom-document-open 47396. https://developer.mozilla.org/en-US/docs/Web/API/Document/open 47397. https://html.spec.whatwg.org/#document 47398. https://html.spec.whatwg.org/#document 47399. https://html.spec.whatwg.org/#document 47400. https://html.spec.whatwg.org/#dom-document-write 47401. https://html.spec.whatwg.org/#document 47402. https://webidl.spec.whatwg.org/#invalidstateerror 47403. https://webidl.spec.whatwg.org/#dfn-DOMException 47404. https://html.spec.whatwg.org/#document 47405. https://dom.spec.whatwg.org/#xml-document 47406. https://webidl.spec.whatwg.org/#invalidstateerror 47407. https://webidl.spec.whatwg.org/#dfn-DOMException 47408. https://html.spec.whatwg.org/#custom-element-constructor 47409. https://html.spec.whatwg.org/#dom-document-open-window 47410. https://html.spec.whatwg.org/#dom-open 47411. https://html.spec.whatwg.org/#document 47412. https://html.spec.whatwg.org/#dom-document-open 47413. https://html.spec.whatwg.org/#dom-document-write 47414. https://html.spec.whatwg.org/#active-parser 47415. https://dom.spec.whatwg.org/#xml-document 47416. https://webidl.spec.whatwg.org/#invalidstateerror 47417. https://webidl.spec.whatwg.org/#dfn-DOMException 47418. https://html.spec.whatwg.org/#throw-on-dynamic-markup-insertion-counter 47419. https://webidl.spec.whatwg.org/#invalidstateerror 47420. https://webidl.spec.whatwg.org/#dfn-DOMException 47421. https://html.spec.whatwg.org/#entry-global-object 47422. https://html.spec.whatwg.org/#concept-document-window 47423. https://dom.spec.whatwg.org/#concept-document-origin 47424. https://html.spec.whatwg.org/#same-origin 47425. https://dom.spec.whatwg.org/#concept-document-origin 47426. https://webidl.spec.whatwg.org/#securityerror 47427. https://webidl.spec.whatwg.org/#dfn-DOMException 47428. https://html.spec.whatwg.org/#active-parser 47429. https://html.spec.whatwg.org/#script-nesting-level 47430. https://html.spec.whatwg.org/#dom-document-open 47431. https://html.spec.whatwg.org/#unload-counter 47432. https://html.spec.whatwg.org/#dom-document-open 47433. https://html.spec.whatwg.org/#event-beforeunload 47434. https://html.spec.whatwg.org/#event-pagehide 47435. https://html.spec.whatwg.org/#event-unload 47436. https://html.spec.whatwg.org/#document 47437. https://html.spec.whatwg.org/#active-parser-was-aborted 47438. https://html.spec.whatwg.org/#dom-document-open 47439. https://html.spec.whatwg.org/#navigate 47440. https://github.com/whatwg/html/issues/4723 47441. https://html.spec.whatwg.org/#node-navigable 47442. https://html.spec.whatwg.org/#node-navigable 47443. https://html.spec.whatwg.org/#ongoing-navigation 47444. https://html.spec.whatwg.org/#navigation-id 47445. https://html.spec.whatwg.org/#nav-stop 47446. https://html.spec.whatwg.org/#node-navigable 47447. https://dom.spec.whatwg.org/#concept-shadow-including-inclusive-descendant 47448. https://html.spec.whatwg.org/#erase-all-event-listeners-and-handlers 47449. https://html.spec.whatwg.org/#concept-document-window 47450. https://html.spec.whatwg.org/#concept-relevant-global 47451. https://html.spec.whatwg.org/#erase-all-event-listeners-and-handlers 47452. https://html.spec.whatwg.org/#concept-relevant-global 47453. https://dom.spec.whatwg.org/#concept-node-replace-all 47454. https://html.spec.whatwg.org/#fully-active 47455. https://dom.spec.whatwg.org/#concept-document-url 47456. https://url.spec.whatwg.org/#concept-url-fragment 47457. https://html.spec.whatwg.org/#url-and-history-update-steps 47458. https://html.spec.whatwg.org/#is-initial-about:blank 47459. https://html.spec.whatwg.org/#iframe-load-in-progress 47460. https://html.spec.whatwg.org/#mute-iframe-load 47461. https://dom.spec.whatwg.org/#concept-document-no-quirks 47462. https://html.spec.whatwg.org/#html-parser 47463. https://html.spec.whatwg.org/#dom-document-open 47464. https://html.spec.whatwg.org/#dom-document-close 47465. https://html.spec.whatwg.org/#dom-document-close 47466. https://html.spec.whatwg.org/#concept-encoding-confidence 47467. https://html.spec.whatwg.org/#insertion-point 47468. https://html.spec.whatwg.org/#input-stream 47469. https://html.spec.whatwg.org/#update-the-current-document-readiness 47470. https://html.spec.whatwg.org/#event-readystatechange 47471. https://html.spec.whatwg.org/#erase-all-event-listeners-and-handlers 47472. https://html.spec.whatwg.org/#document-open-steps 47473. https://html.spec.whatwg.org/#document 47474. https://html.spec.whatwg.org/#ready-for-post-load-tasks 47475. https://html.spec.whatwg.org/#completely-loaded 47476. https://html.spec.whatwg.org/#document-open-steps 47477. https://webidl.spec.whatwg.org/#this 47478. https://webidl.spec.whatwg.org/#dfn-overload-resolution-algorithm 47479. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 47480. https://github.com/whatwg/webidl/issues/581 47481. https://html.spec.whatwg.org/#refsWEBIDL 47482. https://webidl.spec.whatwg.org/#this 47483. https://html.spec.whatwg.org/#fully-active 47484. https://webidl.spec.whatwg.org/#invalidaccesserror 47485. https://webidl.spec.whatwg.org/#dfn-DOMException 47486. https://html.spec.whatwg.org/#window-open-steps 47487. https://html.spec.whatwg.org/#dom-document-close 47488. https://developer.mozilla.org/en-US/docs/Web/API/Document/close 47489. https://html.spec.whatwg.org/#dom-document-open 47490. https://webidl.spec.whatwg.org/#invalidstateerror 47491. https://webidl.spec.whatwg.org/#dfn-DOMException 47492. https://html.spec.whatwg.org/#document 47493. https://dom.spec.whatwg.org/#xml-document 47494. https://webidl.spec.whatwg.org/#invalidstateerror 47495. https://webidl.spec.whatwg.org/#dfn-DOMException 47496. https://html.spec.whatwg.org/#custom-element-constructor 47497. https://webidl.spec.whatwg.org/#this 47498. https://dom.spec.whatwg.org/#xml-document 47499. https://webidl.spec.whatwg.org/#invalidstateerror 47500. https://webidl.spec.whatwg.org/#dfn-DOMException 47501. https://webidl.spec.whatwg.org/#this 47502. https://html.spec.whatwg.org/#throw-on-dynamic-markup-insertion-counter 47503. https://webidl.spec.whatwg.org/#invalidstateerror 47504. https://webidl.spec.whatwg.org/#dfn-DOMException 47505. https://html.spec.whatwg.org/#script-created-parser 47506. https://webidl.spec.whatwg.org/#this 47507. https://html.spec.whatwg.org/#explicit-eof-character 47508. https://html.spec.whatwg.org/#input-stream 47509. https://webidl.spec.whatwg.org/#this 47510. https://html.spec.whatwg.org/#pending-parsing-blocking-script 47511. https://html.spec.whatwg.org/#explicit-eof-character 47512. https://html.spec.whatwg.org/#spin-the-event-loop 47513. https://html.spec.whatwg.org/#dom-document-write 47514. https://html.spec.whatwg.org/#dom-document-write 47515. https://developer.mozilla.org/en-US/docs/Web/API/Document/write 47516. https://html.spec.whatwg.org/#document 47517. https://html.spec.whatwg.org/#html-parser 47518. https://html.spec.whatwg.org/#dom-document-open 47519. https://html.spec.whatwg.org/#document-written-scripts-intervention 47520. https://webidl.spec.whatwg.org/#invalidstateerror 47521. https://webidl.spec.whatwg.org/#dfn-DOMException 47522. https://dom.spec.whatwg.org/#xml-document 47523. https://webidl.spec.whatwg.org/#invalidstateerror 47524. https://webidl.spec.whatwg.org/#dfn-DOMException 47525. https://html.spec.whatwg.org/#custom-element-constructor 47526. https://html.spec.whatwg.org/#the-script-element 47527. https://html.spec.whatwg.org/#event-handler-content-attributes 47528. https://html.spec.whatwg.org/#document 47529. https://html.spec.whatwg.org/#the-script-element 47530. https://html.spec.whatwg.org/#dom-document-write 47531. https://html.spec.whatwg.org/#dom-document-open 47532. https://html.spec.whatwg.org/#document 47533. https://infra.spec.whatwg.org/#list-contain 47534. https://infra.spec.whatwg.org/#list-iterate 47535. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47536. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml-data 47537. https://w3c.github.io/trusted-types/dist/spec/#get-trusted-type-compliant-string-algorithm 47538. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47539. https://webidl.spec.whatwg.org/#this 47540. https://html.spec.whatwg.org/#concept-relevant-global 47541. https://dom.spec.whatwg.org/#xml-document 47542. https://webidl.spec.whatwg.org/#invalidstateerror 47543. https://webidl.spec.whatwg.org/#dfn-DOMException 47544. https://html.spec.whatwg.org/#throw-on-dynamic-markup-insertion-counter 47545. https://webidl.spec.whatwg.org/#invalidstateerror 47546. https://webidl.spec.whatwg.org/#dfn-DOMException 47547. https://html.spec.whatwg.org/#active-parser-was-aborted 47548. https://html.spec.whatwg.org/#insertion-point 47549. https://html.spec.whatwg.org/#unload-counter 47550. https://html.spec.whatwg.org/#ignore-destructive-writes-counter 47551. https://html.spec.whatwg.org/#document-open-steps 47552. https://html.spec.whatwg.org/#input-stream 47553. https://html.spec.whatwg.org/#insertion-point 47554. https://html.spec.whatwg.org/#pending-parsing-blocking-script 47555. https://html.spec.whatwg.org/#html-parser 47556. https://html.spec.whatwg.org/#the-script-element 47557. https://html.spec.whatwg.org/#dom-document-write 47558. https://html.spec.whatwg.org/#the-script-element 47559. https://html.spec.whatwg.org/#nestedParsing 47560. https://html.spec.whatwg.org/#parser-pause-flag 47561. https://html.spec.whatwg.org/#check-parser-pause-flag 47562. https://html.spec.whatwg.org/#document-write-steps 47563. https://webidl.spec.whatwg.org/#this 47564. https://html.spec.whatwg.org/#dom-document-writeln 47565. https://html.spec.whatwg.org/#dom-document-writeln 47566. https://developer.mozilla.org/en-US/docs/Web/API/Document/writeln 47567. https://html.spec.whatwg.org/#document 47568. https://html.spec.whatwg.org/#dom-document-open 47569. https://webidl.spec.whatwg.org/#invalidstateerror 47570. https://webidl.spec.whatwg.org/#dfn-DOMException 47571. https://dom.spec.whatwg.org/#xml-document 47572. https://webidl.spec.whatwg.org/#invalidstateerror 47573. https://webidl.spec.whatwg.org/#dfn-DOMException 47574. https://html.spec.whatwg.org/#custom-element-constructor 47575. https://html.spec.whatwg.org/#the-script-element 47576. https://html.spec.whatwg.org/#event-handler-content-attributes 47577. https://html.spec.whatwg.org/#document-write-steps 47578. https://webidl.spec.whatwg.org/#this 47579. https://developer.mozilla.org/en-US/docs/Web/API/DOMParser 47580. https://dom.spec.whatwg.org/#interface-element 47581. https://html.spec.whatwg.org/#cereactions 47582. https://html.spec.whatwg.org/#dom-element-sethtmlunsafe 47583. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47584. https://html.spec.whatwg.org/#dom-element-gethtml 47585. https://html.spec.whatwg.org/#gethtmloptions 47586. https://html.spec.whatwg.org/#cereactions 47587. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47588. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 47589. https://html.spec.whatwg.org/#dom-element-innerhtml 47590. https://html.spec.whatwg.org/#cereactions 47591. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47592. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 47593. https://html.spec.whatwg.org/#dom-element-outerhtml 47594. https://html.spec.whatwg.org/#cereactions 47595. https://html.spec.whatwg.org/#dom-element-insertadjacenthtml 47596. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47597. https://dom.spec.whatwg.org/#interface-shadowroot 47598. https://html.spec.whatwg.org/#cereactions 47599. https://html.spec.whatwg.org/#dom-shadowroot-sethtmlunsafe 47600. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47601. https://html.spec.whatwg.org/#dom-shadowroot-gethtml 47602. https://html.spec.whatwg.org/#gethtmloptions 47603. https://html.spec.whatwg.org/#cereactions 47604. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47605. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 47606. https://html.spec.whatwg.org/#dom-shadowroot-innerhtml 47607. https://html.spec.whatwg.org/#domparser 47608. https://html.spec.whatwg.org/#domparser 47609. https://html.spec.whatwg.org/#document 47610. https://html.spec.whatwg.org/#dom-domparser-constructor 47611. https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/DOMParser 47612. https://html.spec.whatwg.org/#domparser 47613. https://html.spec.whatwg.org/#dom-domparser-parsefromstring 47614. https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString 47615. https://html.spec.whatwg.org/#document 47616. https://html.spec.whatwg.org/#text/html 47617. https://html.spec.whatwg.org/#text/xml 47618. https://html.spec.whatwg.org/#application/xml 47619. https://html.spec.whatwg.org/#application/xhtml+xml 47620. https://html.spec.whatwg.org/#image/svg+xml 47621. https://html.spec.whatwg.org/#document 47622. https://html.spec.whatwg.org/#the-script-element 47623. https://dom.spec.whatwg.org/#concept-document-encoding 47624. https://encoding.spec.whatwg.org/#utf-8 47625. https://dom.spec.whatwg.org/#concept-document-url 47626. https://html.spec.whatwg.org/#concept-relevant-global 47627. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 47628. https://html.spec.whatwg.org/#domparser 47629. https://html.spec.whatwg.org/#dom-domparser-parsefromstring 47630. https://html.spec.whatwg.org/#dom-parsehtmlunsafe 47631. https://html.spec.whatwg.org/#the-script-element 47632. https://html.spec.whatwg.org/#event-handler-content-attributes 47633. https://html.spec.whatwg.org/#dom-domparser-constructor 47634. https://html.spec.whatwg.org/#document 47635. https://html.spec.whatwg.org/#dom-domparser-parsefromstring 47636. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47637. https://html.spec.whatwg.org/#domparsersupportedtype 47638. https://html.spec.whatwg.org/#dom-domparsersupportedtype-texthtml 47639. https://html.spec.whatwg.org/#dom-domparsersupportedtype-otherwise 47640. https://html.spec.whatwg.org/#dom-domparsersupportedtype-otherwise 47641. https://html.spec.whatwg.org/#dom-domparsersupportedtype-otherwise 47642. https://html.spec.whatwg.org/#dom-domparsersupportedtype-otherwise 47643. https://w3c.github.io/trusted-types/dist/spec/#get-trusted-type-compliant-string-algorithm 47644. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47645. https://webidl.spec.whatwg.org/#this 47646. https://html.spec.whatwg.org/#concept-relevant-global 47647. https://html.spec.whatwg.org/#document 47648. https://dom.spec.whatwg.org/#concept-document-content-type 47649. https://dom.spec.whatwg.org/#concept-document-url 47650. https://webidl.spec.whatwg.org/#this 47651. https://html.spec.whatwg.org/#concept-relevant-global 47652. https://html.spec.whatwg.org/#concept-document-window 47653. https://dom.spec.whatwg.org/#concept-document-url 47654. https://dom.spec.whatwg.org/#concept-document-encoding 47655. https://encoding.spec.whatwg.org/#utf-8 47656. https://html.spec.whatwg.org/#the-meta-element 47657. https://html.spec.whatwg.org/#parse-html-from-a-string 47658. https://html.spec.whatwg.org/#concept-document-bc 47659. https://html.spec.whatwg.org/#concept-n-script 47660. https://html.spec.whatwg.org/#xml-parser 47661. https://html.spec.whatwg.org/#xml-scripting-support-disabled 47662. https://infra.spec.whatwg.org/#assert 47663. https://dom.spec.whatwg.org/#concept-create-element 47664. https://dom.spec.whatwg.org/#concept-node-append 47665. https://html.spec.whatwg.org/#document 47666. https://infra.spec.whatwg.org/#string 47667. https://dom.spec.whatwg.org/#concept-document-type 47668. https://html.spec.whatwg.org/#html-parser 47669. https://html.spec.whatwg.org/#input-stream 47670. https://html.spec.whatwg.org/#concept-encoding-confidence 47671. https://dom.spec.whatwg.org/#concept-document-mode 47672. https://html.spec.whatwg.org/#dom-element-sethtmlunsafe 47673. https://html.spec.whatwg.org/#dom-shadowroot-sethtmlunsafe 47674. https://dom.spec.whatwg.org/#concept-documentfragment-host 47675. https://html.spec.whatwg.org/#dom-parsehtmlunsafe 47676. https://html.spec.whatwg.org/#document 47677. https://html.spec.whatwg.org/#the-script-element 47678. https://dom.spec.whatwg.org/#concept-document-encoding 47679. https://encoding.spec.whatwg.org/#utf-8 47680. https://dom.spec.whatwg.org/#concept-document-url 47681. https://html.spec.whatwg.org/#about:blank 47682. https://html.spec.whatwg.org/#the-script-element 47683. https://html.spec.whatwg.org/#event-handler-content-attributes 47684. https://dom.spec.whatwg.org/#interface-element 47685. https://w3c.github.io/trusted-types/dist/spec/#get-trusted-type-compliant-string-algorithm 47686. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47687. https://webidl.spec.whatwg.org/#this 47688. https://html.spec.whatwg.org/#concept-relevant-global 47689. https://webidl.spec.whatwg.org/#this 47690. https://html.spec.whatwg.org/#template-contents 47691. https://webidl.spec.whatwg.org/#this 47692. https://html.spec.whatwg.org/#the-template-element 47693. https://webidl.spec.whatwg.org/#this 47694. https://html.spec.whatwg.org/#unsafely-set-html 47695. https://webidl.spec.whatwg.org/#this 47696. https://dom.spec.whatwg.org/#interface-shadowroot 47697. https://w3c.github.io/trusted-types/dist/spec/#get-trusted-type-compliant-string-algorithm 47698. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47699. https://webidl.spec.whatwg.org/#this 47700. https://html.spec.whatwg.org/#concept-relevant-global 47701. https://html.spec.whatwg.org/#unsafely-set-html 47702. https://webidl.spec.whatwg.org/#this 47703. https://webidl.spec.whatwg.org/#this 47704. https://dom.spec.whatwg.org/#concept-documentfragment-host 47705. https://dom.spec.whatwg.org/#interface-element 47706. https://dom.spec.whatwg.org/#interface-documentfragment 47707. https://dom.spec.whatwg.org/#interface-element 47708. https://infra.spec.whatwg.org/#string 47709. https://html.spec.whatwg.org/#html-fragment-parsing-algorithm 47710. https://dom.spec.whatwg.org/#interface-documentfragment 47711. https://dom.spec.whatwg.org/#concept-node-document 47712. https://dom.spec.whatwg.org/#concept-node-document 47713. https://dom.spec.whatwg.org/#concept-node-append 47714. https://dom.spec.whatwg.org/#concept-node-replace-all 47715. https://w3c.github.io/trusted-types/dist/spec/#get-trusted-type-compliant-string-algorithm 47716. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47717. https://webidl.spec.whatwg.org/#this 47718. https://html.spec.whatwg.org/#concept-relevant-global 47719. https://html.spec.whatwg.org/#document 47720. https://dom.spec.whatwg.org/#concept-document-content-type 47721. https://html.spec.whatwg.org/#concept-document-bc 47722. https://html.spec.whatwg.org/#concept-n-script 47723. https://dom.spec.whatwg.org/#concept-document-allow-declarative-shadow-roots 47724. https://html.spec.whatwg.org/#parse-html-from-a-string 47725. https://html.spec.whatwg.org/#dom-element-gethtml 47726. https://html.spec.whatwg.org/#dom-gethtmloptions-serializableshadowroots 47727. https://html.spec.whatwg.org/#dom-gethtmloptions-shadowroots 47728. https://dom.spec.whatwg.org/#concept-shadow-root 47729. https://html.spec.whatwg.org/#dom-gethtmloptions-serializableshadowroots 47730. https://dom.spec.whatwg.org/#shadowroot-serializable 47731. https://html.spec.whatwg.org/#dom-gethtmloptions-shadowroots 47732. https://html.spec.whatwg.org/#dom-shadowroot-gethtml 47733. https://html.spec.whatwg.org/#dom-gethtmloptions-serializableshadowroots 47734. https://html.spec.whatwg.org/#dom-gethtmloptions-shadowroots 47735. https://dom.spec.whatwg.org/#concept-documentfragment-host 47736. https://dom.spec.whatwg.org/#concept-shadow-root 47737. https://dom.spec.whatwg.org/#interface-element 47738. https://html.spec.whatwg.org/#html-fragment-serialisation-algorithm 47739. https://webidl.spec.whatwg.org/#this 47740. https://html.spec.whatwg.org/#dom-gethtmloptions-serializableshadowroots 47741. https://html.spec.whatwg.org/#dom-gethtmloptions-shadowroots 47742. https://dom.spec.whatwg.org/#interface-shadowroot 47743. https://html.spec.whatwg.org/#html-fragment-serialisation-algorithm 47744. https://webidl.spec.whatwg.org/#this 47745. https://html.spec.whatwg.org/#dom-gethtmloptions-serializableshadowroots 47746. https://html.spec.whatwg.org/#dom-gethtmloptions-shadowroots 47747. https://html.spec.whatwg.org/#dom-element-innerhtml 47748. https://html.spec.whatwg.org/#dom-element-innerhtml 47749. https://github.com/w3c/DOM-Parsing/issues 47750. https://html.spec.whatwg.org/#dom-element-innerhtml 47751. https://webidl.spec.whatwg.org/#invalidstateerror 47752. https://webidl.spec.whatwg.org/#dfn-DOMException 47753. https://html.spec.whatwg.org/#dom-element-innerhtml 47754. https://webidl.spec.whatwg.org/#syntaxerror 47755. https://webidl.spec.whatwg.org/#dfn-DOMException 47756. https://html.spec.whatwg.org/#dom-shadowroot-innerhtml 47757. https://html.spec.whatwg.org/#dom-shadowroot-innerhtml 47758. https://html.spec.whatwg.org/#the-script-element 47759. https://html.spec.whatwg.org/#event-handler-content-attributes 47760. https://dom.spec.whatwg.org/#interface-element 47761. https://html.spec.whatwg.org/#document 47762. https://dom.spec.whatwg.org/#interface-documentfragment 47763. https://dom.spec.whatwg.org/#concept-node-document 47764. https://dom.spec.whatwg.org/#html-document 47765. https://html.spec.whatwg.org/#html-fragment-serialisation-algorithm 47766. https://w3c.github.io/DOM-Parsing/#dfn-xml-serialization 47767. https://dom.spec.whatwg.org/#interface-element 47768. https://html.spec.whatwg.org/#html-fragment-parsing-algorithm 47769. https://dom.spec.whatwg.org/#concept-node-document 47770. https://dom.spec.whatwg.org/#xml-document 47771. https://html.spec.whatwg.org/#xml-fragment-parsing-algorithm 47772. https://dom.spec.whatwg.org/#interface-documentfragment 47773. https://dom.spec.whatwg.org/#concept-node-document 47774. https://dom.spec.whatwg.org/#concept-node-document 47775. https://dom.spec.whatwg.org/#concept-tree-order 47776. https://dom.spec.whatwg.org/#concept-node-append 47777. https://dom.spec.whatwg.org/#concept-node-document 47778. https://dom.spec.whatwg.org/#interface-node 47779. https://dom.spec.whatwg.org/#interface-element 47780. https://html.spec.whatwg.org/#fragment-serializing-algorithm-steps 47781. https://webidl.spec.whatwg.org/#this 47782. https://dom.spec.whatwg.org/#interface-shadowroot 47783. https://html.spec.whatwg.org/#fragment-serializing-algorithm-steps 47784. https://webidl.spec.whatwg.org/#this 47785. https://dom.spec.whatwg.org/#interface-element 47786. https://html.spec.whatwg.org/#dom-element-innerhtml 47787. https://w3c.github.io/trusted-types/dist/spec/#get-trusted-type-compliant-string-algorithm 47788. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47789. https://webidl.spec.whatwg.org/#this 47790. https://html.spec.whatwg.org/#concept-relevant-global 47791. https://webidl.spec.whatwg.org/#this 47792. https://html.spec.whatwg.org/#fragment-parsing-algorithm-steps 47793. https://html.spec.whatwg.org/#the-template-element 47794. https://html.spec.whatwg.org/#the-template-element 47795. https://html.spec.whatwg.org/#template-contents 47796. https://dom.spec.whatwg.org/#interface-documentfragment 47797. https://html.spec.whatwg.org/#dom-element-innerhtml 47798. https://html.spec.whatwg.org/#the-template-element 47799. https://html.spec.whatwg.org/#template-contents 47800. https://dom.spec.whatwg.org/#concept-tree-child 47801. https://dom.spec.whatwg.org/#concept-node-replace-all 47802. https://dom.spec.whatwg.org/#interface-shadowroot 47803. https://html.spec.whatwg.org/#dom-shadowroot-innerhtml 47804. https://w3c.github.io/trusted-types/dist/spec/#get-trusted-type-compliant-string-algorithm 47805. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47806. https://webidl.spec.whatwg.org/#this 47807. https://html.spec.whatwg.org/#concept-relevant-global 47808. https://webidl.spec.whatwg.org/#this 47809. https://dom.spec.whatwg.org/#concept-documentfragment-host 47810. https://html.spec.whatwg.org/#fragment-parsing-algorithm-steps 47811. https://dom.spec.whatwg.org/#concept-node-replace-all 47812. https://webidl.spec.whatwg.org/#this 47813. https://html.spec.whatwg.org/#dom-element-outerhtml 47814. https://html.spec.whatwg.org/#dom-element-outerhtml 47815. https://github.com/w3c/DOM-Parsing/issues 47816. https://html.spec.whatwg.org/#dom-element-outerhtml 47817. https://webidl.spec.whatwg.org/#invalidstateerror 47818. https://webidl.spec.whatwg.org/#dfn-DOMException 47819. https://html.spec.whatwg.org/#dom-element-outerhtml 47820. https://webidl.spec.whatwg.org/#syntaxerror 47821. https://webidl.spec.whatwg.org/#dfn-DOMException 47822. https://webidl.spec.whatwg.org/#nomodificationallowederror 47823. https://webidl.spec.whatwg.org/#dfn-DOMException 47824. https://html.spec.whatwg.org/#document 47825. https://html.spec.whatwg.org/#the-script-element 47826. https://html.spec.whatwg.org/#event-handler-content-attributes 47827. https://dom.spec.whatwg.org/#interface-element 47828. https://webidl.spec.whatwg.org/#this 47829. https://html.spec.whatwg.org/#fragment-serializing-algorithm-steps 47830. https://dom.spec.whatwg.org/#interface-element 47831. https://html.spec.whatwg.org/#dom-element-outerhtml 47832. https://w3c.github.io/trusted-types/dist/spec/#get-trusted-type-compliant-string-algorithm 47833. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47834. https://webidl.spec.whatwg.org/#this 47835. https://html.spec.whatwg.org/#concept-relevant-global 47836. https://webidl.spec.whatwg.org/#this 47837. https://dom.spec.whatwg.org/#concept-tree-parent 47838. https://html.spec.whatwg.org/#document 47839. https://webidl.spec.whatwg.org/#nomodificationallowederror 47840. https://webidl.spec.whatwg.org/#dfn-DOMException 47841. https://dom.spec.whatwg.org/#interface-documentfragment 47842. https://dom.spec.whatwg.org/#concept-create-element 47843. https://webidl.spec.whatwg.org/#this 47844. https://dom.spec.whatwg.org/#concept-node-document 47845. https://infra.spec.whatwg.org/#html-namespace 47846. https://html.spec.whatwg.org/#fragment-parsing-algorithm-steps 47847. https://dom.spec.whatwg.org/#concept-node-replace 47848. https://webidl.spec.whatwg.org/#this 47849. https://webidl.spec.whatwg.org/#this 47850. https://dom.spec.whatwg.org/#concept-tree-parent 47851. https://html.spec.whatwg.org/#dom-element-insertadjacenthtml 47852. https://html.spec.whatwg.org/#dom-element-insertadjacenthtml 47853. https://github.com/w3c/DOM-Parsing/issues 47854. https://html.spec.whatwg.org/#dom-element-insertadjacenthtml 47855. https://webidl.spec.whatwg.org/#syntaxerror 47856. https://webidl.spec.whatwg.org/#dfn-DOMException 47857. https://dom.spec.whatwg.org/#xml-document 47858. https://webidl.spec.whatwg.org/#nomodificationallowederror 47859. https://webidl.spec.whatwg.org/#dfn-DOMException 47860. https://html.spec.whatwg.org/#document 47861. https://html.spec.whatwg.org/#the-script-element 47862. https://html.spec.whatwg.org/#event-handler-content-attributes 47863. https://dom.spec.whatwg.org/#interface-element 47864. https://w3c.github.io/trusted-types/dist/spec/#get-trusted-type-compliant-string-algorithm 47865. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47866. https://webidl.spec.whatwg.org/#this 47867. https://html.spec.whatwg.org/#concept-relevant-global 47868. https://infra.spec.whatwg.org/#ascii-case-insensitive 47869. https://infra.spec.whatwg.org/#ascii-case-insensitive 47870. https://webidl.spec.whatwg.org/#this 47871. https://html.spec.whatwg.org/#dom-parent 47872. https://html.spec.whatwg.org/#document 47873. https://webidl.spec.whatwg.org/#nomodificationallowederror 47874. https://webidl.spec.whatwg.org/#dfn-DOMException 47875. https://infra.spec.whatwg.org/#ascii-case-insensitive 47876. https://infra.spec.whatwg.org/#ascii-case-insensitive 47877. https://webidl.spec.whatwg.org/#this 47878. https://webidl.spec.whatwg.org/#syntaxerror 47879. https://webidl.spec.whatwg.org/#dfn-DOMException 47880. https://dom.spec.whatwg.org/#interface-element 47881. https://dom.spec.whatwg.org/#concept-node-document 47882. https://dom.spec.whatwg.org/#concept-element-local-name 47883. https://html.spec.whatwg.org/#the-html-element 47884. https://dom.spec.whatwg.org/#concept-element-namespace 47885. https://infra.spec.whatwg.org/#html-namespace 47886. https://dom.spec.whatwg.org/#concept-create-element 47887. https://webidl.spec.whatwg.org/#this 47888. https://dom.spec.whatwg.org/#concept-node-document 47889. https://infra.spec.whatwg.org/#html-namespace 47890. https://html.spec.whatwg.org/#fragment-parsing-algorithm-steps 47891. https://infra.spec.whatwg.org/#ascii-case-insensitive 47892. https://dom.spec.whatwg.org/#concept-node-insert 47893. https://webidl.spec.whatwg.org/#this 47894. https://html.spec.whatwg.org/#dom-parent 47895. https://webidl.spec.whatwg.org/#this 47896. https://infra.spec.whatwg.org/#ascii-case-insensitive 47897. https://dom.spec.whatwg.org/#concept-node-insert 47898. https://webidl.spec.whatwg.org/#this 47899. https://dom.spec.whatwg.org/#concept-tree-first-child 47900. https://infra.spec.whatwg.org/#ascii-case-insensitive 47901. https://dom.spec.whatwg.org/#concept-node-append 47902. https://webidl.spec.whatwg.org/#this 47903. https://infra.spec.whatwg.org/#ascii-case-insensitive 47904. https://dom.spec.whatwg.org/#concept-node-insert 47905. https://webidl.spec.whatwg.org/#this 47906. https://html.spec.whatwg.org/#dom-parent 47907. https://webidl.spec.whatwg.org/#this 47908. https://dom.spec.whatwg.org/#concept-tree-next-sibling 47909. https://dom.spec.whatwg.org/#interface-node 47910. https://html.spec.whatwg.org/#dom-element-innerhtml 47911. https://html.spec.whatwg.org/#dom-element-insertadjacenthtml 47912. https://html.spec.whatwg.org/#the-template-element 47913. https://html.spec.whatwg.org/#dom-template-content 47914. https://html.spec.whatwg.org/#dom-element-insertadjacenthtml 47915. https://html.spec.whatwg.org/#the-template-element 47916. https://html.spec.whatwg.org/#dom-range-createcontextualfragment 47917. https://html.spec.whatwg.org/#dom-range-createcontextualfragment 47918. https://github.com/w3c/DOM-Parsing/issues 47919. https://html.spec.whatwg.org/#dom-range-createcontextualfragment 47920. https://dom.spec.whatwg.org/#interface-documentfragment 47921. https://dom.spec.whatwg.org/#concept-range-start-node 47922. https://html.spec.whatwg.org/#the-script-element 47923. https://html.spec.whatwg.org/#event-handler-content-attributes 47924. https://dom.spec.whatwg.org/#interface-range 47925. https://html.spec.whatwg.org/#cereactions 47926. https://dom.spec.whatwg.org/#interface-documentfragment 47927. https://html.spec.whatwg.org/#dom-range-createcontextualfragment 47928. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47929. https://dom.spec.whatwg.org/#interface-range 47930. https://w3c.github.io/trusted-types/dist/spec/#get-trusted-type-compliant-string-algorithm 47931. https://w3c.github.io/trusted-types/dist/spec/#trustedhtml 47932. https://webidl.spec.whatwg.org/#this 47933. https://html.spec.whatwg.org/#concept-relevant-global 47934. https://webidl.spec.whatwg.org/#this 47935. https://dom.spec.whatwg.org/#concept-range-start-node 47936. https://webidl.spec.whatwg.org/#implements 47937. https://dom.spec.whatwg.org/#interface-element 47938. https://webidl.spec.whatwg.org/#implements 47939. https://dom.spec.whatwg.org/#interface-text 47940. https://dom.spec.whatwg.org/#interface-comment 47941. https://dom.spec.whatwg.org/#parent-element 47942. https://dom.spec.whatwg.org/#concept-node-document 47943. https://dom.spec.whatwg.org/#concept-element-local-name 47944. https://html.spec.whatwg.org/#the-html-element 47945. https://dom.spec.whatwg.org/#concept-element-namespace 47946. https://infra.spec.whatwg.org/#html-namespace 47947. https://dom.spec.whatwg.org/#concept-create-element 47948. https://webidl.spec.whatwg.org/#this 47949. https://dom.spec.whatwg.org/#concept-node-document 47950. https://infra.spec.whatwg.org/#html-namespace 47951. https://html.spec.whatwg.org/#fragment-parsing-algorithm-steps 47952. https://infra.spec.whatwg.org/#list-iterate 47953. https://html.spec.whatwg.org/#the-script-element 47954. https://dom.spec.whatwg.org/#concept-tree-descendant 47955. https://html.spec.whatwg.org/#already-started 47956. https://html.spec.whatwg.org/#parser-document 47957. https://html.spec.whatwg.org/#xmlserializer 47958. https://html.spec.whatwg.org/#xmlserializer 47959. https://github.com/w3c/DOM-Parsing/issues 47960. https://html.spec.whatwg.org/#dom-xmlserializer-constructor 47961. https://html.spec.whatwg.org/#xmlserializer 47962. https://html.spec.whatwg.org/#dom-xmlserializer-serializetostring 47963. https://webidl.spec.whatwg.org/#invalidstateerror 47964. https://webidl.spec.whatwg.org/#dfn-DOMException 47965. https://html.spec.whatwg.org/#xmlserializer 47966. https://html.spec.whatwg.org/#dom-xmlserializer-serializetostring 47967. https://html.spec.whatwg.org/#dom-xmlserializer-constructor 47968. https://html.spec.whatwg.org/#dom-xmlserializer-serializetostring 47969. https://dom.spec.whatwg.org/#interface-node 47970. https://w3c.github.io/DOM-Parsing/#dfn-xml-serialization 47971. https://html.spec.whatwg.org/#dom-settimeout 47972. https://html.spec.whatwg.org/#dom-setinterval 47973. https://html.spec.whatwg.org/#dom-settimeout 47974. https://developer.mozilla.org/en-US/docs/Web/API/setTimeout 47975. https://html.spec.whatwg.org/#dom-settimeout 47976. https://html.spec.whatwg.org/#dom-cleartimeout 47977. https://developer.mozilla.org/en-US/docs/Web/API/clearTimeout 47978. https://html.spec.whatwg.org/#dom-settimeout 47979. https://html.spec.whatwg.org/#dom-setinterval 47980. https://html.spec.whatwg.org/#dom-setinterval 47981. https://developer.mozilla.org/en-US/docs/Web/API/setInterval 47982. https://html.spec.whatwg.org/#dom-setinterval 47983. https://html.spec.whatwg.org/#dom-clearinterval 47984. https://developer.mozilla.org/en-US/docs/Web/API/clearInterval 47985. https://html.spec.whatwg.org/#dom-setinterval 47986. https://html.spec.whatwg.org/#dom-settimeout 47987. https://html.spec.whatwg.org/#windoworworkerglobalscope 47988. https://infra.spec.whatwg.org/#ordered-map 47989. https://infra.spec.whatwg.org/#map-key 47990. https://html.spec.whatwg.org/#dom-settimeout 47991. https://html.spec.whatwg.org/#dom-setinterval 47992. https://infra.spec.whatwg.org/#map-value 47993. https://html.spec.whatwg.org/#unique-internal-value 47994. https://html.spec.whatwg.org/#map-of-active-timers 47995. https://html.spec.whatwg.org/#timer-initialisation-steps 47996. https://webidl.spec.whatwg.org/#this 47997. https://html.spec.whatwg.org/#timer-initialisation-steps 47998. https://webidl.spec.whatwg.org/#this 47999. https://infra.spec.whatwg.org/#map-remove 48000. https://webidl.spec.whatwg.org/#this 48001. https://html.spec.whatwg.org/#map-of-settimeout-and-setinterval-ids 48002. https://html.spec.whatwg.org/#dom-cleartimeout 48003. https://html.spec.whatwg.org/#dom-clearinterval 48004. https://html.spec.whatwg.org/#dom-settimeout 48005. https://html.spec.whatwg.org/#dom-setinterval 48006. https://html.spec.whatwg.org/#windoworworkerglobalscope 48007. https://webidl.spec.whatwg.org/#common-Function 48008. https://w3c.github.io/trusted-types/dist/spec/#trusted-script 48009. https://html.spec.whatwg.org/#workerglobalscope 48010. https://html.spec.whatwg.org/#windowproxy 48011. https://infra.spec.whatwg.org/#implementation-defined 48012. https://infra.spec.whatwg.org/#map-exists 48013. https://html.spec.whatwg.org/#map-of-settimeout-and-setinterval-ids 48014. https://tc39.es/ecma262/#surrounding-agent 48015. https://html.spec.whatwg.org/#concept-agent-event-loop 48016. https://html.spec.whatwg.org/#currently-running-task 48017. https://html.spec.whatwg.org/#concept-task 48018. https://html.spec.whatwg.org/#timer-nesting-level 48019. https://html.spec.whatwg.org/#timer-nesting-level 48020. https://html.spec.whatwg.org/#dom-settimeout 48021. https://html.spec.whatwg.org/#dom-setinterval 48022. https://html.spec.whatwg.org/#concept-relevant-realm 48023. https://html.spec.whatwg.org/#active-script 48024. https://html.spec.whatwg.org/#concept-task 48025. https://infra.spec.whatwg.org/#assert 48026. https://html.spec.whatwg.org/#unique-internal-value 48027. https://infra.spec.whatwg.org/#map-exists 48028. https://html.spec.whatwg.org/#map-of-settimeout-and-setinterval-ids 48029. https://html.spec.whatwg.org/#map-of-settimeout-and-setinterval-ids 48030. https://html.spec.whatwg.org/#dom-cleartimeout 48031. https://html.spec.whatwg.org/#dom-clearinterval 48032. https://html.spec.whatwg.org/#dom-settimeout 48033. https://html.spec.whatwg.org/#dom-setinterval 48034. https://w3c.github.io/long-animation-frames/#record-timing-info-for-timer-handler 48035. https://html.spec.whatwg.org/#relevant-settings-object 48036. https://webidl.spec.whatwg.org/#common-Function 48037. https://webidl.spec.whatwg.org/#invoke-a-callback-function 48038. https://webidl.spec.whatwg.org/#dfn-callback-this-value 48039. https://html.spec.whatwg.org/#window 48040. https://w3c.github.io/trusted-types/dist/spec/#get-trusted-type-compliant-string-algorithm 48041. https://w3c.github.io/trusted-types/dist/spec/#trusted-script 48042. https://infra.spec.whatwg.org/#assert 48043. https://w3c.github.io/webappsec-csp/#can-compile-strings 48044. https://html.spec.whatwg.org/#report-an-exception 48045. https://html.spec.whatwg.org/#relevant-settings-object 48046. https://html.spec.whatwg.org/#default-script-fetch-options 48047. https://html.spec.whatwg.org/#api-base-url 48048. https://html.spec.whatwg.org/#script-fetch-options 48049. https://html.spec.whatwg.org/#concept-script-fetch-options-nonce 48050. https://html.spec.whatwg.org/#concept-script-script-fetch-options 48051. https://html.spec.whatwg.org/#concept-script-fetch-options-nonce 48052. https://html.spec.whatwg.org/#concept-script-fetch-options-integrity 48053. https://html.spec.whatwg.org/#concept-script-fetch-options-parser 48054. https://html.spec.whatwg.org/#concept-script-fetch-options-credentials 48055. https://html.spec.whatwg.org/#concept-script-script-fetch-options 48056. https://html.spec.whatwg.org/#concept-script-fetch-options-credentials 48057. https://html.spec.whatwg.org/#concept-script-fetch-options-referrer-policy 48058. https://html.spec.whatwg.org/#concept-script-script-fetch-options 48059. https://html.spec.whatwg.org/#concept-script-fetch-options-referrer-policy 48060. https://html.spec.whatwg.org/#concept-script-fetch-options-fetch-priority 48061. https://html.spec.whatwg.org/#concept-script-base-url 48062. https://html.spec.whatwg.org/#dom-settimeout 48063. https://html.spec.whatwg.org/#dom-setinterval 48064. https://tc39.es/ecma262/#sec-eval-x 48065. https://html.spec.whatwg.org/#module-script 48066. https://tc39.es/ecma262/#sec-import-calls 48067. https://html.spec.whatwg.org/#creating-a-classic-script 48068. https://html.spec.whatwg.org/#run-a-classic-script 48069. https://infra.spec.whatwg.org/#map-exists 48070. https://html.spec.whatwg.org/#map-of-settimeout-and-setinterval-ids 48071. https://html.spec.whatwg.org/#map-of-settimeout-and-setinterval-ids 48072. https://html.spec.whatwg.org/#dom-cleartimeout 48073. https://html.spec.whatwg.org/#dom-clearinterval 48074. https://html.spec.whatwg.org/#dom-settimeout 48075. https://html.spec.whatwg.org/#dom-setinterval 48076. https://html.spec.whatwg.org/#timer-initialisation-steps 48077. https://infra.spec.whatwg.org/#map-remove 48078. https://html.spec.whatwg.org/#map-of-settimeout-and-setinterval-ids 48079. https://html.spec.whatwg.org/#queue-a-global-task 48080. https://html.spec.whatwg.org/#run-steps-after-a-timeout 48081. https://infra.spec.whatwg.org/#map-set 48082. https://html.spec.whatwg.org/#map-of-settimeout-and-setinterval-ids 48083. https://html.spec.whatwg.org/#windoworworkerglobalscope 48084. https://infra.spec.whatwg.org/#ordered-map 48085. https://infra.spec.whatwg.org/#map-key 48086. https://html.spec.whatwg.org/#unique-internal-value 48087. https://infra.spec.whatwg.org/#map-value 48088. https://w3c.github.io/hr-time/#dom-domhighrestimestamp 48089. https://html.spec.whatwg.org/#windoworworkerglobalscope 48090. https://html.spec.whatwg.org/#unique-internal-value 48091. https://html.spec.whatwg.org/#unique-internal-value 48092. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 48093. https://infra.spec.whatwg.org/#map-set 48094. https://html.spec.whatwg.org/#map-of-active-timers 48095. https://html.spec.whatwg.org/#in-parallel 48096. https://html.spec.whatwg.org/#window 48097. https://html.spec.whatwg.org/#concept-document-window 48098. https://html.spec.whatwg.org/#fully-active 48099. https://html.spec.whatwg.org/#workerglobalscope 48100. https://infra.spec.whatwg.org/#implementation-defined 48101. https://infra.spec.whatwg.org/#map-remove 48102. https://html.spec.whatwg.org/#map-of-active-timers 48103. https://html.spec.whatwg.org/#run-steps-after-a-timeout 48104. https://html.spec.whatwg.org/#dom-settimeout 48105. https://html.spec.whatwg.org/#dom-settimeout 48106. https://developer.mozilla.org/en-US/docs/Web/API/queueMicrotask 48107. https://html.spec.whatwg.org/#dom-queuemicrotask 48108. https://html.spec.whatwg.org/#queue-a-microtask 48109. https://html.spec.whatwg.org/#microtask 48110. https://html.spec.whatwg.org/#queue-a-microtask 48111. https://webidl.spec.whatwg.org/#invoke-a-callback-function 48112. https://html.spec.whatwg.org/#dom-queuemicrotask 48113. https://html.spec.whatwg.org/#microtask-queue 48114. https://tc39.es/ecma262/#execution-context-stack 48115. https://html.spec.whatwg.org/#event-loop 48116. https://html.spec.whatwg.org/#dom-settimeout 48117. https://html.spec.whatwg.org/#dom-animationframeprovider-requestanimationframe 48118. https://w3c.github.io/requestidlecallback/#the-requestidlecallback-method 48119. https://html.spec.whatwg.org/#dom-animationframeprovider-requestanimationframe 48120. https://html.spec.whatwg.org/#dom-queuemicrotask 48121. https://html.spec.whatwg.org/#dom-queuemicrotask 48122. https://html.spec.whatwg.org/#dom-queuemicrotask 48123. https://tc39.es/ecma262/#execution-context-stack 48124. https://html.spec.whatwg.org/#dom-queuemicrotask 48125. https://fetch.spec.whatwg.org/#dom-global-fetch 48126. https://html.spec.whatwg.org/#dom-settimeout 48127. https://html.spec.whatwg.org/#dom-alert 48128. https://developer.mozilla.org/en-US/docs/Web/API/Window/alert 48129. https://html.spec.whatwg.org/#dom-confirm 48130. https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm 48131. https://html.spec.whatwg.org/#dom-prompt 48132. https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt 48133. https://html.spec.whatwg.org/#concept-task 48134. https://html.spec.whatwg.org/#microtask 48135. https://html.spec.whatwg.org/#media-element 48136. https://html.spec.whatwg.org/#media-data 48137. https://html.spec.whatwg.org/#cannot-show-simple-dialogs 48138. https://webidl.spec.whatwg.org/#this 48139. https://infra.spec.whatwg.org/#normalize-newlines 48140. https://html.spec.whatwg.org/#optionally-truncate-a-simple-dialog-string 48141. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-user-prompt-opened 48142. https://webidl.spec.whatwg.org/#this 48143. https://html.spec.whatwg.org/#pause 48144. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-user-prompt-closed 48145. https://webidl.spec.whatwg.org/#this 48146. https://html.spec.whatwg.org/#cannot-show-simple-dialogs 48147. https://webidl.spec.whatwg.org/#this 48148. https://infra.spec.whatwg.org/#normalize-newlines 48149. https://html.spec.whatwg.org/#optionally-truncate-a-simple-dialog-string 48150. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-user-prompt-opened 48151. https://webidl.spec.whatwg.org/#this 48152. https://html.spec.whatwg.org/#pause 48153. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-user-prompt-closed 48154. https://webidl.spec.whatwg.org/#this 48155. https://html.spec.whatwg.org/#cannot-show-simple-dialogs 48156. https://webidl.spec.whatwg.org/#this 48157. https://infra.spec.whatwg.org/#normalize-newlines 48158. https://html.spec.whatwg.org/#optionally-truncate-a-simple-dialog-string 48159. https://html.spec.whatwg.org/#optionally-truncate-a-simple-dialog-string 48160. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-user-prompt-opened 48161. https://webidl.spec.whatwg.org/#this 48162. https://html.spec.whatwg.org/#pause 48163. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-user-prompt-closed 48164. https://webidl.spec.whatwg.org/#this 48165. https://html.spec.whatwg.org/#window 48166. https://html.spec.whatwg.org/#active-sandboxing-flag-set 48167. https://html.spec.whatwg.org/#concept-document-window 48168. https://html.spec.whatwg.org/#sandboxed-modals-flag 48169. https://html.spec.whatwg.org/#relevant-settings-object 48170. https://html.spec.whatwg.org/#concept-settings-object-origin 48171. https://html.spec.whatwg.org/#relevant-settings-object 48172. https://html.spec.whatwg.org/#concept-environment-top-level-origin 48173. https://html.spec.whatwg.org/#same-origin-domain 48174. https://html.spec.whatwg.org/#relevant-agent 48175. https://html.spec.whatwg.org/#concept-agent-event-loop 48176. https://html.spec.whatwg.org/#termination-nesting-level 48177. https://developer.mozilla.org/en-US/docs/Web/API/Window/print 48178. https://html.spec.whatwg.org/#dom-print 48179. https://webidl.spec.whatwg.org/#this 48180. https://html.spec.whatwg.org/#concept-document-window 48181. https://html.spec.whatwg.org/#fully-active 48182. https://html.spec.whatwg.org/#unload-counter 48183. https://html.spec.whatwg.org/#ready-for-post-load-tasks 48184. https://html.spec.whatwg.org/#printing-steps 48185. https://html.spec.whatwg.org/#printing-steps 48186. https://html.spec.whatwg.org/#obtain-a-physical-form 48187. https://html.spec.whatwg.org/#document 48188. https://html.spec.whatwg.org/#dom-print 48189. https://html.spec.whatwg.org/#active-sandboxing-flag-set 48190. https://html.spec.whatwg.org/#sandboxed-modals-flag 48191. https://html.spec.whatwg.org/#document 48192. https://html.spec.whatwg.org/#event-beforeprint 48193. https://html.spec.whatwg.org/#event-afterprint 48194. https://dom.spec.whatwg.org/#concept-event-fire 48195. https://html.spec.whatwg.org/#event-beforeprint 48196. https://html.spec.whatwg.org/#concept-relevant-global 48197. https://html.spec.whatwg.org/#child-navigable 48198. https://github.com/whatwg/html/issues/5096 48199. https://html.spec.whatwg.org/#event-beforeprint 48200. https://html.spec.whatwg.org/#obtain-a-physical-form 48201. https://html.spec.whatwg.org/#pause 48202. https://dom.spec.whatwg.org/#concept-event-fire 48203. https://html.spec.whatwg.org/#event-afterprint 48204. https://html.spec.whatwg.org/#concept-relevant-global 48205. https://html.spec.whatwg.org/#child-navigable 48206. https://github.com/whatwg/html/issues/5096 48207. https://html.spec.whatwg.org/#event-afterprint 48208. https://html.spec.whatwg.org/#navigator 48209. https://developer.mozilla.org/en-US/docs/Web/API/Navigator 48210. https://html.spec.whatwg.org/#navigator 48211. https://html.spec.whatwg.org/#windoworworkerglobalscope 48212. https://html.spec.whatwg.org/#navigator 48213. https://html.spec.whatwg.org/#navigatorid 48214. https://html.spec.whatwg.org/#navigator 48215. https://html.spec.whatwg.org/#navigatorlanguage 48216. https://html.spec.whatwg.org/#navigator 48217. https://html.spec.whatwg.org/#navigatoronline 48218. https://html.spec.whatwg.org/#navigator 48219. https://html.spec.whatwg.org/#navigatorcontentutils 48220. https://html.spec.whatwg.org/#navigator 48221. https://html.spec.whatwg.org/#navigatorcookies 48222. https://html.spec.whatwg.org/#navigator 48223. https://html.spec.whatwg.org/#navigatorplugins 48224. https://html.spec.whatwg.org/#navigator 48225. https://html.spec.whatwg.org/#navigatorconcurrenthardware 48226. https://html.spec.whatwg.org/#workernavigator 48227. https://html.spec.whatwg.org/#navigator 48228. https://html.spec.whatwg.org/#window 48229. https://html.spec.whatwg.org/#navigator 48230. https://html.spec.whatwg.org/#window 48231. https://html.spec.whatwg.org/#associated-navigator 48232. https://webidl.spec.whatwg.org/#new 48233. https://html.spec.whatwg.org/#navigator 48234. https://html.spec.whatwg.org/#window 48235. https://html.spec.whatwg.org/#concept-relevant-realm 48236. https://developer.mozilla.org/en-US/docs/Web/API/Window/navigator 48237. https://webidl.spec.whatwg.org/#this 48238. https://html.spec.whatwg.org/#associated-navigator 48239. https://html.spec.whatwg.org/#dom-navigator-appcodename 48240. https://html.spec.whatwg.org/#dom-navigator-appname 48241. https://html.spec.whatwg.org/#dom-navigator-appversion 48242. https://html.spec.whatwg.org/#dom-navigator-platform 48243. https://html.spec.whatwg.org/#dom-navigator-product 48244. https://html.spec.whatwg.org/#dom-navigator-productsub 48245. https://html.spec.whatwg.org/#dom-navigator-useragent 48246. https://html.spec.whatwg.org/#dom-navigator-vendor 48247. https://html.spec.whatwg.org/#dom-navigator-vendorsub 48248. https://html.spec.whatwg.org/#concept-navigator-compatibility-mode 48249. https://html.spec.whatwg.org/#navigatorid 48250. https://html.spec.whatwg.org/#dom-navigator-taintenabled 48251. https://html.spec.whatwg.org/#dom-navigator-oscpu 48252. https://html.spec.whatwg.org/#dom-navigator 48253. https://html.spec.whatwg.org/#dom-navigator-appcodename 48254. https://html.spec.whatwg.org/#dom-navigator 48255. https://html.spec.whatwg.org/#dom-navigator-appname 48256. https://html.spec.whatwg.org/#dom-navigator 48257. https://html.spec.whatwg.org/#dom-navigator-appversion 48258. https://html.spec.whatwg.org/#dom-navigator 48259. https://html.spec.whatwg.org/#dom-navigator-platform 48260. https://html.spec.whatwg.org/#dom-navigator 48261. https://html.spec.whatwg.org/#dom-navigator-product 48262. https://html.spec.whatwg.org/#dom-navigator 48263. https://html.spec.whatwg.org/#dom-navigator-productsub 48264. https://html.spec.whatwg.org/#dom-navigator 48265. https://html.spec.whatwg.org/#dom-navigator-useragent 48266. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/userAgent 48267. https://developer.mozilla.org/en-US/docs/Web/API/WorkerNavigator/userAgent 48268. https://html.spec.whatwg.org/#dom-navigator 48269. https://html.spec.whatwg.org/#dom-navigator-vendor 48270. https://html.spec.whatwg.org/#dom-navigator 48271. https://html.spec.whatwg.org/#dom-navigator-vendorsub 48272. https://fetch.spec.whatwg.org/#default-user-agent-value 48273. https://html.spec.whatwg.org/#concept-navigator-compatibility-mode 48274. https://html.spec.whatwg.org/#concept-navigator-compatibility-mode 48275. https://html.spec.whatwg.org/#concept-navigator-compatibility-mode 48276. https://html.spec.whatwg.org/#concept-navigator-compatibility-mode 48277. https://fetch.spec.whatwg.org/#default-user-agent-value 48278. https://html.spec.whatwg.org/#concept-navigator-compatibility-mode 48279. https://html.spec.whatwg.org/#concept-navigator-compatibility-mode 48280. https://html.spec.whatwg.org/#concept-navigator-compatibility-mode 48281. https://html.spec.whatwg.org/#concept-navigator-compatibility-mode 48282. https://html.spec.whatwg.org/#navigatorid 48283. https://html.spec.whatwg.org/#dom-navigator-taintenabled 48284. https://html.spec.whatwg.org/#dom-navigator-oscpu 48285. https://infra.spec.whatwg.org/#tracking-vector 48286. https://html.spec.whatwg.org/#dom-navigator-language 48287. https://html.spec.whatwg.org/#dom-navigator-languages 48288. https://html.spec.whatwg.org/#dom-navigator 48289. https://html.spec.whatwg.org/#dom-navigator-language 48290. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language 48291. https://developer.mozilla.org/en-US/docs/Web/API/WorkerNavigator/language 48292. https://html.spec.whatwg.org/#dom-navigator 48293. https://html.spec.whatwg.org/#dom-navigator-languages 48294. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/languages 48295. https://developer.mozilla.org/en-US/docs/Web/API/WorkerNavigator/languages 48296. https://html.spec.whatwg.org/#dom-navigator-language 48297. https://html.spec.whatwg.org/#event-languagechange 48298. https://html.spec.whatwg.org/#window 48299. https://html.spec.whatwg.org/#workerglobalscope 48300. https://html.spec.whatwg.org/#a-plausible-language 48301. https://html.spec.whatwg.org/#refsBCP47 48302. https://webidl.spec.whatwg.org/#dfn-frozen-array-type 48303. https://html.spec.whatwg.org/#a-plausible-language 48304. https://html.spec.whatwg.org/#refsBCP47 48305. https://html.spec.whatwg.org/#dom-navigator-languages 48306. https://html.spec.whatwg.org/#window 48307. https://html.spec.whatwg.org/#workerglobalscope 48308. https://html.spec.whatwg.org/#queue-a-global-task 48309. https://html.spec.whatwg.org/#dom-manipulation-task-source 48310. https://dom.spec.whatwg.org/#concept-event-fire 48311. https://html.spec.whatwg.org/#event-languagechange 48312. https://infra.spec.whatwg.org/#tracking-vector 48313. https://html.spec.whatwg.org/#refsTOR 48314. https://infra.spec.whatwg.org/#tracking-vector 48315. https://httpwg.org/specs/rfc7231.html#header.accept-language 48316. https://html.spec.whatwg.org/#dom-navigator-online 48317. https://html.spec.whatwg.org/#dom-navigator 48318. https://html.spec.whatwg.org/#dom-navigator-online 48319. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/onLine 48320. https://developer.mozilla.org/en-US/docs/Web/API/WorkerNavigator/onLine 48321. https://html.spec.whatwg.org/#event-online 48322. https://html.spec.whatwg.org/#event-offline 48323. https://html.spec.whatwg.org/#dom-navigator-online 48324. https://html.spec.whatwg.org/#window 48325. https://html.spec.whatwg.org/#workerglobalscope 48326. https://html.spec.whatwg.org/#queue-a-global-task 48327. https://html.spec.whatwg.org/#networking-task-source 48328. https://dom.spec.whatwg.org/#concept-event-fire 48329. https://html.spec.whatwg.org/#event-offline 48330. https://html.spec.whatwg.org/#dom-navigator-online 48331. https://html.spec.whatwg.org/#window 48332. https://html.spec.whatwg.org/#workerglobalscope 48333. https://html.spec.whatwg.org/#queue-a-global-task 48334. https://html.spec.whatwg.org/#networking-task-source 48335. https://dom.spec.whatwg.org/#concept-event-fire 48336. https://html.spec.whatwg.org/#event-online 48337. https://html.spec.whatwg.org/#window 48338. https://html.spec.whatwg.org/#workerglobalscope 48339. https://html.spec.whatwg.org/#dom-navigator-registerprotocolhandler 48340. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/registerProtocolHandler 48341. https://html.spec.whatwg.org/#dom-navigator-registerprotocolhandler 48342. https://html.spec.whatwg.org/#dom-navigator-unregisterprotocolhandler 48343. https://html.spec.whatwg.org/#dom-navigator 48344. https://html.spec.whatwg.org/#dom-navigator-registerprotocolhandler 48345. https://www.rfc-editor.org/rfc/rfc5724#section-2 48346. https://html.spec.whatwg.org/#refsSMS 48347. https://webidl.spec.whatwg.org/#securityerror 48348. https://webidl.spec.whatwg.org/#dfn-DOMException 48349. https://webidl.spec.whatwg.org/#syntaxerror 48350. https://webidl.spec.whatwg.org/#dfn-DOMException 48351. https://html.spec.whatwg.org/#dom-navigator 48352. https://html.spec.whatwg.org/#dom-navigator-unregisterprotocolhandler 48353. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/unregisterProtocolHandler 48354. https://webidl.spec.whatwg.org/#securityerror 48355. https://webidl.spec.whatwg.org/#dfn-DOMException 48356. https://webidl.spec.whatwg.org/#syntaxerror 48357. https://webidl.spec.whatwg.org/#dfn-DOMException 48358. https://html.spec.whatwg.org/#normalize-protocol-handler-parameters 48359. https://webidl.spec.whatwg.org/#this 48360. https://html.spec.whatwg.org/#relevant-settings-object 48361. https://html.spec.whatwg.org/#in-parallel 48362. https://html.spec.whatwg.org/#registerprotocolhandler()-automation-mode 48363. https://webidl.spec.whatwg.org/#this 48364. https://html.spec.whatwg.org/#concept-relevant-global 48365. https://html.spec.whatwg.org/#concept-document-window 48366. https://w3c.github.io/webdriver/#security 48367. https://html.spec.whatwg.org/#registerprotocolhandler()-automation-mode 48368. https://url.spec.whatwg.org/#concept-url 48369. https://infra.spec.whatwg.org/#assert 48370. https://url.spec.whatwg.org/#concept-url-scheme 48371. https://url.spec.whatwg.org/#set-the-username 48372. https://url.spec.whatwg.org/#set-the-password 48373. https://url.spec.whatwg.org/#concept-url-serializer 48374. https://url.spec.whatwg.org/#string-utf-8-percent-encode 48375. https://url.spec.whatwg.org/#component-percent-encode-set 48376. https://url.spec.whatwg.org/#concept-url-parser 48377. https://html.spec.whatwg.org/#navigate 48378. https://html.spec.whatwg.org/#navigable 48379. https://html.spec.whatwg.org/#navigate 48380. https://html.spec.whatwg.org/#normalize-protocol-handler-parameters 48381. https://webidl.spec.whatwg.org/#this 48382. https://html.spec.whatwg.org/#relevant-settings-object 48383. https://html.spec.whatwg.org/#in-parallel 48384. https://html.spec.whatwg.org/#environment-settings-object 48385. https://infra.spec.whatwg.org/#ascii-lowercase 48386. https://html.spec.whatwg.org/#safelisted-scheme 48387. https://infra.spec.whatwg.org/#ascii-lower-alpha 48388. https://webidl.spec.whatwg.org/#securityerror 48389. https://webidl.spec.whatwg.org/#dfn-DOMException 48390. https://webidl.spec.whatwg.org/#syntaxerror 48391. https://webidl.spec.whatwg.org/#dfn-DOMException 48392. https://html.spec.whatwg.org/#encoding-parsing-a-url 48393. https://webidl.spec.whatwg.org/#syntaxerror 48394. https://webidl.spec.whatwg.org/#dfn-DOMException 48395. https://url.spec.whatwg.org/#concept-url-scheme 48396. https://fetch.spec.whatwg.org/#http-scheme 48397. https://url.spec.whatwg.org/#concept-url-origin 48398. https://html.spec.whatwg.org/#same-origin 48399. https://html.spec.whatwg.org/#concept-settings-object-origin 48400. https://webidl.spec.whatwg.org/#securityerror 48401. https://webidl.spec.whatwg.org/#dfn-DOMException 48402. https://infra.spec.whatwg.org/#assert 48403. https://w3c.github.io/webappsec-secure-contexts/#potentially-trustworthy-url 48404. https://html.spec.whatwg.org/#normalize-protocol-handler-parameters 48405. https://html.spec.whatwg.org/#secure-context 48406. https://html.spec.whatwg.org/#same-origin 48407. https://url.spec.whatwg.org/#concept-url-serializer 48408. https://url.spec.whatwg.org/#valid-url-string 48409. https://fetch.spec.whatwg.org/#http-scheme 48410. https://html.spec.whatwg.org/#document 48411. https://html.spec.whatwg.org/#rph-automation-mode-none 48412. https://html.spec.whatwg.org/#rph-automation-mode-auto-accept 48413. https://html.spec.whatwg.org/#rph-automation-mode-auto-reject 48414. https://w3c.github.io/webdriver/#dfn-extension-commands 48415. https://html.spec.whatwg.org/#document 48416. https://w3c.github.io/webdriver/#dfn-remote-end-steps 48417. https://w3c.github.io/webdriver/#dfn-errors 48418. https://w3c.github.io/webdriver/#dfn-error-code 48419. https://w3c.github.io/webdriver/#dfn-invalid-argument 48420. https://w3c.github.io/webdriver/#dfn-getting-properties 48421. https://html.spec.whatwg.org/#rph-automation-mode-auto-accept 48422. https://html.spec.whatwg.org/#rph-automation-mode-auto-reject 48423. https://html.spec.whatwg.org/#rph-automation-mode-none 48424. https://w3c.github.io/webdriver/#dfn-errors 48425. https://w3c.github.io/webdriver/#dfn-error-code 48426. https://w3c.github.io/webdriver/#dfn-invalid-argument 48427. https://w3c.github.io/webdriver/#dfn-current-browsing-context 48428. https://html.spec.whatwg.org/#active-document 48429. https://html.spec.whatwg.org/#registerprotocolhandler()-automation-mode 48430. https://w3c.github.io/webdriver/#dfn-success 48431. https://html.spec.whatwg.org/#dom-navigator-cookieenabled 48432. https://html.spec.whatwg.org/#dom-navigator 48433. https://html.spec.whatwg.org/#dom-navigator-cookieenabled 48434. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/cookieEnabled 48435. https://html.spec.whatwg.org/#refsCOOKIES 48436. https://html.spec.whatwg.org/#dom-navigator 48437. https://html.spec.whatwg.org/#dom-navigator-pdfviewerenabled 48438. https://html.spec.whatwg.org/#navigate 48439. https://html.spec.whatwg.org/#hand-off-to-external-software 48440. https://html.spec.whatwg.org/#pluginarray 48441. https://html.spec.whatwg.org/#dom-navigator-plugins 48442. https://html.spec.whatwg.org/#mimetypearray 48443. https://html.spec.whatwg.org/#dom-navigator-mimetypes 48444. https://html.spec.whatwg.org/#dom-navigator-javaenabled 48445. https://html.spec.whatwg.org/#dom-navigator-pdfviewerenabled 48446. https://webidl.spec.whatwg.org/#LegacyUnenumerableNamedProperties 48447. https://html.spec.whatwg.org/#dom-pluginarray-refresh 48448. https://html.spec.whatwg.org/#dom-pluginarray-length 48449. https://html.spec.whatwg.org/#plugin 48450. https://html.spec.whatwg.org/#dom-pluginarray-item 48451. https://html.spec.whatwg.org/#plugin 48452. https://html.spec.whatwg.org/#dom-pluginarray-nameditem 48453. https://webidl.spec.whatwg.org/#LegacyUnenumerableNamedProperties 48454. https://html.spec.whatwg.org/#dom-mimetypearray-length 48455. https://html.spec.whatwg.org/#mimetype 48456. https://html.spec.whatwg.org/#dom-mimetypearray-item 48457. https://html.spec.whatwg.org/#mimetype 48458. https://html.spec.whatwg.org/#dom-mimetypearray-nameditem 48459. https://webidl.spec.whatwg.org/#LegacyUnenumerableNamedProperties 48460. https://html.spec.whatwg.org/#dom-plugin-name 48461. https://html.spec.whatwg.org/#dom-plugin-description 48462. https://html.spec.whatwg.org/#dom-plugin-filename 48463. https://html.spec.whatwg.org/#dom-plugin-length 48464. https://html.spec.whatwg.org/#mimetype 48465. https://html.spec.whatwg.org/#dom-plugin-item 48466. https://html.spec.whatwg.org/#mimetype 48467. https://html.spec.whatwg.org/#dom-plugin-nameditem 48468. https://html.spec.whatwg.org/#dom-mimetype-type 48469. https://html.spec.whatwg.org/#dom-mimetype-description 48470. https://html.spec.whatwg.org/#dom-mimetype-suffixes 48471. https://html.spec.whatwg.org/#plugin 48472. https://html.spec.whatwg.org/#dom-mimetype-enabledplugin 48473. https://html.spec.whatwg.org/#dom-navigator-pdfviewerenabled 48474. https://infra.spec.whatwg.org/#implementation-defined 48475. https://html.spec.whatwg.org/#navigate 48476. https://html.spec.whatwg.org/#window 48477. https://html.spec.whatwg.org/#pdf-viewer-supported 48478. https://html.spec.whatwg.org/#dom-plugin 48479. https://html.spec.whatwg.org/#concept-plugin-name 48480. https://html.spec.whatwg.org/#dom-mimetype-enabledplugin 48481. https://html.spec.whatwg.org/#window 48482. https://html.spec.whatwg.org/#pdf-viewer-supported 48483. https://html.spec.whatwg.org/#mimetype 48484. https://html.spec.whatwg.org/#concept-mimetype-type 48485. https://html.spec.whatwg.org/#navigatorplugins 48486. https://html.spec.whatwg.org/#pluginarray 48487. https://html.spec.whatwg.org/#mimetypearray 48488. https://html.spec.whatwg.org/#navigatorplugins 48489. https://webidl.spec.whatwg.org/#this 48490. https://html.spec.whatwg.org/#plugins-array 48491. https://html.spec.whatwg.org/#navigatorplugins 48492. https://webidl.spec.whatwg.org/#this 48493. https://html.spec.whatwg.org/#mime-types-array 48494. https://html.spec.whatwg.org/#navigatorplugins 48495. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/pdfViewerEnabled 48496. https://html.spec.whatwg.org/#navigatorplugins 48497. https://html.spec.whatwg.org/#pdf-viewer-supported 48498. https://html.spec.whatwg.org/#pluginarray 48499. https://webidl.spec.whatwg.org/#dfn-support-named-properties 48500. https://html.spec.whatwg.org/#pdf-viewer-supported 48501. https://html.spec.whatwg.org/#pdf-viewer-plugin-names 48502. https://html.spec.whatwg.org/#pluginarray 48503. https://infra.spec.whatwg.org/#list-iterate 48504. https://html.spec.whatwg.org/#dom-plugin 48505. https://webidl.spec.whatwg.org/#this 48506. https://html.spec.whatwg.org/#concept-relevant-global 48507. https://html.spec.whatwg.org/#pdf-viewer-plugin-objects 48508. https://html.spec.whatwg.org/#concept-plugin-name 48509. https://html.spec.whatwg.org/#pluginarray 48510. https://webidl.spec.whatwg.org/#dfn-support-indexed-properties 48511. https://webidl.spec.whatwg.org/#dfn-supported-property-indices 48512. https://infra.spec.whatwg.org/#list-get-the-indices 48513. https://webidl.spec.whatwg.org/#this 48514. https://html.spec.whatwg.org/#concept-relevant-global 48515. https://html.spec.whatwg.org/#pdf-viewer-plugin-objects 48516. https://html.spec.whatwg.org/#pluginarray 48517. https://webidl.spec.whatwg.org/#this 48518. https://html.spec.whatwg.org/#concept-relevant-global 48519. https://html.spec.whatwg.org/#pdf-viewer-plugin-objects 48520. https://infra.spec.whatwg.org/#list-size 48521. https://html.spec.whatwg.org/#pluginarray 48522. https://webidl.spec.whatwg.org/#this 48523. https://html.spec.whatwg.org/#concept-relevant-global 48524. https://html.spec.whatwg.org/#pdf-viewer-plugin-objects 48525. https://infra.spec.whatwg.org/#list-size 48526. https://html.spec.whatwg.org/#pluginarray 48527. https://html.spec.whatwg.org/#mimetypearray 48528. https://webidl.spec.whatwg.org/#dfn-support-named-properties 48529. https://html.spec.whatwg.org/#pdf-viewer-supported 48530. https://html.spec.whatwg.org/#pdf-viewer-mime-types 48531. https://html.spec.whatwg.org/#mimetypearray 48532. https://infra.spec.whatwg.org/#list-iterate 48533. https://html.spec.whatwg.org/#mimetype 48534. https://webidl.spec.whatwg.org/#this 48535. https://html.spec.whatwg.org/#concept-relevant-global 48536. https://html.spec.whatwg.org/#pdf-viewer-mime-type-objects 48537. https://html.spec.whatwg.org/#concept-mimetype-type 48538. https://html.spec.whatwg.org/#mimetypearray 48539. https://webidl.spec.whatwg.org/#dfn-support-indexed-properties 48540. https://webidl.spec.whatwg.org/#dfn-supported-property-indices 48541. https://infra.spec.whatwg.org/#list-get-the-indices 48542. https://webidl.spec.whatwg.org/#this 48543. https://html.spec.whatwg.org/#concept-relevant-global 48544. https://html.spec.whatwg.org/#pdf-viewer-mime-type-objects 48545. https://html.spec.whatwg.org/#mimetypearray 48546. https://webidl.spec.whatwg.org/#this 48547. https://html.spec.whatwg.org/#concept-relevant-global 48548. https://html.spec.whatwg.org/#pdf-viewer-mime-type-objects 48549. https://infra.spec.whatwg.org/#list-size 48550. https://html.spec.whatwg.org/#mimetypearray 48551. https://webidl.spec.whatwg.org/#this 48552. https://html.spec.whatwg.org/#concept-relevant-global 48553. https://html.spec.whatwg.org/#pdf-viewer-mime-type-objects 48554. https://infra.spec.whatwg.org/#list-size 48555. https://html.spec.whatwg.org/#dom-plugin 48556. https://html.spec.whatwg.org/#dom-plugin 48557. https://webidl.spec.whatwg.org/#this 48558. https://html.spec.whatwg.org/#concept-plugin-name 48559. https://html.spec.whatwg.org/#dom-plugin 48560. https://html.spec.whatwg.org/#dom-plugin 48561. https://html.spec.whatwg.org/#dom-plugin 48562. https://webidl.spec.whatwg.org/#dfn-support-named-properties 48563. https://html.spec.whatwg.org/#pdf-viewer-supported 48564. https://html.spec.whatwg.org/#pdf-viewer-mime-types 48565. https://html.spec.whatwg.org/#dom-plugin 48566. https://infra.spec.whatwg.org/#list-iterate 48567. https://html.spec.whatwg.org/#mimetype 48568. https://webidl.spec.whatwg.org/#this 48569. https://html.spec.whatwg.org/#concept-relevant-global 48570. https://html.spec.whatwg.org/#pdf-viewer-mime-type-objects 48571. https://html.spec.whatwg.org/#concept-mimetype-type 48572. https://html.spec.whatwg.org/#dom-plugin 48573. https://webidl.spec.whatwg.org/#dfn-support-indexed-properties 48574. https://webidl.spec.whatwg.org/#dfn-supported-property-indices 48575. https://infra.spec.whatwg.org/#list-get-the-indices 48576. https://webidl.spec.whatwg.org/#this 48577. https://html.spec.whatwg.org/#concept-relevant-global 48578. https://html.spec.whatwg.org/#pdf-viewer-mime-type-objects 48579. https://html.spec.whatwg.org/#dom-plugin 48580. https://webidl.spec.whatwg.org/#this 48581. https://html.spec.whatwg.org/#concept-relevant-global 48582. https://html.spec.whatwg.org/#pdf-viewer-mime-type-objects 48583. https://infra.spec.whatwg.org/#list-size 48584. https://html.spec.whatwg.org/#dom-plugin 48585. https://webidl.spec.whatwg.org/#this 48586. https://html.spec.whatwg.org/#concept-relevant-global 48587. https://html.spec.whatwg.org/#pdf-viewer-mime-type-objects 48588. https://infra.spec.whatwg.org/#list-size 48589. https://html.spec.whatwg.org/#mimetype 48590. https://html.spec.whatwg.org/#mimetype 48591. https://webidl.spec.whatwg.org/#this 48592. https://html.spec.whatwg.org/#concept-mimetype-type 48593. https://html.spec.whatwg.org/#mimetype 48594. https://html.spec.whatwg.org/#mimetype 48595. https://html.spec.whatwg.org/#mimetype 48596. https://webidl.spec.whatwg.org/#this 48597. https://html.spec.whatwg.org/#concept-relevant-global 48598. https://html.spec.whatwg.org/#pdf-viewer-plugin-objects 48599. https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap 48600. https://html.spec.whatwg.org/#serializable 48601. https://html.spec.whatwg.org/#transferable 48602. https://html.spec.whatwg.org/#dom-imagebitmap-width 48603. https://html.spec.whatwg.org/#dom-imagebitmap-height 48604. https://html.spec.whatwg.org/#dom-imagebitmap-close 48605. https://html.spec.whatwg.org/#canvasimagesource 48606. https://w3c.github.io/FileAPI/#dfn-Blob 48607. https://html.spec.whatwg.org/#imagedata 48608. https://html.spec.whatwg.org/#dom-imageorientation-from-image 48609. https://html.spec.whatwg.org/#dom-imageorientation-flipy 48610. https://html.spec.whatwg.org/#dom-premultiplyalpha-none 48611. https://html.spec.whatwg.org/#dom-premultiplyalpha-premultiply 48612. https://html.spec.whatwg.org/#dom-premultiplyalpha-default 48613. https://html.spec.whatwg.org/#dom-colorspaceconversion-none 48614. https://html.spec.whatwg.org/#dom-colorspaceconversion-default 48615. https://html.spec.whatwg.org/#dom-resizequality-pixelated 48616. https://html.spec.whatwg.org/#dom-resizequality-low 48617. https://html.spec.whatwg.org/#dom-resizequality-medium 48618. https://html.spec.whatwg.org/#dom-resizequality-high 48619. https://html.spec.whatwg.org/#imageorientation 48620. https://html.spec.whatwg.org/#dom-imagebitmapoptions-imageorientation 48621. https://html.spec.whatwg.org/#dom-imageorientation-from-image 48622. https://html.spec.whatwg.org/#premultiplyalpha 48623. https://html.spec.whatwg.org/#dom-imagebitmapoptions-premultiplyalpha 48624. https://html.spec.whatwg.org/#dom-premultiplyalpha-default 48625. https://html.spec.whatwg.org/#colorspaceconversion 48626. https://html.spec.whatwg.org/#dom-imagebitmapoptions-colorspaceconversion 48627. https://html.spec.whatwg.org/#dom-colorspaceconversion-default 48628. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizewidth 48629. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizeheight 48630. https://html.spec.whatwg.org/#resizequality 48631. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizequality 48632. https://html.spec.whatwg.org/#dom-resizequality-low 48633. https://html.spec.whatwg.org/#imagebitmap 48634. https://html.spec.whatwg.org/#dom-createimagebitmap 48635. https://developer.mozilla.org/en-US/docs/Web/API/createImageBitmap 48636. https://html.spec.whatwg.org/#dom-createimagebitmap 48637. https://html.spec.whatwg.org/#the-img-element 48638. https://svgwg.org/svg2-draft/embedded.html#ImageElement 48639. https://html.spec.whatwg.org/#the-video-element 48640. https://html.spec.whatwg.org/#the-canvas-element 48641. https://w3c.github.io/FileAPI/#dfn-Blob 48642. https://html.spec.whatwg.org/#imagedata 48643. https://html.spec.whatwg.org/#imagebitmap 48644. https://html.spec.whatwg.org/#imagebitmap 48645. https://html.spec.whatwg.org/#imagebitmap 48646. https://drafts.csswg.org/css-color/#transparent-black 48647. https://drafts.csswg.org/css-values/#px 48648. https://html.spec.whatwg.org/#imagebitmap 48649. https://html.spec.whatwg.org/#dom-imagebitmapoptions-premultiplyalpha 48650. https://html.spec.whatwg.org/#dom-premultiplyalpha-premultiply 48651. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48652. https://html.spec.whatwg.org/#concept-premultiplied-alpha 48653. https://webidl.spec.whatwg.org/#invalidstateerror 48654. https://webidl.spec.whatwg.org/#dfn-DOMException 48655. https://html.spec.whatwg.org/#the-img-element 48656. https://html.spec.whatwg.org/#imagebitmap 48657. https://html.spec.whatwg.org/#detached 48658. https://html.spec.whatwg.org/#imagedata 48659. https://html.spec.whatwg.org/#dom-imagedata-data 48660. https://w3c.github.io/FileAPI/#dfn-Blob 48661. https://webidl.spec.whatwg.org/#securityerror 48662. https://webidl.spec.whatwg.org/#dfn-DOMException 48663. https://html.spec.whatwg.org/#the-video-element 48664. https://html.spec.whatwg.org/#cors-cross-origin 48665. https://html.spec.whatwg.org/#the-canvas-element 48666. https://html.spec.whatwg.org/#concept-origin 48667. https://html.spec.whatwg.org/#dom-imagebitmap-close 48668. https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap/close 48669. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48670. https://html.spec.whatwg.org/#dom-imagebitmap-width 48671. https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap/width 48672. https://drafts.csswg.org/css-images/#natural-width 48673. https://drafts.csswg.org/css-values/#px 48674. https://html.spec.whatwg.org/#dom-imagebitmap-height 48675. https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap/height 48676. https://drafts.csswg.org/css-images/#natural-height 48677. https://drafts.csswg.org/css-values/#px 48678. https://html.spec.whatwg.org/#imagebitmap 48679. https://html.spec.whatwg.org/#detached 48680. https://html.spec.whatwg.org/#imagebitmap 48681. https://html.spec.whatwg.org/#imagebitmap 48682. https://html.spec.whatwg.org/#concept-canvas-origin-clean 48683. https://html.spec.whatwg.org/#concept-origin 48684. https://html.spec.whatwg.org/#dom-createimagebitmap 48685. https://html.spec.whatwg.org/#imagebitmap 48686. https://html.spec.whatwg.org/#serializable-objects 48687. https://html.spec.whatwg.org/#transferable-objects 48688. https://html.spec.whatwg.org/#serialization-steps 48689. https://html.spec.whatwg.org/#concept-canvas-origin-clean 48690. https://webidl.spec.whatwg.org/#datacloneerror 48691. https://webidl.spec.whatwg.org/#dfn-DOMException 48692. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48693. https://html.spec.whatwg.org/#deserialization-steps 48694. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48695. https://html.spec.whatwg.org/#transfer-steps 48696. https://html.spec.whatwg.org/#concept-canvas-origin-clean 48697. https://webidl.spec.whatwg.org/#datacloneerror 48698. https://webidl.spec.whatwg.org/#dfn-DOMException 48699. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48700. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48701. https://html.spec.whatwg.org/#transfer-receiving-steps 48702. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48703. https://webidl.spec.whatwg.org/#a-promise-rejected-with 48704. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-rangeerror 48705. https://webidl.spec.whatwg.org/#a-promise-rejected-with 48706. https://webidl.spec.whatwg.org/#invalidstateerror 48707. https://webidl.spec.whatwg.org/#dfn-DOMException 48708. https://html.spec.whatwg.org/#check-the-usability-of-the-image-argument 48709. https://webidl.spec.whatwg.org/#a-promise-rejected-with 48710. https://webidl.spec.whatwg.org/#invalidstateerror 48711. https://webidl.spec.whatwg.org/#dfn-DOMException 48712. https://html.spec.whatwg.org/#imagebitmap 48713. https://html.spec.whatwg.org/#the-img-element 48714. https://svgwg.org/svg2-draft/embedded.html#ImageElement 48715. https://drafts.csswg.org/css-images/#natural-dimensions 48716. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizewidth 48717. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizeheight 48718. https://webidl.spec.whatwg.org/#a-promise-rejected-with 48719. https://webidl.spec.whatwg.org/#invalidstateerror 48720. https://webidl.spec.whatwg.org/#dfn-DOMException 48721. https://drafts.csswg.org/css-images/#natural-dimensions 48722. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizewidth 48723. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizeheight 48724. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48725. https://html.spec.whatwg.org/#cropped-to-the-source-rectangle-with-formatting 48726. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48727. https://html.spec.whatwg.org/#the-image-argument-is-not-origin-clean 48728. https://html.spec.whatwg.org/#concept-canvas-origin-clean 48729. https://html.spec.whatwg.org/#in-parallel 48730. https://html.spec.whatwg.org/#the-video-element 48731. https://html.spec.whatwg.org/#dom-media-networkstate 48732. https://html.spec.whatwg.org/#dom-media-network_empty 48733. https://webidl.spec.whatwg.org/#a-promise-rejected-with 48734. https://webidl.spec.whatwg.org/#invalidstateerror 48735. https://webidl.spec.whatwg.org/#dfn-DOMException 48736. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48737. https://html.spec.whatwg.org/#current-playback-position 48738. https://html.spec.whatwg.org/#media-resource 48739. https://html.spec.whatwg.org/#concept-video-intrinsic-width 48740. https://html.spec.whatwg.org/#concept-video-intrinsic-height 48741. https://html.spec.whatwg.org/#cropped-to-the-source-rectangle-with-formatting 48742. https://html.spec.whatwg.org/#the-image-argument-is-not-origin-clean 48743. https://html.spec.whatwg.org/#concept-canvas-origin-clean 48744. https://html.spec.whatwg.org/#in-parallel 48745. https://html.spec.whatwg.org/#the-canvas-element 48746. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48747. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48748. https://html.spec.whatwg.org/#cropped-to-the-source-rectangle-with-formatting 48749. https://html.spec.whatwg.org/#concept-canvas-origin-clean 48750. https://html.spec.whatwg.org/#concept-canvas-origin-clean 48751. https://html.spec.whatwg.org/#in-parallel 48752. https://w3c.github.io/FileAPI/#dfn-Blob 48753. https://html.spec.whatwg.org/#in-parallel 48754. https://html.spec.whatwg.org/#file-error-read 48755. https://webidl.spec.whatwg.org/#invalidstateerror 48756. https://webidl.spec.whatwg.org/#dfn-DOMException 48757. https://mimesniff.spec.whatwg.org/#rules-for-sniffing-images-specifically 48758. https://w3c.github.io/FileAPI/#dfn-type 48759. https://webidl.spec.whatwg.org/#invalidstateerror 48760. https://webidl.spec.whatwg.org/#dfn-DOMException 48761. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48762. https://html.spec.whatwg.org/#cropped-to-the-source-rectangle-with-formatting 48763. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48764. https://html.spec.whatwg.org/#imagedata 48765. https://html.spec.whatwg.org/#dom-imagedata-data 48766. https://tc39.es/ecma262/#sec-isdetachedbuffer 48767. https://webidl.spec.whatwg.org/#a-promise-rejected-with 48768. https://webidl.spec.whatwg.org/#invalidstateerror 48769. https://webidl.spec.whatwg.org/#dfn-DOMException 48770. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48771. https://html.spec.whatwg.org/#cropped-to-the-source-rectangle-with-formatting 48772. https://html.spec.whatwg.org/#in-parallel 48773. https://html.spec.whatwg.org/#imagebitmap 48774. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48775. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48776. https://html.spec.whatwg.org/#cropped-to-the-source-rectangle-with-formatting 48777. https://html.spec.whatwg.org/#concept-canvas-origin-clean 48778. https://html.spec.whatwg.org/#concept-canvas-origin-clean 48779. https://html.spec.whatwg.org/#in-parallel 48780. https://w3c.github.io/webcodecs/#videoframe-interface 48781. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48782. https://html.spec.whatwg.org/#cropped-to-the-source-rectangle-with-formatting 48783. https://html.spec.whatwg.org/#in-parallel 48784. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48785. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizewidth 48786. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizewidth 48787. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizewidth 48788. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizeheight 48789. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizeheight 48790. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizewidth 48791. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizeheight 48792. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizeheight 48793. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizeheight 48794. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizeheight 48795. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizewidth 48796. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizewidth 48797. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizewidth 48798. https://html.spec.whatwg.org/#dom-imagebitmapoptions-resizeheight 48799. https://drafts.csswg.org/css-color/#transparent-black 48800. https://html.spec.whatwg.org/#refsEXIF 48801. https://html.spec.whatwg.org/#dom-imageorientation-from-image 48802. https://html.spec.whatwg.org/#dom-imagebitmapoptions-imageorientation-none 48803. https://html.spec.whatwg.org/#the-img-element 48804. https://w3c.github.io/FileAPI/#dfn-Blob 48805. https://html.spec.whatwg.org/#convert-to-premultiplied 48806. https://html.spec.whatwg.org/#convert-from-premultiplied 48807. https://webidl.spec.whatwg.org/#this 48808. https://html.spec.whatwg.org/#detached 48809. https://webidl.spec.whatwg.org/#this 48810. https://html.spec.whatwg.org/#concept-imagebitmap-bitmap-data 48811. https://webidl.spec.whatwg.org/#this 48812. https://html.spec.whatwg.org/#detached 48813. https://webidl.spec.whatwg.org/#this 48814. https://drafts.csswg.org/css-values/#px 48815. https://webidl.spec.whatwg.org/#this 48816. https://html.spec.whatwg.org/#detached 48817. https://webidl.spec.whatwg.org/#this 48818. https://drafts.csswg.org/css-values/#px 48819. https://html.spec.whatwg.org/#resizequality 48820. https://html.spec.whatwg.org/#dom-resizequality-pixelated 48821. https://html.spec.whatwg.org/#dom-resizequality-pixelated 48822. https://html.spec.whatwg.org/#animationframeprovider 48823. https://w3c.github.io/hr-time/#dom-domhighrestimestamp 48824. https://html.spec.whatwg.org/#dom-animationframeprovider-requestanimationframe 48825. https://html.spec.whatwg.org/#framerequestcallback 48826. https://html.spec.whatwg.org/#animationframeprovider-cancelanimationframe 48827. https://html.spec.whatwg.org/#window 48828. https://html.spec.whatwg.org/#animationframeprovider 48829. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 48830. https://html.spec.whatwg.org/#animationframeprovider 48831. https://html.spec.whatwg.org/#animationframeprovider 48832. https://html.spec.whatwg.org/#animationframeprovider 48833. https://html.spec.whatwg.org/#window 48834. https://html.spec.whatwg.org/#window 48835. https://html.spec.whatwg.org/#concept-document-window 48836. https://html.spec.whatwg.org/#animationframeprovider 48837. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 48838. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 48839. https://html.spec.whatwg.org/#concept-animationframeprovider-target-object 48840. https://infra.spec.whatwg.org/#ordered-map 48841. https://html.spec.whatwg.org/#animationframeprovider 48842. https://html.spec.whatwg.org/#window 48843. https://html.spec.whatwg.org/#concept-WorkerGlobalScope-owner-set 48844. https://infra.spec.whatwg.org/#list-contain 48845. https://html.spec.whatwg.org/#document 48846. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 48847. https://html.spec.whatwg.org/#concept-WorkerGlobalScope-owner-set 48848. https://html.spec.whatwg.org/#concept-animationframeprovider-supported 48849. https://developer.mozilla.org/en-US/docs/Web/API/Window/requestAnimationFrame 48850. https://webidl.spec.whatwg.org/#this 48851. https://html.spec.whatwg.org/#concept-animationframeprovider-supported 48852. https://webidl.spec.whatwg.org/#notsupportederror 48853. https://webidl.spec.whatwg.org/#dfn-DOMException 48854. https://webidl.spec.whatwg.org/#this 48855. https://html.spec.whatwg.org/#concept-animationframeprovider-target-object 48856. https://html.spec.whatwg.org/#animation-frame-callback-identifier 48857. https://html.spec.whatwg.org/#list-of-animation-frame-callbacks 48858. https://infra.spec.whatwg.org/#map-set 48859. https://developer.mozilla.org/en-US/docs/Web/API/Window/cancelAnimationFrame 48860. https://webidl.spec.whatwg.org/#this 48861. https://html.spec.whatwg.org/#concept-animationframeprovider-supported 48862. https://webidl.spec.whatwg.org/#notsupportederror 48863. https://webidl.spec.whatwg.org/#dfn-DOMException 48864. https://webidl.spec.whatwg.org/#this 48865. https://html.spec.whatwg.org/#concept-animationframeprovider-target-object 48866. https://html.spec.whatwg.org/#list-of-animation-frame-callbacks 48867. https://infra.spec.whatwg.org/#map-remove 48868. https://html.spec.whatwg.org/#concept-animationframeprovider-target-object 48869. https://html.spec.whatwg.org/#list-of-animation-frame-callbacks 48870. https://infra.spec.whatwg.org/#map-getting-the-keys 48871. https://infra.spec.whatwg.org/#list-iterate 48872. https://infra.spec.whatwg.org/#map-exists 48873. https://infra.spec.whatwg.org/#map-remove 48874. https://webidl.spec.whatwg.org/#invoke-a-callback-function 48875. https://html.spec.whatwg.org/#dom-animationframeprovider-requestanimationframe 48876. https://html.spec.whatwg.org/#offscreencanvas 48877. https://html.spec.whatwg.org/#the-canvas-element 48878. https://websockets.spec.whatwg.org/#websocket 48879. https://html.spec.whatwg.org/#refsWEBSOCKETS 48880. https://html.spec.whatwg.org/#messageevent 48881. https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent 48882. https://html.spec.whatwg.org/#server-sent-events 48883. https://html.spec.whatwg.org/#web-messaging 48884. https://html.spec.whatwg.org/#channel-messaging 48885. https://html.spec.whatwg.org/#broadcasting-to-other-browsing-contexts 48886. https://html.spec.whatwg.org/#messageevent 48887. https://html.spec.whatwg.org/#event-message 48888. https://html.spec.whatwg.org/#refsWEBSOCKETS 48889. https://dom.spec.whatwg.org/#interface-event 48890. https://dom.spec.whatwg.org/#concept-event-constructor 48891. https://html.spec.whatwg.org/#messageeventinit 48892. https://html.spec.whatwg.org/#dom-messageevent-data 48893. https://html.spec.whatwg.org/#dom-messageevent-origin 48894. https://html.spec.whatwg.org/#dom-messageevent-lasteventid 48895. https://html.spec.whatwg.org/#messageeventsource 48896. https://html.spec.whatwg.org/#dom-messageevent-source 48897. https://html.spec.whatwg.org/#messageport 48898. https://html.spec.whatwg.org/#dom-messageevent-ports 48899. https://html.spec.whatwg.org/#dom-messageevent-initmessageevent 48900. https://html.spec.whatwg.org/#messageeventsource 48901. https://html.spec.whatwg.org/#messageport 48902. https://dom.spec.whatwg.org/#dictdef-eventinit 48903. https://html.spec.whatwg.org/#messageeventsource 48904. https://html.spec.whatwg.org/#messageport 48905. https://html.spec.whatwg.org/#windowproxy 48906. https://html.spec.whatwg.org/#messageport 48907. https://w3c.github.io/ServiceWorker/#serviceworker 48908. https://html.spec.whatwg.org/#dom-messageevent-data 48909. https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent/data 48910. https://html.spec.whatwg.org/#dom-messageevent-origin 48911. https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent/origin 48912. https://html.spec.whatwg.org/#server-sent-events 48913. https://html.spec.whatwg.org/#web-messaging 48914. https://html.spec.whatwg.org/#dom-messageevent-lasteventid 48915. https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent/lastEventId 48916. https://html.spec.whatwg.org/#concept-event-stream-last-event-id 48917. https://html.spec.whatwg.org/#server-sent-events 48918. https://html.spec.whatwg.org/#dom-messageevent-source 48919. https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent/source 48920. https://html.spec.whatwg.org/#windowproxy 48921. https://html.spec.whatwg.org/#web-messaging 48922. https://html.spec.whatwg.org/#messageport 48923. https://html.spec.whatwg.org/#event-workerglobalscope-connect 48924. https://html.spec.whatwg.org/#sharedworkerglobalscope 48925. https://html.spec.whatwg.org/#dom-messageevent-ports 48926. https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent/ports 48927. https://html.spec.whatwg.org/#messageport 48928. https://html.spec.whatwg.org/#web-messaging 48929. https://html.spec.whatwg.org/#channel-messaging 48930. https://html.spec.whatwg.org/#server-sent-events 48931. https://html.spec.whatwg.org/#web-messaging 48932. https://dom.spec.whatwg.org/#concept-document-origin 48933. https://url.spec.whatwg.org/#concept-url-fragment 48934. https://html.spec.whatwg.org/#server-sent-events 48935. https://html.spec.whatwg.org/#concept-event-stream-last-event-id 48936. https://html.spec.whatwg.org/#web-messaging 48937. https://html.spec.whatwg.org/#windowproxy 48938. https://html.spec.whatwg.org/#browsing-context 48939. https://html.spec.whatwg.org/#window 48940. https://html.spec.whatwg.org/#event-workerglobalscope-connect 48941. https://html.spec.whatwg.org/#sharedworkerglobalscope 48942. https://html.spec.whatwg.org/#messageport 48943. https://html.spec.whatwg.org/#web-messaging 48944. https://html.spec.whatwg.org/#channel-messaging 48945. https://html.spec.whatwg.org/#messageport 48946. https://dom.spec.whatwg.org/#dom-event-initevent 48947. https://html.spec.whatwg.org/#refsDOM 48948. https://websockets.spec.whatwg.org/#websocket 48949. https://html.spec.whatwg.org/#eventsource 48950. https://html.spec.whatwg.org/#messageevent 48951. https://html.spec.whatwg.org/#event-message 48952. https://html.spec.whatwg.org/#messageport 48953. https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events 48954. https://html.spec.whatwg.org/#eventsource 48955. https://html.spec.whatwg.org/#eventsource 48956. https://html.spec.whatwg.org/#text/event-stream 48957. https://xhr.spec.whatwg.org/#xmlhttprequest 48958. https://html.spec.whatwg.org/#the-iframe-element 48959. https://html.spec.whatwg.org/#eventsource-push 48960. https://html.spec.whatwg.org/#eventsource 48961. https://developer.mozilla.org/en-US/docs/Web/API/EventSource 48962. https://dom.spec.whatwg.org/#interface-eventtarget 48963. https://html.spec.whatwg.org/#dom-eventsource 48964. https://html.spec.whatwg.org/#eventsourceinit 48965. https://html.spec.whatwg.org/#dom-eventsource-url 48966. https://html.spec.whatwg.org/#dom-eventsource-withcredentials 48967. https://html.spec.whatwg.org/#dom-eventsource-connecting 48968. https://html.spec.whatwg.org/#dom-eventsource-open 48969. https://html.spec.whatwg.org/#dom-eventsource-closed 48970. https://html.spec.whatwg.org/#dom-eventsource-readystate 48971. https://html.spec.whatwg.org/#eventhandler 48972. https://html.spec.whatwg.org/#handler-eventsource-onopen 48973. https://html.spec.whatwg.org/#eventhandler 48974. https://html.spec.whatwg.org/#handler-eventsource-onmessage 48975. https://html.spec.whatwg.org/#eventhandler 48976. https://html.spec.whatwg.org/#handler-eventsource-onerror 48977. https://html.spec.whatwg.org/#dom-eventsource-close 48978. https://html.spec.whatwg.org/#eventsource 48979. https://url.spec.whatwg.org/#concept-url 48980. https://infra.spec.whatwg.org/#implementation-defined 48981. https://html.spec.whatwg.org/#concept-eventsource-url 48982. https://html.spec.whatwg.org/#eventsource 48983. https://html.spec.whatwg.org/#dom-eventsource 48984. https://html.spec.whatwg.org/#dom-eventsourceinit-withcredentials 48985. https://developer.mozilla.org/en-US/docs/Web/API/EventSource/EventSource 48986. https://html.spec.whatwg.org/#eventsource 48987. https://url.spec.whatwg.org/#concept-url 48988. https://html.spec.whatwg.org/#dom-eventsourceinit-withcredentials 48989. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 48990. https://html.spec.whatwg.org/#dom-eventsource-close 48991. https://developer.mozilla.org/en-US/docs/Web/API/EventSource/close 48992. https://fetch.spec.whatwg.org/#concept-fetch 48993. https://html.spec.whatwg.org/#eventsource 48994. https://html.spec.whatwg.org/#dom-eventsource-readystate 48995. https://html.spec.whatwg.org/#dom-eventsource-closed 48996. https://html.spec.whatwg.org/#dom-eventsource-url 48997. https://developer.mozilla.org/en-US/docs/Web/API/EventSource/url 48998. https://html.spec.whatwg.org/#concept-eventsource-url 48999. https://html.spec.whatwg.org/#dom-eventsource-withcredentials 49000. https://developer.mozilla.org/en-US/docs/Web/API/EventSource/withCredentials 49001. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 49002. https://html.spec.whatwg.org/#concept-eventsource-url 49003. https://html.spec.whatwg.org/#dom-eventsource-readystate 49004. https://developer.mozilla.org/en-US/docs/Web/API/EventSource/readyState 49005. https://html.spec.whatwg.org/#eventsource 49006. https://html.spec.whatwg.org/#eventsource 49007. https://html.spec.whatwg.org/#relevant-settings-object 49008. https://html.spec.whatwg.org/#encoding-parsing-a-url 49009. https://webidl.spec.whatwg.org/#syntaxerror 49010. https://webidl.spec.whatwg.org/#dfn-DOMException 49011. https://html.spec.whatwg.org/#concept-eventsource-url 49012. https://html.spec.whatwg.org/#attr-crossorigin-anonymous 49013. https://html.spec.whatwg.org/#dom-eventsourceinit-withcredentials 49014. https://html.spec.whatwg.org/#attr-crossorigin-use-credentials 49015. https://html.spec.whatwg.org/#dom-eventsource-withcredentials 49016. https://html.spec.whatwg.org/#create-a-potential-cors-request 49017. https://fetch.spec.whatwg.org/#concept-request-client 49018. https://fetch.spec.whatwg.org/#concept-header-list-set 49019. https://httpwg.org/specs/rfc7231.html#header.accept 49020. https://html.spec.whatwg.org/#text/event-stream 49021. https://fetch.spec.whatwg.org/#concept-request-header-list 49022. https://fetch.spec.whatwg.org/#concept-request-cache-mode 49023. https://fetch.spec.whatwg.org/#request-initiator-type 49024. https://html.spec.whatwg.org/#concept-event-stream-request 49025. https://fetch.spec.whatwg.org/#concept-response 49026. https://fetch.spec.whatwg.org/#concept-network-error 49027. https://html.spec.whatwg.org/#reestablish-the-connection 49028. https://fetch.spec.whatwg.org/#concept-fetch 49029. https://fetch.spec.whatwg.org/#fetch-processresponseendofbody 49030. https://fetch.spec.whatwg.org/#process-response 49031. https://fetch.spec.whatwg.org/#concept-response 49032. https://fetch.spec.whatwg.org/#concept-aborted-network-error 49033. https://html.spec.whatwg.org/#fail-the-connection 49034. https://fetch.spec.whatwg.org/#concept-network-error 49035. https://html.spec.whatwg.org/#reestablish-the-connection 49036. https://html.spec.whatwg.org/#fail-the-connection 49037. https://fetch.spec.whatwg.org/#concept-response-status 49038. https://html.spec.whatwg.org/#content-type 49039. https://html.spec.whatwg.org/#text/event-stream 49040. https://html.spec.whatwg.org/#fail-the-connection 49041. https://html.spec.whatwg.org/#announce-the-connection 49042. https://html.spec.whatwg.org/#event-stream-interpretation 49043. https://fetch.spec.whatwg.org/#concept-response-body 49044. https://url.spec.whatwg.org/#concept-url-serializer 49045. https://html.spec.whatwg.org/#eventsource 49046. https://html.spec.whatwg.org/#concept-eventsource-url 49047. https://html.spec.whatwg.org/#dom-eventsource-close 49048. https://html.spec.whatwg.org/#dom-eventsource-readystate 49049. https://html.spec.whatwg.org/#dom-eventsource-connecting 49050. https://fetch.spec.whatwg.org/#concept-fetch 49051. https://html.spec.whatwg.org/#eventsource 49052. https://html.spec.whatwg.org/#dom-eventsource-readystate 49053. https://html.spec.whatwg.org/#dom-eventsource-closed 49054. https://html.spec.whatwg.org/#event-handlers 49055. https://html.spec.whatwg.org/#event-handler-event-type 49056. https://html.spec.whatwg.org/#event-handler-idl-attributes 49057. https://html.spec.whatwg.org/#eventsource 49058. https://html.spec.whatwg.org/#event-handlers 49059. https://html.spec.whatwg.org/#event-handler-event-type 49060. https://developer.mozilla.org/en-US/docs/Web/API/EventSource/open_event 49061. https://html.spec.whatwg.org/#event-open 49062. https://developer.mozilla.org/en-US/docs/Web/API/EventSource/message_event 49063. https://html.spec.whatwg.org/#event-message 49064. https://developer.mozilla.org/en-US/docs/Web/API/EventSource/error_event 49065. https://html.spec.whatwg.org/#event-error 49066. https://html.spec.whatwg.org/#queue-a-task 49067. https://html.spec.whatwg.org/#dom-eventsource-readystate 49068. https://html.spec.whatwg.org/#dom-eventsource-closed 49069. https://html.spec.whatwg.org/#dom-eventsource-readystate 49070. https://html.spec.whatwg.org/#dom-eventsource-open 49071. https://dom.spec.whatwg.org/#concept-event-fire 49072. https://html.spec.whatwg.org/#event-open 49073. https://html.spec.whatwg.org/#eventsource 49074. https://html.spec.whatwg.org/#in-parallel 49075. https://html.spec.whatwg.org/#concept-task 49076. https://html.spec.whatwg.org/#in-parallel 49077. https://html.spec.whatwg.org/#queue-a-task 49078. https://html.spec.whatwg.org/#dom-eventsource-readystate 49079. https://html.spec.whatwg.org/#dom-eventsource-closed 49080. https://html.spec.whatwg.org/#dom-eventsource-readystate 49081. https://html.spec.whatwg.org/#dom-eventsource-connecting 49082. https://dom.spec.whatwg.org/#concept-event-fire 49083. https://html.spec.whatwg.org/#event-error 49084. https://html.spec.whatwg.org/#eventsource 49085. https://html.spec.whatwg.org/#queue-a-task 49086. https://html.spec.whatwg.org/#eventsource 49087. https://html.spec.whatwg.org/#dom-eventsource-readystate 49088. https://html.spec.whatwg.org/#dom-eventsource-connecting 49089. https://html.spec.whatwg.org/#eventsource 49090. https://html.spec.whatwg.org/#concept-event-stream-request 49091. https://html.spec.whatwg.org/#eventsource 49092. https://html.spec.whatwg.org/#concept-event-stream-last-event-id 49093. https://html.spec.whatwg.org/#eventsource 49094. https://html.spec.whatwg.org/#concept-event-stream-last-event-id 49095. https://encoding.spec.whatwg.org/#utf-8-encode 49096. https://fetch.spec.whatwg.org/#concept-header-list-set 49097. https://html.spec.whatwg.org/#last-event-id 49098. https://fetch.spec.whatwg.org/#concept-request-header-list 49099. https://fetch.spec.whatwg.org/#concept-fetch 49100. https://html.spec.whatwg.org/#queue-a-task 49101. https://html.spec.whatwg.org/#dom-eventsource-readystate 49102. https://html.spec.whatwg.org/#dom-eventsource-closed 49103. https://html.spec.whatwg.org/#dom-eventsource-readystate 49104. https://html.spec.whatwg.org/#dom-eventsource-closed 49105. https://dom.spec.whatwg.org/#concept-event-fire 49106. https://html.spec.whatwg.org/#event-error 49107. https://html.spec.whatwg.org/#eventsource 49108. https://html.spec.whatwg.org/#fail-the-connection 49109. https://html.spec.whatwg.org/#task-source 49110. https://html.spec.whatwg.org/#concept-task 49111. https://html.spec.whatwg.org/#queue-a-task 49112. https://html.spec.whatwg.org/#eventsource 49113. https://html.spec.whatwg.org/#last-event-id 49114. https://html.spec.whatwg.org/#eventsource 49115. https://html.spec.whatwg.org/#concept-event-stream-last-event-id 49116. https://html.spec.whatwg.org/#reestablish-the-connection 49117. https://github.com/whatwg/html/issues/7363 49118. https://mimesniff.spec.whatwg.org/#mime-type 49119. https://html.spec.whatwg.org/#text/event-stream 49120. https://html.spec.whatwg.org/#refsABNF 49121. https://infra.spec.whatwg.org/#scalar-value 49122. https://infra.spec.whatwg.org/#scalar-value 49123. https://html.spec.whatwg.org/#refsENCODING 49124. https://encoding.spec.whatwg.org/#utf-8-decode 49125. https://encoding.spec.whatwg.org/#utf-8-decode 49126. https://html.spec.whatwg.org/#dispatchMessage 49127. https://html.spec.whatwg.org/#processField 49128. https://html.spec.whatwg.org/#processField 49129. https://infra.spec.whatwg.org/#ascii-digit 49130. https://html.spec.whatwg.org/#concept-event-stream-reconnection-time 49131. https://html.spec.whatwg.org/#dispatchMessage 49132. https://html.spec.whatwg.org/#concept-event-stream-last-event-id 49133. https://html.spec.whatwg.org/#concept-event-stream-last-event-id 49134. https://dom.spec.whatwg.org/#concept-event-create 49135. https://html.spec.whatwg.org/#messageevent 49136. https://html.spec.whatwg.org/#concept-relevant-realm 49137. https://html.spec.whatwg.org/#eventsource 49138. https://dom.spec.whatwg.org/#dom-event-type 49139. https://html.spec.whatwg.org/#event-message 49140. https://html.spec.whatwg.org/#dom-messageevent-data 49141. https://html.spec.whatwg.org/#dom-messageevent-origin 49142. https://html.spec.whatwg.org/#ascii-serialisation-of-an-origin 49143. https://url.spec.whatwg.org/#concept-url-origin 49144. https://html.spec.whatwg.org/#dom-messageevent-lasteventid 49145. https://html.spec.whatwg.org/#concept-event-stream-last-event-id 49146. https://dom.spec.whatwg.org/#dom-event-type 49147. https://html.spec.whatwg.org/#queue-a-task 49148. https://html.spec.whatwg.org/#dom-eventsource-readystate 49149. https://html.spec.whatwg.org/#dom-eventsource-closed 49150. https://dom.spec.whatwg.org/#concept-event-dispatch 49151. https://html.spec.whatwg.org/#eventsource 49152. https://html.spec.whatwg.org/#concept-event-stream-last-event-id 49153. https://html.spec.whatwg.org/#dom-messageevent-lasteventid 49154. https://html.spec.whatwg.org/#dispatchMessage 49155. https://html.spec.whatwg.org/#event-message 49156. https://html.spec.whatwg.org/#messageevent 49157. https://html.spec.whatwg.org/#eventsource 49158. https://html.spec.whatwg.org/#dom-messageevent-data 49159. https://html.spec.whatwg.org/#last-event-id 49160. https://html.spec.whatwg.org/#last-event-id 49161. https://html.spec.whatwg.org/#eventsource 49162. https://html.spec.whatwg.org/#eventsource 49163. https://html.spec.whatwg.org/#eventsource 49164. https://html.spec.whatwg.org/#sharedworkerglobalscope 49165. https://html.spec.whatwg.org/#dom-eventsource 49166. https://html.spec.whatwg.org/#dom-eventsource 49167. https://html.spec.whatwg.org/#last-event-id 49168. https://html.spec.whatwg.org/#text/event-stream 49169. https://html.spec.whatwg.org/#other-applicable-specifications 49170. https://html.spec.whatwg.org/#eventsource 49171. https://html.spec.whatwg.org/#dom-eventsource-readystate 49172. https://html.spec.whatwg.org/#dom-eventsource-connecting 49173. https://html.spec.whatwg.org/#event-open 49174. https://html.spec.whatwg.org/#event-message 49175. https://html.spec.whatwg.org/#event-error 49176. https://html.spec.whatwg.org/#window 49177. https://html.spec.whatwg.org/#workerglobalscope 49178. https://html.spec.whatwg.org/#eventsource 49179. https://html.spec.whatwg.org/#eventsource 49180. https://html.spec.whatwg.org/#eventsource 49181. https://html.spec.whatwg.org/#dom-eventsource-readystate 49182. https://html.spec.whatwg.org/#dom-eventsource-open 49183. https://html.spec.whatwg.org/#event-message 49184. https://html.spec.whatwg.org/#event-error 49185. https://html.spec.whatwg.org/#window 49186. https://html.spec.whatwg.org/#workerglobalscope 49187. https://html.spec.whatwg.org/#eventsource 49188. https://html.spec.whatwg.org/#eventsource 49189. https://html.spec.whatwg.org/#eventsource 49190. https://html.spec.whatwg.org/#remote-event-task-source 49191. https://html.spec.whatwg.org/#window 49192. https://html.spec.whatwg.org/#workerglobalscope 49193. https://html.spec.whatwg.org/#eventsource 49194. https://html.spec.whatwg.org/#eventsource 49195. https://html.spec.whatwg.org/#eventsource 49196. https://html.spec.whatwg.org/#document 49197. https://fetch.spec.whatwg.org/#concept-fetch 49198. https://html.spec.whatwg.org/#eventsource 49199. https://html.spec.whatwg.org/#dom-eventsource-readystate 49200. https://html.spec.whatwg.org/#dom-eventsource-closed 49201. https://html.spec.whatwg.org/#eventsource 49202. https://fetch.spec.whatwg.org/#concept-fetch 49203. https://html.spec.whatwg.org/#eventsource 49204. https://html.spec.whatwg.org/#eventsource 49205. https://html.spec.whatwg.org/#eventsource 49206. https://html.spec.whatwg.org/#event-error 49207. https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage 49208. https://html.spec.whatwg.org/#dom-window-postmessage 49209. https://infra.spec.whatwg.org/#tracking-vector 49210. https://html.spec.whatwg.org/#the-iframe-element 49211. https://html.spec.whatwg.org/#dom-window-postmessage 49212. https://html.spec.whatwg.org/#window 49213. https://html.spec.whatwg.org/#window 49214. https://html.spec.whatwg.org/#dom-messageevent-origin 49215. https://html.spec.whatwg.org/#dom-messageevent-origin 49216. https://html.spec.whatwg.org/#dom-window-postmessage 49217. https://html.spec.whatwg.org/#concept-origin 49218. https://html.spec.whatwg.org/#same-origin 49219. https://html.spec.whatwg.org/#concept-origin 49220. https://html.spec.whatwg.org/#dom-window-postmessage-options 49221. https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage 49222. https://tc39.es/ecma262/#sec-date-objects 49223. https://w3c.github.io/FileAPI/#dfn-file 49224. https://w3c.github.io/FileAPI/#dfn-Blob 49225. https://w3c.github.io/FileAPI/#filelist-section 49226. https://webidl.spec.whatwg.org/#idl-ArrayBuffer 49227. https://html.spec.whatwg.org/#dom-structuredserializeoptions-transfer 49228. https://html.spec.whatwg.org/#dom-windowpostmessageoptions-targetorigin 49229. https://webidl.spec.whatwg.org/#datacloneerror 49230. https://webidl.spec.whatwg.org/#dfn-DOMException 49231. https://html.spec.whatwg.org/#dom-window-postmessage 49232. https://html.spec.whatwg.org/#dom-window-postmessage-options 49233. https://html.spec.whatwg.org/#window 49234. https://html.spec.whatwg.org/#browsing-context 49235. https://html.spec.whatwg.org/#document 49236. https://html.spec.whatwg.org/#browsing-context 49237. https://html.spec.whatwg.org/#window 49238. https://html.spec.whatwg.org/#the-iframe-element 49239. https://html.spec.whatwg.org/#document 49240. https://html.spec.whatwg.org/#concept-global-object-realm 49241. https://html.spec.whatwg.org/#incumbent-settings-object 49242. https://html.spec.whatwg.org/#dom-windowpostmessageoptions-targetorigin 49243. https://html.spec.whatwg.org/#concept-settings-object-origin 49244. https://url.spec.whatwg.org/#concept-url-parser 49245. https://webidl.spec.whatwg.org/#syntaxerror 49246. https://webidl.spec.whatwg.org/#dfn-DOMException 49247. https://url.spec.whatwg.org/#concept-url-origin 49248. https://html.spec.whatwg.org/#dom-structuredserializeoptions-transfer 49249. https://html.spec.whatwg.org/#structuredserializewithtransfer 49250. https://html.spec.whatwg.org/#queue-a-global-task 49251. https://html.spec.whatwg.org/#concept-document-window 49252. https://dom.spec.whatwg.org/#concept-document-origin 49253. https://html.spec.whatwg.org/#same-origin 49254. https://html.spec.whatwg.org/#ascii-serialisation-of-an-origin 49255. https://html.spec.whatwg.org/#concept-settings-object-origin 49256. https://html.spec.whatwg.org/#windowproxy 49257. https://html.spec.whatwg.org/#concept-settings-object-global 49258. https://html.spec.whatwg.org/#window 49259. https://html.spec.whatwg.org/#structureddeserializewithtransfer 49260. https://dom.spec.whatwg.org/#concept-event-fire 49261. https://html.spec.whatwg.org/#event-messageerror 49262. https://html.spec.whatwg.org/#messageevent 49263. https://html.spec.whatwg.org/#dom-messageevent-origin 49264. https://html.spec.whatwg.org/#dom-messageevent-source 49265. https://webidl.spec.whatwg.org/#dfn-frozen-array-type 49266. https://html.spec.whatwg.org/#messageport 49267. https://dom.spec.whatwg.org/#concept-event-fire 49268. https://html.spec.whatwg.org/#event-message 49269. https://html.spec.whatwg.org/#messageevent 49270. https://html.spec.whatwg.org/#dom-messageevent-origin 49271. https://html.spec.whatwg.org/#dom-messageevent-source 49272. https://html.spec.whatwg.org/#dom-messageevent-data 49273. https://html.spec.whatwg.org/#dom-messageevent-ports 49274. https://html.spec.whatwg.org/#window 49275. https://html.spec.whatwg.org/#window-post-message-steps 49276. https://webidl.spec.whatwg.org/#this 49277. https://html.spec.whatwg.org/#window 49278. https://html.spec.whatwg.org/#window-post-message-steps 49279. https://webidl.spec.whatwg.org/#this 49280. https://html.spec.whatwg.org/#dom-windowpostmessageoptions-targetorigin 49281. https://html.spec.whatwg.org/#dom-structuredserializeoptions-transfer 49282. https://developer.mozilla.org/en-US/docs/Web/API/Channel_Messaging_API 49283. https://developer.mozilla.org/en-US/docs/Web/API/Channel_Messaging_API/Using_channel_messaging 49284. https://html.spec.whatwg.org/#browsing-context 49285. https://html.spec.whatwg.org/#channel-messaging 49286. https://html.spec.whatwg.org/#concept-task 49287. https://html.spec.whatwg.org/#dom-window-postmessage 49288. https://html.spec.whatwg.org/#dom-messageport-postmessage 49289. https://html.spec.whatwg.org/#event-message 49290. https://html.spec.whatwg.org/#messageport 49291. https://html.spec.whatwg.org/#messageport 49292. https://html.spec.whatwg.org/#worker 49293. https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener 49294. https://html.spec.whatwg.org/#dom-messageport-start 49295. https://html.spec.whatwg.org/#handler-messageeventtarget-onmessage 49296. https://html.spec.whatwg.org/#dom-messageport-start 49297. https://html.spec.whatwg.org/#dom-messageport-start 49298. https://html.spec.whatwg.org/#handler-messageeventtarget-onmessage 49299. https://html.spec.whatwg.org/#the-iframe-element 49300. https://html.spec.whatwg.org/#the-iframe-element 49301. https://html.spec.whatwg.org/#the-iframe-element 49302. https://html.spec.whatwg.org/#the-iframe-element 49303. https://html.spec.whatwg.org/#navigate 49304. https://html.spec.whatwg.org/#the-iframe-element 49305. https://url.spec.whatwg.org/#concept-url 49306. https://url.spec.whatwg.org/#concept-url 49307. https://url.spec.whatwg.org/#concept-url-fragment 49308. https://html.spec.whatwg.org/#window 49309. https://html.spec.whatwg.org/#the-iframe-element 49310. https://html.spec.whatwg.org/#event-hashchange 49311. https://html.spec.whatwg.org/#the-iframe-element 49312. https://html.spec.whatwg.org/#window 49313. https://html.spec.whatwg.org/#the-iframe-element 49314. https://drafts.csswg.org/cssom-view/#eventdef-window-resize 49315. https://html.spec.whatwg.org/#event-message 49316. https://html.spec.whatwg.org/#window 49317. https://html.spec.whatwg.org/#the-iframe-element 49318. https://html.spec.whatwg.org/#dom-window-postmessage 49319. https://html.spec.whatwg.org/#messageport 49320. https://html.spec.whatwg.org/#messageport 49321. https://xhr.spec.whatwg.org/#xmlhttprequest 49322. https://html.spec.whatwg.org/#the-iframe-element 49323. https://html.spec.whatwg.org/#sharedworker 49324. https://websockets.spec.whatwg.org/#websocket 49325. https://html.spec.whatwg.org/#messageport 49326. https://xhr.spec.whatwg.org/#xmlhttprequest 49327. https://html.spec.whatwg.org/#the-iframe-element 49328. https://websockets.spec.whatwg.org/#websocket 49329. https://developer.mozilla.org/en-US/docs/Web/API/MessageChannel 49330. https://html.spec.whatwg.org/#dom-messagechannel 49331. https://html.spec.whatwg.org/#messageport 49332. https://html.spec.whatwg.org/#dom-messagechannel-port1 49333. https://html.spec.whatwg.org/#messageport 49334. https://html.spec.whatwg.org/#dom-messagechannel-port2 49335. https://html.spec.whatwg.org/#dom-messagechannel 49336. https://developer.mozilla.org/en-US/docs/Web/API/MessageChannel/MessageChannel 49337. https://html.spec.whatwg.org/#messagechannel 49338. https://html.spec.whatwg.org/#messageport 49339. https://html.spec.whatwg.org/#dom-messagechannel-port1 49340. https://developer.mozilla.org/en-US/docs/Web/API/MessageChannel/port1 49341. https://html.spec.whatwg.org/#messageport 49342. https://html.spec.whatwg.org/#dom-messagechannel-port2 49343. https://developer.mozilla.org/en-US/docs/Web/API/MessageChannel/port2 49344. https://html.spec.whatwg.org/#messageport 49345. https://html.spec.whatwg.org/#messagechannel 49346. https://html.spec.whatwg.org/#messageport 49347. https://webidl.spec.whatwg.org/#this 49348. https://html.spec.whatwg.org/#port-1 49349. https://webidl.spec.whatwg.org/#new 49350. https://html.spec.whatwg.org/#messageport 49351. https://webidl.spec.whatwg.org/#this 49352. https://html.spec.whatwg.org/#concept-relevant-realm 49353. https://webidl.spec.whatwg.org/#this 49354. https://html.spec.whatwg.org/#port-2 49355. https://webidl.spec.whatwg.org/#new 49356. https://html.spec.whatwg.org/#messageport 49357. https://webidl.spec.whatwg.org/#this 49358. https://html.spec.whatwg.org/#concept-relevant-realm 49359. https://html.spec.whatwg.org/#entangle 49360. https://webidl.spec.whatwg.org/#this 49361. https://html.spec.whatwg.org/#port-1 49362. https://webidl.spec.whatwg.org/#this 49363. https://html.spec.whatwg.org/#port-2 49364. https://webidl.spec.whatwg.org/#this 49365. https://html.spec.whatwg.org/#port-1 49366. https://webidl.spec.whatwg.org/#this 49367. https://html.spec.whatwg.org/#port-2 49368. https://html.spec.whatwg.org/#messageeventtarget 49369. https://html.spec.whatwg.org/#eventhandler 49370. https://html.spec.whatwg.org/#handler-messageeventtarget-onmessage 49371. https://html.spec.whatwg.org/#eventhandler 49372. https://html.spec.whatwg.org/#handler-messageeventtarget-onmessageerror 49373. https://html.spec.whatwg.org/#event-handlers 49374. https://html.spec.whatwg.org/#event-handler-event-type 49375. https://html.spec.whatwg.org/#event-handler-idl-attributes 49376. https://html.spec.whatwg.org/#messageeventtarget 49377. https://html.spec.whatwg.org/#event-handlers 49378. https://html.spec.whatwg.org/#event-handler-event-type 49379. https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/message_event 49380. https://developer.mozilla.org/en-US/docs/Web/API/DedicatedWorkerGlobalScope/message_event 49381. https://html.spec.whatwg.org/#event-message 49382. https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/messageerror_event 49383. https://developer.mozilla.org/en-US/docs/Web/API/DedicatedWorkerGlobalScope/messageerror_event 49384. https://html.spec.whatwg.org/#event-messageerror 49385. https://developer.mozilla.org/en-US/docs/Web/API/MessagePort 49386. https://html.spec.whatwg.org/#transferable 49387. https://dom.spec.whatwg.org/#interface-eventtarget 49388. https://html.spec.whatwg.org/#dom-messageport-postmessage 49389. https://webidl.spec.whatwg.org/#idl-object 49390. https://html.spec.whatwg.org/#dom-messageport-postmessage-options 49391. https://html.spec.whatwg.org/#structuredserializeoptions 49392. https://html.spec.whatwg.org/#dom-messageport-start 49393. https://html.spec.whatwg.org/#dom-messageport-close 49394. https://html.spec.whatwg.org/#eventhandler 49395. https://html.spec.whatwg.org/#handler-messageport-onclose 49396. https://html.spec.whatwg.org/#messageport 49397. https://html.spec.whatwg.org/#messageeventtarget 49398. https://webidl.spec.whatwg.org/#idl-object 49399. https://html.spec.whatwg.org/#dom-messageport-postmessage 49400. https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/postMessage 49401. https://html.spec.whatwg.org/#dom-messageport-postmessage-options 49402. https://webidl.spec.whatwg.org/#datacloneerror 49403. https://webidl.spec.whatwg.org/#dfn-DOMException 49404. https://html.spec.whatwg.org/#dom-messageport-start 49405. https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/start 49406. https://html.spec.whatwg.org/#dom-messageport-close 49407. https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/close 49408. https://html.spec.whatwg.org/#messageport 49409. https://html.spec.whatwg.org/#messageeventtarget 49410. https://html.spec.whatwg.org/#event-message 49411. https://html.spec.whatwg.org/#event-messageerror 49412. https://html.spec.whatwg.org/#messageport 49413. https://html.spec.whatwg.org/#messageport 49414. https://html.spec.whatwg.org/#messageport 49415. https://html.spec.whatwg.org/#task-source 49416. https://html.spec.whatwg.org/#port-message-queue 49417. https://html.spec.whatwg.org/#messageport 49418. https://html.spec.whatwg.org/#port-message-queue 49419. https://html.spec.whatwg.org/#event-loop 49420. https://html.spec.whatwg.org/#task-source 49421. https://html.spec.whatwg.org/#concept-relevant-global 49422. https://html.spec.whatwg.org/#window 49423. https://html.spec.whatwg.org/#concept-task 49424. https://html.spec.whatwg.org/#queue-a-task 49425. https://html.spec.whatwg.org/#port-message-queue 49426. https://html.spec.whatwg.org/#concept-relevant-global 49427. https://html.spec.whatwg.org/#concept-document-window 49428. https://html.spec.whatwg.org/#fully-active 49429. https://html.spec.whatwg.org/#fully-active 49430. https://html.spec.whatwg.org/#fully-active 49431. https://html.spec.whatwg.org/#event-loop 49432. https://html.spec.whatwg.org/#task-source 49433. https://html.spec.whatwg.org/#task-source 49434. https://html.spec.whatwg.org/#concept-task 49435. https://html.spec.whatwg.org/#port-message-queue 49436. https://html.spec.whatwg.org/#messageport 49437. https://html.spec.whatwg.org/#has-been-shipped 49438. https://html.spec.whatwg.org/#port-message-queue 49439. https://html.spec.whatwg.org/#relevant-agent 49440. https://html.spec.whatwg.org/#concept-agent-event-loop 49441. https://html.spec.whatwg.org/#event-loop 49442. https://html.spec.whatwg.org/#task-source 49443. https://html.spec.whatwg.org/#concept-task 49444. https://html.spec.whatwg.org/#unshipped-port-message-queue 49445. https://html.spec.whatwg.org/#port-message-queue 49446. https://html.spec.whatwg.org/#messageport 49447. https://html.spec.whatwg.org/#has-been-shipped 49448. https://html.spec.whatwg.org/#port-message-queue 49449. https://html.spec.whatwg.org/#event-loop 49450. https://html.spec.whatwg.org/#unshipped-port-message-queue 49451. https://html.spec.whatwg.org/#has-been-shipped 49452. https://html.spec.whatwg.org/#messageport 49453. https://html.spec.whatwg.org/#has-been-shipped 49454. https://html.spec.whatwg.org/#port-message-queue 49455. https://html.spec.whatwg.org/#task-source 49456. https://html.spec.whatwg.org/#unshipped-port-message-queue 49457. https://html.spec.whatwg.org/#messageport 49458. https://html.spec.whatwg.org/#messagechannel 49459. https://html.spec.whatwg.org/#messagechannel 49460. https://html.spec.whatwg.org/#messagechannel 49461. https://html.spec.whatwg.org/#messageport 49462. https://html.spec.whatwg.org/#messageport 49463. https://infra.spec.whatwg.org/#assert 49464. https://dom.spec.whatwg.org/#concept-event-fire 49465. https://html.spec.whatwg.org/#event-close 49466. https://html.spec.whatwg.org/#event-close 49467. https://html.spec.whatwg.org/#dom-messageport-close 49468. https://html.spec.whatwg.org/#document 49469. https://html.spec.whatwg.org/#destroy-a-document 49470. https://html.spec.whatwg.org/#messageport 49471. https://html.spec.whatwg.org/#ports-and-garbage-collection 49472. https://html.spec.whatwg.org/#document 49473. https://html.spec.whatwg.org/#messageport 49474. https://html.spec.whatwg.org/#transferable-objects 49475. https://html.spec.whatwg.org/#transfer-steps 49476. https://html.spec.whatwg.org/#has-been-shipped 49477. https://html.spec.whatwg.org/#port-message-queue 49478. https://html.spec.whatwg.org/#has-been-shipped 49479. https://html.spec.whatwg.org/#transfer-receiving-steps 49480. https://html.spec.whatwg.org/#has-been-shipped 49481. https://html.spec.whatwg.org/#concept-task 49482. https://html.spec.whatwg.org/#event-message 49483. https://html.spec.whatwg.org/#port-message-queue 49484. https://html.spec.whatwg.org/#port-message-queue 49485. https://html.spec.whatwg.org/#concept-relevant-global 49486. https://html.spec.whatwg.org/#window 49487. https://html.spec.whatwg.org/#concept-task 49488. https://html.spec.whatwg.org/#concept-relevant-global 49489. https://html.spec.whatwg.org/#concept-document-window 49490. https://html.spec.whatwg.org/#entangle 49491. https://html.spec.whatwg.org/#dom-structuredserializeoptions-transfer 49492. https://infra.spec.whatwg.org/#list-contain 49493. https://webidl.spec.whatwg.org/#datacloneerror 49494. https://webidl.spec.whatwg.org/#dfn-DOMException 49495. https://infra.spec.whatwg.org/#list-contain 49496. https://html.spec.whatwg.org/#structuredserializewithtransfer 49497. https://html.spec.whatwg.org/#concept-task 49498. https://html.spec.whatwg.org/#port-message-queue 49499. https://html.spec.whatwg.org/#messageport 49500. https://html.spec.whatwg.org/#port-message-queue 49501. https://html.spec.whatwg.org/#message-event-target 49502. https://html.spec.whatwg.org/#concept-relevant-realm 49503. https://html.spec.whatwg.org/#structureddeserializewithtransfer 49504. https://dom.spec.whatwg.org/#concept-event-fire 49505. https://html.spec.whatwg.org/#event-messageerror 49506. https://html.spec.whatwg.org/#messageevent 49507. https://webidl.spec.whatwg.org/#dfn-frozen-array-type 49508. https://html.spec.whatwg.org/#messageport 49509. https://dom.spec.whatwg.org/#concept-event-fire 49510. https://html.spec.whatwg.org/#event-message 49511. https://html.spec.whatwg.org/#messageevent 49512. https://html.spec.whatwg.org/#dom-messageevent-data 49513. https://html.spec.whatwg.org/#dom-messageevent-ports 49514. https://webidl.spec.whatwg.org/#this 49515. https://html.spec.whatwg.org/#message-port-post-message-steps 49516. https://webidl.spec.whatwg.org/#this 49517. https://webidl.spec.whatwg.org/#this 49518. https://html.spec.whatwg.org/#dom-structuredserializeoptions-transfer 49519. https://html.spec.whatwg.org/#message-port-post-message-steps 49520. https://webidl.spec.whatwg.org/#this 49521. https://webidl.spec.whatwg.org/#this 49522. https://html.spec.whatwg.org/#port-message-queue 49523. https://webidl.spec.whatwg.org/#this 49524. https://html.spec.whatwg.org/#detached 49525. https://webidl.spec.whatwg.org/#this 49526. https://html.spec.whatwg.org/#disentangle 49527. https://html.spec.whatwg.org/#event-handlers 49528. https://html.spec.whatwg.org/#event-handler-event-type 49529. https://html.spec.whatwg.org/#event-handler-idl-attributes 49530. https://html.spec.whatwg.org/#messageport 49531. https://html.spec.whatwg.org/#event-handlers 49532. https://html.spec.whatwg.org/#event-handler-event-type 49533. https://html.spec.whatwg.org/#event-close 49534. https://html.spec.whatwg.org/#messageport 49535. https://html.spec.whatwg.org/#handler-messageeventtarget-onmessage 49536. https://html.spec.whatwg.org/#port-message-queue 49537. https://html.spec.whatwg.org/#dom-messageport-start 49538. https://html.spec.whatwg.org/#messageport 49539. https://html.spec.whatwg.org/#disentangle 49540. https://html.spec.whatwg.org/#messageport 49541. https://html.spec.whatwg.org/#event-message 49542. https://html.spec.whatwg.org/#event-messageerror 49543. https://html.spec.whatwg.org/#messageport 49544. https://html.spec.whatwg.org/#messageport 49545. https://html.spec.whatwg.org/#concept-task 49546. https://html.spec.whatwg.org/#task-queue 49547. https://html.spec.whatwg.org/#messageport 49548. https://html.spec.whatwg.org/#messageport 49549. https://html.spec.whatwg.org/#port-message-queue 49550. https://html.spec.whatwg.org/#messageport 49551. https://html.spec.whatwg.org/#messageport 49552. https://html.spec.whatwg.org/#messageport 49553. https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel 49554. https://developer.mozilla.org/en-US/docs/Web/API/Broadcast_Channel_API 49555. https://html.spec.whatwg.org/#concept-origin 49556. https://html.spec.whatwg.org/#browsing-context 49557. https://websockets.spec.whatwg.org/#websocket 49558. https://html.spec.whatwg.org/#sharedworker 49559. https://dom.spec.whatwg.org/#interface-eventtarget 49560. https://html.spec.whatwg.org/#dom-broadcastchannel 49561. https://html.spec.whatwg.org/#dom-broadcastchannel-name 49562. https://html.spec.whatwg.org/#dom-broadcastchannel-postmessage 49563. https://html.spec.whatwg.org/#dom-broadcastchannel-close 49564. https://html.spec.whatwg.org/#eventhandler 49565. https://html.spec.whatwg.org/#handler-broadcastchannel-onmessage 49566. https://html.spec.whatwg.org/#eventhandler 49567. https://html.spec.whatwg.org/#handler-broadcastchannel-onmessageerror 49568. https://html.spec.whatwg.org/#dom-broadcastchannel 49569. https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel/BroadcastChannel 49570. https://html.spec.whatwg.org/#broadcastchannel 49571. https://html.spec.whatwg.org/#dom-broadcastchannel-name 49572. https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel/name 49573. https://html.spec.whatwg.org/#dom-broadcastchannel-postmessage 49574. https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel/postMessage 49575. https://html.spec.whatwg.org/#broadcastchannel 49576. https://html.spec.whatwg.org/#dom-broadcastchannel-close 49577. https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel/close 49578. https://html.spec.whatwg.org/#broadcastchannel 49579. https://html.spec.whatwg.org/#broadcastchannel 49580. https://webidl.spec.whatwg.org/#this 49581. https://html.spec.whatwg.org/#channel-name 49582. https://webidl.spec.whatwg.org/#this 49583. https://html.spec.whatwg.org/#concept-broadcastchannel-closed 49584. https://webidl.spec.whatwg.org/#this 49585. https://html.spec.whatwg.org/#channel-name 49586. https://html.spec.whatwg.org/#broadcastchannel 49587. https://html.spec.whatwg.org/#concept-relevant-global 49588. https://html.spec.whatwg.org/#window 49589. https://html.spec.whatwg.org/#concept-document-window 49590. https://html.spec.whatwg.org/#fully-active 49591. https://html.spec.whatwg.org/#workerglobalscope 49592. https://html.spec.whatwg.org/#dom-workerglobalscope-closing 49593. https://html.spec.whatwg.org/#worker 49594. https://html.spec.whatwg.org/#suspendable-worker 49595. https://webidl.spec.whatwg.org/#this 49596. https://html.spec.whatwg.org/#eligible-for-messaging 49597. https://webidl.spec.whatwg.org/#this 49598. https://html.spec.whatwg.org/#concept-broadcastchannel-closed 49599. https://webidl.spec.whatwg.org/#invalidstateerror 49600. https://webidl.spec.whatwg.org/#dfn-DOMException 49601. https://html.spec.whatwg.org/#structuredserialize 49602. https://webidl.spec.whatwg.org/#this 49603. https://html.spec.whatwg.org/#relevant-settings-object 49604. https://html.spec.whatwg.org/#concept-settings-object-origin 49605. https://storage.spec.whatwg.org/#obtain-a-storage-key-for-non-storage-purposes 49606. https://webidl.spec.whatwg.org/#this 49607. https://html.spec.whatwg.org/#relevant-settings-object 49608. https://html.spec.whatwg.org/#broadcastchannel 49609. https://html.spec.whatwg.org/#eligible-for-messaging 49610. https://storage.spec.whatwg.org/#obtain-a-storage-key-for-non-storage-purposes 49611. https://html.spec.whatwg.org/#relevant-settings-object 49612. https://storage.spec.whatwg.org/#storage-key-equal 49613. https://html.spec.whatwg.org/#channel-name 49614. https://infra.spec.whatwg.org/#string-is 49615. https://webidl.spec.whatwg.org/#this 49616. https://html.spec.whatwg.org/#channel-name 49617. https://html.spec.whatwg.org/#broadcastchannel 49618. https://html.spec.whatwg.org/#relevant-agent 49619. https://infra.spec.whatwg.org/#implementation-defined 49620. https://html.spec.whatwg.org/#queue-a-global-task 49621. https://html.spec.whatwg.org/#dom-manipulation-task-source 49622. https://html.spec.whatwg.org/#concept-relevant-global 49623. https://html.spec.whatwg.org/#concept-broadcastchannel-closed 49624. https://html.spec.whatwg.org/#concept-relevant-realm 49625. https://html.spec.whatwg.org/#structureddeserialize 49626. https://dom.spec.whatwg.org/#concept-event-fire 49627. https://html.spec.whatwg.org/#event-messageerror 49628. https://html.spec.whatwg.org/#messageevent 49629. https://html.spec.whatwg.org/#dom-messageevent-origin 49630. https://html.spec.whatwg.org/#ascii-serialisation-of-an-origin 49631. https://dom.spec.whatwg.org/#concept-event-fire 49632. https://html.spec.whatwg.org/#event-message 49633. https://html.spec.whatwg.org/#messageevent 49634. https://html.spec.whatwg.org/#dom-messageevent-data 49635. https://html.spec.whatwg.org/#dom-messageevent-origin 49636. https://html.spec.whatwg.org/#ascii-serialisation-of-an-origin 49637. https://html.spec.whatwg.org/#broadcastchannel 49638. https://html.spec.whatwg.org/#concept-broadcastchannel-closed 49639. https://html.spec.whatwg.org/#event-message 49640. https://html.spec.whatwg.org/#event-messageerror 49641. https://html.spec.whatwg.org/#broadcastchannel 49642. https://html.spec.whatwg.org/#concept-relevant-global 49643. https://html.spec.whatwg.org/#broadcastchannel 49644. https://webidl.spec.whatwg.org/#this 49645. https://html.spec.whatwg.org/#concept-broadcastchannel-closed 49646. https://html.spec.whatwg.org/#broadcastchannel 49647. https://html.spec.whatwg.org/#broadcastchannel 49648. https://html.spec.whatwg.org/#event-handlers 49649. https://html.spec.whatwg.org/#event-handler-event-type 49650. https://html.spec.whatwg.org/#event-handler-idl-attributes 49651. https://html.spec.whatwg.org/#broadcastchannel 49652. https://html.spec.whatwg.org/#event-handlers 49653. https://html.spec.whatwg.org/#event-handler-event-type 49654. https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel/message_event 49655. https://html.spec.whatwg.org/#event-message 49656. https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel/messageerror_event 49657. https://html.spec.whatwg.org/#event-messageerror 49658. https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API 49659. https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers 49660. https://html.spec.whatwg.org/#dom-worker 49661. https://html.spec.whatwg.org/#worker 49662. https://html.spec.whatwg.org/#handler-messageeventtarget-onmessage 49663. https://html.spec.whatwg.org/#dom-dedicatedworkerglobalscope-postmessage 49664. https://html.spec.whatwg.org/demos/workers/primes/page.html 49665. https://html.spec.whatwg.org/#classic-script 49666. https://html.spec.whatwg.org/#module-script 49667. https://html.spec.whatwg.org/#dom-workerglobalscope-importscripts 49668. https://html.spec.whatwg.org/demos/workers/modules/page.html 49669. https://developer.mozilla.org/en-US/docs/Web/API/SharedWorker 49670. https://html.spec.whatwg.org/demos/workers/shared/001/test.html 49671. https://html.spec.whatwg.org/#event-handler-idl-attributes 49672. https://html.spec.whatwg.org/demos/workers/shared/002/test.html 49673. https://html.spec.whatwg.org/#the-iframe-element 49674. https://html.spec.whatwg.org/#top-level-traversable 49675. https://html.spec.whatwg.org/demos/workers/shared/003/test.html 49676. https://html.spec.whatwg.org/#handler-sharedworkerglobalscope-onconnect 49677. https://html.spec.whatwg.org/demos/workers/multiviewer/page.html 49678. https://html.spec.whatwg.org/demos/workers/multicore/page.html 49679. https://html.spec.whatwg.org/demos/workers/crypto/page.html 49680. https://html.spec.whatwg.org/#dom-worker 49681. https://html.spec.whatwg.org/#module-script 49682. https://html.spec.whatwg.org/#classic-script 49683. https://html.spec.whatwg.org/#messageport 49684. https://html.spec.whatwg.org/#handler-messageeventtarget-onmessage 49685. https://html.spec.whatwg.org/#event-handler-idl-attributes 49686. https://html.spec.whatwg.org/#worker 49687. https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener 49688. https://html.spec.whatwg.org/#messageport 49689. https://html.spec.whatwg.org/#port-message-queue 49690. https://html.spec.whatwg.org/#messageport 49691. https://html.spec.whatwg.org/#dom-messageport-start 49692. https://html.spec.whatwg.org/#worker 49693. https://html.spec.whatwg.org/#dom-worker-postmessage 49694. https://webidl.spec.whatwg.org/#idl-ArrayBuffer 49695. https://html.spec.whatwg.org/#handler-messageeventtarget-onmessage 49696. https://html.spec.whatwg.org/#event-handler-idl-attributes 49697. https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener 49698. https://html.spec.whatwg.org/#dom-messageevent-data 49699. https://html.spec.whatwg.org/#dom-dedicatedworkerglobalscope-postmessage 49700. https://developer.mozilla.org/en-US/docs/Web/API/SharedWorker 49701. https://html.spec.whatwg.org/#concept-origin 49702. https://html.spec.whatwg.org/#dom-sharedworker 49703. https://html.spec.whatwg.org/#messageport 49704. https://html.spec.whatwg.org/#dom-sharedworker 49705. https://html.spec.whatwg.org/#dom-sharedworker-port 49706. https://html.spec.whatwg.org/#event-workerglobalscope-connect 49707. https://html.spec.whatwg.org/#dom-messageevent-source 49708. https://html.spec.whatwg.org/#concept-origin 49709. https://html.spec.whatwg.org/#refsSW 49710. https://html.spec.whatwg.org/#workerglobalscope 49711. https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope 49712. https://dom.spec.whatwg.org/#interface-eventtarget 49713. https://html.spec.whatwg.org/#workerglobalscope 49714. https://html.spec.whatwg.org/#dom-workerglobalscope-self 49715. https://html.spec.whatwg.org/#workerlocation 49716. https://html.spec.whatwg.org/#dom-workerglobalscope-location 49717. https://html.spec.whatwg.org/#workernavigator 49718. https://html.spec.whatwg.org/#dom-worker-navigator 49719. https://html.spec.whatwg.org/#dom-workerglobalscope-importscripts 49720. https://w3c.github.io/trusted-types/dist/spec/#trustedscripturl 49721. https://html.spec.whatwg.org/#onerroreventhandler 49722. https://html.spec.whatwg.org/#handler-workerglobalscope-onerror 49723. https://html.spec.whatwg.org/#eventhandler 49724. https://html.spec.whatwg.org/#handler-workerglobalscope-onlanguagechange 49725. https://html.spec.whatwg.org/#eventhandler 49726. https://html.spec.whatwg.org/#handler-workerglobalscope-onoffline 49727. https://html.spec.whatwg.org/#eventhandler 49728. https://html.spec.whatwg.org/#handler-workerglobalscope-ononline 49729. https://html.spec.whatwg.org/#eventhandler 49730. https://html.spec.whatwg.org/#handler-workerglobalscope-onrejectionhandled 49731. https://html.spec.whatwg.org/#eventhandler 49732. https://html.spec.whatwg.org/#handler-workerglobalscope-onunhandledrejection 49733. https://html.spec.whatwg.org/#workerglobalscope 49734. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 49735. https://html.spec.whatwg.org/#sharedworkerglobalscope 49736. https://w3c.github.io/ServiceWorker/#serviceworkerglobalscope 49737. https://html.spec.whatwg.org/#workerglobalscope 49738. https://infra.spec.whatwg.org/#ordered-set 49739. https://html.spec.whatwg.org/#document 49740. https://html.spec.whatwg.org/#workerglobalscope 49741. https://infra.spec.whatwg.org/#ordered-set 49742. https://html.spec.whatwg.org/#sharedworkerglobalscope 49743. https://html.spec.whatwg.org/#workerglobalscope 49744. https://html.spec.whatwg.org/#workerglobalscope 49745. https://url.spec.whatwg.org/#concept-url 49746. https://html.spec.whatwg.org/#workerglobalscope 49747. https://html.spec.whatwg.org/#concept-workerglobalscope-name 49748. https://html.spec.whatwg.org/#workerglobalscope 49749. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 49750. https://html.spec.whatwg.org/#sharedworkerglobalscope 49751. https://html.spec.whatwg.org/#dom-sharedworker 49752. https://w3c.github.io/ServiceWorker/#serviceworkerglobalscope 49753. https://html.spec.whatwg.org/#workerglobalscope 49754. https://html.spec.whatwg.org/#policy-container 49755. https://html.spec.whatwg.org/#policy-container 49756. https://html.spec.whatwg.org/#workerglobalscope 49757. https://html.spec.whatwg.org/#embedder-policy 49758. https://html.spec.whatwg.org/#workerglobalscope 49759. https://html.spec.whatwg.org/#module-map 49760. https://html.spec.whatwg.org/#workerglobalscope 49761. https://html.spec.whatwg.org/#dom-workerglobalscope-self 49762. https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/self 49763. https://html.spec.whatwg.org/#dom-workerglobalscope-location 49764. https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/location 49765. https://html.spec.whatwg.org/#workerlocation 49766. https://html.spec.whatwg.org/#dom-worker-navigator 49767. https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/navigator 49768. https://html.spec.whatwg.org/#workernavigator 49769. https://html.spec.whatwg.org/#dom-workerglobalscope-importscripts 49770. https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/importScripts 49771. https://url.spec.whatwg.org/#concept-url 49772. https://html.spec.whatwg.org/#workerglobalscope 49773. https://html.spec.whatwg.org/#workerlocation 49774. https://html.spec.whatwg.org/#concept-workerlocation-workerglobalscope 49775. https://html.spec.whatwg.org/#workerglobalscope 49776. https://html.spec.whatwg.org/#workerlocation 49777. https://html.spec.whatwg.org/#workerglobalscope 49778. https://html.spec.whatwg.org/#event-handlers 49779. https://html.spec.whatwg.org/#event-handler-event-type 49780. https://html.spec.whatwg.org/#event-handler-idl-attributes 49781. https://html.spec.whatwg.org/#workerglobalscope 49782. https://html.spec.whatwg.org/#event-handlers 49783. https://html.spec.whatwg.org/#event-handler-event-type 49784. https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/error_event 49785. https://html.spec.whatwg.org/#event-error 49786. https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/languagechange_event 49787. https://html.spec.whatwg.org/#event-languagechange 49788. https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/offline_event 49789. https://html.spec.whatwg.org/#event-offline 49790. https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/online_event 49791. https://html.spec.whatwg.org/#event-online 49792. https://html.spec.whatwg.org/#event-rejectionhandled 49793. https://html.spec.whatwg.org/#event-unhandledrejection 49794. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 49795. https://developer.mozilla.org/en-US/docs/Web/API/DedicatedWorkerGlobalScope 49796. https://html.spec.whatwg.org/#workerglobalscope 49797. https://html.spec.whatwg.org/#dom-dedicatedworkerglobalscope-name 49798. https://html.spec.whatwg.org/#dom-dedicatedworkerglobalscope-postmessage 49799. https://webidl.spec.whatwg.org/#idl-object 49800. https://html.spec.whatwg.org/#dom-dedicatedworkerglobalscope-postmessage-options 49801. https://html.spec.whatwg.org/#structuredserializeoptions 49802. https://html.spec.whatwg.org/#dom-dedicatedworkerglobalscope-close 49803. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 49804. https://html.spec.whatwg.org/#messageeventtarget 49805. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 49806. https://html.spec.whatwg.org/#messageport 49807. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 49808. https://html.spec.whatwg.org/#dom-dedicatedworkerglobalscope-name 49809. https://developer.mozilla.org/en-US/docs/Web/API/DedicatedWorkerGlobalScope/name 49810. https://html.spec.whatwg.org/#concept-workerglobalscope-name 49811. https://html.spec.whatwg.org/#worker 49812. https://html.spec.whatwg.org/#dom-dedicatedworkerglobalscope-postmessage 49813. https://developer.mozilla.org/en-US/docs/Web/API/DedicatedWorkerGlobalScope/postMessage 49814. https://html.spec.whatwg.org/#dom-dedicatedworkerglobalscope-postmessage-options 49815. https://html.spec.whatwg.org/#dom-structuredserializeoptions-transfer 49816. https://html.spec.whatwg.org/#worker 49817. https://html.spec.whatwg.org/#dom-dedicatedworkerglobalscope-close 49818. https://developer.mozilla.org/en-US/docs/Web/API/DedicatedWorkerGlobalScope/close 49819. https://webidl.spec.whatwg.org/#this 49820. https://html.spec.whatwg.org/#concept-workerglobalscope-name 49821. https://html.spec.whatwg.org/#worker 49822. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 49823. https://html.spec.whatwg.org/#dom-messageport-postmessage 49824. https://html.spec.whatwg.org/#dom-messageport-postmessage-options 49825. https://html.spec.whatwg.org/#concept-task 49826. https://html.spec.whatwg.org/#relevant-agent 49827. https://html.spec.whatwg.org/#concept-agent-event-loop 49828. https://html.spec.whatwg.org/#task-queue 49829. https://html.spec.whatwg.org/#dom-workerglobalscope-closing 49830. https://html.spec.whatwg.org/#close-a-worker 49831. https://webidl.spec.whatwg.org/#this 49832. https://html.spec.whatwg.org/#sharedworkerglobalscope 49833. https://developer.mozilla.org/en-US/docs/Web/API/SharedWorkerGlobalScope 49834. https://html.spec.whatwg.org/#workerglobalscope 49835. https://html.spec.whatwg.org/#dom-sharedworkerglobalscope-name 49836. https://html.spec.whatwg.org/#dom-sharedworkerglobalscope-close 49837. https://html.spec.whatwg.org/#eventhandler 49838. https://html.spec.whatwg.org/#handler-sharedworkerglobalscope-onconnect 49839. https://html.spec.whatwg.org/#sharedworkerglobalscope 49840. https://html.spec.whatwg.org/#sharedworkerglobalscope 49841. https://html.spec.whatwg.org/#run-a-worker 49842. https://html.spec.whatwg.org/#event-workerglobalscope-connect 49843. https://html.spec.whatwg.org/#sharedworkerglobalscope 49844. https://html.spec.whatwg.org/#dom-sharedworkerglobalscope-name 49845. https://developer.mozilla.org/en-US/docs/Web/API/SharedWorkerGlobalScope/name 49846. https://html.spec.whatwg.org/#concept-workerglobalscope-name 49847. https://html.spec.whatwg.org/#sharedworker 49848. https://html.spec.whatwg.org/#sharedworker 49849. https://html.spec.whatwg.org/#sharedworkerglobalscope 49850. https://html.spec.whatwg.org/#dom-sharedworkerglobalscope-close 49851. https://developer.mozilla.org/en-US/docs/Web/API/SharedWorkerGlobalScope/close 49852. https://webidl.spec.whatwg.org/#this 49853. https://html.spec.whatwg.org/#concept-workerglobalscope-name 49854. https://html.spec.whatwg.org/#sharedworker 49855. https://html.spec.whatwg.org/#close-a-worker 49856. https://webidl.spec.whatwg.org/#this 49857. https://html.spec.whatwg.org/#event-handlers 49858. https://html.spec.whatwg.org/#event-handler-event-type 49859. https://html.spec.whatwg.org/#event-handler-idl-attributes 49860. https://html.spec.whatwg.org/#sharedworkerglobalscope 49861. https://html.spec.whatwg.org/#event-handlers 49862. https://html.spec.whatwg.org/#event-handler-event-type 49863. https://developer.mozilla.org/en-US/docs/Web/API/SharedWorkerGlobalScope/connect_event 49864. https://html.spec.whatwg.org/#event-workerglobalscope-connect 49865. https://html.spec.whatwg.org/#worker-event-loop-2 49866. https://html.spec.whatwg.org/#task-queue 49867. https://html.spec.whatwg.org/#concept-task 49868. https://html.spec.whatwg.org/#worker-event-loop-2 49869. https://html.spec.whatwg.org/#run-a-worker 49870. https://html.spec.whatwg.org/#workerglobalscope 49871. https://html.spec.whatwg.org/#workerglobalscope 49872. https://html.spec.whatwg.org/#dom-workerglobalscope-closing 49873. https://html.spec.whatwg.org/#event-loop 49874. https://html.spec.whatwg.org/#task-queue 49875. https://html.spec.whatwg.org/#concept-task 49876. https://html.spec.whatwg.org/#dom-workerglobalscope-closing 49877. https://html.spec.whatwg.org/#window 49878. https://html.spec.whatwg.org/#channel-messaging 49879. https://html.spec.whatwg.org/#messageport 49880. https://html.spec.whatwg.org/#workerglobalscope 49881. https://html.spec.whatwg.org/#messageport 49882. https://html.spec.whatwg.org/#messageport 49883. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 49884. https://html.spec.whatwg.org/#environment-settings-object 49885. https://html.spec.whatwg.org/#concept-settings-object-global 49886. https://html.spec.whatwg.org/#concept-settings-object-global 49887. https://html.spec.whatwg.org/#workerglobalscope 49888. https://html.spec.whatwg.org/#concept-settings-object-global 49889. https://html.spec.whatwg.org/#window 49890. https://html.spec.whatwg.org/#window 49891. https://html.spec.whatwg.org/#concept-document-window 49892. https://html.spec.whatwg.org/#workerglobalscope 49893. https://html.spec.whatwg.org/#concept-WorkerGlobalScope-owner-set 49894. https://infra.spec.whatwg.org/#list-is-empty 49895. https://html.spec.whatwg.org/#concept-WorkerGlobalScope-owner-set 49896. https://infra.spec.whatwg.org/#list-is-empty 49897. https://infra.spec.whatwg.org/#implementation-defined 49898. https://html.spec.whatwg.org/#workerglobalscope 49899. https://html.spec.whatwg.org/#sharedworkerglobalscope 49900. https://html.spec.whatwg.org/#navigable 49901. https://html.spec.whatwg.org/#nav-document 49902. https://html.spec.whatwg.org/#completely-loaded 49903. https://html.spec.whatwg.org/#concept-WorkerGlobalScope-owner-set 49904. https://html.spec.whatwg.org/#document 49905. https://html.spec.whatwg.org/#fully-active 49906. https://html.spec.whatwg.org/#active-needed-worker 49907. https://html.spec.whatwg.org/#active-needed-worker 49908. https://html.spec.whatwg.org/#the-worker's-ports 49909. https://html.spec.whatwg.org/#workerglobalscope 49910. https://html.spec.whatwg.org/#sharedworkerglobalscope 49911. https://html.spec.whatwg.org/#active-needed-worker 49912. https://html.spec.whatwg.org/#permissible-worker 49913. https://html.spec.whatwg.org/#worker 49914. https://html.spec.whatwg.org/#sharedworker 49915. https://url.spec.whatwg.org/#concept-url 49916. https://html.spec.whatwg.org/#environment-settings-object 49917. https://html.spec.whatwg.org/#messageport 49918. https://html.spec.whatwg.org/#workeroptions 49919. https://html.spec.whatwg.org/#sharedworker 49920. https://html.spec.whatwg.org/#relevant-owner-to-add 49921. https://w3c.github.io/hr-time/#dfn-unsafe-shared-current-time 49922. https://html.spec.whatwg.org/#obtain-a-dedicated/shared-worker-agent 49923. https://html.spec.whatwg.org/#creating-a-new-javascript-realm 49924. https://html.spec.whatwg.org/#sharedworkerglobalscope 49925. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 49926. https://html.spec.whatwg.org/#concept-realm-global 49927. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 49928. https://html.spec.whatwg.org/#sharedworkerglobalscope 49929. https://html.spec.whatwg.org/#set-up-a-worker-environment-settings-object 49930. https://html.spec.whatwg.org/#concept-workerglobalscope-name 49931. https://infra.spec.whatwg.org/#set-append 49932. https://html.spec.whatwg.org/#concept-WorkerGlobalScope-owner-set 49933. https://html.spec.whatwg.org/#concept-sharedworkerglobalscope-constructor-origin 49934. https://html.spec.whatwg.org/#concept-settings-object-origin 49935. https://html.spec.whatwg.org/#concept-sharedworkerglobalscope-constructor-url 49936. https://html.spec.whatwg.org/#concept-workerglobalscope-type 49937. https://html.spec.whatwg.org/#concept-sharedworkerglobalscope-credentials 49938. https://html.spec.whatwg.org/#fetch-a-classic-worker-script 49939. https://html.spec.whatwg.org/#fetch-a-module-worker-script-tree 49940. https://html.spec.whatwg.org/#fetching-scripts-perform-fetch 49941. https://html.spec.whatwg.org/#fetching-scripts-is-top-level 49942. https://html.spec.whatwg.org/#fetching-scripts-processcustomfetchresponse 49943. https://fetch.spec.whatwg.org/#concept-fetch 49944. https://fetch.spec.whatwg.org/#process-response-end-of-body 49945. https://fetch.spec.whatwg.org/#concept-request-reserved-client 49946. https://fetch.spec.whatwg.org/#concept-fetch 49947. https://fetch.spec.whatwg.org/#process-response-end-of-body 49948. https://fetch.spec.whatwg.org/#concept-response 49949. https://infra.spec.whatwg.org/#byte-sequence 49950. https://html.spec.whatwg.org/#concept-workerglobalscope-url 49951. https://fetch.spec.whatwg.org/#concept-response-url 49952. https://html.spec.whatwg.org/#initialize-worker-policy-container 49953. https://w3c.github.io/webappsec-csp/#run-global-object-csp-initialization 49954. https://fetch.spec.whatwg.org/#concept-network-error 49955. https://html.spec.whatwg.org/#refsCSP 49956. https://html.spec.whatwg.org/#concept-workerglobalscope-embedder-policy 49957. https://html.spec.whatwg.org/#embedder-policy-value-2 49958. https://html.spec.whatwg.org/#compatible-with-cross-origin-isolation 49959. https://tc39.es/ecma262/#sec-agent-clusters 49960. https://html.spec.whatwg.org/#agent-cluster-cross-origin-isolation 49961. https://html.spec.whatwg.org/#cross-origin-isolation-logical 49962. https://html.spec.whatwg.org/#cross-origin-isolation-concrete 49963. https://infra.spec.whatwg.org/#implementation-defined 49964. https://html.spec.whatwg.org/#check-a-global-object's-embedder-policy 49965. https://fetch.spec.whatwg.org/#concept-network-error 49966. https://html.spec.whatwg.org/#concept-workerglobalscope-cross-origin-isolated-capability 49967. https://tc39.es/ecma262/#sec-agent-clusters 49968. https://html.spec.whatwg.org/#agent-cluster-cross-origin-isolation 49969. https://html.spec.whatwg.org/#cross-origin-isolation-concrete 49970. https://html.spec.whatwg.org/#concept-settings-object-cross-origin-isolated-capability 49971. https://html.spec.whatwg.org/#concept-workerglobalscope-cross-origin-isolated-capability 49972. https://fetch.spec.whatwg.org/#concept-response-url 49973. https://url.spec.whatwg.org/#concept-url-scheme 49974. https://html.spec.whatwg.org/#concept-workerglobalscope-cross-origin-isolated-capability 49975. https://www.rfc-editor.org/rfc/rfc2397#section-2 49976. https://github.com/w3c/webappsec-permissions-policy/issues/207 49977. https://html.spec.whatwg.org/#concept-script-error-to-rethrow 49978. https://html.spec.whatwg.org/#queue-a-global-task 49979. https://html.spec.whatwg.org/#dom-manipulation-task-source 49980. https://html.spec.whatwg.org/#concept-relevant-global 49981. https://dom.spec.whatwg.org/#concept-event-fire 49982. https://html.spec.whatwg.org/#event-error 49983. https://html.spec.whatwg.org/#environment-discarding-steps 49984. https://webidl.spec.whatwg.org/#new 49985. https://html.spec.whatwg.org/#messageport 49986. https://html.spec.whatwg.org/#environment-settings-object's-realm 49987. https://html.spec.whatwg.org/#message-event-target 49988. https://html.spec.whatwg.org/#inside-port 49989. https://html.spec.whatwg.org/#entangle 49990. https://html.spec.whatwg.org/#workerlocation 49991. https://html.spec.whatwg.org/#protected-worker 49992. https://html.spec.whatwg.org/#permissible-worker 49993. https://html.spec.whatwg.org/#dom-workerglobalscope-closing 49994. https://html.spec.whatwg.org/#dom-workerglobalscope-closing 49995. https://html.spec.whatwg.org/#suspendable-worker 49996. https://html.spec.whatwg.org/#dom-workerglobalscope-closing 49997. https://html.spec.whatwg.org/#suspendable-worker 49998. https://html.spec.whatwg.org/#concept-environment-execution-ready-flag 49999. https://html.spec.whatwg.org/#classic-script 50000. https://html.spec.whatwg.org/#run-a-classic-script 50001. https://html.spec.whatwg.org/#module-script 50002. https://html.spec.whatwg.org/#run-a-module-script 50003. https://html.spec.whatwg.org/#abort-a-running-script 50004. https://html.spec.whatwg.org/#terminate-a-worker 50005. https://html.spec.whatwg.org/#port-message-queue 50006. https://html.spec.whatwg.org/#port-message-queue 50007. https://html.spec.whatwg.org/#queue-a-global-task 50008. https://html.spec.whatwg.org/#dom-manipulation-task-source 50009. https://dom.spec.whatwg.org/#concept-event-fire 50010. https://html.spec.whatwg.org/#event-workerglobalscope-connect 50011. https://html.spec.whatwg.org/#messageevent 50012. https://html.spec.whatwg.org/#dom-messageevent-data 50013. https://html.spec.whatwg.org/#dom-messageevent-ports 50014. https://webidl.spec.whatwg.org/#dfn-frozen-array-type 50015. https://html.spec.whatwg.org/#dom-messageevent-source 50016. https://w3c.github.io/ServiceWorker/#dfn-client-message-queue 50017. https://w3c.github.io/ServiceWorker/#serviceworkercontainer 50018. https://w3c.github.io/ServiceWorker/#serviceworkercontainer-service-worker-client 50019. https://html.spec.whatwg.org/#relevant-settings-object 50020. https://html.spec.whatwg.org/#responsible-event-loop 50021. https://html.spec.whatwg.org/#concept-task 50022. https://html.spec.whatwg.org/#event-loop 50023. https://html.spec.whatwg.org/#abort-a-running-script 50024. https://html.spec.whatwg.org/#terminate-a-worker 50025. https://html.spec.whatwg.org/#dom-workerglobalscope-closing 50026. https://html.spec.whatwg.org/#event-loop 50027. https://infra.spec.whatwg.org/#map-clear 50028. https://html.spec.whatwg.org/#map-of-active-timers 50029. https://html.spec.whatwg.org/#the-worker's-ports 50030. https://infra.spec.whatwg.org/#list-empty 50031. https://html.spec.whatwg.org/#concept-WorkerGlobalScope-owner-set 50032. https://html.spec.whatwg.org/#in-parallel 50033. https://html.spec.whatwg.org/#run-a-worker 50034. https://html.spec.whatwg.org/#workerglobalscope 50035. https://html.spec.whatwg.org/#dom-workerglobalscope-closing 50036. https://html.spec.whatwg.org/#concept-task 50037. https://html.spec.whatwg.org/#workerglobalscope 50038. https://html.spec.whatwg.org/#relevant-agent 50039. https://html.spec.whatwg.org/#concept-agent-event-loop 50040. https://html.spec.whatwg.org/#task-queue 50041. https://html.spec.whatwg.org/#abort-a-running-script 50042. https://html.spec.whatwg.org/#workerglobalscope 50043. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 50044. https://html.spec.whatwg.org/#port-message-queue 50045. https://html.spec.whatwg.org/#terminate-a-worker 50046. https://html.spec.whatwg.org/#active-needed-worker 50047. https://html.spec.whatwg.org/#dom-workerglobalscope-closing 50048. https://html.spec.whatwg.org/#report-an-exception 50049. https://html.spec.whatwg.org/#workerglobalscope 50050. https://html.spec.whatwg.org/#abstractworker 50051. https://html.spec.whatwg.org/#eventhandler 50052. https://html.spec.whatwg.org/#handler-abstractworker-onerror 50053. https://html.spec.whatwg.org/#event-handlers 50054. https://html.spec.whatwg.org/#event-handler-event-type 50055. https://html.spec.whatwg.org/#event-handler-idl-attributes 50056. https://html.spec.whatwg.org/#abstractworker 50057. https://html.spec.whatwg.org/#event-handlers 50058. https://html.spec.whatwg.org/#event-handler-event-type 50059. https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker/error_event 50060. https://developer.mozilla.org/en-US/docs/Web/API/SharedWorker/error_event 50061. https://developer.mozilla.org/en-US/docs/Web/API/Worker/error_event 50062. https://html.spec.whatwg.org/#event-error 50063. https://tc39.es/ecma262/#sec-execution-contexts 50064. https://html.spec.whatwg.org/#environment-settings-object 50065. https://html.spec.whatwg.org/#concept-settings-object-origin 50066. https://html.spec.whatwg.org/#concept-realm-global 50067. https://html.spec.whatwg.org/#environment-settings-object 50068. https://html.spec.whatwg.org/#realm-execution-context 50069. https://html.spec.whatwg.org/#concept-settings-object-module-map 50070. https://html.spec.whatwg.org/#concept-workerglobalscope-module-map 50071. https://html.spec.whatwg.org/#api-base-url 50072. https://html.spec.whatwg.org/#concept-workerglobalscope-url 50073. https://html.spec.whatwg.org/#concept-settings-object-origin 50074. https://html.spec.whatwg.org/#concept-origin-opaque 50075. https://html.spec.whatwg.org/#concept-workerglobalscope-url 50076. https://url.spec.whatwg.org/#concept-url-scheme 50077. https://html.spec.whatwg.org/#concept-settings-object-policy-container 50078. https://html.spec.whatwg.org/#concept-workerglobalscope-policy-container 50079. https://html.spec.whatwg.org/#concept-settings-object-cross-origin-isolated-capability 50080. https://html.spec.whatwg.org/#concept-workerglobalscope-cross-origin-isolated-capability 50081. https://html.spec.whatwg.org/#concept-settings-object-time-origin 50082. https://w3c.github.io/hr-time/#dfn-coarsen-time 50083. https://html.spec.whatwg.org/#concept-workerglobalscope-cross-origin-isolated-capability 50084. https://html.spec.whatwg.org/#concept-environment-id 50085. https://html.spec.whatwg.org/#concept-environment-creation-url 50086. https://url.spec.whatwg.org/#concept-url 50087. https://html.spec.whatwg.org/#concept-environment-top-level-creation-url 50088. https://html.spec.whatwg.org/#concept-environment-target-browsing-context 50089. https://html.spec.whatwg.org/#concept-environment-active-service-worker 50090. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 50091. https://html.spec.whatwg.org/#concept-environment-top-level-origin 50092. https://html.spec.whatwg.org/#concept-environment-top-level-origin 50093. https://html.spec.whatwg.org/#concept-environment-top-level-origin 50094. https://infra.spec.whatwg.org/#implementation-defined 50095. https://privacycg.github.io/storage-partitioning/ 50096. https://html.spec.whatwg.org/#worker 50097. https://developer.mozilla.org/en-US/docs/Web/API/Worker 50098. https://dom.spec.whatwg.org/#interface-eventtarget 50099. https://html.spec.whatwg.org/#dom-worker 50100. https://w3c.github.io/trusted-types/dist/spec/#trustedscripturl 50101. https://html.spec.whatwg.org/#workeroptions 50102. https://html.spec.whatwg.org/#dom-worker-terminate 50103. https://html.spec.whatwg.org/#dom-worker-postmessage 50104. https://webidl.spec.whatwg.org/#idl-object 50105. https://html.spec.whatwg.org/#dom-worker-postmessage-options 50106. https://html.spec.whatwg.org/#structuredserializeoptions 50107. https://html.spec.whatwg.org/#workertype 50108. https://fetch.spec.whatwg.org/#requestcredentials 50109. https://html.spec.whatwg.org/#worker 50110. https://html.spec.whatwg.org/#abstractworker 50111. https://html.spec.whatwg.org/#worker 50112. https://html.spec.whatwg.org/#messageeventtarget 50113. https://html.spec.whatwg.org/#dom-worker 50114. https://developer.mozilla.org/en-US/docs/Web/API/Worker/Worker 50115. https://html.spec.whatwg.org/#worker 50116. https://html.spec.whatwg.org/#concept-workerglobalscope-name 50117. https://html.spec.whatwg.org/#dom-worker-terminate 50118. https://developer.mozilla.org/en-US/docs/Web/API/Worker/terminate 50119. https://html.spec.whatwg.org/#dom-worker-postmessage 50120. https://developer.mozilla.org/en-US/docs/Web/API/Worker/postMessage 50121. https://html.spec.whatwg.org/#dom-worker-postmessage-options 50122. https://html.spec.whatwg.org/#dom-structuredserializeoptions-transfer 50123. https://html.spec.whatwg.org/#worker 50124. https://html.spec.whatwg.org/#messageport 50125. https://html.spec.whatwg.org/#worker 50126. https://html.spec.whatwg.org/#terminate-a-worker 50127. https://html.spec.whatwg.org/#worker 50128. https://html.spec.whatwg.org/#dom-messageport-postmessage 50129. https://html.spec.whatwg.org/#dom-messageport-postmessage-options 50130. https://webidl.spec.whatwg.org/#this 50131. https://html.spec.whatwg.org/#outside-port 50132. https://html.spec.whatwg.org/#dom-worker-postmessage 50133. https://w3c.github.io/trusted-types/dist/spec/#get-trusted-type-compliant-string-algorithm 50134. https://w3c.github.io/trusted-types/dist/spec/#trustedscripturl 50135. https://webidl.spec.whatwg.org/#this 50136. https://html.spec.whatwg.org/#concept-relevant-global 50137. https://html.spec.whatwg.org/#current-settings-object 50138. https://html.spec.whatwg.org/#encoding-parsing-a-url 50139. https://html.spec.whatwg.org/#same-origin 50140. https://w3c.github.io/FileAPI/#DefinitionOfScheme 50141. https://www.rfc-editor.org/rfc/rfc2397#section-2 50142. https://html.spec.whatwg.org/#concept-origin-opaque 50143. https://webidl.spec.whatwg.org/#syntaxerror 50144. https://webidl.spec.whatwg.org/#dfn-DOMException 50145. https://html.spec.whatwg.org/#worker 50146. https://webidl.spec.whatwg.org/#new 50147. https://html.spec.whatwg.org/#messageport 50148. https://html.spec.whatwg.org/#environment-settings-object's-realm 50149. https://html.spec.whatwg.org/#message-event-target 50150. https://html.spec.whatwg.org/#outside-port 50151. https://html.spec.whatwg.org/#in-parallel 50152. https://html.spec.whatwg.org/#run-a-worker 50153. https://html.spec.whatwg.org/#sharedworker 50154. https://developer.mozilla.org/en-US/docs/Web/API/SharedWorker 50155. https://dom.spec.whatwg.org/#interface-eventtarget 50156. https://html.spec.whatwg.org/#dom-sharedworker 50157. https://w3c.github.io/trusted-types/dist/spec/#trustedscripturl 50158. https://html.spec.whatwg.org/#workeroptions 50159. https://html.spec.whatwg.org/#messageport 50160. https://html.spec.whatwg.org/#dom-sharedworker-port 50161. https://html.spec.whatwg.org/#sharedworker 50162. https://html.spec.whatwg.org/#abstractworker 50163. https://html.spec.whatwg.org/#dom-sharedworker 50164. https://developer.mozilla.org/en-US/docs/Web/API/SharedWorker/SharedWorker 50165. https://html.spec.whatwg.org/#sharedworker 50166. https://html.spec.whatwg.org/#concept-workerglobalscope-name 50167. https://html.spec.whatwg.org/#dom-sharedworker 50168. https://html.spec.whatwg.org/#sharedworker 50169. https://html.spec.whatwg.org/#concept-workerglobalscope-name 50170. https://html.spec.whatwg.org/#dom-sharedworker-port 50171. https://developer.mozilla.org/en-US/docs/Web/API/SharedWorker/port 50172. https://html.spec.whatwg.org/#messageport 50173. https://html.spec.whatwg.org/#messageport 50174. https://html.spec.whatwg.org/#starting-a-new-parallel-queue 50175. https://html.spec.whatwg.org/#shared-worker-manager 50176. https://html.spec.whatwg.org/#concept-origin 50177. https://w3c.github.io/trusted-types/dist/spec/#get-trusted-type-compliant-string-algorithm 50178. https://w3c.github.io/trusted-types/dist/spec/#trustedscripturl 50179. https://webidl.spec.whatwg.org/#this 50180. https://html.spec.whatwg.org/#concept-relevant-global 50181. https://webidl.spec.whatwg.org/#idl-DOMString 50182. https://html.spec.whatwg.org/#workeroptions 50183. https://html.spec.whatwg.org/#current-settings-object 50184. https://html.spec.whatwg.org/#encoding-parsing-a-url 50185. https://html.spec.whatwg.org/#same-origin 50186. https://w3c.github.io/FileAPI/#DefinitionOfScheme 50187. https://www.rfc-editor.org/rfc/rfc2397#section-2 50188. https://html.spec.whatwg.org/#concept-origin-opaque 50189. https://webidl.spec.whatwg.org/#syntaxerror 50190. https://webidl.spec.whatwg.org/#dfn-DOMException 50191. https://html.spec.whatwg.org/#sharedworker 50192. https://webidl.spec.whatwg.org/#new 50193. https://html.spec.whatwg.org/#messageport 50194. https://html.spec.whatwg.org/#environment-settings-object's-realm 50195. https://html.spec.whatwg.org/#dom-sharedworker-port 50196. https://html.spec.whatwg.org/#secure-context 50197. https://storage.spec.whatwg.org/#obtain-a-storage-key-for-non-storage-purposes 50198. https://html.spec.whatwg.org/#enqueue-the-following-steps 50199. https://html.spec.whatwg.org/#shared-worker-manager 50200. https://infra.spec.whatwg.org/#list-iterate 50201. https://html.spec.whatwg.org/#sharedworkerglobalscope 50202. https://storage.spec.whatwg.org/#obtain-a-storage-key-for-non-storage-purposes 50203. https://html.spec.whatwg.org/#relevant-settings-object 50204. https://storage.spec.whatwg.org/#storage-key-equal 50205. https://html.spec.whatwg.org/#dom-workerglobalscope-closing 50206. https://html.spec.whatwg.org/#concept-sharedworkerglobalscope-constructor-url 50207. https://url.spec.whatwg.org/#concept-url-equals 50208. https://html.spec.whatwg.org/#concept-workerglobalscope-name 50209. https://infra.spec.whatwg.org/#iteration-break 50210. https://www.rfc-editor.org/rfc/rfc2397#section-2 50211. https://html.spec.whatwg.org/#concept-origin-opaque 50212. https://html.spec.whatwg.org/#concept-sharedworkerglobalscope-constructor-origin 50213. https://html.spec.whatwg.org/#concept-sharedworkerglobalscope-constructor-url 50214. https://www.rfc-editor.org/rfc/rfc2397#section-2 50215. https://html.spec.whatwg.org/#concept-origin 50216. https://html.spec.whatwg.org/#sharedworkerglobalscope 50217. https://html.spec.whatwg.org/#same-origin 50218. https://html.spec.whatwg.org/#concept-script 50219. https://html.spec.whatwg.org/#settings-object 50220. https://html.spec.whatwg.org/#top-level-traversable 50221. https://html.spec.whatwg.org/#concept-workerglobalscope-type 50222. https://html.spec.whatwg.org/#concept-sharedworkerglobalscope-credentials 50223. https://html.spec.whatwg.org/#queue-a-task 50224. https://dom.spec.whatwg.org/#concept-event-fire 50225. https://html.spec.whatwg.org/#event-error 50226. https://html.spec.whatwg.org/#relevant-settings-object 50227. https://html.spec.whatwg.org/#secure-context 50228. https://html.spec.whatwg.org/#queue-a-task 50229. https://dom.spec.whatwg.org/#concept-event-fire 50230. https://html.spec.whatwg.org/#event-error 50231. https://html.spec.whatwg.org/#refsSECURE-CONTEXTS 50232. https://webidl.spec.whatwg.org/#new 50233. https://html.spec.whatwg.org/#messageport 50234. https://html.spec.whatwg.org/#environment-settings-object's-realm 50235. https://html.spec.whatwg.org/#entangle 50236. https://html.spec.whatwg.org/#queue-a-task 50237. https://html.spec.whatwg.org/#dom-manipulation-task-source 50238. https://dom.spec.whatwg.org/#concept-event-fire 50239. https://html.spec.whatwg.org/#event-workerglobalscope-connect 50240. https://html.spec.whatwg.org/#messageevent 50241. https://html.spec.whatwg.org/#dom-messageevent-data 50242. https://html.spec.whatwg.org/#dom-messageevent-ports 50243. https://webidl.spec.whatwg.org/#dfn-frozen-array-type 50244. https://html.spec.whatwg.org/#dom-messageevent-source 50245. https://infra.spec.whatwg.org/#set-append 50246. https://html.spec.whatwg.org/#relevant-owner-to-add 50247. https://html.spec.whatwg.org/#concept-WorkerGlobalScope-owner-set 50248. https://html.spec.whatwg.org/#in-parallel 50249. https://html.spec.whatwg.org/#run-a-worker 50250. https://html.spec.whatwg.org/#dom-navigator-hardwareconcurrency 50251. https://html.spec.whatwg.org/#dom-navigator 50252. https://html.spec.whatwg.org/#dom-navigator-hardwareconcurrency 50253. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/hardwareConcurrency 50254. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/hardwareConcurrency 50255. https://infra.spec.whatwg.org/#tracking-vector 50256. https://html.spec.whatwg.org/#worker 50257. https://infra.spec.whatwg.org/#list-iterate 50258. https://infra.spec.whatwg.org/#list-append 50259. https://w3c.github.io/trusted-types/dist/spec/#get-trusted-type-compliant-string-algorithm 50260. https://w3c.github.io/trusted-types/dist/spec/#trustedscripturl 50261. https://webidl.spec.whatwg.org/#this 50262. https://html.spec.whatwg.org/#concept-relevant-global 50263. https://html.spec.whatwg.org/#import-scripts-into-worker-global-scope 50264. https://webidl.spec.whatwg.org/#this 50265. https://html.spec.whatwg.org/#workerglobalscope 50266. https://infra.spec.whatwg.org/#list 50267. https://infra.spec.whatwg.org/#scalar-value-string 50268. https://html.spec.whatwg.org/#fetching-scripts-perform-fetch 50269. https://html.spec.whatwg.org/#concept-workerglobalscope-type 50270. https://tc39.es/ecma262/#sec-native-error-types-used-in-this-standard-typeerror 50271. https://html.spec.whatwg.org/#current-settings-object 50272. https://html.spec.whatwg.org/#encoding-parsing-a-url 50273. https://webidl.spec.whatwg.org/#syntaxerror 50274. https://webidl.spec.whatwg.org/#dfn-DOMException 50275. https://infra.spec.whatwg.org/#list-append 50276. https://html.spec.whatwg.org/#fetch-a-classic-worker-imported-script 50277. https://html.spec.whatwg.org/#run-a-classic-script 50278. https://html.spec.whatwg.org/#abort-a-running-script 50279. https://html.spec.whatwg.org/#terminate-a-worker 50280. https://html.spec.whatwg.org/#abort-a-running-script 50281. https://html.spec.whatwg.org/#concept-script 50282. https://html.spec.whatwg.org/#fetching-scripts-perform-fetch 50283. https://html.spec.whatwg.org/#refsSW 50284. https://html.spec.whatwg.org/#workernavigator 50285. https://developer.mozilla.org/en-US/docs/Web/API/WorkerNavigator 50286. https://html.spec.whatwg.org/#workerglobalscope 50287. https://html.spec.whatwg.org/#workernavigator 50288. https://html.spec.whatwg.org/#workernavigator 50289. https://html.spec.whatwg.org/#navigatorid 50290. https://html.spec.whatwg.org/#workernavigator 50291. https://html.spec.whatwg.org/#navigatorlanguage 50292. https://html.spec.whatwg.org/#workernavigator 50293. https://html.spec.whatwg.org/#navigatoronline 50294. https://html.spec.whatwg.org/#workernavigator 50295. https://html.spec.whatwg.org/#navigatorconcurrenthardware 50296. https://html.spec.whatwg.org/#workerlocation 50297. https://developer.mozilla.org/en-US/docs/Web/API/WorkerLocation 50298. https://developer.mozilla.org/en-US/docs/Web/API/WorkerLocation/toString 50299. https://html.spec.whatwg.org/#dom-workerlocation-href 50300. https://html.spec.whatwg.org/#dom-workerlocation-origin 50301. https://html.spec.whatwg.org/#dom-workerlocation-protocol 50302. https://html.spec.whatwg.org/#dom-workerlocation-host 50303. https://html.spec.whatwg.org/#dom-workerlocation-hostname 50304. https://html.spec.whatwg.org/#dom-workerlocation-port 50305. https://html.spec.whatwg.org/#dom-workerlocation-pathname 50306. https://html.spec.whatwg.org/#dom-workerlocation-search 50307. https://html.spec.whatwg.org/#dom-workerlocation-hash 50308. https://html.spec.whatwg.org/#workerlocation 50309. https://html.spec.whatwg.org/#workerglobalscope 50310. https://developer.mozilla.org/en-US/docs/Web/API/WorkerLocation/href 50311. https://webidl.spec.whatwg.org/#this 50312. https://html.spec.whatwg.org/#concept-workerlocation-workerglobalscope 50313. https://html.spec.whatwg.org/#concept-workerglobalscope-url 50314. https://url.spec.whatwg.org/#concept-url-serializer 50315. https://developer.mozilla.org/en-US/docs/Web/API/WorkerLocation/origin 50316. https://html.spec.whatwg.org/#ascii-serialisation-of-an-origin 50317. https://webidl.spec.whatwg.org/#this 50318. https://html.spec.whatwg.org/#concept-workerlocation-workerglobalscope 50319. https://html.spec.whatwg.org/#concept-workerglobalscope-url 50320. https://url.spec.whatwg.org/#concept-url-origin 50321. https://developer.mozilla.org/en-US/docs/Web/API/WorkerLocation/protocol 50322. https://webidl.spec.whatwg.org/#this 50323. https://html.spec.whatwg.org/#concept-workerlocation-workerglobalscope 50324. https://html.spec.whatwg.org/#concept-workerglobalscope-url 50325. https://url.spec.whatwg.org/#concept-url-scheme 50326. https://developer.mozilla.org/en-US/docs/Web/API/WorkerLocation/host 50327. https://webidl.spec.whatwg.org/#this 50328. https://html.spec.whatwg.org/#concept-workerlocation-workerglobalscope 50329. https://html.spec.whatwg.org/#concept-workerglobalscope-url 50330. https://url.spec.whatwg.org/#concept-url-host 50331. https://url.spec.whatwg.org/#concept-url-port 50332. https://url.spec.whatwg.org/#concept-url-host 50333. https://url.spec.whatwg.org/#concept-host-serializer 50334. https://url.spec.whatwg.org/#concept-url-host 50335. https://url.spec.whatwg.org/#concept-host-serializer 50336. https://url.spec.whatwg.org/#concept-url-port 50337. https://url.spec.whatwg.org/#serialize-an-integer 50338. https://developer.mozilla.org/en-US/docs/Web/API/WorkerLocation/hostname 50339. https://webidl.spec.whatwg.org/#this 50340. https://html.spec.whatwg.org/#concept-workerlocation-workerglobalscope 50341. https://html.spec.whatwg.org/#concept-workerglobalscope-url 50342. https://url.spec.whatwg.org/#concept-url-host 50343. https://url.spec.whatwg.org/#concept-host-serializer 50344. https://developer.mozilla.org/en-US/docs/Web/API/WorkerLocation/port 50345. https://webidl.spec.whatwg.org/#this 50346. https://html.spec.whatwg.org/#concept-workerlocation-workerglobalscope 50347. https://html.spec.whatwg.org/#concept-workerglobalscope-url 50348. https://url.spec.whatwg.org/#concept-url-port 50349. https://url.spec.whatwg.org/#serialize-an-integer 50350. https://developer.mozilla.org/en-US/docs/Web/API/WorkerLocation/pathname 50351. https://url.spec.whatwg.org/#url-path-serializer 50352. https://webidl.spec.whatwg.org/#this 50353. https://html.spec.whatwg.org/#concept-workerlocation-workerglobalscope 50354. https://html.spec.whatwg.org/#concept-workerglobalscope-url 50355. https://developer.mozilla.org/en-US/docs/Web/API/WorkerLocation/search 50356. https://webidl.spec.whatwg.org/#this 50357. https://html.spec.whatwg.org/#concept-workerlocation-workerglobalscope 50358. https://html.spec.whatwg.org/#concept-workerglobalscope-url 50359. https://url.spec.whatwg.org/#concept-url-query 50360. https://developer.mozilla.org/en-US/docs/Web/API/WorkerLocation/hash 50361. https://webidl.spec.whatwg.org/#this 50362. https://html.spec.whatwg.org/#concept-workerlocation-workerglobalscope 50363. https://html.spec.whatwg.org/#concept-workerglobalscope-url 50364. https://url.spec.whatwg.org/#concept-url-fragment 50365. https://html.spec.whatwg.org/#window 50366. https://html.spec.whatwg.org/#window 50367. https://html.spec.whatwg.org/#window 50368. https://html.spec.whatwg.org/#workletglobalscope 50369. https://html.spec.whatwg.org/#global-object 50370. https://infra.spec.whatwg.org/#implementation-defined 50371. https://html.spec.whatwg.org/#workletglobalscope 50372. https://html.spec.whatwg.org/#window 50373. https://html.spec.whatwg.org/#refsCSSPAINT 50374. https://html.spec.whatwg.org/#refsWEBAUDIO 50375. https://infra.spec.whatwg.org/#implementation-defined 50376. https://html.spec.whatwg.org/#workletglobalscope 50377. https://html.spec.whatwg.org/#dom-workerglobalscope-self 50378. https://html.spec.whatwg.org/#workletglobalscope 50379. https://github.com/whatwg/html/issues/6059 50380. https://html.spec.whatwg.org/#module-script 50381. https://html.spec.whatwg.org/#global-object 50382. https://infra.spec.whatwg.org/#implementation-defined 50383. https://html.spec.whatwg.org/#workletglobalscope 50384. https://html.spec.whatwg.org/#worklet 50385. https://html.spec.whatwg.org/#workletglobalscope 50386. https://html.spec.whatwg.org/#workletglobalscope 50387. https://html.spec.whatwg.org/#workletglobalscope 50388. https://html.spec.whatwg.org/#worklets-idempotent 50389. https://html.spec.whatwg.org/#window 50390. https://html.spec.whatwg.org/#worklet 50391. https://html.spec.whatwg.org/#fakeworkletglobalscope 50392. https://html.spec.whatwg.org/#window 50393. https://html.spec.whatwg.org/#worklet 50394. https://html.spec.whatwg.org/#fakeworklet1 50395. https://html.spec.whatwg.org/#worklet 50396. https://html.spec.whatwg.org/#fakeworklet2 50397. https://html.spec.whatwg.org/#window 50398. https://html.spec.whatwg.org/#worklet 50399. https://html.spec.whatwg.org/#worklet-global-scope-type 50400. https://html.spec.whatwg.org/#fakeworkletglobalscope 50401. https://html.spec.whatwg.org/#worklet-destination-type 50402. https://html.spec.whatwg.org/#fakeworkletglobalscope 50403. https://fetch.spec.whatwg.org/#concept-request-destination 50404. https://html.spec.whatwg.org/#refsFETCH 50405. https://webidl.spec.whatwg.org/#this 50406. https://html.spec.whatwg.org/#fake-worklet-1 50407. https://webidl.spec.whatwg.org/#this 50408. https://html.spec.whatwg.org/#fake-worklet-2 50409. https://html.spec.whatwg.org/#workletglobalscope 50410. https://html.spec.whatwg.org/#dom-fakeworkletglobalscope-registerfake 50411. https://webidl.spec.whatwg.org/#common-Function 50412. https://html.spec.whatwg.org/#fakeworkletglobalscope 50413. https://infra.spec.whatwg.org/#ordered-map 50414. https://webidl.spec.whatwg.org/#this 50415. https://html.spec.whatwg.org/#registered-class-constructors-map 50416. https://html.spec.whatwg.org/#fake-worklet-1 50417. https://html.spec.whatwg.org/#worklets-speculative 50418. https://html.spec.whatwg.org/#workletglobalscope 50419. https://html.spec.whatwg.org/#worklet 50420. https://html.spec.whatwg.org/#worklets-idempotent 50421. https://html.spec.whatwg.org/#fake-worklet-1 50422. https://html.spec.whatwg.org/#fake-worklet-2 50423. https://html.spec.whatwg.org/#fakeworkletglobalscope 50424. https://html.spec.whatwg.org/#worklet 50425. https://html.spec.whatwg.org/#create-a-worklet-global-scope 50426. https://html.spec.whatwg.org/#concept-worklet-global-scopes 50427. https://infra.spec.whatwg.org/#implementation-defined 50428. https://html.spec.whatwg.org/#registered-class-constructors-map 50429. https://webidl.spec.whatwg.org/#construct-a-callback-function 50430. https://tc39.es/ecma262/#sec-get-o-p 50431. https://webidl.spec.whatwg.org/#es-type-mapping 50432. https://webidl.spec.whatwg.org/#common-Function 50433. https://webidl.spec.whatwg.org/#invoke-a-callback-function 50434. https://webidl.spec.whatwg.org/#dfn-callback-this-value 50435. https://webidl.spec.whatwg.org/#common-Function 50436. https://html.spec.whatwg.org/#dom-fakeworkletglobalscope-registerfake 50437. https://html.spec.whatwg.org/#workletglobalscope 50438. https://html.spec.whatwg.org/#global-object 50439. https://html.spec.whatwg.org/#worklet 50440. https://html.spec.whatwg.org/#workletglobalscope 50441. https://html.spec.whatwg.org/#workletglobalscope 50442. https://html.spec.whatwg.org/#module-map 50443. https://html.spec.whatwg.org/#workletglobalscope 50444. https://html.spec.whatwg.org/#worklet-agent 50445. https://html.spec.whatwg.org/#concept-agent-event-loop 50446. https://html.spec.whatwg.org/#worklet-agent 50447. https://html.spec.whatwg.org/#workletglobalscope 50448. https://html.spec.whatwg.org/#workletglobalscope 50449. https://html.spec.whatwg.org/#similar-origin-window-agent 50450. https://html.spec.whatwg.org/#dedicated-worker-agent 50451. https://html.spec.whatwg.org/#event-loop 50452. https://html.spec.whatwg.org/#concept-task 50453. https://html.spec.whatwg.org/#dom-worklet-addmodule 50454. https://html.spec.whatwg.org/#microtask 50455. https://html.spec.whatwg.org/#event-loop-processing-model 50456. https://webidl.spec.whatwg.org/#invoke-a-callback-function 50457. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 50458. https://html.spec.whatwg.org/#worklet 50459. https://html.spec.whatwg.org/#relevant-settings-object 50460. https://html.spec.whatwg.org/#obtain-a-worklet-agent 50461. https://html.spec.whatwg.org/#creating-a-new-javascript-realm 50462. https://html.spec.whatwg.org/#worklet-global-scope-type 50463. https://html.spec.whatwg.org/#concept-realm-global 50464. https://html.spec.whatwg.org/#set-up-a-worklet-environment-settings-object 50465. https://infra.spec.whatwg.org/#list-clone 50466. https://html.spec.whatwg.org/#concept-worklet-added-modules-list 50467. https://infra.spec.whatwg.org/#list-is-empty 50468. https://infra.spec.whatwg.org/#queue-dequeue 50469. https://html.spec.whatwg.org/#fetch-a-worklet-script-graph 50470. https://html.spec.whatwg.org/#worklet-destination-type 50471. https://html.spec.whatwg.org/#concept-worklet-module-responses-map 50472. https://fetch.spec.whatwg.org/#concept-response 50473. https://html.spec.whatwg.org/#concept-worklet-module-responses-map 50474. https://html.spec.whatwg.org/#module-script 50475. https://fetch.spec.whatwg.org/#concept-response 50476. https://infra.spec.whatwg.org/#assert 50477. https://html.spec.whatwg.org/#concept-worklet-module-responses-map 50478. https://html.spec.whatwg.org/#run-a-module-script 50479. https://infra.spec.whatwg.org/#list-append 50480. https://html.spec.whatwg.org/#concept-settings-object-global 50481. https://html.spec.whatwg.org/#concept-document-window 50482. https://html.spec.whatwg.org/#concept-document-worklet-global-scopes 50483. https://infra.spec.whatwg.org/#list-append 50484. https://html.spec.whatwg.org/#concept-worklet-global-scopes 50485. https://html.spec.whatwg.org/#responsible-event-loop 50486. https://html.spec.whatwg.org/#workletglobalscope 50487. https://html.spec.whatwg.org/#relevant-agent 50488. https://html.spec.whatwg.org/#concept-agent-event-loop 50489. https://html.spec.whatwg.org/#concept-task 50490. https://html.spec.whatwg.org/#task-queue 50491. https://html.spec.whatwg.org/#currently-running-task 50492. https://infra.spec.whatwg.org/#implementation-defined 50493. https://html.spec.whatwg.org/#abort-a-running-script 50494. https://infra.spec.whatwg.org/#list-remove 50495. https://html.spec.whatwg.org/#concept-worklet-global-scopes 50496. https://html.spec.whatwg.org/#worklet 50497. https://html.spec.whatwg.org/#concept-worklet-global-scopes 50498. https://infra.spec.whatwg.org/#list-remove 50499. https://html.spec.whatwg.org/#concept-document-worklet-global-scopes 50500. https://html.spec.whatwg.org/#document 50501. https://html.spec.whatwg.org/#concept-document-worklet-global-scopes 50502. https://tc39.es/ecma262/#sec-execution-contexts 50503. https://html.spec.whatwg.org/#environment-settings-object 50504. https://html.spec.whatwg.org/#concept-origin-opaque 50505. https://html.spec.whatwg.org/#api-base-url 50506. https://html.spec.whatwg.org/#clone-a-policy-container 50507. https://html.spec.whatwg.org/#concept-settings-object-policy-container 50508. https://html.spec.whatwg.org/#concept-realm-global 50509. https://html.spec.whatwg.org/#environment-settings-object 50510. https://html.spec.whatwg.org/#realm-execution-context 50511. https://html.spec.whatwg.org/#concept-settings-object-module-map 50512. https://html.spec.whatwg.org/#concept-workletglobalscope-module-map 50513. https://html.spec.whatwg.org/#api-base-url 50514. https://html.spec.whatwg.org/#dom-worklet-addmodule 50515. https://html.spec.whatwg.org/#api-base-url 50516. https://html.spec.whatwg.org/#api-base-url 50517. https://html.spec.whatwg.org/#concept-settings-object-origin 50518. https://html.spec.whatwg.org/#concept-settings-object-policy-container 50519. https://html.spec.whatwg.org/#concept-settings-object-cross-origin-isolated-capability 50520. https://html.spec.whatwg.org/#concept-settings-object-time-origin 50521. https://infra.spec.whatwg.org/#assert 50522. https://html.spec.whatwg.org/#concept-settings-object-time-origin 50523. https://html.spec.whatwg.org/#concept-environment-id 50524. https://html.spec.whatwg.org/#concept-environment-creation-url 50525. https://html.spec.whatwg.org/#concept-environment-top-level-creation-url 50526. https://html.spec.whatwg.org/#concept-environment-top-level-origin 50527. https://html.spec.whatwg.org/#concept-environment-top-level-origin 50528. https://html.spec.whatwg.org/#concept-environment-target-browsing-context 50529. https://html.spec.whatwg.org/#concept-environment-active-service-worker 50530. https://html.spec.whatwg.org/#worklet 50531. https://developer.mozilla.org/en-US/docs/Web/API/Worklet 50532. https://html.spec.whatwg.org/#worklet 50533. https://html.spec.whatwg.org/#workletglobalscope 50534. https://html.spec.whatwg.org/#workletglobalscope 50535. https://webidl.spec.whatwg.org/#idl-promise 50536. https://html.spec.whatwg.org/#dom-worklet-addmodule 50537. https://html.spec.whatwg.org/#workletoptions 50538. https://fetch.spec.whatwg.org/#requestcredentials 50539. https://html.spec.whatwg.org/#worklet 50540. https://webidl.spec.whatwg.org/#dfn-inherit 50541. https://html.spec.whatwg.org/#workletglobalscope 50542. https://fetch.spec.whatwg.org/#concept-request-destination 50543. https://html.spec.whatwg.org/#dom-worklet-addmodule 50544. https://html.spec.whatwg.org/#dom-workletoptions-credentials 50545. https://developer.mozilla.org/en-US/docs/Web/API/Worklet/addModule 50546. https://html.spec.whatwg.org/#module-script 50547. https://html.spec.whatwg.org/#concept-worklet-global-scopes 50548. https://html.spec.whatwg.org/#dom-workletoptions-credentials 50549. https://fetch.spec.whatwg.org/#concept-request-credentials-mode 50550. https://html.spec.whatwg.org/#fetch-a-worklet-script-graph 50551. https://webidl.spec.whatwg.org/#aborterror 50552. https://webidl.spec.whatwg.org/#dfn-DOMException 50553. https://html.spec.whatwg.org/#worklet 50554. https://infra.spec.whatwg.org/#list 50555. https://html.spec.whatwg.org/#worklet 50556. https://html.spec.whatwg.org/#worklet-global-scope-type 50557. https://html.spec.whatwg.org/#worklet 50558. https://infra.spec.whatwg.org/#list 50559. https://url.spec.whatwg.org/#concept-url 50560. https://html.spec.whatwg.org/#worklet 50561. https://infra.spec.whatwg.org/#ordered-map 50562. https://url.spec.whatwg.org/#concept-url 50563. https://infra.spec.whatwg.org/#tuple 50564. https://fetch.spec.whatwg.org/#concept-response 50565. https://infra.spec.whatwg.org/#byte-sequence 50566. https://html.spec.whatwg.org/#concept-worklet-added-modules-list 50567. https://html.spec.whatwg.org/#concept-worklet-module-responses-map 50568. https://html.spec.whatwg.org/#workletglobalscope 50569. https://html.spec.whatwg.org/#module-script 50570. https://html.spec.whatwg.org/#workletglobalscope 50571. https://html.spec.whatwg.org/#dom-worklet-addmodule 50572. https://html.spec.whatwg.org/#concept-worklet-module-responses-map 50573. https://html.spec.whatwg.org/#workletglobalscope 50574. https://html.spec.whatwg.org/#create-a-worklet-global-scope 50575. https://html.spec.whatwg.org/#workletglobalscope 50576. https://html.spec.whatwg.org/#worklet 50577. https://html.spec.whatwg.org/#workletglobalscope 50578. https://html.spec.whatwg.org/#relevant-settings-object 50579. https://webidl.spec.whatwg.org/#this 50580. https://html.spec.whatwg.org/#encoding-parsing-a-url 50581. https://webidl.spec.whatwg.org/#a-promise-rejected-with 50582. https://webidl.spec.whatwg.org/#syntaxerror 50583. https://webidl.spec.whatwg.org/#dfn-DOMException 50584. https://webidl.spec.whatwg.org/#this 50585. https://html.spec.whatwg.org/#in-parallel 50586. https://html.spec.whatwg.org/#concept-worklet-global-scopes 50587. https://infra.spec.whatwg.org/#list-is-empty 50588. https://html.spec.whatwg.org/#create-a-worklet-global-scope 50589. https://html.spec.whatwg.org/#create-a-worklet-global-scope 50590. https://html.spec.whatwg.org/#create-a-worklet-global-scope 50591. https://html.spec.whatwg.org/#worklet-agent 50592. https://html.spec.whatwg.org/#concept-worklet-global-scopes 50593. https://infra.spec.whatwg.org/#list-size 50594. https://infra.spec.whatwg.org/#list-iterate 50595. https://html.spec.whatwg.org/#concept-worklet-global-scopes 50596. https://html.spec.whatwg.org/#queue-a-global-task 50597. https://html.spec.whatwg.org/#networking-task-source 50598. https://html.spec.whatwg.org/#fetch-a-worklet-script-graph 50599. https://html.spec.whatwg.org/#worklet-destination-type 50600. https://html.spec.whatwg.org/#dom-workletoptions-credentials 50601. https://html.spec.whatwg.org/#relevant-settings-object 50602. https://html.spec.whatwg.org/#concept-worklet-module-responses-map 50603. https://html.spec.whatwg.org/#workletglobalscope 50604. https://fetch.spec.whatwg.org/#concept-response 50605. https://html.spec.whatwg.org/#concept-worklet-module-responses-map 50606. https://html.spec.whatwg.org/#queue-a-global-task 50607. https://html.spec.whatwg.org/#networking-task-source 50608. https://html.spec.whatwg.org/#concept-relevant-global 50609. https://webidl.spec.whatwg.org/#aborterror 50610. https://webidl.spec.whatwg.org/#dfn-DOMException 50611. https://html.spec.whatwg.org/#concept-script-error-to-rethrow 50612. https://html.spec.whatwg.org/#queue-a-global-task 50613. https://html.spec.whatwg.org/#networking-task-source 50614. https://html.spec.whatwg.org/#concept-relevant-global 50615. https://html.spec.whatwg.org/#concept-script-error-to-rethrow 50616. https://infra.spec.whatwg.org/#list-append 50617. https://html.spec.whatwg.org/#concept-worklet-added-modules-list 50618. https://html.spec.whatwg.org/#run-a-module-script 50619. https://html.spec.whatwg.org/#queue-a-global-task 50620. https://html.spec.whatwg.org/#networking-task-source 50621. https://html.spec.whatwg.org/#concept-relevant-global 50622. https://html.spec.whatwg.org/#worklet 50623. https://html.spec.whatwg.org/#window 50624. https://html.spec.whatwg.org/#document 50625. https://infra.spec.whatwg.org/#ordered-set 50626. https://html.spec.whatwg.org/#workletglobalscope 50627. https://html.spec.whatwg.org/#workletglobalscope 50628. https://html.spec.whatwg.org/#document 50629. https://html.spec.whatwg.org/#concept-document-worklet-global-scopes 50630. https://html.spec.whatwg.org/#destroy-a-document 50631. https://html.spec.whatwg.org/#document 50632. https://html.spec.whatwg.org/#terminate-a-worklet-global-scope 50633. https://html.spec.whatwg.org/#workletglobalscope 50634. https://html.spec.whatwg.org/#terminate-a-worklet-global-scope 50635. https://html.spec.whatwg.org/#workletglobalscope 50636. https://html.spec.whatwg.org/#worklet-agent 50637. https://html.spec.whatwg.org/#concept-agent-event-loop 50638. https://html.spec.whatwg.org/#concept-task 50639. https://html.spec.whatwg.org/#create-a-worklet-global-scope 50640. https://html.spec.whatwg.org/#workletglobalscope 50641. https://html.spec.whatwg.org/#worklets-example-registering 50642. https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API 50643. https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API 50644. https://html.spec.whatwg.org/#refsCOOKIES 50645. https://html.spec.whatwg.org/#dom-sessionstorage 50646. https://html.spec.whatwg.org/#dom-localstorage 50647. https://html.spec.whatwg.org/#dom-localstorage 50648. https://developer.mozilla.org/en-US/docs/Web/API/Storage 50649. https://html.spec.whatwg.org/#storage-2 50650. https://html.spec.whatwg.org/#dom-storage-length 50651. https://html.spec.whatwg.org/#dom-storage-key 50652. https://html.spec.whatwg.org/#dom-storage-getitem 50653. https://html.spec.whatwg.org/#dom-storage-setitem 50654. https://html.spec.whatwg.org/#dom-storage-removeitem 50655. https://html.spec.whatwg.org/#dom-storage-clear 50656. https://html.spec.whatwg.org/#dom-storage-length 50657. https://developer.mozilla.org/en-US/docs/Web/API/Storage/length 50658. https://html.spec.whatwg.org/#dom-storage-key 50659. https://developer.mozilla.org/en-US/docs/Web/API/Storage/key 50660. https://html.spec.whatwg.org/#dom-storage-getitem 50661. https://developer.mozilla.org/en-US/docs/Web/API/Storage/getItem 50662. https://html.spec.whatwg.org/#dom-storage-setitem 50663. https://developer.mozilla.org/en-US/docs/Web/API/Storage/setItem 50664. https://webidl.spec.whatwg.org/#quotaexceedederror 50665. https://webidl.spec.whatwg.org/#dfn-DOMException 50666. https://html.spec.whatwg.org/#event-storage 50667. https://html.spec.whatwg.org/#window 50668. https://html.spec.whatwg.org/#storage-2 50669. https://html.spec.whatwg.org/#dom-storage-removeitem 50670. https://developer.mozilla.org/en-US/docs/Web/API/Storage/removeItem 50671. https://tc39.es/ecma262/#sec-delete-operator 50672. https://html.spec.whatwg.org/#event-storage 50673. https://html.spec.whatwg.org/#window 50674. https://html.spec.whatwg.org/#storage-2 50675. https://html.spec.whatwg.org/#dom-storage-clear 50676. https://developer.mozilla.org/en-US/docs/Web/API/Storage/clear 50677. https://html.spec.whatwg.org/#event-storage 50678. https://html.spec.whatwg.org/#window 50679. https://html.spec.whatwg.org/#storage-2 50680. https://html.spec.whatwg.org/#storage-2 50681. https://storage.spec.whatwg.org/#storage-proxy-map 50682. https://html.spec.whatwg.org/#storage-2 50683. https://html.spec.whatwg.org/#concept-storage-map 50684. https://infra.spec.whatwg.org/#map-entry 50685. https://infra.spec.whatwg.org/#implementation-defined 50686. https://html.spec.whatwg.org/#storage-2 50687. https://html.spec.whatwg.org/#concept-relevant-global 50688. https://html.spec.whatwg.org/#concept-document-window 50689. https://url.spec.whatwg.org/#concept-url-serializer 50690. https://dom.spec.whatwg.org/#concept-document-url 50691. https://html.spec.whatwg.org/#storage-2 50692. https://html.spec.whatwg.org/#concept-storage-type 50693. https://html.spec.whatwg.org/#concept-storage-type 50694. https://html.spec.whatwg.org/#relevant-settings-object 50695. https://html.spec.whatwg.org/#concept-origin 50696. https://html.spec.whatwg.org/#same-origin 50697. https://html.spec.whatwg.org/#relevant-settings-object 50698. https://html.spec.whatwg.org/#concept-origin 50699. https://html.spec.whatwg.org/#concept-storage-type 50700. https://html.spec.whatwg.org/#relevant-settings-object 50701. https://html.spec.whatwg.org/#concept-document-window 50702. https://html.spec.whatwg.org/#node-navigable 50703. https://html.spec.whatwg.org/#nav-traversable 50704. https://html.spec.whatwg.org/#node-navigable 50705. https://html.spec.whatwg.org/#nav-traversable 50706. https://infra.spec.whatwg.org/#list-iterate 50707. https://html.spec.whatwg.org/#queue-a-global-task 50708. https://html.spec.whatwg.org/#dom-manipulation-task-source 50709. https://html.spec.whatwg.org/#concept-relevant-global 50710. https://dom.spec.whatwg.org/#concept-event-fire 50711. https://html.spec.whatwg.org/#event-storage 50712. https://html.spec.whatwg.org/#concept-relevant-global 50713. https://html.spec.whatwg.org/#storageevent 50714. https://html.spec.whatwg.org/#dom-storageevent-key 50715. https://html.spec.whatwg.org/#dom-storageevent-oldvalue 50716. https://html.spec.whatwg.org/#dom-storageevent-newvalue 50717. https://html.spec.whatwg.org/#dom-storageevent-url 50718. https://html.spec.whatwg.org/#dom-storageevent-storagearea 50719. https://html.spec.whatwg.org/#document 50720. https://html.spec.whatwg.org/#concept-task 50721. https://html.spec.whatwg.org/#fully-active 50722. https://html.spec.whatwg.org/#event-loop 50723. https://html.spec.whatwg.org/#document 50724. https://html.spec.whatwg.org/#fully-active 50725. https://webidl.spec.whatwg.org/#this 50726. https://html.spec.whatwg.org/#concept-storage-map 50727. https://infra.spec.whatwg.org/#map-size 50728. https://webidl.spec.whatwg.org/#this 50729. https://html.spec.whatwg.org/#concept-storage-map 50730. https://infra.spec.whatwg.org/#map-size 50731. https://infra.spec.whatwg.org/#map-getting-the-keys 50732. https://webidl.spec.whatwg.org/#this 50733. https://html.spec.whatwg.org/#concept-storage-map 50734. https://webidl.spec.whatwg.org/#dfn-supported-property-names 50735. https://html.spec.whatwg.org/#storage-2 50736. https://infra.spec.whatwg.org/#map-getting-the-keys 50737. https://html.spec.whatwg.org/#concept-storage-map 50738. https://webidl.spec.whatwg.org/#this 50739. https://html.spec.whatwg.org/#concept-storage-map 50740. https://infra.spec.whatwg.org/#map-exists 50741. https://webidl.spec.whatwg.org/#this 50742. https://html.spec.whatwg.org/#concept-storage-map 50743. https://webidl.spec.whatwg.org/#this 50744. https://html.spec.whatwg.org/#concept-storage-map 50745. https://infra.spec.whatwg.org/#map-exists 50746. https://webidl.spec.whatwg.org/#this 50747. https://html.spec.whatwg.org/#concept-storage-map 50748. https://infra.spec.whatwg.org/#string-is 50749. https://webidl.spec.whatwg.org/#quotaexceedederror 50750. https://webidl.spec.whatwg.org/#dfn-DOMException 50751. https://infra.spec.whatwg.org/#map-set 50752. https://webidl.spec.whatwg.org/#this 50753. https://html.spec.whatwg.org/#concept-storage-map 50754. https://html.spec.whatwg.org/#concept-storage-reorder 50755. https://webidl.spec.whatwg.org/#this 50756. https://html.spec.whatwg.org/#concept-storage-broadcast 50757. https://webidl.spec.whatwg.org/#this 50758. https://webidl.spec.whatwg.org/#this 50759. https://html.spec.whatwg.org/#concept-storage-map 50760. https://infra.spec.whatwg.org/#map-exists 50761. https://webidl.spec.whatwg.org/#this 50762. https://html.spec.whatwg.org/#concept-storage-map 50763. https://infra.spec.whatwg.org/#map-remove 50764. https://webidl.spec.whatwg.org/#this 50765. https://html.spec.whatwg.org/#concept-storage-map 50766. https://html.spec.whatwg.org/#concept-storage-reorder 50767. https://webidl.spec.whatwg.org/#this 50768. https://html.spec.whatwg.org/#concept-storage-broadcast 50769. https://webidl.spec.whatwg.org/#this 50770. https://infra.spec.whatwg.org/#map-clear 50771. https://webidl.spec.whatwg.org/#this 50772. https://html.spec.whatwg.org/#concept-storage-map 50773. https://html.spec.whatwg.org/#concept-storage-broadcast 50774. https://webidl.spec.whatwg.org/#this 50775. https://html.spec.whatwg.org/#dom-sessionstorage 50776. https://html.spec.whatwg.org/#storage-2 50777. https://html.spec.whatwg.org/#dom-sessionstorage 50778. https://html.spec.whatwg.org/#window 50779. https://html.spec.whatwg.org/#windowsessionstorage 50780. https://html.spec.whatwg.org/#dom-sessionstorage 50781. https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage 50782. https://html.spec.whatwg.org/#storage-2 50783. https://webidl.spec.whatwg.org/#securityerror 50784. https://webidl.spec.whatwg.org/#dfn-DOMException 50785. https://html.spec.whatwg.org/#document 50786. https://dom.spec.whatwg.org/#concept-document-origin 50787. https://html.spec.whatwg.org/#concept-origin-opaque 50788. https://html.spec.whatwg.org/#document 50789. https://html.spec.whatwg.org/#storage-2 50790. https://infra.spec.whatwg.org/#tracking-vector 50791. https://webidl.spec.whatwg.org/#this 50792. https://html.spec.whatwg.org/#concept-document-window 50793. https://html.spec.whatwg.org/#session-storage-holder 50794. https://webidl.spec.whatwg.org/#this 50795. https://html.spec.whatwg.org/#concept-document-window 50796. https://html.spec.whatwg.org/#session-storage-holder 50797. https://storage.spec.whatwg.org/#obtain-a-session-storage-bottle-map 50798. https://webidl.spec.whatwg.org/#this 50799. https://html.spec.whatwg.org/#relevant-settings-object 50800. https://webidl.spec.whatwg.org/#securityerror 50801. https://webidl.spec.whatwg.org/#dfn-DOMException 50802. https://html.spec.whatwg.org/#storage-2 50803. https://html.spec.whatwg.org/#concept-storage-map 50804. https://webidl.spec.whatwg.org/#this 50805. https://html.spec.whatwg.org/#concept-document-window 50806. https://html.spec.whatwg.org/#session-storage-holder 50807. https://html.spec.whatwg.org/#creating-a-new-auxiliary-browsing-context 50808. https://html.spec.whatwg.org/#copy-session-storage 50809. https://html.spec.whatwg.org/#dom-localstorage 50810. https://html.spec.whatwg.org/#storage-2 50811. https://html.spec.whatwg.org/#dom-localstorage 50812. https://html.spec.whatwg.org/#window 50813. https://html.spec.whatwg.org/#windowlocalstorage 50814. https://html.spec.whatwg.org/#dom-localstorage 50815. https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage 50816. https://html.spec.whatwg.org/#storage-2 50817. https://webidl.spec.whatwg.org/#securityerror 50818. https://webidl.spec.whatwg.org/#dfn-DOMException 50819. https://html.spec.whatwg.org/#document 50820. https://dom.spec.whatwg.org/#concept-document-origin 50821. https://html.spec.whatwg.org/#concept-origin-opaque 50822. https://html.spec.whatwg.org/#document 50823. https://html.spec.whatwg.org/#storage-2 50824. https://infra.spec.whatwg.org/#tracking-vector 50825. https://webidl.spec.whatwg.org/#this 50826. https://html.spec.whatwg.org/#concept-document-window 50827. https://html.spec.whatwg.org/#local-storage-holder 50828. https://webidl.spec.whatwg.org/#this 50829. https://html.spec.whatwg.org/#concept-document-window 50830. https://html.spec.whatwg.org/#local-storage-holder 50831. https://storage.spec.whatwg.org/#obtain-a-local-storage-bottle-map 50832. https://webidl.spec.whatwg.org/#this 50833. https://html.spec.whatwg.org/#relevant-settings-object 50834. https://webidl.spec.whatwg.org/#securityerror 50835. https://webidl.spec.whatwg.org/#dfn-DOMException 50836. https://html.spec.whatwg.org/#storage-2 50837. https://html.spec.whatwg.org/#concept-storage-map 50838. https://webidl.spec.whatwg.org/#this 50839. https://html.spec.whatwg.org/#concept-document-window 50840. https://html.spec.whatwg.org/#local-storage-holder 50841. https://html.spec.whatwg.org/#storageevent 50842. https://developer.mozilla.org/en-US/docs/Web/API/StorageEvent 50843. https://dom.spec.whatwg.org/#interface-event 50844. https://html.spec.whatwg.org/#storageeventinit 50845. https://html.spec.whatwg.org/#dom-storageevent-key 50846. https://html.spec.whatwg.org/#dom-storageevent-oldvalue 50847. https://html.spec.whatwg.org/#dom-storageevent-newvalue 50848. https://html.spec.whatwg.org/#dom-storageevent-url 50849. https://html.spec.whatwg.org/#storage-2 50850. https://html.spec.whatwg.org/#dom-storageevent-storagearea 50851. https://html.spec.whatwg.org/#dom-storageevent-initstorageevent 50852. https://dom.spec.whatwg.org/#dictdef-eventinit 50853. https://html.spec.whatwg.org/#storage-2 50854. https://html.spec.whatwg.org/#dom-storageevent-key 50855. https://html.spec.whatwg.org/#dom-storageevent-oldvalue 50856. https://html.spec.whatwg.org/#dom-storageevent-newvalue 50857. https://html.spec.whatwg.org/#dom-storageevent-url 50858. https://dom.spec.whatwg.org/#concept-document-url 50859. https://html.spec.whatwg.org/#dom-storageevent-storagearea 50860. https://html.spec.whatwg.org/#storage-2 50861. https://dom.spec.whatwg.org/#dom-event-initevent 50862. https://html.spec.whatwg.org/#refsDOM 50863. https://html.spec.whatwg.org/#dom-localstorage 50864. https://html.spec.whatwg.org/#nav-document 50865. https://html.spec.whatwg.org/#top-level-traversable 50866. https://html.spec.whatwg.org/#the-iframe-element 50867. https://html.spec.whatwg.org/#navigable 50868. https://html.spec.whatwg.org/#refsCOOKIES 50869. https://html.spec.whatwg.org/#concept-origin 50870. https://html.spec.whatwg.org/#concept-origin 50871. https://mimesniff.spec.whatwg.org/#html-mime-type 50872. https://html.spec.whatwg.org/#the-xhtml-syntax 50873. https://html.spec.whatwg.org/#syntax-comments 50874. https://infra.spec.whatwg.org/#ascii-whitespace 50875. https://html.spec.whatwg.org/#syntax-doctype 50876. https://html.spec.whatwg.org/#syntax-comments 50877. https://infra.spec.whatwg.org/#ascii-whitespace 50878. https://dom.spec.whatwg.org/#document-element 50879. https://html.spec.whatwg.org/#the-html-element 50880. https://html.spec.whatwg.org/#syntax-elements 50881. https://html.spec.whatwg.org/#syntax-comments 50882. https://infra.spec.whatwg.org/#ascii-whitespace 50883. https://html.spec.whatwg.org/#character-encoding-declaration 50884. https://infra.spec.whatwg.org/#ascii-whitespace 50885. https://html.spec.whatwg.org/#the-html-element 50886. https://html.spec.whatwg.org/#the-html-element 50887. https://html.spec.whatwg.org/#the-head-element 50888. https://infra.spec.whatwg.org/#ascii-whitespace 50889. https://html.spec.whatwg.org/#the-html-element 50890. https://html.spec.whatwg.org/#the-body-element 50891. https://infra.spec.whatwg.org/#ascii-whitespace 50892. https://dom.spec.whatwg.org/#document-element 50893. https://html.spec.whatwg.org/#the-html-element 50894. https://html.spec.whatwg.org/#syntax-tag-omission 50895. https://html.spec.whatwg.org/#the-html-element 50896. https://html.spec.whatwg.org/#the-head-element 50897. https://infra.spec.whatwg.org/#ascii-upper-alpha 50898. https://infra.spec.whatwg.org/#ascii-lower-alpha 50899. https://infra.spec.whatwg.org/#ascii-case-insensitive 50900. https://infra.spec.whatwg.org/#ascii-whitespace 50901. https://infra.spec.whatwg.org/#ascii-case-insensitive 50902. https://html.spec.whatwg.org/#doctype-legacy-string 50903. https://infra.spec.whatwg.org/#ascii-whitespace 50904. https://infra.spec.whatwg.org/#ascii-whitespace 50905. https://infra.spec.whatwg.org/#ascii-case-insensitive 50906. https://infra.spec.whatwg.org/#ascii-whitespace 50907. https://html.spec.whatwg.org/#about:legacy-compat 50908. https://html.spec.whatwg.org/#doctype-legacy-string 50909. https://html.spec.whatwg.org/#void-elements 50910. https://html.spec.whatwg.org/#the-template-element-2 50911. https://html.spec.whatwg.org/#raw-text-elements 50912. https://html.spec.whatwg.org/#escapable-raw-text-elements 50913. https://html.spec.whatwg.org/#foreign-elements 50914. https://html.spec.whatwg.org/#normal-elements 50915. https://html.spec.whatwg.org/#the-area-element 50916. https://html.spec.whatwg.org/#the-base-element 50917. https://html.spec.whatwg.org/#the-br-element 50918. https://html.spec.whatwg.org/#the-col-element 50919. https://html.spec.whatwg.org/#the-embed-element 50920. https://html.spec.whatwg.org/#the-hr-element 50921. https://html.spec.whatwg.org/#the-img-element 50922. https://html.spec.whatwg.org/#the-input-element 50923. https://html.spec.whatwg.org/#the-link-element 50924. https://html.spec.whatwg.org/#the-meta-element 50925. https://html.spec.whatwg.org/#the-source-element 50926. https://html.spec.whatwg.org/#the-track-element 50927. https://html.spec.whatwg.org/#the-wbr-element 50928. https://html.spec.whatwg.org/#the-template-element 50929. https://html.spec.whatwg.org/#the-script-element 50930. https://html.spec.whatwg.org/#the-style-element 50931. https://html.spec.whatwg.org/#the-textarea-element 50932. https://html.spec.whatwg.org/#the-title-element 50933. https://infra.spec.whatwg.org/#mathml-namespace 50934. https://infra.spec.whatwg.org/#svg-namespace 50935. https://html.spec.whatwg.org/#html-elements 50936. https://html.spec.whatwg.org/#raw-text-elements 50937. https://html.spec.whatwg.org/#escapable-raw-text-elements 50938. https://html.spec.whatwg.org/#normal-elements 50939. https://html.spec.whatwg.org/#syntax-start-tag 50940. https://html.spec.whatwg.org/#syntax-end-tag 50941. https://html.spec.whatwg.org/#normal-elements 50942. https://html.spec.whatwg.org/#syntax-tag-omission 50943. https://html.spec.whatwg.org/#syntax-tag-omission 50944. https://html.spec.whatwg.org/#void-elements 50945. https://html.spec.whatwg.org/#void-elements 50946. https://html.spec.whatwg.org/#foreign-elements 50947. https://html.spec.whatwg.org/#concept-html-contents 50948. https://html.spec.whatwg.org/#syntax-tag-omission 50949. https://html.spec.whatwg.org/#syntax-tag-omission 50950. https://html.spec.whatwg.org/#content-models 50951. https://html.spec.whatwg.org/#void-elements 50952. https://html.spec.whatwg.org/#the-template-element-2 50953. https://html.spec.whatwg.org/#template-contents 50954. https://html.spec.whatwg.org/#template-contents 50955. https://html.spec.whatwg.org/#the-template-element 50956. https://dom.spec.whatwg.org/#interface-documentfragment 50957. https://html.spec.whatwg.org/#document 50958. https://html.spec.whatwg.org/#browsing-context 50959. https://html.spec.whatwg.org/#the-template-element 50960. https://html.spec.whatwg.org/#document 50961. https://html.spec.whatwg.org/#template-contents 50962. https://html.spec.whatwg.org/#the-template-element 50963. https://html.spec.whatwg.org/#the-template-element 50964. https://html.spec.whatwg.org/#the-template-element 50965. https://html.spec.whatwg.org/#syntax-text 50966. https://html.spec.whatwg.org/#syntax-charref 50967. https://html.spec.whatwg.org/#syntax-elements 50968. https://html.spec.whatwg.org/#syntax-comments 50969. https://html.spec.whatwg.org/#syntax-ambiguous-ampersand 50970. https://html.spec.whatwg.org/#raw-text-elements 50971. https://html.spec.whatwg.org/#syntax-text 50972. https://html.spec.whatwg.org/#cdata-rcdata-restrictions 50973. https://html.spec.whatwg.org/#escapable-raw-text-elements 50974. https://html.spec.whatwg.org/#syntax-text 50975. https://html.spec.whatwg.org/#syntax-charref 50976. https://html.spec.whatwg.org/#syntax-ambiguous-ampersand 50977. https://html.spec.whatwg.org/#cdata-rcdata-restrictions 50978. https://html.spec.whatwg.org/#foreign-elements 50979. https://html.spec.whatwg.org/#foreign-elements 50980. https://html.spec.whatwg.org/#syntax-text 50981. https://html.spec.whatwg.org/#syntax-charref 50982. https://html.spec.whatwg.org/#syntax-cdata 50983. https://html.spec.whatwg.org/#syntax-elements 50984. https://html.spec.whatwg.org/#syntax-comments 50985. https://html.spec.whatwg.org/#syntax-ambiguous-ampersand 50986. https://html.spec.whatwg.org/#foreign-elements 50987. https://html.spec.whatwg.org/#normal-elements 50988. https://html.spec.whatwg.org/#syntax-text 50989. https://html.spec.whatwg.org/#syntax-charref 50990. https://html.spec.whatwg.org/#syntax-elements 50991. https://html.spec.whatwg.org/#syntax-comments 50992. https://html.spec.whatwg.org/#syntax-ambiguous-ampersand 50993. https://html.spec.whatwg.org/#normal-elements 50994. https://html.spec.whatwg.org/#element-restrictions 50995. https://infra.spec.whatwg.org/#ascii-alphanumeric 50996. https://html.spec.whatwg.org/#foreign-elements 50997. https://html.spec.whatwg.org/#syntax-tag-name 50998. https://infra.spec.whatwg.org/#ascii-whitespace 50999. https://html.spec.whatwg.org/#syntax-attributes 51000. https://infra.spec.whatwg.org/#ascii-whitespace 51001. https://html.spec.whatwg.org/#syntax-tag-name 51002. https://infra.spec.whatwg.org/#ascii-whitespace 51003. https://html.spec.whatwg.org/#syntax-attributes 51004. https://html.spec.whatwg.org/#void-elements 51005. https://html.spec.whatwg.org/#foreign-elements 51006. https://html.spec.whatwg.org/#foreign-elements 51007. https://html.spec.whatwg.org/#void-elements 51008. https://html.spec.whatwg.org/#unquoted 51009. https://html.spec.whatwg.org/#syntax-tag-name 51010. https://infra.spec.whatwg.org/#ascii-whitespace 51011. https://infra.spec.whatwg.org/#control 51012. https://infra.spec.whatwg.org/#noncharacter 51013. https://html.spec.whatwg.org/#foreign-elements 51014. https://infra.spec.whatwg.org/#ascii-lower-alpha 51015. https://infra.spec.whatwg.org/#ascii-upper-alpha 51016. https://html.spec.whatwg.org/#syntax-text 51017. https://html.spec.whatwg.org/#syntax-charref 51018. https://html.spec.whatwg.org/#syntax-ambiguous-ampersand 51019. https://html.spec.whatwg.org/#syntax-attribute-name 51020. https://html.spec.whatwg.org/#attr-fe-disabled 51021. https://infra.spec.whatwg.org/#ascii-whitespace 51022. https://html.spec.whatwg.org/#syntax-attribute-name 51023. https://infra.spec.whatwg.org/#ascii-whitespace 51024. https://infra.spec.whatwg.org/#ascii-whitespace 51025. https://html.spec.whatwg.org/#syntax-attribute-value 51026. https://infra.spec.whatwg.org/#ascii-whitespace 51027. https://html.spec.whatwg.org/#attr-input-value 51028. https://html.spec.whatwg.org/#syntax-start-tag 51029. https://infra.spec.whatwg.org/#ascii-whitespace 51030. https://html.spec.whatwg.org/#syntax-attribute-name 51031. https://infra.spec.whatwg.org/#ascii-whitespace 51032. https://infra.spec.whatwg.org/#ascii-whitespace 51033. https://html.spec.whatwg.org/#syntax-attribute-value 51034. https://html.spec.whatwg.org/#attr-input-type 51035. https://infra.spec.whatwg.org/#ascii-whitespace 51036. https://html.spec.whatwg.org/#syntax-attribute-name 51037. https://infra.spec.whatwg.org/#ascii-whitespace 51038. https://infra.spec.whatwg.org/#ascii-whitespace 51039. https://html.spec.whatwg.org/#syntax-attribute-value 51040. https://html.spec.whatwg.org/#attr-fe-name 51041. https://infra.spec.whatwg.org/#ascii-whitespace 51042. https://infra.spec.whatwg.org/#ascii-case-insensitive 51043. https://html.spec.whatwg.org/#foreign-elements 51044. https://infra.spec.whatwg.org/#xlink-namespace 51045. https://infra.spec.whatwg.org/#xlink-namespace 51046. https://infra.spec.whatwg.org/#xlink-namespace 51047. https://infra.spec.whatwg.org/#xlink-namespace 51048. https://infra.spec.whatwg.org/#xlink-namespace 51049. https://infra.spec.whatwg.org/#xlink-namespace 51050. https://infra.spec.whatwg.org/#xlink-namespace 51051. https://infra.spec.whatwg.org/#xml-namespace 51052. https://infra.spec.whatwg.org/#xml-namespace 51053. https://infra.spec.whatwg.org/#xmlns-namespace 51054. https://infra.spec.whatwg.org/#xmlns-namespace 51055. https://html.spec.whatwg.org/#syntax 51056. https://html.spec.whatwg.org/#syntax-start-tag 51057. https://html.spec.whatwg.org/#the-html-element 51058. https://html.spec.whatwg.org/#the-html-element 51059. https://html.spec.whatwg.org/#syntax-start-tag 51060. https://html.spec.whatwg.org/#the-html-element 51061. https://html.spec.whatwg.org/#syntax-comments 51062. https://dom.spec.whatwg.org/#document-element 51063. https://html.spec.whatwg.org/#the-html-element 51064. https://html.spec.whatwg.org/#the-html-element 51065. https://html.spec.whatwg.org/#syntax-end-tag 51066. https://html.spec.whatwg.org/#the-html-element 51067. https://html.spec.whatwg.org/#syntax-comments 51068. https://html.spec.whatwg.org/#the-head-element 51069. https://html.spec.whatwg.org/#syntax-start-tag 51070. https://html.spec.whatwg.org/#the-head-element 51071. https://html.spec.whatwg.org/#the-head-element 51072. https://html.spec.whatwg.org/#syntax-end-tag 51073. https://html.spec.whatwg.org/#the-head-element 51074. https://infra.spec.whatwg.org/#ascii-whitespace 51075. https://html.spec.whatwg.org/#syntax-comments 51076. https://html.spec.whatwg.org/#the-body-element 51077. https://html.spec.whatwg.org/#syntax-start-tag 51078. https://html.spec.whatwg.org/#the-body-element 51079. https://infra.spec.whatwg.org/#ascii-whitespace 51080. https://html.spec.whatwg.org/#syntax-comments 51081. https://html.spec.whatwg.org/#the-body-element 51082. https://html.spec.whatwg.org/#the-meta-element 51083. https://html.spec.whatwg.org/#the-noscript-element 51084. https://html.spec.whatwg.org/#the-link-element 51085. https://html.spec.whatwg.org/#the-script-element 51086. https://html.spec.whatwg.org/#the-style-element 51087. https://html.spec.whatwg.org/#the-template-element 51088. https://html.spec.whatwg.org/#the-body-element 51089. https://html.spec.whatwg.org/#syntax-end-tag 51090. https://html.spec.whatwg.org/#the-body-element 51091. https://html.spec.whatwg.org/#syntax-comments 51092. https://html.spec.whatwg.org/#the-head-element 51093. https://html.spec.whatwg.org/#the-body-element 51094. https://html.spec.whatwg.org/#the-body-element 51095. https://html.spec.whatwg.org/#the-html-element 51096. https://html.spec.whatwg.org/#the-body-element 51097. https://html.spec.whatwg.org/#the-head-element 51098. https://html.spec.whatwg.org/#the-li-element 51099. https://html.spec.whatwg.org/#syntax-end-tag 51100. https://html.spec.whatwg.org/#the-li-element 51101. https://html.spec.whatwg.org/#the-li-element 51102. https://html.spec.whatwg.org/#the-dt-element 51103. https://html.spec.whatwg.org/#syntax-end-tag 51104. https://html.spec.whatwg.org/#the-dt-element 51105. https://html.spec.whatwg.org/#the-dt-element 51106. https://html.spec.whatwg.org/#the-dd-element 51107. https://html.spec.whatwg.org/#the-dd-element 51108. https://html.spec.whatwg.org/#syntax-end-tag 51109. https://html.spec.whatwg.org/#the-dd-element 51110. https://html.spec.whatwg.org/#the-dd-element 51111. https://html.spec.whatwg.org/#the-dt-element 51112. https://html.spec.whatwg.org/#the-p-element 51113. https://html.spec.whatwg.org/#syntax-end-tag 51114. https://html.spec.whatwg.org/#the-p-element 51115. https://html.spec.whatwg.org/#the-address-element 51116. https://html.spec.whatwg.org/#the-article-element 51117. https://html.spec.whatwg.org/#the-aside-element 51118. https://html.spec.whatwg.org/#the-blockquote-element 51119. https://html.spec.whatwg.org/#the-details-element 51120. https://html.spec.whatwg.org/#the-dialog-element 51121. https://html.spec.whatwg.org/#the-div-element 51122. https://html.spec.whatwg.org/#the-dl-element 51123. https://html.spec.whatwg.org/#the-fieldset-element 51124. https://html.spec.whatwg.org/#the-figcaption-element 51125. https://html.spec.whatwg.org/#the-figure-element 51126. https://html.spec.whatwg.org/#the-footer-element 51127. https://html.spec.whatwg.org/#the-form-element 51128. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 51129. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 51130. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 51131. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 51132. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 51133. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 51134. https://html.spec.whatwg.org/#the-header-element 51135. https://html.spec.whatwg.org/#the-hgroup-element 51136. https://html.spec.whatwg.org/#the-hr-element 51137. https://html.spec.whatwg.org/#the-main-element 51138. https://html.spec.whatwg.org/#the-menu-element 51139. https://html.spec.whatwg.org/#the-nav-element 51140. https://html.spec.whatwg.org/#the-ol-element 51141. https://html.spec.whatwg.org/#the-p-element 51142. https://html.spec.whatwg.org/#the-pre-element 51143. https://html.spec.whatwg.org/#the-search-element 51144. https://html.spec.whatwg.org/#the-section-element 51145. https://html.spec.whatwg.org/#the-table-element 51146. https://html.spec.whatwg.org/#the-ul-element 51147. https://html.spec.whatwg.org/#html-elements 51148. https://html.spec.whatwg.org/#the-a-element 51149. https://html.spec.whatwg.org/#the-audio-element 51150. https://html.spec.whatwg.org/#the-del-element 51151. https://html.spec.whatwg.org/#the-ins-element 51152. https://html.spec.whatwg.org/#the-map-element 51153. https://html.spec.whatwg.org/#the-noscript-element 51154. https://html.spec.whatwg.org/#the-video-element 51155. https://html.spec.whatwg.org/#autonomous-custom-element 51156. https://html.spec.whatwg.org/#the-rt-element 51157. https://html.spec.whatwg.org/#syntax-end-tag 51158. https://html.spec.whatwg.org/#the-rt-element 51159. https://html.spec.whatwg.org/#the-rt-element 51160. https://html.spec.whatwg.org/#the-rp-element 51161. https://html.spec.whatwg.org/#the-rp-element 51162. https://html.spec.whatwg.org/#syntax-end-tag 51163. https://html.spec.whatwg.org/#the-rp-element 51164. https://html.spec.whatwg.org/#the-rt-element 51165. https://html.spec.whatwg.org/#the-rp-element 51166. https://html.spec.whatwg.org/#the-optgroup-element 51167. https://html.spec.whatwg.org/#syntax-end-tag 51168. https://html.spec.whatwg.org/#the-optgroup-element 51169. https://html.spec.whatwg.org/#the-optgroup-element 51170. https://html.spec.whatwg.org/#the-hr-element 51171. https://html.spec.whatwg.org/#the-option-element 51172. https://html.spec.whatwg.org/#syntax-end-tag 51173. https://html.spec.whatwg.org/#the-option-element 51174. https://html.spec.whatwg.org/#the-option-element 51175. https://html.spec.whatwg.org/#the-optgroup-element 51176. https://html.spec.whatwg.org/#the-hr-element 51177. https://html.spec.whatwg.org/#the-colgroup-element 51178. https://html.spec.whatwg.org/#syntax-start-tag 51179. https://html.spec.whatwg.org/#the-colgroup-element 51180. https://html.spec.whatwg.org/#the-col-element 51181. https://html.spec.whatwg.org/#the-colgroup-element 51182. https://html.spec.whatwg.org/#syntax-end-tag 51183. https://html.spec.whatwg.org/#the-colgroup-element 51184. https://html.spec.whatwg.org/#syntax-end-tag 51185. https://html.spec.whatwg.org/#the-colgroup-element 51186. https://infra.spec.whatwg.org/#ascii-whitespace 51187. https://html.spec.whatwg.org/#syntax-comments 51188. https://html.spec.whatwg.org/#the-caption-element 51189. https://html.spec.whatwg.org/#syntax-end-tag 51190. https://html.spec.whatwg.org/#the-caption-element 51191. https://infra.spec.whatwg.org/#ascii-whitespace 51192. https://html.spec.whatwg.org/#syntax-comments 51193. https://html.spec.whatwg.org/#the-thead-element 51194. https://html.spec.whatwg.org/#syntax-end-tag 51195. https://html.spec.whatwg.org/#the-thead-element 51196. https://html.spec.whatwg.org/#the-tbody-element 51197. https://html.spec.whatwg.org/#the-tfoot-element 51198. https://html.spec.whatwg.org/#the-tbody-element 51199. https://html.spec.whatwg.org/#syntax-start-tag 51200. https://html.spec.whatwg.org/#the-tbody-element 51201. https://html.spec.whatwg.org/#the-tr-element 51202. https://html.spec.whatwg.org/#the-tbody-element 51203. https://html.spec.whatwg.org/#the-thead-element 51204. https://html.spec.whatwg.org/#the-tfoot-element 51205. https://html.spec.whatwg.org/#syntax-end-tag 51206. https://html.spec.whatwg.org/#the-tbody-element 51207. https://html.spec.whatwg.org/#syntax-end-tag 51208. https://html.spec.whatwg.org/#the-tbody-element 51209. https://html.spec.whatwg.org/#the-tbody-element 51210. https://html.spec.whatwg.org/#the-tfoot-element 51211. https://html.spec.whatwg.org/#the-tfoot-element 51212. https://html.spec.whatwg.org/#syntax-end-tag 51213. https://html.spec.whatwg.org/#the-tr-element 51214. https://html.spec.whatwg.org/#syntax-end-tag 51215. https://html.spec.whatwg.org/#the-tr-element 51216. https://html.spec.whatwg.org/#the-tr-element 51217. https://html.spec.whatwg.org/#the-td-element 51218. https://html.spec.whatwg.org/#syntax-end-tag 51219. https://html.spec.whatwg.org/#the-td-element 51220. https://html.spec.whatwg.org/#the-td-element 51221. https://html.spec.whatwg.org/#the-th-element 51222. https://html.spec.whatwg.org/#the-th-element 51223. https://html.spec.whatwg.org/#syntax-end-tag 51224. https://html.spec.whatwg.org/#the-th-element 51225. https://html.spec.whatwg.org/#the-td-element 51226. https://html.spec.whatwg.org/#the-th-element 51227. https://html.spec.whatwg.org/#syntax-start-tag 51228. https://html.spec.whatwg.org/#the-body-element 51229. https://html.spec.whatwg.org/#classes 51230. https://html.spec.whatwg.org/#the-html-element 51231. https://html.spec.whatwg.org/#attr-lang 51232. https://html.spec.whatwg.org/#content-models 51233. https://html.spec.whatwg.org/#content-models 51234. https://html.spec.whatwg.org/#the-table-element 51235. https://html.spec.whatwg.org/#the-tr-element 51236. https://html.spec.whatwg.org/#the-table-element 51237. https://html.spec.whatwg.org/#the-tr-element 51238. https://html.spec.whatwg.org/#the-table-element 51239. https://html.spec.whatwg.org/#the-tbody-element 51240. https://html.spec.whatwg.org/#syntax-newlines 51241. https://html.spec.whatwg.org/#syntax-start-tag 51242. https://html.spec.whatwg.org/#the-pre-element 51243. https://html.spec.whatwg.org/#the-textarea-element 51244. https://html.spec.whatwg.org/#syntax-newlines 51245. https://html.spec.whatwg.org/#syntax-newlines 51246. https://html.spec.whatwg.org/#the-pre-element 51247. https://html.spec.whatwg.org/#raw-text-elements 51248. https://html.spec.whatwg.org/#escapable-raw-text-elements 51249. https://html.spec.whatwg.org/#syntax-charref 51250. https://html.spec.whatwg.org/#syntax-newlines 51251. https://html.spec.whatwg.org/#syntax-text 51252. https://html.spec.whatwg.org/#syntax-text 51253. https://html.spec.whatwg.org/#named-character-references 51254. https://infra.spec.whatwg.org/#ascii-digit 51255. https://infra.spec.whatwg.org/#ascii-hex-digit 51256. https://infra.spec.whatwg.org/#noncharacter 51257. https://infra.spec.whatwg.org/#control 51258. https://infra.spec.whatwg.org/#ascii-whitespace 51259. https://infra.spec.whatwg.org/#ascii-alphanumeric 51260. https://html.spec.whatwg.org/#named-character-references 51261. https://html.spec.whatwg.org/#syntax-text 51262. https://w3c.github.io/mathml-core/#string-literal-ms 51263. https://html.spec.whatwg.org/#syntax-text 51264. https://html.spec.whatwg.org/#syntax-text 51265. https://html.spec.whatwg.org/#the-xhtml-syntax 51266. https://html.spec.whatwg.org/#text/html 51267. https://html.spec.whatwg.org/#syntax 51268. https://dom.spec.whatwg.org/#html-document 51269. https://html.spec.whatwg.org/#html-elements 51270. https://html.spec.whatwg.org/#element-type 51271. https://infra.spec.whatwg.org/#html-namespace 51272. https://html.spec.whatwg.org/#the-menu-element 51273. https://html.spec.whatwg.org/#htmlmenuelement 51274. https://infra.spec.whatwg.org/#code-point 51275. https://html.spec.whatwg.org/#tokenization 51276. https://html.spec.whatwg.org/#tree-construction 51277. https://html.spec.whatwg.org/#document 51278. https://html.spec.whatwg.org/#non-scripted 51279. https://html.spec.whatwg.org/#document 51280. https://html.spec.whatwg.org/#dynamic-markup-insertion 51281. https://html.spec.whatwg.org/#dom-document-write 51282. https://html.spec.whatwg.org/#parse-errors 51283. https://html.spec.whatwg.org/#abort-a-parser 51284. https://html.spec.whatwg.org/#parse-errors 51285. https://html.spec.whatwg.org/#syntax-comments 51286. https://infra.spec.whatwg.org/#code-point 51287. https://infra.spec.whatwg.org/#code-point 51288. https://html.spec.whatwg.org/#syntax-doctype 51289. https://html.spec.whatwg.org/#document 51290. https://dom.spec.whatwg.org/#concept-document-quirks 51291. https://infra.spec.whatwg.org/#code-point 51292. https://html.spec.whatwg.org/#syntax-doctype 51293. https://html.spec.whatwg.org/#document 51294. https://dom.spec.whatwg.org/#concept-document-quirks 51295. https://html.spec.whatwg.org/#syntax-charref 51296. https://html.spec.whatwg.org/#syntax-cdata 51297. https://html.spec.whatwg.org/#syntax-charref 51298. https://infra.spec.whatwg.org/#code-point 51299. https://html.spec.whatwg.org/#input-stream 51300. https://infra.spec.whatwg.org/#control 51301. https://infra.spec.whatwg.org/#code-point 51302. https://infra.spec.whatwg.org/#ascii-whitespace 51303. https://html.spec.whatwg.org/#syntax-charref 51304. https://infra.spec.whatwg.org/#control 51305. https://infra.spec.whatwg.org/#code-point 51306. https://infra.spec.whatwg.org/#ascii-whitespace 51307. https://html.spec.whatwg.org/#numeric-character-reference-end-state 51308. https://html.spec.whatwg.org/#syntax-attributes 51309. https://html.spec.whatwg.org/#syntax-end-tag 51310. https://html.spec.whatwg.org/#syntax-attributes 51311. https://html.spec.whatwg.org/#syntax-end-tag 51312. https://infra.spec.whatwg.org/#code-point 51313. https://html.spec.whatwg.org/#input-stream 51314. https://html.spec.whatwg.org/#syntax-start-tag 51315. https://html.spec.whatwg.org/#syntax-end-tag 51316. https://html.spec.whatwg.org/#input-stream 51317. https://html.spec.whatwg.org/#syntax-cdata 51318. https://html.spec.whatwg.org/#input-stream 51319. https://html.spec.whatwg.org/#syntax-comments 51320. https://html.spec.whatwg.org/#syntax-doctype 51321. https://html.spec.whatwg.org/#document 51322. https://dom.spec.whatwg.org/#concept-document-quirks 51323. https://html.spec.whatwg.org/#input-stream 51324. https://html.spec.whatwg.org/#syntax-comments 51325. https://html.spec.whatwg.org/#the-script-element 51326. https://html.spec.whatwg.org/#the-script-element 51327. https://html.spec.whatwg.org/#restrictions-for-contents-of-script-elements 51328. https://html.spec.whatwg.org/#refsJAVASCRIPT 51329. https://html.spec.whatwg.org/#input-stream 51330. https://html.spec.whatwg.org/#syntax-start-tag 51331. https://html.spec.whatwg.org/#syntax-end-tag 51332. https://html.spec.whatwg.org/#syntax-comments 51333. https://infra.spec.whatwg.org/#code-point 51334. https://infra.spec.whatwg.org/#code-point 51335. https://html.spec.whatwg.org/#syntax-doctype 51336. https://html.spec.whatwg.org/#syntax-cdata 51337. https://html.spec.whatwg.org/#input-stream 51338. https://infra.spec.whatwg.org/#code-point 51339. https://html.spec.whatwg.org/#syntax-doctype 51340. https://html.spec.whatwg.org/#parser-cannot-change-the-mode-flag 51341. https://html.spec.whatwg.org/#document 51342. https://dom.spec.whatwg.org/#concept-document-quirks 51343. https://infra.spec.whatwg.org/#code-point 51344. https://infra.spec.whatwg.org/#ascii-alpha 51345. https://html.spec.whatwg.org/#syntax-start-tag 51346. https://html.spec.whatwg.org/#syntax-end-tag 51347. https://html.spec.whatwg.org/#input-stream 51348. https://html.spec.whatwg.org/#the-html-element 51349. https://html.spec.whatwg.org/#the-head-element 51350. https://html.spec.whatwg.org/#the-body-element 51351. https://dom.spec.whatwg.org/#interface-text 51352. https://dom.spec.whatwg.org/#interface-comment 51353. https://infra.spec.whatwg.org/#ascii-alpha 51354. https://infra.spec.whatwg.org/#ascii-digit 51355. https://infra.spec.whatwg.org/#code-point 51356. https://html.spec.whatwg.org/#syntax-attributes 51357. https://html.spec.whatwg.org/#syntax-doctype 51358. https://html.spec.whatwg.org/#document 51359. https://dom.spec.whatwg.org/#concept-document-quirks 51360. https://infra.spec.whatwg.org/#code-point 51361. https://html.spec.whatwg.org/#syntax-doctype 51362. https://html.spec.whatwg.org/#document 51363. https://dom.spec.whatwg.org/#concept-document-quirks 51364. https://infra.spec.whatwg.org/#code-point 51365. https://html.spec.whatwg.org/#syntax-doctype 51366. https://html.spec.whatwg.org/#document 51367. https://dom.spec.whatwg.org/#concept-document-quirks 51368. https://infra.spec.whatwg.org/#code-point 51369. https://html.spec.whatwg.org/#syntax-end-tag 51370. https://html.spec.whatwg.org/#syntax-doctype 51371. https://html.spec.whatwg.org/#document 51372. https://dom.spec.whatwg.org/#concept-document-quirks 51373. https://html.spec.whatwg.org/#syntax-doctype 51374. https://html.spec.whatwg.org/#document 51375. https://dom.spec.whatwg.org/#concept-document-quirks 51376. https://html.spec.whatwg.org/#syntax-charref 51377. https://infra.spec.whatwg.org/#code-point 51378. https://html.spec.whatwg.org/#syntax-doctype 51379. https://infra.spec.whatwg.org/#ascii-whitespace 51380. https://html.spec.whatwg.org/#syntax-doctype 51381. https://infra.spec.whatwg.org/#ascii-whitespace 51382. https://html.spec.whatwg.org/#syntax-doctype 51383. https://infra.spec.whatwg.org/#ascii-whitespace 51384. https://html.spec.whatwg.org/#syntax-attributes 51385. https://infra.spec.whatwg.org/#ascii-whitespace 51386. https://html.spec.whatwg.org/#syntax-doctype 51387. https://infra.spec.whatwg.org/#ascii-whitespace 51388. https://html.spec.whatwg.org/#syntax-comments 51389. https://infra.spec.whatwg.org/#code-point 51390. https://html.spec.whatwg.org/#syntax-charref 51391. https://infra.spec.whatwg.org/#noncharacter 51392. https://html.spec.whatwg.org/#input-stream 51393. https://infra.spec.whatwg.org/#noncharacter 51394. https://infra.spec.whatwg.org/#code-point 51395. https://html.spec.whatwg.org/#syntax-start-tag 51396. https://html.spec.whatwg.org/#void-elements 51397. https://infra.spec.whatwg.org/#code-point 51398. https://html.spec.whatwg.org/#the-html-element 51399. https://html.spec.whatwg.org/#the-head-element 51400. https://html.spec.whatwg.org/#the-body-element 51401. https://html.spec.whatwg.org/#the-div-element 51402. https://html.spec.whatwg.org/#the-span-element 51403. https://html.spec.whatwg.org/#the-span-element 51404. https://html.spec.whatwg.org/#syntax-charref 51405. https://infra.spec.whatwg.org/#code-point 51406. https://html.spec.whatwg.org/#syntax-charref 51407. https://infra.spec.whatwg.org/#surrogate 51408. https://html.spec.whatwg.org/#input-stream 51409. https://infra.spec.whatwg.org/#surrogate 51410. https://infra.spec.whatwg.org/#code-point 51411. https://html.spec.whatwg.org/#dom-document-write 51412. https://infra.spec.whatwg.org/#code-point 51413. https://infra.spec.whatwg.org/#ascii-whitespace 51414. https://html.spec.whatwg.org/#syntax-doctype 51415. https://infra.spec.whatwg.org/#code-point 51416. https://html.spec.whatwg.org/#syntax-attribute-name 51417. https://html.spec.whatwg.org/#the-div-element 51418. https://html.spec.whatwg.org/#the-div-element 51419. https://infra.spec.whatwg.org/#code-point 51420. https://html.spec.whatwg.org/#syntax-attribute-value 51421. https://infra.spec.whatwg.org/#code-point 51422. https://html.spec.whatwg.org/#the-div-element 51423. https://infra.spec.whatwg.org/#code-point 51424. https://html.spec.whatwg.org/#input-stream 51425. https://infra.spec.whatwg.org/#code-point 51426. https://html.spec.whatwg.org/#syntax-start-tag 51427. https://html.spec.whatwg.org/#input-stream 51428. https://dom.spec.whatwg.org/#interface-comment 51429. https://html.spec.whatwg.org/#the-html-element 51430. https://html.spec.whatwg.org/#the-head-element 51431. https://html.spec.whatwg.org/#the-body-element 51432. https://infra.spec.whatwg.org/#code-point 51433. https://html.spec.whatwg.org/#syntax-attributes 51434. https://infra.spec.whatwg.org/#ascii-whitespace 51435. https://html.spec.whatwg.org/#syntax-ambiguous-ampersand 51436. https://html.spec.whatwg.org/#syntax-charref 51437. https://html.spec.whatwg.org/#refsXML 51438. https://html.spec.whatwg.org/#encoding-sniffing-algorithm 51439. https://html.spec.whatwg.org/#the-input-byte-stream 51440. https://html.spec.whatwg.org/#input-stream 51441. https://html.spec.whatwg.org/#the-input-byte-stream 51442. https://encoding.spec.whatwg.org/#decode 51443. https://html.spec.whatwg.org/#refsENCODING 51444. https://html.spec.whatwg.org/#meta-charset-during-parse 51445. https://html.spec.whatwg.org/#change-the-encoding 51446. https://html.spec.whatwg.org/#concept-encoding-confidence 51447. https://html.spec.whatwg.org/#input-stream 51448. https://html.spec.whatwg.org/#the-input-byte-stream 51449. https://html.spec.whatwg.org/#concept-encoding-confidence 51450. https://html.spec.whatwg.org/#content-type 51451. https://html.spec.whatwg.org/#concept-encoding-confidence 51452. https://encoding.spec.whatwg.org/#bom-sniff 51453. https://html.spec.whatwg.org/#concept-encoding-confidence 51454. https://encoding.spec.whatwg.org/#decode 51455. https://dom.spec.whatwg.org/#concept-document-encoding 51456. https://html.spec.whatwg.org/#concept-encoding-confidence 51457. https://html.spec.whatwg.org/#concept-encoding-confidence 51458. https://html.spec.whatwg.org/#the-iframe-element 51459. https://html.spec.whatwg.org/#charset1024 51460. https://html.spec.whatwg.org/#concept-encoding-confidence 51461. https://html.spec.whatwg.org/#prescan-a-byte-stream-to-determine-its-encoding 51462. https://html.spec.whatwg.org/#prescan-end-condition 51463. https://html.spec.whatwg.org/#concept-encoding-confidence 51464. https://html.spec.whatwg.org/#html-parser 51465. https://html.spec.whatwg.org/#document 51466. https://html.spec.whatwg.org/#doc-container-document 51467. https://html.spec.whatwg.org/#doc-container-document 51468. https://dom.spec.whatwg.org/#concept-document-origin 51469. https://html.spec.whatwg.org/#same-origin 51470. https://dom.spec.whatwg.org/#concept-document-origin 51471. https://dom.spec.whatwg.org/#concept-document-encoding 51472. https://encoding.spec.whatwg.org/#utf-16be-le 51473. https://dom.spec.whatwg.org/#concept-document-encoding 51474. https://html.spec.whatwg.org/#concept-encoding-confidence 51475. https://html.spec.whatwg.org/#concept-encoding-confidence 51476. https://html.spec.whatwg.org/#concept-encoding-confidence 51477. https://html.spec.whatwg.org/#refsUNIVCHARDET 51478. https://html.spec.whatwg.org/#refsPPUTF8 51479. https://html.spec.whatwg.org/#refsUTF8DET 51480. https://infra.spec.whatwg.org/#implementation-defined 51481. https://html.spec.whatwg.org/#concept-encoding-confidence 51482. https://html.spec.whatwg.org/#refsBCP47 51483. https://html.spec.whatwg.org/#refsENCODING 51484. https://encoding.spec.whatwg.org/#windows-1256 51485. https://encoding.spec.whatwg.org/#windows-1254 51486. https://encoding.spec.whatwg.org/#windows-1251 51487. https://encoding.spec.whatwg.org/#windows-1251 51488. https://encoding.spec.whatwg.org/#windows-1251 51489. https://encoding.spec.whatwg.org/#windows-1250 51490. https://encoding.spec.whatwg.org/#iso-8859-7 51491. https://encoding.spec.whatwg.org/#windows-1257 51492. https://encoding.spec.whatwg.org/#windows-1256 51493. https://encoding.spec.whatwg.org/#windows-1255 51494. https://encoding.spec.whatwg.org/#windows-1250 51495. https://encoding.spec.whatwg.org/#iso-8859-2 51496. https://encoding.spec.whatwg.org/#shift_jis 51497. https://encoding.spec.whatwg.org/#windows-1251 51498. https://encoding.spec.whatwg.org/#euc-kr 51499. https://encoding.spec.whatwg.org/#windows-1254 51500. https://encoding.spec.whatwg.org/#windows-1251 51501. https://encoding.spec.whatwg.org/#windows-1257 51502. https://encoding.spec.whatwg.org/#windows-1257 51503. https://encoding.spec.whatwg.org/#windows-1251 51504. https://encoding.spec.whatwg.org/#iso-8859-2 51505. https://encoding.spec.whatwg.org/#windows-1251 51506. https://encoding.spec.whatwg.org/#windows-1251 51507. https://encoding.spec.whatwg.org/#windows-1250 51508. https://encoding.spec.whatwg.org/#iso-8859-2 51509. https://encoding.spec.whatwg.org/#windows-1251 51510. https://encoding.spec.whatwg.org/#windows-1251 51511. https://encoding.spec.whatwg.org/#windows-874 51512. https://encoding.spec.whatwg.org/#windows-1254 51513. https://encoding.spec.whatwg.org/#windows-1251 51514. https://encoding.spec.whatwg.org/#windows-1251 51515. https://encoding.spec.whatwg.org/#windows-1258 51516. https://encoding.spec.whatwg.org/#gbk 51517. https://encoding.spec.whatwg.org/#big5 51518. https://encoding.spec.whatwg.org/#windows-1252 51519. https://dom.spec.whatwg.org/#concept-document-encoding 51520. https://html.spec.whatwg.org/#concept-get-attributes-when-sniffing 51521. https://html.spec.whatwg.org/#prescan-a-byte-stream-to-determine-its-encoding 51522. https://html.spec.whatwg.org/#concept-get-xml-encoding-when-sniffing 51523. https://html.spec.whatwg.org/#prescan-a-byte-stream-to-determine-its-encoding 51524. https://encoding.spec.whatwg.org/#utf-16le 51525. https://encoding.spec.whatwg.org/#utf-16be 51526. https://www.w3.org/TR/REC-xml/#sec-guessing 51527. https://html.spec.whatwg.org/#concept-get-attributes-when-sniffing 51528. https://html.spec.whatwg.org/#algorithm-for-extracting-a-character-encoding-from-a-meta-element 51529. https://encoding.spec.whatwg.org/#concept-encoding-get 51530. https://encoding.spec.whatwg.org/#utf-16be-le 51531. https://encoding.spec.whatwg.org/#utf-8 51532. https://encoding.spec.whatwg.org/#x-user-defined 51533. https://encoding.spec.whatwg.org/#windows-1252 51534. https://html.spec.whatwg.org/#concept-get-attributes-when-sniffing 51535. https://html.spec.whatwg.org/#prescan-a-byte-stream-to-determine-its-encoding 51536. https://html.spec.whatwg.org/#concept-get-attributes-when-sniffing 51537. https://html.spec.whatwg.org/#concept-get-attributes-when-sniffing 51538. https://html.spec.whatwg.org/#concept-get-attributes-when-sniffing 51539. https://html.spec.whatwg.org/#concept-get-attributes-when-sniffing 51540. https://html.spec.whatwg.org/#concept-get-attributes-when-sniffing 51541. https://html.spec.whatwg.org/#prescan-a-byte-stream-to-determine-its-encoding 51542. https://html.spec.whatwg.org/#text/html 51543. https://encoding.spec.whatwg.org/#concept-encoding-get 51544. https://infra.spec.whatwg.org/#isomorphic-decode 51545. https://encoding.spec.whatwg.org/#utf-16be-le 51546. https://encoding.spec.whatwg.org/#utf-8 51547. https://encoding.spec.whatwg.org/#utf-8 51548. https://encoding.spec.whatwg.org/#iso-8859-2 51549. https://encoding.spec.whatwg.org/#iso-8859-7 51550. https://encoding.spec.whatwg.org/#iso-8859-8 51551. https://encoding.spec.whatwg.org/#windows-874 51552. https://encoding.spec.whatwg.org/#windows-1250 51553. https://encoding.spec.whatwg.org/#windows-1251 51554. https://encoding.spec.whatwg.org/#windows-1252 51555. https://encoding.spec.whatwg.org/#windows-1254 51556. https://encoding.spec.whatwg.org/#windows-1255 51557. https://encoding.spec.whatwg.org/#windows-1256 51558. https://encoding.spec.whatwg.org/#windows-1257 51559. https://encoding.spec.whatwg.org/#windows-1258 51560. https://encoding.spec.whatwg.org/#gbk 51561. https://encoding.spec.whatwg.org/#big5 51562. https://encoding.spec.whatwg.org/#iso-2022-jp 51563. https://encoding.spec.whatwg.org/#shift_jis 51564. https://encoding.spec.whatwg.org/#euc-kr 51565. https://encoding.spec.whatwg.org/#utf-16be 51566. https://encoding.spec.whatwg.org/#utf-16le 51567. https://encoding.spec.whatwg.org/#utf-16be-le 51568. https://encoding.spec.whatwg.org/#x-user-defined 51569. https://html.spec.whatwg.org/#refsCESU8 51570. https://html.spec.whatwg.org/#refsUTF7 51571. https://html.spec.whatwg.org/#refsBOCU1 51572. https://html.spec.whatwg.org/#refsSCSU 51573. https://html.spec.whatwg.org/#encoding-sniffing-algorithm 51574. https://encoding.spec.whatwg.org/#utf-16be-le 51575. https://html.spec.whatwg.org/#concept-encoding-confidence 51576. https://encoding.spec.whatwg.org/#utf-16be-le 51577. https://encoding.spec.whatwg.org/#utf-8 51578. https://encoding.spec.whatwg.org/#x-user-defined 51579. https://encoding.spec.whatwg.org/#windows-1252 51580. https://html.spec.whatwg.org/#concept-encoding-confidence 51581. https://html.spec.whatwg.org/#encoding-sniffing-algorithm 51582. https://dom.spec.whatwg.org/#concept-document-encoding 51583. https://html.spec.whatwg.org/#concept-encoding-confidence 51584. https://html.spec.whatwg.org/#navigate 51585. https://html.spec.whatwg.org/#navigation-hh 51586. https://html.spec.whatwg.org/#navigationhistorybehavior-replace 51587. https://html.spec.whatwg.org/#encoding-sniffing-algorithm 51588. https://html.spec.whatwg.org/#concept-encoding-confidence 51589. https://html.spec.whatwg.org/#concept-encoding-confidence 51590. https://html.spec.whatwg.org/#the-meta-element 51591. https://html.spec.whatwg.org/#the-input-byte-stream 51592. https://infra.spec.whatwg.org/#surrogate 51593. https://html.spec.whatwg.org/#parse-error-surrogate-in-input-stream 51594. https://html.spec.whatwg.org/#parse-errors 51595. https://infra.spec.whatwg.org/#noncharacter 51596. https://html.spec.whatwg.org/#parse-error-noncharacter-in-input-stream 51597. https://html.spec.whatwg.org/#parse-errors 51598. https://infra.spec.whatwg.org/#control 51599. https://infra.spec.whatwg.org/#ascii-whitespace 51600. https://html.spec.whatwg.org/#parse-error-control-character-in-input-stream 51601. https://html.spec.whatwg.org/#parse-errors 51602. https://html.spec.whatwg.org/#tokenization 51603. https://infra.spec.whatwg.org/#normalize-newlines 51604. https://html.spec.whatwg.org/#tokenization 51605. https://html.spec.whatwg.org/#input-stream 51606. https://html.spec.whatwg.org/#next-input-character 51607. https://html.spec.whatwg.org/#dom-document-write 51608. https://html.spec.whatwg.org/#input-stream 51609. https://html.spec.whatwg.org/#script-created-parser 51610. https://html.spec.whatwg.org/#input-stream 51611. https://html.spec.whatwg.org/#dom-document-close 51612. https://html.spec.whatwg.org/#insertion-mode 51613. https://html.spec.whatwg.org/#the-initial-insertion-mode 51614. https://html.spec.whatwg.org/#the-before-html-insertion-mode 51615. https://html.spec.whatwg.org/#the-before-head-insertion-mode 51616. https://html.spec.whatwg.org/#parsing-main-inhead 51617. https://html.spec.whatwg.org/#parsing-main-inheadnoscript 51618. https://html.spec.whatwg.org/#the-after-head-insertion-mode 51619. https://html.spec.whatwg.org/#parsing-main-inbody 51620. https://html.spec.whatwg.org/#parsing-main-incdata 51621. https://html.spec.whatwg.org/#parsing-main-intable 51622. https://html.spec.whatwg.org/#parsing-main-intabletext 51623. https://html.spec.whatwg.org/#parsing-main-incaption 51624. https://html.spec.whatwg.org/#parsing-main-incolgroup 51625. https://html.spec.whatwg.org/#parsing-main-intbody 51626. https://html.spec.whatwg.org/#parsing-main-intr 51627. https://html.spec.whatwg.org/#parsing-main-intd 51628. https://html.spec.whatwg.org/#parsing-main-inselect 51629. https://html.spec.whatwg.org/#parsing-main-inselectintable 51630. https://html.spec.whatwg.org/#parsing-main-intemplate 51631. https://html.spec.whatwg.org/#parsing-main-afterbody 51632. https://html.spec.whatwg.org/#parsing-main-inframeset 51633. https://html.spec.whatwg.org/#parsing-main-afterframeset 51634. https://html.spec.whatwg.org/#the-after-after-body-insertion-mode 51635. https://html.spec.whatwg.org/#the-after-after-frameset-insertion-mode 51636. https://html.spec.whatwg.org/#tree-construction 51637. https://html.spec.whatwg.org/#parsing-main-inhead 51638. https://html.spec.whatwg.org/#parsing-main-inbody 51639. https://html.spec.whatwg.org/#parsing-main-intable 51640. https://html.spec.whatwg.org/#parsing-main-inselect 51641. https://html.spec.whatwg.org/#insertion-mode 51642. https://html.spec.whatwg.org/#insertion-mode 51643. https://html.spec.whatwg.org/#insertion-mode 51644. https://html.spec.whatwg.org/#parsing-main-incdata 51645. https://html.spec.whatwg.org/#parsing-main-intabletext 51646. https://html.spec.whatwg.org/#the-template-element 51647. https://html.spec.whatwg.org/#stack-of-template-insertion-modes 51648. https://html.spec.whatwg.org/#stack-of-open-elements 51649. https://html.spec.whatwg.org/#html-fragment-parsing-algorithm 51650. https://html.spec.whatwg.org/#fragment-case 51651. https://html.spec.whatwg.org/#concept-frag-parse-context 51652. https://html.spec.whatwg.org/#the-select-element 51653. https://html.spec.whatwg.org/#stack-of-open-elements 51654. https://html.spec.whatwg.org/#stack-of-open-elements 51655. https://html.spec.whatwg.org/#the-template-element 51656. https://html.spec.whatwg.org/#the-table-element 51657. https://html.spec.whatwg.org/#insertion-mode 51658. https://html.spec.whatwg.org/#parsing-main-inselectintable 51659. https://html.spec.whatwg.org/#insertion-mode 51660. https://html.spec.whatwg.org/#parsing-main-inselect 51661. https://html.spec.whatwg.org/#the-td-element 51662. https://html.spec.whatwg.org/#the-th-element 51663. https://html.spec.whatwg.org/#insertion-mode 51664. https://html.spec.whatwg.org/#parsing-main-intd 51665. https://html.spec.whatwg.org/#the-tr-element 51666. https://html.spec.whatwg.org/#insertion-mode 51667. https://html.spec.whatwg.org/#parsing-main-intr 51668. https://html.spec.whatwg.org/#the-tbody-element 51669. https://html.spec.whatwg.org/#the-thead-element 51670. https://html.spec.whatwg.org/#the-tfoot-element 51671. https://html.spec.whatwg.org/#insertion-mode 51672. https://html.spec.whatwg.org/#parsing-main-intbody 51673. https://html.spec.whatwg.org/#the-caption-element 51674. https://html.spec.whatwg.org/#insertion-mode 51675. https://html.spec.whatwg.org/#parsing-main-incaption 51676. https://html.spec.whatwg.org/#the-colgroup-element 51677. https://html.spec.whatwg.org/#insertion-mode 51678. https://html.spec.whatwg.org/#parsing-main-incolgroup 51679. https://html.spec.whatwg.org/#the-table-element 51680. https://html.spec.whatwg.org/#insertion-mode 51681. https://html.spec.whatwg.org/#parsing-main-intable 51682. https://html.spec.whatwg.org/#the-template-element 51683. https://html.spec.whatwg.org/#insertion-mode 51684. https://html.spec.whatwg.org/#current-template-insertion-mode 51685. https://html.spec.whatwg.org/#the-head-element 51686. https://html.spec.whatwg.org/#insertion-mode 51687. https://html.spec.whatwg.org/#parsing-main-inhead 51688. https://html.spec.whatwg.org/#the-body-element 51689. https://html.spec.whatwg.org/#insertion-mode 51690. https://html.spec.whatwg.org/#parsing-main-inbody 51691. https://html.spec.whatwg.org/#frameset 51692. https://html.spec.whatwg.org/#insertion-mode 51693. https://html.spec.whatwg.org/#parsing-main-inframeset 51694. https://html.spec.whatwg.org/#fragment-case 51695. https://html.spec.whatwg.org/#the-html-element 51696. https://html.spec.whatwg.org/#head-element-pointer 51697. https://html.spec.whatwg.org/#insertion-mode 51698. https://html.spec.whatwg.org/#the-before-head-insertion-mode 51699. https://html.spec.whatwg.org/#fragment-case 51700. https://html.spec.whatwg.org/#head-element-pointer 51701. https://html.spec.whatwg.org/#insertion-mode 51702. https://html.spec.whatwg.org/#the-after-head-insertion-mode 51703. https://html.spec.whatwg.org/#insertion-mode 51704. https://html.spec.whatwg.org/#parsing-main-inbody 51705. https://html.spec.whatwg.org/#fragment-case 51706. https://html.spec.whatwg.org/#stack-of-open-elements 51707. https://html.spec.whatwg.org/#adoptionAgency 51708. https://html.spec.whatwg.org/#the-before-html-insertion-mode 51709. https://html.spec.whatwg.org/#insertion-mode 51710. https://html.spec.whatwg.org/#the-html-element 51711. https://dom.spec.whatwg.org/#document-element 51712. https://html.spec.whatwg.org/#fragment-case 51713. https://html.spec.whatwg.org/#stack-of-open-elements 51714. https://html.spec.whatwg.org/#the-html-element 51715. https://html.spec.whatwg.org/#html-fragment-parsing-algorithm 51716. https://html.spec.whatwg.org/#fragment-case 51717. https://html.spec.whatwg.org/#the-before-html-insertion-mode 51718. https://html.spec.whatwg.org/#insertion-mode 51719. https://html.spec.whatwg.org/#the-html-element 51720. https://html.spec.whatwg.org/#stop-parsing 51721. https://html.spec.whatwg.org/#stack-of-open-elements 51722. https://html.spec.whatwg.org/#concept-frag-parse-context 51723. https://html.spec.whatwg.org/#html-fragment-parsing-algorithm 51724. https://html.spec.whatwg.org/#stack-of-open-elements 51725. https://html.spec.whatwg.org/#fragment-case 51726. https://html.spec.whatwg.org/#adjusted-current-node 51727. https://html.spec.whatwg.org/#current-node 51728. https://html.spec.whatwg.org/#current-node 51729. https://html.spec.whatwg.org/#stack-of-open-elements 51730. https://html.spec.whatwg.org/#process-internal-resource-links 51731. https://html.spec.whatwg.org/#current-node 51732. https://dom.spec.whatwg.org/#concept-node-document 51733. https://html.spec.whatwg.org/#stack-of-open-elements 51734. https://html.spec.whatwg.org/#the-address-element 51735. https://html.spec.whatwg.org/#applet 51736. https://html.spec.whatwg.org/#the-area-element 51737. https://html.spec.whatwg.org/#the-article-element 51738. https://html.spec.whatwg.org/#the-aside-element 51739. https://html.spec.whatwg.org/#the-base-element 51740. https://html.spec.whatwg.org/#basefont 51741. https://html.spec.whatwg.org/#bgsound 51742. https://html.spec.whatwg.org/#the-blockquote-element 51743. https://html.spec.whatwg.org/#the-body-element 51744. https://html.spec.whatwg.org/#the-br-element 51745. https://html.spec.whatwg.org/#the-button-element 51746. https://html.spec.whatwg.org/#the-caption-element 51747. https://html.spec.whatwg.org/#center 51748. https://html.spec.whatwg.org/#the-col-element 51749. https://html.spec.whatwg.org/#the-colgroup-element 51750. https://html.spec.whatwg.org/#the-dd-element 51751. https://html.spec.whatwg.org/#the-details-element 51752. https://html.spec.whatwg.org/#dir 51753. https://html.spec.whatwg.org/#the-div-element 51754. https://html.spec.whatwg.org/#the-dl-element 51755. https://html.spec.whatwg.org/#the-dt-element 51756. https://html.spec.whatwg.org/#the-embed-element 51757. https://html.spec.whatwg.org/#the-fieldset-element 51758. https://html.spec.whatwg.org/#the-figcaption-element 51759. https://html.spec.whatwg.org/#the-figure-element 51760. https://html.spec.whatwg.org/#the-footer-element 51761. https://html.spec.whatwg.org/#the-form-element 51762. https://html.spec.whatwg.org/#frame 51763. https://html.spec.whatwg.org/#frameset 51764. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 51765. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 51766. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 51767. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 51768. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 51769. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 51770. https://html.spec.whatwg.org/#the-head-element 51771. https://html.spec.whatwg.org/#the-header-element 51772. https://html.spec.whatwg.org/#the-hgroup-element 51773. https://html.spec.whatwg.org/#the-hr-element 51774. https://html.spec.whatwg.org/#the-html-element 51775. https://html.spec.whatwg.org/#the-iframe-element 51776. https://html.spec.whatwg.org/#the-img-element 51777. https://html.spec.whatwg.org/#the-input-element 51778. https://html.spec.whatwg.org/#keygen 51779. https://html.spec.whatwg.org/#the-li-element 51780. https://html.spec.whatwg.org/#the-link-element 51781. https://html.spec.whatwg.org/#listing 51782. https://html.spec.whatwg.org/#the-main-element 51783. https://html.spec.whatwg.org/#the-marquee-element 51784. https://html.spec.whatwg.org/#the-menu-element 51785. https://html.spec.whatwg.org/#the-meta-element 51786. https://html.spec.whatwg.org/#the-nav-element 51787. https://html.spec.whatwg.org/#noembed 51788. https://html.spec.whatwg.org/#noframes 51789. https://html.spec.whatwg.org/#the-noscript-element 51790. https://html.spec.whatwg.org/#the-object-element 51791. https://html.spec.whatwg.org/#the-ol-element 51792. https://html.spec.whatwg.org/#the-p-element 51793. https://html.spec.whatwg.org/#param 51794. https://html.spec.whatwg.org/#plaintext 51795. https://html.spec.whatwg.org/#the-pre-element 51796. https://html.spec.whatwg.org/#the-script-element 51797. https://html.spec.whatwg.org/#the-search-element 51798. https://html.spec.whatwg.org/#the-section-element 51799. https://html.spec.whatwg.org/#the-select-element 51800. https://html.spec.whatwg.org/#the-source-element 51801. https://html.spec.whatwg.org/#the-style-element 51802. https://html.spec.whatwg.org/#the-summary-element 51803. https://html.spec.whatwg.org/#the-table-element 51804. https://html.spec.whatwg.org/#the-tbody-element 51805. https://html.spec.whatwg.org/#the-td-element 51806. https://html.spec.whatwg.org/#the-template-element 51807. https://html.spec.whatwg.org/#the-textarea-element 51808. https://html.spec.whatwg.org/#the-tfoot-element 51809. https://html.spec.whatwg.org/#the-th-element 51810. https://html.spec.whatwg.org/#the-thead-element 51811. https://html.spec.whatwg.org/#the-title-element 51812. https://html.spec.whatwg.org/#the-tr-element 51813. https://html.spec.whatwg.org/#the-track-element 51814. https://html.spec.whatwg.org/#the-ul-element 51815. https://html.spec.whatwg.org/#the-wbr-element 51816. https://html.spec.whatwg.org/#xmp 51817. https://w3c.github.io/mathml-core/#the-mi-element 51818. https://w3c.github.io/mathml-core/#operator-fence-separator-or-accent-mo 51819. https://w3c.github.io/mathml-core/#number-mn 51820. https://w3c.github.io/mathml-core/#string-literal-ms 51821. https://w3c.github.io/mathml-core/#text-mtext 51822. https://w3c.github.io/mathml-core/#dfn-annotation-xml 51823. https://svgwg.org/svg2-draft/embedded.html#ForeignObjectElement 51824. https://svgwg.org/svg2-draft/struct.html#DescElement 51825. https://svgwg.org/svg2-draft/struct.html#TitleElement 51826. https://html.spec.whatwg.org/#the-img-element 51827. https://html.spec.whatwg.org/#list-of-active-formatting-elements 51828. https://html.spec.whatwg.org/#the-a-element 51829. https://html.spec.whatwg.org/#the-b-element 51830. https://html.spec.whatwg.org/#big 51831. https://html.spec.whatwg.org/#the-code-element 51832. https://html.spec.whatwg.org/#the-em-element 51833. https://html.spec.whatwg.org/#font 51834. https://html.spec.whatwg.org/#the-i-element 51835. https://html.spec.whatwg.org/#nobr 51836. https://html.spec.whatwg.org/#the-s-element 51837. https://html.spec.whatwg.org/#the-small-element 51838. https://html.spec.whatwg.org/#strike 51839. https://html.spec.whatwg.org/#the-strong-element 51840. https://html.spec.whatwg.org/#tt 51841. https://html.spec.whatwg.org/#the-u-element 51842. https://html.spec.whatwg.org/#special 51843. https://html.spec.whatwg.org/#ordinary 51844. https://html.spec.whatwg.org/#stack-of-open-elements 51845. https://html.spec.whatwg.org/#special 51846. https://html.spec.whatwg.org/#the-option-element 51847. https://html.spec.whatwg.org/#special 51848. https://html.spec.whatwg.org/#ordinary 51849. https://html.spec.whatwg.org/#stack-of-open-elements 51850. https://html.spec.whatwg.org/#current-node 51851. https://html.spec.whatwg.org/#stack-of-open-elements 51852. https://html.spec.whatwg.org/#the-html-element 51853. https://html.spec.whatwg.org/#stack-of-open-elements 51854. https://html.spec.whatwg.org/#has-an-element-in-the-specific-scope 51855. https://html.spec.whatwg.org/#applet 51856. https://html.spec.whatwg.org/#the-caption-element 51857. https://html.spec.whatwg.org/#the-html-element 51858. https://html.spec.whatwg.org/#the-table-element 51859. https://html.spec.whatwg.org/#the-td-element 51860. https://html.spec.whatwg.org/#the-th-element 51861. https://html.spec.whatwg.org/#the-marquee-element 51862. https://html.spec.whatwg.org/#the-object-element 51863. https://html.spec.whatwg.org/#the-template-element 51864. https://w3c.github.io/mathml-core/#the-mi-element 51865. https://w3c.github.io/mathml-core/#operator-fence-separator-or-accent-mo 51866. https://w3c.github.io/mathml-core/#number-mn 51867. https://w3c.github.io/mathml-core/#string-literal-ms 51868. https://w3c.github.io/mathml-core/#text-mtext 51869. https://w3c.github.io/mathml-core/#dfn-annotation-xml 51870. https://svgwg.org/svg2-draft/embedded.html#ForeignObjectElement 51871. https://svgwg.org/svg2-draft/struct.html#DescElement 51872. https://svgwg.org/svg2-draft/struct.html#TitleElement 51873. https://html.spec.whatwg.org/#stack-of-open-elements 51874. https://html.spec.whatwg.org/#has-an-element-in-the-specific-scope 51875. https://html.spec.whatwg.org/#has-an-element-in-scope 51876. https://html.spec.whatwg.org/#the-ol-element 51877. https://infra.spec.whatwg.org/#html-namespace 51878. https://html.spec.whatwg.org/#the-ul-element 51879. https://infra.spec.whatwg.org/#html-namespace 51880. https://html.spec.whatwg.org/#stack-of-open-elements 51881. https://html.spec.whatwg.org/#has-an-element-in-the-specific-scope 51882. https://html.spec.whatwg.org/#has-an-element-in-scope 51883. https://html.spec.whatwg.org/#the-button-element 51884. https://infra.spec.whatwg.org/#html-namespace 51885. https://html.spec.whatwg.org/#stack-of-open-elements 51886. https://html.spec.whatwg.org/#has-an-element-in-the-specific-scope 51887. https://html.spec.whatwg.org/#the-html-element 51888. https://infra.spec.whatwg.org/#html-namespace 51889. https://html.spec.whatwg.org/#the-table-element 51890. https://infra.spec.whatwg.org/#html-namespace 51891. https://html.spec.whatwg.org/#the-template-element 51892. https://infra.spec.whatwg.org/#html-namespace 51893. https://html.spec.whatwg.org/#stack-of-open-elements 51894. https://html.spec.whatwg.org/#has-an-element-in-the-specific-scope 51895. https://html.spec.whatwg.org/#the-optgroup-element 51896. https://infra.spec.whatwg.org/#html-namespace 51897. https://html.spec.whatwg.org/#the-option-element 51898. https://infra.spec.whatwg.org/#html-namespace 51899. https://html.spec.whatwg.org/#stack-of-open-elements 51900. https://html.spec.whatwg.org/#document 51901. https://html.spec.whatwg.org/#adoptionAgency 51902. https://html.spec.whatwg.org/#formatting 51903. https://html.spec.whatwg.org/#formatting 51904. https://html.spec.whatwg.org/#concept-parser-marker 51905. https://html.spec.whatwg.org/#applet 51906. https://html.spec.whatwg.org/#the-object-element 51907. https://html.spec.whatwg.org/#the-marquee-element 51908. https://html.spec.whatwg.org/#the-template-element 51909. https://html.spec.whatwg.org/#the-td-element 51910. https://html.spec.whatwg.org/#the-th-element 51911. https://html.spec.whatwg.org/#the-caption-element 51912. https://html.spec.whatwg.org/#applet 51913. https://html.spec.whatwg.org/#the-object-element 51914. https://html.spec.whatwg.org/#the-marquee-element 51915. https://html.spec.whatwg.org/#the-template-element 51916. https://html.spec.whatwg.org/#the-td-element 51917. https://html.spec.whatwg.org/#the-th-element 51918. https://html.spec.whatwg.org/#the-caption-element 51919. https://html.spec.whatwg.org/#list-of-active-formatting-elements 51920. https://html.spec.whatwg.org/#list-of-active-formatting-elements 51921. https://html.spec.whatwg.org/#concept-parser-marker 51922. https://html.spec.whatwg.org/#concept-parser-marker 51923. https://html.spec.whatwg.org/#list-of-active-formatting-elements 51924. https://html.spec.whatwg.org/#list-of-active-formatting-elements 51925. https://html.spec.whatwg.org/#list-of-active-formatting-elements 51926. https://html.spec.whatwg.org/#list-of-active-formatting-elements 51927. https://html.spec.whatwg.org/#concept-parser-marker 51928. https://html.spec.whatwg.org/#stack-of-open-elements 51929. https://html.spec.whatwg.org/#list-of-active-formatting-elements 51930. https://html.spec.whatwg.org/#list-of-active-formatting-elements 51931. https://html.spec.whatwg.org/#list-of-active-formatting-elements 51932. https://html.spec.whatwg.org/#concept-parser-marker 51933. https://html.spec.whatwg.org/#stack-of-open-elements 51934. https://html.spec.whatwg.org/#list-of-active-formatting-elements 51935. https://html.spec.whatwg.org/#insert-an-html-element 51936. https://html.spec.whatwg.org/#list-of-active-formatting-elements 51937. https://html.spec.whatwg.org/#list-of-active-formatting-elements 51938. https://html.spec.whatwg.org/#list-of-active-formatting-elements 51939. https://html.spec.whatwg.org/#list-of-active-formatting-elements 51940. https://html.spec.whatwg.org/#concept-parser-marker 51941. https://html.spec.whatwg.org/#concept-parser-marker 51942. https://html.spec.whatwg.org/#the-head-element 51943. https://html.spec.whatwg.org/#head-element-pointer 51944. https://html.spec.whatwg.org/#form-element-pointer 51945. https://html.spec.whatwg.org/#the-form-element 51946. https://html.spec.whatwg.org/#the-template-element 51947. https://html.spec.whatwg.org/#concept-n-script 51948. https://html.spec.whatwg.org/#document 51949. https://html.spec.whatwg.org/#scripting-flag 51950. https://html.spec.whatwg.org/#html-fragment-parsing-algorithm 51951. https://html.spec.whatwg.org/#the-script-element 51952. https://html.spec.whatwg.org/#data-state 51953. https://html.spec.whatwg.org/#reconsume 51954. https://html.spec.whatwg.org/#current-input-character 51955. https://html.spec.whatwg.org/#next-input-character 51956. https://html.spec.whatwg.org/#next-input-character 51957. https://html.spec.whatwg.org/#current-input-character 51958. https://html.spec.whatwg.org/#insertion-mode 51959. https://html.spec.whatwg.org/#stack-of-open-elements 51960. https://html.spec.whatwg.org/#character-reference-state 51961. https://html.spec.whatwg.org/#force-quirks-flag 51962. https://html.spec.whatwg.org/#self-closing-flag 51963. https://html.spec.whatwg.org/#tree-construction 51964. https://html.spec.whatwg.org/#the-script-element 51965. https://html.spec.whatwg.org/#dynamic-markup-insertion 51966. https://html.spec.whatwg.org/#self-closing-flag 51967. https://html.spec.whatwg.org/#parse-error-non-void-html-element-start-tag-with-trailing-solidus 51968. https://html.spec.whatwg.org/#parse-errors 51969. https://html.spec.whatwg.org/#parse-error-end-tag-with-attributes 51970. https://html.spec.whatwg.org/#parse-errors 51971. https://html.spec.whatwg.org/#self-closing-flag 51972. https://html.spec.whatwg.org/#parse-error-end-tag-with-trailing-solidus 51973. https://html.spec.whatwg.org/#parse-errors 51974. https://html.spec.whatwg.org/#syntax-charref 51975. https://html.spec.whatwg.org/#return-state 51976. https://html.spec.whatwg.org/#attribute-value-(double-quoted)-state 51977. https://html.spec.whatwg.org/#attribute-value-(single-quoted)-state 51978. https://html.spec.whatwg.org/#attribute-value-(unquoted)-state 51979. https://infra.spec.whatwg.org/#code-point 51980. https://html.spec.whatwg.org/#temporary-buffer 51981. https://html.spec.whatwg.org/#charref-in-attribute 51982. https://html.spec.whatwg.org/#parser-pause-flag 51983. https://html.spec.whatwg.org/#next-input-character 51984. https://html.spec.whatwg.org/#return-state 51985. https://html.spec.whatwg.org/#data-state 51986. https://html.spec.whatwg.org/#character-reference-state 51987. https://html.spec.whatwg.org/#tag-open-state 51988. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 51989. https://html.spec.whatwg.org/#parse-errors 51990. https://html.spec.whatwg.org/#current-input-character 51991. https://html.spec.whatwg.org/#current-input-character 51992. https://html.spec.whatwg.org/#next-input-character 51993. https://html.spec.whatwg.org/#return-state 51994. https://html.spec.whatwg.org/#rcdata-state 51995. https://html.spec.whatwg.org/#character-reference-state 51996. https://html.spec.whatwg.org/#rcdata-less-than-sign-state 51997. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 51998. https://html.spec.whatwg.org/#parse-errors 51999. https://html.spec.whatwg.org/#current-input-character 52000. https://html.spec.whatwg.org/#next-input-character 52001. https://html.spec.whatwg.org/#rawtext-less-than-sign-state 52002. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52003. https://html.spec.whatwg.org/#parse-errors 52004. https://html.spec.whatwg.org/#current-input-character 52005. https://html.spec.whatwg.org/#next-input-character 52006. https://html.spec.whatwg.org/#script-data-less-than-sign-state 52007. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52008. https://html.spec.whatwg.org/#parse-errors 52009. https://html.spec.whatwg.org/#current-input-character 52010. https://html.spec.whatwg.org/#next-input-character 52011. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52012. https://html.spec.whatwg.org/#parse-errors 52013. https://html.spec.whatwg.org/#current-input-character 52014. https://html.spec.whatwg.org/#next-input-character 52015. https://html.spec.whatwg.org/#markup-declaration-open-state 52016. https://html.spec.whatwg.org/#end-tag-open-state 52017. https://infra.spec.whatwg.org/#ascii-alpha 52018. https://html.spec.whatwg.org/#reconsume 52019. https://html.spec.whatwg.org/#tag-name-state 52020. https://html.spec.whatwg.org/#parse-error-unexpected-question-mark-instead-of-tag-name 52021. https://html.spec.whatwg.org/#parse-errors 52022. https://html.spec.whatwg.org/#reconsume 52023. https://html.spec.whatwg.org/#bogus-comment-state 52024. https://html.spec.whatwg.org/#parse-error-eof-before-tag-name 52025. https://html.spec.whatwg.org/#parse-errors 52026. https://html.spec.whatwg.org/#parse-error-invalid-first-character-of-tag-name 52027. https://html.spec.whatwg.org/#parse-errors 52028. https://html.spec.whatwg.org/#reconsume 52029. https://html.spec.whatwg.org/#data-state 52030. https://html.spec.whatwg.org/#next-input-character 52031. https://infra.spec.whatwg.org/#ascii-alpha 52032. https://html.spec.whatwg.org/#reconsume 52033. https://html.spec.whatwg.org/#tag-name-state 52034. https://html.spec.whatwg.org/#parse-error-missing-end-tag-name 52035. https://html.spec.whatwg.org/#parse-errors 52036. https://html.spec.whatwg.org/#data-state 52037. https://html.spec.whatwg.org/#parse-error-eof-before-tag-name 52038. https://html.spec.whatwg.org/#parse-errors 52039. https://html.spec.whatwg.org/#parse-error-invalid-first-character-of-tag-name 52040. https://html.spec.whatwg.org/#parse-errors 52041. https://html.spec.whatwg.org/#reconsume 52042. https://html.spec.whatwg.org/#bogus-comment-state 52043. https://html.spec.whatwg.org/#next-input-character 52044. https://html.spec.whatwg.org/#before-attribute-name-state 52045. https://html.spec.whatwg.org/#self-closing-start-tag-state 52046. https://html.spec.whatwg.org/#data-state 52047. https://infra.spec.whatwg.org/#ascii-upper-alpha 52048. https://html.spec.whatwg.org/#current-input-character 52049. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52050. https://html.spec.whatwg.org/#parse-errors 52051. https://html.spec.whatwg.org/#parse-error-eof-in-tag 52052. https://html.spec.whatwg.org/#parse-errors 52053. https://html.spec.whatwg.org/#current-input-character 52054. https://html.spec.whatwg.org/#next-input-character 52055. https://html.spec.whatwg.org/#temporary-buffer 52056. https://html.spec.whatwg.org/#rcdata-end-tag-open-state 52057. https://html.spec.whatwg.org/#reconsume 52058. https://html.spec.whatwg.org/#rcdata-state 52059. https://html.spec.whatwg.org/#next-input-character 52060. https://infra.spec.whatwg.org/#ascii-alpha 52061. https://html.spec.whatwg.org/#reconsume 52062. https://html.spec.whatwg.org/#rcdata-end-tag-name-state 52063. https://html.spec.whatwg.org/#reconsume 52064. https://html.spec.whatwg.org/#rcdata-state 52065. https://html.spec.whatwg.org/#next-input-character 52066. https://html.spec.whatwg.org/#appropriate-end-tag-token 52067. https://html.spec.whatwg.org/#before-attribute-name-state 52068. https://html.spec.whatwg.org/#appropriate-end-tag-token 52069. https://html.spec.whatwg.org/#self-closing-start-tag-state 52070. https://html.spec.whatwg.org/#appropriate-end-tag-token 52071. https://html.spec.whatwg.org/#data-state 52072. https://infra.spec.whatwg.org/#ascii-upper-alpha 52073. https://html.spec.whatwg.org/#current-input-character 52074. https://html.spec.whatwg.org/#current-input-character 52075. https://html.spec.whatwg.org/#temporary-buffer 52076. https://infra.spec.whatwg.org/#ascii-lower-alpha 52077. https://html.spec.whatwg.org/#current-input-character 52078. https://html.spec.whatwg.org/#current-input-character 52079. https://html.spec.whatwg.org/#temporary-buffer 52080. https://html.spec.whatwg.org/#temporary-buffer 52081. https://html.spec.whatwg.org/#reconsume 52082. https://html.spec.whatwg.org/#rcdata-state 52083. https://html.spec.whatwg.org/#next-input-character 52084. https://html.spec.whatwg.org/#temporary-buffer 52085. https://html.spec.whatwg.org/#rawtext-end-tag-open-state 52086. https://html.spec.whatwg.org/#reconsume 52087. https://html.spec.whatwg.org/#rawtext-state 52088. https://html.spec.whatwg.org/#next-input-character 52089. https://infra.spec.whatwg.org/#ascii-alpha 52090. https://html.spec.whatwg.org/#reconsume 52091. https://html.spec.whatwg.org/#rawtext-end-tag-name-state 52092. https://html.spec.whatwg.org/#reconsume 52093. https://html.spec.whatwg.org/#rawtext-state 52094. https://html.spec.whatwg.org/#next-input-character 52095. https://html.spec.whatwg.org/#appropriate-end-tag-token 52096. https://html.spec.whatwg.org/#before-attribute-name-state 52097. https://html.spec.whatwg.org/#appropriate-end-tag-token 52098. https://html.spec.whatwg.org/#self-closing-start-tag-state 52099. https://html.spec.whatwg.org/#appropriate-end-tag-token 52100. https://html.spec.whatwg.org/#data-state 52101. https://infra.spec.whatwg.org/#ascii-upper-alpha 52102. https://html.spec.whatwg.org/#current-input-character 52103. https://html.spec.whatwg.org/#current-input-character 52104. https://html.spec.whatwg.org/#temporary-buffer 52105. https://infra.spec.whatwg.org/#ascii-lower-alpha 52106. https://html.spec.whatwg.org/#current-input-character 52107. https://html.spec.whatwg.org/#current-input-character 52108. https://html.spec.whatwg.org/#temporary-buffer 52109. https://html.spec.whatwg.org/#temporary-buffer 52110. https://html.spec.whatwg.org/#reconsume 52111. https://html.spec.whatwg.org/#rawtext-state 52112. https://html.spec.whatwg.org/#next-input-character 52113. https://html.spec.whatwg.org/#temporary-buffer 52114. https://html.spec.whatwg.org/#script-data-end-tag-open-state 52115. https://html.spec.whatwg.org/#script-data-escape-start-state 52116. https://html.spec.whatwg.org/#reconsume 52117. https://html.spec.whatwg.org/#script-data-state 52118. https://html.spec.whatwg.org/#next-input-character 52119. https://infra.spec.whatwg.org/#ascii-alpha 52120. https://html.spec.whatwg.org/#reconsume 52121. https://html.spec.whatwg.org/#script-data-end-tag-name-state 52122. https://html.spec.whatwg.org/#reconsume 52123. https://html.spec.whatwg.org/#script-data-state 52124. https://html.spec.whatwg.org/#next-input-character 52125. https://html.spec.whatwg.org/#appropriate-end-tag-token 52126. https://html.spec.whatwg.org/#before-attribute-name-state 52127. https://html.spec.whatwg.org/#appropriate-end-tag-token 52128. https://html.spec.whatwg.org/#self-closing-start-tag-state 52129. https://html.spec.whatwg.org/#appropriate-end-tag-token 52130. https://html.spec.whatwg.org/#data-state 52131. https://infra.spec.whatwg.org/#ascii-upper-alpha 52132. https://html.spec.whatwg.org/#current-input-character 52133. https://html.spec.whatwg.org/#current-input-character 52134. https://html.spec.whatwg.org/#temporary-buffer 52135. https://infra.spec.whatwg.org/#ascii-lower-alpha 52136. https://html.spec.whatwg.org/#current-input-character 52137. https://html.spec.whatwg.org/#current-input-character 52138. https://html.spec.whatwg.org/#temporary-buffer 52139. https://html.spec.whatwg.org/#temporary-buffer 52140. https://html.spec.whatwg.org/#reconsume 52141. https://html.spec.whatwg.org/#script-data-state 52142. https://html.spec.whatwg.org/#next-input-character 52143. https://html.spec.whatwg.org/#script-data-escape-start-dash-state 52144. https://html.spec.whatwg.org/#reconsume 52145. https://html.spec.whatwg.org/#script-data-state 52146. https://html.spec.whatwg.org/#next-input-character 52147. https://html.spec.whatwg.org/#script-data-escaped-dash-dash-state 52148. https://html.spec.whatwg.org/#reconsume 52149. https://html.spec.whatwg.org/#script-data-state 52150. https://html.spec.whatwg.org/#next-input-character 52151. https://html.spec.whatwg.org/#script-data-escaped-dash-state 52152. https://html.spec.whatwg.org/#script-data-escaped-less-than-sign-state 52153. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52154. https://html.spec.whatwg.org/#parse-errors 52155. https://html.spec.whatwg.org/#parse-error-eof-in-script-html-comment-like-text 52156. https://html.spec.whatwg.org/#parse-errors 52157. https://html.spec.whatwg.org/#current-input-character 52158. https://html.spec.whatwg.org/#next-input-character 52159. https://html.spec.whatwg.org/#script-data-escaped-dash-dash-state 52160. https://html.spec.whatwg.org/#script-data-escaped-less-than-sign-state 52161. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52162. https://html.spec.whatwg.org/#parse-errors 52163. https://html.spec.whatwg.org/#script-data-escaped-state 52164. https://html.spec.whatwg.org/#parse-error-eof-in-script-html-comment-like-text 52165. https://html.spec.whatwg.org/#parse-errors 52166. https://html.spec.whatwg.org/#script-data-escaped-state 52167. https://html.spec.whatwg.org/#current-input-character 52168. https://html.spec.whatwg.org/#next-input-character 52169. https://html.spec.whatwg.org/#script-data-escaped-less-than-sign-state 52170. https://html.spec.whatwg.org/#script-data-state 52171. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52172. https://html.spec.whatwg.org/#parse-errors 52173. https://html.spec.whatwg.org/#script-data-escaped-state 52174. https://html.spec.whatwg.org/#parse-error-eof-in-script-html-comment-like-text 52175. https://html.spec.whatwg.org/#parse-errors 52176. https://html.spec.whatwg.org/#script-data-escaped-state 52177. https://html.spec.whatwg.org/#current-input-character 52178. https://html.spec.whatwg.org/#next-input-character 52179. https://html.spec.whatwg.org/#temporary-buffer 52180. https://html.spec.whatwg.org/#script-data-escaped-end-tag-open-state 52181. https://infra.spec.whatwg.org/#ascii-alpha 52182. https://html.spec.whatwg.org/#temporary-buffer 52183. https://html.spec.whatwg.org/#reconsume 52184. https://html.spec.whatwg.org/#script-data-double-escape-start-state 52185. https://html.spec.whatwg.org/#reconsume 52186. https://html.spec.whatwg.org/#script-data-escaped-state 52187. https://html.spec.whatwg.org/#next-input-character 52188. https://infra.spec.whatwg.org/#ascii-alpha 52189. https://html.spec.whatwg.org/#reconsume 52190. https://html.spec.whatwg.org/#script-data-escaped-end-tag-name-state 52191. https://html.spec.whatwg.org/#reconsume 52192. https://html.spec.whatwg.org/#script-data-escaped-state 52193. https://html.spec.whatwg.org/#next-input-character 52194. https://html.spec.whatwg.org/#appropriate-end-tag-token 52195. https://html.spec.whatwg.org/#before-attribute-name-state 52196. https://html.spec.whatwg.org/#appropriate-end-tag-token 52197. https://html.spec.whatwg.org/#self-closing-start-tag-state 52198. https://html.spec.whatwg.org/#appropriate-end-tag-token 52199. https://html.spec.whatwg.org/#data-state 52200. https://infra.spec.whatwg.org/#ascii-upper-alpha 52201. https://html.spec.whatwg.org/#current-input-character 52202. https://html.spec.whatwg.org/#current-input-character 52203. https://html.spec.whatwg.org/#temporary-buffer 52204. https://infra.spec.whatwg.org/#ascii-lower-alpha 52205. https://html.spec.whatwg.org/#current-input-character 52206. https://html.spec.whatwg.org/#current-input-character 52207. https://html.spec.whatwg.org/#temporary-buffer 52208. https://html.spec.whatwg.org/#temporary-buffer 52209. https://html.spec.whatwg.org/#reconsume 52210. https://html.spec.whatwg.org/#script-data-escaped-state 52211. https://html.spec.whatwg.org/#next-input-character 52212. https://html.spec.whatwg.org/#temporary-buffer 52213. https://html.spec.whatwg.org/#script-data-double-escaped-state 52214. https://html.spec.whatwg.org/#script-data-escaped-state 52215. https://html.spec.whatwg.org/#current-input-character 52216. https://infra.spec.whatwg.org/#ascii-upper-alpha 52217. https://html.spec.whatwg.org/#current-input-character 52218. https://html.spec.whatwg.org/#temporary-buffer 52219. https://html.spec.whatwg.org/#current-input-character 52220. https://infra.spec.whatwg.org/#ascii-lower-alpha 52221. https://html.spec.whatwg.org/#current-input-character 52222. https://html.spec.whatwg.org/#temporary-buffer 52223. https://html.spec.whatwg.org/#current-input-character 52224. https://html.spec.whatwg.org/#reconsume 52225. https://html.spec.whatwg.org/#script-data-escaped-state 52226. https://html.spec.whatwg.org/#next-input-character 52227. https://html.spec.whatwg.org/#script-data-double-escaped-dash-state 52228. https://html.spec.whatwg.org/#script-data-double-escaped-less-than-sign-state 52229. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52230. https://html.spec.whatwg.org/#parse-errors 52231. https://html.spec.whatwg.org/#parse-error-eof-in-script-html-comment-like-text 52232. https://html.spec.whatwg.org/#parse-errors 52233. https://html.spec.whatwg.org/#current-input-character 52234. https://html.spec.whatwg.org/#next-input-character 52235. https://html.spec.whatwg.org/#script-data-double-escaped-dash-dash-state 52236. https://html.spec.whatwg.org/#script-data-double-escaped-less-than-sign-state 52237. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52238. https://html.spec.whatwg.org/#parse-errors 52239. https://html.spec.whatwg.org/#script-data-double-escaped-state 52240. https://html.spec.whatwg.org/#parse-error-eof-in-script-html-comment-like-text 52241. https://html.spec.whatwg.org/#parse-errors 52242. https://html.spec.whatwg.org/#script-data-double-escaped-state 52243. https://html.spec.whatwg.org/#current-input-character 52244. https://html.spec.whatwg.org/#next-input-character 52245. https://html.spec.whatwg.org/#script-data-double-escaped-less-than-sign-state 52246. https://html.spec.whatwg.org/#script-data-state 52247. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52248. https://html.spec.whatwg.org/#parse-errors 52249. https://html.spec.whatwg.org/#script-data-double-escaped-state 52250. https://html.spec.whatwg.org/#parse-error-eof-in-script-html-comment-like-text 52251. https://html.spec.whatwg.org/#parse-errors 52252. https://html.spec.whatwg.org/#script-data-double-escaped-state 52253. https://html.spec.whatwg.org/#current-input-character 52254. https://html.spec.whatwg.org/#next-input-character 52255. https://html.spec.whatwg.org/#temporary-buffer 52256. https://html.spec.whatwg.org/#script-data-double-escape-end-state 52257. https://html.spec.whatwg.org/#reconsume 52258. https://html.spec.whatwg.org/#script-data-double-escaped-state 52259. https://html.spec.whatwg.org/#next-input-character 52260. https://html.spec.whatwg.org/#temporary-buffer 52261. https://html.spec.whatwg.org/#script-data-escaped-state 52262. https://html.spec.whatwg.org/#script-data-double-escaped-state 52263. https://html.spec.whatwg.org/#current-input-character 52264. https://infra.spec.whatwg.org/#ascii-upper-alpha 52265. https://html.spec.whatwg.org/#current-input-character 52266. https://html.spec.whatwg.org/#temporary-buffer 52267. https://html.spec.whatwg.org/#current-input-character 52268. https://infra.spec.whatwg.org/#ascii-lower-alpha 52269. https://html.spec.whatwg.org/#current-input-character 52270. https://html.spec.whatwg.org/#temporary-buffer 52271. https://html.spec.whatwg.org/#current-input-character 52272. https://html.spec.whatwg.org/#reconsume 52273. https://html.spec.whatwg.org/#script-data-double-escaped-state 52274. https://html.spec.whatwg.org/#next-input-character 52275. https://html.spec.whatwg.org/#reconsume 52276. https://html.spec.whatwg.org/#after-attribute-name-state 52277. https://html.spec.whatwg.org/#parse-error-unexpected-equals-sign-before-attribute-name 52278. https://html.spec.whatwg.org/#parse-errors 52279. https://html.spec.whatwg.org/#current-input-character 52280. https://html.spec.whatwg.org/#attribute-name-state 52281. https://html.spec.whatwg.org/#reconsume 52282. https://html.spec.whatwg.org/#attribute-name-state 52283. https://html.spec.whatwg.org/#next-input-character 52284. https://html.spec.whatwg.org/#reconsume 52285. https://html.spec.whatwg.org/#after-attribute-name-state 52286. https://html.spec.whatwg.org/#before-attribute-value-state 52287. https://infra.spec.whatwg.org/#ascii-upper-alpha 52288. https://html.spec.whatwg.org/#current-input-character 52289. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52290. https://html.spec.whatwg.org/#parse-errors 52291. https://html.spec.whatwg.org/#parse-error-unexpected-character-in-attribute-name 52292. https://html.spec.whatwg.org/#parse-errors 52293. https://html.spec.whatwg.org/#current-input-character 52294. https://html.spec.whatwg.org/#parse-error-duplicate-attribute 52295. https://html.spec.whatwg.org/#parse-errors 52296. https://html.spec.whatwg.org/#next-input-character 52297. https://html.spec.whatwg.org/#self-closing-start-tag-state 52298. https://html.spec.whatwg.org/#before-attribute-value-state 52299. https://html.spec.whatwg.org/#data-state 52300. https://html.spec.whatwg.org/#parse-error-eof-in-tag 52301. https://html.spec.whatwg.org/#parse-errors 52302. https://html.spec.whatwg.org/#reconsume 52303. https://html.spec.whatwg.org/#attribute-name-state 52304. https://html.spec.whatwg.org/#next-input-character 52305. https://html.spec.whatwg.org/#attribute-value-(double-quoted)-state 52306. https://html.spec.whatwg.org/#attribute-value-(single-quoted)-state 52307. https://html.spec.whatwg.org/#parse-error-missing-attribute-value 52308. https://html.spec.whatwg.org/#parse-errors 52309. https://html.spec.whatwg.org/#data-state 52310. https://html.spec.whatwg.org/#reconsume 52311. https://html.spec.whatwg.org/#attribute-value-(unquoted)-state 52312. https://html.spec.whatwg.org/#next-input-character 52313. https://html.spec.whatwg.org/#after-attribute-value-(quoted)-state 52314. https://html.spec.whatwg.org/#return-state 52315. https://html.spec.whatwg.org/#attribute-value-(double-quoted)-state 52316. https://html.spec.whatwg.org/#character-reference-state 52317. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52318. https://html.spec.whatwg.org/#parse-errors 52319. https://html.spec.whatwg.org/#parse-error-eof-in-tag 52320. https://html.spec.whatwg.org/#parse-errors 52321. https://html.spec.whatwg.org/#current-input-character 52322. https://html.spec.whatwg.org/#next-input-character 52323. https://html.spec.whatwg.org/#after-attribute-value-(quoted)-state 52324. https://html.spec.whatwg.org/#return-state 52325. https://html.spec.whatwg.org/#attribute-value-(single-quoted)-state 52326. https://html.spec.whatwg.org/#character-reference-state 52327. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52328. https://html.spec.whatwg.org/#parse-errors 52329. https://html.spec.whatwg.org/#parse-error-eof-in-tag 52330. https://html.spec.whatwg.org/#parse-errors 52331. https://html.spec.whatwg.org/#current-input-character 52332. https://html.spec.whatwg.org/#next-input-character 52333. https://html.spec.whatwg.org/#before-attribute-name-state 52334. https://html.spec.whatwg.org/#return-state 52335. https://html.spec.whatwg.org/#attribute-value-(unquoted)-state 52336. https://html.spec.whatwg.org/#character-reference-state 52337. https://html.spec.whatwg.org/#data-state 52338. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52339. https://html.spec.whatwg.org/#parse-errors 52340. https://html.spec.whatwg.org/#parse-error-unexpected-character-in-unquoted-attribute-value 52341. https://html.spec.whatwg.org/#parse-errors 52342. https://html.spec.whatwg.org/#parse-error-eof-in-tag 52343. https://html.spec.whatwg.org/#parse-errors 52344. https://html.spec.whatwg.org/#current-input-character 52345. https://html.spec.whatwg.org/#next-input-character 52346. https://html.spec.whatwg.org/#before-attribute-name-state 52347. https://html.spec.whatwg.org/#self-closing-start-tag-state 52348. https://html.spec.whatwg.org/#data-state 52349. https://html.spec.whatwg.org/#parse-error-eof-in-tag 52350. https://html.spec.whatwg.org/#parse-errors 52351. https://html.spec.whatwg.org/#parse-error-missing-whitespace-between-attributes 52352. https://html.spec.whatwg.org/#parse-errors 52353. https://html.spec.whatwg.org/#reconsume 52354. https://html.spec.whatwg.org/#before-attribute-name-state 52355. https://html.spec.whatwg.org/#next-input-character 52356. https://html.spec.whatwg.org/#self-closing-flag 52357. https://html.spec.whatwg.org/#data-state 52358. https://html.spec.whatwg.org/#parse-error-eof-in-tag 52359. https://html.spec.whatwg.org/#parse-errors 52360. https://html.spec.whatwg.org/#parse-error-unexpected-solidus-in-tag 52361. https://html.spec.whatwg.org/#parse-errors 52362. https://html.spec.whatwg.org/#reconsume 52363. https://html.spec.whatwg.org/#before-attribute-name-state 52364. https://html.spec.whatwg.org/#next-input-character 52365. https://html.spec.whatwg.org/#data-state 52366. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52367. https://html.spec.whatwg.org/#parse-errors 52368. https://html.spec.whatwg.org/#current-input-character 52369. https://html.spec.whatwg.org/#comment-start-state 52370. https://infra.spec.whatwg.org/#ascii-case-insensitive 52371. https://html.spec.whatwg.org/#doctype-state 52372. https://html.spec.whatwg.org/#adjusted-current-node 52373. https://infra.spec.whatwg.org/#html-namespace 52374. https://html.spec.whatwg.org/#cdata-section-state 52375. https://html.spec.whatwg.org/#parse-error-cdata-in-html-content 52376. https://html.spec.whatwg.org/#parse-errors 52377. https://html.spec.whatwg.org/#bogus-comment-state 52378. https://html.spec.whatwg.org/#parse-error-incorrectly-opened-comment 52379. https://html.spec.whatwg.org/#parse-errors 52380. https://html.spec.whatwg.org/#bogus-comment-state 52381. https://html.spec.whatwg.org/#next-input-character 52382. https://html.spec.whatwg.org/#comment-start-dash-state 52383. https://html.spec.whatwg.org/#parse-error-abrupt-closing-of-empty-comment 52384. https://html.spec.whatwg.org/#parse-errors 52385. https://html.spec.whatwg.org/#data-state 52386. https://html.spec.whatwg.org/#reconsume 52387. https://html.spec.whatwg.org/#comment-state 52388. https://html.spec.whatwg.org/#next-input-character 52389. https://html.spec.whatwg.org/#comment-end-state 52390. https://html.spec.whatwg.org/#parse-error-abrupt-closing-of-empty-comment 52391. https://html.spec.whatwg.org/#parse-errors 52392. https://html.spec.whatwg.org/#data-state 52393. https://html.spec.whatwg.org/#parse-error-eof-in-comment 52394. https://html.spec.whatwg.org/#parse-errors 52395. https://html.spec.whatwg.org/#reconsume 52396. https://html.spec.whatwg.org/#comment-state 52397. https://html.spec.whatwg.org/#next-input-character 52398. https://html.spec.whatwg.org/#current-input-character 52399. https://html.spec.whatwg.org/#comment-less-than-sign-state 52400. https://html.spec.whatwg.org/#comment-end-dash-state 52401. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52402. https://html.spec.whatwg.org/#parse-errors 52403. https://html.spec.whatwg.org/#parse-error-eof-in-comment 52404. https://html.spec.whatwg.org/#parse-errors 52405. https://html.spec.whatwg.org/#current-input-character 52406. https://html.spec.whatwg.org/#next-input-character 52407. https://html.spec.whatwg.org/#current-input-character 52408. https://html.spec.whatwg.org/#comment-less-than-sign-bang-state 52409. https://html.spec.whatwg.org/#current-input-character 52410. https://html.spec.whatwg.org/#reconsume 52411. https://html.spec.whatwg.org/#comment-state 52412. https://html.spec.whatwg.org/#next-input-character 52413. https://html.spec.whatwg.org/#comment-less-than-sign-bang-dash-state 52414. https://html.spec.whatwg.org/#reconsume 52415. https://html.spec.whatwg.org/#comment-state 52416. https://html.spec.whatwg.org/#next-input-character 52417. https://html.spec.whatwg.org/#comment-less-than-sign-bang-dash-dash-state 52418. https://html.spec.whatwg.org/#reconsume 52419. https://html.spec.whatwg.org/#comment-end-dash-state 52420. https://html.spec.whatwg.org/#next-input-character 52421. https://html.spec.whatwg.org/#reconsume 52422. https://html.spec.whatwg.org/#comment-end-state 52423. https://html.spec.whatwg.org/#parse-error-nested-comment 52424. https://html.spec.whatwg.org/#parse-errors 52425. https://html.spec.whatwg.org/#reconsume 52426. https://html.spec.whatwg.org/#comment-end-state 52427. https://html.spec.whatwg.org/#next-input-character 52428. https://html.spec.whatwg.org/#comment-end-state 52429. https://html.spec.whatwg.org/#parse-error-eof-in-comment 52430. https://html.spec.whatwg.org/#parse-errors 52431. https://html.spec.whatwg.org/#reconsume 52432. https://html.spec.whatwg.org/#comment-state 52433. https://html.spec.whatwg.org/#next-input-character 52434. https://html.spec.whatwg.org/#data-state 52435. https://html.spec.whatwg.org/#comment-end-bang-state 52436. https://html.spec.whatwg.org/#parse-error-eof-in-comment 52437. https://html.spec.whatwg.org/#parse-errors 52438. https://html.spec.whatwg.org/#reconsume 52439. https://html.spec.whatwg.org/#comment-state 52440. https://html.spec.whatwg.org/#next-input-character 52441. https://html.spec.whatwg.org/#comment-end-dash-state 52442. https://html.spec.whatwg.org/#parse-error-incorrectly-closed-comment 52443. https://html.spec.whatwg.org/#parse-errors 52444. https://html.spec.whatwg.org/#data-state 52445. https://html.spec.whatwg.org/#parse-error-eof-in-comment 52446. https://html.spec.whatwg.org/#parse-errors 52447. https://html.spec.whatwg.org/#reconsume 52448. https://html.spec.whatwg.org/#comment-state 52449. https://html.spec.whatwg.org/#next-input-character 52450. https://html.spec.whatwg.org/#before-doctype-name-state 52451. https://html.spec.whatwg.org/#reconsume 52452. https://html.spec.whatwg.org/#before-doctype-name-state 52453. https://html.spec.whatwg.org/#parse-error-eof-in-doctype 52454. https://html.spec.whatwg.org/#parse-errors 52455. https://html.spec.whatwg.org/#force-quirks-flag 52456. https://html.spec.whatwg.org/#parse-error-missing-whitespace-before-doctype-name 52457. https://html.spec.whatwg.org/#parse-errors 52458. https://html.spec.whatwg.org/#reconsume 52459. https://html.spec.whatwg.org/#before-doctype-name-state 52460. https://html.spec.whatwg.org/#next-input-character 52461. https://infra.spec.whatwg.org/#ascii-upper-alpha 52462. https://html.spec.whatwg.org/#current-input-character 52463. https://html.spec.whatwg.org/#doctype-name-state 52464. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52465. https://html.spec.whatwg.org/#parse-errors 52466. https://html.spec.whatwg.org/#doctype-name-state 52467. https://html.spec.whatwg.org/#parse-error-missing-doctype-name 52468. https://html.spec.whatwg.org/#parse-errors 52469. https://html.spec.whatwg.org/#force-quirks-flag 52470. https://html.spec.whatwg.org/#data-state 52471. https://html.spec.whatwg.org/#parse-error-eof-in-doctype 52472. https://html.spec.whatwg.org/#parse-errors 52473. https://html.spec.whatwg.org/#force-quirks-flag 52474. https://html.spec.whatwg.org/#current-input-character 52475. https://html.spec.whatwg.org/#doctype-name-state 52476. https://html.spec.whatwg.org/#next-input-character 52477. https://html.spec.whatwg.org/#after-doctype-name-state 52478. https://html.spec.whatwg.org/#data-state 52479. https://infra.spec.whatwg.org/#ascii-upper-alpha 52480. https://html.spec.whatwg.org/#current-input-character 52481. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52482. https://html.spec.whatwg.org/#parse-errors 52483. https://html.spec.whatwg.org/#parse-error-eof-in-doctype 52484. https://html.spec.whatwg.org/#parse-errors 52485. https://html.spec.whatwg.org/#force-quirks-flag 52486. https://html.spec.whatwg.org/#current-input-character 52487. https://html.spec.whatwg.org/#next-input-character 52488. https://html.spec.whatwg.org/#data-state 52489. https://html.spec.whatwg.org/#parse-error-eof-in-doctype 52490. https://html.spec.whatwg.org/#parse-errors 52491. https://html.spec.whatwg.org/#force-quirks-flag 52492. https://html.spec.whatwg.org/#current-input-character 52493. https://infra.spec.whatwg.org/#ascii-case-insensitive 52494. https://html.spec.whatwg.org/#after-doctype-public-keyword-state 52495. https://html.spec.whatwg.org/#current-input-character 52496. https://infra.spec.whatwg.org/#ascii-case-insensitive 52497. https://html.spec.whatwg.org/#after-doctype-system-keyword-state 52498. https://html.spec.whatwg.org/#parse-error-invalid-character-sequence-after-doctype-name 52499. https://html.spec.whatwg.org/#parse-errors 52500. https://html.spec.whatwg.org/#force-quirks-flag 52501. https://html.spec.whatwg.org/#reconsume 52502. https://html.spec.whatwg.org/#bogus-doctype-state 52503. https://html.spec.whatwg.org/#next-input-character 52504. https://html.spec.whatwg.org/#before-doctype-public-identifier-state 52505. https://html.spec.whatwg.org/#parse-error-missing-whitespace-after-doctype-public-keyword 52506. https://html.spec.whatwg.org/#parse-errors 52507. https://html.spec.whatwg.org/#doctype-public-identifier-(double-quoted)-state 52508. https://html.spec.whatwg.org/#parse-error-missing-whitespace-after-doctype-public-keyword 52509. https://html.spec.whatwg.org/#parse-errors 52510. https://html.spec.whatwg.org/#doctype-public-identifier-(single-quoted)-state 52511. https://html.spec.whatwg.org/#parse-error-missing-doctype-public-identifier 52512. https://html.spec.whatwg.org/#parse-errors 52513. https://html.spec.whatwg.org/#force-quirks-flag 52514. https://html.spec.whatwg.org/#data-state 52515. https://html.spec.whatwg.org/#parse-error-eof-in-doctype 52516. https://html.spec.whatwg.org/#parse-errors 52517. https://html.spec.whatwg.org/#force-quirks-flag 52518. https://html.spec.whatwg.org/#parse-error-missing-quote-before-doctype-public-identifier 52519. https://html.spec.whatwg.org/#parse-errors 52520. https://html.spec.whatwg.org/#force-quirks-flag 52521. https://html.spec.whatwg.org/#reconsume 52522. https://html.spec.whatwg.org/#bogus-doctype-state 52523. https://html.spec.whatwg.org/#next-input-character 52524. https://html.spec.whatwg.org/#doctype-public-identifier-(double-quoted)-state 52525. https://html.spec.whatwg.org/#doctype-public-identifier-(single-quoted)-state 52526. https://html.spec.whatwg.org/#parse-error-missing-doctype-public-identifier 52527. https://html.spec.whatwg.org/#parse-errors 52528. https://html.spec.whatwg.org/#force-quirks-flag 52529. https://html.spec.whatwg.org/#data-state 52530. https://html.spec.whatwg.org/#parse-error-eof-in-doctype 52531. https://html.spec.whatwg.org/#parse-errors 52532. https://html.spec.whatwg.org/#force-quirks-flag 52533. https://html.spec.whatwg.org/#parse-error-missing-quote-before-doctype-public-identifier 52534. https://html.spec.whatwg.org/#parse-errors 52535. https://html.spec.whatwg.org/#force-quirks-flag 52536. https://html.spec.whatwg.org/#reconsume 52537. https://html.spec.whatwg.org/#bogus-doctype-state 52538. https://html.spec.whatwg.org/#next-input-character 52539. https://html.spec.whatwg.org/#after-doctype-public-identifier-state 52540. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52541. https://html.spec.whatwg.org/#parse-errors 52542. https://html.spec.whatwg.org/#parse-error-abrupt-doctype-public-identifier 52543. https://html.spec.whatwg.org/#parse-errors 52544. https://html.spec.whatwg.org/#force-quirks-flag 52545. https://html.spec.whatwg.org/#data-state 52546. https://html.spec.whatwg.org/#parse-error-eof-in-doctype 52547. https://html.spec.whatwg.org/#parse-errors 52548. https://html.spec.whatwg.org/#force-quirks-flag 52549. https://html.spec.whatwg.org/#current-input-character 52550. https://html.spec.whatwg.org/#next-input-character 52551. https://html.spec.whatwg.org/#after-doctype-public-identifier-state 52552. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52553. https://html.spec.whatwg.org/#parse-errors 52554. https://html.spec.whatwg.org/#parse-error-abrupt-doctype-public-identifier 52555. https://html.spec.whatwg.org/#parse-errors 52556. https://html.spec.whatwg.org/#force-quirks-flag 52557. https://html.spec.whatwg.org/#data-state 52558. https://html.spec.whatwg.org/#parse-error-eof-in-doctype 52559. https://html.spec.whatwg.org/#parse-errors 52560. https://html.spec.whatwg.org/#force-quirks-flag 52561. https://html.spec.whatwg.org/#current-input-character 52562. https://html.spec.whatwg.org/#next-input-character 52563. https://html.spec.whatwg.org/#between-doctype-public-and-system-identifiers-state 52564. https://html.spec.whatwg.org/#data-state 52565. https://html.spec.whatwg.org/#parse-error-missing-whitespace-between-doctype-public-and-system-identifiers 52566. https://html.spec.whatwg.org/#parse-errors 52567. https://html.spec.whatwg.org/#doctype-system-identifier-(double-quoted)-state 52568. https://html.spec.whatwg.org/#parse-error-missing-whitespace-between-doctype-public-and-system-identifiers 52569. https://html.spec.whatwg.org/#parse-errors 52570. https://html.spec.whatwg.org/#doctype-system-identifier-(single-quoted)-state 52571. https://html.spec.whatwg.org/#parse-error-eof-in-doctype 52572. https://html.spec.whatwg.org/#parse-errors 52573. https://html.spec.whatwg.org/#force-quirks-flag 52574. https://html.spec.whatwg.org/#parse-error-missing-quote-before-doctype-system-identifier 52575. https://html.spec.whatwg.org/#parse-errors 52576. https://html.spec.whatwg.org/#force-quirks-flag 52577. https://html.spec.whatwg.org/#reconsume 52578. https://html.spec.whatwg.org/#bogus-doctype-state 52579. https://html.spec.whatwg.org/#next-input-character 52580. https://html.spec.whatwg.org/#data-state 52581. https://html.spec.whatwg.org/#doctype-system-identifier-(double-quoted)-state 52582. https://html.spec.whatwg.org/#doctype-system-identifier-(single-quoted)-state 52583. https://html.spec.whatwg.org/#parse-error-eof-in-doctype 52584. https://html.spec.whatwg.org/#parse-errors 52585. https://html.spec.whatwg.org/#force-quirks-flag 52586. https://html.spec.whatwg.org/#parse-error-missing-quote-before-doctype-system-identifier 52587. https://html.spec.whatwg.org/#parse-errors 52588. https://html.spec.whatwg.org/#force-quirks-flag 52589. https://html.spec.whatwg.org/#reconsume 52590. https://html.spec.whatwg.org/#bogus-doctype-state 52591. https://html.spec.whatwg.org/#next-input-character 52592. https://html.spec.whatwg.org/#before-doctype-system-identifier-state 52593. https://html.spec.whatwg.org/#parse-error-missing-whitespace-after-doctype-system-keyword 52594. https://html.spec.whatwg.org/#parse-errors 52595. https://html.spec.whatwg.org/#doctype-system-identifier-(double-quoted)-state 52596. https://html.spec.whatwg.org/#parse-error-missing-whitespace-after-doctype-system-keyword 52597. https://html.spec.whatwg.org/#parse-errors 52598. https://html.spec.whatwg.org/#doctype-system-identifier-(single-quoted)-state 52599. https://html.spec.whatwg.org/#parse-error-missing-doctype-system-identifier 52600. https://html.spec.whatwg.org/#parse-errors 52601. https://html.spec.whatwg.org/#force-quirks-flag 52602. https://html.spec.whatwg.org/#data-state 52603. https://html.spec.whatwg.org/#parse-error-eof-in-doctype 52604. https://html.spec.whatwg.org/#parse-errors 52605. https://html.spec.whatwg.org/#force-quirks-flag 52606. https://html.spec.whatwg.org/#parse-error-missing-quote-before-doctype-system-identifier 52607. https://html.spec.whatwg.org/#parse-errors 52608. https://html.spec.whatwg.org/#force-quirks-flag 52609. https://html.spec.whatwg.org/#reconsume 52610. https://html.spec.whatwg.org/#bogus-doctype-state 52611. https://html.spec.whatwg.org/#next-input-character 52612. https://html.spec.whatwg.org/#doctype-system-identifier-(double-quoted)-state 52613. https://html.spec.whatwg.org/#doctype-system-identifier-(single-quoted)-state 52614. https://html.spec.whatwg.org/#parse-error-missing-doctype-system-identifier 52615. https://html.spec.whatwg.org/#parse-errors 52616. https://html.spec.whatwg.org/#force-quirks-flag 52617. https://html.spec.whatwg.org/#data-state 52618. https://html.spec.whatwg.org/#parse-error-eof-in-doctype 52619. https://html.spec.whatwg.org/#parse-errors 52620. https://html.spec.whatwg.org/#force-quirks-flag 52621. https://html.spec.whatwg.org/#parse-error-missing-quote-before-doctype-system-identifier 52622. https://html.spec.whatwg.org/#parse-errors 52623. https://html.spec.whatwg.org/#force-quirks-flag 52624. https://html.spec.whatwg.org/#reconsume 52625. https://html.spec.whatwg.org/#bogus-doctype-state 52626. https://html.spec.whatwg.org/#next-input-character 52627. https://html.spec.whatwg.org/#after-doctype-system-identifier-state 52628. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52629. https://html.spec.whatwg.org/#parse-errors 52630. https://html.spec.whatwg.org/#parse-error-abrupt-doctype-system-identifier 52631. https://html.spec.whatwg.org/#parse-errors 52632. https://html.spec.whatwg.org/#force-quirks-flag 52633. https://html.spec.whatwg.org/#data-state 52634. https://html.spec.whatwg.org/#parse-error-eof-in-doctype 52635. https://html.spec.whatwg.org/#parse-errors 52636. https://html.spec.whatwg.org/#force-quirks-flag 52637. https://html.spec.whatwg.org/#current-input-character 52638. https://html.spec.whatwg.org/#next-input-character 52639. https://html.spec.whatwg.org/#after-doctype-system-identifier-state 52640. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52641. https://html.spec.whatwg.org/#parse-errors 52642. https://html.spec.whatwg.org/#parse-error-abrupt-doctype-system-identifier 52643. https://html.spec.whatwg.org/#parse-errors 52644. https://html.spec.whatwg.org/#force-quirks-flag 52645. https://html.spec.whatwg.org/#data-state 52646. https://html.spec.whatwg.org/#parse-error-eof-in-doctype 52647. https://html.spec.whatwg.org/#parse-errors 52648. https://html.spec.whatwg.org/#force-quirks-flag 52649. https://html.spec.whatwg.org/#current-input-character 52650. https://html.spec.whatwg.org/#next-input-character 52651. https://html.spec.whatwg.org/#data-state 52652. https://html.spec.whatwg.org/#parse-error-eof-in-doctype 52653. https://html.spec.whatwg.org/#parse-errors 52654. https://html.spec.whatwg.org/#force-quirks-flag 52655. https://html.spec.whatwg.org/#parse-error-unexpected-character-after-doctype-system-identifier 52656. https://html.spec.whatwg.org/#parse-errors 52657. https://html.spec.whatwg.org/#reconsume 52658. https://html.spec.whatwg.org/#bogus-doctype-state 52659. https://html.spec.whatwg.org/#force-quirks-flag 52660. https://html.spec.whatwg.org/#next-input-character 52661. https://html.spec.whatwg.org/#data-state 52662. https://html.spec.whatwg.org/#parse-error-unexpected-null-character 52663. https://html.spec.whatwg.org/#parse-errors 52664. https://html.spec.whatwg.org/#next-input-character 52665. https://html.spec.whatwg.org/#cdata-section-bracket-state 52666. https://html.spec.whatwg.org/#parse-error-eof-in-cdata 52667. https://html.spec.whatwg.org/#parse-errors 52668. https://html.spec.whatwg.org/#current-input-character 52669. https://html.spec.whatwg.org/#parsing-main-inforeign 52670. https://html.spec.whatwg.org/#next-input-character 52671. https://html.spec.whatwg.org/#cdata-section-end-state 52672. https://html.spec.whatwg.org/#reconsume 52673. https://html.spec.whatwg.org/#cdata-section-state 52674. https://html.spec.whatwg.org/#next-input-character 52675. https://html.spec.whatwg.org/#data-state 52676. https://html.spec.whatwg.org/#reconsume 52677. https://html.spec.whatwg.org/#cdata-section-state 52678. https://html.spec.whatwg.org/#temporary-buffer 52679. https://html.spec.whatwg.org/#temporary-buffer 52680. https://html.spec.whatwg.org/#next-input-character 52681. https://infra.spec.whatwg.org/#ascii-alphanumeric 52682. https://html.spec.whatwg.org/#reconsume 52683. https://html.spec.whatwg.org/#named-character-reference-state 52684. https://html.spec.whatwg.org/#current-input-character 52685. https://html.spec.whatwg.org/#temporary-buffer 52686. https://html.spec.whatwg.org/#numeric-character-reference-state 52687. https://html.spec.whatwg.org/#flush-code-points-consumed-as-a-character-reference 52688. https://html.spec.whatwg.org/#reconsume 52689. https://html.spec.whatwg.org/#return-state 52690. https://html.spec.whatwg.org/#named-character-references 52691. https://html.spec.whatwg.org/#temporary-buffer 52692. https://html.spec.whatwg.org/#charref-in-attribute 52693. https://html.spec.whatwg.org/#next-input-character 52694. https://infra.spec.whatwg.org/#ascii-alphanumeric 52695. https://html.spec.whatwg.org/#flush-code-points-consumed-as-a-character-reference 52696. https://html.spec.whatwg.org/#return-state 52697. https://html.spec.whatwg.org/#parse-error-missing-semicolon-after-character-reference 52698. https://html.spec.whatwg.org/#parse-errors 52699. https://html.spec.whatwg.org/#temporary-buffer 52700. https://html.spec.whatwg.org/#named-character-references 52701. https://html.spec.whatwg.org/#temporary-buffer 52702. https://html.spec.whatwg.org/#flush-code-points-consumed-as-a-character-reference 52703. https://html.spec.whatwg.org/#return-state 52704. https://html.spec.whatwg.org/#flush-code-points-consumed-as-a-character-reference 52705. https://html.spec.whatwg.org/#ambiguous-ampersand-state 52706. https://html.spec.whatwg.org/#next-input-character 52707. https://infra.spec.whatwg.org/#ascii-alphanumeric 52708. https://html.spec.whatwg.org/#charref-in-attribute 52709. https://html.spec.whatwg.org/#current-input-character 52710. https://html.spec.whatwg.org/#current-input-character 52711. https://html.spec.whatwg.org/#parse-error-unknown-named-character-reference 52712. https://html.spec.whatwg.org/#parse-errors 52713. https://html.spec.whatwg.org/#reconsume 52714. https://html.spec.whatwg.org/#return-state 52715. https://html.spec.whatwg.org/#reconsume 52716. https://html.spec.whatwg.org/#return-state 52717. https://html.spec.whatwg.org/#next-input-character 52718. https://html.spec.whatwg.org/#current-input-character 52719. https://html.spec.whatwg.org/#temporary-buffer 52720. https://html.spec.whatwg.org/#hexadecimal-character-reference-start-state 52721. https://html.spec.whatwg.org/#reconsume 52722. https://html.spec.whatwg.org/#decimal-character-reference-start-state 52723. https://html.spec.whatwg.org/#next-input-character 52724. https://infra.spec.whatwg.org/#ascii-hex-digit 52725. https://html.spec.whatwg.org/#reconsume 52726. https://html.spec.whatwg.org/#hexadecimal-character-reference-state 52727. https://html.spec.whatwg.org/#parse-error-absence-of-digits-in-numeric-character-reference 52728. https://html.spec.whatwg.org/#parse-errors 52729. https://html.spec.whatwg.org/#flush-code-points-consumed-as-a-character-reference 52730. https://html.spec.whatwg.org/#reconsume 52731. https://html.spec.whatwg.org/#return-state 52732. https://html.spec.whatwg.org/#next-input-character 52733. https://infra.spec.whatwg.org/#ascii-digit 52734. https://html.spec.whatwg.org/#reconsume 52735. https://html.spec.whatwg.org/#decimal-character-reference-state 52736. https://html.spec.whatwg.org/#parse-error-absence-of-digits-in-numeric-character-reference 52737. https://html.spec.whatwg.org/#parse-errors 52738. https://html.spec.whatwg.org/#flush-code-points-consumed-as-a-character-reference 52739. https://html.spec.whatwg.org/#reconsume 52740. https://html.spec.whatwg.org/#return-state 52741. https://html.spec.whatwg.org/#next-input-character 52742. https://infra.spec.whatwg.org/#ascii-digit 52743. https://html.spec.whatwg.org/#character-reference-code 52744. https://html.spec.whatwg.org/#current-input-character 52745. https://html.spec.whatwg.org/#character-reference-code 52746. https://infra.spec.whatwg.org/#ascii-upper-hex-digit 52747. https://html.spec.whatwg.org/#character-reference-code 52748. https://html.spec.whatwg.org/#current-input-character 52749. https://html.spec.whatwg.org/#character-reference-code 52750. https://infra.spec.whatwg.org/#ascii-lower-hex-digit 52751. https://html.spec.whatwg.org/#character-reference-code 52752. https://html.spec.whatwg.org/#current-input-character 52753. https://html.spec.whatwg.org/#character-reference-code 52754. https://html.spec.whatwg.org/#numeric-character-reference-end-state 52755. https://html.spec.whatwg.org/#parse-error-missing-semicolon-after-character-reference 52756. https://html.spec.whatwg.org/#parse-errors 52757. https://html.spec.whatwg.org/#reconsume 52758. https://html.spec.whatwg.org/#numeric-character-reference-end-state 52759. https://html.spec.whatwg.org/#next-input-character 52760. https://infra.spec.whatwg.org/#ascii-digit 52761. https://html.spec.whatwg.org/#character-reference-code 52762. https://html.spec.whatwg.org/#current-input-character 52763. https://html.spec.whatwg.org/#character-reference-code 52764. https://html.spec.whatwg.org/#numeric-character-reference-end-state 52765. https://html.spec.whatwg.org/#parse-error-missing-semicolon-after-character-reference 52766. https://html.spec.whatwg.org/#parse-errors 52767. https://html.spec.whatwg.org/#reconsume 52768. https://html.spec.whatwg.org/#numeric-character-reference-end-state 52769. https://html.spec.whatwg.org/#character-reference-code 52770. https://html.spec.whatwg.org/#parse-error-null-character-reference 52771. https://html.spec.whatwg.org/#parse-errors 52772. https://html.spec.whatwg.org/#character-reference-code 52773. https://html.spec.whatwg.org/#parse-error-character-reference-outside-unicode-range 52774. https://html.spec.whatwg.org/#parse-errors 52775. https://html.spec.whatwg.org/#character-reference-code 52776. https://infra.spec.whatwg.org/#surrogate 52777. https://html.spec.whatwg.org/#parse-error-surrogate-character-reference 52778. https://html.spec.whatwg.org/#parse-errors 52779. https://html.spec.whatwg.org/#character-reference-code 52780. https://infra.spec.whatwg.org/#noncharacter 52781. https://html.spec.whatwg.org/#parse-error-noncharacter-character-reference 52782. https://html.spec.whatwg.org/#parse-errors 52783. https://infra.spec.whatwg.org/#control 52784. https://infra.spec.whatwg.org/#ascii-whitespace 52785. https://html.spec.whatwg.org/#parse-error-control-character-reference 52786. https://html.spec.whatwg.org/#parse-errors 52787. https://html.spec.whatwg.org/#character-reference-code 52788. https://html.spec.whatwg.org/#temporary-buffer 52789. https://html.spec.whatwg.org/#character-reference-code 52790. https://html.spec.whatwg.org/#temporary-buffer 52791. https://html.spec.whatwg.org/#flush-code-points-consumed-as-a-character-reference 52792. https://html.spec.whatwg.org/#return-state 52793. https://html.spec.whatwg.org/#tokenization 52794. https://html.spec.whatwg.org/#document 52795. https://html.spec.whatwg.org/#document 52796. https://html.spec.whatwg.org/#stack-of-open-elements 52797. https://html.spec.whatwg.org/#adjusted-current-node 52798. https://infra.spec.whatwg.org/#html-namespace 52799. https://html.spec.whatwg.org/#adjusted-current-node 52800. https://html.spec.whatwg.org/#mathml-text-integration-point 52801. https://html.spec.whatwg.org/#adjusted-current-node 52802. https://html.spec.whatwg.org/#mathml-text-integration-point 52803. https://html.spec.whatwg.org/#adjusted-current-node 52804. https://w3c.github.io/mathml-core/#dfn-annotation-xml 52805. https://html.spec.whatwg.org/#adjusted-current-node 52806. https://html.spec.whatwg.org/#html-integration-point 52807. https://html.spec.whatwg.org/#adjusted-current-node 52808. https://html.spec.whatwg.org/#html-integration-point 52809. https://html.spec.whatwg.org/#insertion-mode 52810. https://html.spec.whatwg.org/#parsing-main-inforeign 52811. https://html.spec.whatwg.org/#tree-construction-dispatcher 52812. https://w3c.github.io/mathml-core/#the-mi-element 52813. https://w3c.github.io/mathml-core/#operator-fence-separator-or-accent-mo 52814. https://w3c.github.io/mathml-core/#number-mn 52815. https://w3c.github.io/mathml-core/#string-literal-ms 52816. https://w3c.github.io/mathml-core/#text-mtext 52817. https://w3c.github.io/mathml-core/#dfn-annotation-xml 52818. https://infra.spec.whatwg.org/#ascii-case-insensitive 52819. https://w3c.github.io/mathml-core/#dfn-annotation-xml 52820. https://infra.spec.whatwg.org/#ascii-case-insensitive 52821. https://svgwg.org/svg2-draft/embedded.html#ForeignObjectElement 52822. https://svgwg.org/svg2-draft/struct.html#DescElement 52823. https://svgwg.org/svg2-draft/struct.html#TitleElement 52824. https://html.spec.whatwg.org/#concept-frag-parse-context 52825. https://html.spec.whatwg.org/#html-fragment-parsing-algorithm 52826. https://html.spec.whatwg.org/#html-fragment-parsing-algorithm 52827. https://dom.spec.whatwg.org/#interface-text 52828. https://infra.spec.whatwg.org/#algorithm-limits 52829. https://html.spec.whatwg.org/#current-node 52830. https://html.spec.whatwg.org/#foster-parent 52831. https://html.spec.whatwg.org/#the-table-element 52832. https://html.spec.whatwg.org/#the-tbody-element 52833. https://html.spec.whatwg.org/#the-tfoot-element 52834. https://html.spec.whatwg.org/#the-thead-element 52835. https://html.spec.whatwg.org/#the-tr-element 52836. https://html.spec.whatwg.org/#the-template-element 52837. https://html.spec.whatwg.org/#stack-of-open-elements 52838. https://html.spec.whatwg.org/#the-table-element 52839. https://html.spec.whatwg.org/#stack-of-open-elements 52840. https://html.spec.whatwg.org/#stack-of-open-elements 52841. https://html.spec.whatwg.org/#template-contents 52842. https://html.spec.whatwg.org/#stack-of-open-elements 52843. https://html.spec.whatwg.org/#the-html-element 52844. https://html.spec.whatwg.org/#fragment-case 52845. https://html.spec.whatwg.org/#stack-of-open-elements 52846. https://html.spec.whatwg.org/#the-table-element 52847. https://html.spec.whatwg.org/#the-template-element 52848. https://html.spec.whatwg.org/#the-template-element 52849. https://html.spec.whatwg.org/#template-contents 52850. https://dom.spec.whatwg.org/#interface-node 52851. https://html.spec.whatwg.org/#active-speculative-html-parser 52852. https://html.spec.whatwg.org/#create-a-speculative-mock-element 52853. https://html.spec.whatwg.org/#create-a-speculative-mock-element 52854. https://html.spec.whatwg.org/#speculative-fetch 52855. https://dom.spec.whatwg.org/#concept-node-document 52856. https://html.spec.whatwg.org/#attr-is 52857. https://html.spec.whatwg.org/#look-up-a-custom-element-registry 52858. https://html.spec.whatwg.org/#look-up-a-custom-element-definition 52859. https://html.spec.whatwg.org/#html-fragment-parsing-algorithm 52860. https://html.spec.whatwg.org/#throw-on-dynamic-markup-insertion-counter 52861. https://tc39.es/ecma262/#execution-context-stack 52862. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 52863. https://html.spec.whatwg.org/#element-queue 52864. https://html.spec.whatwg.org/#relevant-agent 52865. https://html.spec.whatwg.org/#custom-element-reactions-stack 52866. https://dom.spec.whatwg.org/#concept-create-element 52867. https://html.spec.whatwg.org/#custom-element-constructor 52868. https://html.spec.whatwg.org/#throw-on-dynamic-markup-insertion-counter 52869. https://html.spec.whatwg.org/#dom-document-write 52870. https://html.spec.whatwg.org/#dom-document-open 52871. https://dom.spec.whatwg.org/#concept-element-attributes-append 52872. https://html.spec.whatwg.org/#enqueue-a-custom-element-callback-reaction 52873. https://html.spec.whatwg.org/#attr-is 52874. https://dom.spec.whatwg.org/#concept-create-element 52875. https://html.spec.whatwg.org/#customized-built-in-element 52876. https://html.spec.whatwg.org/#custom-element-constructor 52877. https://html.spec.whatwg.org/#relevant-agent 52878. https://html.spec.whatwg.org/#custom-element-reactions-stack 52879. https://html.spec.whatwg.org/#element-queue 52880. https://html.spec.whatwg.org/#invoke-custom-element-reactions 52881. https://html.spec.whatwg.org/#throw-on-dynamic-markup-insertion-counter 52882. https://infra.spec.whatwg.org/#xmlns-namespace 52883. https://html.spec.whatwg.org/#parse-errors 52884. https://infra.spec.whatwg.org/#xmlns-namespace 52885. https://infra.spec.whatwg.org/#xlink-namespace 52886. https://html.spec.whatwg.org/#parse-errors 52887. https://html.spec.whatwg.org/#category-reset 52888. https://html.spec.whatwg.org/#form-associated-custom-element 52889. https://html.spec.whatwg.org/#concept-form-reset-control 52890. https://html.spec.whatwg.org/#concept-fe-value 52891. https://html.spec.whatwg.org/#concept-fe-checked 52892. https://html.spec.whatwg.org/#form-associated-element 52893. https://html.spec.whatwg.org/#form-associated-custom-element 52894. https://html.spec.whatwg.org/#form-element-pointer 52895. https://html.spec.whatwg.org/#the-template-element 52896. https://html.spec.whatwg.org/#stack-of-open-elements 52897. https://html.spec.whatwg.org/#category-listed 52898. https://html.spec.whatwg.org/#attr-fae-form 52899. https://dom.spec.whatwg.org/#concept-tree 52900. https://html.spec.whatwg.org/#form-element-pointer 52901. https://html.spec.whatwg.org/#concept-form-association 52902. https://html.spec.whatwg.org/#the-form-element 52903. https://html.spec.whatwg.org/#form-element-pointer 52904. https://html.spec.whatwg.org/#parser-inserted-flag 52905. https://html.spec.whatwg.org/#appropriate-place-for-inserting-a-node 52906. https://html.spec.whatwg.org/#html-fragment-parsing-algorithm 52907. https://html.spec.whatwg.org/#element-queue 52908. https://html.spec.whatwg.org/#relevant-agent 52909. https://html.spec.whatwg.org/#custom-element-reactions-stack 52910. https://html.spec.whatwg.org/#html-fragment-parsing-algorithm 52911. https://html.spec.whatwg.org/#element-queue 52912. https://html.spec.whatwg.org/#relevant-agent 52913. https://html.spec.whatwg.org/#custom-element-reactions-stack 52914. https://html.spec.whatwg.org/#invoke-custom-element-reactions 52915. https://html.spec.whatwg.org/#document 52916. https://html.spec.whatwg.org/#appropriate-place-for-inserting-a-node 52917. https://html.spec.whatwg.org/#create-an-element-for-the-token 52918. https://html.spec.whatwg.org/#insert-an-element-at-the-adjusted-insertion-location 52919. https://html.spec.whatwg.org/#stack-of-open-elements 52920. https://html.spec.whatwg.org/#current-node 52921. https://html.spec.whatwg.org/#insert-a-foreign-element 52922. https://infra.spec.whatwg.org/#html-namespace 52923. https://www.w3.org/TR/xml/#sec-lang-tag 52924. https://infra.spec.whatwg.org/#xlink-namespace 52925. https://infra.spec.whatwg.org/#xlink-namespace 52926. https://infra.spec.whatwg.org/#xlink-namespace 52927. https://infra.spec.whatwg.org/#xlink-namespace 52928. https://infra.spec.whatwg.org/#xlink-namespace 52929. https://infra.spec.whatwg.org/#xlink-namespace 52930. https://infra.spec.whatwg.org/#xlink-namespace 52931. https://infra.spec.whatwg.org/#xml-namespace 52932. https://infra.spec.whatwg.org/#xml-namespace 52933. https://infra.spec.whatwg.org/#xmlns-namespace 52934. https://infra.spec.whatwg.org/#xmlns-namespace 52935. https://html.spec.whatwg.org/#appropriate-place-for-inserting-a-node 52936. https://html.spec.whatwg.org/#document 52937. https://html.spec.whatwg.org/#document 52938. https://dom.spec.whatwg.org/#interface-text 52939. https://dom.spec.whatwg.org/#interface-text 52940. https://dom.spec.whatwg.org/#interface-text 52941. https://dom.spec.whatwg.org/#concept-cd-data 52942. https://dom.spec.whatwg.org/#interface-text 52943. https://dom.spec.whatwg.org/#concept-cd-data 52944. https://dom.spec.whatwg.org/#concept-node-document 52945. https://dom.spec.whatwg.org/#interface-text 52946. https://dom.spec.whatwg.org/#interface-text 52947. https://dom.spec.whatwg.org/#interface-text 52948. https://dom.spec.whatwg.org/#interface-text 52949. https://dom.spec.whatwg.org/#interface-text 52950. https://dom.spec.whatwg.org/#interface-text 52951. https://dom.spec.whatwg.org/#interface-text 52952. https://html.spec.whatwg.org/#foster-parent 52953. https://dom.spec.whatwg.org/#interface-text 52954. https://html.spec.whatwg.org/#foster-parent 52955. https://dom.spec.whatwg.org/#interface-text 52956. https://dom.spec.whatwg.org/#interface-text 52957. https://html.spec.whatwg.org/#the-tbody-element 52958. https://html.spec.whatwg.org/#foster-parent 52959. https://html.spec.whatwg.org/#appropriate-place-for-inserting-a-node 52960. https://dom.spec.whatwg.org/#interface-comment 52961. https://dom.spec.whatwg.org/#concept-node-document 52962. https://html.spec.whatwg.org/#insert-an-html-element 52963. https://html.spec.whatwg.org/#generic-raw-text-element-parsing-algorithm 52964. https://html.spec.whatwg.org/#rawtext-state 52965. https://html.spec.whatwg.org/#generic-rcdata-element-parsing-algorithm 52966. https://html.spec.whatwg.org/#rcdata-state 52967. https://html.spec.whatwg.org/#original-insertion-mode 52968. https://html.spec.whatwg.org/#insertion-mode 52969. https://html.spec.whatwg.org/#insertion-mode 52970. https://html.spec.whatwg.org/#parsing-main-incdata 52971. https://html.spec.whatwg.org/#current-node 52972. https://html.spec.whatwg.org/#the-dd-element 52973. https://html.spec.whatwg.org/#the-dt-element 52974. https://html.spec.whatwg.org/#the-li-element 52975. https://html.spec.whatwg.org/#the-optgroup-element 52976. https://html.spec.whatwg.org/#the-option-element 52977. https://html.spec.whatwg.org/#the-p-element 52978. https://html.spec.whatwg.org/#rb 52979. https://html.spec.whatwg.org/#the-rp-element 52980. https://html.spec.whatwg.org/#the-rt-element 52981. https://html.spec.whatwg.org/#rtc 52982. https://html.spec.whatwg.org/#current-node 52983. https://html.spec.whatwg.org/#stack-of-open-elements 52984. https://html.spec.whatwg.org/#current-node 52985. https://html.spec.whatwg.org/#the-caption-element 52986. https://html.spec.whatwg.org/#the-colgroup-element 52987. https://html.spec.whatwg.org/#the-dd-element 52988. https://html.spec.whatwg.org/#the-dt-element 52989. https://html.spec.whatwg.org/#the-li-element 52990. https://html.spec.whatwg.org/#the-optgroup-element 52991. https://html.spec.whatwg.org/#the-option-element 52992. https://html.spec.whatwg.org/#the-p-element 52993. https://html.spec.whatwg.org/#rb 52994. https://html.spec.whatwg.org/#the-rp-element 52995. https://html.spec.whatwg.org/#the-rt-element 52996. https://html.spec.whatwg.org/#rtc 52997. https://html.spec.whatwg.org/#the-tbody-element 52998. https://html.spec.whatwg.org/#the-td-element 52999. https://html.spec.whatwg.org/#the-tfoot-element 53000. https://html.spec.whatwg.org/#the-th-element 53001. https://html.spec.whatwg.org/#the-thead-element 53002. https://html.spec.whatwg.org/#the-tr-element 53003. https://html.spec.whatwg.org/#current-node 53004. https://html.spec.whatwg.org/#stack-of-open-elements 53005. https://html.spec.whatwg.org/#document 53006. https://html.spec.whatwg.org/#the-initial-insertion-mode 53007. https://html.spec.whatwg.org/#insertion-mode 53008. https://html.spec.whatwg.org/#insert-a-comment 53009. https://html.spec.whatwg.org/#document 53010. https://html.spec.whatwg.org/#about:legacy-compat 53011. https://html.spec.whatwg.org/#parse-errors 53012. https://dom.spec.whatwg.org/#interface-documenttype 53013. https://html.spec.whatwg.org/#document 53014. https://dom.spec.whatwg.org/#concept-doctype-name 53015. https://dom.spec.whatwg.org/#concept-doctype-publicid 53016. https://dom.spec.whatwg.org/#concept-doctype-systemid 53017. https://dom.spec.whatwg.org/#interface-documenttype 53018. https://dom.spec.whatwg.org/#dom-document-doctype 53019. https://html.spec.whatwg.org/#document 53020. https://html.spec.whatwg.org/#an-iframe-srcdoc-document 53021. https://html.spec.whatwg.org/#parser-cannot-change-the-mode-flag 53022. https://html.spec.whatwg.org/#document 53023. https://dom.spec.whatwg.org/#concept-document-quirks 53024. https://html.spec.whatwg.org/#force-quirks-flag 53025. https://html.spec.whatwg.org/#an-iframe-srcdoc-document 53026. https://html.spec.whatwg.org/#parser-cannot-change-the-mode-flag 53027. https://html.spec.whatwg.org/#document 53028. https://dom.spec.whatwg.org/#concept-document-limited-quirks 53029. https://infra.spec.whatwg.org/#ascii-case-insensitive 53030. https://html.spec.whatwg.org/#insertion-mode 53031. https://html.spec.whatwg.org/#the-before-html-insertion-mode 53032. https://html.spec.whatwg.org/#an-iframe-srcdoc-document 53033. https://html.spec.whatwg.org/#parse-errors 53034. https://html.spec.whatwg.org/#parser-cannot-change-the-mode-flag 53035. https://html.spec.whatwg.org/#document 53036. https://dom.spec.whatwg.org/#concept-document-quirks 53037. https://html.spec.whatwg.org/#insertion-mode 53038. https://html.spec.whatwg.org/#the-before-html-insertion-mode 53039. https://html.spec.whatwg.org/#the-before-html-insertion-mode 53040. https://html.spec.whatwg.org/#insertion-mode 53041. https://html.spec.whatwg.org/#parse-errors 53042. https://html.spec.whatwg.org/#insert-a-comment 53043. https://html.spec.whatwg.org/#document 53044. https://html.spec.whatwg.org/#create-an-element-for-the-token 53045. https://infra.spec.whatwg.org/#html-namespace 53046. https://html.spec.whatwg.org/#document 53047. https://html.spec.whatwg.org/#document 53048. https://html.spec.whatwg.org/#stack-of-open-elements 53049. https://html.spec.whatwg.org/#insertion-mode 53050. https://html.spec.whatwg.org/#the-before-head-insertion-mode 53051. https://html.spec.whatwg.org/#parse-errors 53052. https://html.spec.whatwg.org/#the-html-element 53053. https://dom.spec.whatwg.org/#concept-node-document 53054. https://html.spec.whatwg.org/#document 53055. https://html.spec.whatwg.org/#document 53056. https://html.spec.whatwg.org/#stack-of-open-elements 53057. https://html.spec.whatwg.org/#insertion-mode 53058. https://html.spec.whatwg.org/#the-before-head-insertion-mode 53059. https://dom.spec.whatwg.org/#document-element 53060. https://html.spec.whatwg.org/#document 53061. https://html.spec.whatwg.org/#the-before-head-insertion-mode 53062. https://html.spec.whatwg.org/#insertion-mode 53063. https://html.spec.whatwg.org/#insert-a-comment 53064. https://html.spec.whatwg.org/#parse-errors 53065. https://html.spec.whatwg.org/#using-the-rules-for 53066. https://html.spec.whatwg.org/#parsing-main-inbody 53067. https://html.spec.whatwg.org/#insertion-mode 53068. https://html.spec.whatwg.org/#insert-an-html-element 53069. https://html.spec.whatwg.org/#head-element-pointer 53070. https://html.spec.whatwg.org/#the-head-element 53071. https://html.spec.whatwg.org/#insertion-mode 53072. https://html.spec.whatwg.org/#parsing-main-inhead 53073. https://html.spec.whatwg.org/#parse-errors 53074. https://html.spec.whatwg.org/#insert-an-html-element 53075. https://html.spec.whatwg.org/#head-element-pointer 53076. https://html.spec.whatwg.org/#the-head-element 53077. https://html.spec.whatwg.org/#insertion-mode 53078. https://html.spec.whatwg.org/#parsing-main-inhead 53079. https://html.spec.whatwg.org/#parsing-main-inhead 53080. https://html.spec.whatwg.org/#insertion-mode 53081. https://html.spec.whatwg.org/#insert-a-character 53082. https://html.spec.whatwg.org/#insert-a-comment 53083. https://html.spec.whatwg.org/#parse-errors 53084. https://html.spec.whatwg.org/#using-the-rules-for 53085. https://html.spec.whatwg.org/#parsing-main-inbody 53086. https://html.spec.whatwg.org/#insertion-mode 53087. https://html.spec.whatwg.org/#insert-an-html-element 53088. https://html.spec.whatwg.org/#current-node 53089. https://html.spec.whatwg.org/#stack-of-open-elements 53090. https://html.spec.whatwg.org/#acknowledge-self-closing-flag 53091. https://html.spec.whatwg.org/#insert-an-html-element 53092. https://html.spec.whatwg.org/#current-node 53093. https://html.spec.whatwg.org/#stack-of-open-elements 53094. https://html.spec.whatwg.org/#acknowledge-self-closing-flag 53095. https://html.spec.whatwg.org/#active-speculative-html-parser 53096. https://html.spec.whatwg.org/#attr-meta-charset 53097. https://encoding.spec.whatwg.org/#concept-encoding-get 53098. https://encoding.spec.whatwg.org/#encoding 53099. https://html.spec.whatwg.org/#concept-encoding-confidence 53100. https://html.spec.whatwg.org/#change-the-encoding 53101. https://html.spec.whatwg.org/#attr-meta-http-equiv 53102. https://infra.spec.whatwg.org/#ascii-case-insensitive 53103. https://html.spec.whatwg.org/#attr-meta-content 53104. https://html.spec.whatwg.org/#algorithm-for-extracting-a-character-encoding-from-a-meta-element 53105. https://encoding.spec.whatwg.org/#encoding 53106. https://html.spec.whatwg.org/#concept-encoding-confidence 53107. https://html.spec.whatwg.org/#change-the-encoding 53108. https://html.spec.whatwg.org/#speculative-html-parser 53109. https://html.spec.whatwg.org/#generic-rcdata-element-parsing-algorithm 53110. https://html.spec.whatwg.org/#scripting-flag 53111. https://html.spec.whatwg.org/#generic-raw-text-element-parsing-algorithm 53112. https://html.spec.whatwg.org/#scripting-flag 53113. https://html.spec.whatwg.org/#insert-an-html-element 53114. https://html.spec.whatwg.org/#insertion-mode 53115. https://html.spec.whatwg.org/#parsing-main-inheadnoscript 53116. https://html.spec.whatwg.org/#appropriate-place-for-inserting-a-node 53117. https://html.spec.whatwg.org/#create-an-element-for-the-token 53118. https://infra.spec.whatwg.org/#html-namespace 53119. https://html.spec.whatwg.org/#parser-document 53120. https://html.spec.whatwg.org/#document 53121. https://html.spec.whatwg.org/#script-force-async 53122. https://html.spec.whatwg.org/#dom-document-write 53123. https://html.spec.whatwg.org/#html-fragment-parsing-algorithm 53124. https://html.spec.whatwg.org/#the-script-element 53125. https://html.spec.whatwg.org/#already-started 53126. https://html.spec.whatwg.org/#fragment-case 53127. https://html.spec.whatwg.org/#dom-document-write 53128. https://html.spec.whatwg.org/#dom-document-writeln 53129. https://html.spec.whatwg.org/#the-script-element 53130. https://html.spec.whatwg.org/#already-started 53131. https://html.spec.whatwg.org/#concept-origin 53132. https://html.spec.whatwg.org/#dom-document-write 53133. https://html.spec.whatwg.org/#stack-of-open-elements 53134. https://html.spec.whatwg.org/#current-node 53135. https://html.spec.whatwg.org/#script-data-state 53136. https://html.spec.whatwg.org/#original-insertion-mode 53137. https://html.spec.whatwg.org/#insertion-mode 53138. https://html.spec.whatwg.org/#insertion-mode 53139. https://html.spec.whatwg.org/#parsing-main-incdata 53140. https://html.spec.whatwg.org/#current-node 53141. https://html.spec.whatwg.org/#the-head-element 53142. https://html.spec.whatwg.org/#stack-of-open-elements 53143. https://html.spec.whatwg.org/#insertion-mode 53144. https://html.spec.whatwg.org/#the-after-head-insertion-mode 53145. https://html.spec.whatwg.org/#concept-parser-marker 53146. https://html.spec.whatwg.org/#list-of-active-formatting-elements 53147. https://html.spec.whatwg.org/#frameset-ok-flag 53148. https://html.spec.whatwg.org/#insertion-mode 53149. https://html.spec.whatwg.org/#parsing-main-intemplate 53150. https://html.spec.whatwg.org/#parsing-main-intemplate 53151. https://html.spec.whatwg.org/#stack-of-template-insertion-modes 53152. https://html.spec.whatwg.org/#current-template-insertion-mode 53153. https://html.spec.whatwg.org/#appropriate-place-for-inserting-a-node 53154. https://dom.spec.whatwg.org/#concept-node-document 53155. https://html.spec.whatwg.org/#attr-template-shadowrootmode 53156. https://html.spec.whatwg.org/#attr-shadowrootmode-none-state 53157. https://dom.spec.whatwg.org/#concept-document-allow-declarative-shadow-roots 53158. https://html.spec.whatwg.org/#adjusted-current-node 53159. https://html.spec.whatwg.org/#stack-of-open-elements 53160. https://html.spec.whatwg.org/#insert-an-html-element 53161. https://html.spec.whatwg.org/#adjusted-current-node 53162. https://html.spec.whatwg.org/#insert-a-foreign-element 53163. https://infra.spec.whatwg.org/#html-namespace 53164. https://html.spec.whatwg.org/#attr-template-shadowrootmode 53165. https://html.spec.whatwg.org/#attr-template-shadowrootclonable 53166. https://html.spec.whatwg.org/#attr-template-shadowrootserializable 53167. https://html.spec.whatwg.org/#attr-template-shadowrootdelegatesfocus 53168. https://dom.spec.whatwg.org/#element-shadow-host 53169. https://html.spec.whatwg.org/#insert-an-element-at-the-adjusted-insertion-location 53170. https://dom.spec.whatwg.org/#element-custom-element-registry 53171. https://html.spec.whatwg.org/#attr-template-shadowrootcustomelementregistry 53172. https://dom.spec.whatwg.org/#concept-attach-a-shadow-root 53173. https://html.spec.whatwg.org/#insert-an-element-at-the-adjusted-insertion-location 53174. https://dom.spec.whatwg.org/#concept-element-shadow-root 53175. https://dom.spec.whatwg.org/#shadowroot-declarative 53176. https://html.spec.whatwg.org/#the-template-element 53177. https://html.spec.whatwg.org/#template-contents 53178. https://dom.spec.whatwg.org/#shadowroot-available-to-element-internals 53179. https://html.spec.whatwg.org/#attr-template-shadowrootcustomelementregistry 53180. https://dom.spec.whatwg.org/#shadowroot-keep-custom-element-registry-null 53181. https://html.spec.whatwg.org/#the-template-element 53182. https://html.spec.whatwg.org/#stack-of-open-elements 53183. https://html.spec.whatwg.org/#parse-errors 53184. https://html.spec.whatwg.org/#generate-all-implied-end-tags-thoroughly 53185. https://html.spec.whatwg.org/#current-node 53186. https://html.spec.whatwg.org/#the-template-element 53187. https://html.spec.whatwg.org/#parse-errors 53188. https://html.spec.whatwg.org/#stack-of-open-elements 53189. https://html.spec.whatwg.org/#the-template-element 53190. https://html.spec.whatwg.org/#clear-the-list-of-active-formatting-elements-up-to-the-last-marker 53191. https://html.spec.whatwg.org/#current-template-insertion-mode 53192. https://html.spec.whatwg.org/#stack-of-template-insertion-modes 53193. https://html.spec.whatwg.org/#reset-the-insertion-mode-appropriately 53194. https://html.spec.whatwg.org/#parse-errors 53195. https://html.spec.whatwg.org/#current-node 53196. https://html.spec.whatwg.org/#the-head-element 53197. https://html.spec.whatwg.org/#stack-of-open-elements 53198. https://html.spec.whatwg.org/#insertion-mode 53199. https://html.spec.whatwg.org/#the-after-head-insertion-mode 53200. https://html.spec.whatwg.org/#parsing-main-inheadnoscript 53201. https://html.spec.whatwg.org/#insertion-mode 53202. https://html.spec.whatwg.org/#parse-errors 53203. https://html.spec.whatwg.org/#using-the-rules-for 53204. https://html.spec.whatwg.org/#parsing-main-inbody 53205. https://html.spec.whatwg.org/#insertion-mode 53206. https://html.spec.whatwg.org/#current-node 53207. https://html.spec.whatwg.org/#the-noscript-element 53208. https://html.spec.whatwg.org/#stack-of-open-elements 53209. https://html.spec.whatwg.org/#current-node 53210. https://html.spec.whatwg.org/#the-head-element 53211. https://html.spec.whatwg.org/#insertion-mode 53212. https://html.spec.whatwg.org/#parsing-main-inhead 53213. https://html.spec.whatwg.org/#using-the-rules-for 53214. https://html.spec.whatwg.org/#parsing-main-inhead 53215. https://html.spec.whatwg.org/#insertion-mode 53216. https://html.spec.whatwg.org/#parse-errors 53217. https://html.spec.whatwg.org/#parse-errors 53218. https://html.spec.whatwg.org/#current-node 53219. https://html.spec.whatwg.org/#the-noscript-element 53220. https://html.spec.whatwg.org/#stack-of-open-elements 53221. https://html.spec.whatwg.org/#current-node 53222. https://html.spec.whatwg.org/#the-head-element 53223. https://html.spec.whatwg.org/#insertion-mode 53224. https://html.spec.whatwg.org/#parsing-main-inhead 53225. https://html.spec.whatwg.org/#the-after-head-insertion-mode 53226. https://html.spec.whatwg.org/#insertion-mode 53227. https://html.spec.whatwg.org/#insert-a-character 53228. https://html.spec.whatwg.org/#insert-a-comment 53229. https://html.spec.whatwg.org/#parse-errors 53230. https://html.spec.whatwg.org/#using-the-rules-for 53231. https://html.spec.whatwg.org/#parsing-main-inbody 53232. https://html.spec.whatwg.org/#insertion-mode 53233. https://html.spec.whatwg.org/#insert-an-html-element 53234. https://html.spec.whatwg.org/#frameset-ok-flag 53235. https://html.spec.whatwg.org/#insertion-mode 53236. https://html.spec.whatwg.org/#parsing-main-inbody 53237. https://html.spec.whatwg.org/#insert-an-html-element 53238. https://html.spec.whatwg.org/#insertion-mode 53239. https://html.spec.whatwg.org/#parsing-main-inframeset 53240. https://html.spec.whatwg.org/#parse-errors 53241. https://html.spec.whatwg.org/#head-element-pointer 53242. https://html.spec.whatwg.org/#stack-of-open-elements 53243. https://html.spec.whatwg.org/#using-the-rules-for 53244. https://html.spec.whatwg.org/#parsing-main-inhead 53245. https://html.spec.whatwg.org/#insertion-mode 53246. https://html.spec.whatwg.org/#head-element-pointer 53247. https://html.spec.whatwg.org/#stack-of-open-elements 53248. https://html.spec.whatwg.org/#current-node 53249. https://html.spec.whatwg.org/#head-element-pointer 53250. https://html.spec.whatwg.org/#using-the-rules-for 53251. https://html.spec.whatwg.org/#parsing-main-inhead 53252. https://html.spec.whatwg.org/#insertion-mode 53253. https://html.spec.whatwg.org/#parse-errors 53254. https://html.spec.whatwg.org/#insert-an-html-element 53255. https://html.spec.whatwg.org/#insertion-mode 53256. https://html.spec.whatwg.org/#parsing-main-inbody 53257. https://html.spec.whatwg.org/#parsing-main-inbody 53258. https://html.spec.whatwg.org/#insertion-mode 53259. https://html.spec.whatwg.org/#parse-errors 53260. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 53261. https://html.spec.whatwg.org/#insert-a-character 53262. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 53263. https://html.spec.whatwg.org/#insert-a-character 53264. https://html.spec.whatwg.org/#frameset-ok-flag 53265. https://html.spec.whatwg.org/#insert-a-comment 53266. https://html.spec.whatwg.org/#parse-errors 53267. https://html.spec.whatwg.org/#parse-errors 53268. https://html.spec.whatwg.org/#the-template-element 53269. https://html.spec.whatwg.org/#stack-of-open-elements 53270. https://html.spec.whatwg.org/#stack-of-open-elements 53271. https://html.spec.whatwg.org/#using-the-rules-for 53272. https://html.spec.whatwg.org/#parsing-main-inhead 53273. https://html.spec.whatwg.org/#insertion-mode 53274. https://html.spec.whatwg.org/#parse-errors 53275. https://html.spec.whatwg.org/#stack-of-open-elements 53276. https://html.spec.whatwg.org/#stack-of-open-elements 53277. https://html.spec.whatwg.org/#the-body-element 53278. https://html.spec.whatwg.org/#the-template-element 53279. https://html.spec.whatwg.org/#stack-of-open-elements 53280. https://html.spec.whatwg.org/#fragment-case 53281. https://html.spec.whatwg.org/#the-template-element 53282. https://html.spec.whatwg.org/#frameset-ok-flag 53283. https://html.spec.whatwg.org/#the-body-element 53284. https://html.spec.whatwg.org/#stack-of-open-elements 53285. https://html.spec.whatwg.org/#parse-errors 53286. https://html.spec.whatwg.org/#stack-of-open-elements 53287. https://html.spec.whatwg.org/#stack-of-open-elements 53288. https://html.spec.whatwg.org/#the-body-element 53289. https://html.spec.whatwg.org/#fragment-case 53290. https://html.spec.whatwg.org/#the-template-element 53291. https://html.spec.whatwg.org/#frameset-ok-flag 53292. https://html.spec.whatwg.org/#stack-of-open-elements 53293. https://html.spec.whatwg.org/#stack-of-open-elements 53294. https://html.spec.whatwg.org/#current-node 53295. https://html.spec.whatwg.org/#the-html-element 53296. https://html.spec.whatwg.org/#insert-an-html-element 53297. https://html.spec.whatwg.org/#insertion-mode 53298. https://html.spec.whatwg.org/#parsing-main-inframeset 53299. https://html.spec.whatwg.org/#stack-of-template-insertion-modes 53300. https://html.spec.whatwg.org/#using-the-rules-for 53301. https://html.spec.whatwg.org/#parsing-main-intemplate 53302. https://html.spec.whatwg.org/#insertion-mode 53303. https://html.spec.whatwg.org/#stack-of-open-elements 53304. https://html.spec.whatwg.org/#the-dd-element 53305. https://html.spec.whatwg.org/#the-dt-element 53306. https://html.spec.whatwg.org/#the-li-element 53307. https://html.spec.whatwg.org/#the-optgroup-element 53308. https://html.spec.whatwg.org/#the-option-element 53309. https://html.spec.whatwg.org/#the-p-element 53310. https://html.spec.whatwg.org/#rb 53311. https://html.spec.whatwg.org/#the-rp-element 53312. https://html.spec.whatwg.org/#the-rt-element 53313. https://html.spec.whatwg.org/#rtc 53314. https://html.spec.whatwg.org/#the-tbody-element 53315. https://html.spec.whatwg.org/#the-td-element 53316. https://html.spec.whatwg.org/#the-tfoot-element 53317. https://html.spec.whatwg.org/#the-th-element 53318. https://html.spec.whatwg.org/#the-thead-element 53319. https://html.spec.whatwg.org/#the-tr-element 53320. https://html.spec.whatwg.org/#the-body-element 53321. https://html.spec.whatwg.org/#the-html-element 53322. https://html.spec.whatwg.org/#parse-errors 53323. https://html.spec.whatwg.org/#stop-parsing 53324. https://html.spec.whatwg.org/#stack-of-open-elements 53325. https://html.spec.whatwg.org/#has-an-element-in-scope 53326. https://html.spec.whatwg.org/#parse-errors 53327. https://html.spec.whatwg.org/#stack-of-open-elements 53328. https://html.spec.whatwg.org/#the-dd-element 53329. https://html.spec.whatwg.org/#the-dt-element 53330. https://html.spec.whatwg.org/#the-li-element 53331. https://html.spec.whatwg.org/#the-optgroup-element 53332. https://html.spec.whatwg.org/#the-option-element 53333. https://html.spec.whatwg.org/#the-p-element 53334. https://html.spec.whatwg.org/#rb 53335. https://html.spec.whatwg.org/#the-rp-element 53336. https://html.spec.whatwg.org/#the-rt-element 53337. https://html.spec.whatwg.org/#rtc 53338. https://html.spec.whatwg.org/#the-tbody-element 53339. https://html.spec.whatwg.org/#the-td-element 53340. https://html.spec.whatwg.org/#the-tfoot-element 53341. https://html.spec.whatwg.org/#the-th-element 53342. https://html.spec.whatwg.org/#the-thead-element 53343. https://html.spec.whatwg.org/#the-tr-element 53344. https://html.spec.whatwg.org/#the-body-element 53345. https://html.spec.whatwg.org/#the-html-element 53346. https://html.spec.whatwg.org/#parse-errors 53347. https://html.spec.whatwg.org/#insertion-mode 53348. https://html.spec.whatwg.org/#parsing-main-afterbody 53349. https://html.spec.whatwg.org/#stack-of-open-elements 53350. https://html.spec.whatwg.org/#has-an-element-in-scope 53351. https://html.spec.whatwg.org/#parse-errors 53352. https://html.spec.whatwg.org/#stack-of-open-elements 53353. https://html.spec.whatwg.org/#the-dd-element 53354. https://html.spec.whatwg.org/#the-dt-element 53355. https://html.spec.whatwg.org/#the-li-element 53356. https://html.spec.whatwg.org/#the-optgroup-element 53357. https://html.spec.whatwg.org/#the-option-element 53358. https://html.spec.whatwg.org/#the-p-element 53359. https://html.spec.whatwg.org/#rb 53360. https://html.spec.whatwg.org/#the-rp-element 53361. https://html.spec.whatwg.org/#the-rt-element 53362. https://html.spec.whatwg.org/#rtc 53363. https://html.spec.whatwg.org/#the-tbody-element 53364. https://html.spec.whatwg.org/#the-td-element 53365. https://html.spec.whatwg.org/#the-tfoot-element 53366. https://html.spec.whatwg.org/#the-th-element 53367. https://html.spec.whatwg.org/#the-thead-element 53368. https://html.spec.whatwg.org/#the-tr-element 53369. https://html.spec.whatwg.org/#the-body-element 53370. https://html.spec.whatwg.org/#the-html-element 53371. https://html.spec.whatwg.org/#parse-errors 53372. https://html.spec.whatwg.org/#insertion-mode 53373. https://html.spec.whatwg.org/#parsing-main-afterbody 53374. https://html.spec.whatwg.org/#stack-of-open-elements 53375. https://html.spec.whatwg.org/#has-an-element-in-button-scope 53376. https://html.spec.whatwg.org/#close-a-p-element 53377. https://html.spec.whatwg.org/#insert-an-html-element 53378. https://html.spec.whatwg.org/#stack-of-open-elements 53379. https://html.spec.whatwg.org/#has-an-element-in-button-scope 53380. https://html.spec.whatwg.org/#close-a-p-element 53381. https://html.spec.whatwg.org/#current-node 53382. https://html.spec.whatwg.org/#html-elements 53383. https://html.spec.whatwg.org/#parse-errors 53384. https://html.spec.whatwg.org/#current-node 53385. https://html.spec.whatwg.org/#stack-of-open-elements 53386. https://html.spec.whatwg.org/#insert-an-html-element 53387. https://html.spec.whatwg.org/#stack-of-open-elements 53388. https://html.spec.whatwg.org/#has-an-element-in-button-scope 53389. https://html.spec.whatwg.org/#close-a-p-element 53390. https://html.spec.whatwg.org/#insert-an-html-element 53391. https://html.spec.whatwg.org/#next-token 53392. https://html.spec.whatwg.org/#the-pre-element 53393. https://html.spec.whatwg.org/#frameset-ok-flag 53394. https://html.spec.whatwg.org/#form-element-pointer 53395. https://html.spec.whatwg.org/#the-template-element 53396. https://html.spec.whatwg.org/#stack-of-open-elements 53397. https://html.spec.whatwg.org/#parse-errors 53398. https://html.spec.whatwg.org/#stack-of-open-elements 53399. https://html.spec.whatwg.org/#has-an-element-in-button-scope 53400. https://html.spec.whatwg.org/#close-a-p-element 53401. https://html.spec.whatwg.org/#insert-an-html-element 53402. https://html.spec.whatwg.org/#the-template-element 53403. https://html.spec.whatwg.org/#stack-of-open-elements 53404. https://html.spec.whatwg.org/#form-element-pointer 53405. https://html.spec.whatwg.org/#frameset-ok-flag 53406. https://html.spec.whatwg.org/#current-node 53407. https://html.spec.whatwg.org/#the-li-element 53408. https://html.spec.whatwg.org/#generate-implied-end-tags 53409. https://html.spec.whatwg.org/#the-li-element 53410. https://html.spec.whatwg.org/#current-node 53411. https://html.spec.whatwg.org/#the-li-element 53412. https://html.spec.whatwg.org/#parse-errors 53413. https://html.spec.whatwg.org/#stack-of-open-elements 53414. https://html.spec.whatwg.org/#the-li-element 53415. https://html.spec.whatwg.org/#special 53416. https://html.spec.whatwg.org/#the-address-element 53417. https://html.spec.whatwg.org/#the-div-element 53418. https://html.spec.whatwg.org/#the-p-element 53419. https://html.spec.whatwg.org/#stack-of-open-elements 53420. https://html.spec.whatwg.org/#stack-of-open-elements 53421. https://html.spec.whatwg.org/#has-an-element-in-button-scope 53422. https://html.spec.whatwg.org/#close-a-p-element 53423. https://html.spec.whatwg.org/#insert-an-html-element 53424. https://html.spec.whatwg.org/#frameset-ok-flag 53425. https://html.spec.whatwg.org/#current-node 53426. https://html.spec.whatwg.org/#the-dd-element 53427. https://html.spec.whatwg.org/#generate-implied-end-tags 53428. https://html.spec.whatwg.org/#the-dd-element 53429. https://html.spec.whatwg.org/#current-node 53430. https://html.spec.whatwg.org/#the-dd-element 53431. https://html.spec.whatwg.org/#parse-errors 53432. https://html.spec.whatwg.org/#stack-of-open-elements 53433. https://html.spec.whatwg.org/#the-dd-element 53434. https://html.spec.whatwg.org/#the-dt-element 53435. https://html.spec.whatwg.org/#generate-implied-end-tags 53436. https://html.spec.whatwg.org/#the-dt-element 53437. https://html.spec.whatwg.org/#current-node 53438. https://html.spec.whatwg.org/#the-dt-element 53439. https://html.spec.whatwg.org/#parse-errors 53440. https://html.spec.whatwg.org/#stack-of-open-elements 53441. https://html.spec.whatwg.org/#the-dt-element 53442. https://html.spec.whatwg.org/#special 53443. https://html.spec.whatwg.org/#the-address-element 53444. https://html.spec.whatwg.org/#the-div-element 53445. https://html.spec.whatwg.org/#the-p-element 53446. https://html.spec.whatwg.org/#stack-of-open-elements 53447. https://html.spec.whatwg.org/#stack-of-open-elements 53448. https://html.spec.whatwg.org/#has-an-element-in-button-scope 53449. https://html.spec.whatwg.org/#close-a-p-element 53450. https://html.spec.whatwg.org/#insert-an-html-element 53451. https://html.spec.whatwg.org/#stack-of-open-elements 53452. https://html.spec.whatwg.org/#has-an-element-in-button-scope 53453. https://html.spec.whatwg.org/#close-a-p-element 53454. https://html.spec.whatwg.org/#insert-an-html-element 53455. https://html.spec.whatwg.org/#plaintext-state 53456. https://html.spec.whatwg.org/#plaintext-state 53457. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 53458. https://html.spec.whatwg.org/#plaintext 53459. https://html.spec.whatwg.org/#stack-of-open-elements 53460. https://html.spec.whatwg.org/#has-an-element-in-scope 53461. https://html.spec.whatwg.org/#parse-errors 53462. https://html.spec.whatwg.org/#generate-implied-end-tags 53463. https://html.spec.whatwg.org/#stack-of-open-elements 53464. https://html.spec.whatwg.org/#the-button-element 53465. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 53466. https://html.spec.whatwg.org/#insert-an-html-element 53467. https://html.spec.whatwg.org/#frameset-ok-flag 53468. https://html.spec.whatwg.org/#stack-of-open-elements 53469. https://html.spec.whatwg.org/#has-an-element-in-scope 53470. https://html.spec.whatwg.org/#html-elements 53471. https://html.spec.whatwg.org/#parse-errors 53472. https://html.spec.whatwg.org/#generate-implied-end-tags 53473. https://html.spec.whatwg.org/#current-node 53474. https://html.spec.whatwg.org/#html-elements 53475. https://html.spec.whatwg.org/#parse-errors 53476. https://html.spec.whatwg.org/#stack-of-open-elements 53477. https://html.spec.whatwg.org/#html-elements 53478. https://html.spec.whatwg.org/#the-template-element 53479. https://html.spec.whatwg.org/#stack-of-open-elements 53480. https://html.spec.whatwg.org/#form-element-pointer 53481. https://html.spec.whatwg.org/#form-element-pointer 53482. https://html.spec.whatwg.org/#stack-of-open-elements 53483. https://html.spec.whatwg.org/#has-an-element-in-scope 53484. https://html.spec.whatwg.org/#parse-errors 53485. https://html.spec.whatwg.org/#generate-implied-end-tags 53486. https://html.spec.whatwg.org/#current-node 53487. https://html.spec.whatwg.org/#parse-errors 53488. https://html.spec.whatwg.org/#stack-of-open-elements 53489. https://html.spec.whatwg.org/#the-template-element 53490. https://html.spec.whatwg.org/#stack-of-open-elements 53491. https://html.spec.whatwg.org/#stack-of-open-elements 53492. https://html.spec.whatwg.org/#has-an-element-in-scope 53493. https://html.spec.whatwg.org/#parse-errors 53494. https://html.spec.whatwg.org/#generate-implied-end-tags 53495. https://html.spec.whatwg.org/#current-node 53496. https://html.spec.whatwg.org/#the-form-element 53497. https://html.spec.whatwg.org/#parse-errors 53498. https://html.spec.whatwg.org/#stack-of-open-elements 53499. https://html.spec.whatwg.org/#the-form-element 53500. https://html.spec.whatwg.org/#stack-of-open-elements 53501. https://html.spec.whatwg.org/#has-an-element-in-button-scope 53502. https://html.spec.whatwg.org/#parse-errors 53503. https://html.spec.whatwg.org/#insert-an-html-element 53504. https://html.spec.whatwg.org/#close-a-p-element 53505. https://html.spec.whatwg.org/#stack-of-open-elements 53506. https://html.spec.whatwg.org/#has-an-element-in-list-item-scope 53507. https://html.spec.whatwg.org/#parse-errors 53508. https://html.spec.whatwg.org/#generate-implied-end-tags 53509. https://html.spec.whatwg.org/#the-li-element 53510. https://html.spec.whatwg.org/#current-node 53511. https://html.spec.whatwg.org/#the-li-element 53512. https://html.spec.whatwg.org/#parse-errors 53513. https://html.spec.whatwg.org/#stack-of-open-elements 53514. https://html.spec.whatwg.org/#the-li-element 53515. https://html.spec.whatwg.org/#stack-of-open-elements 53516. https://html.spec.whatwg.org/#has-an-element-in-scope 53517. https://html.spec.whatwg.org/#html-elements 53518. https://html.spec.whatwg.org/#parse-errors 53519. https://html.spec.whatwg.org/#generate-implied-end-tags 53520. https://html.spec.whatwg.org/#html-elements 53521. https://html.spec.whatwg.org/#current-node 53522. https://html.spec.whatwg.org/#html-elements 53523. https://html.spec.whatwg.org/#parse-errors 53524. https://html.spec.whatwg.org/#stack-of-open-elements 53525. https://html.spec.whatwg.org/#html-elements 53526. https://html.spec.whatwg.org/#stack-of-open-elements 53527. https://html.spec.whatwg.org/#has-an-element-in-scope 53528. https://html.spec.whatwg.org/#html-elements 53529. https://html.spec.whatwg.org/#parse-errors 53530. https://html.spec.whatwg.org/#generate-implied-end-tags 53531. https://html.spec.whatwg.org/#current-node 53532. https://html.spec.whatwg.org/#html-elements 53533. https://html.spec.whatwg.org/#parse-errors 53534. https://html.spec.whatwg.org/#stack-of-open-elements 53535. https://html.spec.whatwg.org/#html-elements 53536. https://html.spec.whatwg.org/#list-of-active-formatting-elements 53537. https://html.spec.whatwg.org/#the-a-element 53538. https://html.spec.whatwg.org/#concept-parser-marker 53539. https://html.spec.whatwg.org/#concept-parser-marker 53540. https://html.spec.whatwg.org/#parse-errors 53541. https://html.spec.whatwg.org/#adoption-agency-algorithm 53542. https://html.spec.whatwg.org/#list-of-active-formatting-elements 53543. https://html.spec.whatwg.org/#stack-of-open-elements 53544. https://html.spec.whatwg.org/#adoption-agency-algorithm 53545. https://html.spec.whatwg.org/#has-an-element-in-table-scope 53546. https://html.spec.whatwg.org/#the-a-element 53547. https://html.spec.whatwg.org/#the-a-element 53548. https://html.spec.whatwg.org/#the-a-element 53549. https://html.spec.whatwg.org/#the-a-element 53550. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 53551. https://html.spec.whatwg.org/#insert-an-html-element 53552. https://html.spec.whatwg.org/#push-onto-the-list-of-active-formatting-elements 53553. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 53554. https://html.spec.whatwg.org/#insert-an-html-element 53555. https://html.spec.whatwg.org/#push-onto-the-list-of-active-formatting-elements 53556. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 53557. https://html.spec.whatwg.org/#stack-of-open-elements 53558. https://html.spec.whatwg.org/#has-an-element-in-scope 53559. https://html.spec.whatwg.org/#parse-errors 53560. https://html.spec.whatwg.org/#adoption-agency-algorithm 53561. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 53562. https://html.spec.whatwg.org/#insert-an-html-element 53563. https://html.spec.whatwg.org/#push-onto-the-list-of-active-formatting-elements 53564. https://html.spec.whatwg.org/#adoption-agency-algorithm 53565. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 53566. https://html.spec.whatwg.org/#insert-an-html-element 53567. https://html.spec.whatwg.org/#concept-parser-marker 53568. https://html.spec.whatwg.org/#list-of-active-formatting-elements 53569. https://html.spec.whatwg.org/#frameset-ok-flag 53570. https://html.spec.whatwg.org/#stack-of-open-elements 53571. https://html.spec.whatwg.org/#has-an-element-in-scope 53572. https://html.spec.whatwg.org/#html-elements 53573. https://html.spec.whatwg.org/#parse-errors 53574. https://html.spec.whatwg.org/#generate-implied-end-tags 53575. https://html.spec.whatwg.org/#current-node 53576. https://html.spec.whatwg.org/#html-elements 53577. https://html.spec.whatwg.org/#parse-errors 53578. https://html.spec.whatwg.org/#stack-of-open-elements 53579. https://html.spec.whatwg.org/#html-elements 53580. https://html.spec.whatwg.org/#clear-the-list-of-active-formatting-elements-up-to-the-last-marker 53581. https://html.spec.whatwg.org/#document 53582. https://dom.spec.whatwg.org/#concept-document-quirks 53583. https://html.spec.whatwg.org/#stack-of-open-elements 53584. https://html.spec.whatwg.org/#has-an-element-in-button-scope 53585. https://html.spec.whatwg.org/#close-a-p-element 53586. https://html.spec.whatwg.org/#insert-an-html-element 53587. https://html.spec.whatwg.org/#frameset-ok-flag 53588. https://html.spec.whatwg.org/#insertion-mode 53589. https://html.spec.whatwg.org/#parsing-main-intable 53590. https://html.spec.whatwg.org/#parse-errors 53591. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 53592. https://html.spec.whatwg.org/#insert-an-html-element 53593. https://html.spec.whatwg.org/#current-node 53594. https://html.spec.whatwg.org/#stack-of-open-elements 53595. https://html.spec.whatwg.org/#acknowledge-self-closing-flag 53596. https://html.spec.whatwg.org/#frameset-ok-flag 53597. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 53598. https://html.spec.whatwg.org/#insert-an-html-element 53599. https://html.spec.whatwg.org/#current-node 53600. https://html.spec.whatwg.org/#stack-of-open-elements 53601. https://html.spec.whatwg.org/#acknowledge-self-closing-flag 53602. https://infra.spec.whatwg.org/#ascii-case-insensitive 53603. https://html.spec.whatwg.org/#frameset-ok-flag 53604. https://html.spec.whatwg.org/#insert-an-html-element 53605. https://html.spec.whatwg.org/#current-node 53606. https://html.spec.whatwg.org/#stack-of-open-elements 53607. https://html.spec.whatwg.org/#acknowledge-self-closing-flag 53608. https://html.spec.whatwg.org/#stack-of-open-elements 53609. https://html.spec.whatwg.org/#has-an-element-in-button-scope 53610. https://html.spec.whatwg.org/#close-a-p-element 53611. https://html.spec.whatwg.org/#insert-an-html-element 53612. https://html.spec.whatwg.org/#current-node 53613. https://html.spec.whatwg.org/#stack-of-open-elements 53614. https://html.spec.whatwg.org/#acknowledge-self-closing-flag 53615. https://html.spec.whatwg.org/#frameset-ok-flag 53616. https://html.spec.whatwg.org/#parse-errors 53617. https://html.spec.whatwg.org/#insert-an-html-element 53618. https://html.spec.whatwg.org/#next-token 53619. https://html.spec.whatwg.org/#the-textarea-element 53620. https://html.spec.whatwg.org/#rcdata-state 53621. https://html.spec.whatwg.org/#original-insertion-mode 53622. https://html.spec.whatwg.org/#insertion-mode 53623. https://html.spec.whatwg.org/#frameset-ok-flag 53624. https://html.spec.whatwg.org/#insertion-mode 53625. https://html.spec.whatwg.org/#parsing-main-incdata 53626. https://html.spec.whatwg.org/#stack-of-open-elements 53627. https://html.spec.whatwg.org/#has-an-element-in-button-scope 53628. https://html.spec.whatwg.org/#close-a-p-element 53629. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 53630. https://html.spec.whatwg.org/#frameset-ok-flag 53631. https://html.spec.whatwg.org/#generic-raw-text-element-parsing-algorithm 53632. https://html.spec.whatwg.org/#frameset-ok-flag 53633. https://html.spec.whatwg.org/#generic-raw-text-element-parsing-algorithm 53634. https://html.spec.whatwg.org/#scripting-flag 53635. https://html.spec.whatwg.org/#generic-raw-text-element-parsing-algorithm 53636. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 53637. https://html.spec.whatwg.org/#insert-an-html-element 53638. https://html.spec.whatwg.org/#frameset-ok-flag 53639. https://html.spec.whatwg.org/#insertion-mode 53640. https://html.spec.whatwg.org/#parsing-main-intable 53641. https://html.spec.whatwg.org/#parsing-main-incaption 53642. https://html.spec.whatwg.org/#parsing-main-intbody 53643. https://html.spec.whatwg.org/#parsing-main-intr 53644. https://html.spec.whatwg.org/#parsing-main-intd 53645. https://html.spec.whatwg.org/#insertion-mode 53646. https://html.spec.whatwg.org/#parsing-main-inselectintable 53647. https://html.spec.whatwg.org/#insertion-mode 53648. https://html.spec.whatwg.org/#parsing-main-inselect 53649. https://html.spec.whatwg.org/#current-node 53650. https://html.spec.whatwg.org/#the-option-element 53651. https://html.spec.whatwg.org/#current-node 53652. https://html.spec.whatwg.org/#stack-of-open-elements 53653. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 53654. https://html.spec.whatwg.org/#insert-an-html-element 53655. https://html.spec.whatwg.org/#stack-of-open-elements 53656. https://html.spec.whatwg.org/#has-an-element-in-scope 53657. https://html.spec.whatwg.org/#generate-implied-end-tags 53658. https://html.spec.whatwg.org/#current-node 53659. https://html.spec.whatwg.org/#the-ruby-element 53660. https://html.spec.whatwg.org/#parse-errors 53661. https://html.spec.whatwg.org/#insert-an-html-element 53662. https://html.spec.whatwg.org/#stack-of-open-elements 53663. https://html.spec.whatwg.org/#has-an-element-in-scope 53664. https://html.spec.whatwg.org/#generate-implied-end-tags 53665. https://html.spec.whatwg.org/#rtc 53666. https://html.spec.whatwg.org/#current-node 53667. https://html.spec.whatwg.org/#rtc 53668. https://html.spec.whatwg.org/#the-ruby-element 53669. https://html.spec.whatwg.org/#parse-errors 53670. https://html.spec.whatwg.org/#insert-an-html-element 53671. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 53672. https://html.spec.whatwg.org/#adjust-mathml-attributes 53673. https://html.spec.whatwg.org/#adjust-foreign-attributes 53674. https://html.spec.whatwg.org/#insert-a-foreign-element 53675. https://infra.spec.whatwg.org/#mathml-namespace 53676. https://html.spec.whatwg.org/#self-closing-flag 53677. https://html.spec.whatwg.org/#current-node 53678. https://html.spec.whatwg.org/#stack-of-open-elements 53679. https://html.spec.whatwg.org/#acknowledge-self-closing-flag 53680. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 53681. https://html.spec.whatwg.org/#adjust-svg-attributes 53682. https://html.spec.whatwg.org/#adjust-foreign-attributes 53683. https://html.spec.whatwg.org/#insert-a-foreign-element 53684. https://infra.spec.whatwg.org/#svg-namespace 53685. https://html.spec.whatwg.org/#self-closing-flag 53686. https://html.spec.whatwg.org/#current-node 53687. https://html.spec.whatwg.org/#stack-of-open-elements 53688. https://html.spec.whatwg.org/#acknowledge-self-closing-flag 53689. https://html.spec.whatwg.org/#parse-errors 53690. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 53691. https://html.spec.whatwg.org/#insert-an-html-element 53692. https://html.spec.whatwg.org/#ordinary 53693. https://html.spec.whatwg.org/#scripting-flag 53694. https://html.spec.whatwg.org/#the-noscript-element 53695. https://html.spec.whatwg.org/#current-node 53696. https://html.spec.whatwg.org/#html-elements 53697. https://html.spec.whatwg.org/#generate-implied-end-tags 53698. https://html.spec.whatwg.org/#html-elements 53699. https://html.spec.whatwg.org/#current-node 53700. https://html.spec.whatwg.org/#parse-errors 53701. https://html.spec.whatwg.org/#current-node 53702. https://html.spec.whatwg.org/#special 53703. https://html.spec.whatwg.org/#parse-errors 53704. https://html.spec.whatwg.org/#stack-of-open-elements 53705. https://html.spec.whatwg.org/#generate-implied-end-tags 53706. https://html.spec.whatwg.org/#the-p-element 53707. https://html.spec.whatwg.org/#current-node 53708. https://html.spec.whatwg.org/#the-p-element 53709. https://html.spec.whatwg.org/#parse-errors 53710. https://html.spec.whatwg.org/#stack-of-open-elements 53711. https://html.spec.whatwg.org/#the-p-element 53712. https://html.spec.whatwg.org/#current-node 53713. https://html.spec.whatwg.org/#html-elements 53714. https://html.spec.whatwg.org/#current-node 53715. https://html.spec.whatwg.org/#list-of-active-formatting-elements 53716. https://html.spec.whatwg.org/#current-node 53717. https://html.spec.whatwg.org/#stack-of-open-elements 53718. https://html.spec.whatwg.org/#list-of-active-formatting-elements 53719. https://html.spec.whatwg.org/#concept-parser-marker 53720. https://html.spec.whatwg.org/#stack-of-open-elements 53721. https://html.spec.whatwg.org/#parse-errors 53722. https://html.spec.whatwg.org/#stack-of-open-elements 53723. https://html.spec.whatwg.org/#has-an-element-in-scope 53724. https://html.spec.whatwg.org/#parse-errors 53725. https://html.spec.whatwg.org/#current-node 53726. https://html.spec.whatwg.org/#parse-errors 53727. https://html.spec.whatwg.org/#stack-of-open-elements 53728. https://html.spec.whatwg.org/#special 53729. https://html.spec.whatwg.org/#stack-of-open-elements 53730. https://html.spec.whatwg.org/#current-node 53731. https://html.spec.whatwg.org/#list-of-active-formatting-elements 53732. https://html.spec.whatwg.org/#stack-of-open-elements 53733. https://html.spec.whatwg.org/#list-of-active-formatting-elements 53734. https://html.spec.whatwg.org/#stack-of-open-elements 53735. https://html.spec.whatwg.org/#stack-of-open-elements 53736. https://html.spec.whatwg.org/#stack-of-open-elements 53737. https://infra.spec.whatwg.org/#iteration-break 53738. https://html.spec.whatwg.org/#list-of-active-formatting-elements 53739. https://html.spec.whatwg.org/#list-of-active-formatting-elements 53740. https://html.spec.whatwg.org/#list-of-active-formatting-elements 53741. https://html.spec.whatwg.org/#stack-of-open-elements 53742. https://infra.spec.whatwg.org/#iteration-continue 53743. https://html.spec.whatwg.org/#create-an-element-for-the-token 53744. https://infra.spec.whatwg.org/#html-namespace 53745. https://html.spec.whatwg.org/#list-of-active-formatting-elements 53746. https://html.spec.whatwg.org/#stack-of-open-elements 53747. https://html.spec.whatwg.org/#list-of-active-formatting-elements 53748. https://dom.spec.whatwg.org/#concept-node-append 53749. https://html.spec.whatwg.org/#appropriate-place-for-inserting-a-node 53750. https://html.spec.whatwg.org/#create-an-element-for-the-token 53751. https://infra.spec.whatwg.org/#html-namespace 53752. https://html.spec.whatwg.org/#list-of-active-formatting-elements 53753. https://html.spec.whatwg.org/#list-of-active-formatting-elements 53754. https://html.spec.whatwg.org/#stack-of-open-elements 53755. https://html.spec.whatwg.org/#stack-of-open-elements 53756. https://ln.hixie.ch/?start=1037910467&count=1 53757. https://html.spec.whatwg.org/#parsing-main-incdata 53758. https://html.spec.whatwg.org/#insertion-mode 53759. https://html.spec.whatwg.org/#insert-a-character 53760. https://html.spec.whatwg.org/#parse-errors 53761. https://html.spec.whatwg.org/#current-node 53762. https://html.spec.whatwg.org/#the-script-element 53763. https://html.spec.whatwg.org/#already-started 53764. https://html.spec.whatwg.org/#current-node 53765. https://html.spec.whatwg.org/#stack-of-open-elements 53766. https://html.spec.whatwg.org/#insertion-mode 53767. https://html.spec.whatwg.org/#original-insertion-mode 53768. https://html.spec.whatwg.org/#active-speculative-html-parser 53769. https://tc39.es/ecma262/#execution-context-stack 53770. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 53771. https://html.spec.whatwg.org/#current-node 53772. https://html.spec.whatwg.org/#the-script-element 53773. https://html.spec.whatwg.org/#current-node 53774. https://html.spec.whatwg.org/#stack-of-open-elements 53775. https://html.spec.whatwg.org/#insertion-mode 53776. https://html.spec.whatwg.org/#original-insertion-mode 53777. https://html.spec.whatwg.org/#insertion-point 53778. https://html.spec.whatwg.org/#insertion-point 53779. https://html.spec.whatwg.org/#next-input-character 53780. https://html.spec.whatwg.org/#script-nesting-level 53781. https://html.spec.whatwg.org/#active-speculative-html-parser 53782. https://html.spec.whatwg.org/#prepare-the-script-element 53783. https://html.spec.whatwg.org/#dom-document-write 53784. https://html.spec.whatwg.org/#nestedParsing 53785. https://html.spec.whatwg.org/#script-nesting-level 53786. https://html.spec.whatwg.org/#script-nesting-level 53787. https://html.spec.whatwg.org/#parser-pause-flag 53788. https://html.spec.whatwg.org/#insertion-point 53789. https://html.spec.whatwg.org/#insertion-point 53790. https://html.spec.whatwg.org/#pending-parsing-blocking-script 53791. https://html.spec.whatwg.org/#script-nesting-level 53792. https://html.spec.whatwg.org/#parser-pause-flag 53793. https://html.spec.whatwg.org/#nestedParsing 53794. https://html.spec.whatwg.org/#dom-document-write 53795. https://html.spec.whatwg.org/#pending-parsing-blocking-script 53796. https://html.spec.whatwg.org/#pending-parsing-blocking-script 53797. https://html.spec.whatwg.org/#pending-parsing-blocking-script 53798. https://html.spec.whatwg.org/#start-the-speculative-html-parser 53799. https://html.spec.whatwg.org/#tokenization 53800. https://html.spec.whatwg.org/#html-parser 53801. https://html.spec.whatwg.org/#event-loop 53802. https://html.spec.whatwg.org/#concept-task 53803. https://html.spec.whatwg.org/#tokenization 53804. https://html.spec.whatwg.org/#document 53805. https://html.spec.whatwg.org/#has-a-style-sheet-that-is-blocking-scripts 53806. https://html.spec.whatwg.org/#ready-to-be-parser-executed 53807. https://html.spec.whatwg.org/#spin-the-event-loop 53808. https://html.spec.whatwg.org/#document 53809. https://html.spec.whatwg.org/#has-no-style-sheet-that-is-blocking-scripts 53810. https://html.spec.whatwg.org/#ready-to-be-parser-executed 53811. https://html.spec.whatwg.org/#abort-a-parser 53812. https://html.spec.whatwg.org/#spin-the-event-loop 53813. https://html.spec.whatwg.org/#document 53814. https://html.spec.whatwg.org/#destroy-a-document 53815. https://html.spec.whatwg.org/#dom-document-open 53816. https://html.spec.whatwg.org/#document 53817. https://html.spec.whatwg.org/#stop-the-speculative-html-parser 53818. https://html.spec.whatwg.org/#tokenization 53819. https://html.spec.whatwg.org/#html-parser 53820. https://html.spec.whatwg.org/#concept-task 53821. https://html.spec.whatwg.org/#tokenization 53822. https://html.spec.whatwg.org/#insertion-point 53823. https://html.spec.whatwg.org/#next-input-character 53824. https://html.spec.whatwg.org/#script-nesting-level 53825. https://html.spec.whatwg.org/#execute-the-script-element 53826. https://html.spec.whatwg.org/#script-nesting-level 53827. https://html.spec.whatwg.org/#script-nesting-level 53828. https://html.spec.whatwg.org/#parser-pause-flag 53829. https://html.spec.whatwg.org/#insertion-point 53830. https://html.spec.whatwg.org/#current-node 53831. https://html.spec.whatwg.org/#stack-of-open-elements 53832. https://html.spec.whatwg.org/#insertion-mode 53833. https://html.spec.whatwg.org/#original-insertion-mode 53834. https://html.spec.whatwg.org/#parsing-main-intable 53835. https://html.spec.whatwg.org/#insertion-mode 53836. https://html.spec.whatwg.org/#current-node 53837. https://html.spec.whatwg.org/#the-table-element 53838. https://html.spec.whatwg.org/#the-tbody-element 53839. https://html.spec.whatwg.org/#the-template-element 53840. https://html.spec.whatwg.org/#the-tfoot-element 53841. https://html.spec.whatwg.org/#the-thead-element 53842. https://html.spec.whatwg.org/#the-tr-element 53843. https://html.spec.whatwg.org/#original-insertion-mode 53844. https://html.spec.whatwg.org/#insertion-mode 53845. https://html.spec.whatwg.org/#insertion-mode 53846. https://html.spec.whatwg.org/#parsing-main-intabletext 53847. https://html.spec.whatwg.org/#insert-a-comment 53848. https://html.spec.whatwg.org/#parse-errors 53849. https://html.spec.whatwg.org/#clear-the-stack-back-to-a-table-context 53850. https://html.spec.whatwg.org/#concept-parser-marker 53851. https://html.spec.whatwg.org/#list-of-active-formatting-elements 53852. https://html.spec.whatwg.org/#insert-an-html-element 53853. https://html.spec.whatwg.org/#insertion-mode 53854. https://html.spec.whatwg.org/#parsing-main-incaption 53855. https://html.spec.whatwg.org/#clear-the-stack-back-to-a-table-context 53856. https://html.spec.whatwg.org/#insert-an-html-element 53857. https://html.spec.whatwg.org/#insertion-mode 53858. https://html.spec.whatwg.org/#parsing-main-incolgroup 53859. https://html.spec.whatwg.org/#clear-the-stack-back-to-a-table-context 53860. https://html.spec.whatwg.org/#insert-an-html-element 53861. https://html.spec.whatwg.org/#insertion-mode 53862. https://html.spec.whatwg.org/#parsing-main-incolgroup 53863. https://html.spec.whatwg.org/#clear-the-stack-back-to-a-table-context 53864. https://html.spec.whatwg.org/#insert-an-html-element 53865. https://html.spec.whatwg.org/#insertion-mode 53866. https://html.spec.whatwg.org/#parsing-main-intbody 53867. https://html.spec.whatwg.org/#clear-the-stack-back-to-a-table-context 53868. https://html.spec.whatwg.org/#insert-an-html-element 53869. https://html.spec.whatwg.org/#insertion-mode 53870. https://html.spec.whatwg.org/#parsing-main-intbody 53871. https://html.spec.whatwg.org/#parse-errors 53872. https://html.spec.whatwg.org/#stack-of-open-elements 53873. https://html.spec.whatwg.org/#has-an-element-in-table-scope 53874. https://html.spec.whatwg.org/#the-table-element 53875. https://html.spec.whatwg.org/#reset-the-insertion-mode-appropriately 53876. https://html.spec.whatwg.org/#stack-of-open-elements 53877. https://html.spec.whatwg.org/#has-an-element-in-table-scope 53878. https://html.spec.whatwg.org/#parse-errors 53879. https://html.spec.whatwg.org/#the-table-element 53880. https://html.spec.whatwg.org/#reset-the-insertion-mode-appropriately 53881. https://html.spec.whatwg.org/#parse-errors 53882. https://html.spec.whatwg.org/#using-the-rules-for 53883. https://html.spec.whatwg.org/#parsing-main-inhead 53884. https://html.spec.whatwg.org/#insertion-mode 53885. https://infra.spec.whatwg.org/#ascii-case-insensitive 53886. https://html.spec.whatwg.org/#parse-errors 53887. https://html.spec.whatwg.org/#insert-an-html-element 53888. https://html.spec.whatwg.org/#the-input-element 53889. https://html.spec.whatwg.org/#stack-of-open-elements 53890. https://html.spec.whatwg.org/#acknowledge-self-closing-flag 53891. https://html.spec.whatwg.org/#parse-errors 53892. https://html.spec.whatwg.org/#the-template-element 53893. https://html.spec.whatwg.org/#stack-of-open-elements 53894. https://html.spec.whatwg.org/#form-element-pointer 53895. https://html.spec.whatwg.org/#insert-an-html-element 53896. https://html.spec.whatwg.org/#form-element-pointer 53897. https://html.spec.whatwg.org/#the-form-element 53898. https://html.spec.whatwg.org/#stack-of-open-elements 53899. https://html.spec.whatwg.org/#using-the-rules-for 53900. https://html.spec.whatwg.org/#parsing-main-inbody 53901. https://html.spec.whatwg.org/#insertion-mode 53902. https://html.spec.whatwg.org/#parse-errors 53903. https://html.spec.whatwg.org/#foster-parent 53904. https://html.spec.whatwg.org/#using-the-rules-for 53905. https://html.spec.whatwg.org/#parsing-main-inbody 53906. https://html.spec.whatwg.org/#insertion-mode 53907. https://html.spec.whatwg.org/#foster-parent 53908. https://html.spec.whatwg.org/#current-node 53909. https://html.spec.whatwg.org/#the-table-element 53910. https://html.spec.whatwg.org/#the-template-element 53911. https://html.spec.whatwg.org/#the-html-element 53912. https://html.spec.whatwg.org/#stack-of-open-elements 53913. https://html.spec.whatwg.org/#has-an-element-in-table-scope 53914. https://html.spec.whatwg.org/#current-node 53915. https://html.spec.whatwg.org/#the-html-element 53916. https://html.spec.whatwg.org/#fragment-case 53917. https://html.spec.whatwg.org/#parsing-main-intabletext 53918. https://html.spec.whatwg.org/#insertion-mode 53919. https://html.spec.whatwg.org/#parse-errors 53920. https://html.spec.whatwg.org/#concept-pending-table-char-tokens 53921. https://html.spec.whatwg.org/#concept-pending-table-char-tokens 53922. https://infra.spec.whatwg.org/#ascii-whitespace 53923. https://html.spec.whatwg.org/#parse-errors 53924. https://html.spec.whatwg.org/#concept-pending-table-char-tokens 53925. https://html.spec.whatwg.org/#parsing-main-intable 53926. https://html.spec.whatwg.org/#insert-a-character 53927. https://html.spec.whatwg.org/#concept-pending-table-char-tokens 53928. https://html.spec.whatwg.org/#insertion-mode 53929. https://html.spec.whatwg.org/#original-insertion-mode 53930. https://html.spec.whatwg.org/#parsing-main-incaption 53931. https://html.spec.whatwg.org/#insertion-mode 53932. https://html.spec.whatwg.org/#stack-of-open-elements 53933. https://html.spec.whatwg.org/#has-an-element-in-table-scope 53934. https://html.spec.whatwg.org/#parse-errors 53935. https://html.spec.whatwg.org/#fragment-case 53936. https://html.spec.whatwg.org/#generate-implied-end-tags 53937. https://html.spec.whatwg.org/#current-node 53938. https://html.spec.whatwg.org/#the-caption-element 53939. https://html.spec.whatwg.org/#parse-errors 53940. https://html.spec.whatwg.org/#the-caption-element 53941. https://html.spec.whatwg.org/#clear-the-list-of-active-formatting-elements-up-to-the-last-marker 53942. https://html.spec.whatwg.org/#insertion-mode 53943. https://html.spec.whatwg.org/#parsing-main-intable 53944. https://html.spec.whatwg.org/#stack-of-open-elements 53945. https://html.spec.whatwg.org/#has-an-element-in-table-scope 53946. https://html.spec.whatwg.org/#parse-errors 53947. https://html.spec.whatwg.org/#fragment-case 53948. https://html.spec.whatwg.org/#generate-implied-end-tags 53949. https://html.spec.whatwg.org/#current-node 53950. https://html.spec.whatwg.org/#the-caption-element 53951. https://html.spec.whatwg.org/#parse-errors 53952. https://html.spec.whatwg.org/#the-caption-element 53953. https://html.spec.whatwg.org/#clear-the-list-of-active-formatting-elements-up-to-the-last-marker 53954. https://html.spec.whatwg.org/#insertion-mode 53955. https://html.spec.whatwg.org/#parsing-main-intable 53956. https://html.spec.whatwg.org/#parse-errors 53957. https://html.spec.whatwg.org/#using-the-rules-for 53958. https://html.spec.whatwg.org/#parsing-main-inbody 53959. https://html.spec.whatwg.org/#insertion-mode 53960. https://html.spec.whatwg.org/#parsing-main-incolgroup 53961. https://html.spec.whatwg.org/#insertion-mode 53962. https://html.spec.whatwg.org/#insert-a-character 53963. https://html.spec.whatwg.org/#insert-a-comment 53964. https://html.spec.whatwg.org/#parse-errors 53965. https://html.spec.whatwg.org/#using-the-rules-for 53966. https://html.spec.whatwg.org/#parsing-main-inbody 53967. https://html.spec.whatwg.org/#insertion-mode 53968. https://html.spec.whatwg.org/#insert-an-html-element 53969. https://html.spec.whatwg.org/#current-node 53970. https://html.spec.whatwg.org/#stack-of-open-elements 53971. https://html.spec.whatwg.org/#acknowledge-self-closing-flag 53972. https://html.spec.whatwg.org/#current-node 53973. https://html.spec.whatwg.org/#the-colgroup-element 53974. https://html.spec.whatwg.org/#parse-errors 53975. https://html.spec.whatwg.org/#current-node 53976. https://html.spec.whatwg.org/#stack-of-open-elements 53977. https://html.spec.whatwg.org/#insertion-mode 53978. https://html.spec.whatwg.org/#parsing-main-intable 53979. https://html.spec.whatwg.org/#parse-errors 53980. https://html.spec.whatwg.org/#using-the-rules-for 53981. https://html.spec.whatwg.org/#parsing-main-inhead 53982. https://html.spec.whatwg.org/#insertion-mode 53983. https://html.spec.whatwg.org/#using-the-rules-for 53984. https://html.spec.whatwg.org/#parsing-main-inbody 53985. https://html.spec.whatwg.org/#insertion-mode 53986. https://html.spec.whatwg.org/#current-node 53987. https://html.spec.whatwg.org/#the-colgroup-element 53988. https://html.spec.whatwg.org/#parse-errors 53989. https://html.spec.whatwg.org/#current-node 53990. https://html.spec.whatwg.org/#stack-of-open-elements 53991. https://html.spec.whatwg.org/#insertion-mode 53992. https://html.spec.whatwg.org/#parsing-main-intable 53993. https://html.spec.whatwg.org/#parsing-main-intbody 53994. https://html.spec.whatwg.org/#insertion-mode 53995. https://html.spec.whatwg.org/#clear-the-stack-back-to-a-table-body-context 53996. https://html.spec.whatwg.org/#insert-an-html-element 53997. https://html.spec.whatwg.org/#insertion-mode 53998. https://html.spec.whatwg.org/#parsing-main-intr 53999. https://html.spec.whatwg.org/#parse-errors 54000. https://html.spec.whatwg.org/#clear-the-stack-back-to-a-table-body-context 54001. https://html.spec.whatwg.org/#insert-an-html-element 54002. https://html.spec.whatwg.org/#insertion-mode 54003. https://html.spec.whatwg.org/#parsing-main-intr 54004. https://html.spec.whatwg.org/#stack-of-open-elements 54005. https://html.spec.whatwg.org/#has-an-element-in-table-scope 54006. https://html.spec.whatwg.org/#html-elements 54007. https://html.spec.whatwg.org/#parse-errors 54008. https://html.spec.whatwg.org/#clear-the-stack-back-to-a-table-body-context 54009. https://html.spec.whatwg.org/#current-node 54010. https://html.spec.whatwg.org/#stack-of-open-elements 54011. https://html.spec.whatwg.org/#insertion-mode 54012. https://html.spec.whatwg.org/#parsing-main-intable 54013. https://html.spec.whatwg.org/#stack-of-open-elements 54014. https://html.spec.whatwg.org/#has-an-element-in-table-scope 54015. https://html.spec.whatwg.org/#parse-errors 54016. https://html.spec.whatwg.org/#clear-the-stack-back-to-a-table-body-context 54017. https://html.spec.whatwg.org/#current-node 54018. https://html.spec.whatwg.org/#stack-of-open-elements 54019. https://html.spec.whatwg.org/#insertion-mode 54020. https://html.spec.whatwg.org/#parsing-main-intable 54021. https://html.spec.whatwg.org/#parse-errors 54022. https://html.spec.whatwg.org/#using-the-rules-for 54023. https://html.spec.whatwg.org/#parsing-main-intable 54024. https://html.spec.whatwg.org/#insertion-mode 54025. https://html.spec.whatwg.org/#current-node 54026. https://html.spec.whatwg.org/#the-tbody-element 54027. https://html.spec.whatwg.org/#the-tfoot-element 54028. https://html.spec.whatwg.org/#the-thead-element 54029. https://html.spec.whatwg.org/#the-template-element 54030. https://html.spec.whatwg.org/#the-html-element 54031. https://html.spec.whatwg.org/#stack-of-open-elements 54032. https://html.spec.whatwg.org/#current-node 54033. https://html.spec.whatwg.org/#the-html-element 54034. https://html.spec.whatwg.org/#fragment-case 54035. https://html.spec.whatwg.org/#parsing-main-intr 54036. https://html.spec.whatwg.org/#insertion-mode 54037. https://html.spec.whatwg.org/#clear-the-stack-back-to-a-table-row-context 54038. https://html.spec.whatwg.org/#insert-an-html-element 54039. https://html.spec.whatwg.org/#insertion-mode 54040. https://html.spec.whatwg.org/#parsing-main-intd 54041. https://html.spec.whatwg.org/#concept-parser-marker 54042. https://html.spec.whatwg.org/#list-of-active-formatting-elements 54043. https://html.spec.whatwg.org/#stack-of-open-elements 54044. https://html.spec.whatwg.org/#has-an-element-in-table-scope 54045. https://html.spec.whatwg.org/#parse-errors 54046. https://html.spec.whatwg.org/#clear-the-stack-back-to-a-table-row-context 54047. https://html.spec.whatwg.org/#current-node 54048. https://html.spec.whatwg.org/#the-tr-element 54049. https://html.spec.whatwg.org/#stack-of-open-elements 54050. https://html.spec.whatwg.org/#insertion-mode 54051. https://html.spec.whatwg.org/#parsing-main-intbody 54052. https://html.spec.whatwg.org/#stack-of-open-elements 54053. https://html.spec.whatwg.org/#has-an-element-in-table-scope 54054. https://html.spec.whatwg.org/#parse-errors 54055. https://html.spec.whatwg.org/#clear-the-stack-back-to-a-table-row-context 54056. https://html.spec.whatwg.org/#current-node 54057. https://html.spec.whatwg.org/#the-tr-element 54058. https://html.spec.whatwg.org/#stack-of-open-elements 54059. https://html.spec.whatwg.org/#insertion-mode 54060. https://html.spec.whatwg.org/#parsing-main-intbody 54061. https://html.spec.whatwg.org/#stack-of-open-elements 54062. https://html.spec.whatwg.org/#has-an-element-in-table-scope 54063. https://html.spec.whatwg.org/#html-elements 54064. https://html.spec.whatwg.org/#parse-errors 54065. https://html.spec.whatwg.org/#stack-of-open-elements 54066. https://html.spec.whatwg.org/#has-an-element-in-table-scope 54067. https://html.spec.whatwg.org/#clear-the-stack-back-to-a-table-row-context 54068. https://html.spec.whatwg.org/#current-node 54069. https://html.spec.whatwg.org/#the-tr-element 54070. https://html.spec.whatwg.org/#stack-of-open-elements 54071. https://html.spec.whatwg.org/#insertion-mode 54072. https://html.spec.whatwg.org/#parsing-main-intbody 54073. https://html.spec.whatwg.org/#parse-errors 54074. https://html.spec.whatwg.org/#using-the-rules-for 54075. https://html.spec.whatwg.org/#parsing-main-intable 54076. https://html.spec.whatwg.org/#insertion-mode 54077. https://html.spec.whatwg.org/#current-node 54078. https://html.spec.whatwg.org/#the-tr-element 54079. https://html.spec.whatwg.org/#the-template-element 54080. https://html.spec.whatwg.org/#the-html-element 54081. https://html.spec.whatwg.org/#stack-of-open-elements 54082. https://html.spec.whatwg.org/#current-node 54083. https://html.spec.whatwg.org/#the-html-element 54084. https://html.spec.whatwg.org/#fragment-case 54085. https://html.spec.whatwg.org/#parsing-main-intd 54086. https://html.spec.whatwg.org/#insertion-mode 54087. https://html.spec.whatwg.org/#stack-of-open-elements 54088. https://html.spec.whatwg.org/#has-an-element-in-table-scope 54089. https://html.spec.whatwg.org/#html-elements 54090. https://html.spec.whatwg.org/#parse-errors 54091. https://html.spec.whatwg.org/#generate-implied-end-tags 54092. https://html.spec.whatwg.org/#current-node 54093. https://html.spec.whatwg.org/#html-elements 54094. https://html.spec.whatwg.org/#parse-errors 54095. https://html.spec.whatwg.org/#stack-of-open-elements 54096. https://html.spec.whatwg.org/#html-elements 54097. https://html.spec.whatwg.org/#clear-the-list-of-active-formatting-elements-up-to-the-last-marker 54098. https://html.spec.whatwg.org/#insertion-mode 54099. https://html.spec.whatwg.org/#parsing-main-intr 54100. https://infra.spec.whatwg.org/#assert 54101. https://html.spec.whatwg.org/#stack-of-open-elements 54102. https://html.spec.whatwg.org/#has-an-element-in-table-scope 54103. https://html.spec.whatwg.org/#close-the-cell 54104. https://html.spec.whatwg.org/#parse-errors 54105. https://html.spec.whatwg.org/#stack-of-open-elements 54106. https://html.spec.whatwg.org/#has-an-element-in-table-scope 54107. https://html.spec.whatwg.org/#html-elements 54108. https://html.spec.whatwg.org/#parse-errors 54109. https://html.spec.whatwg.org/#close-the-cell 54110. https://html.spec.whatwg.org/#using-the-rules-for 54111. https://html.spec.whatwg.org/#parsing-main-inbody 54112. https://html.spec.whatwg.org/#insertion-mode 54113. https://html.spec.whatwg.org/#generate-implied-end-tags 54114. https://html.spec.whatwg.org/#current-node 54115. https://html.spec.whatwg.org/#the-td-element 54116. https://html.spec.whatwg.org/#the-th-element 54117. https://html.spec.whatwg.org/#parse-errors 54118. https://html.spec.whatwg.org/#stack-of-open-elements 54119. https://html.spec.whatwg.org/#the-td-element 54120. https://html.spec.whatwg.org/#the-th-element 54121. https://html.spec.whatwg.org/#clear-the-list-of-active-formatting-elements-up-to-the-last-marker 54122. https://html.spec.whatwg.org/#insertion-mode 54123. https://html.spec.whatwg.org/#parsing-main-intr 54124. https://html.spec.whatwg.org/#stack-of-open-elements 54125. https://html.spec.whatwg.org/#the-td-element 54126. https://html.spec.whatwg.org/#the-th-element 54127. https://html.spec.whatwg.org/#has-an-element-in-table-scope 54128. https://html.spec.whatwg.org/#close-the-cell 54129. https://html.spec.whatwg.org/#parsing-main-inselect 54130. https://html.spec.whatwg.org/#insertion-mode 54131. https://html.spec.whatwg.org/#parse-errors 54132. https://html.spec.whatwg.org/#insert-a-character 54133. https://html.spec.whatwg.org/#insert-a-comment 54134. https://html.spec.whatwg.org/#parse-errors 54135. https://html.spec.whatwg.org/#using-the-rules-for 54136. https://html.spec.whatwg.org/#parsing-main-inbody 54137. https://html.spec.whatwg.org/#insertion-mode 54138. https://html.spec.whatwg.org/#current-node 54139. https://html.spec.whatwg.org/#the-option-element 54140. https://html.spec.whatwg.org/#stack-of-open-elements 54141. https://html.spec.whatwg.org/#insert-an-html-element 54142. https://html.spec.whatwg.org/#current-node 54143. https://html.spec.whatwg.org/#the-option-element 54144. https://html.spec.whatwg.org/#stack-of-open-elements 54145. https://html.spec.whatwg.org/#current-node 54146. https://html.spec.whatwg.org/#the-optgroup-element 54147. https://html.spec.whatwg.org/#stack-of-open-elements 54148. https://html.spec.whatwg.org/#insert-an-html-element 54149. https://html.spec.whatwg.org/#current-node 54150. https://html.spec.whatwg.org/#the-option-element 54151. https://html.spec.whatwg.org/#stack-of-open-elements 54152. https://html.spec.whatwg.org/#current-node 54153. https://html.spec.whatwg.org/#the-optgroup-element 54154. https://html.spec.whatwg.org/#stack-of-open-elements 54155. https://html.spec.whatwg.org/#insert-an-html-element 54156. https://html.spec.whatwg.org/#current-node 54157. https://html.spec.whatwg.org/#stack-of-open-elements 54158. https://html.spec.whatwg.org/#acknowledge-self-closing-flag 54159. https://html.spec.whatwg.org/#current-node 54160. https://html.spec.whatwg.org/#the-option-element 54161. https://html.spec.whatwg.org/#stack-of-open-elements 54162. https://html.spec.whatwg.org/#the-optgroup-element 54163. https://html.spec.whatwg.org/#current-node 54164. https://html.spec.whatwg.org/#stack-of-open-elements 54165. https://html.spec.whatwg.org/#current-node 54166. https://html.spec.whatwg.org/#the-optgroup-element 54167. https://html.spec.whatwg.org/#stack-of-open-elements 54168. https://html.spec.whatwg.org/#parse-errors 54169. https://html.spec.whatwg.org/#current-node 54170. https://html.spec.whatwg.org/#the-option-element 54171. https://html.spec.whatwg.org/#stack-of-open-elements 54172. https://html.spec.whatwg.org/#parse-errors 54173. https://html.spec.whatwg.org/#stack-of-open-elements 54174. https://html.spec.whatwg.org/#has-an-element-in-select-scope 54175. https://html.spec.whatwg.org/#parse-errors 54176. https://html.spec.whatwg.org/#fragment-case 54177. https://html.spec.whatwg.org/#stack-of-open-elements 54178. https://html.spec.whatwg.org/#the-select-element 54179. https://html.spec.whatwg.org/#reset-the-insertion-mode-appropriately 54180. https://html.spec.whatwg.org/#parse-errors 54181. https://html.spec.whatwg.org/#stack-of-open-elements 54182. https://html.spec.whatwg.org/#has-an-element-in-select-scope 54183. https://html.spec.whatwg.org/#fragment-case 54184. https://html.spec.whatwg.org/#stack-of-open-elements 54185. https://html.spec.whatwg.org/#the-select-element 54186. https://html.spec.whatwg.org/#reset-the-insertion-mode-appropriately 54187. https://html.spec.whatwg.org/#parse-errors 54188. https://html.spec.whatwg.org/#stack-of-open-elements 54189. https://html.spec.whatwg.org/#has-an-element-in-select-scope 54190. https://html.spec.whatwg.org/#fragment-case 54191. https://html.spec.whatwg.org/#stack-of-open-elements 54192. https://html.spec.whatwg.org/#the-select-element 54193. https://html.spec.whatwg.org/#reset-the-insertion-mode-appropriately 54194. https://html.spec.whatwg.org/#using-the-rules-for 54195. https://html.spec.whatwg.org/#parsing-main-inhead 54196. https://html.spec.whatwg.org/#insertion-mode 54197. https://html.spec.whatwg.org/#using-the-rules-for 54198. https://html.spec.whatwg.org/#parsing-main-inbody 54199. https://html.spec.whatwg.org/#insertion-mode 54200. https://html.spec.whatwg.org/#parse-errors 54201. https://html.spec.whatwg.org/#parsing-main-inselectintable 54202. https://html.spec.whatwg.org/#insertion-mode 54203. https://html.spec.whatwg.org/#parse-errors 54204. https://html.spec.whatwg.org/#stack-of-open-elements 54205. https://html.spec.whatwg.org/#the-select-element 54206. https://html.spec.whatwg.org/#reset-the-insertion-mode-appropriately 54207. https://html.spec.whatwg.org/#parse-errors 54208. https://html.spec.whatwg.org/#stack-of-open-elements 54209. https://html.spec.whatwg.org/#has-an-element-in-table-scope 54210. https://html.spec.whatwg.org/#html-elements 54211. https://html.spec.whatwg.org/#stack-of-open-elements 54212. https://html.spec.whatwg.org/#the-select-element 54213. https://html.spec.whatwg.org/#reset-the-insertion-mode-appropriately 54214. https://html.spec.whatwg.org/#using-the-rules-for 54215. https://html.spec.whatwg.org/#parsing-main-inselect 54216. https://html.spec.whatwg.org/#insertion-mode 54217. https://html.spec.whatwg.org/#parsing-main-intemplate 54218. https://html.spec.whatwg.org/#insertion-mode 54219. https://html.spec.whatwg.org/#using-the-rules-for 54220. https://html.spec.whatwg.org/#parsing-main-inbody 54221. https://html.spec.whatwg.org/#insertion-mode 54222. https://html.spec.whatwg.org/#using-the-rules-for 54223. https://html.spec.whatwg.org/#parsing-main-inhead 54224. https://html.spec.whatwg.org/#insertion-mode 54225. https://html.spec.whatwg.org/#current-template-insertion-mode 54226. https://html.spec.whatwg.org/#stack-of-template-insertion-modes 54227. https://html.spec.whatwg.org/#parsing-main-intable 54228. https://html.spec.whatwg.org/#stack-of-template-insertion-modes 54229. https://html.spec.whatwg.org/#current-template-insertion-mode 54230. https://html.spec.whatwg.org/#insertion-mode 54231. https://html.spec.whatwg.org/#parsing-main-intable 54232. https://html.spec.whatwg.org/#current-template-insertion-mode 54233. https://html.spec.whatwg.org/#stack-of-template-insertion-modes 54234. https://html.spec.whatwg.org/#parsing-main-incolgroup 54235. https://html.spec.whatwg.org/#stack-of-template-insertion-modes 54236. https://html.spec.whatwg.org/#current-template-insertion-mode 54237. https://html.spec.whatwg.org/#insertion-mode 54238. https://html.spec.whatwg.org/#parsing-main-incolgroup 54239. https://html.spec.whatwg.org/#current-template-insertion-mode 54240. https://html.spec.whatwg.org/#stack-of-template-insertion-modes 54241. https://html.spec.whatwg.org/#parsing-main-intbody 54242. https://html.spec.whatwg.org/#stack-of-template-insertion-modes 54243. https://html.spec.whatwg.org/#current-template-insertion-mode 54244. https://html.spec.whatwg.org/#insertion-mode 54245. https://html.spec.whatwg.org/#parsing-main-intbody 54246. https://html.spec.whatwg.org/#current-template-insertion-mode 54247. https://html.spec.whatwg.org/#stack-of-template-insertion-modes 54248. https://html.spec.whatwg.org/#parsing-main-intr 54249. https://html.spec.whatwg.org/#stack-of-template-insertion-modes 54250. https://html.spec.whatwg.org/#current-template-insertion-mode 54251. https://html.spec.whatwg.org/#insertion-mode 54252. https://html.spec.whatwg.org/#parsing-main-intr 54253. https://html.spec.whatwg.org/#current-template-insertion-mode 54254. https://html.spec.whatwg.org/#stack-of-template-insertion-modes 54255. https://html.spec.whatwg.org/#parsing-main-inbody 54256. https://html.spec.whatwg.org/#stack-of-template-insertion-modes 54257. https://html.spec.whatwg.org/#current-template-insertion-mode 54258. https://html.spec.whatwg.org/#insertion-mode 54259. https://html.spec.whatwg.org/#parsing-main-inbody 54260. https://html.spec.whatwg.org/#parse-errors 54261. https://html.spec.whatwg.org/#the-template-element 54262. https://html.spec.whatwg.org/#stack-of-open-elements 54263. https://html.spec.whatwg.org/#stop-parsing 54264. https://html.spec.whatwg.org/#fragment-case 54265. https://html.spec.whatwg.org/#parse-errors 54266. https://html.spec.whatwg.org/#stack-of-open-elements 54267. https://html.spec.whatwg.org/#the-template-element 54268. https://html.spec.whatwg.org/#clear-the-list-of-active-formatting-elements-up-to-the-last-marker 54269. https://html.spec.whatwg.org/#current-template-insertion-mode 54270. https://html.spec.whatwg.org/#stack-of-template-insertion-modes 54271. https://html.spec.whatwg.org/#reset-the-insertion-mode-appropriately 54272. https://html.spec.whatwg.org/#parsing-main-afterbody 54273. https://html.spec.whatwg.org/#insertion-mode 54274. https://html.spec.whatwg.org/#using-the-rules-for 54275. https://html.spec.whatwg.org/#parsing-main-inbody 54276. https://html.spec.whatwg.org/#insertion-mode 54277. https://html.spec.whatwg.org/#insert-a-comment 54278. https://html.spec.whatwg.org/#stack-of-open-elements 54279. https://html.spec.whatwg.org/#the-html-element 54280. https://html.spec.whatwg.org/#parse-errors 54281. https://html.spec.whatwg.org/#using-the-rules-for 54282. https://html.spec.whatwg.org/#parsing-main-inbody 54283. https://html.spec.whatwg.org/#insertion-mode 54284. https://html.spec.whatwg.org/#html-fragment-parsing-algorithm 54285. https://html.spec.whatwg.org/#parse-errors 54286. https://html.spec.whatwg.org/#fragment-case 54287. https://html.spec.whatwg.org/#insertion-mode 54288. https://html.spec.whatwg.org/#the-after-after-body-insertion-mode 54289. https://html.spec.whatwg.org/#stop-parsing 54290. https://html.spec.whatwg.org/#parse-errors 54291. https://html.spec.whatwg.org/#insertion-mode 54292. https://html.spec.whatwg.org/#parsing-main-inbody 54293. https://html.spec.whatwg.org/#parsing-main-inframeset 54294. https://html.spec.whatwg.org/#insertion-mode 54295. https://html.spec.whatwg.org/#insert-a-character 54296. https://html.spec.whatwg.org/#insert-a-comment 54297. https://html.spec.whatwg.org/#parse-errors 54298. https://html.spec.whatwg.org/#using-the-rules-for 54299. https://html.spec.whatwg.org/#parsing-main-inbody 54300. https://html.spec.whatwg.org/#insertion-mode 54301. https://html.spec.whatwg.org/#insert-an-html-element 54302. https://html.spec.whatwg.org/#current-node 54303. https://html.spec.whatwg.org/#the-html-element 54304. https://html.spec.whatwg.org/#parse-errors 54305. https://html.spec.whatwg.org/#fragment-case 54306. https://html.spec.whatwg.org/#current-node 54307. https://html.spec.whatwg.org/#stack-of-open-elements 54308. https://html.spec.whatwg.org/#html-fragment-parsing-algorithm 54309. https://html.spec.whatwg.org/#fragment-case 54310. https://html.spec.whatwg.org/#current-node 54311. https://html.spec.whatwg.org/#frameset 54312. https://html.spec.whatwg.org/#insertion-mode 54313. https://html.spec.whatwg.org/#parsing-main-afterframeset 54314. https://html.spec.whatwg.org/#insert-an-html-element 54315. https://html.spec.whatwg.org/#current-node 54316. https://html.spec.whatwg.org/#stack-of-open-elements 54317. https://html.spec.whatwg.org/#acknowledge-self-closing-flag 54318. https://html.spec.whatwg.org/#using-the-rules-for 54319. https://html.spec.whatwg.org/#parsing-main-inhead 54320. https://html.spec.whatwg.org/#insertion-mode 54321. https://html.spec.whatwg.org/#current-node 54322. https://html.spec.whatwg.org/#the-html-element 54323. https://html.spec.whatwg.org/#parse-errors 54324. https://html.spec.whatwg.org/#current-node 54325. https://html.spec.whatwg.org/#the-html-element 54326. https://html.spec.whatwg.org/#fragment-case 54327. https://html.spec.whatwg.org/#stop-parsing 54328. https://html.spec.whatwg.org/#parse-errors 54329. https://html.spec.whatwg.org/#parsing-main-afterframeset 54330. https://html.spec.whatwg.org/#insertion-mode 54331. https://html.spec.whatwg.org/#insert-a-character 54332. https://html.spec.whatwg.org/#insert-a-comment 54333. https://html.spec.whatwg.org/#parse-errors 54334. https://html.spec.whatwg.org/#using-the-rules-for 54335. https://html.spec.whatwg.org/#parsing-main-inbody 54336. https://html.spec.whatwg.org/#insertion-mode 54337. https://html.spec.whatwg.org/#insertion-mode 54338. https://html.spec.whatwg.org/#the-after-after-frameset-insertion-mode 54339. https://html.spec.whatwg.org/#using-the-rules-for 54340. https://html.spec.whatwg.org/#parsing-main-inhead 54341. https://html.spec.whatwg.org/#insertion-mode 54342. https://html.spec.whatwg.org/#stop-parsing 54343. https://html.spec.whatwg.org/#parse-errors 54344. https://html.spec.whatwg.org/#the-after-after-body-insertion-mode 54345. https://html.spec.whatwg.org/#insertion-mode 54346. https://html.spec.whatwg.org/#insert-a-comment 54347. https://html.spec.whatwg.org/#document 54348. https://html.spec.whatwg.org/#using-the-rules-for 54349. https://html.spec.whatwg.org/#parsing-main-inbody 54350. https://html.spec.whatwg.org/#insertion-mode 54351. https://html.spec.whatwg.org/#stop-parsing 54352. https://html.spec.whatwg.org/#parse-errors 54353. https://html.spec.whatwg.org/#insertion-mode 54354. https://html.spec.whatwg.org/#parsing-main-inbody 54355. https://html.spec.whatwg.org/#the-after-after-frameset-insertion-mode 54356. https://html.spec.whatwg.org/#insertion-mode 54357. https://html.spec.whatwg.org/#insert-a-comment 54358. https://html.spec.whatwg.org/#document 54359. https://html.spec.whatwg.org/#using-the-rules-for 54360. https://html.spec.whatwg.org/#parsing-main-inbody 54361. https://html.spec.whatwg.org/#insertion-mode 54362. https://html.spec.whatwg.org/#stop-parsing 54363. https://html.spec.whatwg.org/#using-the-rules-for 54364. https://html.spec.whatwg.org/#parsing-main-inhead 54365. https://html.spec.whatwg.org/#insertion-mode 54366. https://html.spec.whatwg.org/#parse-errors 54367. https://html.spec.whatwg.org/#parse-errors 54368. https://html.spec.whatwg.org/#insert-a-character 54369. https://html.spec.whatwg.org/#insert-a-character 54370. https://html.spec.whatwg.org/#insert-a-character 54371. https://html.spec.whatwg.org/#frameset-ok-flag 54372. https://html.spec.whatwg.org/#insert-a-comment 54373. https://html.spec.whatwg.org/#parse-errors 54374. https://html.spec.whatwg.org/#parse-errors 54375. https://html.spec.whatwg.org/#current-node 54376. https://html.spec.whatwg.org/#mathml-text-integration-point 54377. https://html.spec.whatwg.org/#html-integration-point 54378. https://infra.spec.whatwg.org/#html-namespace 54379. https://html.spec.whatwg.org/#stack-of-open-elements 54380. https://html.spec.whatwg.org/#insertion-mode 54381. https://html.spec.whatwg.org/#adjusted-current-node 54382. https://infra.spec.whatwg.org/#mathml-namespace 54383. https://html.spec.whatwg.org/#adjust-mathml-attributes 54384. https://html.spec.whatwg.org/#adjusted-current-node 54385. https://infra.spec.whatwg.org/#svg-namespace 54386. https://html.spec.whatwg.org/#adjusted-current-node 54387. https://infra.spec.whatwg.org/#svg-namespace 54388. https://html.spec.whatwg.org/#adjust-svg-attributes 54389. https://html.spec.whatwg.org/#adjust-foreign-attributes 54390. https://html.spec.whatwg.org/#insert-a-foreign-element 54391. https://html.spec.whatwg.org/#adjusted-current-node 54392. https://html.spec.whatwg.org/#self-closing-flag 54393. https://html.spec.whatwg.org/#current-node 54394. https://infra.spec.whatwg.org/#svg-namespace 54395. https://html.spec.whatwg.org/#acknowledge-self-closing-flag 54396. https://html.spec.whatwg.org/#current-node 54397. https://html.spec.whatwg.org/#stack-of-open-elements 54398. https://html.spec.whatwg.org/#acknowledge-self-closing-flag 54399. https://html.spec.whatwg.org/#current-node 54400. https://svgwg.org/svg2-draft/interact.html#ScriptElement 54401. https://html.spec.whatwg.org/#current-node 54402. https://html.spec.whatwg.org/#stack-of-open-elements 54403. https://html.spec.whatwg.org/#insertion-point 54404. https://html.spec.whatwg.org/#insertion-point 54405. https://html.spec.whatwg.org/#next-input-character 54406. https://html.spec.whatwg.org/#script-nesting-level 54407. https://html.spec.whatwg.org/#parser-pause-flag 54408. https://html.spec.whatwg.org/#active-speculative-html-parser 54409. https://www.w3.org/TR/SVGMobile12/script.html#ScriptContentProcessing 54410. https://html.spec.whatwg.org/#refsSVG 54411. https://html.spec.whatwg.org/#dom-document-write 54412. https://html.spec.whatwg.org/#parser-pause-flag 54413. https://html.spec.whatwg.org/#script-nesting-level 54414. https://html.spec.whatwg.org/#script-nesting-level 54415. https://html.spec.whatwg.org/#parser-pause-flag 54416. https://html.spec.whatwg.org/#insertion-point 54417. https://html.spec.whatwg.org/#insertion-point 54418. https://html.spec.whatwg.org/#current-node 54419. https://infra.spec.whatwg.org/#ascii-lowercase 54420. https://html.spec.whatwg.org/#parse-errors 54421. https://html.spec.whatwg.org/#stack-of-open-elements 54422. https://html.spec.whatwg.org/#fragment-case 54423. https://infra.spec.whatwg.org/#ascii-lowercase 54424. https://html.spec.whatwg.org/#stack-of-open-elements 54425. https://html.spec.whatwg.org/#stack-of-open-elements 54426. https://infra.spec.whatwg.org/#html-namespace 54427. https://html.spec.whatwg.org/#insertion-mode 54428. https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event 54429. https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event 54430. https://html.spec.whatwg.org/#active-speculative-html-parser 54431. https://html.spec.whatwg.org/#stop-the-speculative-html-parser 54432. https://html.spec.whatwg.org/#insertion-point 54433. https://html.spec.whatwg.org/#update-the-current-document-readiness 54434. https://html.spec.whatwg.org/#stack-of-open-elements 54435. https://html.spec.whatwg.org/#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing 54436. https://html.spec.whatwg.org/#spin-the-event-loop 54437. https://html.spec.whatwg.org/#the-script-element 54438. https://html.spec.whatwg.org/#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing 54439. https://html.spec.whatwg.org/#ready-to-be-parser-executed 54440. https://html.spec.whatwg.org/#document 54441. https://html.spec.whatwg.org/#has-no-style-sheet-that-is-blocking-scripts 54442. https://html.spec.whatwg.org/#execute-the-script-element 54443. https://html.spec.whatwg.org/#the-script-element 54444. https://html.spec.whatwg.org/#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing 54445. https://html.spec.whatwg.org/#the-script-element 54446. https://html.spec.whatwg.org/#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing 54447. https://html.spec.whatwg.org/#queue-a-global-task 54448. https://html.spec.whatwg.org/#dom-manipulation-task-source 54449. https://html.spec.whatwg.org/#document 54450. https://html.spec.whatwg.org/#concept-relevant-global 54451. https://html.spec.whatwg.org/#document 54452. https://html.spec.whatwg.org/#load-timing-info 54453. https://html.spec.whatwg.org/#dom-content-loaded-event-start-time 54454. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 54455. https://html.spec.whatwg.org/#document 54456. https://html.spec.whatwg.org/#concept-relevant-global 54457. https://dom.spec.whatwg.org/#concept-event-fire 54458. https://html.spec.whatwg.org/#event-domcontentloaded 54459. https://html.spec.whatwg.org/#document 54460. https://dom.spec.whatwg.org/#dom-event-bubbles 54461. https://html.spec.whatwg.org/#document 54462. https://html.spec.whatwg.org/#load-timing-info 54463. https://html.spec.whatwg.org/#dom-content-loaded-event-end-time 54464. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 54465. https://html.spec.whatwg.org/#document 54466. https://html.spec.whatwg.org/#concept-relevant-global 54467. https://w3c.github.io/ServiceWorker/#dfn-client-message-queue 54468. https://w3c.github.io/ServiceWorker/#serviceworkercontainer 54469. https://w3c.github.io/ServiceWorker/#serviceworkercontainer-service-worker-client 54470. https://html.spec.whatwg.org/#document 54471. https://html.spec.whatwg.org/#relevant-settings-object 54472. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-dom-content-loaded 54473. https://html.spec.whatwg.org/#document 54474. https://html.spec.whatwg.org/#concept-document-bc 54475. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-status 54476. https://w3c.github.io/webdriver-bidi/#navigation-status-id 54477. https://html.spec.whatwg.org/#document 54478. https://html.spec.whatwg.org/#concept-document-navigation-id 54479. https://w3c.github.io/webdriver-bidi/#navigation-status-status 54480. https://w3c.github.io/webdriver-bidi/#navigation-status-pending 54481. https://w3c.github.io/webdriver-bidi/#navigation-status-url 54482. https://html.spec.whatwg.org/#document 54483. https://dom.spec.whatwg.org/#concept-document-url 54484. https://html.spec.whatwg.org/#spin-the-event-loop 54485. https://html.spec.whatwg.org/#set-of-scripts-that-will-execute-as-soon-as-possible 54486. https://html.spec.whatwg.org/#list-of-scripts-that-will-execute-in-order-as-soon-as-possible 54487. https://html.spec.whatwg.org/#spin-the-event-loop 54488. https://html.spec.whatwg.org/#document 54489. https://html.spec.whatwg.org/#queue-a-global-task 54490. https://html.spec.whatwg.org/#dom-manipulation-task-source 54491. https://html.spec.whatwg.org/#document 54492. https://html.spec.whatwg.org/#concept-relevant-global 54493. https://html.spec.whatwg.org/#update-the-current-document-readiness 54494. https://html.spec.whatwg.org/#document 54495. https://html.spec.whatwg.org/#concept-document-bc 54496. https://html.spec.whatwg.org/#document 54497. https://html.spec.whatwg.org/#concept-relevant-global 54498. https://html.spec.whatwg.org/#document 54499. https://html.spec.whatwg.org/#load-timing-info 54500. https://html.spec.whatwg.org/#load-event-start-time 54501. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 54502. https://dom.spec.whatwg.org/#concept-event-fire 54503. https://html.spec.whatwg.org/#event-load 54504. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-load-complete 54505. https://html.spec.whatwg.org/#document 54506. https://html.spec.whatwg.org/#concept-document-bc 54507. https://w3c.github.io/webdriver-bidi/#webdriver-bidi-navigation-status 54508. https://w3c.github.io/webdriver-bidi/#navigation-status-id 54509. https://html.spec.whatwg.org/#document 54510. https://html.spec.whatwg.org/#concept-document-navigation-id 54511. https://w3c.github.io/webdriver-bidi/#navigation-status-status 54512. https://w3c.github.io/webdriver-bidi/#navigation-status-complete 54513. https://w3c.github.io/webdriver-bidi/#navigation-status-url 54514. https://html.spec.whatwg.org/#document 54515. https://dom.spec.whatwg.org/#concept-document-url 54516. https://html.spec.whatwg.org/#document 54517. https://html.spec.whatwg.org/#concept-document-navigation-id 54518. https://html.spec.whatwg.org/#document 54519. https://html.spec.whatwg.org/#load-timing-info 54520. https://html.spec.whatwg.org/#load-event-end-time 54521. https://w3c.github.io/hr-time/#dfn-current-high-resolution-time 54522. https://infra.spec.whatwg.org/#assert 54523. https://html.spec.whatwg.org/#document 54524. https://html.spec.whatwg.org/#page-showing 54525. https://html.spec.whatwg.org/#document 54526. https://html.spec.whatwg.org/#page-showing 54527. https://html.spec.whatwg.org/#fire-a-page-transition-event 54528. https://html.spec.whatwg.org/#event-pageshow 54529. https://html.spec.whatwg.org/#completely-finish-loading 54530. https://html.spec.whatwg.org/#document 54531. https://w3c.github.io/navigation-timing/#dfn-queue-the-navigation-timing-entry 54532. https://html.spec.whatwg.org/#document 54533. https://html.spec.whatwg.org/#document 54534. https://html.spec.whatwg.org/#print-when-loaded 54535. https://html.spec.whatwg.org/#printing-steps 54536. https://html.spec.whatwg.org/#document 54537. https://html.spec.whatwg.org/#input-stream 54538. https://html.spec.whatwg.org/#stop-the-speculative-html-parser 54539. https://html.spec.whatwg.org/#update-the-current-document-readiness 54540. https://html.spec.whatwg.org/#stack-of-open-elements 54541. https://html.spec.whatwg.org/#update-the-current-document-readiness 54542. https://html.spec.whatwg.org/#pending-parsing-blocking-script 54543. https://html.spec.whatwg.org/#create-an-element-for-the-token 54544. https://html.spec.whatwg.org/#html-parser 54545. https://html.spec.whatwg.org/#next-input-character 54546. https://html.spec.whatwg.org/#stack-of-open-elements 54547. https://html.spec.whatwg.org/#speculative-html-parser 54548. https://html.spec.whatwg.org/#the-input-byte-stream 54549. https://html.spec.whatwg.org/#the-input-byte-stream 54550. https://html.spec.whatwg.org/#speculative-fetch 54551. https://infra.spec.whatwg.org/#implementation-defined 54552. https://html.spec.whatwg.org/#speculative-html-parser 54553. https://html.spec.whatwg.org/#speculative-mock-element 54554. https://html.spec.whatwg.org/#speculative-html-parser 54555. https://html.spec.whatwg.org/#the-base-element 54556. https://html.spec.whatwg.org/#the-meta-element 54557. https://html.spec.whatwg.org/#attr-meta-http-equiv 54558. https://html.spec.whatwg.org/#attr-meta-http-equiv-content-security-policy 54559. https://html.spec.whatwg.org/#the-meta-element 54560. https://html.spec.whatwg.org/#attr-meta-name 54561. https://infra.spec.whatwg.org/#ascii-case-insensitive 54562. https://html.spec.whatwg.org/#meta-referrer 54563. https://html.spec.whatwg.org/#the-meta-element 54564. https://html.spec.whatwg.org/#attr-meta-name 54565. https://infra.spec.whatwg.org/#ascii-case-insensitive 54566. https://html.spec.whatwg.org/#matches-the-environment 54567. https://html.spec.whatwg.org/#refsCSSDEVICEADAPT 54568. https://url.spec.whatwg.org/#concept-url 54569. https://url.spec.whatwg.org/#concept-url 54570. https://url.spec.whatwg.org/#concept-url 54571. https://html.spec.whatwg.org/#list-of-speculative-fetch-urls 54572. https://url.spec.whatwg.org/#concept-url 54573. https://html.spec.whatwg.org/#list-of-speculative-fetch-urls 54574. https://html.spec.whatwg.org/#document 54575. https://infra.spec.whatwg.org/#list 54576. https://url.spec.whatwg.org/#concept-url 54577. https://html.spec.whatwg.org/#active-speculative-html-parser 54578. https://html.spec.whatwg.org/#stop-the-speculative-html-parser 54579. https://html.spec.whatwg.org/#dom-document-write 54580. https://html.spec.whatwg.org/#speculative-html-parser 54581. https://html.spec.whatwg.org/#document 54582. https://html.spec.whatwg.org/#speculative-mock-element 54583. https://html.spec.whatwg.org/#active-speculative-html-parser 54584. https://html.spec.whatwg.org/#in-parallel 54585. https://html.spec.whatwg.org/#input-stream 54586. https://html.spec.whatwg.org/#active-speculative-html-parser 54587. https://html.spec.whatwg.org/#input-stream 54588. https://html.spec.whatwg.org/#active-speculative-html-parser 54589. https://html.spec.whatwg.org/#speculative-html-parser 54590. https://html.spec.whatwg.org/#speculative-mock-element 54591. https://infra.spec.whatwg.org/#struct 54592. https://infra.spec.whatwg.org/#struct-item 54593. https://infra.spec.whatwg.org/#string 54594. https://dom.spec.whatwg.org/#concept-element-namespace 54595. https://infra.spec.whatwg.org/#string 54596. https://dom.spec.whatwg.org/#concept-element-local-name 54597. https://infra.spec.whatwg.org/#list 54598. https://dom.spec.whatwg.org/#concept-element-attribute 54599. https://infra.spec.whatwg.org/#list 54600. https://dom.spec.whatwg.org/#concept-tree-child 54601. https://html.spec.whatwg.org/#speculative-mock-element 54602. https://html.spec.whatwg.org/#concept-mock-namespace 54603. https://html.spec.whatwg.org/#concept-mock-local-name 54604. https://html.spec.whatwg.org/#concept-mock-attribute-list 54605. https://html.spec.whatwg.org/#concept-mock-children 54606. https://infra.spec.whatwg.org/#list 54607. https://html.spec.whatwg.org/#speculative-fetch 54608. https://html.spec.whatwg.org/#the-template-element 54609. https://html.spec.whatwg.org/#template-contents 54610. https://html.spec.whatwg.org/#speculative-mock-element 54611. https://html.spec.whatwg.org/#the-template-element 54612. https://html.spec.whatwg.org/#template-contents 54613. https://dom.spec.whatwg.org/#interface-shadowroot 54614. https://html.spec.whatwg.org/#the-template-element 54615. https://html.spec.whatwg.org/#html-parser 54616. https://html.spec.whatwg.org/#html-parser 54617. https://infra.spec.whatwg.org/#xmlns-namespace 54618. https://html.spec.whatwg.org/#html-parser 54619. https://html.spec.whatwg.org/#adjust-foreign-attributes 54620. https://html.spec.whatwg.org/#html-parser 54621. https://html.spec.whatwg.org/#adjust-foreign-attributes 54622. https://dom.spec.whatwg.org/#concept-document-no-quirks 54623. https://dom.spec.whatwg.org/#concept-document-limited-quirks 54624. https://dom.spec.whatwg.org/#concept-document-quirks 54625. https://html.spec.whatwg.org/#the-form-element 54626. https://html.spec.whatwg.org/#form-element-pointer 54627. https://html.spec.whatwg.org/#template-contents 54628. https://html.spec.whatwg.org/#the-template-element 54629. https://html.spec.whatwg.org/#html-parser 54630. https://html.spec.whatwg.org/#html-parser 54631. https://html.spec.whatwg.org/#the-html-element 54632. https://html.spec.whatwg.org/#the-head-element 54633. https://html.spec.whatwg.org/#the-body-element 54634. https://html.spec.whatwg.org/#the-p-element 54635. https://dom.spec.whatwg.org/#interface-text 54636. https://html.spec.whatwg.org/#the-b-element 54637. https://dom.spec.whatwg.org/#interface-text 54638. https://html.spec.whatwg.org/#the-i-element 54639. https://dom.spec.whatwg.org/#interface-text 54640. https://html.spec.whatwg.org/#stack-of-open-elements 54641. https://html.spec.whatwg.org/#the-html-element 54642. https://html.spec.whatwg.org/#the-body-element 54643. https://html.spec.whatwg.org/#the-p-element 54644. https://html.spec.whatwg.org/#the-b-element 54645. https://html.spec.whatwg.org/#the-i-element 54646. https://html.spec.whatwg.org/#list-of-active-formatting-elements 54647. https://html.spec.whatwg.org/#the-b-element 54648. https://html.spec.whatwg.org/#the-i-element 54649. https://html.spec.whatwg.org/#insertion-mode 54650. https://html.spec.whatwg.org/#parsing-main-inbody 54651. https://html.spec.whatwg.org/#adoptionAgency 54652. https://html.spec.whatwg.org/#the-b-element 54653. https://html.spec.whatwg.org/#stack-of-open-elements 54654. https://html.spec.whatwg.org/#the-html-element 54655. https://html.spec.whatwg.org/#the-body-element 54656. https://html.spec.whatwg.org/#the-p-element 54657. https://html.spec.whatwg.org/#list-of-active-formatting-elements 54658. https://html.spec.whatwg.org/#the-i-element 54659. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 54660. https://html.spec.whatwg.org/#the-i-element 54661. https://html.spec.whatwg.org/#the-i-element 54662. https://dom.spec.whatwg.org/#interface-text 54663. https://dom.spec.whatwg.org/#interface-text 54664. https://html.spec.whatwg.org/#the-html-element 54665. https://html.spec.whatwg.org/#the-head-element 54666. https://html.spec.whatwg.org/#the-body-element 54667. https://html.spec.whatwg.org/#the-p-element 54668. https://dom.spec.whatwg.org/#interface-text 54669. https://html.spec.whatwg.org/#the-b-element 54670. https://dom.spec.whatwg.org/#interface-text 54671. https://html.spec.whatwg.org/#the-i-element 54672. https://dom.spec.whatwg.org/#interface-text 54673. https://html.spec.whatwg.org/#the-i-element 54674. https://dom.spec.whatwg.org/#interface-text 54675. https://dom.spec.whatwg.org/#interface-text 54676. https://html.spec.whatwg.org/#the-html-element 54677. https://html.spec.whatwg.org/#the-head-element 54678. https://html.spec.whatwg.org/#the-body-element 54679. https://html.spec.whatwg.org/#the-b-element 54680. https://dom.spec.whatwg.org/#interface-text 54681. https://html.spec.whatwg.org/#the-p-element 54682. https://dom.spec.whatwg.org/#interface-text 54683. https://html.spec.whatwg.org/#stack-of-open-elements 54684. https://html.spec.whatwg.org/#the-html-element 54685. https://html.spec.whatwg.org/#the-body-element 54686. https://html.spec.whatwg.org/#the-b-element 54687. https://html.spec.whatwg.org/#the-p-element 54688. https://html.spec.whatwg.org/#list-of-active-formatting-elements 54689. https://html.spec.whatwg.org/#the-b-element 54690. https://html.spec.whatwg.org/#insertion-mode 54691. https://html.spec.whatwg.org/#parsing-main-inbody 54692. https://html.spec.whatwg.org/#adoptionAgency 54693. https://html.spec.whatwg.org/#the-p-element 54694. https://html.spec.whatwg.org/#the-body-element 54695. https://html.spec.whatwg.org/#the-b-element 54696. https://html.spec.whatwg.org/#list-of-active-formatting-elements 54697. https://html.spec.whatwg.org/#the-b-element 54698. https://html.spec.whatwg.org/#the-p-element 54699. https://html.spec.whatwg.org/#the-html-element 54700. https://html.spec.whatwg.org/#the-head-element 54701. https://html.spec.whatwg.org/#the-body-element 54702. https://html.spec.whatwg.org/#the-b-element 54703. https://dom.spec.whatwg.org/#interface-text 54704. https://html.spec.whatwg.org/#the-p-element 54705. https://dom.spec.whatwg.org/#interface-text 54706. https://html.spec.whatwg.org/#the-b-element 54707. https://html.spec.whatwg.org/#the-p-element 54708. https://html.spec.whatwg.org/#the-html-element 54709. https://html.spec.whatwg.org/#the-head-element 54710. https://html.spec.whatwg.org/#the-body-element 54711. https://html.spec.whatwg.org/#the-b-element 54712. https://dom.spec.whatwg.org/#interface-text 54713. https://html.spec.whatwg.org/#the-p-element 54714. https://html.spec.whatwg.org/#the-b-element 54715. https://dom.spec.whatwg.org/#interface-text 54716. https://html.spec.whatwg.org/#the-b-element 54717. https://html.spec.whatwg.org/#the-p-element 54718. https://html.spec.whatwg.org/#the-html-element 54719. https://html.spec.whatwg.org/#the-head-element 54720. https://html.spec.whatwg.org/#the-body-element 54721. https://html.spec.whatwg.org/#the-b-element 54722. https://dom.spec.whatwg.org/#interface-text 54723. https://html.spec.whatwg.org/#the-p-element 54724. https://html.spec.whatwg.org/#the-b-element 54725. https://dom.spec.whatwg.org/#interface-text 54726. https://html.spec.whatwg.org/#the-b-element 54727. https://html.spec.whatwg.org/#list-of-active-formatting-elements 54728. https://html.spec.whatwg.org/#stack-of-open-elements 54729. https://html.spec.whatwg.org/#the-p-element 54730. https://html.spec.whatwg.org/#the-html-element 54731. https://html.spec.whatwg.org/#the-head-element 54732. https://html.spec.whatwg.org/#the-body-element 54733. https://html.spec.whatwg.org/#the-b-element 54734. https://dom.spec.whatwg.org/#interface-text 54735. https://html.spec.whatwg.org/#the-p-element 54736. https://html.spec.whatwg.org/#the-b-element 54737. https://dom.spec.whatwg.org/#interface-text 54738. https://dom.spec.whatwg.org/#interface-text 54739. https://html.spec.whatwg.org/#the-b-element 54740. https://html.spec.whatwg.org/#foster-parent 54741. https://html.spec.whatwg.org/#the-table-element 54742. https://html.spec.whatwg.org/#the-html-element 54743. https://html.spec.whatwg.org/#the-head-element 54744. https://html.spec.whatwg.org/#the-body-element 54745. https://html.spec.whatwg.org/#the-table-element 54746. https://html.spec.whatwg.org/#the-b-element 54747. https://html.spec.whatwg.org/#the-html-element 54748. https://html.spec.whatwg.org/#the-head-element 54749. https://html.spec.whatwg.org/#the-body-element 54750. https://html.spec.whatwg.org/#the-b-element 54751. https://html.spec.whatwg.org/#the-table-element 54752. https://html.spec.whatwg.org/#stack-of-open-elements 54753. https://html.spec.whatwg.org/#the-html-element 54754. https://html.spec.whatwg.org/#the-body-element 54755. https://html.spec.whatwg.org/#the-table-element 54756. https://html.spec.whatwg.org/#the-b-element 54757. https://html.spec.whatwg.org/#list-of-active-formatting-elements 54758. https://html.spec.whatwg.org/#the-b-element 54759. https://html.spec.whatwg.org/#insertion-mode 54760. https://html.spec.whatwg.org/#parsing-main-intable 54761. https://html.spec.whatwg.org/#the-tr-element 54762. https://html.spec.whatwg.org/#the-b-element 54763. https://html.spec.whatwg.org/#the-tbody-element 54764. https://html.spec.whatwg.org/#the-tbody-element 54765. https://html.spec.whatwg.org/#the-tr-element 54766. https://html.spec.whatwg.org/#parsing-main-intbody 54767. https://html.spec.whatwg.org/#parsing-main-intr 54768. https://html.spec.whatwg.org/#the-html-element 54769. https://html.spec.whatwg.org/#the-head-element 54770. https://html.spec.whatwg.org/#the-body-element 54771. https://html.spec.whatwg.org/#the-b-element 54772. https://html.spec.whatwg.org/#the-table-element 54773. https://html.spec.whatwg.org/#the-tbody-element 54774. https://html.spec.whatwg.org/#the-tr-element 54775. https://html.spec.whatwg.org/#stack-of-open-elements 54776. https://html.spec.whatwg.org/#the-html-element 54777. https://html.spec.whatwg.org/#the-body-element 54778. https://html.spec.whatwg.org/#the-table-element 54779. https://html.spec.whatwg.org/#the-tbody-element 54780. https://html.spec.whatwg.org/#the-tr-element 54781. https://html.spec.whatwg.org/#list-of-active-formatting-elements 54782. https://html.spec.whatwg.org/#the-b-element 54783. https://html.spec.whatwg.org/#insertion-mode 54784. https://html.spec.whatwg.org/#parsing-main-intr 54785. https://html.spec.whatwg.org/#the-td-element 54786. https://html.spec.whatwg.org/#the-td-element 54787. https://html.spec.whatwg.org/#concept-parser-marker 54788. https://html.spec.whatwg.org/#list-of-active-formatting-elements 54789. https://html.spec.whatwg.org/#parsing-main-intd 54790. https://html.spec.whatwg.org/#insertion-mode 54791. https://html.spec.whatwg.org/#the-html-element 54792. https://html.spec.whatwg.org/#the-head-element 54793. https://html.spec.whatwg.org/#the-body-element 54794. https://html.spec.whatwg.org/#the-b-element 54795. https://html.spec.whatwg.org/#the-table-element 54796. https://html.spec.whatwg.org/#the-tbody-element 54797. https://html.spec.whatwg.org/#the-tr-element 54798. https://html.spec.whatwg.org/#the-td-element 54799. https://html.spec.whatwg.org/#concept-parser-marker 54800. https://html.spec.whatwg.org/#the-b-element 54801. https://dom.spec.whatwg.org/#interface-text 54802. https://html.spec.whatwg.org/#the-html-element 54803. https://html.spec.whatwg.org/#the-head-element 54804. https://html.spec.whatwg.org/#the-body-element 54805. https://html.spec.whatwg.org/#the-b-element 54806. https://html.spec.whatwg.org/#the-table-element 54807. https://html.spec.whatwg.org/#the-tbody-element 54808. https://html.spec.whatwg.org/#the-tr-element 54809. https://html.spec.whatwg.org/#the-td-element 54810. https://dom.spec.whatwg.org/#interface-text 54811. https://html.spec.whatwg.org/#stack-of-open-elements 54812. https://html.spec.whatwg.org/#the-html-element 54813. https://html.spec.whatwg.org/#the-body-element 54814. https://html.spec.whatwg.org/#the-table-element 54815. https://html.spec.whatwg.org/#the-tbody-element 54816. https://html.spec.whatwg.org/#list-of-active-formatting-elements 54817. https://html.spec.whatwg.org/#the-b-element 54818. https://html.spec.whatwg.org/#concept-parser-marker 54819. https://html.spec.whatwg.org/#insertion-mode 54820. https://html.spec.whatwg.org/#parsing-main-intbody 54821. https://html.spec.whatwg.org/#parsing-main-intabletext 54822. https://html.spec.whatwg.org/#original-insertion-mode 54823. https://html.spec.whatwg.org/#parsing-main-intbody 54824. https://html.spec.whatwg.org/#the-table-element 54825. https://html.spec.whatwg.org/#parsing-main-intable 54826. https://html.spec.whatwg.org/#parsing-main-inbody 54827. https://html.spec.whatwg.org/#foster-parent 54828. https://html.spec.whatwg.org/#reconstruct-the-active-formatting-elements 54829. https://html.spec.whatwg.org/#the-b-element 54830. https://html.spec.whatwg.org/#foster-parent 54831. https://dom.spec.whatwg.org/#interface-text 54832. https://html.spec.whatwg.org/#the-html-element 54833. https://html.spec.whatwg.org/#the-head-element 54834. https://html.spec.whatwg.org/#the-body-element 54835. https://html.spec.whatwg.org/#the-b-element 54836. https://html.spec.whatwg.org/#the-b-element 54837. https://dom.spec.whatwg.org/#interface-text 54838. https://html.spec.whatwg.org/#the-table-element 54839. https://html.spec.whatwg.org/#the-tbody-element 54840. https://html.spec.whatwg.org/#the-tr-element 54841. https://html.spec.whatwg.org/#the-td-element 54842. https://dom.spec.whatwg.org/#interface-text 54843. https://html.spec.whatwg.org/#stack-of-open-elements 54844. https://html.spec.whatwg.org/#the-html-element 54845. https://html.spec.whatwg.org/#the-body-element 54846. https://html.spec.whatwg.org/#the-table-element 54847. https://html.spec.whatwg.org/#the-tbody-element 54848. https://html.spec.whatwg.org/#the-b-element 54849. https://html.spec.whatwg.org/#list-of-active-formatting-elements 54850. https://html.spec.whatwg.org/#the-b-element 54851. https://html.spec.whatwg.org/#insertion-mode 54852. https://html.spec.whatwg.org/#parsing-main-intbody 54853. https://infra.spec.whatwg.org/#ascii-whitespace 54854. https://infra.spec.whatwg.org/#ascii-whitespace 54855. https://html.spec.whatwg.org/#the-tbody-element 54856. https://html.spec.whatwg.org/#the-table-element 54857. https://html.spec.whatwg.org/#stack-of-open-elements 54858. https://html.spec.whatwg.org/#the-table-element 54859. https://html.spec.whatwg.org/#list-of-active-formatting-elements 54860. https://html.spec.whatwg.org/#the-b-element 54861. https://html.spec.whatwg.org/#the-html-element 54862. https://html.spec.whatwg.org/#the-head-element 54863. https://html.spec.whatwg.org/#the-body-element 54864. https://html.spec.whatwg.org/#the-b-element 54865. https://html.spec.whatwg.org/#the-b-element 54866. https://dom.spec.whatwg.org/#interface-text 54867. https://html.spec.whatwg.org/#the-table-element 54868. https://html.spec.whatwg.org/#the-tbody-element 54869. https://html.spec.whatwg.org/#the-tr-element 54870. https://html.spec.whatwg.org/#the-td-element 54871. https://dom.spec.whatwg.org/#interface-text 54872. https://html.spec.whatwg.org/#the-b-element 54873. https://dom.spec.whatwg.org/#interface-text 54874. https://url.spec.whatwg.org/#concept-url 54875. https://html.spec.whatwg.org/#the-iframe-element 54876. https://url.spec.whatwg.org/#concept-url 54877. https://html.spec.whatwg.org/#the-html-element 54878. https://html.spec.whatwg.org/#the-head-element 54879. https://html.spec.whatwg.org/#the-body-element 54880. https://html.spec.whatwg.org/#the-div-element 54881. https://html.spec.whatwg.org/#the-id-attribute 54882. https://dom.spec.whatwg.org/#interface-text 54883. https://html.spec.whatwg.org/#the-script-element 54884. https://dom.spec.whatwg.org/#interface-text 54885. https://html.spec.whatwg.org/#the-div-element 54886. https://html.spec.whatwg.org/#the-script-element 54887. https://html.spec.whatwg.org/#the-html-element 54888. https://html.spec.whatwg.org/#the-head-element 54889. https://html.spec.whatwg.org/#the-body-element 54890. https://html.spec.whatwg.org/#document 54891. https://html.spec.whatwg.org/#browsing-context 54892. https://html.spec.whatwg.org/#stack-of-open-elements 54893. https://html.spec.whatwg.org/#the-div-element 54894. https://html.spec.whatwg.org/#the-script-element 54895. https://html.spec.whatwg.org/#document 54896. https://html.spec.whatwg.org/#document 54897. https://html.spec.whatwg.org/#the-div-element 54898. https://html.spec.whatwg.org/#the-div-element 54899. https://html.spec.whatwg.org/#the-script-element 54900. https://html.spec.whatwg.org/#document 54901. https://html.spec.whatwg.org/#the-html-element 54902. https://html.spec.whatwg.org/#the-head-element 54903. https://html.spec.whatwg.org/#the-body-element 54904. https://html.spec.whatwg.org/#the-script-element 54905. https://dom.spec.whatwg.org/#interface-text 54906. https://html.spec.whatwg.org/#the-script-element 54907. https://html.spec.whatwg.org/#attr-script-src 54908. https://html.spec.whatwg.org/#document 54909. https://html.spec.whatwg.org/#the-script-element 54910. https://html.spec.whatwg.org/#attr-script-src 54911. https://html.spec.whatwg.org/#document 54912. https://html.spec.whatwg.org/#the-script-element 54913. https://html.spec.whatwg.org/#document 54914. https://html.spec.whatwg.org/#the-b-element 54915. https://html.spec.whatwg.org/#the-html-element 54916. https://html.spec.whatwg.org/#the-head-element 54917. https://html.spec.whatwg.org/#the-body-element 54918. https://html.spec.whatwg.org/#the-p-element 54919. https://html.spec.whatwg.org/#the-b-element 54920. https://html.spec.whatwg.org/#classes 54921. https://html.spec.whatwg.org/#the-b-element 54922. https://html.spec.whatwg.org/#classes 54923. https://html.spec.whatwg.org/#the-b-element 54924. https://html.spec.whatwg.org/#the-b-element 54925. https://html.spec.whatwg.org/#classes 54926. https://html.spec.whatwg.org/#the-b-element 54927. https://html.spec.whatwg.org/#classes 54928. https://html.spec.whatwg.org/#the-b-element 54929. https://dom.spec.whatwg.org/#interface-text 54930. https://html.spec.whatwg.org/#the-p-element 54931. https://html.spec.whatwg.org/#the-b-element 54932. https://html.spec.whatwg.org/#classes 54933. https://html.spec.whatwg.org/#the-b-element 54934. https://html.spec.whatwg.org/#the-b-element 54935. https://html.spec.whatwg.org/#classes 54936. https://html.spec.whatwg.org/#the-b-element 54937. https://html.spec.whatwg.org/#classes 54938. https://html.spec.whatwg.org/#the-b-element 54939. https://dom.spec.whatwg.org/#interface-text 54940. https://html.spec.whatwg.org/#the-p-element 54941. https://html.spec.whatwg.org/#the-b-element 54942. https://html.spec.whatwg.org/#classes 54943. https://html.spec.whatwg.org/#the-b-element 54944. https://html.spec.whatwg.org/#the-b-element 54945. https://html.spec.whatwg.org/#classes 54946. https://html.spec.whatwg.org/#the-b-element 54947. https://html.spec.whatwg.org/#classes 54948. https://html.spec.whatwg.org/#the-b-element 54949. https://html.spec.whatwg.org/#the-b-element 54950. https://html.spec.whatwg.org/#the-b-element 54951. https://html.spec.whatwg.org/#classes 54952. https://html.spec.whatwg.org/#the-b-element 54953. https://dom.spec.whatwg.org/#interface-text 54954. https://html.spec.whatwg.org/#the-p-element 54955. https://dom.spec.whatwg.org/#interface-text 54956. https://html.spec.whatwg.org/#the-p-element 54957. https://html.spec.whatwg.org/#the-b-element 54958. https://html.spec.whatwg.org/#the-b-element 54959. https://html.spec.whatwg.org/#the-b-element 54960. https://html.spec.whatwg.org/#the-b-element 54961. https://html.spec.whatwg.org/#list-of-active-formatting-elements 54962. https://html.spec.whatwg.org/#the-b-element 54963. https://html.spec.whatwg.org/#void-elements 54964. https://html.spec.whatwg.org/#basefont 54965. https://html.spec.whatwg.org/#bgsound 54966. https://html.spec.whatwg.org/#frame 54967. https://html.spec.whatwg.org/#keygen 54968. https://html.spec.whatwg.org/#param 54969. https://dom.spec.whatwg.org/#interface-element 54970. https://html.spec.whatwg.org/#document 54971. https://dom.spec.whatwg.org/#interface-documentfragment 54972. https://html.spec.whatwg.org/#serializes-as-void 54973. https://html.spec.whatwg.org/#the-template-element 54974. https://html.spec.whatwg.org/#the-template-element 54975. https://html.spec.whatwg.org/#template-contents 54976. https://dom.spec.whatwg.org/#interface-documentfragment 54977. https://dom.spec.whatwg.org/#element-shadow-host 54978. https://dom.spec.whatwg.org/#concept-element-shadow-root 54979. https://dom.spec.whatwg.org/#shadowroot-serializable 54980. https://dom.spec.whatwg.org/#shadowroot-mode 54981. https://dom.spec.whatwg.org/#shadowroot-delegates-focus 54982. https://html.spec.whatwg.org/#serializable 54983. https://dom.spec.whatwg.org/#shadowroot-clonable 54984. https://dom.spec.whatwg.org/#element-custom-element-registry 54985. https://dom.spec.whatwg.org/#shadowroot-custom-element-registry 54986. https://html.spec.whatwg.org/#html-fragment-serialisation-algorithm 54987. https://dom.spec.whatwg.org/#concept-tree-order 54988. https://dom.spec.whatwg.org/#interface-element 54989. https://infra.spec.whatwg.org/#html-namespace 54990. https://infra.spec.whatwg.org/#mathml-namespace 54991. https://infra.spec.whatwg.org/#svg-namespace 54992. https://html.spec.whatwg.org/#html-elements 54993. https://html.spec.whatwg.org/#html-parser 54994. https://dom.spec.whatwg.org/#dom-document-createelement 54995. https://dom.spec.whatwg.org/#concept-element-is-value 54996. https://html.spec.whatwg.org/#attr-is 54997. https://dom.spec.whatwg.org/#concept-element-is-value 54998. https://html.spec.whatwg.org/#escapingString 54999. https://html.spec.whatwg.org/#attribute's-serialised-name 55000. https://html.spec.whatwg.org/#escapingString 55001. https://html.spec.whatwg.org/#html-elements 55002. https://html.spec.whatwg.org/#html-parser 55003. https://dom.spec.whatwg.org/#dom-element-setattribute 55004. https://infra.spec.whatwg.org/#xml-namespace 55005. https://infra.spec.whatwg.org/#xmlns-namespace 55006. https://infra.spec.whatwg.org/#xmlns-namespace 55007. https://infra.spec.whatwg.org/#xlink-namespace 55008. https://infra.spec.whatwg.org/#implementation-defined 55009. https://html.spec.whatwg.org/#serializes-as-void 55010. https://infra.spec.whatwg.org/#iteration-continue 55011. https://html.spec.whatwg.org/#html-fragment-serialisation-algorithm 55012. https://dom.spec.whatwg.org/#interface-text 55013. https://html.spec.whatwg.org/#the-style-element 55014. https://html.spec.whatwg.org/#the-script-element 55015. https://html.spec.whatwg.org/#xmp 55016. https://html.spec.whatwg.org/#the-iframe-element 55017. https://html.spec.whatwg.org/#noembed 55018. https://html.spec.whatwg.org/#noframes 55019. https://html.spec.whatwg.org/#plaintext 55020. https://html.spec.whatwg.org/#the-noscript-element 55021. https://html.spec.whatwg.org/#concept-n-script 55022. https://dom.spec.whatwg.org/#concept-cd-data 55023. https://dom.spec.whatwg.org/#concept-cd-data 55024. https://html.spec.whatwg.org/#escapingString 55025. https://dom.spec.whatwg.org/#interface-comment 55026. https://dom.spec.whatwg.org/#concept-cd-data 55027. https://dom.spec.whatwg.org/#interface-processinginstruction 55028. https://dom.spec.whatwg.org/#concept-cd-data 55029. https://dom.spec.whatwg.org/#interface-documenttype 55030. https://dom.spec.whatwg.org/#concept-doctype-name 55031. https://html.spec.whatwg.org/#html-parser 55032. https://html.spec.whatwg.org/#html-parser 55033. https://html.spec.whatwg.org/#the-textarea-element 55034. https://html.spec.whatwg.org/#the-script-element 55035. https://dom.spec.whatwg.org/#interface-text 55036. https://html.spec.whatwg.org/#the-p-element 55037. https://html.spec.whatwg.org/#the-ul-element 55038. https://html.spec.whatwg.org/#the-ul-element 55039. https://html.spec.whatwg.org/#syntax-start-tag 55040. https://html.spec.whatwg.org/#the-p-element 55041. https://html.spec.whatwg.org/#the-style-element 55042. https://html.spec.whatwg.org/#dom-element-innerhtml 55043. https://html.spec.whatwg.org/#the-style-element 55044. https://html.spec.whatwg.org/#dom-element-innerhtml 55045. https://html.spec.whatwg.org/#the-script-element 55046. https://html.spec.whatwg.org/#the-script-element 55047. https://html.spec.whatwg.org/#the-html-element 55048. https://html.spec.whatwg.org/#the-head-element 55049. https://html.spec.whatwg.org/#the-body-element 55050. https://html.spec.whatwg.org/#the-form-element 55051. https://html.spec.whatwg.org/#the-id-attribute 55052. https://html.spec.whatwg.org/#the-div-element 55053. https://html.spec.whatwg.org/#the-form-element 55054. https://html.spec.whatwg.org/#the-id-attribute 55055. https://html.spec.whatwg.org/#the-input-element 55056. https://html.spec.whatwg.org/#the-input-element 55057. https://html.spec.whatwg.org/#the-form-element 55058. https://html.spec.whatwg.org/#the-input-element 55059. https://html.spec.whatwg.org/#the-form-element 55060. https://html.spec.whatwg.org/#the-html-element 55061. https://html.spec.whatwg.org/#the-head-element 55062. https://html.spec.whatwg.org/#the-body-element 55063. https://html.spec.whatwg.org/#the-form-element 55064. https://html.spec.whatwg.org/#the-id-attribute 55065. https://html.spec.whatwg.org/#the-div-element 55066. https://html.spec.whatwg.org/#the-input-element 55067. https://html.spec.whatwg.org/#the-html-element 55068. https://html.spec.whatwg.org/#the-head-element 55069. https://html.spec.whatwg.org/#the-body-element 55070. https://html.spec.whatwg.org/#the-a-element 55071. https://html.spec.whatwg.org/#the-a-element 55072. https://html.spec.whatwg.org/#the-table-element 55073. https://html.spec.whatwg.org/#the-a-element 55074. https://html.spec.whatwg.org/#the-a-element 55075. https://html.spec.whatwg.org/#foster-parent 55076. https://html.spec.whatwg.org/#the-a-element 55077. https://html.spec.whatwg.org/#the-table-element 55078. https://html.spec.whatwg.org/#the-a-element 55079. https://html.spec.whatwg.org/#the-html-element 55080. https://html.spec.whatwg.org/#the-head-element 55081. https://html.spec.whatwg.org/#the-body-element 55082. https://html.spec.whatwg.org/#the-a-element 55083. https://html.spec.whatwg.org/#the-a-element 55084. https://html.spec.whatwg.org/#the-table-element 55085. https://html.spec.whatwg.org/#the-pre-element 55086. https://html.spec.whatwg.org/#the-textarea-element 55087. https://html.spec.whatwg.org/#listing 55088. https://html.spec.whatwg.org/#html-parser 55089. https://html.spec.whatwg.org/#the-pre-element 55090. https://dom.spec.whatwg.org/#concept-child-text-content 55091. https://html.spec.whatwg.org/#the-pre-element 55092. https://dom.spec.whatwg.org/#concept-child-text-content 55093. https://html.spec.whatwg.org/#attr-is 55094. https://html.spec.whatwg.org/#customized-built-in-element 55095. https://dom.spec.whatwg.org/#concept-element-is-value 55096. https://dom.spec.whatwg.org/#concept-element-is-value 55097. https://html.spec.whatwg.org/#customized-built-in-element 55098. https://html.spec.whatwg.org/#attr-is 55099. https://html.spec.whatwg.org/#custom-element-constructor 55100. https://dom.spec.whatwg.org/#dom-document-createelement 55101. https://html.spec.whatwg.org/#attr-is 55102. https://dom.spec.whatwg.org/#concept-element-is-value 55103. https://dom.spec.whatwg.org/#concept-element-is-value 55104. https://html.spec.whatwg.org/#attr-is 55105. https://dom.spec.whatwg.org/#interface-element 55106. https://html.spec.whatwg.org/#html-parser 55107. https://html.spec.whatwg.org/#fragment-case 55108. https://html.spec.whatwg.org/#document 55109. https://dom.spec.whatwg.org/#concept-document-type 55110. https://html.spec.whatwg.org/#concept-frag-parse-context 55111. https://dom.spec.whatwg.org/#concept-node-document 55112. https://dom.spec.whatwg.org/#concept-document-quirks 55113. https://dom.spec.whatwg.org/#concept-document-mode 55114. https://html.spec.whatwg.org/#concept-frag-parse-context 55115. https://dom.spec.whatwg.org/#concept-node-document 55116. https://dom.spec.whatwg.org/#concept-document-limited-quirks 55117. https://dom.spec.whatwg.org/#concept-document-mode 55118. https://dom.spec.whatwg.org/#concept-document-allow-declarative-shadow-roots 55119. https://html.spec.whatwg.org/#html-parser 55120. https://html.spec.whatwg.org/#html-parser 55121. https://html.spec.whatwg.org/#tokenization 55122. https://html.spec.whatwg.org/#concept-frag-parse-context 55123. https://html.spec.whatwg.org/#the-title-element 55124. https://html.spec.whatwg.org/#the-textarea-element 55125. https://html.spec.whatwg.org/#rcdata-state 55126. https://html.spec.whatwg.org/#the-style-element 55127. https://html.spec.whatwg.org/#xmp 55128. https://html.spec.whatwg.org/#the-iframe-element 55129. https://html.spec.whatwg.org/#noembed 55130. https://html.spec.whatwg.org/#noframes 55131. https://html.spec.whatwg.org/#rawtext-state 55132. https://html.spec.whatwg.org/#the-script-element 55133. https://html.spec.whatwg.org/#script-data-state 55134. https://html.spec.whatwg.org/#the-noscript-element 55135. https://html.spec.whatwg.org/#scripting-flag 55136. https://html.spec.whatwg.org/#rawtext-state 55137. https://html.spec.whatwg.org/#data-state 55138. https://html.spec.whatwg.org/#plaintext 55139. https://html.spec.whatwg.org/#plaintext-state 55140. https://html.spec.whatwg.org/#data-state 55141. https://html.spec.whatwg.org/#appropriate-end-tag-token 55142. https://dom.spec.whatwg.org/#concept-create-element 55143. https://infra.spec.whatwg.org/#html-namespace 55144. https://dom.spec.whatwg.org/#element-custom-element-registry 55145. https://dom.spec.whatwg.org/#concept-node-append 55146. https://html.spec.whatwg.org/#html-parser 55147. https://html.spec.whatwg.org/#stack-of-open-elements 55148. https://html.spec.whatwg.org/#concept-frag-parse-context 55149. https://html.spec.whatwg.org/#the-template-element 55150. https://html.spec.whatwg.org/#parsing-main-intemplate 55151. https://html.spec.whatwg.org/#stack-of-template-insertion-modes 55152. https://html.spec.whatwg.org/#current-template-insertion-mode 55153. https://html.spec.whatwg.org/#concept-frag-parse-context 55154. https://html.spec.whatwg.org/#concept-frag-parse-context 55155. https://html.spec.whatwg.org/#concept-frag-parse-context 55156. https://html.spec.whatwg.org/#html-integration-point 55157. https://html.spec.whatwg.org/#reset-the-insertion-mode-appropriately 55158. https://html.spec.whatwg.org/#concept-frag-parse-context 55159. https://html.spec.whatwg.org/#html-parser 55160. https://html.spec.whatwg.org/#form-element-pointer 55161. https://html.spec.whatwg.org/#concept-frag-parse-context 55162. https://html.spec.whatwg.org/#the-form-element 55163. https://html.spec.whatwg.org/#the-form-element 55164. https://html.spec.whatwg.org/#the-form-element 55165. https://html.spec.whatwg.org/#form-element-pointer 55166. https://html.spec.whatwg.org/#input-stream 55167. https://html.spec.whatwg.org/#html-parser 55168. https://html.spec.whatwg.org/#concept-encoding-confidence 55169. https://html.spec.whatwg.org/#html-parser 55170. https://dom.spec.whatwg.org/#concept-tree-child 55171. https://dom.spec.whatwg.org/#concept-tree-order 55172. https://html.spec.whatwg.org/#syntax-charref 55173. https://html.spec.whatwg.org/entities.json 55174. https://html.spec.whatwg.org/#refsXMLENTITY 55175. https://github.com/whatwg/html/blob/main/FAQ.md#html-should-add-more-named-character-references 55176. https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/XHTML 55177. https://html.spec.whatwg.org/#text/html 55178. https://html.spec.whatwg.org/#syntax 55179. https://html.spec.whatwg.org/#document 55180. https://html.spec.whatwg.org/#syntax 55181. https://html.spec.whatwg.org/#refsXML 55182. https://html.spec.whatwg.org/#refsXMLNS 55183. https://www.w3.org/TR/xml/#dt-entref 55184. https://html.spec.whatwg.org/#document 55185. https://html.spec.whatwg.org/#xml-parser 55186. https://html.spec.whatwg.org/#document 55187. https://html.spec.whatwg.org/#document 55188. https://html.spec.whatwg.org/#create-an-element-for-the-token 55189. https://dom.spec.whatwg.org/#concept-element-interface 55190. https://html.spec.whatwg.org/#custom-element 55191. https://html.spec.whatwg.org/#xml-parser 55192. https://html.spec.whatwg.org/#document 55193. https://dom.spec.whatwg.org/#mutation-observers 55194. https://html.spec.whatwg.org/#refsXML 55195. https://html.spec.whatwg.org/#refsXMLNS 55196. https://html.spec.whatwg.org/#refsDOM 55197. https://html.spec.whatwg.org/#refsUIEVENTS 55198. https://html.spec.whatwg.org/#stack-of-open-elements 55199. https://html.spec.whatwg.org/#stack-of-open-elements 55200. 55201. https://www.w3.org/TR/xml/#sec-entity-decl 55202. https://html.spec.whatwg.org/#named-character-references 55203. https://html.spec.whatwg.org/#refsXML 55204. https://infra.spec.whatwg.org/#willful-violation 55205. https://html.spec.whatwg.org/#refsXML 55206. https://html.spec.whatwg.org/#xml-scripting-support-enabled 55207. https://html.spec.whatwg.org/#xml-parser 55208. https://html.spec.whatwg.org/#xml-scripting-support-enabled 55209. https://html.spec.whatwg.org/#the-script-element 55210. https://html.spec.whatwg.org/#parser-document 55211. https://html.spec.whatwg.org/#script-force-async 55212. https://html.spec.whatwg.org/#xml-fragment-parsing-algorithm 55213. https://html.spec.whatwg.org/#already-started 55214. https://html.spec.whatwg.org/#perform-a-microtask-checkpoint 55215. https://html.spec.whatwg.org/#prepare-the-script-element 55216. https://html.spec.whatwg.org/#the-script-element 55217. https://html.spec.whatwg.org/#pending-parsing-blocking-script 55218. https://html.spec.whatwg.org/#xml-parser 55219. https://html.spec.whatwg.org/#event-loop 55220. https://html.spec.whatwg.org/#concept-task 55221. https://html.spec.whatwg.org/#spin-the-event-loop 55222. https://html.spec.whatwg.org/#document 55223. https://html.spec.whatwg.org/#has-no-style-sheet-that-is-blocking-scripts 55224. https://html.spec.whatwg.org/#pending-parsing-blocking-script 55225. https://html.spec.whatwg.org/#ready-to-be-parser-executed 55226. https://html.spec.whatwg.org/#xml-parser 55227. https://html.spec.whatwg.org/#concept-task 55228. https://html.spec.whatwg.org/#execute-the-script-element 55229. https://html.spec.whatwg.org/#pending-parsing-blocking-script 55230. https://html.spec.whatwg.org/#pending-parsing-blocking-script 55231. https://html.spec.whatwg.org/#dom-document-write 55232. https://dom.spec.whatwg.org/#xml-document 55233. https://html.spec.whatwg.org/#html-parser 55234. https://html.spec.whatwg.org/#xml-parser 55235. https://html.spec.whatwg.org/#xml-parser 55236. https://html.spec.whatwg.org/#xml-scripting-support-disabled 55237. https://html.spec.whatwg.org/#xml-parser 55238. https://html.spec.whatwg.org/#the-template-element 55239. https://html.spec.whatwg.org/#the-template-element 55240. https://html.spec.whatwg.org/#template-contents 55241. https://dom.spec.whatwg.org/#interface-documentfragment 55242. https://infra.spec.whatwg.org/#willful-violation 55243. https://html.spec.whatwg.org/#the-template-element 55244. https://html.spec.whatwg.org/#refsXML 55245. https://html.spec.whatwg.org/#xml-parser 55246. https://dom.spec.whatwg.org/#interface-node 55247. https://dom.spec.whatwg.org/#concept-node-document 55248. https://dom.spec.whatwg.org/#concept-node-document 55249. https://html.spec.whatwg.org/#xml-parser 55250. https://html.spec.whatwg.org/#xml-parser 55251. https://html.spec.whatwg.org/#stop-parsing 55252. https://html.spec.whatwg.org/#html-parser 55253. https://html.spec.whatwg.org/#xml-parser 55254. https://html.spec.whatwg.org/#abort-a-parser 55255. https://html.spec.whatwg.org/#html-parser 55256. https://html.spec.whatwg.org/#the-xhtml-syntax 55257. https://dom.spec.whatwg.org/#xml-document 55258. https://html.spec.whatwg.org/#document 55259. https://dom.spec.whatwg.org/#interface-element 55260. https://html.spec.whatwg.org/#document 55261. https://www.w3.org/TR/xml/#sec-well-formed 55262. https://dom.spec.whatwg.org/#interface-element 55263. https://www.w3.org/TR/xml/#wf-entities 55264. https://html.spec.whatwg.org/#relevant-child-nodes 55265. https://dom.spec.whatwg.org/#concept-tree-order 55266. https://dom.spec.whatwg.org/#interface-text 55267. https://html.spec.whatwg.org/#the-template-element 55268. https://html.spec.whatwg.org/#relevant-child-nodes 55269. https://html.spec.whatwg.org/#the-template-element 55270. https://html.spec.whatwg.org/#template-contents 55271. https://html.spec.whatwg.org/#relevant-child-nodes 55272. https://dom.spec.whatwg.org/#interface-element 55273. https://html.spec.whatwg.org/#document 55274. https://html.spec.whatwg.org/#refsXML 55275. https://html.spec.whatwg.org/#refsXMLNS 55276. https://webidl.spec.whatwg.org/#invalidstateerror 55277. https://webidl.spec.whatwg.org/#dfn-DOMException 55278. https://html.spec.whatwg.org/#document 55279. https://dom.spec.whatwg.org/#interface-documenttype 55280. https://html.spec.whatwg.org/#refsXML 55281. https://dom.spec.whatwg.org/#interface-documenttype 55282. https://html.spec.whatwg.org/#refsXML 55283. https://www.w3.org/TR/xml/#NT-Name 55284. https://html.spec.whatwg.org/#refsXML 55285. https://dom.spec.whatwg.org/#interface-attr 55286. https://html.spec.whatwg.org/#refsXMLNS 55287. https://dom.spec.whatwg.org/#interface-element 55288. https://dom.spec.whatwg.org/#interface-attr 55289. https://dom.spec.whatwg.org/#interface-text 55290. https://dom.spec.whatwg.org/#interface-comment 55291. https://dom.spec.whatwg.org/#interface-processinginstruction 55292. https://html.spec.whatwg.org/#refsXML 55293. https://dom.spec.whatwg.org/#interface-comment 55294. https://dom.spec.whatwg.org/#interface-processinginstruction 55295. https://infra.spec.whatwg.org/#ascii-case-insensitive 55296. https://dom.spec.whatwg.org/#interface-processinginstruction 55297. https://dom.spec.whatwg.org/#interface-processinginstruction 55298. https://html.spec.whatwg.org/#document 55299. https://webidl.spec.whatwg.org/#hierarchyrequesterror 55300. https://webidl.spec.whatwg.org/#dfn-DOMException 55301. https://dom.spec.whatwg.org/#interface-element 55302. https://html.spec.whatwg.org/#concept-frag-parse-context 55303. https://html.spec.whatwg.org/#xml-parser 55304. https://html.spec.whatwg.org/#feed-the-parser 55305. https://html.spec.whatwg.org/#concept-frag-parse-context 55306. https://html.spec.whatwg.org/#feed-the-parser 55307. https://html.spec.whatwg.org/#feed-the-parser 55308. https://html.spec.whatwg.org/#concept-frag-parse-context 55309. https://webidl.spec.whatwg.org/#syntaxerror 55310. https://webidl.spec.whatwg.org/#dfn-DOMException 55311. https://dom.spec.whatwg.org/#document-element 55312. https://html.spec.whatwg.org/#document 55313. https://webidl.spec.whatwg.org/#syntaxerror 55314. https://webidl.spec.whatwg.org/#dfn-DOMException 55315. https://html.spec.whatwg.org/#document 55316. https://dom.spec.whatwg.org/#document-element 55317. https://dom.spec.whatwg.org/#concept-tree-child 55318. https://dom.spec.whatwg.org/#concept-tree-order 55319. https://html.spec.whatwg.org/#renderingUA 55320. https://html.spec.whatwg.org/#represents 55321. https://html.spec.whatwg.org/#being-rendered 55322. https://html.spec.whatwg.org/#attr-hidden 55323. https://html.spec.whatwg.org/#being-rendered 55324. https://html.spec.whatwg.org/#fully-active 55325. https://html.spec.whatwg.org/#being-rendered 55326. https://html.spec.whatwg.org/#fully-active 55327. https://html.spec.whatwg.org/#being-rendered 55328. https://drafts.csswg.org/css2/#viewport 55329. https://html.spec.whatwg.org/#being-rendered 55330. https://html.spec.whatwg.org/#fully-active 55331. https://html.spec.whatwg.org/#intersect-the-viewport 55332. https://drafts.csswg.org/css2/#viewport 55333. https://html.spec.whatwg.org/#fully-active 55334. https://drafts.csswg.org/css2/#viewport 55335. https://html.spec.whatwg.org/#refsINTERSECTIONOBSERVER 55336. https://html.spec.whatwg.org/#being-rendered 55337. https://html.spec.whatwg.org/#being-rendered 55338. https://html.spec.whatwg.org/#refsCSSDISPLAY 55339. https://html.spec.whatwg.org/#refsCSS 55340. https://html.spec.whatwg.org/#refsUNICODE 55341. https://html.spec.whatwg.org/#refsBIDI 55342. https://drafts.csswg.org/css2/#display-prop 55343. https://drafts.csswg.org/css-writing-modes/#unicode-bidi 55344. https://drafts.csswg.org/css-writing-modes/#direction 55345. https://html.spec.whatwg.org/#html-elements 55346. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 55347. https://html.spec.whatwg.org/#presentational-hints 55348. https://html.spec.whatwg.org/#rules-for-parsing-dimension-values 55349. https://html.spec.whatwg.org/#presentational-hints 55350. https://html.spec.whatwg.org/#rules-for-parsing-non-zero-dimension-values 55351. https://html.spec.whatwg.org/#presentational-hints 55352. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 55353. https://html.spec.whatwg.org/#presentational-hints 55354. https://drafts.csswg.org/css-sizing-4/#aspect-ratio 55355. https://html.spec.whatwg.org/#rules-for-parsing-dimension-values 55356. https://html.spec.whatwg.org/#presentational-hints 55357. https://drafts.csswg.org/css-sizing-4/#aspect-ratio 55358. https://drafts.csswg.org/css-logical/#propdef-margin-inline-start 55359. https://drafts.csswg.org/css-logical/#propdef-margin-inline-end 55360. https://drafts.csswg.org/css-cascade/#used-value 55361. https://html.spec.whatwg.org/#align-descendants 55362. https://drafts.csswg.org/css-cascade/#used-value 55363. https://drafts.csswg.org/css-writing-modes/#line-left 55364. https://drafts.csswg.org/css-writing-modes/#line-right 55365. https://html.spec.whatwg.org/#refsCSSLOGICAL 55366. https://html.spec.whatwg.org/#refsCSSWM 55367. https://html.spec.whatwg.org/#the-body-element 55368. https://html.spec.whatwg.org/#maps-to-the-pixel-length-property 55369. https://html.spec.whatwg.org/#the-body-element 55370. https://drafts.csswg.org/css-box/#propdef-margin-top 55371. https://html.spec.whatwg.org/#the-body-element 55372. https://html.spec.whatwg.org/#attr-body-marginheight 55373. https://html.spec.whatwg.org/#the-body-element 55374. https://html.spec.whatwg.org/#attr-body-topmargin 55375. https://html.spec.whatwg.org/#the-body-element 55376. https://html.spec.whatwg.org/#container-frame-element 55377. https://html.spec.whatwg.org/#attr-iframe-marginheight 55378. https://drafts.csswg.org/css-box/#propdef-margin-right 55379. https://html.spec.whatwg.org/#the-body-element 55380. https://html.spec.whatwg.org/#attr-body-marginwidth 55381. https://html.spec.whatwg.org/#the-body-element 55382. https://html.spec.whatwg.org/#attr-body-rightmargin 55383. https://html.spec.whatwg.org/#the-body-element 55384. https://html.spec.whatwg.org/#container-frame-element 55385. https://html.spec.whatwg.org/#attr-iframe-marginwidth 55386. https://drafts.csswg.org/css-box/#propdef-margin-bottom 55387. https://html.spec.whatwg.org/#the-body-element 55388. https://html.spec.whatwg.org/#attr-body-marginheight 55389. https://html.spec.whatwg.org/#the-body-element 55390. https://html.spec.whatwg.org/#attr-body-bottommargin 55391. https://html.spec.whatwg.org/#the-body-element 55392. https://html.spec.whatwg.org/#container-frame-element 55393. https://html.spec.whatwg.org/#attr-iframe-marginheight 55394. https://drafts.csswg.org/css-box/#propdef-margin-left 55395. https://html.spec.whatwg.org/#the-body-element 55396. https://html.spec.whatwg.org/#attr-body-marginwidth 55397. https://html.spec.whatwg.org/#the-body-element 55398. https://html.spec.whatwg.org/#attr-body-leftmargin 55399. https://html.spec.whatwg.org/#the-body-element 55400. https://html.spec.whatwg.org/#container-frame-element 55401. https://html.spec.whatwg.org/#attr-iframe-marginwidth 55402. https://html.spec.whatwg.org/#the-body-element 55403. https://dom.spec.whatwg.org/#concept-node-document 55404. https://html.spec.whatwg.org/#node-navigable 55405. https://html.spec.whatwg.org/#child-navigable 55406. https://html.spec.whatwg.org/#nav-container 55407. https://html.spec.whatwg.org/#navigable 55408. https://html.spec.whatwg.org/#frame 55409. https://html.spec.whatwg.org/#the-iframe-element 55410. https://html.spec.whatwg.org/#the-body-element 55411. https://html.spec.whatwg.org/#frame 55412. https://html.spec.whatwg.org/#the-iframe-element 55413. https://html.spec.whatwg.org/#container-frame-element 55414. https://html.spec.whatwg.org/#concept-origin 55415. https://html.spec.whatwg.org/#the-iframe-element 55416. https://html.spec.whatwg.org/#document 55417. https://html.spec.whatwg.org/#node-navigable 55418. https://html.spec.whatwg.org/#child-navigable 55419. https://drafts.csswg.org/css-box/#content-box 55420. https://html.spec.whatwg.org/#nav-container 55421. https://html.spec.whatwg.org/#navigable 55422. https://html.spec.whatwg.org/#nav-container 55423. https://html.spec.whatwg.org/#being-rendered 55424. https://html.spec.whatwg.org/#navigable 55425. https://drafts.csswg.org/css2/#viewport 55426. https://html.spec.whatwg.org/#document 55427. https://html.spec.whatwg.org/#node-navigable 55428. https://html.spec.whatwg.org/#child-navigable 55429. https://html.spec.whatwg.org/#nav-container 55430. https://html.spec.whatwg.org/#navigable 55431. https://html.spec.whatwg.org/#frame 55432. https://html.spec.whatwg.org/#the-iframe-element 55433. https://infra.spec.whatwg.org/#ascii-case-insensitive 55434. https://drafts.csswg.org/css2/#viewport 55435. https://html.spec.whatwg.org/#document 55436. https://html.spec.whatwg.org/#node-navigable 55437. https://drafts.csswg.org/css-overflow/#propdef-overflow 55438. https://drafts.csswg.org/css2/#viewport 55439. https://html.spec.whatwg.org/#the-body-element 55440. https://html.spec.whatwg.org/#attr-background 55441. https://html.spec.whatwg.org/#encoding-parsing-and-serializing-a-url 55442. https://dom.spec.whatwg.org/#concept-node-document 55443. https://html.spec.whatwg.org/#presentational-hints 55444. https://drafts.csswg.org/css-backgrounds/#propdef-background-image 55445. https://html.spec.whatwg.org/#the-body-element 55446. https://html.spec.whatwg.org/#attr-body-bgcolor 55447. https://html.spec.whatwg.org/#rules-for-parsing-a-legacy-colour-value 55448. https://html.spec.whatwg.org/#presentational-hints 55449. https://drafts.csswg.org/css-backgrounds/#propdef-background-color 55450. https://html.spec.whatwg.org/#the-body-element 55451. https://html.spec.whatwg.org/#attr-body-text 55452. https://html.spec.whatwg.org/#rules-for-parsing-a-legacy-colour-value 55453. https://html.spec.whatwg.org/#presentational-hints 55454. https://drafts.csswg.org/css-color/#the-color-property 55455. https://html.spec.whatwg.org/#the-body-element 55456. https://html.spec.whatwg.org/#attr-body-link 55457. https://html.spec.whatwg.org/#rules-for-parsing-a-legacy-colour-value 55458. https://html.spec.whatwg.org/#presentational-hints 55459. https://drafts.csswg.org/css-color/#the-color-property 55460. https://html.spec.whatwg.org/#document 55461. https://html.spec.whatwg.org/#selector-link 55462. https://drafts.csswg.org/selectors/#pseudo-class 55463. https://html.spec.whatwg.org/#the-body-element 55464. https://html.spec.whatwg.org/#attr-body-vlink 55465. https://html.spec.whatwg.org/#rules-for-parsing-a-legacy-colour-value 55466. https://html.spec.whatwg.org/#presentational-hints 55467. https://drafts.csswg.org/css-color/#the-color-property 55468. https://html.spec.whatwg.org/#document 55469. https://html.spec.whatwg.org/#selector-visited 55470. https://drafts.csswg.org/selectors/#pseudo-class 55471. https://html.spec.whatwg.org/#the-body-element 55472. https://html.spec.whatwg.org/#attr-body-alink 55473. https://html.spec.whatwg.org/#rules-for-parsing-a-legacy-colour-value 55474. https://html.spec.whatwg.org/#presentational-hints 55475. https://drafts.csswg.org/css-color/#the-color-property 55476. https://html.spec.whatwg.org/#document 55477. https://html.spec.whatwg.org/#selector-active 55478. https://drafts.csswg.org/selectors/#pseudo-class 55479. https://html.spec.whatwg.org/#selector-link 55480. https://drafts.csswg.org/selectors/#pseudo-class 55481. https://html.spec.whatwg.org/#selector-visited 55482. https://drafts.csswg.org/selectors/#pseudo-class 55483. https://html.spec.whatwg.org/#presentational-hints 55484. https://dom.spec.whatwg.org/#concept-document-quirks 55485. https://html.spec.whatwg.org/#center 55486. https://html.spec.whatwg.org/#the-div-element 55487. https://html.spec.whatwg.org/#attr-div-align 55488. https://infra.spec.whatwg.org/#ascii-case-insensitive 55489. https://drafts.csswg.org/css-text/#text-align-property 55490. https://html.spec.whatwg.org/#presentational-hints 55491. https://html.spec.whatwg.org/#align-descendants 55492. https://html.spec.whatwg.org/#the-div-element 55493. https://html.spec.whatwg.org/#attr-div-align 55494. https://infra.spec.whatwg.org/#ascii-case-insensitive 55495. https://drafts.csswg.org/css-text/#text-align-property 55496. https://html.spec.whatwg.org/#presentational-hints 55497. https://html.spec.whatwg.org/#align-descendants 55498. https://html.spec.whatwg.org/#the-div-element 55499. https://html.spec.whatwg.org/#attr-div-align 55500. https://infra.spec.whatwg.org/#ascii-case-insensitive 55501. https://drafts.csswg.org/css-text/#text-align-property 55502. https://html.spec.whatwg.org/#presentational-hints 55503. https://html.spec.whatwg.org/#align-descendants 55504. https://html.spec.whatwg.org/#the-div-element 55505. https://html.spec.whatwg.org/#attr-div-align 55506. https://infra.spec.whatwg.org/#ascii-case-insensitive 55507. https://drafts.csswg.org/css-text/#text-align-property 55508. https://html.spec.whatwg.org/#presentational-hints 55509. https://html.spec.whatwg.org/#align-descendants 55510. https://html.spec.whatwg.org/#bidi-rendering 55511. https://html.spec.whatwg.org/#bidi-rendering 55512. https://html.spec.whatwg.org/#presentational-hints 55513. https://html.spec.whatwg.org/#the-ruby-element 55514. https://html.spec.whatwg.org/#the-rt-element 55515. https://html.spec.whatwg.org/#the-rp-element 55516. https://drafts.csswg.org/css2/#display-prop 55517. https://drafts.csswg.org/css-ruby/#valdef-display-ruby-base 55518. https://html.spec.whatwg.org/#refsCSSRUBY 55519. https://html.spec.whatwg.org/#the-ruby-element 55520. https://html.spec.whatwg.org/#the-rt-element 55521. https://html.spec.whatwg.org/#the-rt-element 55522. https://html.spec.whatwg.org/#the-rp-element 55523. https://drafts.csswg.org/css2/#flow-control 55524. https://html.spec.whatwg.org/#the-br-element 55525. https://html.spec.whatwg.org/#attr-br-clear 55526. https://drafts.csswg.org/css-color/#the-color-property 55527. https://drafts.csswg.org/css-backgrounds/#propdef-background-color 55528. https://html.spec.whatwg.org/#font 55529. https://html.spec.whatwg.org/#rules-for-parsing-a-legacy-colour-value 55530. https://html.spec.whatwg.org/#presentational-hints 55531. https://drafts.csswg.org/css-color/#the-color-property 55532. https://html.spec.whatwg.org/#font 55533. https://html.spec.whatwg.org/#presentational-hints 55534. https://drafts.csswg.org/css-fonts/#font-family-prop 55535. https://html.spec.whatwg.org/#font 55536. https://html.spec.whatwg.org/#presentational-hints 55537. https://drafts.csswg.org/css-fonts/#font-size-prop 55538. https://infra.spec.whatwg.org/#skip-ascii-whitespace 55539. https://html.spec.whatwg.org/#presentational-hints 55540. https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points 55541. https://infra.spec.whatwg.org/#ascii-digit 55542. https://html.spec.whatwg.org/#presentational-hints 55543. https://drafts.csswg.org/css-fonts/#font-size-prop 55544. https://drafts.csswg.org/css-fonts/#font-size-prop 55545. https://html.spec.whatwg.org/#br-wbr-content 55546. https://html.spec.whatwg.org/#the-br-element 55547. https://html.spec.whatwg.org/#the-wbr-element 55548. https://html.spec.whatwg.org/#the-input-element 55549. https://html.spec.whatwg.org/#attr-dir 55550. https://html.spec.whatwg.org/#attr-dir-auto 55551. https://html.spec.whatwg.org/#attr-input-type 55552. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 55553. https://drafts.csswg.org/css-writing-modes/#unicode-bidi 55554. https://html.spec.whatwg.org/#the-textarea-element 55555. https://html.spec.whatwg.org/#the-input-element 55556. https://html.spec.whatwg.org/#attr-input-type 55557. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 55558. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 55559. https://html.spec.whatwg.org/#telephone-state-(type=tel) 55560. https://html.spec.whatwg.org/#url-state-(type=url) 55561. https://html.spec.whatwg.org/#email-state-(type=email) 55562. https://drafts.csswg.org/css-writing-modes/#direction 55563. https://encoding.spec.whatwg.org/#iso-8859-8 55564. https://html.spec.whatwg.org/#refsENCODING 55565. https://html.spec.whatwg.org/#presentational-hints 55566. https://dom.spec.whatwg.org/#concept-document-quirks 55567. https://html.spec.whatwg.org/#the-li-element 55568. https://html.spec.whatwg.org/#ordinal-value 55569. https://html.spec.whatwg.org/#the-li-element 55570. https://drafts.csswg.org/css-lists/#list-item 55571. https://html.spec.whatwg.org/#refsCSSLISTS 55572. https://html.spec.whatwg.org/#the-li-element 55573. https://html.spec.whatwg.org/#attr-li-value 55574. https://html.spec.whatwg.org/#rules-for-parsing-integers 55575. https://html.spec.whatwg.org/#presentational-hints 55576. https://drafts.csswg.org/css-lists/#propdef-counter-set 55577. https://html.spec.whatwg.org/#the-ol-element 55578. https://html.spec.whatwg.org/#attr-ol-start 55579. https://html.spec.whatwg.org/#attr-ol-reversed 55580. https://html.spec.whatwg.org/#presentational-hints 55581. https://drafts.csswg.org/css-lists/#propdef-counter-reset 55582. https://html.spec.whatwg.org/#attr-ol-start 55583. https://html.spec.whatwg.org/#rules-for-parsing-integers 55584. https://html.spec.whatwg.org/#attr-ol-reversed 55585. https://html.spec.whatwg.org/#attr-ol-start 55586. https://html.spec.whatwg.org/#presentational-hints 55587. https://html.spec.whatwg.org/#presentational-hints 55588. https://html.spec.whatwg.org/#magic-border-selector 55589. https://html.spec.whatwg.org/#magic-border-selector 55590. https://dom.spec.whatwg.org/#concept-document-quirks 55591. https://html.spec.whatwg.org/#the-col-element 55592. https://html.spec.whatwg.org/#attr-col-span 55593. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 55594. https://html.spec.whatwg.org/#the-colgroup-element 55595. https://html.spec.whatwg.org/#the-col-element 55596. https://html.spec.whatwg.org/#attr-colgroup-span 55597. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 55598. https://html.spec.whatwg.org/#attr-tdth-colspan 55599. https://html.spec.whatwg.org/#attr-tdth-rowspan 55600. https://html.spec.whatwg.org/#the-td-element 55601. https://html.spec.whatwg.org/#the-th-element 55602. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 55603. https://dom.spec.whatwg.org/#html-document 55604. https://html.spec.whatwg.org/#the-table-element 55605. https://html.spec.whatwg.org/#attr-table-cellspacing 55606. https://html.spec.whatwg.org/#maps-to-the-pixel-length-property 55607. https://drafts.csswg.org/css-tables/#propdef-border-spacing 55608. https://html.spec.whatwg.org/#the-table-element 55609. https://html.spec.whatwg.org/#attr-table-cellpadding 55610. https://html.spec.whatwg.org/#maps-to-the-pixel-length-property 55611. https://drafts.csswg.org/css-box/#propdef-padding-top 55612. https://drafts.csswg.org/css-box/#propdef-padding-right 55613. https://drafts.csswg.org/css-box/#propdef-padding-bottom 55614. https://drafts.csswg.org/css-box/#propdef-padding-left 55615. https://html.spec.whatwg.org/#the-td-element 55616. https://html.spec.whatwg.org/#the-th-element 55617. https://html.spec.whatwg.org/#concept-cell 55618. https://html.spec.whatwg.org/#concept-table 55619. https://html.spec.whatwg.org/#the-table-element 55620. https://html.spec.whatwg.org/#the-table-element 55621. https://html.spec.whatwg.org/#attr-table-height 55622. https://html.spec.whatwg.org/#maps-to-the-dimension-property 55623. https://drafts.csswg.org/css2/#the-height-property 55624. https://html.spec.whatwg.org/#the-table-element 55625. https://html.spec.whatwg.org/#the-table-element 55626. https://html.spec.whatwg.org/#attr-table-width 55627. https://html.spec.whatwg.org/#maps-to-the-dimension-property-(ignoring-zero) 55628. https://drafts.csswg.org/css2/#the-width-property 55629. https://html.spec.whatwg.org/#the-table-element 55630. https://html.spec.whatwg.org/#the-col-element 55631. https://html.spec.whatwg.org/#attr-col-width 55632. https://html.spec.whatwg.org/#maps-to-the-dimension-property 55633. https://drafts.csswg.org/css2/#the-width-property 55634. https://html.spec.whatwg.org/#the-col-element 55635. https://html.spec.whatwg.org/#the-thead-element 55636. https://html.spec.whatwg.org/#the-tbody-element 55637. https://html.spec.whatwg.org/#the-tfoot-element 55638. https://html.spec.whatwg.org/#attr-tbody-height 55639. https://html.spec.whatwg.org/#maps-to-the-dimension-property 55640. https://drafts.csswg.org/css2/#the-height-property 55641. https://html.spec.whatwg.org/#the-tr-element 55642. https://html.spec.whatwg.org/#attr-tr-height 55643. https://html.spec.whatwg.org/#maps-to-the-dimension-property 55644. https://drafts.csswg.org/css2/#the-height-property 55645. https://html.spec.whatwg.org/#the-tr-element 55646. https://html.spec.whatwg.org/#the-td-element 55647. https://html.spec.whatwg.org/#the-th-element 55648. https://html.spec.whatwg.org/#attr-tdth-height 55649. https://html.spec.whatwg.org/#maps-to-the-dimension-property-(ignoring-zero) 55650. https://drafts.csswg.org/css2/#the-height-property 55651. https://html.spec.whatwg.org/#the-td-element 55652. https://html.spec.whatwg.org/#the-th-element 55653. https://html.spec.whatwg.org/#attr-tdth-width 55654. https://html.spec.whatwg.org/#maps-to-the-dimension-property-(ignoring-zero) 55655. https://drafts.csswg.org/css2/#the-width-property 55656. https://html.spec.whatwg.org/#the-thead-element 55657. https://html.spec.whatwg.org/#the-tbody-element 55658. https://html.spec.whatwg.org/#the-tfoot-element 55659. https://html.spec.whatwg.org/#the-tr-element 55660. https://html.spec.whatwg.org/#the-td-element 55661. https://html.spec.whatwg.org/#the-th-element 55662. https://infra.spec.whatwg.org/#ascii-case-insensitive 55663. https://drafts.csswg.org/css-text/#text-align-property 55664. https://html.spec.whatwg.org/#presentational-hints 55665. https://html.spec.whatwg.org/#align-descendants 55666. https://html.spec.whatwg.org/#the-thead-element 55667. https://html.spec.whatwg.org/#the-tbody-element 55668. https://html.spec.whatwg.org/#the-tfoot-element 55669. https://html.spec.whatwg.org/#the-tr-element 55670. https://html.spec.whatwg.org/#the-td-element 55671. https://html.spec.whatwg.org/#the-th-element 55672. https://infra.spec.whatwg.org/#ascii-case-insensitive 55673. https://drafts.csswg.org/css-text/#text-align-property 55674. https://html.spec.whatwg.org/#presentational-hints 55675. https://html.spec.whatwg.org/#align-descendants 55676. https://html.spec.whatwg.org/#the-thead-element 55677. https://html.spec.whatwg.org/#the-tbody-element 55678. https://html.spec.whatwg.org/#the-tfoot-element 55679. https://html.spec.whatwg.org/#the-tr-element 55680. https://html.spec.whatwg.org/#the-td-element 55681. https://html.spec.whatwg.org/#the-th-element 55682. https://infra.spec.whatwg.org/#ascii-case-insensitive 55683. https://drafts.csswg.org/css-text/#text-align-property 55684. https://html.spec.whatwg.org/#presentational-hints 55685. https://html.spec.whatwg.org/#align-descendants 55686. https://html.spec.whatwg.org/#the-thead-element 55687. https://html.spec.whatwg.org/#the-tbody-element 55688. https://html.spec.whatwg.org/#the-tfoot-element 55689. https://html.spec.whatwg.org/#the-tr-element 55690. https://html.spec.whatwg.org/#the-td-element 55691. https://html.spec.whatwg.org/#the-th-element 55692. https://infra.spec.whatwg.org/#ascii-case-insensitive 55693. https://drafts.csswg.org/css-text/#text-align-property 55694. https://html.spec.whatwg.org/#presentational-hints 55695. https://html.spec.whatwg.org/#align-descendants 55696. https://html.spec.whatwg.org/#the-th-element 55697. https://drafts.csswg.org/css-cascade/#computed-value 55698. https://drafts.csswg.org/css-text/#text-align-property 55699. https://drafts.csswg.org/css-text/#text-align-property 55700. https://html.spec.whatwg.org/#the-table-element 55701. https://html.spec.whatwg.org/#the-thead-element 55702. https://html.spec.whatwg.org/#the-tbody-element 55703. https://html.spec.whatwg.org/#the-tfoot-element 55704. https://html.spec.whatwg.org/#the-tr-element 55705. https://html.spec.whatwg.org/#the-td-element 55706. https://html.spec.whatwg.org/#the-th-element 55707. https://html.spec.whatwg.org/#attr-background 55708. https://html.spec.whatwg.org/#encoding-parsing-and-serializing-a-url 55709. https://dom.spec.whatwg.org/#concept-node-document 55710. https://html.spec.whatwg.org/#presentational-hints 55711. https://drafts.csswg.org/css-backgrounds/#propdef-background-image 55712. https://html.spec.whatwg.org/#the-table-element 55713. https://html.spec.whatwg.org/#the-thead-element 55714. https://html.spec.whatwg.org/#the-tbody-element 55715. https://html.spec.whatwg.org/#the-tfoot-element 55716. https://html.spec.whatwg.org/#the-tr-element 55717. https://html.spec.whatwg.org/#the-td-element 55718. https://html.spec.whatwg.org/#the-th-element 55719. https://html.spec.whatwg.org/#rules-for-parsing-a-legacy-colour-value 55720. https://html.spec.whatwg.org/#presentational-hints 55721. https://drafts.csswg.org/css-backgrounds/#propdef-background-color 55722. https://html.spec.whatwg.org/#the-table-element 55723. https://html.spec.whatwg.org/#attr-table-bordercolor 55724. https://html.spec.whatwg.org/#rules-for-parsing-a-legacy-colour-value 55725. https://html.spec.whatwg.org/#presentational-hints 55726. https://drafts.csswg.org/css-backgrounds/#propdef-border-top-color 55727. https://drafts.csswg.org/css-backgrounds/#propdef-border-right-color 55728. https://drafts.csswg.org/css-backgrounds/#propdef-border-bottom-color 55729. https://drafts.csswg.org/css-backgrounds/#propdef-border-left-color 55730. https://html.spec.whatwg.org/#the-table-element 55731. https://html.spec.whatwg.org/#attr-table-border 55732. https://html.spec.whatwg.org/#maps-to-the-pixel-length-property 55733. https://drafts.csswg.org/css-backgrounds/#propdef-border-top-width 55734. https://drafts.csswg.org/css-backgrounds/#propdef-border-right-width 55735. https://drafts.csswg.org/css-backgrounds/#propdef-border-bottom-width 55736. https://drafts.csswg.org/css-backgrounds/#propdef-border-left-width 55737. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 55738. https://html.spec.whatwg.org/#attr-table-border 55739. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 55740. https://dom.spec.whatwg.org/#concept-document-quirks 55741. https://html.spec.whatwg.org/#the-td-element 55742. https://html.spec.whatwg.org/#the-th-element 55743. https://html.spec.whatwg.org/#attr-tdth-nowrap 55744. https://html.spec.whatwg.org/#attr-tdth-width 55745. https://html.spec.whatwg.org/#rules-for-parsing-non-zero-dimension-values 55746. https://html.spec.whatwg.org/#presentational-hints 55747. https://drafts.csswg.org/css-text/#white-space-property 55748. https://html.spec.whatwg.org/#inter-element-whitespace 55749. https://html.spec.whatwg.org/#concept-rendering-substantial 55750. https://html.spec.whatwg.org/#the-blockquote-element 55751. https://html.spec.whatwg.org/#dir 55752. https://html.spec.whatwg.org/#the-dl-element 55753. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 55754. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 55755. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 55756. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 55757. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 55758. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 55759. https://html.spec.whatwg.org/#listing 55760. https://html.spec.whatwg.org/#the-menu-element 55761. https://html.spec.whatwg.org/#the-ol-element 55762. https://html.spec.whatwg.org/#the-p-element 55763. https://html.spec.whatwg.org/#plaintext 55764. https://html.spec.whatwg.org/#the-pre-element 55765. https://html.spec.whatwg.org/#the-ul-element 55766. https://html.spec.whatwg.org/#xmp 55767. https://dom.spec.whatwg.org/#concept-document-quirks 55768. https://html.spec.whatwg.org/#concept-rendering-elements-with-margins 55769. https://dom.spec.whatwg.org/#concept-tree-child 55770. https://html.spec.whatwg.org/#the-body-element 55771. https://html.spec.whatwg.org/#the-td-element 55772. https://html.spec.whatwg.org/#the-th-element 55773. https://html.spec.whatwg.org/#concept-rendering-substantial 55774. https://drafts.csswg.org/css-logical/#propdef-margin-block-start 55775. https://dom.spec.whatwg.org/#concept-document-quirks 55776. https://html.spec.whatwg.org/#concept-rendering-elements-with-margins 55777. https://dom.spec.whatwg.org/#concept-tree-child 55778. https://html.spec.whatwg.org/#the-body-element 55779. https://html.spec.whatwg.org/#the-td-element 55780. https://html.spec.whatwg.org/#the-th-element 55781. https://html.spec.whatwg.org/#concept-rendering-substantial 55782. https://html.spec.whatwg.org/#concept-rendering-blank 55783. https://drafts.csswg.org/css-logical/#propdef-margin-block-end 55784. https://dom.spec.whatwg.org/#concept-document-quirks 55785. https://html.spec.whatwg.org/#concept-rendering-elements-with-margins 55786. https://dom.spec.whatwg.org/#concept-tree-child 55787. https://html.spec.whatwg.org/#the-td-element 55788. https://html.spec.whatwg.org/#the-th-element 55789. https://html.spec.whatwg.org/#concept-rendering-substantial 55790. https://html.spec.whatwg.org/#concept-rendering-blank 55791. https://drafts.csswg.org/css-logical/#propdef-margin-block-start 55792. https://dom.spec.whatwg.org/#concept-document-quirks 55793. https://html.spec.whatwg.org/#the-p-element 55794. https://dom.spec.whatwg.org/#concept-tree-child 55795. https://html.spec.whatwg.org/#the-td-element 55796. https://html.spec.whatwg.org/#the-th-element 55797. https://html.spec.whatwg.org/#concept-rendering-substantial 55798. https://drafts.csswg.org/css-logical/#propdef-margin-block-end 55799. https://dom.spec.whatwg.org/#concept-document-quirks 55800. https://html.spec.whatwg.org/#widgets 55801. https://html.spec.whatwg.org/#the-input-element 55802. https://html.spec.whatwg.org/#attr-input-type 55803. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 55804. https://html.spec.whatwg.org/#image-button-state-(type=image) 55805. https://html.spec.whatwg.org/#being-rendered 55806. https://drafts.csswg.org/css-display/#inner-display-type 55807. https://html.spec.whatwg.org/#the-hr-element 55808. https://html.spec.whatwg.org/#presentational-hints 55809. https://html.spec.whatwg.org/#the-hr-element 55810. https://html.spec.whatwg.org/#attr-hr-color 55811. https://html.spec.whatwg.org/#attr-hr-noshade 55812. https://html.spec.whatwg.org/#attr-hr-size 55813. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 55814. https://html.spec.whatwg.org/#presentational-hints 55815. https://drafts.csswg.org/css-backgrounds/#propdef-border-top-width 55816. https://drafts.csswg.org/css-backgrounds/#propdef-border-right-width 55817. https://drafts.csswg.org/css-backgrounds/#propdef-border-bottom-width 55818. https://drafts.csswg.org/css-backgrounds/#propdef-border-left-width 55819. https://html.spec.whatwg.org/#the-hr-element 55820. https://html.spec.whatwg.org/#attr-hr-color 55821. https://html.spec.whatwg.org/#attr-hr-noshade 55822. https://html.spec.whatwg.org/#attr-hr-size 55823. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 55824. https://html.spec.whatwg.org/#presentational-hints 55825. https://drafts.csswg.org/css-backgrounds/#propdef-border-bottom-width 55826. https://html.spec.whatwg.org/#presentational-hints 55827. https://drafts.csswg.org/css2/#the-height-property 55828. https://html.spec.whatwg.org/#attr-hr-width 55829. https://html.spec.whatwg.org/#the-hr-element 55830. https://html.spec.whatwg.org/#maps-to-the-dimension-property 55831. https://drafts.csswg.org/css2/#the-width-property 55832. https://html.spec.whatwg.org/#the-hr-element 55833. https://html.spec.whatwg.org/#attr-hr-color 55834. https://html.spec.whatwg.org/#rules-for-parsing-a-legacy-colour-value 55835. https://html.spec.whatwg.org/#presentational-hints 55836. https://drafts.csswg.org/css-color/#the-color-property 55837. https://html.spec.whatwg.org/#the-fieldset-element 55838. https://html.spec.whatwg.org/#the-legend-element 55839. https://html.spec.whatwg.org/#the-fieldset-element 55840. https://drafts.csswg.org/css-display/#css-box 55841. https://drafts.csswg.org/css-display/#block-formatting-context 55842. https://drafts.csswg.org/css2/#display-prop 55843. https://drafts.csswg.org/css2/#display-prop 55844. https://drafts.csswg.org/css-display/#outer-display-type 55845. https://html.spec.whatwg.org/#the-legend-element 55846. https://drafts.csswg.org/css2/#float-position 55847. https://drafts.csswg.org/css-position/#position-property 55848. https://html.spec.whatwg.org/#rendered-legend 55849. https://html.spec.whatwg.org/#rendered-legend 55850. https://html.spec.whatwg.org/#the-fieldset-element 55851. https://html.spec.whatwg.org/#rendered-legend 55852. https://html.spec.whatwg.org/#the-fieldset-element 55853. https://html.spec.whatwg.org/#rendered-legend 55854. https://html.spec.whatwg.org/#the-fieldset-element 55855. https://html.spec.whatwg.org/#rendered-legend 55856. https://html.spec.whatwg.org/#the-fieldset-element 55857. https://drafts.csswg.org/css-logical/#propdef-border-block-start-width 55858. https://html.spec.whatwg.org/#rendered-legend 55859. https://html.spec.whatwg.org/#the-fieldset-element 55860. https://drafts.csswg.org/css-logical/#propdef-block-size 55861. https://drafts.csswg.org/css-logical/#propdef-block-size 55862. https://html.spec.whatwg.org/#rendered-legend 55863. https://drafts.csswg.org/css-logical/#propdef-block-size 55864. https://html.spec.whatwg.org/#rendered-legend 55865. https://html.spec.whatwg.org/#anonymous-fieldset-content-box 55866. https://html.spec.whatwg.org/#rendered-legend 55867. https://html.spec.whatwg.org/#the-fieldset-element 55868. https://html.spec.whatwg.org/#rendered-legend 55869. https://drafts.csswg.org/css-box/#propdef-padding-top 55870. https://drafts.csswg.org/css-box/#propdef-padding-right 55871. https://drafts.csswg.org/css-box/#propdef-padding-bottom 55872. https://drafts.csswg.org/css-box/#propdef-padding-left 55873. https://html.spec.whatwg.org/#rendered-legend 55874. https://html.spec.whatwg.org/#anonymous-fieldset-content-box 55875. https://html.spec.whatwg.org/#rendered-legend 55876. https://html.spec.whatwg.org/#anonymous-fieldset-content-box 55877. https://html.spec.whatwg.org/#the-fieldset-element 55878. https://html.spec.whatwg.org/#rendered-legend 55879. https://drafts.csswg.org/css-display/#formatting-context 55880. https://drafts.csswg.org/css-display/#formatting-context 55881. https://drafts.csswg.org/css2/#display-prop 55882. https://drafts.csswg.org/css2/#display-prop 55883. https://drafts.csswg.org/css-cascade/#computed-value 55884. https://drafts.csswg.org/css-logical/#propdef-inline-size 55885. https://drafts.csswg.org/css-cascade/#used-value 55886. https://drafts.csswg.org/css-sizing/#fit-content-inline-size 55887. https://drafts.csswg.org/css-align/#propdef-justify-self 55888. https://html.spec.whatwg.org/#the-fieldset-element 55889. https://html.spec.whatwg.org/#the-fieldset-element 55890. https://html.spec.whatwg.org/#rendered-legend 55891. https://html.spec.whatwg.org/#the-fieldset-element 55892. https://html.spec.whatwg.org/#anonymous-fieldset-content-box 55893. https://html.spec.whatwg.org/#the-fieldset-element 55894. https://html.spec.whatwg.org/#the-fieldset-element 55895. https://html.spec.whatwg.org/#the-fieldset-element 55896. https://drafts.csswg.org/css2/#display-prop 55897. https://drafts.csswg.org/css2/#display-prop 55898. https://html.spec.whatwg.org/#the-fieldset-element 55899. https://drafts.csswg.org/css2/#display-prop 55900. https://html.spec.whatwg.org/#the-fieldset-element 55901. https://html.spec.whatwg.org/#the-fieldset-element 55902. https://drafts.csswg.org/css-align/#propdef-align-content 55903. https://drafts.csswg.org/css-align/#propdef-align-items 55904. https://drafts.csswg.org/css-backgrounds/#propdef-border-radius 55905. https://drafts.csswg.org/css-multicol/#propdef-column-count 55906. https://drafts.csswg.org/css-multicol/#propdef-column-fill 55907. https://drafts.csswg.org/css-multicol/#propdef-column-gap 55908. https://drafts.csswg.org/css-multicol/#propdef-column-rule 55909. https://drafts.csswg.org/css-multicol/#propdef-column-width 55910. https://drafts.csswg.org/css-flexbox/#propdef-flex-direction 55911. https://drafts.csswg.org/css-flexbox/#propdef-flex-wrap 55912. https://drafts.csswg.org/css-grid/#propdef-grid-auto-columns 55913. https://drafts.csswg.org/css-grid/#propdef-grid-auto-flow 55914. https://drafts.csswg.org/css-grid/#propdef-grid-auto-rows 55915. https://drafts.csswg.org/css-grid/#propdef-grid-column-gap 55916. https://drafts.csswg.org/css-grid/#propdef-grid-row-gap 55917. https://drafts.csswg.org/css-grid/#propdef-grid-template-areas 55918. https://drafts.csswg.org/css-grid/#propdef-grid-template-columns 55919. https://drafts.csswg.org/css-grid/#propdef-grid-template-rows 55920. https://drafts.csswg.org/css-align/#propdef-propdef-justify-content 55921. https://drafts.csswg.org/css-align/#propdef-propdef-justify-items 55922. https://drafts.csswg.org/css-overflow/#propdef-overflow 55923. https://drafts.csswg.org/css-box/#propdef-padding-bottom 55924. https://drafts.csswg.org/css-box/#propdef-padding-left 55925. https://drafts.csswg.org/css-box/#propdef-padding-right 55926. https://drafts.csswg.org/css-box/#propdef-padding-top 55927. https://drafts.csswg.org/css-overflow/#propdef-text-overflow 55928. https://drafts.csswg.org/css-writing-modes/#unicode-bidi 55929. https://drafts.csswg.org/css-logical/#propdef-block-size 55930. https://html.spec.whatwg.org/#the-fieldset-element 55931. https://drafts.csswg.org/css-align/#propdef-justify-self 55932. https://html.spec.whatwg.org/#anonymous-fieldset-content-box 55933. https://drafts.csswg.org/css-display/#replaced-element 55934. https://html.spec.whatwg.org/#the-audio-element 55935. https://html.spec.whatwg.org/#the-canvas-element 55936. https://html.spec.whatwg.org/#the-embed-element 55937. https://html.spec.whatwg.org/#the-iframe-element 55938. https://html.spec.whatwg.org/#the-img-element 55939. https://html.spec.whatwg.org/#the-input-element 55940. https://html.spec.whatwg.org/#the-object-element 55941. https://html.spec.whatwg.org/#the-video-element 55942. https://html.spec.whatwg.org/#the-embed-element 55943. https://html.spec.whatwg.org/#the-iframe-element 55944. https://html.spec.whatwg.org/#the-video-element 55945. https://drafts.csswg.org/css-display/#replaced-element 55946. https://html.spec.whatwg.org/#the-canvas-element 55947. https://html.spec.whatwg.org/#represents 55948. https://html.spec.whatwg.org/#embedded-content-category 55949. https://drafts.csswg.org/css-display/#replaced-element 55950. https://drafts.csswg.org/css-color/#transparent-black 55951. https://drafts.csswg.org/css-images/#natural-dimensions 55952. https://html.spec.whatwg.org/#the-canvas-element 55953. https://html.spec.whatwg.org/#the-object-element 55954. https://html.spec.whatwg.org/#represents 55955. https://html.spec.whatwg.org/#content-navigable 55956. https://drafts.csswg.org/css-display/#replaced-element 55957. https://html.spec.whatwg.org/#the-object-element 55958. https://html.spec.whatwg.org/#the-audio-element 55959. https://html.spec.whatwg.org/#expose-a-user-interface-to-the-user 55960. https://drafts.csswg.org/css-display/#replaced-element 55961. https://html.spec.whatwg.org/#the-audio-element 55962. https://html.spec.whatwg.org/#expose-a-user-interface-to-the-user 55963. https://drafts.csswg.org/css2/#display-prop 55964. https://html.spec.whatwg.org/#the-video-element 55965. https://html.spec.whatwg.org/#expose-a-user-interface-to-the-user 55966. https://html.spec.whatwg.org/#the-video-element 55967. https://html.spec.whatwg.org/#the-video-element 55968. https://html.spec.whatwg.org/#the-video-element 55969. https://html.spec.whatwg.org/#the-video-element 55970. https://w3c.github.io/webvtt/#rules-for-updating-the-display-of-webvtt-text-tracks 55971. https://html.spec.whatwg.org/#refsWEBVTT 55972. https://html.spec.whatwg.org/#expose-a-user-interface-to-the-user 55973. https://html.spec.whatwg.org/#the-video-element 55974. https://html.spec.whatwg.org/#rules-for-updating-the-text-track-rendering 55975. https://html.spec.whatwg.org/#text-track 55976. https://html.spec.whatwg.org/#the-video-element 55977. https://html.spec.whatwg.org/#list-of-text-tracks 55978. https://html.spec.whatwg.org/#text-track-showing 55979. https://html.spec.whatwg.org/#text-track-kind 55980. https://html.spec.whatwg.org/#dom-texttrack-kind-subtitles 55981. https://html.spec.whatwg.org/#dom-texttrack-kind-captions 55982. https://html.spec.whatwg.org/#text-track 55983. https://w3c.github.io/webvtt/#rules-for-updating-the-display-of-webvtt-text-tracks 55984. https://html.spec.whatwg.org/#refsWEBVTT 55985. https://html.spec.whatwg.org/#the-video-element 55986. https://html.spec.whatwg.org/#the-canvas-element 55987. https://html.spec.whatwg.org/#the-img-element 55988. https://html.spec.whatwg.org/#the-input-element 55989. https://html.spec.whatwg.org/#attr-input-type 55990. https://html.spec.whatwg.org/#image-button-state-(type=image) 55991. https://html.spec.whatwg.org/#represents 55992. https://drafts.csswg.org/css-display/#replaced-element 55993. https://html.spec.whatwg.org/#represents 55994. https://html.spec.whatwg.org/#img-available 55995. https://html.spec.whatwg.org/#document 55996. https://dom.spec.whatwg.org/#concept-document-quirks 55997. https://drafts.csswg.org/css-images/#natural-dimensions 55998. https://html.spec.whatwg.org/#dimension-attributes 55999. https://drafts.csswg.org/css-display/#replaced-element 56000. https://html.spec.whatwg.org/#the-input-element 56001. https://html.spec.whatwg.org/#concept-button 56002. https://html.spec.whatwg.org/#the-img-element 56003. https://html.spec.whatwg.org/#represents 56004. https://html.spec.whatwg.org/#the-img-element 56005. https://html.spec.whatwg.org/#represents 56006. https://drafts.csswg.org/css-display/#replaced-element 56007. https://drafts.csswg.org/css-images/#natural-dimensions 56008. https://html.spec.whatwg.org/#the-input-element 56009. https://html.spec.whatwg.org/#represents 56010. https://drafts.csswg.org/css-display/#replaced-element 56011. https://drafts.csswg.org/css-images/#natural-dimensions 56012. https://url.spec.whatwg.org/#syntax-url-absolute 56013. https://url.spec.whatwg.org/#syntax-url-absolute 56014. https://html.spec.whatwg.org/#the-img-element 56015. https://url.spec.whatwg.org/#syntax-url-absolute 56016. https://html.spec.whatwg.org/#the-img-element 56017. https://dom.spec.whatwg.org/#concept-node-document 56018. https://html.spec.whatwg.org/#document 56019. https://dom.spec.whatwg.org/#concept-document-quirks 56020. https://html.spec.whatwg.org/#presentational-hints 56021. https://html.spec.whatwg.org/#the-embed-element 56022. https://html.spec.whatwg.org/#the-iframe-element 56023. https://html.spec.whatwg.org/#the-img-element 56024. https://html.spec.whatwg.org/#the-object-element 56025. https://html.spec.whatwg.org/#the-input-element 56026. https://html.spec.whatwg.org/#attr-input-type 56027. https://html.spec.whatwg.org/#image-button-state-(type=image) 56028. https://infra.spec.whatwg.org/#ascii-case-insensitive 56029. https://drafts.csswg.org/css2/#propdef-vertical-align 56030. https://html.spec.whatwg.org/#the-embed-element 56031. https://html.spec.whatwg.org/#the-img-element 56032. https://html.spec.whatwg.org/#the-object-element 56033. https://html.spec.whatwg.org/#the-input-element 56034. https://html.spec.whatwg.org/#attr-input-type 56035. https://html.spec.whatwg.org/#image-button-state-(type=image) 56036. https://html.spec.whatwg.org/#maps-to-the-dimension-property 56037. https://drafts.csswg.org/css-box/#propdef-margin-left 56038. https://drafts.csswg.org/css-box/#propdef-margin-right 56039. https://html.spec.whatwg.org/#the-embed-element 56040. https://html.spec.whatwg.org/#the-img-element 56041. https://html.spec.whatwg.org/#the-object-element 56042. https://html.spec.whatwg.org/#the-input-element 56043. https://html.spec.whatwg.org/#attr-input-type 56044. https://html.spec.whatwg.org/#image-button-state-(type=image) 56045. https://html.spec.whatwg.org/#maps-to-the-dimension-property 56046. https://drafts.csswg.org/css-box/#propdef-margin-top 56047. https://drafts.csswg.org/css-box/#propdef-margin-bottom 56048. https://html.spec.whatwg.org/#the-iframe-element 56049. https://html.spec.whatwg.org/#attr-iframe-frameborder 56050. https://html.spec.whatwg.org/#rules-for-parsing-integers 56051. https://html.spec.whatwg.org/#presentational-hints 56052. https://drafts.csswg.org/css-backgrounds/#propdef-border-top-width 56053. https://drafts.csswg.org/css-backgrounds/#propdef-border-right-width 56054. https://drafts.csswg.org/css-backgrounds/#propdef-border-bottom-width 56055. https://drafts.csswg.org/css-backgrounds/#propdef-border-left-width 56056. https://html.spec.whatwg.org/#the-img-element 56057. https://html.spec.whatwg.org/#the-object-element 56058. https://html.spec.whatwg.org/#the-input-element 56059. https://html.spec.whatwg.org/#attr-input-type 56060. https://html.spec.whatwg.org/#image-button-state-(type=image) 56061. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 56062. https://html.spec.whatwg.org/#presentational-hints 56063. https://drafts.csswg.org/css-backgrounds/#propdef-border-top-width 56064. https://drafts.csswg.org/css-backgrounds/#propdef-border-right-width 56065. https://drafts.csswg.org/css-backgrounds/#propdef-border-bottom-width 56066. https://drafts.csswg.org/css-backgrounds/#propdef-border-left-width 56067. https://drafts.csswg.org/css-backgrounds/#propdef-border-top-style 56068. https://drafts.csswg.org/css-backgrounds/#propdef-border-right-style 56069. https://drafts.csswg.org/css-backgrounds/#propdef-border-bottom-style 56070. https://drafts.csswg.org/css-backgrounds/#propdef-border-left-style 56071. https://html.spec.whatwg.org/#attr-dim-width 56072. https://html.spec.whatwg.org/#attr-dim-height 56073. https://html.spec.whatwg.org/#the-img-element 56074. https://html.spec.whatwg.org/#concept-img-dimension-attribute-source 56075. https://html.spec.whatwg.org/#maps-to-the-dimension-property 56076. https://drafts.csswg.org/css2/#the-width-property 56077. https://drafts.csswg.org/css2/#the-height-property 56078. https://html.spec.whatwg.org/#the-img-element 56079. https://html.spec.whatwg.org/#map-to-the-aspect-ratio-property-(using-dimension-rules) 56080. https://html.spec.whatwg.org/#the-img-element 56081. https://html.spec.whatwg.org/#attr-dim-width 56082. https://html.spec.whatwg.org/#attr-dim-height 56083. https://html.spec.whatwg.org/#the-embed-element 56084. https://html.spec.whatwg.org/#the-iframe-element 56085. https://html.spec.whatwg.org/#the-object-element 56086. https://html.spec.whatwg.org/#the-video-element 56087. https://html.spec.whatwg.org/#the-input-element 56088. https://html.spec.whatwg.org/#attr-input-type 56089. https://html.spec.whatwg.org/#image-button-state-(type=image) 56090. https://html.spec.whatwg.org/#maps-to-the-dimension-property 56091. https://drafts.csswg.org/css2/#the-width-property 56092. https://drafts.csswg.org/css2/#the-height-property 56093. https://html.spec.whatwg.org/#attr-dim-width 56094. https://html.spec.whatwg.org/#attr-dim-height 56095. https://html.spec.whatwg.org/#map-to-the-aspect-ratio-property-(using-dimension-rules) 56096. https://html.spec.whatwg.org/#the-img-element 56097. https://html.spec.whatwg.org/#the-video-element 56098. https://html.spec.whatwg.org/#the-input-element 56099. https://html.spec.whatwg.org/#attr-input-type 56100. https://html.spec.whatwg.org/#image-button-state-(type=image) 56101. https://html.spec.whatwg.org/#attr-canvas-width 56102. https://html.spec.whatwg.org/#attr-canvas-height 56103. https://html.spec.whatwg.org/#map-to-the-aspect-ratio-property 56104. https://html.spec.whatwg.org/#the-canvas-element 56105. https://html.spec.whatwg.org/#image-map 56106. https://html.spec.whatwg.org/#the-area-element 56107. https://html.spec.whatwg.org/#the-img-element 56108. https://html.spec.whatwg.org/#the-object-element 56109. https://drafts.csswg.org/css-ui/#cursor 56110. https://html.spec.whatwg.org/#the-area-element 56111. https://html.spec.whatwg.org/#attr-style 56112. https://drafts.csswg.org/css-ui/#cursor 56113. https://html.spec.whatwg.org/#the-area-element 56114. https://drafts.csswg.org/css-ui/#cursor 56115. https://drafts.csswg.org/css-ui/#cursor 56116. https://html.spec.whatwg.org/#the-img-element 56117. https://html.spec.whatwg.org/#the-object-element 56118. https://html.spec.whatwg.org/#image-map 56119. https://html.spec.whatwg.org/#the-area-element 56120. https://drafts.csswg.org/css-ui/#native-appearance 56121. https://drafts.csswg.org/css-ui/#widget 56122. https://drafts.csswg.org/css-ui/#native-appearance 56123. https://drafts.csswg.org/css-ui/#appearance-switching 56124. https://drafts.csswg.org/css-ui/#devolvable 56125. https://drafts.csswg.org/css-ui/#non-devolvable 56126. https://drafts.csswg.org/css-ui/#native-appearance 56127. https://drafts.csswg.org/css-ui/#devolved 56128. https://drafts.csswg.org/css-ui/#primitive-appearance 56129. https://html.spec.whatwg.org/#refsCSSUI 56130. https://drafts.csswg.org/css-ui/#native-appearance 56131. https://drafts.csswg.org/css-ui/#appearance-switching 56132. https://html.spec.whatwg.org/#the-button-element 56133. https://html.spec.whatwg.org/#the-input-element 56134. https://html.spec.whatwg.org/#the-meter-element 56135. https://html.spec.whatwg.org/#the-progress-element 56136. https://html.spec.whatwg.org/#the-select-element 56137. https://html.spec.whatwg.org/#the-textarea-element 56138. https://drafts.csswg.org/css-writing-modes/#propdef-writing-mode 56139. https://drafts.csswg.org/css-writing-modes/#propdef-writing-mode 56140. https://drafts.csswg.org/css-writing-modes/#propdef-writing-mode 56141. https://html.spec.whatwg.org/#button-layout-2 56142. https://drafts.csswg.org/css-ui/#devolvable 56143. https://drafts.csswg.org/css-ui/#native-appearance 56144. https://html.spec.whatwg.org/#the-button-element 56145. https://drafts.csswg.org/css2/#display-prop 56146. https://drafts.csswg.org/css2/#display-prop 56147. https://drafts.csswg.org/css2/#display-prop 56148. https://drafts.csswg.org/css-display/#outer-display-type 56149. https://drafts.csswg.org/css-display/#formatting-context 56150. https://drafts.csswg.org/css2/#display-prop 56151. https://drafts.csswg.org/css-position/#absolute-position 56152. https://drafts.csswg.org/css2/#visuren 56153. https://drafts.csswg.org/css-display/#replaced-element 56154. https://html.spec.whatwg.org/#refsCSS 56155. https://drafts.csswg.org/css-cascade/#computed-value 56156. https://drafts.csswg.org/css-logical/#propdef-inline-size 56157. https://drafts.csswg.org/css-cascade/#used-value 56158. https://drafts.csswg.org/css-sizing/#fit-content-inline-size 56159. https://drafts.csswg.org/css-align/#propdef-align-self 56160. https://html.spec.whatwg.org/#the-input-element 56161. https://html.spec.whatwg.org/#the-button-element 56162. https://drafts.csswg.org/css2/#display-prop 56163. https://drafts.csswg.org/css-display/#block-level 56164. https://drafts.csswg.org/css-display/#block-container 56165. https://drafts.csswg.org/css-display/#block-formatting-context 56166. https://drafts.csswg.org/css2/#display-prop 56167. https://html.spec.whatwg.org/#anonymous-button-content-box 56168. https://drafts.csswg.org/css-ui/#primitive-appearance 56169. https://html.spec.whatwg.org/#the-button-element 56170. https://html.spec.whatwg.org/#the-button-element 56171. https://drafts.csswg.org/css-display/#css-box 56172. https://html.spec.whatwg.org/#button-layout-2 56173. https://html.spec.whatwg.org/#anonymous-button-content-box 56174. https://html.spec.whatwg.org/#anonymous-button-content-box 56175. https://html.spec.whatwg.org/#the-details-element 56176. https://html.spec.whatwg.org/#the-summary-element 56177. https://html.spec.whatwg.org/#the-details-element 56178. https://dom.spec.whatwg.org/#concept-shadow-tree 56179. https://html.spec.whatwg.org/#the-slot-element 56180. https://html.spec.whatwg.org/#the-details-element 56181. https://html.spec.whatwg.org/#the-summary-element 56182. https://html.spec.whatwg.org/#the-summary-element 56183. https://infra.spec.whatwg.org/#implementation-defined 56184. https://html.spec.whatwg.org/#the-summary-element 56185. https://html.spec.whatwg.org/#represents 56186. https://html.spec.whatwg.org/#the-slot-element 56187. https://html.spec.whatwg.org/#the-details-element 56188. https://drafts.csswg.org/css-pseudo/#details-content-pseudo 56189. https://html.spec.whatwg.org/#attr-style 56190. https://html.spec.whatwg.org/#the-details-element 56191. https://html.spec.whatwg.org/#attr-details-open 56192. https://html.spec.whatwg.org/#attr-details-open 56193. https://html.spec.whatwg.org/#attr-style 56194. https://html.spec.whatwg.org/#attr-style 56195. https://html.spec.whatwg.org/#the-link-element 56196. https://html.spec.whatwg.org/#the-style-element 56197. https://html.spec.whatwg.org/#default-summary 56198. https://html.spec.whatwg.org/#the-details-element 56199. https://html.spec.whatwg.org/#the-input-element 56200. https://html.spec.whatwg.org/#the-input-element 56201. https://html.spec.whatwg.org/#attr-input-type 56202. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 56203. https://html.spec.whatwg.org/#telephone-state-(type=tel) 56204. https://html.spec.whatwg.org/#url-state-(type=url) 56205. https://html.spec.whatwg.org/#email-state-(type=email) 56206. https://drafts.csswg.org/css-ui/#devolvable 56207. https://drafts.csswg.org/css-ui/#native-appearance 56208. https://drafts.csswg.org/css2/#value-def-inline-block 56209. https://html.spec.whatwg.org/#the-input-element 56210. https://html.spec.whatwg.org/#attr-input-type 56211. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 56212. https://drafts.csswg.org/css-ui/#devolvable 56213. https://drafts.csswg.org/css-ui/#native-appearance 56214. https://drafts.csswg.org/css2/#value-def-inline-block 56215. https://drafts.csswg.org/css-cascade/#computed-value 56216. https://drafts.csswg.org/css-ui/#appearance-switching 56217. https://drafts.csswg.org/css-ui/#valdef-appearance-textfield 56218. https://html.spec.whatwg.org/#the-input-element 56219. https://html.spec.whatwg.org/#attr-input-type 56220. https://html.spec.whatwg.org/#password-state-(type=password) 56221. https://drafts.csswg.org/css-ui/#devolvable 56222. https://drafts.csswg.org/css-ui/#native-appearance 56223. https://drafts.csswg.org/css2/#value-def-inline-block 56224. https://html.spec.whatwg.org/#the-input-element 56225. https://html.spec.whatwg.org/#attr-input-type 56226. https://drafts.csswg.org/css-cascade/#used-value 56227. https://drafts.csswg.org/css2/#propdef-line-height 56228. https://drafts.csswg.org/css-cascade/#used-value 56229. https://drafts.csswg.org/css-cascade/#used-value 56230. https://drafts.csswg.org/css-cascade/#computed-value 56231. https://html.spec.whatwg.org/#queue-an-element-task 56232. https://html.spec.whatwg.org/#user-interaction-task-source 56233. https://html.spec.whatwg.org/#the-input-element 56234. https://dom.spec.whatwg.org/#concept-event-fire 56235. https://html.spec.whatwg.org/#event-select 56236. https://dom.spec.whatwg.org/#dom-event-bubbles 56237. https://html.spec.whatwg.org/#the-input-element 56238. https://html.spec.whatwg.org/#attr-input-type 56239. https://drafts.csswg.org/css-ui/#element-with-default-preferred-size 56240. https://drafts.csswg.org/css-ui/#field-sizing 56241. https://drafts.csswg.org/css-writing-modes/#inline-size 56242. https://drafts.csswg.org/css-sizing/#intrinsic-size 56243. https://drafts.csswg.org/css-ui/#field-sizing 56244. https://drafts.csswg.org/css-cascade/#computed-value 56245. https://drafts.csswg.org/css-ui/#valdef-field-sizing-content 56246. https://drafts.csswg.org/css-writing-modes/#inline-size 56247. https://html.spec.whatwg.org/#concept-fe-value 56248. https://html.spec.whatwg.org/#attr-input-placeholder 56249. https://drafts.csswg.org/css-writing-modes/#inline-size 56250. https://html.spec.whatwg.org/#attr-input-size 56251. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 56252. https://html.spec.whatwg.org/#converting-a-character-width-to-pixels 56253. https://html.spec.whatwg.org/#converting-a-character-width-to-pixels 56254. https://drafts.csswg.org/css-text/#letter-spacing-property 56255. https://drafts.csswg.org/css-overflow/#scroll-container 56256. https://drafts.csswg.org/css-writing-modes/#inline-axis 56257. https://drafts.csswg.org/css-writing-modes/#block-axis 56258. https://drafts.csswg.org/css-ui/#native-appearance 56259. https://drafts.csswg.org/css-ui/#primitive-appearance 56260. https://html.spec.whatwg.org/#the-input-element 56261. https://html.spec.whatwg.org/#the-input-element 56262. https://html.spec.whatwg.org/#attr-input-type 56263. https://html.spec.whatwg.org/#date-state-(type=date) 56264. https://drafts.csswg.org/css-ui/#devolvable 56265. https://drafts.csswg.org/css2/#value-def-inline-block 56266. https://html.spec.whatwg.org/#the-input-element 56267. https://html.spec.whatwg.org/#attr-input-type 56268. https://html.spec.whatwg.org/#month-state-(type=month) 56269. https://drafts.csswg.org/css-ui/#devolvable 56270. https://drafts.csswg.org/css2/#value-def-inline-block 56271. https://html.spec.whatwg.org/#the-input-element 56272. https://html.spec.whatwg.org/#attr-input-type 56273. https://html.spec.whatwg.org/#week-state-(type=week) 56274. https://drafts.csswg.org/css-ui/#devolvable 56275. https://drafts.csswg.org/css2/#value-def-inline-block 56276. https://html.spec.whatwg.org/#the-input-element 56277. https://html.spec.whatwg.org/#attr-input-type 56278. https://html.spec.whatwg.org/#time-state-(type=time) 56279. https://drafts.csswg.org/css-ui/#devolvable 56280. https://drafts.csswg.org/css2/#value-def-inline-block 56281. https://html.spec.whatwg.org/#the-input-element 56282. https://html.spec.whatwg.org/#attr-input-type 56283. https://html.spec.whatwg.org/#local-date-and-time-state-(type=datetime-local) 56284. https://drafts.csswg.org/css-ui/#devolvable 56285. https://drafts.csswg.org/css2/#value-def-inline-block 56286. https://html.spec.whatwg.org/#the-input-element 56287. https://html.spec.whatwg.org/#attr-input-type 56288. https://html.spec.whatwg.org/#number-state-(type=number) 56289. https://drafts.csswg.org/css-ui/#devolvable 56290. https://drafts.csswg.org/css2/#value-def-inline-block 56291. https://html.spec.whatwg.org/#the-input-element 56292. https://html.spec.whatwg.org/#attr-input-type 56293. https://html.spec.whatwg.org/#number-state-(type=number) 56294. https://drafts.csswg.org/css-ui/#element-with-default-preferred-size 56295. https://drafts.csswg.org/css-ui/#field-sizing 56296. https://drafts.csswg.org/css-writing-modes/#block-size 56297. https://drafts.csswg.org/css-sizing/#intrinsic-size 56298. https://drafts.csswg.org/css-ui/#field-sizing 56299. https://drafts.csswg.org/css-cascade/#computed-value 56300. https://drafts.csswg.org/css-ui/#valdef-field-sizing-content 56301. https://drafts.csswg.org/css-writing-modes/#inline-size 56302. https://drafts.csswg.org/css-sizing/#intrinsic-size 56303. https://html.spec.whatwg.org/#concept-fe-value 56304. https://drafts.csswg.org/css-writing-modes/#inline-size 56305. https://drafts.csswg.org/css-sizing/#intrinsic-size 56306. https://html.spec.whatwg.org/#the-input-element 56307. https://html.spec.whatwg.org/#attr-input-type 56308. https://html.spec.whatwg.org/#date-state-(type=date) 56309. https://html.spec.whatwg.org/#month-state-(type=month) 56310. https://html.spec.whatwg.org/#week-state-(type=week) 56311. https://html.spec.whatwg.org/#time-state-(type=time) 56312. https://html.spec.whatwg.org/#local-date-and-time-state-(type=datetime-local) 56313. https://drafts.csswg.org/css-ui/#native-appearance 56314. https://drafts.csswg.org/css-ui/#primitive-appearance 56315. https://html.spec.whatwg.org/#the-input-element 56316. https://html.spec.whatwg.org/#the-input-element 56317. https://html.spec.whatwg.org/#attr-input-type 56318. https://html.spec.whatwg.org/#range-state-(type=range) 56319. https://drafts.csswg.org/css-ui/#non-devolvable 56320. https://drafts.csswg.org/css-ui/#native-appearance 56321. https://drafts.csswg.org/css2/#value-def-inline-block 56322. https://html.spec.whatwg.org/#horizontal-writing-mode 56323. https://drafts.csswg.org/css-writing-modes/#direction 56324. https://drafts.csswg.org/css-cascade/#computed-value 56325. https://html.spec.whatwg.org/#vertical-writing-mode 56326. https://drafts.csswg.org/css-writing-modes/#direction 56327. https://drafts.csswg.org/css-cascade/#computed-value 56328. https://html.spec.whatwg.org/#attr-input-list 56329. https://drafts.csswg.org/css-ui/#primitive-appearance 56330. https://html.spec.whatwg.org/#the-input-element 56331. https://html.spec.whatwg.org/#the-input-element 56332. https://html.spec.whatwg.org/#attr-input-type 56333. https://html.spec.whatwg.org/#color-state-(type=color) 56334. https://drafts.csswg.org/css-display/#css-box 56335. https://html.spec.whatwg.org/#button-layout-2 56336. https://html.spec.whatwg.org/#anonymous-button-content-box 56337. https://html.spec.whatwg.org/#anonymous-button-content-box 56338. https://html.spec.whatwg.org/#presentational-hints 56339. https://drafts.csswg.org/css-backgrounds/#propdef-background-color 56340. https://html.spec.whatwg.org/#concept-fe-value 56341. https://html.spec.whatwg.org/#attr-input-list 56342. https://drafts.csswg.org/css-ui/#native-appearance 56343. https://drafts.csswg.org/css-ui/#primitive-appearance 56344. https://html.spec.whatwg.org/#the-input-element 56345. https://html.spec.whatwg.org/#the-input-element 56346. https://html.spec.whatwg.org/#attr-input-type 56347. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 56348. https://drafts.csswg.org/css-ui/#non-devolvable 56349. https://drafts.csswg.org/css2/#value-def-inline-block 56350. https://drafts.csswg.org/css-ui/#native-appearance 56351. https://drafts.csswg.org/css-ui/#primitive-appearance 56352. https://html.spec.whatwg.org/#the-input-element 56353. https://html.spec.whatwg.org/#attr-input-type 56354. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 56355. https://drafts.csswg.org/css-ui/#non-devolvable 56356. https://drafts.csswg.org/css2/#value-def-inline-block 56357. https://drafts.csswg.org/css-ui/#native-appearance 56358. https://drafts.csswg.org/css-ui/#primitive-appearance 56359. https://html.spec.whatwg.org/#the-input-element 56360. https://html.spec.whatwg.org/#the-input-element 56361. https://html.spec.whatwg.org/#attr-input-type 56362. https://html.spec.whatwg.org/#file-upload-state-(type=file) 56363. https://drafts.csswg.org/css-display/#css-box 56364. https://drafts.csswg.org/css2/#value-def-inline-block 56365. https://html.spec.whatwg.org/#concept-input-type-file-selected 56366. https://html.spec.whatwg.org/#button-layout-2 56367. https://drafts.csswg.org/css-pseudo/#file-selector-button-pseudo 56368. https://html.spec.whatwg.org/#anonymous-button-content-box 56369. https://infra.spec.whatwg.org/#implementation-defined 56370. https://html.spec.whatwg.org/#the-input-element 56371. https://html.spec.whatwg.org/#attr-input-type 56372. https://html.spec.whatwg.org/#file-upload-state-(type=file) 56373. https://drafts.csswg.org/css-ui/#element-with-default-preferred-size 56374. https://drafts.csswg.org/css-ui/#field-sizing 56375. https://drafts.csswg.org/css-ui/#field-sizing 56376. https://drafts.csswg.org/css-cascade/#computed-value 56377. https://drafts.csswg.org/css-ui/#valdef-field-sizing-content 56378. https://drafts.csswg.org/css-sizing/#intrinsic-size 56379. https://drafts.csswg.org/css-pseudo/#file-selector-button-pseudo 56380. https://html.spec.whatwg.org/#the-input-element 56381. https://html.spec.whatwg.org/#the-input-element 56382. https://html.spec.whatwg.org/#attr-input-type 56383. https://html.spec.whatwg.org/#submit-button-state-(type=submit) 56384. https://html.spec.whatwg.org/#reset-button-state-(type=reset) 56385. https://html.spec.whatwg.org/#button-state-(type=button) 56386. https://drafts.csswg.org/css-display/#css-box 56387. https://html.spec.whatwg.org/#button-layout-2 56388. https://html.spec.whatwg.org/#anonymous-button-content-box 56389. https://html.spec.whatwg.org/#attr-input-value 56390. https://html.spec.whatwg.org/#attr-input-type 56391. https://infra.spec.whatwg.org/#implementation-defined 56392. https://html.spec.whatwg.org/#the-marquee-element 56393. https://html.spec.whatwg.org/#the-marquee-element 56394. https://html.spec.whatwg.org/#concept-marquee-on 56395. https://html.spec.whatwg.org/#attr-marquee-behavior 56396. https://html.spec.whatwg.org/#attr-marquee-behavior-scroll 56397. https://html.spec.whatwg.org/#attr-marquee-direction 56398. https://html.spec.whatwg.org/#the-marquee-element 56399. https://html.spec.whatwg.org/#attr-marquee-direction 56400. https://html.spec.whatwg.org/#attr-marquee-direction-left 56401. https://html.spec.whatwg.org/#the-marquee-element 56402. https://drafts.csswg.org/css-box/#content-area 56403. https://html.spec.whatwg.org/#the-marquee-element 56404. https://drafts.csswg.org/css-box/#content-area 56405. https://html.spec.whatwg.org/#increment-the-marquee-current-loop-index 56406. https://html.spec.whatwg.org/#concept-marquee-on 56407. https://html.spec.whatwg.org/#attr-marquee-behavior 56408. https://html.spec.whatwg.org/#attr-marquee-behavior-slide 56409. https://html.spec.whatwg.org/#attr-marquee-direction 56410. https://html.spec.whatwg.org/#the-marquee-element 56411. https://html.spec.whatwg.org/#the-marquee-element 56412. https://html.spec.whatwg.org/#attr-marquee-direction 56413. https://html.spec.whatwg.org/#attr-marquee-direction-left 56414. https://html.spec.whatwg.org/#the-marquee-element 56415. https://drafts.csswg.org/css-box/#content-area 56416. https://html.spec.whatwg.org/#the-marquee-element 56417. https://drafts.csswg.org/css-box/#content-area 56418. https://html.spec.whatwg.org/#increment-the-marquee-current-loop-index 56419. https://html.spec.whatwg.org/#concept-marquee-on 56420. https://html.spec.whatwg.org/#attr-marquee-behavior 56421. https://html.spec.whatwg.org/#attr-marquee-behavior-alternate 56422. https://html.spec.whatwg.org/#marquee-current-loop-index 56423. https://html.spec.whatwg.org/#attr-marquee-direction 56424. https://html.spec.whatwg.org/#the-marquee-element 56425. https://html.spec.whatwg.org/#the-marquee-element 56426. https://html.spec.whatwg.org/#marquee-current-loop-index 56427. https://html.spec.whatwg.org/#attr-marquee-direction 56428. https://html.spec.whatwg.org/#the-marquee-element 56429. https://html.spec.whatwg.org/#the-marquee-element 56430. https://html.spec.whatwg.org/#attr-marquee-direction 56431. https://html.spec.whatwg.org/#attr-marquee-direction-left 56432. https://html.spec.whatwg.org/#the-marquee-element 56433. https://drafts.csswg.org/css-box/#content-area 56434. https://html.spec.whatwg.org/#the-marquee-element 56435. https://drafts.csswg.org/css-box/#content-area 56436. https://html.spec.whatwg.org/#increment-the-marquee-current-loop-index 56437. https://html.spec.whatwg.org/#concept-marquee-on 56438. https://html.spec.whatwg.org/#attr-marquee-direction 56439. https://html.spec.whatwg.org/#attr-marquee-direction 56440. https://html.spec.whatwg.org/#attr-marquee-direction-left 56441. https://html.spec.whatwg.org/#attr-marquee-direction-right 56442. https://html.spec.whatwg.org/#attr-marquee-direction-up 56443. https://html.spec.whatwg.org/#attr-marquee-direction-down 56444. https://html.spec.whatwg.org/#marquee-scroll-interval 56445. https://html.spec.whatwg.org/#marquee-scroll-distance 56446. https://html.spec.whatwg.org/#the-marquee-element 56447. https://html.spec.whatwg.org/#rules-for-parsing-a-legacy-colour-value 56448. https://html.spec.whatwg.org/#presentational-hints 56449. https://drafts.csswg.org/css-backgrounds/#propdef-background-color 56450. https://html.spec.whatwg.org/#the-marquee-element 56451. https://html.spec.whatwg.org/#maps-to-the-dimension-property 56452. https://drafts.csswg.org/css2/#the-width-property 56453. https://drafts.csswg.org/css2/#the-height-property 56454. https://drafts.csswg.org/css-images/#natural-height 56455. https://html.spec.whatwg.org/#the-marquee-element 56456. https://html.spec.whatwg.org/#attr-marquee-direction 56457. https://html.spec.whatwg.org/#attr-marquee-direction-up 56458. https://html.spec.whatwg.org/#attr-marquee-direction-down 56459. https://drafts.csswg.org/css-values/#px 56460. https://html.spec.whatwg.org/#the-marquee-element 56461. https://html.spec.whatwg.org/#maps-to-the-dimension-property 56462. https://drafts.csswg.org/css-box/#propdef-margin-top 56463. https://drafts.csswg.org/css-box/#propdef-margin-bottom 56464. https://html.spec.whatwg.org/#the-marquee-element 56465. https://html.spec.whatwg.org/#maps-to-the-dimension-property 56466. https://drafts.csswg.org/css-box/#propdef-margin-left 56467. https://drafts.csswg.org/css-box/#propdef-margin-right 56468. https://html.spec.whatwg.org/#the-meter-element 56469. https://html.spec.whatwg.org/#the-meter-element 56470. https://drafts.csswg.org/css-ui/#devolvable 56471. https://drafts.csswg.org/css-ui/#native-appearance 56472. https://drafts.csswg.org/css2/#value-def-inline-block 56473. https://drafts.csswg.org/css-logical/#propdef-block-size 56474. https://drafts.csswg.org/css-logical/#propdef-inline-size 56475. https://drafts.csswg.org/css2/#propdef-vertical-align 56476. https://html.spec.whatwg.org/#horizontal-writing-mode 56477. https://drafts.csswg.org/css-writing-modes/#direction 56478. https://drafts.csswg.org/css-cascade/#computed-value 56479. https://html.spec.whatwg.org/#vertical-writing-mode 56480. https://drafts.csswg.org/css-writing-modes/#direction 56481. https://drafts.csswg.org/css-cascade/#computed-value 56482. https://html.spec.whatwg.org/#the-meter-element 56483. https://drafts.csswg.org/css-ui/#primitive-appearance 56484. https://html.spec.whatwg.org/#the-progress-element 56485. https://html.spec.whatwg.org/#the-progress-element 56486. https://drafts.csswg.org/css-ui/#devolvable 56487. https://drafts.csswg.org/css-ui/#native-appearance 56488. https://drafts.csswg.org/css2/#value-def-inline-block 56489. https://drafts.csswg.org/css-logical/#propdef-block-size 56490. https://drafts.csswg.org/css-logical/#propdef-inline-size 56491. https://drafts.csswg.org/css2/#propdef-vertical-align 56492. https://html.spec.whatwg.org/#horizontal-writing-mode 56493. https://drafts.csswg.org/css-writing-modes/#direction 56494. https://drafts.csswg.org/css-cascade/#computed-value 56495. https://html.spec.whatwg.org/#vertical-writing-mode 56496. https://drafts.csswg.org/css-writing-modes/#direction 56497. https://drafts.csswg.org/css-cascade/#computed-value 56498. https://html.spec.whatwg.org/#the-progress-element 56499. https://drafts.csswg.org/css-ui/#primitive-appearance 56500. https://html.spec.whatwg.org/#the-select-element 56501. https://html.spec.whatwg.org/#the-select-element 56502. https://drafts.csswg.org/css-ui/#element-with-default-preferred-size 56503. https://drafts.csswg.org/css-ui/#field-sizing 56504. https://html.spec.whatwg.org/#the-select-element 56505. https://html.spec.whatwg.org/#the-select-element 56506. https://html.spec.whatwg.org/#the-select-element 56507. https://html.spec.whatwg.org/#attr-select-multiple 56508. https://html.spec.whatwg.org/#list-box 56509. https://html.spec.whatwg.org/#the-select-element 56510. https://html.spec.whatwg.org/#attr-select-multiple 56511. https://html.spec.whatwg.org/#concept-select-size 56512. https://html.spec.whatwg.org/#list-box 56513. https://html.spec.whatwg.org/#list-box 56514. https://drafts.csswg.org/css-ui/#devolvable 56515. https://drafts.csswg.org/css2/#value-def-inline-block 56516. https://drafts.csswg.org/css-writing-modes/#inline-size 56517. https://drafts.csswg.org/css-sizing/#intrinsic-size 56518. https://html.spec.whatwg.org/#width-of-the-select's-labels 56519. https://drafts.csswg.org/css-writing-modes/#block-size 56520. https://drafts.csswg.org/css-sizing/#intrinsic-size 56521. https://drafts.csswg.org/css-ui/#field-sizing 56522. https://drafts.csswg.org/css-cascade/#computed-value 56523. https://drafts.csswg.org/css-ui/#valdef-field-sizing-content 56524. https://html.spec.whatwg.org/#attr-select-size 56525. https://html.spec.whatwg.org/#concept-select-size 56526. https://html.spec.whatwg.org/#the-select-element 56527. https://html.spec.whatwg.org/#attr-select-multiple 56528. https://html.spec.whatwg.org/#concept-select-size 56529. https://drafts.csswg.org/css2/#value-def-inline-block 56530. https://html.spec.whatwg.org/#drop-down-box 56531. https://drafts.csswg.org/css-writing-modes/#inline-size 56532. https://drafts.csswg.org/css-sizing/#intrinsic-size 56533. https://html.spec.whatwg.org/#width-of-the-select's-labels 56534. https://drafts.csswg.org/css-ui/#field-sizing 56535. https://drafts.csswg.org/css-cascade/#computed-value 56536. https://drafts.csswg.org/css-ui/#valdef-field-sizing-content 56537. https://drafts.csswg.org/css-writing-modes/#inline-size 56538. https://drafts.csswg.org/css-sizing/#intrinsic-size 56539. https://html.spec.whatwg.org/#the-option-element 56540. https://html.spec.whatwg.org/#concept-option-selectedness 56541. https://html.spec.whatwg.org/#drop-down-box 56542. https://drafts.csswg.org/css-ui/#devolvable 56543. https://drafts.csswg.org/css-cascade/#computed-value 56544. https://drafts.csswg.org/css-ui/#appearance-switching 56545. https://drafts.csswg.org/css-ui/#valdef-appearance-menulist-button 56546. https://drafts.csswg.org/css-color/#the-color-property 56547. https://drafts.csswg.org/css-backgrounds/#propdef-background-color 56548. https://drafts.csswg.org/css-ui/#native-appearance 56549. https://html.spec.whatwg.org/#list-box 56550. https://html.spec.whatwg.org/#drop-down-box 56551. https://html.spec.whatwg.org/#concept-select-option-list 56552. https://html.spec.whatwg.org/#the-optgroup-element 56553. https://dom.spec.whatwg.org/#concept-tree-child 56554. https://html.spec.whatwg.org/#the-optgroup-element 56555. https://html.spec.whatwg.org/#attr-optgroup-label 56556. https://html.spec.whatwg.org/#the-option-element 56557. https://html.spec.whatwg.org/#concept-option-label 56558. https://html.spec.whatwg.org/#the-optgroup-element 56559. https://html.spec.whatwg.org/#the-hr-element 56560. https://html.spec.whatwg.org/#the-optgroup-element 56561. https://html.spec.whatwg.org/#the-option-element 56562. https://html.spec.whatwg.org/#concept-select-option-list 56563. https://html.spec.whatwg.org/#the-select-element 56564. https://html.spec.whatwg.org/#placeholder-label-option 56565. https://html.spec.whatwg.org/#the-option-element 56566. https://html.spec.whatwg.org/#placeholder-label-option 56567. https://html.spec.whatwg.org/#placeholder-label-option 56568. https://html.spec.whatwg.org/#concept-option-selectedness 56569. https://html.spec.whatwg.org/#the-select-element 56570. https://drafts.csswg.org/css-ui/#native-appearance 56571. https://drafts.csswg.org/css-ui/#primitive-appearance 56572. https://html.spec.whatwg.org/#the-textarea-element 56573. https://html.spec.whatwg.org/#the-textarea-element 56574. https://drafts.csswg.org/css-ui/#devolvable 56575. https://drafts.csswg.org/css2/#value-def-inline-block 56576. https://html.spec.whatwg.org/#queue-an-element-task 56577. https://html.spec.whatwg.org/#user-interaction-task-source 56578. https://html.spec.whatwg.org/#the-textarea-element 56579. https://dom.spec.whatwg.org/#concept-event-fire 56580. https://html.spec.whatwg.org/#event-select 56581. https://dom.spec.whatwg.org/#dom-event-bubbles 56582. https://html.spec.whatwg.org/#the-textarea-element 56583. https://drafts.csswg.org/css-ui/#element-with-default-preferred-size 56584. https://drafts.csswg.org/css-ui/#field-sizing 56585. https://html.spec.whatwg.org/#the-textarea-element 56586. https://drafts.csswg.org/css-ui/#field-sizing 56587. https://drafts.csswg.org/css-cascade/#computed-value 56588. https://drafts.csswg.org/css-ui/#valdef-field-sizing-content 56589. https://drafts.csswg.org/css-sizing/#intrinsic-size 56590. https://html.spec.whatwg.org/#concept-textarea-raw-value 56591. https://html.spec.whatwg.org/#attr-textarea-placeholder 56592. https://drafts.csswg.org/css-sizing/#intrinsic-size 56593. https://drafts.csswg.org/css-sizing/#intrinsic-size 56594. https://html.spec.whatwg.org/#textarea-effective-width 56595. https://html.spec.whatwg.org/#textarea-effective-height 56596. https://html.spec.whatwg.org/#the-textarea-element 56597. https://html.spec.whatwg.org/#attr-textarea-cols-value 56598. https://drafts.csswg.org/css-values/#px 56599. https://drafts.csswg.org/css-values/#px 56600. https://drafts.csswg.org/css-text/#letter-spacing-property 56601. https://html.spec.whatwg.org/#the-textarea-element 56602. https://drafts.csswg.org/css-values/#px 56603. https://html.spec.whatwg.org/#attr-textarea-rows-value 56604. https://drafts.csswg.org/css-values/#px 56605. https://drafts.csswg.org/css-text/#white-space-property 56606. https://html.spec.whatwg.org/#the-textarea-element 56607. https://html.spec.whatwg.org/#attr-textarea-wrap 56608. https://infra.spec.whatwg.org/#ascii-case-insensitive 56609. https://html.spec.whatwg.org/#presentational-hints 56610. https://drafts.csswg.org/css-text/#white-space-property 56611. https://drafts.csswg.org/css-ui/#native-appearance 56612. https://drafts.csswg.org/css-ui/#primitive-appearance 56613. https://html.spec.whatwg.org/#frameset 56614. https://drafts.csswg.org/css2/#viewport 56615. https://html.spec.whatwg.org/#rules-for-parsing-a-list-of-dimensions 56616. https://html.spec.whatwg.org/#rules-for-parsing-a-list-of-dimensions 56617. https://html.spec.whatwg.org/#convert-a-list-of-dimensions-to-a-list-of-pixel-values 56618. https://html.spec.whatwg.org/#frameset 56619. https://drafts.csswg.org/css-values/#px 56620. https://html.spec.whatwg.org/#convert-a-list-of-dimensions-to-a-list-of-pixel-values 56621. https://html.spec.whatwg.org/#frameset 56622. https://drafts.csswg.org/css-values/#px 56623. https://drafts.csswg.org/css-values/#px 56624. https://drafts.csswg.org/css-values/#px 56625. https://html.spec.whatwg.org/#frame 56626. https://html.spec.whatwg.org/#frameset 56627. https://dom.spec.whatwg.org/#concept-tree-child 56628. https://html.spec.whatwg.org/#frameset 56629. https://html.spec.whatwg.org/#frameset 56630. https://html.spec.whatwg.org/#frameset 56631. https://html.spec.whatwg.org/#frameset 56632. https://html.spec.whatwg.org/#frame 56633. https://html.spec.whatwg.org/#content-navigable 56634. https://html.spec.whatwg.org/#frameset 56635. https://html.spec.whatwg.org/#has-a-border 56636. https://html.spec.whatwg.org/#frame-border-colour 56637. https://html.spec.whatwg.org/#has-a-border 56638. https://html.spec.whatwg.org/#frame-border-colour 56639. https://html.spec.whatwg.org/#frame 56640. https://html.spec.whatwg.org/#frameset 56641. https://html.spec.whatwg.org/#frameset 56642. https://html.spec.whatwg.org/#frameset 56643. https://html.spec.whatwg.org/#frame 56644. https://html.spec.whatwg.org/#frameset 56645. https://html.spec.whatwg.org/#has-a-border 56646. https://html.spec.whatwg.org/#frameset 56647. https://html.spec.whatwg.org/#frame 56648. https://html.spec.whatwg.org/#rules-for-parsing-a-legacy-colour-value 56649. https://html.spec.whatwg.org/#frameset 56650. https://html.spec.whatwg.org/#frame-border-colour 56651. https://html.spec.whatwg.org/#frame 56652. https://html.spec.whatwg.org/#frameset 56653. https://drafts.csswg.org/css-color/#transparent-black 56654. https://html.spec.whatwg.org/#content-navigable 56655. https://html.spec.whatwg.org/#content-navigable 56656. https://drafts.csswg.org/css2/#viewport 56657. https://html.spec.whatwg.org/#hyperlink 56658. https://html.spec.whatwg.org/#form-submission-2 56659. https://html.spec.whatwg.org/#navigable 56660. https://html.spec.whatwg.org/#navigate 56661. https://html.spec.whatwg.org/#hyperlink 56662. https://html.spec.whatwg.org/#the-form-element 56663. https://html.spec.whatwg.org/#navigate 56664. https://html.spec.whatwg.org/#hyperlink 56665. https://html.spec.whatwg.org/#hyperlink-auditing 56666. https://html.spec.whatwg.org/#navigate 56667. https://html.spec.whatwg.org/#navigable 56668. https://html.spec.whatwg.org/#encoding-parsing-a-url 56669. https://html.spec.whatwg.org/#the-q-element 56670. https://html.spec.whatwg.org/#the-blockquote-element 56671. https://html.spec.whatwg.org/#the-ins-element 56672. https://html.spec.whatwg.org/#the-del-element 56673. https://html.spec.whatwg.org/#hyperlink 56674. https://html.spec.whatwg.org/#the-link-element 56675. https://html.spec.whatwg.org/#providing-users-with-a-means-to-follow-hyperlinks-created-using-the-link-element 56676. https://html.spec.whatwg.org/#attr-title 56677. https://html.spec.whatwg.org/#advisory-information 56678. https://html.spec.whatwg.org/#focusable-area 56679. https://html.spec.whatwg.org/#advisory-information 56680. https://html.spec.whatwg.org/#focused 56681. https://html.spec.whatwg.org/#advisory-information 56682. https://html.spec.whatwg.org/#attr-title 56683. https://html.spec.whatwg.org/#focusable 56684. https://html.spec.whatwg.org/#focused 56685. https://html.spec.whatwg.org/#attr-title 56686. https://w3c.github.io/editing/docs/execCommand/#active-range 56687. https://html.spec.whatwg.org/#editing-host 56688. https://drafts.csswg.org/css-display/#replaced-element 56689. https://drafts.csswg.org/css2/#collapsing-margins 56690. https://html.spec.whatwg.org/#the-directionality 56691. https://html.spec.whatwg.org/#directionality-of-the-attribute 56692. https://html.spec.whatwg.org/#the-select-element 56693. https://html.spec.whatwg.org/#attr-dir 56694. https://html.spec.whatwg.org/#attr-th-abbr 56695. https://html.spec.whatwg.org/#directionality-capable-attribute 56696. https://html.spec.whatwg.org/#dom-alert 56697. https://html.spec.whatwg.org/#refsBIDI 56698. https://html.spec.whatwg.org/#document 56699. https://html.spec.whatwg.org/#refsPDF 56700. https://html.spec.whatwg.org/#obtain-a-physical-form 56701. https://html.spec.whatwg.org/#document 56702. https://html.spec.whatwg.org/#document 56703. https://html.spec.whatwg.org/#document 56704. https://html.spec.whatwg.org/#unstyled-document 56705. https://html.spec.whatwg.org/#an-unstyled-document-view 56706. https://html.spec.whatwg.org/#document 56707. https://html.spec.whatwg.org/#document 56708. https://html.spec.whatwg.org/#the-link-element 56709. https://html.spec.whatwg.org/#the-style-element 56710. https://html.spec.whatwg.org/#document 56711. https://html.spec.whatwg.org/#presentational-hints 56712. https://html.spec.whatwg.org/#document 56713. https://drafts.csswg.org/css-style-attr/#style-attribute 56714. https://html.spec.whatwg.org/#document 56715. https://infra.spec.whatwg.org/#html-namespace 56716. https://infra.spec.whatwg.org/#svg-namespace 56717. https://infra.spec.whatwg.org/#mathml-namespace 56718. https://html.spec.whatwg.org/#document 56719. https://html.spec.whatwg.org/#focusable-area 56720. https://drafts.csswg.org/css2/#viewport 56721. https://html.spec.whatwg.org/#document 56722. https://html.spec.whatwg.org/#hyperlink 56723. https://html.spec.whatwg.org/#concept-script 56724. https://html.spec.whatwg.org/#settings-object 56725. https://html.spec.whatwg.org/#concept-settings-object-global 56726. https://html.spec.whatwg.org/#window 56727. https://html.spec.whatwg.org/#document 56728. https://html.spec.whatwg.org/#concept-document-window 56729. https://html.spec.whatwg.org/#document 56730. https://html.spec.whatwg.org/#document 56731. https://html.spec.whatwg.org/#document 56732. https://html.spec.whatwg.org/#unstyled-document 56733. https://html.spec.whatwg.org/#attr-img-border 56734. https://html.spec.whatwg.org/#the-img-element 56735. https://html.spec.whatwg.org/#attr-script-charset 56736. https://html.spec.whatwg.org/#the-script-element 56737. https://infra.spec.whatwg.org/#ascii-case-insensitive 56738. https://encoding.spec.whatwg.org/#utf-8 56739. https://html.spec.whatwg.org/#attr-script-language 56740. https://html.spec.whatwg.org/#the-script-element 56741. https://infra.spec.whatwg.org/#ascii-case-insensitive 56742. https://html.spec.whatwg.org/#attr-script-type 56743. https://infra.spec.whatwg.org/#ascii-case-insensitive 56744. https://html.spec.whatwg.org/#attr-script-type 56745. https://html.spec.whatwg.org/#attr-script-type 56746. https://html.spec.whatwg.org/#the-script-element 56747. https://mimesniff.spec.whatwg.org/#javascript-mime-type-essence-match 56748. https://html.spec.whatwg.org/#attr-style-type 56749. https://html.spec.whatwg.org/#the-style-element 56750. https://infra.spec.whatwg.org/#ascii-case-insensitive 56751. https://html.spec.whatwg.org/#text/css 56752. https://html.spec.whatwg.org/#attr-a-name 56753. https://html.spec.whatwg.org/#the-a-element 56754. https://dom.spec.whatwg.org/#concept-id 56755. https://dom.spec.whatwg.org/#concept-tree 56756. https://dom.spec.whatwg.org/#concept-id 56757. https://html.spec.whatwg.org/#attr-a-name 56758. https://html.spec.whatwg.org/#the-a-element 56759. https://dom.spec.whatwg.org/#concept-tree 56760. https://dom.spec.whatwg.org/#concept-id 56761. https://dom.spec.whatwg.org/#concept-id 56762. https://url.spec.whatwg.org/#concept-url-fragment 56763. https://url.spec.whatwg.org/#concept-url 56764. https://html.spec.whatwg.org/#the-id-attribute 56765. https://html.spec.whatwg.org/#attr-input-maxlength 56766. https://html.spec.whatwg.org/#attr-input-size 56767. https://html.spec.whatwg.org/#the-input-element 56768. https://html.spec.whatwg.org/#attr-input-type 56769. https://html.spec.whatwg.org/#number-state-(type=number) 56770. https://html.spec.whatwg.org/#the-input-element 56771. https://html.spec.whatwg.org/#attr-img-border 56772. https://html.spec.whatwg.org/#the-img-element 56773. https://html.spec.whatwg.org/#attr-script-charset 56774. https://html.spec.whatwg.org/#the-script-element 56775. https://infra.spec.whatwg.org/#ascii-case-insensitive 56776. https://html.spec.whatwg.org/#attr-script-language 56777. https://html.spec.whatwg.org/#the-script-element 56778. https://infra.spec.whatwg.org/#ascii-case-insensitive 56779. https://html.spec.whatwg.org/#attr-script-type 56780. https://infra.spec.whatwg.org/#ascii-case-insensitive 56781. https://html.spec.whatwg.org/#attr-style-type 56782. https://html.spec.whatwg.org/#the-script-element 56783. https://mimesniff.spec.whatwg.org/#javascript-mime-type-essence-match 56784. https://html.spec.whatwg.org/#attr-style-type 56785. https://html.spec.whatwg.org/#the-style-element 56786. https://infra.spec.whatwg.org/#ascii-case-insensitive 56787. https://html.spec.whatwg.org/#text/css 56788. https://html.spec.whatwg.org/#attr-a-name 56789. https://html.spec.whatwg.org/#the-a-element 56790. https://html.spec.whatwg.org/#attr-input-maxlength 56791. https://html.spec.whatwg.org/#the-input-element 56792. https://html.spec.whatwg.org/#attr-input-type 56793. https://html.spec.whatwg.org/#number-state-(type=number) 56794. https://html.spec.whatwg.org/#attr-input-size 56795. https://html.spec.whatwg.org/#the-input-element 56796. https://html.spec.whatwg.org/#attr-input-type 56797. https://html.spec.whatwg.org/#number-state-(type=number) 56798. https://html.spec.whatwg.org/#the-embed-element 56799. https://html.spec.whatwg.org/#the-object-element 56800. https://html.spec.whatwg.org/#the-abbr-element 56801. https://html.spec.whatwg.org/#the-audio-element 56802. https://html.spec.whatwg.org/#the-ul-element 56803. https://html.spec.whatwg.org/#frame 56804. https://html.spec.whatwg.org/#frameset 56805. https://html.spec.whatwg.org/#the-iframe-element 56806. https://html.spec.whatwg.org/#the-form-element 56807. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 56808. https://html.spec.whatwg.org/#refsWEBCRYPTO 56809. https://html.spec.whatwg.org/#the-pre-element 56810. https://html.spec.whatwg.org/#the-code-element 56811. https://w3c.github.io/uievents/#event-type-contextmenu 56812. https://html.spec.whatwg.org/#the-object-element 56813. https://html.spec.whatwg.org/#the-embed-element 56814. https://html.spec.whatwg.org/#attr-object-data 56815. https://html.spec.whatwg.org/#the-object-element 56816. https://www.rfc-editor.org/rfc/rfc2046#section-4.1.3 56817. https://mimesniff.spec.whatwg.org/#mime-type 56818. https://html.spec.whatwg.org/#the-ruby-element 56819. https://html.spec.whatwg.org/#the-ruby-element 56820. https://html.spec.whatwg.org/#the-del-element 56821. https://html.spec.whatwg.org/#the-s-element 56822. https://html.spec.whatwg.org/#the-pre-element 56823. https://html.spec.whatwg.org/#the-code-element 56824. https://html.spec.whatwg.org/#the-marquee-element 56825. https://html.spec.whatwg.org/#tt 56826. https://html.spec.whatwg.org/#the-kbd-element 56827. https://html.spec.whatwg.org/#the-var-element 56828. https://html.spec.whatwg.org/#the-code-element 56829. https://html.spec.whatwg.org/#the-samp-element 56830. https://html.spec.whatwg.org/#big 56831. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 56832. https://html.spec.whatwg.org/#the-strong-element 56833. https://html.spec.whatwg.org/#the-mark-element 56834. https://html.spec.whatwg.org/#usage-summary 56835. https://html.spec.whatwg.org/#the-a-element 56836. https://html.spec.whatwg.org/#the-link-element 56837. https://html.spec.whatwg.org/#content-type 56838. https://html.spec.whatwg.org/#the-script-element 56839. https://encoding.spec.whatwg.org/#utf-8 56840. https://html.spec.whatwg.org/#the-script-element 56841. https://html.spec.whatwg.org/#the-a-element 56842. https://html.spec.whatwg.org/#the-a-element 56843. https://html.spec.whatwg.org/#the-area-element 56844. https://html.spec.whatwg.org/#the-a-element 56845. https://html.spec.whatwg.org/#the-a-element 56846. https://html.spec.whatwg.org/#the-link-element 56847. https://html.spec.whatwg.org/#the-a-element 56848. https://html.spec.whatwg.org/#the-embed-element 56849. https://html.spec.whatwg.org/#the-img-element 56850. https://html.spec.whatwg.org/#the-option-element 56851. https://html.spec.whatwg.org/#the-id-attribute 56852. https://html.spec.whatwg.org/#the-a-element 56853. https://html.spec.whatwg.org/#the-link-element 56854. https://html.spec.whatwg.org/#attr-hyperlink-rel 56855. https://html.spec.whatwg.org/#the-a-element 56856. https://html.spec.whatwg.org/#the-link-element 56857. https://html.spec.whatwg.org/#attr-hyperlink-href 56858. https://html.spec.whatwg.org/#the-form-element 56859. https://html.spec.whatwg.org/#attr-input-accept 56860. https://html.spec.whatwg.org/#the-input-element 56861. https://html.spec.whatwg.org/#the-area-element 56862. https://html.spec.whatwg.org/#the-area-element 56863. https://html.spec.whatwg.org/#the-area-element 56864. https://html.spec.whatwg.org/#the-area-element 56865. https://html.spec.whatwg.org/#attr-hyperlink-href 56866. https://html.spec.whatwg.org/#attr-area-nohref 56867. https://html.spec.whatwg.org/#the-head-element 56868. https://html.spec.whatwg.org/#the-html-element 56869. https://html.spec.whatwg.org/#refsSW 56870. https://html.spec.whatwg.org/#the-html-element 56871. https://html.spec.whatwg.org/#the-input-element 56872. https://html.spec.whatwg.org/#the-input-element 56873. https://html.spec.whatwg.org/#attr-input-type 56874. https://html.spec.whatwg.org/#image-button-state-(type=image) 56875. https://html.spec.whatwg.org/#the-input-element 56876. https://html.spec.whatwg.org/#the-object-element 56877. https://html.spec.whatwg.org/#the-img-element 56878. https://html.spec.whatwg.org/#the-iframe-element 56879. https://html.spec.whatwg.org/#the-img-element 56880. https://html.spec.whatwg.org/#the-a-element 56881. https://html.spec.whatwg.org/#image-map 56882. https://html.spec.whatwg.org/#the-img-element 56883. https://html.spec.whatwg.org/#attr-img-src 56884. https://html.spec.whatwg.org/#the-link-element 56885. https://html.spec.whatwg.org/#the-menu-element 56886. https://w3c.github.io/uievents/#event-type-contextmenu 56887. https://html.spec.whatwg.org/#the-menu-element 56888. https://w3c.github.io/uievents/#event-type-contextmenu 56889. https://html.spec.whatwg.org/#the-meta-element 56890. https://html.spec.whatwg.org/#the-object-element 56891. https://html.spec.whatwg.org/#the-object-element 56892. https://html.spec.whatwg.org/#the-object-element 56893. https://html.spec.whatwg.org/#the-object-element 56894. https://html.spec.whatwg.org/#the-object-element 56895. https://html.spec.whatwg.org/#attr-object-data 56896. https://html.spec.whatwg.org/#attr-object-type 56897. https://html.spec.whatwg.org/#plugin 56898. https://html.spec.whatwg.org/#the-object-element 56899. https://html.spec.whatwg.org/#the-object-element 56900. https://html.spec.whatwg.org/#the-object-element 56901. https://html.spec.whatwg.org/#the-object-element 56902. https://html.spec.whatwg.org/#the-object-element 56903. https://html.spec.whatwg.org/#the-script-element 56904. https://html.spec.whatwg.org/#data-block 56905. https://html.spec.whatwg.org/#attr-script-type 56906. https://html.spec.whatwg.org/#the-script-element 56907. https://html.spec.whatwg.org/#the-script-element 56908. https://html.spec.whatwg.org/#refsDOM 56909. https://html.spec.whatwg.org/#the-style-element 56910. https://html.spec.whatwg.org/#data-block 56911. https://html.spec.whatwg.org/#the-script-element 56912. https://html.spec.whatwg.org/#the-style-element 56913. https://html.spec.whatwg.org/#the-table-element 56914. https://html.spec.whatwg.org/#the-table-element 56915. https://html.spec.whatwg.org/#table-descriptions-techniques 56916. https://html.spec.whatwg.org/#the-table-element 56917. https://html.spec.whatwg.org/#the-td-element 56918. https://html.spec.whatwg.org/#attr-title 56919. https://html.spec.whatwg.org/#the-th-element 56920. https://html.spec.whatwg.org/#attr-th-abbr 56921. https://html.spec.whatwg.org/#the-td-element 56922. https://html.spec.whatwg.org/#the-th-element 56923. https://html.spec.whatwg.org/#attr-th-scope 56924. https://html.spec.whatwg.org/#the-th-element 56925. https://html.spec.whatwg.org/#the-td-element 56926. https://html.spec.whatwg.org/#the-th-element 56927. https://html.spec.whatwg.org/#the-a-element 56928. https://html.spec.whatwg.org/#the-button-element 56929. https://html.spec.whatwg.org/#the-div-element 56930. https://html.spec.whatwg.org/#frame 56931. https://html.spec.whatwg.org/#the-iframe-element 56932. https://html.spec.whatwg.org/#the-img-element 56933. https://html.spec.whatwg.org/#the-input-element 56934. https://html.spec.whatwg.org/#the-label-element 56935. https://html.spec.whatwg.org/#the-legend-element 56936. https://html.spec.whatwg.org/#the-marquee-element 56937. https://html.spec.whatwg.org/#the-object-element 56938. https://html.spec.whatwg.org/#the-option-element 56939. https://html.spec.whatwg.org/#the-select-element 56940. https://html.spec.whatwg.org/#the-span-element 56941. https://html.spec.whatwg.org/#the-table-element 56942. https://html.spec.whatwg.org/#the-textarea-element 56943. https://html.spec.whatwg.org/#the-a-element 56944. https://html.spec.whatwg.org/#the-button-element 56945. https://html.spec.whatwg.org/#the-div-element 56946. https://html.spec.whatwg.org/#the-fieldset-element 56947. https://html.spec.whatwg.org/#frame 56948. https://html.spec.whatwg.org/#the-iframe-element 56949. https://html.spec.whatwg.org/#the-img-element 56950. https://html.spec.whatwg.org/#the-input-element 56951. https://html.spec.whatwg.org/#the-label-element 56952. https://html.spec.whatwg.org/#the-legend-element 56953. https://html.spec.whatwg.org/#the-marquee-element 56954. https://html.spec.whatwg.org/#the-object-element 56955. https://html.spec.whatwg.org/#the-select-element 56956. https://html.spec.whatwg.org/#the-span-element 56957. https://html.spec.whatwg.org/#the-textarea-element 56958. https://html.spec.whatwg.org/#the-button-element 56959. https://html.spec.whatwg.org/#the-div-element 56960. https://html.spec.whatwg.org/#the-input-element 56961. https://html.spec.whatwg.org/#the-label-element 56962. https://html.spec.whatwg.org/#the-legend-element 56963. https://html.spec.whatwg.org/#the-marquee-element 56964. https://html.spec.whatwg.org/#the-object-element 56965. https://html.spec.whatwg.org/#the-option-element 56966. https://html.spec.whatwg.org/#the-select-element 56967. https://html.spec.whatwg.org/#the-span-element 56968. https://html.spec.whatwg.org/#the-table-element 56969. https://xhr.spec.whatwg.org/#xmlhttprequest 56970. https://html.spec.whatwg.org/#refsXHR 56971. https://html.spec.whatwg.org/#event-dnd-dragenter 56972. https://html.spec.whatwg.org/#event-dnd-dragover 56973. https://html.spec.whatwg.org/#the-body-element 56974. https://html.spec.whatwg.org/#the-body-element 56975. https://html.spec.whatwg.org/#the-body-element 56976. https://html.spec.whatwg.org/#the-body-element 56977. https://html.spec.whatwg.org/#the-body-element 56978. https://html.spec.whatwg.org/#the-body-element 56979. https://html.spec.whatwg.org/#the-body-element 56980. https://html.spec.whatwg.org/#the-body-element 56981. https://html.spec.whatwg.org/#the-body-element 56982. https://html.spec.whatwg.org/#the-body-element 56983. https://html.spec.whatwg.org/#the-body-element 56984. https://html.spec.whatwg.org/#the-br-element 56985. https://html.spec.whatwg.org/#the-caption-element 56986. https://html.spec.whatwg.org/#the-col-element 56987. https://html.spec.whatwg.org/#the-col-element 56988. https://html.spec.whatwg.org/#the-col-element 56989. https://html.spec.whatwg.org/#the-col-element 56990. https://html.spec.whatwg.org/#the-col-element 56991. https://html.spec.whatwg.org/#the-div-element 56992. https://html.spec.whatwg.org/#the-dl-element 56993. https://html.spec.whatwg.org/#the-embed-element 56994. https://html.spec.whatwg.org/#the-embed-element 56995. https://html.spec.whatwg.org/#the-embed-element 56996. https://html.spec.whatwg.org/#the-hr-element 56997. https://html.spec.whatwg.org/#the-hr-element 56998. https://html.spec.whatwg.org/#the-hr-element 56999. https://html.spec.whatwg.org/#the-hr-element 57000. https://html.spec.whatwg.org/#the-hr-element 57001. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 57002. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 57003. https://html.spec.whatwg.org/#the-iframe-element 57004. https://html.spec.whatwg.org/#the-iframe-element 57005. https://html.spec.whatwg.org/#the-iframe-element 57006. https://html.spec.whatwg.org/#the-iframe-element 57007. https://html.spec.whatwg.org/#the-iframe-element 57008. https://html.spec.whatwg.org/#the-iframe-element 57009. https://html.spec.whatwg.org/#the-iframe-element 57010. https://html.spec.whatwg.org/#the-iframe-element 57011. https://html.spec.whatwg.org/#the-iframe-element 57012. https://html.spec.whatwg.org/#the-input-element 57013. https://html.spec.whatwg.org/#the-input-element 57014. https://html.spec.whatwg.org/#the-input-element 57015. https://html.spec.whatwg.org/#the-input-element 57016. https://html.spec.whatwg.org/#the-img-element 57017. https://html.spec.whatwg.org/#the-img-element 57018. https://html.spec.whatwg.org/#the-img-element 57019. https://html.spec.whatwg.org/#the-img-element 57020. https://html.spec.whatwg.org/#the-legend-element 57021. https://html.spec.whatwg.org/#the-li-element 57022. https://html.spec.whatwg.org/#the-menu-element 57023. https://html.spec.whatwg.org/#the-object-element 57024. https://html.spec.whatwg.org/#the-object-element 57025. https://html.spec.whatwg.org/#the-object-element 57026. https://html.spec.whatwg.org/#the-object-element 57027. https://html.spec.whatwg.org/#the-ol-element 57028. https://html.spec.whatwg.org/#the-p-element 57029. https://html.spec.whatwg.org/#the-pre-element 57030. https://html.spec.whatwg.org/#the-table-element 57031. https://html.spec.whatwg.org/#the-table-element 57032. https://html.spec.whatwg.org/#the-table-element 57033. https://html.spec.whatwg.org/#the-table-element 57034. https://html.spec.whatwg.org/#the-table-element 57035. https://html.spec.whatwg.org/#the-table-element 57036. https://html.spec.whatwg.org/#the-table-element 57037. https://html.spec.whatwg.org/#the-table-element 57038. https://html.spec.whatwg.org/#the-table-element 57039. https://html.spec.whatwg.org/#the-table-element 57040. https://html.spec.whatwg.org/#the-tbody-element 57041. https://html.spec.whatwg.org/#the-thead-element 57042. https://html.spec.whatwg.org/#the-tfoot-element 57043. https://html.spec.whatwg.org/#the-tbody-element 57044. https://html.spec.whatwg.org/#the-thead-element 57045. https://html.spec.whatwg.org/#the-tfoot-element 57046. https://html.spec.whatwg.org/#the-tbody-element 57047. https://html.spec.whatwg.org/#the-thead-element 57048. https://html.spec.whatwg.org/#the-tfoot-element 57049. https://html.spec.whatwg.org/#the-thead-element 57050. https://html.spec.whatwg.org/#the-tbody-element 57051. https://html.spec.whatwg.org/#the-tfoot-element 57052. https://html.spec.whatwg.org/#the-tbody-element 57053. https://html.spec.whatwg.org/#the-thead-element 57054. https://html.spec.whatwg.org/#the-tfoot-element 57055. https://html.spec.whatwg.org/#the-td-element 57056. https://html.spec.whatwg.org/#the-th-element 57057. https://html.spec.whatwg.org/#the-td-element 57058. https://html.spec.whatwg.org/#the-th-element 57059. https://html.spec.whatwg.org/#the-td-element 57060. https://html.spec.whatwg.org/#the-th-element 57061. https://html.spec.whatwg.org/#the-td-element 57062. https://html.spec.whatwg.org/#the-th-element 57063. https://html.spec.whatwg.org/#the-td-element 57064. https://html.spec.whatwg.org/#the-th-element 57065. https://html.spec.whatwg.org/#the-td-element 57066. https://html.spec.whatwg.org/#the-th-element 57067. https://html.spec.whatwg.org/#the-td-element 57068. https://html.spec.whatwg.org/#the-th-element 57069. https://html.spec.whatwg.org/#the-td-element 57070. https://html.spec.whatwg.org/#the-th-element 57071. https://html.spec.whatwg.org/#the-tr-element 57072. https://html.spec.whatwg.org/#the-tr-element 57073. https://html.spec.whatwg.org/#the-tr-element 57074. https://html.spec.whatwg.org/#the-tr-element 57075. https://html.spec.whatwg.org/#the-tr-element 57076. https://html.spec.whatwg.org/#the-tr-element 57077. https://html.spec.whatwg.org/#the-ul-element 57078. https://html.spec.whatwg.org/#the-ul-element 57079. https://html.spec.whatwg.org/#the-body-element 57080. https://html.spec.whatwg.org/#the-table-element 57081. https://html.spec.whatwg.org/#the-thead-element 57082. https://html.spec.whatwg.org/#the-tbody-element 57083. https://html.spec.whatwg.org/#the-tfoot-element 57084. https://html.spec.whatwg.org/#the-tr-element 57085. https://html.spec.whatwg.org/#the-td-element 57086. https://html.spec.whatwg.org/#the-th-element 57087. https://html.spec.whatwg.org/#the-marquee-element 57088. https://html.spec.whatwg.org/#refsCSSANIMATIONS 57089. https://html.spec.whatwg.org/#refsCSSTRANSITIONS 57090. https://html.spec.whatwg.org/#the-marquee-element 57091. https://html.spec.whatwg.org/#htmlmarqueeelement 57092. https://html.spec.whatwg.org/#htmlelement 57093. https://html.spec.whatwg.org/#htmlconstructor 57094. https://html.spec.whatwg.org/#cereactions 57095. https://html.spec.whatwg.org/#dom-marquee-behavior 57096. https://html.spec.whatwg.org/#cereactions 57097. https://html.spec.whatwg.org/#dom-marquee-bgcolor 57098. https://html.spec.whatwg.org/#cereactions 57099. https://html.spec.whatwg.org/#dom-marquee-direction 57100. https://html.spec.whatwg.org/#cereactions 57101. https://html.spec.whatwg.org/#dom-marquee-height 57102. https://html.spec.whatwg.org/#cereactions 57103. https://html.spec.whatwg.org/#dom-marquee-hspace 57104. https://html.spec.whatwg.org/#cereactions 57105. https://html.spec.whatwg.org/#dom-marquee-loop 57106. https://html.spec.whatwg.org/#cereactions 57107. https://html.spec.whatwg.org/#dom-marquee-scrollamount 57108. https://html.spec.whatwg.org/#cereactions 57109. https://html.spec.whatwg.org/#dom-marquee-scrolldelay 57110. https://html.spec.whatwg.org/#cereactions 57111. https://html.spec.whatwg.org/#dom-marquee-truespeed 57112. https://html.spec.whatwg.org/#cereactions 57113. https://html.spec.whatwg.org/#dom-marquee-vspace 57114. https://html.spec.whatwg.org/#cereactions 57115. https://html.spec.whatwg.org/#dom-marquee-width 57116. https://html.spec.whatwg.org/#dom-marquee-start 57117. https://html.spec.whatwg.org/#dom-marquee-stop 57118. https://html.spec.whatwg.org/#the-marquee-element 57119. https://html.spec.whatwg.org/#concept-marquee-on 57120. https://html.spec.whatwg.org/#the-marquee-element 57121. https://html.spec.whatwg.org/#concept-marquee-on 57122. https://html.spec.whatwg.org/#the-marquee-element 57123. https://html.spec.whatwg.org/#concept-marquee-off 57124. https://html.spec.whatwg.org/#the-marquee-element 57125. https://html.spec.whatwg.org/#enumerated-attribute 57126. https://html.spec.whatwg.org/#missing-value-default 57127. https://html.spec.whatwg.org/#invalid-value-default 57128. https://html.spec.whatwg.org/#attr-marquee-behavior-scroll 57129. https://html.spec.whatwg.org/#the-marquee-element 57130. https://html.spec.whatwg.org/#enumerated-attribute 57131. https://html.spec.whatwg.org/#missing-value-default 57132. https://html.spec.whatwg.org/#invalid-value-default 57133. https://html.spec.whatwg.org/#attr-marquee-direction-left 57134. https://html.spec.whatwg.org/#the-marquee-element 57135. https://html.spec.whatwg.org/#boolean-attribute 57136. https://html.spec.whatwg.org/#the-marquee-element 57137. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 57138. https://html.spec.whatwg.org/#attr-marquee-truespeed 57139. https://html.spec.whatwg.org/#marquee-scroll-interval 57140. https://html.spec.whatwg.org/#the-marquee-element 57141. https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers 57142. https://drafts.csswg.org/css-values/#px 57143. https://drafts.csswg.org/css-values/#px 57144. https://html.spec.whatwg.org/#the-marquee-element 57145. https://html.spec.whatwg.org/#rules-for-parsing-integers 57146. https://html.spec.whatwg.org/#marquee-loop-count 57147. https://html.spec.whatwg.org/#marquee-loop-count 57148. https://html.spec.whatwg.org/#attr-marquee-loop 57149. https://html.spec.whatwg.org/#valid-integer 57150. https://html.spec.whatwg.org/#the-marquee-element 57151. https://html.spec.whatwg.org/#marquee-loop-count 57152. https://html.spec.whatwg.org/#marquee-current-loop-index 57153. https://html.spec.whatwg.org/#marquee-current-loop-index 57154. https://html.spec.whatwg.org/#marquee-loop-count 57155. https://html.spec.whatwg.org/#concept-marquee-off 57156. https://html.spec.whatwg.org/#the-marquee-element 57157. https://html.spec.whatwg.org/#reflect 57158. https://html.spec.whatwg.org/#reflect 57159. https://html.spec.whatwg.org/#reflect 57160. https://html.spec.whatwg.org/#default-value 57161. https://html.spec.whatwg.org/#reflect 57162. https://html.spec.whatwg.org/#default-value 57163. https://html.spec.whatwg.org/#reflect 57164. https://html.spec.whatwg.org/#attr-marquee-truespeed 57165. https://html.spec.whatwg.org/#the-body-element-2 57166. https://html.spec.whatwg.org/#frameset 57167. https://html.spec.whatwg.org/#htmlframesetelement 57168. https://html.spec.whatwg.org/#htmlelement 57169. https://html.spec.whatwg.org/#htmlconstructor 57170. https://html.spec.whatwg.org/#cereactions 57171. https://html.spec.whatwg.org/#dom-frameset-cols 57172. https://html.spec.whatwg.org/#cereactions 57173. https://html.spec.whatwg.org/#dom-frameset-rows 57174. https://html.spec.whatwg.org/#htmlframesetelement 57175. https://html.spec.whatwg.org/#windoweventhandlers 57176. https://html.spec.whatwg.org/#frameset 57177. https://html.spec.whatwg.org/#reflect 57178. https://html.spec.whatwg.org/#frameset 57179. https://html.spec.whatwg.org/#event-handler-content-attributes 57180. https://html.spec.whatwg.org/#event-handlers 57181. https://html.spec.whatwg.org/#window 57182. https://html.spec.whatwg.org/#event-handler-idl-attributes 57183. https://html.spec.whatwg.org/#event-handlers 57184. https://html.spec.whatwg.org/#window 57185. https://html.spec.whatwg.org/#window-reflecting-body-element-event-handler-set 57186. https://html.spec.whatwg.org/#frameset 57187. https://html.spec.whatwg.org/#event-handlers 57188. https://html.spec.whatwg.org/#html-elements 57189. https://html.spec.whatwg.org/#content-navigable 57190. https://html.spec.whatwg.org/#the-iframe-element 57191. https://html.spec.whatwg.org/#frameset 57192. https://html.spec.whatwg.org/#frame 57193. https://html.spec.whatwg.org/#html-element-insertion-steps 57194. https://dom.spec.whatwg.org/#in-a-document-tree 57195. https://dom.spec.whatwg.org/#concept-tree-root 57196. https://html.spec.whatwg.org/#concept-document-bc 57197. https://html.spec.whatwg.org/#create-a-new-child-navigable 57198. https://html.spec.whatwg.org/#process-the-frame-attributes 57199. https://html.spec.whatwg.org/#process-frame-initial-insertion 57200. https://html.spec.whatwg.org/#frame 57201. https://html.spec.whatwg.org/#html-element-removing-steps 57202. https://html.spec.whatwg.org/#destroy-a-child-navigable 57203. https://html.spec.whatwg.org/#frame 57204. https://html.spec.whatwg.org/#content-navigable 57205. https://html.spec.whatwg.org/#process-the-frame-attributes 57206. https://html.spec.whatwg.org/#shared-attribute-processing-steps-for-iframe-and-frame-elements 57207. https://html.spec.whatwg.org/#matches-about:blank 57208. https://dom.spec.whatwg.org/#concept-event-fire 57209. https://html.spec.whatwg.org/#event-load 57210. https://html.spec.whatwg.org/#navigate-an-iframe-or-frame 57211. https://html.spec.whatwg.org/#frame 57212. https://html.spec.whatwg.org/#potentially-delays-the-load-event 57213. https://html.spec.whatwg.org/#frame 57214. https://html.spec.whatwg.org/#htmlframeelement 57215. https://html.spec.whatwg.org/#htmlelement 57216. https://html.spec.whatwg.org/#htmlconstructor 57217. https://html.spec.whatwg.org/#cereactions 57218. https://html.spec.whatwg.org/#dom-frame-name 57219. https://html.spec.whatwg.org/#cereactions 57220. https://html.spec.whatwg.org/#dom-frame-scrolling 57221. https://html.spec.whatwg.org/#cereactions 57222. https://html.spec.whatwg.org/#dom-frame-src 57223. https://html.spec.whatwg.org/#cereactions 57224. https://html.spec.whatwg.org/#dom-frame-frameborder 57225. https://html.spec.whatwg.org/#cereactions 57226. https://html.spec.whatwg.org/#dom-frame-longdesc 57227. https://html.spec.whatwg.org/#cereactions 57228. https://html.spec.whatwg.org/#dom-frame-noresize 57229. https://html.spec.whatwg.org/#document 57230. https://html.spec.whatwg.org/#dom-frame-contentdocument 57231. https://html.spec.whatwg.org/#windowproxy 57232. https://html.spec.whatwg.org/#dom-frame-contentwindow 57233. https://html.spec.whatwg.org/#cereactions 57234. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57235. https://html.spec.whatwg.org/#dom-frame-marginheight 57236. https://html.spec.whatwg.org/#cereactions 57237. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57238. https://html.spec.whatwg.org/#dom-frame-marginwidth 57239. https://html.spec.whatwg.org/#frame 57240. https://html.spec.whatwg.org/#reflect 57241. https://html.spec.whatwg.org/#frame 57242. https://url.spec.whatwg.org/#concept-url 57243. https://html.spec.whatwg.org/#frame 57244. https://html.spec.whatwg.org/#reflect 57245. https://html.spec.whatwg.org/#frame 57246. https://html.spec.whatwg.org/#reflect 57247. https://url.spec.whatwg.org/#concept-url 57248. https://html.spec.whatwg.org/#frame 57249. https://html.spec.whatwg.org/#reflect 57250. https://html.spec.whatwg.org/#frame 57251. https://html.spec.whatwg.org/#reflect 57252. https://html.spec.whatwg.org/#frame 57253. https://html.spec.whatwg.org/#reflect 57254. https://webidl.spec.whatwg.org/#this 57255. https://html.spec.whatwg.org/#concept-bcc-content-document 57256. https://webidl.spec.whatwg.org/#this 57257. https://html.spec.whatwg.org/#content-window 57258. https://html.spec.whatwg.org/#acronym 57259. https://html.spec.whatwg.org/#the-abbr-element 57260. https://html.spec.whatwg.org/#htmlanchorelement 57261. https://html.spec.whatwg.org/#cereactions 57262. https://html.spec.whatwg.org/#dom-a-coords 57263. https://html.spec.whatwg.org/#cereactions 57264. https://html.spec.whatwg.org/#dom-a-charset 57265. https://html.spec.whatwg.org/#cereactions 57266. https://html.spec.whatwg.org/#dom-a-name 57267. https://html.spec.whatwg.org/#cereactions 57268. https://html.spec.whatwg.org/#dom-a-rev 57269. https://html.spec.whatwg.org/#cereactions 57270. https://html.spec.whatwg.org/#dom-a-shape 57271. https://html.spec.whatwg.org/#the-a-element 57272. https://html.spec.whatwg.org/#reflect 57273. https://html.spec.whatwg.org/#htmlareaelement 57274. https://html.spec.whatwg.org/#cereactions 57275. https://html.spec.whatwg.org/#dom-area-nohref 57276. https://html.spec.whatwg.org/#the-area-element 57277. https://html.spec.whatwg.org/#reflect 57278. https://html.spec.whatwg.org/#attr-area-nohref 57279. https://html.spec.whatwg.org/#htmlbodyelement 57280. https://html.spec.whatwg.org/#cereactions 57281. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57282. https://html.spec.whatwg.org/#dom-body-text 57283. https://html.spec.whatwg.org/#cereactions 57284. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57285. https://html.spec.whatwg.org/#dom-body-link 57286. https://html.spec.whatwg.org/#cereactions 57287. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57288. https://html.spec.whatwg.org/#dom-body-vlink 57289. https://html.spec.whatwg.org/#cereactions 57290. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57291. https://html.spec.whatwg.org/#dom-body-alink 57292. https://html.spec.whatwg.org/#cereactions 57293. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57294. https://html.spec.whatwg.org/#dom-body-bgcolor 57295. https://html.spec.whatwg.org/#cereactions 57296. https://html.spec.whatwg.org/#dom-body-background 57297. https://html.spec.whatwg.org/#the-body-element 57298. https://html.spec.whatwg.org/#reflect 57299. https://html.spec.whatwg.org/#attr-body-text 57300. https://html.spec.whatwg.org/#the-body-element 57301. https://html.spec.whatwg.org/#reflect 57302. https://html.spec.whatwg.org/#attr-body-link 57303. https://html.spec.whatwg.org/#the-body-element 57304. https://html.spec.whatwg.org/#reflect 57305. https://html.spec.whatwg.org/#attr-body-alink 57306. https://html.spec.whatwg.org/#the-body-element 57307. https://html.spec.whatwg.org/#reflect 57308. https://html.spec.whatwg.org/#attr-body-vlink 57309. https://html.spec.whatwg.org/#the-body-element 57310. https://html.spec.whatwg.org/#reflect 57311. https://html.spec.whatwg.org/#attr-body-bgcolor 57312. https://html.spec.whatwg.org/#the-body-element 57313. https://html.spec.whatwg.org/#reflect 57314. https://html.spec.whatwg.org/#attr-background 57315. https://html.spec.whatwg.org/#attr-background 57316. https://url.spec.whatwg.org/#concept-url 57317. https://html.spec.whatwg.org/#htmlbrelement 57318. https://html.spec.whatwg.org/#cereactions 57319. https://html.spec.whatwg.org/#dom-br-clear 57320. https://html.spec.whatwg.org/#the-br-element 57321. https://html.spec.whatwg.org/#reflect 57322. https://html.spec.whatwg.org/#htmltablecaptionelement 57323. https://html.spec.whatwg.org/#cereactions 57324. https://html.spec.whatwg.org/#dom-caption-align 57325. https://html.spec.whatwg.org/#the-caption-element 57326. https://html.spec.whatwg.org/#reflect 57327. https://html.spec.whatwg.org/#htmltablecolelement 57328. https://html.spec.whatwg.org/#cereactions 57329. https://html.spec.whatwg.org/#dom-col-align 57330. https://html.spec.whatwg.org/#cereactions 57331. https://html.spec.whatwg.org/#dom-col-ch 57332. https://html.spec.whatwg.org/#cereactions 57333. https://html.spec.whatwg.org/#dom-col-choff 57334. https://html.spec.whatwg.org/#cereactions 57335. https://html.spec.whatwg.org/#dom-col-valign 57336. https://html.spec.whatwg.org/#cereactions 57337. https://html.spec.whatwg.org/#dom-col-width 57338. https://html.spec.whatwg.org/#the-col-element 57339. https://html.spec.whatwg.org/#reflect 57340. https://html.spec.whatwg.org/#the-col-element 57341. https://html.spec.whatwg.org/#reflect 57342. https://html.spec.whatwg.org/#attr-col-char 57343. https://html.spec.whatwg.org/#the-col-element 57344. https://html.spec.whatwg.org/#reflect 57345. https://html.spec.whatwg.org/#attr-col-charoff 57346. https://html.spec.whatwg.org/#the-col-element 57347. https://html.spec.whatwg.org/#reflect 57348. https://html.spec.whatwg.org/#attr-col-valign 57349. https://html.spec.whatwg.org/#dir 57350. https://html.spec.whatwg.org/#the-ul-element 57351. https://html.spec.whatwg.org/#dir 57352. https://html.spec.whatwg.org/#htmldirectoryelement 57353. https://html.spec.whatwg.org/#htmlelement 57354. https://html.spec.whatwg.org/#htmlconstructor 57355. https://html.spec.whatwg.org/#cereactions 57356. https://html.spec.whatwg.org/#dom-dir-compact 57357. https://html.spec.whatwg.org/#dir 57358. https://html.spec.whatwg.org/#reflect 57359. https://html.spec.whatwg.org/#htmldivelement 57360. https://html.spec.whatwg.org/#cereactions 57361. https://html.spec.whatwg.org/#dom-div-align 57362. https://html.spec.whatwg.org/#the-div-element 57363. https://html.spec.whatwg.org/#reflect 57364. https://html.spec.whatwg.org/#htmldlistelement 57365. https://html.spec.whatwg.org/#cereactions 57366. https://html.spec.whatwg.org/#dom-dl-compact 57367. https://html.spec.whatwg.org/#the-dl-element 57368. https://html.spec.whatwg.org/#reflect 57369. https://html.spec.whatwg.org/#htmlembedelement 57370. https://html.spec.whatwg.org/#cereactions 57371. https://html.spec.whatwg.org/#dom-embed-align 57372. https://html.spec.whatwg.org/#cereactions 57373. https://html.spec.whatwg.org/#dom-embed-name 57374. https://html.spec.whatwg.org/#the-embed-element 57375. https://html.spec.whatwg.org/#reflect 57376. https://html.spec.whatwg.org/#font 57377. https://html.spec.whatwg.org/#htmlfontelement 57378. https://html.spec.whatwg.org/#htmlelement 57379. https://html.spec.whatwg.org/#htmlconstructor 57380. https://html.spec.whatwg.org/#cereactions 57381. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57382. https://html.spec.whatwg.org/#dom-font-color 57383. https://html.spec.whatwg.org/#cereactions 57384. https://html.spec.whatwg.org/#dom-font-face 57385. https://html.spec.whatwg.org/#cereactions 57386. https://html.spec.whatwg.org/#dom-font-size 57387. https://html.spec.whatwg.org/#font 57388. https://html.spec.whatwg.org/#reflect 57389. https://html.spec.whatwg.org/#htmlheadingelement 57390. https://html.spec.whatwg.org/#cereactions 57391. https://html.spec.whatwg.org/#dom-hx-align 57392. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 57393. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 57394. https://html.spec.whatwg.org/#reflect 57395. https://html.spec.whatwg.org/#the-head-element 57396. https://html.spec.whatwg.org/#htmlheadelement 57397. https://html.spec.whatwg.org/#other-applicable-specifications 57398. https://html.spec.whatwg.org/#htmlhrelement 57399. https://html.spec.whatwg.org/#cereactions 57400. https://html.spec.whatwg.org/#dom-hr-align 57401. https://html.spec.whatwg.org/#cereactions 57402. https://html.spec.whatwg.org/#dom-hr-color 57403. https://html.spec.whatwg.org/#cereactions 57404. https://html.spec.whatwg.org/#dom-hr-noshade 57405. https://html.spec.whatwg.org/#cereactions 57406. https://html.spec.whatwg.org/#dom-hr-size 57407. https://html.spec.whatwg.org/#cereactions 57408. https://html.spec.whatwg.org/#dom-hr-width 57409. https://html.spec.whatwg.org/#the-hr-element 57410. https://html.spec.whatwg.org/#reflect 57411. https://html.spec.whatwg.org/#the-hr-element 57412. https://html.spec.whatwg.org/#reflect 57413. https://html.spec.whatwg.org/#attr-hr-noshade 57414. https://html.spec.whatwg.org/#htmlhtmlelement 57415. https://html.spec.whatwg.org/#cereactions 57416. https://html.spec.whatwg.org/#dom-html-version 57417. https://html.spec.whatwg.org/#the-html-element 57418. https://html.spec.whatwg.org/#reflect 57419. https://html.spec.whatwg.org/#htmliframeelement 57420. https://html.spec.whatwg.org/#cereactions 57421. https://html.spec.whatwg.org/#dom-iframe-align 57422. https://html.spec.whatwg.org/#cereactions 57423. https://html.spec.whatwg.org/#dom-iframe-scrolling 57424. https://html.spec.whatwg.org/#cereactions 57425. https://html.spec.whatwg.org/#dom-iframe-frameborder 57426. https://html.spec.whatwg.org/#cereactions 57427. https://html.spec.whatwg.org/#dom-iframe-longdesc 57428. https://html.spec.whatwg.org/#cereactions 57429. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57430. https://html.spec.whatwg.org/#dom-iframe-marginheight 57431. https://html.spec.whatwg.org/#cereactions 57432. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57433. https://html.spec.whatwg.org/#dom-iframe-marginwidth 57434. https://html.spec.whatwg.org/#the-iframe-element 57435. https://html.spec.whatwg.org/#reflect 57436. https://html.spec.whatwg.org/#the-iframe-element 57437. https://html.spec.whatwg.org/#reflect 57438. https://html.spec.whatwg.org/#attr-iframe-frameborder 57439. https://html.spec.whatwg.org/#the-iframe-element 57440. https://html.spec.whatwg.org/#reflect 57441. https://html.spec.whatwg.org/#attr-iframe-longdesc 57442. https://url.spec.whatwg.org/#concept-url 57443. https://html.spec.whatwg.org/#the-iframe-element 57444. https://html.spec.whatwg.org/#reflect 57445. https://html.spec.whatwg.org/#attr-iframe-marginheight 57446. https://html.spec.whatwg.org/#the-iframe-element 57447. https://html.spec.whatwg.org/#reflect 57448. https://html.spec.whatwg.org/#attr-iframe-marginwidth 57449. https://html.spec.whatwg.org/#htmlimageelement 57450. https://html.spec.whatwg.org/#cereactions 57451. https://html.spec.whatwg.org/#dom-img-name 57452. https://html.spec.whatwg.org/#cereactions 57453. https://html.spec.whatwg.org/#dom-img-lowsrc 57454. https://html.spec.whatwg.org/#cereactions 57455. https://html.spec.whatwg.org/#dom-img-align 57456. https://html.spec.whatwg.org/#cereactions 57457. https://html.spec.whatwg.org/#dom-img-hspace 57458. https://html.spec.whatwg.org/#cereactions 57459. https://html.spec.whatwg.org/#dom-img-vspace 57460. https://html.spec.whatwg.org/#cereactions 57461. https://html.spec.whatwg.org/#dom-img-longdesc 57462. https://html.spec.whatwg.org/#cereactions 57463. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57464. https://html.spec.whatwg.org/#dom-img-border 57465. https://html.spec.whatwg.org/#the-img-element 57466. https://html.spec.whatwg.org/#reflect 57467. https://html.spec.whatwg.org/#the-img-element 57468. https://html.spec.whatwg.org/#reflect 57469. https://html.spec.whatwg.org/#attr-img-longdesc 57470. https://url.spec.whatwg.org/#concept-url 57471. https://html.spec.whatwg.org/#the-img-element 57472. https://html.spec.whatwg.org/#reflect 57473. https://html.spec.whatwg.org/#attr-img-lowsrc 57474. https://url.spec.whatwg.org/#concept-url 57475. https://html.spec.whatwg.org/#htmlinputelement 57476. https://html.spec.whatwg.org/#cereactions 57477. https://html.spec.whatwg.org/#dom-input-align 57478. https://html.spec.whatwg.org/#cereactions 57479. https://html.spec.whatwg.org/#dom-input-usemap 57480. https://html.spec.whatwg.org/#the-input-element 57481. https://html.spec.whatwg.org/#reflect 57482. https://html.spec.whatwg.org/#the-input-element 57483. https://html.spec.whatwg.org/#reflect 57484. https://html.spec.whatwg.org/#attr-input-usemap 57485. https://html.spec.whatwg.org/#htmllegendelement 57486. https://html.spec.whatwg.org/#cereactions 57487. https://html.spec.whatwg.org/#dom-legend-align 57488. https://html.spec.whatwg.org/#the-legend-element 57489. https://html.spec.whatwg.org/#reflect 57490. https://html.spec.whatwg.org/#htmllielement 57491. https://html.spec.whatwg.org/#cereactions 57492. https://html.spec.whatwg.org/#dom-li-type 57493. https://html.spec.whatwg.org/#the-li-element 57494. https://html.spec.whatwg.org/#reflect 57495. https://html.spec.whatwg.org/#htmllinkelement 57496. https://html.spec.whatwg.org/#cereactions 57497. https://html.spec.whatwg.org/#dom-link-charset 57498. https://html.spec.whatwg.org/#cereactions 57499. https://html.spec.whatwg.org/#dom-link-rev 57500. https://html.spec.whatwg.org/#cereactions 57501. https://html.spec.whatwg.org/#dom-link-target 57502. https://html.spec.whatwg.org/#the-link-element 57503. https://html.spec.whatwg.org/#reflect 57504. https://html.spec.whatwg.org/#listing 57505. https://html.spec.whatwg.org/#the-pre-element 57506. https://html.spec.whatwg.org/#htmlmenuelement 57507. https://html.spec.whatwg.org/#cereactions 57508. https://html.spec.whatwg.org/#dom-menu-compact 57509. https://html.spec.whatwg.org/#the-menu-element 57510. https://html.spec.whatwg.org/#reflect 57511. https://html.spec.whatwg.org/#htmlmetaelement 57512. https://html.spec.whatwg.org/#cereactions 57513. https://html.spec.whatwg.org/#dom-meta-scheme 57514. https://html.spec.whatwg.org/#attr-meta-scheme 57515. https://html.spec.whatwg.org/#the-meta-element 57516. https://html.spec.whatwg.org/#attr-meta-name 57517. https://html.spec.whatwg.org/#the-meta-element 57518. https://html.spec.whatwg.org/#attr-meta-name 57519. https://html.spec.whatwg.org/#attr-meta-scheme 57520. https://html.spec.whatwg.org/#attr-meta-scheme 57521. https://html.spec.whatwg.org/#attr-meta-scheme 57522. https://html.spec.whatwg.org/#the-meta-element 57523. https://html.spec.whatwg.org/#attr-meta-name 57524. https://html.spec.whatwg.org/#attr-meta-scheme 57525. https://html.spec.whatwg.org/#attr-meta-scheme 57526. https://html.spec.whatwg.org/#attr-meta-name 57527. https://html.spec.whatwg.org/#the-meta-element 57528. https://html.spec.whatwg.org/#the-meta-element 57529. https://html.spec.whatwg.org/#reflect 57530. https://html.spec.whatwg.org/#htmlobjectelement 57531. https://html.spec.whatwg.org/#cereactions 57532. https://html.spec.whatwg.org/#dom-object-align 57533. https://html.spec.whatwg.org/#cereactions 57534. https://html.spec.whatwg.org/#dom-object-archive 57535. https://html.spec.whatwg.org/#cereactions 57536. https://html.spec.whatwg.org/#dom-object-code 57537. https://html.spec.whatwg.org/#cereactions 57538. https://html.spec.whatwg.org/#dom-object-declare 57539. https://html.spec.whatwg.org/#cereactions 57540. https://html.spec.whatwg.org/#dom-object-hspace 57541. https://html.spec.whatwg.org/#cereactions 57542. https://html.spec.whatwg.org/#dom-object-standby 57543. https://html.spec.whatwg.org/#cereactions 57544. https://html.spec.whatwg.org/#dom-object-vspace 57545. https://html.spec.whatwg.org/#cereactions 57546. https://html.spec.whatwg.org/#dom-object-codebase 57547. https://html.spec.whatwg.org/#cereactions 57548. https://html.spec.whatwg.org/#dom-object-codetype 57549. https://html.spec.whatwg.org/#cereactions 57550. https://html.spec.whatwg.org/#dom-object-usemap 57551. https://html.spec.whatwg.org/#cereactions 57552. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57553. https://html.spec.whatwg.org/#dom-object-border 57554. https://html.spec.whatwg.org/#the-object-element 57555. https://html.spec.whatwg.org/#reflect 57556. https://html.spec.whatwg.org/#the-object-element 57557. https://html.spec.whatwg.org/#reflect 57558. https://html.spec.whatwg.org/#attr-object-codebase 57559. https://url.spec.whatwg.org/#concept-url 57560. https://html.spec.whatwg.org/#the-object-element 57561. https://html.spec.whatwg.org/#reflect 57562. https://html.spec.whatwg.org/#attr-object-codetype 57563. https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/useMap 57564. https://html.spec.whatwg.org/#reflect 57565. https://html.spec.whatwg.org/#attr-hyperlink-usemap 57566. https://html.spec.whatwg.org/#htmlolistelement 57567. https://html.spec.whatwg.org/#cereactions 57568. https://html.spec.whatwg.org/#dom-ol-compact 57569. https://html.spec.whatwg.org/#the-ol-element 57570. https://html.spec.whatwg.org/#reflect 57571. https://html.spec.whatwg.org/#htmlparagraphelement 57572. https://html.spec.whatwg.org/#cereactions 57573. https://html.spec.whatwg.org/#dom-p-align 57574. https://html.spec.whatwg.org/#the-p-element 57575. https://html.spec.whatwg.org/#reflect 57576. https://html.spec.whatwg.org/#param 57577. https://html.spec.whatwg.org/#htmlparamelement 57578. https://html.spec.whatwg.org/#htmlelement 57579. https://html.spec.whatwg.org/#htmlconstructor 57580. https://html.spec.whatwg.org/#cereactions 57581. https://html.spec.whatwg.org/#dom-param-name 57582. https://html.spec.whatwg.org/#cereactions 57583. https://html.spec.whatwg.org/#dom-param-value 57584. https://html.spec.whatwg.org/#cereactions 57585. https://html.spec.whatwg.org/#dom-param-type 57586. https://html.spec.whatwg.org/#cereactions 57587. https://html.spec.whatwg.org/#dom-param-valuetype 57588. https://html.spec.whatwg.org/#param 57589. https://html.spec.whatwg.org/#reflect 57590. https://html.spec.whatwg.org/#param 57591. https://html.spec.whatwg.org/#reflect 57592. https://html.spec.whatwg.org/#plaintext 57593. https://html.spec.whatwg.org/#the-pre-element 57594. https://html.spec.whatwg.org/#htmlpreelement 57595. https://html.spec.whatwg.org/#cereactions 57596. https://html.spec.whatwg.org/#dom-pre-width 57597. https://html.spec.whatwg.org/#the-pre-element 57598. https://html.spec.whatwg.org/#reflect 57599. https://html.spec.whatwg.org/#htmlstyleelement 57600. https://html.spec.whatwg.org/#cereactions 57601. https://html.spec.whatwg.org/#dom-style-type 57602. https://html.spec.whatwg.org/#the-style-element 57603. https://html.spec.whatwg.org/#reflect 57604. https://html.spec.whatwg.org/#attr-style-type 57605. https://html.spec.whatwg.org/#htmlscriptelement 57606. https://html.spec.whatwg.org/#cereactions 57607. https://html.spec.whatwg.org/#dom-script-charset 57608. https://html.spec.whatwg.org/#cereactions 57609. https://html.spec.whatwg.org/#dom-script-event 57610. https://html.spec.whatwg.org/#cereactions 57611. https://html.spec.whatwg.org/#dom-script-htmlfor 57612. https://html.spec.whatwg.org/#the-script-element 57613. https://html.spec.whatwg.org/#reflect 57614. https://html.spec.whatwg.org/#the-script-element 57615. https://html.spec.whatwg.org/#reflect 57616. https://html.spec.whatwg.org/#attr-script-for 57617. https://html.spec.whatwg.org/#htmltableelement 57618. https://html.spec.whatwg.org/#cereactions 57619. https://html.spec.whatwg.org/#dom-table-align 57620. https://html.spec.whatwg.org/#cereactions 57621. https://html.spec.whatwg.org/#dom-table-border 57622. https://html.spec.whatwg.org/#cereactions 57623. https://html.spec.whatwg.org/#dom-table-frame 57624. https://html.spec.whatwg.org/#cereactions 57625. https://html.spec.whatwg.org/#dom-table-rules 57626. https://html.spec.whatwg.org/#cereactions 57627. https://html.spec.whatwg.org/#dom-table-summary 57628. https://html.spec.whatwg.org/#cereactions 57629. https://html.spec.whatwg.org/#dom-table-width 57630. https://html.spec.whatwg.org/#cereactions 57631. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57632. https://html.spec.whatwg.org/#dom-table-bgcolor 57633. https://html.spec.whatwg.org/#cereactions 57634. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57635. https://html.spec.whatwg.org/#dom-table-cellpadding 57636. https://html.spec.whatwg.org/#cereactions 57637. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57638. https://html.spec.whatwg.org/#dom-table-cellspacing 57639. https://html.spec.whatwg.org/#the-table-element 57640. https://html.spec.whatwg.org/#reflect 57641. https://html.spec.whatwg.org/#the-table-element 57642. https://html.spec.whatwg.org/#reflect 57643. https://html.spec.whatwg.org/#attr-table-bgcolor 57644. https://html.spec.whatwg.org/#the-table-element 57645. https://html.spec.whatwg.org/#reflect 57646. https://html.spec.whatwg.org/#attr-table-cellpadding 57647. https://html.spec.whatwg.org/#the-table-element 57648. https://html.spec.whatwg.org/#reflect 57649. https://html.spec.whatwg.org/#attr-table-cellspacing 57650. https://html.spec.whatwg.org/#htmltablesectionelement 57651. https://html.spec.whatwg.org/#cereactions 57652. https://html.spec.whatwg.org/#dom-tbody-align 57653. https://html.spec.whatwg.org/#cereactions 57654. https://html.spec.whatwg.org/#dom-tbody-ch 57655. https://html.spec.whatwg.org/#cereactions 57656. https://html.spec.whatwg.org/#dom-tbody-choff 57657. https://html.spec.whatwg.org/#cereactions 57658. https://html.spec.whatwg.org/#dom-tbody-valign 57659. https://html.spec.whatwg.org/#the-tbody-element 57660. https://html.spec.whatwg.org/#the-thead-element 57661. https://html.spec.whatwg.org/#the-tfoot-element 57662. https://html.spec.whatwg.org/#reflect 57663. https://html.spec.whatwg.org/#the-tbody-element 57664. https://html.spec.whatwg.org/#the-thead-element 57665. https://html.spec.whatwg.org/#the-tfoot-element 57666. https://html.spec.whatwg.org/#reflect 57667. https://html.spec.whatwg.org/#attr-tbody-char 57668. https://html.spec.whatwg.org/#the-tbody-element 57669. https://html.spec.whatwg.org/#the-thead-element 57670. https://html.spec.whatwg.org/#the-tfoot-element 57671. https://html.spec.whatwg.org/#reflect 57672. https://html.spec.whatwg.org/#attr-tbody-charoff 57673. https://html.spec.whatwg.org/#the-tbody-element 57674. https://html.spec.whatwg.org/#the-thead-element 57675. https://html.spec.whatwg.org/#the-tfoot-element 57676. https://html.spec.whatwg.org/#reflect 57677. https://html.spec.whatwg.org/#attr-tbody-valign 57678. https://html.spec.whatwg.org/#htmltablecellelement 57679. https://html.spec.whatwg.org/#cereactions 57680. https://html.spec.whatwg.org/#dom-tdth-align 57681. https://html.spec.whatwg.org/#cereactions 57682. https://html.spec.whatwg.org/#dom-tdth-axis 57683. https://html.spec.whatwg.org/#cereactions 57684. https://html.spec.whatwg.org/#dom-tdth-height 57685. https://html.spec.whatwg.org/#cereactions 57686. https://html.spec.whatwg.org/#dom-tdth-width 57687. https://html.spec.whatwg.org/#cereactions 57688. https://html.spec.whatwg.org/#dom-tdth-ch 57689. https://html.spec.whatwg.org/#cereactions 57690. https://html.spec.whatwg.org/#dom-tdth-choff 57691. https://html.spec.whatwg.org/#cereactions 57692. https://html.spec.whatwg.org/#dom-tdth-nowrap 57693. https://html.spec.whatwg.org/#cereactions 57694. https://html.spec.whatwg.org/#dom-tdth-valign 57695. https://html.spec.whatwg.org/#cereactions 57696. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57697. https://html.spec.whatwg.org/#dom-tdth-bgcolor 57698. https://html.spec.whatwg.org/#the-td-element 57699. https://html.spec.whatwg.org/#the-th-element 57700. https://html.spec.whatwg.org/#reflect 57701. https://html.spec.whatwg.org/#the-td-element 57702. https://html.spec.whatwg.org/#the-th-element 57703. https://html.spec.whatwg.org/#reflect 57704. https://html.spec.whatwg.org/#attr-tdth-char 57705. https://html.spec.whatwg.org/#the-td-element 57706. https://html.spec.whatwg.org/#the-th-element 57707. https://html.spec.whatwg.org/#reflect 57708. https://html.spec.whatwg.org/#attr-tdth-charoff 57709. https://html.spec.whatwg.org/#the-td-element 57710. https://html.spec.whatwg.org/#the-th-element 57711. https://html.spec.whatwg.org/#reflect 57712. https://html.spec.whatwg.org/#attr-tdth-nowrap 57713. https://html.spec.whatwg.org/#the-td-element 57714. https://html.spec.whatwg.org/#the-th-element 57715. https://html.spec.whatwg.org/#reflect 57716. https://html.spec.whatwg.org/#attr-tdth-valign 57717. https://html.spec.whatwg.org/#the-td-element 57718. https://html.spec.whatwg.org/#the-th-element 57719. https://html.spec.whatwg.org/#reflect 57720. https://html.spec.whatwg.org/#attr-tdth-bgcolor 57721. https://html.spec.whatwg.org/#htmltablerowelement 57722. https://html.spec.whatwg.org/#cereactions 57723. https://html.spec.whatwg.org/#dom-tr-align 57724. https://html.spec.whatwg.org/#cereactions 57725. https://html.spec.whatwg.org/#dom-tr-ch 57726. https://html.spec.whatwg.org/#cereactions 57727. https://html.spec.whatwg.org/#dom-tr-choff 57728. https://html.spec.whatwg.org/#cereactions 57729. https://html.spec.whatwg.org/#dom-tr-valign 57730. https://html.spec.whatwg.org/#cereactions 57731. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57732. https://html.spec.whatwg.org/#dom-tr-bgcolor 57733. https://html.spec.whatwg.org/#the-tr-element 57734. https://html.spec.whatwg.org/#reflect 57735. https://html.spec.whatwg.org/#the-tr-element 57736. https://html.spec.whatwg.org/#reflect 57737. https://html.spec.whatwg.org/#attr-tr-char 57738. https://html.spec.whatwg.org/#the-tr-element 57739. https://html.spec.whatwg.org/#reflect 57740. https://html.spec.whatwg.org/#attr-tr-charoff 57741. https://html.spec.whatwg.org/#the-tr-element 57742. https://html.spec.whatwg.org/#reflect 57743. https://html.spec.whatwg.org/#attr-tr-valign 57744. https://html.spec.whatwg.org/#the-tr-element 57745. https://html.spec.whatwg.org/#reflect 57746. https://html.spec.whatwg.org/#attr-tr-bgcolor 57747. https://html.spec.whatwg.org/#htmlulistelement 57748. https://html.spec.whatwg.org/#cereactions 57749. https://html.spec.whatwg.org/#dom-ul-compact 57750. https://html.spec.whatwg.org/#cereactions 57751. https://html.spec.whatwg.org/#dom-ul-type 57752. https://html.spec.whatwg.org/#the-ul-element 57753. https://html.spec.whatwg.org/#reflect 57754. https://html.spec.whatwg.org/#xmp 57755. https://html.spec.whatwg.org/#the-pre-element 57756. https://html.spec.whatwg.org/#document 57757. https://html.spec.whatwg.org/#cereactions 57758. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57759. https://html.spec.whatwg.org/#dom-document-fgcolor 57760. https://html.spec.whatwg.org/#cereactions 57761. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57762. https://html.spec.whatwg.org/#dom-document-linkcolor 57763. https://html.spec.whatwg.org/#cereactions 57764. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57765. https://html.spec.whatwg.org/#dom-document-vlinkcolor 57766. https://html.spec.whatwg.org/#cereactions 57767. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57768. https://html.spec.whatwg.org/#dom-document-alinkcolor 57769. https://html.spec.whatwg.org/#cereactions 57770. https://webidl.spec.whatwg.org/#LegacyNullToEmptyString 57771. https://html.spec.whatwg.org/#dom-document-bgcolor 57772. https://dom.spec.whatwg.org/#interface-htmlcollection 57773. https://html.spec.whatwg.org/#dom-document-anchors 57774. https://dom.spec.whatwg.org/#interface-htmlcollection 57775. https://html.spec.whatwg.org/#dom-document-applets 57776. https://html.spec.whatwg.org/#dom-document-clear 57777. https://html.spec.whatwg.org/#dom-document-captureevents 57778. https://html.spec.whatwg.org/#dom-document-releaseevents 57779. https://html.spec.whatwg.org/#htmlallcollection 57780. https://html.spec.whatwg.org/#dom-document-all 57781. https://html.spec.whatwg.org/#document 57782. https://html.spec.whatwg.org/#reflect 57783. https://html.spec.whatwg.org/#the-body-element-2 57784. https://html.spec.whatwg.org/#the-body-element-2 57785. https://html.spec.whatwg.org/#the-body-element 57786. https://html.spec.whatwg.org/#frameset 57787. https://html.spec.whatwg.org/#the-body-element-2 57788. https://html.spec.whatwg.org/#frameset 57789. https://html.spec.whatwg.org/#attr-body-text 57790. https://html.spec.whatwg.org/#attr-body-link 57791. https://html.spec.whatwg.org/#attr-body-vlink 57792. https://html.spec.whatwg.org/#attr-body-alink 57793. https://html.spec.whatwg.org/#attr-body-bgcolor 57794. https://dom.spec.whatwg.org/#interface-htmlcollection 57795. https://html.spec.whatwg.org/#document 57796. https://html.spec.whatwg.org/#the-a-element 57797. https://html.spec.whatwg.org/#attr-a-name 57798. https://dom.spec.whatwg.org/#interface-htmlcollection 57799. https://html.spec.whatwg.org/#document 57800. https://html.spec.whatwg.org/#htmlallcollection 57801. https://html.spec.whatwg.org/#document 57802. https://html.spec.whatwg.org/#window 57803. https://html.spec.whatwg.org/#dom-window-captureevents 57804. https://html.spec.whatwg.org/#dom-window-releaseevents 57805. https://html.spec.whatwg.org/#external 57806. https://html.spec.whatwg.org/#dom-external 57807. https://html.spec.whatwg.org/#window 57808. https://html.spec.whatwg.org/#external 57809. https://html.spec.whatwg.org/#dom-external-addsearchprovider 57810. https://html.spec.whatwg.org/#dom-external-issearchproviderinstalled 57811. https://dom.spec.whatwg.org/#concept-document-encoding 57812. https://html.spec.whatwg.org/#character-encoding-declaration 57813. https://infra.spec.whatwg.org/#ascii-case-insensitive 57814. https://html.spec.whatwg.org/#refsENCODING 57815. https://html.spec.whatwg.org/#character-encoding-declaration 57816. https://html.spec.whatwg.org/#the-img-element 57817. https://html.spec.whatwg.org/#concept-origin 57818. https://html.spec.whatwg.org/#concept-origin 57819. https://html.spec.whatwg.org/#text/html 57820. https://dom.spec.whatwg.org/#html-document 57821. https://html.spec.whatwg.org/#syntax 57822. https://html.spec.whatwg.org/#refsMIMESNIFF 57823. https://url.spec.whatwg.org/#concept-url-fragment 57824. https://html.spec.whatwg.org/#text/html 57825. https://html.spec.whatwg.org/#the-indicated-part-of-the-document 57826. https://html.spec.whatwg.org/#document 57827. https://html.spec.whatwg.org/#refsRFC2046 57828. https://html.spec.whatwg.org/#multipart/x-mixed-replace 57829. https://html.spec.whatwg.org/#text/html 57830. https://html.spec.whatwg.org/#multipart/mixed 57831. https://html.spec.whatwg.org/#refsRFC2046 57832. https://html.spec.whatwg.org/#multipart/x-mixed-replace 57833. https://url.spec.whatwg.org/#concept-url-fragment 57834. https://html.spec.whatwg.org/#multipart/x-mixed-replace 57835. https://html.spec.whatwg.org/#application/xml 57836. https://html.spec.whatwg.org/#refsRFC7303 57837. https://html.spec.whatwg.org/#application/xml 57838. https://html.spec.whatwg.org/#refsRFC7303 57839. https://html.spec.whatwg.org/#application/xml 57840. https://html.spec.whatwg.org/#refsRFC7303 57841. https://html.spec.whatwg.org/#application/xml 57842. https://html.spec.whatwg.org/#refsRFC7303 57843. https://html.spec.whatwg.org/#application/xml 57844. https://html.spec.whatwg.org/#refsRFC7303 57845. https://html.spec.whatwg.org/#application/xhtml+xml 57846. https://dom.spec.whatwg.org/#document-element 57847. https://infra.spec.whatwg.org/#html-namespace 57848. https://html.spec.whatwg.org/#refsXML 57849. https://html.spec.whatwg.org/#refsXMLNS 57850. https://html.spec.whatwg.org/#application/xml 57851. https://html.spec.whatwg.org/#refsRFC7303 57852. https://html.spec.whatwg.org/#application/xml 57853. https://html.spec.whatwg.org/#refsRFC7303 57854. https://dom.spec.whatwg.org/#document-element 57855. https://infra.spec.whatwg.org/#html-namespace 57856. https://url.spec.whatwg.org/#concept-url-fragment 57857. https://html.spec.whatwg.org/#application/xhtml+xml 57858. https://mimesniff.spec.whatwg.org/#xml-mime-type 57859. https://html.spec.whatwg.org/#refsRFC7303 57860. https://html.spec.whatwg.org/#hyperlink-auditing 57861. https://html.spec.whatwg.org/#text/ping 57862. https://html.spec.whatwg.org/#ping 57863. https://url.spec.whatwg.org/#concept-url-fragment 57864. https://html.spec.whatwg.org/#text/ping 57865. https://html.spec.whatwg.org/#application/json 57866. https://html.spec.whatwg.org/#refsJSON 57867. https://html.spec.whatwg.org/#application/json 57868. https://html.spec.whatwg.org/#refsJSON 57869. https://html.spec.whatwg.org/#application/json 57870. https://html.spec.whatwg.org/#refsJSON 57871. https://html.spec.whatwg.org/#application/json 57872. https://html.spec.whatwg.org/#refsJSON 57873. https://html.spec.whatwg.org/#application/microdata+json 57874. https://html.spec.whatwg.org/#refsJSON 57875. https://html.spec.whatwg.org/#application/json 57876. https://html.spec.whatwg.org/#refsJSON 57877. https://html.spec.whatwg.org/#application/json 57878. https://html.spec.whatwg.org/#refsJSON 57879. https://html.spec.whatwg.org/#application/json 57880. https://html.spec.whatwg.org/#refsJSON 57881. https://url.spec.whatwg.org/#concept-url-fragment 57882. https://html.spec.whatwg.org/#application/microdata+json 57883. https://html.spec.whatwg.org/#application/json 57884. https://html.spec.whatwg.org/#refsJSON 57885. https://html.spec.whatwg.org/#refsFETCH 57886. https://url.spec.whatwg.org/#concept-url-fragment 57887. https://html.spec.whatwg.org/#text/event-stream 57888. https://html.spec.whatwg.org/#refsRFC7595 57889. https://html.spec.whatwg.org/#custom-handlers 57890. https://html.spec.whatwg.org/#the-a-element 57891. https://html.spec.whatwg.org/#flow-content-2 57892. https://html.spec.whatwg.org/#phrasing-content-2 57893. https://html.spec.whatwg.org/#interactive-content-2 57894. https://html.spec.whatwg.org/#palpable-content-2 57895. https://html.spec.whatwg.org/#phrasing-content-2 57896. https://html.spec.whatwg.org/#transparent 57897. https://html.spec.whatwg.org/#global-attributes 57898. https://html.spec.whatwg.org/#attr-hyperlink-href 57899. https://html.spec.whatwg.org/#attr-hyperlink-target 57900. https://html.spec.whatwg.org/#attr-hyperlink-download 57901. https://html.spec.whatwg.org/#ping 57902. https://html.spec.whatwg.org/#attr-hyperlink-rel 57903. https://html.spec.whatwg.org/#attr-hyperlink-hreflang 57904. https://html.spec.whatwg.org/#attr-hyperlink-type 57905. https://html.spec.whatwg.org/#attr-hyperlink-referrerpolicy 57906. https://html.spec.whatwg.org/#htmlanchorelement 57907. https://html.spec.whatwg.org/#the-abbr-element 57908. https://html.spec.whatwg.org/#flow-content-2 57909. https://html.spec.whatwg.org/#phrasing-content-2 57910. https://html.spec.whatwg.org/#palpable-content-2 57911. https://html.spec.whatwg.org/#phrasing-content-2 57912. https://html.spec.whatwg.org/#phrasing-content-2 57913. https://html.spec.whatwg.org/#global-attributes 57914. https://html.spec.whatwg.org/#htmlelement 57915. https://html.spec.whatwg.org/#the-address-element 57916. https://html.spec.whatwg.org/#the-article-element 57917. https://html.spec.whatwg.org/#flow-content-2 57918. https://html.spec.whatwg.org/#palpable-content-2 57919. https://html.spec.whatwg.org/#flow-content-2 57920. https://html.spec.whatwg.org/#flow-content-2 57921. https://html.spec.whatwg.org/#global-attributes 57922. https://html.spec.whatwg.org/#htmlelement 57923. https://html.spec.whatwg.org/#the-area-element 57924. https://html.spec.whatwg.org/#flow-content-2 57925. https://html.spec.whatwg.org/#phrasing-content-2 57926. https://html.spec.whatwg.org/#phrasing-content-2 57927. https://html.spec.whatwg.org/#global-attributes 57928. https://html.spec.whatwg.org/#attr-area-alt 57929. https://html.spec.whatwg.org/#attr-area-coords 57930. https://html.spec.whatwg.org/#attr-area-shape 57931. https://html.spec.whatwg.org/#attr-hyperlink-href 57932. https://html.spec.whatwg.org/#attr-hyperlink-target 57933. https://html.spec.whatwg.org/#attr-hyperlink-download 57934. https://html.spec.whatwg.org/#ping 57935. https://html.spec.whatwg.org/#attr-hyperlink-rel 57936. https://html.spec.whatwg.org/#attr-hyperlink-referrerpolicy 57937. https://html.spec.whatwg.org/#htmlareaelement 57938. https://html.spec.whatwg.org/#the-article-element 57939. https://html.spec.whatwg.org/#flow-content-2 57940. https://html.spec.whatwg.org/#sectioning-content-2 57941. https://html.spec.whatwg.org/#palpable-content-2 57942. https://html.spec.whatwg.org/#flow-content-2 57943. https://html.spec.whatwg.org/#flow-content-2 57944. https://html.spec.whatwg.org/#global-attributes 57945. https://html.spec.whatwg.org/#htmlelement 57946. https://html.spec.whatwg.org/#the-aside-element 57947. https://html.spec.whatwg.org/#flow-content-2 57948. https://html.spec.whatwg.org/#sectioning-content-2 57949. https://html.spec.whatwg.org/#palpable-content-2 57950. https://html.spec.whatwg.org/#flow-content-2 57951. https://html.spec.whatwg.org/#flow-content-2 57952. https://html.spec.whatwg.org/#global-attributes 57953. https://html.spec.whatwg.org/#htmlelement 57954. https://html.spec.whatwg.org/#the-audio-element 57955. https://html.spec.whatwg.org/#flow-content-2 57956. https://html.spec.whatwg.org/#phrasing-content-2 57957. https://html.spec.whatwg.org/#embedded-content-category 57958. https://html.spec.whatwg.org/#interactive-content-2 57959. https://html.spec.whatwg.org/#palpable-content-2 57960. https://html.spec.whatwg.org/#phrasing-content-2 57961. https://html.spec.whatwg.org/#the-source-element 57962. https://html.spec.whatwg.org/#the-track-element 57963. https://html.spec.whatwg.org/#transparent 57964. https://html.spec.whatwg.org/#global-attributes 57965. https://html.spec.whatwg.org/#attr-media-src 57966. https://html.spec.whatwg.org/#attr-media-crossorigin 57967. https://html.spec.whatwg.org/#attr-media-preload 57968. https://html.spec.whatwg.org/#attr-media-autoplay 57969. https://html.spec.whatwg.org/#attr-media-loop 57970. https://html.spec.whatwg.org/#attr-media-muted 57971. https://html.spec.whatwg.org/#attr-media-controls 57972. https://html.spec.whatwg.org/#htmlaudioelement 57973. https://html.spec.whatwg.org/#the-b-element 57974. https://html.spec.whatwg.org/#flow-content-2 57975. https://html.spec.whatwg.org/#phrasing-content-2 57976. https://html.spec.whatwg.org/#palpable-content-2 57977. https://html.spec.whatwg.org/#phrasing-content-2 57978. https://html.spec.whatwg.org/#phrasing-content-2 57979. https://html.spec.whatwg.org/#global-attributes 57980. https://html.spec.whatwg.org/#htmlelement 57981. https://html.spec.whatwg.org/#the-base-element 57982. https://html.spec.whatwg.org/#navigable 57983. https://html.spec.whatwg.org/#attr-hyperlink-target 57984. https://html.spec.whatwg.org/#attr-fs-target 57985. https://html.spec.whatwg.org/#metadata-content-2 57986. https://html.spec.whatwg.org/#the-head-element 57987. https://html.spec.whatwg.org/#global-attributes 57988. https://html.spec.whatwg.org/#attr-base-href 57989. https://html.spec.whatwg.org/#attr-base-target 57990. https://html.spec.whatwg.org/#htmlbaseelement 57991. https://html.spec.whatwg.org/#the-bdi-element 57992. https://html.spec.whatwg.org/#flow-content-2 57993. https://html.spec.whatwg.org/#phrasing-content-2 57994. https://html.spec.whatwg.org/#palpable-content-2 57995. https://html.spec.whatwg.org/#phrasing-content-2 57996. https://html.spec.whatwg.org/#phrasing-content-2 57997. https://html.spec.whatwg.org/#global-attributes 57998. https://html.spec.whatwg.org/#htmlelement 57999. https://html.spec.whatwg.org/#the-bdo-element 58000. https://html.spec.whatwg.org/#flow-content-2 58001. https://html.spec.whatwg.org/#phrasing-content-2 58002. https://html.spec.whatwg.org/#palpable-content-2 58003. https://html.spec.whatwg.org/#phrasing-content-2 58004. https://html.spec.whatwg.org/#phrasing-content-2 58005. https://html.spec.whatwg.org/#global-attributes 58006. https://html.spec.whatwg.org/#htmlelement 58007. https://html.spec.whatwg.org/#the-blockquote-element 58008. https://html.spec.whatwg.org/#flow-content-2 58009. https://html.spec.whatwg.org/#palpable-content-2 58010. https://html.spec.whatwg.org/#flow-content-2 58011. https://html.spec.whatwg.org/#flow-content-2 58012. https://html.spec.whatwg.org/#global-attributes 58013. https://html.spec.whatwg.org/#attr-blockquote-cite 58014. https://html.spec.whatwg.org/#htmlquoteelement 58015. https://html.spec.whatwg.org/#the-body-element 58016. https://html.spec.whatwg.org/#the-html-element 58017. https://html.spec.whatwg.org/#flow-content-2 58018. https://html.spec.whatwg.org/#global-attributes 58019. https://html.spec.whatwg.org/#handler-window-onafterprint 58020. https://html.spec.whatwg.org/#handler-window-onbeforeprint 58021. https://html.spec.whatwg.org/#handler-window-onbeforeunload 58022. https://html.spec.whatwg.org/#handler-window-onhashchange 58023. https://html.spec.whatwg.org/#handler-window-onlanguagechange 58024. https://html.spec.whatwg.org/#handler-window-onmessage 58025. https://html.spec.whatwg.org/#handler-window-onmessageerror 58026. https://html.spec.whatwg.org/#handler-window-onoffline 58027. https://html.spec.whatwg.org/#handler-window-ononline 58028. https://html.spec.whatwg.org/#handler-window-onpageswap 58029. https://html.spec.whatwg.org/#handler-window-onpagehide 58030. https://html.spec.whatwg.org/#handler-window-onpagereveal 58031. https://html.spec.whatwg.org/#handler-window-onpageshow 58032. https://html.spec.whatwg.org/#handler-window-onpopstate 58033. https://html.spec.whatwg.org/#handler-window-onrejectionhandled 58034. https://html.spec.whatwg.org/#handler-window-onstorage 58035. https://html.spec.whatwg.org/#handler-window-onunhandledrejection 58036. https://html.spec.whatwg.org/#handler-window-onunload 58037. https://html.spec.whatwg.org/#htmlbodyelement 58038. https://html.spec.whatwg.org/#the-br-element 58039. https://html.spec.whatwg.org/#flow-content-2 58040. https://html.spec.whatwg.org/#phrasing-content-2 58041. https://html.spec.whatwg.org/#phrasing-content-2 58042. https://html.spec.whatwg.org/#global-attributes 58043. https://html.spec.whatwg.org/#htmlbrelement 58044. https://html.spec.whatwg.org/#the-button-element 58045. https://html.spec.whatwg.org/#flow-content-2 58046. https://html.spec.whatwg.org/#phrasing-content-2 58047. https://html.spec.whatwg.org/#interactive-content-2 58048. https://html.spec.whatwg.org/#category-listed 58049. https://html.spec.whatwg.org/#category-label 58050. https://html.spec.whatwg.org/#category-submit 58051. https://html.spec.whatwg.org/#form-associated-element 58052. https://html.spec.whatwg.org/#palpable-content-2 58053. https://html.spec.whatwg.org/#phrasing-content-2 58054. https://html.spec.whatwg.org/#phrasing-content-2 58055. https://html.spec.whatwg.org/#global-attributes 58056. https://html.spec.whatwg.org/#attr-button-command 58057. https://html.spec.whatwg.org/#attr-button-commandfor 58058. https://html.spec.whatwg.org/#attr-fe-disabled 58059. https://html.spec.whatwg.org/#attr-fae-form 58060. https://html.spec.whatwg.org/#attr-fs-formaction 58061. https://html.spec.whatwg.org/#attr-fs-formenctype 58062. https://html.spec.whatwg.org/#attr-fs-formmethod 58063. https://html.spec.whatwg.org/#attr-fs-formnovalidate 58064. https://html.spec.whatwg.org/#attr-fs-formtarget 58065. https://html.spec.whatwg.org/#attr-fe-name 58066. https://html.spec.whatwg.org/#attr-popovertarget 58067. https://html.spec.whatwg.org/#attr-popovertargetaction 58068. https://html.spec.whatwg.org/#attr-button-type 58069. https://html.spec.whatwg.org/#attr-button-value 58070. https://html.spec.whatwg.org/#htmlbuttonelement 58071. https://html.spec.whatwg.org/#the-canvas-element 58072. https://html.spec.whatwg.org/#flow-content-2 58073. https://html.spec.whatwg.org/#phrasing-content-2 58074. https://html.spec.whatwg.org/#embedded-content-category 58075. https://html.spec.whatwg.org/#palpable-content-2 58076. https://html.spec.whatwg.org/#phrasing-content-2 58077. https://html.spec.whatwg.org/#transparent 58078. https://html.spec.whatwg.org/#global-attributes 58079. https://html.spec.whatwg.org/#attr-canvas-width 58080. https://html.spec.whatwg.org/#attr-canvas-height 58081. https://html.spec.whatwg.org/#htmlcanvaselement 58082. https://html.spec.whatwg.org/#the-caption-element 58083. https://html.spec.whatwg.org/#the-table-element 58084. https://html.spec.whatwg.org/#flow-content-2 58085. https://html.spec.whatwg.org/#global-attributes 58086. https://html.spec.whatwg.org/#htmltablecaptionelement 58087. https://html.spec.whatwg.org/#the-cite-element 58088. https://html.spec.whatwg.org/#flow-content-2 58089. https://html.spec.whatwg.org/#phrasing-content-2 58090. https://html.spec.whatwg.org/#palpable-content-2 58091. https://html.spec.whatwg.org/#phrasing-content-2 58092. https://html.spec.whatwg.org/#phrasing-content-2 58093. https://html.spec.whatwg.org/#global-attributes 58094. https://html.spec.whatwg.org/#htmlelement 58095. https://html.spec.whatwg.org/#the-code-element 58096. https://html.spec.whatwg.org/#flow-content-2 58097. https://html.spec.whatwg.org/#phrasing-content-2 58098. https://html.spec.whatwg.org/#palpable-content-2 58099. https://html.spec.whatwg.org/#phrasing-content-2 58100. https://html.spec.whatwg.org/#phrasing-content-2 58101. https://html.spec.whatwg.org/#global-attributes 58102. https://html.spec.whatwg.org/#htmlelement 58103. https://html.spec.whatwg.org/#the-col-element 58104. https://html.spec.whatwg.org/#the-colgroup-element 58105. https://html.spec.whatwg.org/#global-attributes 58106. https://html.spec.whatwg.org/#attr-col-span 58107. https://html.spec.whatwg.org/#htmltablecolelement 58108. https://html.spec.whatwg.org/#the-colgroup-element 58109. https://html.spec.whatwg.org/#the-table-element 58110. https://html.spec.whatwg.org/#the-col-element 58111. https://html.spec.whatwg.org/#the-template-element 58112. https://html.spec.whatwg.org/#global-attributes 58113. https://html.spec.whatwg.org/#attr-colgroup-span 58114. https://html.spec.whatwg.org/#htmltablecolelement 58115. https://html.spec.whatwg.org/#the-data-element 58116. https://html.spec.whatwg.org/#flow-content-2 58117. https://html.spec.whatwg.org/#phrasing-content-2 58118. https://html.spec.whatwg.org/#palpable-content-2 58119. https://html.spec.whatwg.org/#phrasing-content-2 58120. https://html.spec.whatwg.org/#phrasing-content-2 58121. https://html.spec.whatwg.org/#global-attributes 58122. https://html.spec.whatwg.org/#attr-data-value 58123. https://html.spec.whatwg.org/#htmldataelement 58124. https://html.spec.whatwg.org/#the-datalist-element 58125. https://html.spec.whatwg.org/#attr-input-list 58126. https://html.spec.whatwg.org/#flow-content-2 58127. https://html.spec.whatwg.org/#phrasing-content-2 58128. https://html.spec.whatwg.org/#phrasing-content-2 58129. https://html.spec.whatwg.org/#phrasing-content-2 58130. https://html.spec.whatwg.org/#the-option-element 58131. https://html.spec.whatwg.org/#script-supporting-elements-2 58132. https://html.spec.whatwg.org/#global-attributes 58133. https://html.spec.whatwg.org/#htmldatalistelement 58134. https://html.spec.whatwg.org/#the-dd-element 58135. https://html.spec.whatwg.org/#the-dt-element 58136. https://html.spec.whatwg.org/#the-dl-element 58137. https://html.spec.whatwg.org/#the-div-element 58138. https://html.spec.whatwg.org/#flow-content-2 58139. https://html.spec.whatwg.org/#global-attributes 58140. https://html.spec.whatwg.org/#htmlelement 58141. https://html.spec.whatwg.org/#the-del-element 58142. https://html.spec.whatwg.org/#flow-content-2 58143. https://html.spec.whatwg.org/#phrasing-content-2 58144. https://html.spec.whatwg.org/#palpable-content-2 58145. https://html.spec.whatwg.org/#phrasing-content-2 58146. https://html.spec.whatwg.org/#transparent 58147. https://html.spec.whatwg.org/#global-attributes 58148. https://html.spec.whatwg.org/#attr-mod-cite 58149. https://html.spec.whatwg.org/#attr-mod-datetime 58150. https://html.spec.whatwg.org/#htmlmodelement 58151. https://html.spec.whatwg.org/#the-details-element 58152. https://html.spec.whatwg.org/#flow-content-2 58153. https://html.spec.whatwg.org/#interactive-content-2 58154. https://html.spec.whatwg.org/#palpable-content-2 58155. https://html.spec.whatwg.org/#flow-content-2 58156. https://html.spec.whatwg.org/#the-summary-element 58157. https://html.spec.whatwg.org/#flow-content-2 58158. https://html.spec.whatwg.org/#global-attributes 58159. https://html.spec.whatwg.org/#attr-details-name 58160. https://html.spec.whatwg.org/#attr-details-open 58161. https://html.spec.whatwg.org/#htmldetailselement 58162. https://html.spec.whatwg.org/#the-dfn-element 58163. https://html.spec.whatwg.org/#flow-content-2 58164. https://html.spec.whatwg.org/#phrasing-content-2 58165. https://html.spec.whatwg.org/#palpable-content-2 58166. https://html.spec.whatwg.org/#phrasing-content-2 58167. https://html.spec.whatwg.org/#phrasing-content-2 58168. https://html.spec.whatwg.org/#global-attributes 58169. https://html.spec.whatwg.org/#htmlelement 58170. https://html.spec.whatwg.org/#the-dialog-element 58171. https://html.spec.whatwg.org/#flow-content-2 58172. https://html.spec.whatwg.org/#flow-content-2 58173. https://html.spec.whatwg.org/#flow-content-2 58174. https://html.spec.whatwg.org/#global-attributes 58175. https://html.spec.whatwg.org/#attr-dialog-open 58176. https://html.spec.whatwg.org/#htmldialogelement 58177. https://html.spec.whatwg.org/#the-div-element 58178. https://html.spec.whatwg.org/#the-dl-element 58179. https://html.spec.whatwg.org/#flow-content-2 58180. https://html.spec.whatwg.org/#palpable-content-2 58181. https://html.spec.whatwg.org/#flow-content-2 58182. https://html.spec.whatwg.org/#the-dl-element 58183. https://html.spec.whatwg.org/#flow-content-2 58184. https://html.spec.whatwg.org/#global-attributes 58185. https://html.spec.whatwg.org/#htmldivelement 58186. https://html.spec.whatwg.org/#the-dl-element 58187. https://html.spec.whatwg.org/#flow-content-2 58188. https://html.spec.whatwg.org/#palpable-content-2 58189. https://html.spec.whatwg.org/#flow-content-2 58190. https://html.spec.whatwg.org/#the-dt-element 58191. https://html.spec.whatwg.org/#the-dd-element 58192. https://html.spec.whatwg.org/#the-div-element 58193. https://html.spec.whatwg.org/#script-supporting-elements-2 58194. https://html.spec.whatwg.org/#global-attributes 58195. https://html.spec.whatwg.org/#htmldlistelement 58196. https://html.spec.whatwg.org/#the-dt-element 58197. https://html.spec.whatwg.org/#the-dd-element 58198. https://html.spec.whatwg.org/#the-dl-element 58199. https://html.spec.whatwg.org/#the-div-element 58200. https://html.spec.whatwg.org/#flow-content-2 58201. https://html.spec.whatwg.org/#global-attributes 58202. https://html.spec.whatwg.org/#htmlelement 58203. https://html.spec.whatwg.org/#the-em-element 58204. https://html.spec.whatwg.org/#flow-content-2 58205. https://html.spec.whatwg.org/#phrasing-content-2 58206. https://html.spec.whatwg.org/#palpable-content-2 58207. https://html.spec.whatwg.org/#phrasing-content-2 58208. https://html.spec.whatwg.org/#phrasing-content-2 58209. https://html.spec.whatwg.org/#global-attributes 58210. https://html.spec.whatwg.org/#htmlelement 58211. https://html.spec.whatwg.org/#the-embed-element 58212. https://html.spec.whatwg.org/#plugin 58213. https://html.spec.whatwg.org/#flow-content-2 58214. https://html.spec.whatwg.org/#phrasing-content-2 58215. https://html.spec.whatwg.org/#embedded-content-category 58216. https://html.spec.whatwg.org/#interactive-content-2 58217. https://html.spec.whatwg.org/#palpable-content-2 58218. https://html.spec.whatwg.org/#phrasing-content-2 58219. https://html.spec.whatwg.org/#global-attributes 58220. https://html.spec.whatwg.org/#attr-embed-src 58221. https://html.spec.whatwg.org/#attr-embed-type 58222. https://html.spec.whatwg.org/#attr-dim-width 58223. https://html.spec.whatwg.org/#attr-dim-height 58224. https://html.spec.whatwg.org/#htmlembedelement 58225. https://html.spec.whatwg.org/#the-fieldset-element 58226. https://html.spec.whatwg.org/#flow-content-2 58227. https://html.spec.whatwg.org/#category-listed 58228. https://html.spec.whatwg.org/#form-associated-element 58229. https://html.spec.whatwg.org/#palpable-content-2 58230. https://html.spec.whatwg.org/#flow-content-2 58231. https://html.spec.whatwg.org/#the-legend-element 58232. https://html.spec.whatwg.org/#flow-content-2 58233. https://html.spec.whatwg.org/#global-attributes 58234. https://html.spec.whatwg.org/#attr-fieldset-disabled 58235. https://html.spec.whatwg.org/#attr-fae-form 58236. https://html.spec.whatwg.org/#attr-fe-name 58237. https://html.spec.whatwg.org/#htmlfieldsetelement 58238. https://html.spec.whatwg.org/#the-figcaption-element 58239. https://html.spec.whatwg.org/#the-figure-element 58240. https://html.spec.whatwg.org/#the-figure-element 58241. https://html.spec.whatwg.org/#flow-content-2 58242. https://html.spec.whatwg.org/#global-attributes 58243. https://html.spec.whatwg.org/#htmlelement 58244. https://html.spec.whatwg.org/#the-figure-element 58245. https://html.spec.whatwg.org/#flow-content-2 58246. https://html.spec.whatwg.org/#palpable-content-2 58247. https://html.spec.whatwg.org/#flow-content-2 58248. https://html.spec.whatwg.org/#the-figcaption-element 58249. https://html.spec.whatwg.org/#flow-content-2 58250. https://html.spec.whatwg.org/#global-attributes 58251. https://html.spec.whatwg.org/#htmlelement 58252. https://html.spec.whatwg.org/#the-footer-element 58253. https://html.spec.whatwg.org/#flow-content-2 58254. https://html.spec.whatwg.org/#palpable-content-2 58255. https://html.spec.whatwg.org/#flow-content-2 58256. https://html.spec.whatwg.org/#flow-content-2 58257. https://html.spec.whatwg.org/#global-attributes 58258. https://html.spec.whatwg.org/#htmlelement 58259. https://html.spec.whatwg.org/#the-form-element 58260. https://html.spec.whatwg.org/#flow-content-2 58261. https://html.spec.whatwg.org/#palpable-content-2 58262. https://html.spec.whatwg.org/#flow-content-2 58263. https://html.spec.whatwg.org/#flow-content-2 58264. https://html.spec.whatwg.org/#global-attributes 58265. https://html.spec.whatwg.org/#attr-form-accept-charset 58266. https://html.spec.whatwg.org/#attr-fs-action 58267. https://html.spec.whatwg.org/#attr-form-autocomplete 58268. https://html.spec.whatwg.org/#attr-fs-enctype 58269. https://html.spec.whatwg.org/#attr-fs-method 58270. https://html.spec.whatwg.org/#attr-form-name 58271. https://html.spec.whatwg.org/#attr-fs-novalidate 58272. https://html.spec.whatwg.org/#attr-form-rel 58273. https://html.spec.whatwg.org/#attr-fs-target 58274. https://html.spec.whatwg.org/#htmlformelement 58275. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 58276. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 58277. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 58278. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 58279. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 58280. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 58281. https://html.spec.whatwg.org/#flow-content-2 58282. https://html.spec.whatwg.org/#heading-content-2 58283. https://html.spec.whatwg.org/#palpable-content-2 58284. https://html.spec.whatwg.org/#the-legend-element 58285. https://html.spec.whatwg.org/#the-summary-element 58286. https://html.spec.whatwg.org/#flow-content-2 58287. https://html.spec.whatwg.org/#phrasing-content-2 58288. https://html.spec.whatwg.org/#global-attributes 58289. https://html.spec.whatwg.org/#htmlheadingelement 58290. https://html.spec.whatwg.org/#the-head-element 58291. https://html.spec.whatwg.org/#the-html-element 58292. https://html.spec.whatwg.org/#metadata-content-2 58293. https://html.spec.whatwg.org/#global-attributes 58294. https://html.spec.whatwg.org/#htmlheadelement 58295. https://html.spec.whatwg.org/#the-header-element 58296. https://html.spec.whatwg.org/#flow-content-2 58297. https://html.spec.whatwg.org/#palpable-content-2 58298. https://html.spec.whatwg.org/#flow-content-2 58299. https://html.spec.whatwg.org/#flow-content-2 58300. https://html.spec.whatwg.org/#global-attributes 58301. https://html.spec.whatwg.org/#htmlelement 58302. https://html.spec.whatwg.org/#the-hgroup-element 58303. https://html.spec.whatwg.org/#flow-content-2 58304. https://html.spec.whatwg.org/#palpable-content-2 58305. https://html.spec.whatwg.org/#the-legend-element 58306. https://html.spec.whatwg.org/#the-summary-element 58307. https://html.spec.whatwg.org/#flow-content-2 58308. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 58309. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 58310. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 58311. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 58312. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 58313. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 58314. https://html.spec.whatwg.org/#script-supporting-elements-2 58315. https://html.spec.whatwg.org/#global-attributes 58316. https://html.spec.whatwg.org/#htmlelement 58317. https://html.spec.whatwg.org/#the-hr-element 58318. https://html.spec.whatwg.org/#flow-content-2 58319. https://html.spec.whatwg.org/#flow-content-2 58320. https://html.spec.whatwg.org/#global-attributes 58321. https://html.spec.whatwg.org/#htmlhrelement 58322. https://html.spec.whatwg.org/#the-html-element 58323. https://html.spec.whatwg.org/#the-head-element 58324. https://html.spec.whatwg.org/#the-body-element 58325. https://html.spec.whatwg.org/#global-attributes 58326. https://html.spec.whatwg.org/#htmlhtmlelement 58327. https://html.spec.whatwg.org/#the-i-element 58328. https://html.spec.whatwg.org/#flow-content-2 58329. https://html.spec.whatwg.org/#phrasing-content-2 58330. https://html.spec.whatwg.org/#palpable-content-2 58331. https://html.spec.whatwg.org/#phrasing-content-2 58332. https://html.spec.whatwg.org/#phrasing-content-2 58333. https://html.spec.whatwg.org/#global-attributes 58334. https://html.spec.whatwg.org/#htmlelement 58335. https://html.spec.whatwg.org/#the-iframe-element 58336. https://html.spec.whatwg.org/#child-navigable 58337. https://html.spec.whatwg.org/#flow-content-2 58338. https://html.spec.whatwg.org/#phrasing-content-2 58339. https://html.spec.whatwg.org/#embedded-content-category 58340. https://html.spec.whatwg.org/#interactive-content-2 58341. https://html.spec.whatwg.org/#palpable-content-2 58342. https://html.spec.whatwg.org/#phrasing-content-2 58343. https://html.spec.whatwg.org/#global-attributes 58344. https://html.spec.whatwg.org/#attr-iframe-src 58345. https://html.spec.whatwg.org/#attr-iframe-srcdoc 58346. https://html.spec.whatwg.org/#attr-iframe-name 58347. https://html.spec.whatwg.org/#attr-iframe-sandbox 58348. https://html.spec.whatwg.org/#attr-iframe-allow 58349. https://html.spec.whatwg.org/#attr-iframe-allowfullscreen 58350. https://html.spec.whatwg.org/#attr-dim-width 58351. https://html.spec.whatwg.org/#attr-dim-height 58352. https://html.spec.whatwg.org/#attr-iframe-referrerpolicy 58353. https://html.spec.whatwg.org/#attr-iframe-loading 58354. https://html.spec.whatwg.org/#htmliframeelement 58355. https://html.spec.whatwg.org/#the-img-element 58356. https://html.spec.whatwg.org/#flow-content-2 58357. https://html.spec.whatwg.org/#phrasing-content-2 58358. https://html.spec.whatwg.org/#embedded-content-category 58359. https://html.spec.whatwg.org/#interactive-content-2 58360. https://html.spec.whatwg.org/#form-associated-element 58361. https://html.spec.whatwg.org/#palpable-content-2 58362. https://html.spec.whatwg.org/#phrasing-content-2 58363. https://html.spec.whatwg.org/#the-picture-element 58364. https://html.spec.whatwg.org/#global-attributes 58365. https://html.spec.whatwg.org/#attr-img-alt 58366. https://html.spec.whatwg.org/#attr-img-src 58367. https://html.spec.whatwg.org/#attr-img-srcset 58368. https://html.spec.whatwg.org/#attr-img-sizes 58369. https://html.spec.whatwg.org/#attr-img-crossorigin 58370. https://html.spec.whatwg.org/#attr-hyperlink-usemap 58371. https://html.spec.whatwg.org/#attr-img-ismap 58372. https://html.spec.whatwg.org/#attr-dim-width 58373. https://html.spec.whatwg.org/#attr-dim-height 58374. https://html.spec.whatwg.org/#attr-img-referrerpolicy 58375. https://html.spec.whatwg.org/#attr-img-decoding 58376. https://html.spec.whatwg.org/#attr-img-loading 58377. https://html.spec.whatwg.org/#attr-img-fetchpriority 58378. https://html.spec.whatwg.org/#htmlimageelement 58379. https://html.spec.whatwg.org/#the-input-element 58380. https://html.spec.whatwg.org/#flow-content-2 58381. https://html.spec.whatwg.org/#phrasing-content-2 58382. https://html.spec.whatwg.org/#interactive-content-2 58383. https://html.spec.whatwg.org/#category-listed 58384. https://html.spec.whatwg.org/#category-label 58385. https://html.spec.whatwg.org/#category-submit 58386. https://html.spec.whatwg.org/#category-reset 58387. https://html.spec.whatwg.org/#form-associated-element 58388. https://html.spec.whatwg.org/#palpable-content-2 58389. https://html.spec.whatwg.org/#phrasing-content-2 58390. https://html.spec.whatwg.org/#global-attributes 58391. https://html.spec.whatwg.org/#attr-input-accept 58392. https://html.spec.whatwg.org/#attr-input-alpha 58393. https://html.spec.whatwg.org/#attr-input-alt 58394. https://html.spec.whatwg.org/#attr-fe-autocomplete 58395. https://html.spec.whatwg.org/#attr-input-checked 58396. https://html.spec.whatwg.org/#attr-input-colorspace 58397. https://html.spec.whatwg.org/#attr-fe-dirname 58398. https://html.spec.whatwg.org/#attr-fe-disabled 58399. https://html.spec.whatwg.org/#attr-fae-form 58400. https://html.spec.whatwg.org/#attr-fs-formaction 58401. https://html.spec.whatwg.org/#attr-fs-formenctype 58402. https://html.spec.whatwg.org/#attr-fs-formmethod 58403. https://html.spec.whatwg.org/#attr-fs-formnovalidate 58404. https://html.spec.whatwg.org/#attr-fs-formtarget 58405. https://html.spec.whatwg.org/#attr-dim-height 58406. https://html.spec.whatwg.org/#attr-input-list 58407. https://html.spec.whatwg.org/#attr-input-max 58408. https://html.spec.whatwg.org/#attr-input-maxlength 58409. https://html.spec.whatwg.org/#attr-input-min 58410. https://html.spec.whatwg.org/#attr-input-minlength 58411. https://html.spec.whatwg.org/#attr-input-multiple 58412. https://html.spec.whatwg.org/#attr-fe-name 58413. https://html.spec.whatwg.org/#attr-input-pattern 58414. https://html.spec.whatwg.org/#attr-input-placeholder 58415. https://html.spec.whatwg.org/#attr-popovertarget 58416. https://html.spec.whatwg.org/#attr-popovertargetaction 58417. https://html.spec.whatwg.org/#attr-input-readonly 58418. https://html.spec.whatwg.org/#attr-input-required 58419. https://html.spec.whatwg.org/#attr-input-size 58420. https://html.spec.whatwg.org/#attr-input-src 58421. https://html.spec.whatwg.org/#attr-input-step 58422. https://html.spec.whatwg.org/#attr-input-type 58423. https://html.spec.whatwg.org/#attr-input-value 58424. https://html.spec.whatwg.org/#attr-dim-width 58425. https://html.spec.whatwg.org/#htmlinputelement 58426. https://html.spec.whatwg.org/#the-ins-element 58427. https://html.spec.whatwg.org/#flow-content-2 58428. https://html.spec.whatwg.org/#phrasing-content-2 58429. https://html.spec.whatwg.org/#palpable-content-2 58430. https://html.spec.whatwg.org/#phrasing-content-2 58431. https://html.spec.whatwg.org/#transparent 58432. https://html.spec.whatwg.org/#global-attributes 58433. https://html.spec.whatwg.org/#attr-mod-cite 58434. https://html.spec.whatwg.org/#attr-mod-datetime 58435. https://html.spec.whatwg.org/#htmlmodelement 58436. https://html.spec.whatwg.org/#the-kbd-element 58437. https://html.spec.whatwg.org/#flow-content-2 58438. https://html.spec.whatwg.org/#phrasing-content-2 58439. https://html.spec.whatwg.org/#palpable-content-2 58440. https://html.spec.whatwg.org/#phrasing-content-2 58441. https://html.spec.whatwg.org/#phrasing-content-2 58442. https://html.spec.whatwg.org/#global-attributes 58443. https://html.spec.whatwg.org/#htmlelement 58444. https://html.spec.whatwg.org/#the-label-element 58445. https://html.spec.whatwg.org/#flow-content-2 58446. https://html.spec.whatwg.org/#phrasing-content-2 58447. https://html.spec.whatwg.org/#interactive-content-2 58448. https://html.spec.whatwg.org/#palpable-content-2 58449. https://html.spec.whatwg.org/#phrasing-content-2 58450. https://html.spec.whatwg.org/#phrasing-content-2 58451. https://html.spec.whatwg.org/#global-attributes 58452. https://html.spec.whatwg.org/#attr-label-for 58453. https://html.spec.whatwg.org/#htmllabelelement 58454. https://html.spec.whatwg.org/#the-legend-element 58455. https://html.spec.whatwg.org/#the-fieldset-element 58456. https://html.spec.whatwg.org/#the-fieldset-element 58457. https://html.spec.whatwg.org/#phrasing-content-2 58458. https://html.spec.whatwg.org/#heading-content-2 58459. https://html.spec.whatwg.org/#global-attributes 58460. https://html.spec.whatwg.org/#htmllegendelement 58461. https://html.spec.whatwg.org/#the-li-element 58462. https://html.spec.whatwg.org/#the-ol-element 58463. https://html.spec.whatwg.org/#the-ul-element 58464. https://html.spec.whatwg.org/#the-menu-element 58465. https://html.spec.whatwg.org/#flow-content-2 58466. https://html.spec.whatwg.org/#global-attributes 58467. https://html.spec.whatwg.org/#attr-li-value 58468. https://html.spec.whatwg.org/#htmllielement 58469. https://html.spec.whatwg.org/#the-link-element 58470. https://html.spec.whatwg.org/#metadata-content-2 58471. https://html.spec.whatwg.org/#flow-content-2 58472. https://html.spec.whatwg.org/#phrasing-content-2 58473. https://html.spec.whatwg.org/#the-head-element 58474. https://html.spec.whatwg.org/#the-noscript-element 58475. https://html.spec.whatwg.org/#phrasing-content-2 58476. https://html.spec.whatwg.org/#global-attributes 58477. https://html.spec.whatwg.org/#attr-link-href 58478. https://html.spec.whatwg.org/#attr-link-crossorigin 58479. https://html.spec.whatwg.org/#attr-link-rel 58480. https://html.spec.whatwg.org/#attr-link-as 58481. https://html.spec.whatwg.org/#attr-link-media 58482. https://html.spec.whatwg.org/#attr-link-hreflang 58483. https://html.spec.whatwg.org/#attr-link-type 58484. https://html.spec.whatwg.org/#attr-link-sizes 58485. https://html.spec.whatwg.org/#attr-link-imagesrcset 58486. https://html.spec.whatwg.org/#attr-link-imagesizes 58487. https://html.spec.whatwg.org/#attr-link-referrerpolicy 58488. https://html.spec.whatwg.org/#attr-link-integrity 58489. https://html.spec.whatwg.org/#attr-link-blocking 58490. https://html.spec.whatwg.org/#attr-link-color 58491. https://html.spec.whatwg.org/#attr-link-disabled 58492. https://html.spec.whatwg.org/#attr-link-fetchpriority 58493. https://html.spec.whatwg.org/#htmllinkelement 58494. https://html.spec.whatwg.org/#the-main-element 58495. https://html.spec.whatwg.org/#flow-content-2 58496. https://html.spec.whatwg.org/#palpable-content-2 58497. https://html.spec.whatwg.org/#flow-content-2 58498. https://html.spec.whatwg.org/#flow-content-2 58499. https://html.spec.whatwg.org/#global-attributes 58500. https://html.spec.whatwg.org/#htmlelement 58501. https://html.spec.whatwg.org/#the-map-element 58502. https://html.spec.whatwg.org/#image-map 58503. https://html.spec.whatwg.org/#flow-content-2 58504. https://html.spec.whatwg.org/#phrasing-content-2 58505. https://html.spec.whatwg.org/#palpable-content-2 58506. https://html.spec.whatwg.org/#phrasing-content-2 58507. https://html.spec.whatwg.org/#transparent 58508. https://html.spec.whatwg.org/#the-area-element 58509. https://html.spec.whatwg.org/#global-attributes 58510. https://html.spec.whatwg.org/#attr-map-name 58511. https://html.spec.whatwg.org/#htmlmapelement 58512. https://html.spec.whatwg.org/#the-mark-element 58513. https://html.spec.whatwg.org/#flow-content-2 58514. https://html.spec.whatwg.org/#phrasing-content-2 58515. https://html.spec.whatwg.org/#palpable-content-2 58516. https://html.spec.whatwg.org/#phrasing-content-2 58517. https://html.spec.whatwg.org/#phrasing-content-2 58518. https://html.spec.whatwg.org/#global-attributes 58519. https://html.spec.whatwg.org/#htmlelement 58520. https://w3c.github.io/mathml-core/#the-top-level-math-element 58521. https://html.spec.whatwg.org/#flow-content-2 58522. https://html.spec.whatwg.org/#phrasing-content-2 58523. https://html.spec.whatwg.org/#embedded-content-category 58524. https://html.spec.whatwg.org/#palpable-content-2 58525. https://html.spec.whatwg.org/#phrasing-content-2 58526. https://html.spec.whatwg.org/#refsMATHML 58527. https://html.spec.whatwg.org/#refsMATHML 58528. https://dom.spec.whatwg.org/#interface-element 58529. https://html.spec.whatwg.org/#the-menu-element 58530. https://html.spec.whatwg.org/#flow-content-2 58531. https://html.spec.whatwg.org/#palpable-content-2 58532. https://html.spec.whatwg.org/#flow-content-2 58533. https://html.spec.whatwg.org/#the-li-element 58534. https://html.spec.whatwg.org/#script-supporting-elements-2 58535. https://html.spec.whatwg.org/#global-attributes 58536. https://html.spec.whatwg.org/#htmlmenuelement 58537. https://html.spec.whatwg.org/#the-meta-element 58538. https://html.spec.whatwg.org/#metadata-content-2 58539. https://html.spec.whatwg.org/#flow-content-2 58540. https://html.spec.whatwg.org/#phrasing-content-2 58541. https://html.spec.whatwg.org/#the-head-element 58542. https://html.spec.whatwg.org/#the-noscript-element 58543. https://html.spec.whatwg.org/#phrasing-content-2 58544. https://html.spec.whatwg.org/#global-attributes 58545. https://html.spec.whatwg.org/#attr-meta-name 58546. https://html.spec.whatwg.org/#attr-meta-http-equiv 58547. https://html.spec.whatwg.org/#attr-meta-content 58548. https://html.spec.whatwg.org/#attr-meta-charset 58549. https://html.spec.whatwg.org/#attr-meta-media 58550. https://html.spec.whatwg.org/#htmlmetaelement 58551. https://html.spec.whatwg.org/#the-meter-element 58552. https://html.spec.whatwg.org/#flow-content-2 58553. https://html.spec.whatwg.org/#phrasing-content-2 58554. https://html.spec.whatwg.org/#category-label 58555. https://html.spec.whatwg.org/#palpable-content-2 58556. https://html.spec.whatwg.org/#phrasing-content-2 58557. https://html.spec.whatwg.org/#phrasing-content-2 58558. https://html.spec.whatwg.org/#global-attributes 58559. https://html.spec.whatwg.org/#attr-meter-value 58560. https://html.spec.whatwg.org/#attr-meter-min 58561. https://html.spec.whatwg.org/#attr-meter-max 58562. https://html.spec.whatwg.org/#attr-meter-low 58563. https://html.spec.whatwg.org/#attr-meter-high 58564. https://html.spec.whatwg.org/#attr-meter-optimum 58565. https://html.spec.whatwg.org/#htmlmeterelement 58566. https://html.spec.whatwg.org/#the-nav-element 58567. https://html.spec.whatwg.org/#flow-content-2 58568. https://html.spec.whatwg.org/#sectioning-content-2 58569. https://html.spec.whatwg.org/#palpable-content-2 58570. https://html.spec.whatwg.org/#flow-content-2 58571. https://html.spec.whatwg.org/#flow-content-2 58572. https://html.spec.whatwg.org/#global-attributes 58573. https://html.spec.whatwg.org/#htmlelement 58574. https://html.spec.whatwg.org/#the-noscript-element 58575. https://html.spec.whatwg.org/#metadata-content-2 58576. https://html.spec.whatwg.org/#flow-content-2 58577. https://html.spec.whatwg.org/#phrasing-content-2 58578. https://html.spec.whatwg.org/#the-head-element 58579. https://html.spec.whatwg.org/#phrasing-content-2 58580. https://html.spec.whatwg.org/#global-attributes 58581. https://html.spec.whatwg.org/#htmlelement 58582. https://html.spec.whatwg.org/#the-object-element 58583. https://html.spec.whatwg.org/#child-navigable 58584. https://html.spec.whatwg.org/#plugin 58585. https://html.spec.whatwg.org/#flow-content-2 58586. https://html.spec.whatwg.org/#phrasing-content-2 58587. https://html.spec.whatwg.org/#embedded-content-category 58588. https://html.spec.whatwg.org/#interactive-content-2 58589. https://html.spec.whatwg.org/#category-listed 58590. https://html.spec.whatwg.org/#form-associated-element 58591. https://html.spec.whatwg.org/#palpable-content-2 58592. https://html.spec.whatwg.org/#phrasing-content-2 58593. https://html.spec.whatwg.org/#transparent 58594. https://html.spec.whatwg.org/#global-attributes 58595. https://html.spec.whatwg.org/#attr-object-data 58596. https://html.spec.whatwg.org/#attr-object-type 58597. https://html.spec.whatwg.org/#attr-object-name 58598. https://html.spec.whatwg.org/#attr-fae-form 58599. https://html.spec.whatwg.org/#attr-dim-width 58600. https://html.spec.whatwg.org/#attr-dim-height 58601. https://html.spec.whatwg.org/#htmlobjectelement 58602. https://html.spec.whatwg.org/#the-ol-element 58603. https://html.spec.whatwg.org/#flow-content-2 58604. https://html.spec.whatwg.org/#palpable-content-2 58605. https://html.spec.whatwg.org/#flow-content-2 58606. https://html.spec.whatwg.org/#the-li-element 58607. https://html.spec.whatwg.org/#script-supporting-elements-2 58608. https://html.spec.whatwg.org/#global-attributes 58609. https://html.spec.whatwg.org/#attr-ol-reversed 58610. https://html.spec.whatwg.org/#attr-ol-start 58611. https://html.spec.whatwg.org/#attr-ol-type 58612. https://html.spec.whatwg.org/#htmlolistelement 58613. https://html.spec.whatwg.org/#the-optgroup-element 58614. https://html.spec.whatwg.org/#the-select-element 58615. https://html.spec.whatwg.org/#the-option-element 58616. https://html.spec.whatwg.org/#script-supporting-elements-2 58617. https://html.spec.whatwg.org/#global-attributes 58618. https://html.spec.whatwg.org/#attr-optgroup-disabled 58619. https://html.spec.whatwg.org/#attr-optgroup-label 58620. https://html.spec.whatwg.org/#htmloptgroupelement 58621. https://html.spec.whatwg.org/#the-option-element 58622. https://html.spec.whatwg.org/#the-select-element 58623. https://html.spec.whatwg.org/#the-datalist-element 58624. https://html.spec.whatwg.org/#the-optgroup-element 58625. https://html.spec.whatwg.org/#text-content 58626. https://html.spec.whatwg.org/#global-attributes 58627. https://html.spec.whatwg.org/#attr-option-disabled 58628. https://html.spec.whatwg.org/#attr-option-label 58629. https://html.spec.whatwg.org/#attr-option-selected 58630. https://html.spec.whatwg.org/#attr-option-value 58631. https://html.spec.whatwg.org/#htmloptionelement 58632. https://html.spec.whatwg.org/#the-output-element 58633. https://html.spec.whatwg.org/#flow-content-2 58634. https://html.spec.whatwg.org/#phrasing-content-2 58635. https://html.spec.whatwg.org/#category-listed 58636. https://html.spec.whatwg.org/#category-label 58637. https://html.spec.whatwg.org/#category-reset 58638. https://html.spec.whatwg.org/#form-associated-element 58639. https://html.spec.whatwg.org/#palpable-content-2 58640. https://html.spec.whatwg.org/#phrasing-content-2 58641. https://html.spec.whatwg.org/#phrasing-content-2 58642. https://html.spec.whatwg.org/#global-attributes 58643. https://html.spec.whatwg.org/#attr-output-for 58644. https://html.spec.whatwg.org/#attr-fae-form 58645. https://html.spec.whatwg.org/#attr-fe-name 58646. https://html.spec.whatwg.org/#htmloutputelement 58647. https://html.spec.whatwg.org/#the-p-element 58648. https://html.spec.whatwg.org/#flow-content-2 58649. https://html.spec.whatwg.org/#palpable-content-2 58650. https://html.spec.whatwg.org/#flow-content-2 58651. https://html.spec.whatwg.org/#phrasing-content-2 58652. https://html.spec.whatwg.org/#global-attributes 58653. https://html.spec.whatwg.org/#htmlparagraphelement 58654. https://html.spec.whatwg.org/#the-picture-element 58655. https://html.spec.whatwg.org/#flow-content-2 58656. https://html.spec.whatwg.org/#phrasing-content-2 58657. https://html.spec.whatwg.org/#embedded-content-category 58658. https://html.spec.whatwg.org/#palpable-content-2 58659. https://html.spec.whatwg.org/#phrasing-content-2 58660. https://html.spec.whatwg.org/#the-source-element 58661. https://html.spec.whatwg.org/#the-img-element 58662. https://html.spec.whatwg.org/#script-supporting-elements-2 58663. https://html.spec.whatwg.org/#global-attributes 58664. https://html.spec.whatwg.org/#htmlpictureelement 58665. https://html.spec.whatwg.org/#the-pre-element 58666. https://html.spec.whatwg.org/#flow-content-2 58667. https://html.spec.whatwg.org/#palpable-content-2 58668. https://html.spec.whatwg.org/#flow-content-2 58669. https://html.spec.whatwg.org/#phrasing-content-2 58670. https://html.spec.whatwg.org/#global-attributes 58671. https://html.spec.whatwg.org/#htmlpreelement 58672. https://html.spec.whatwg.org/#the-progress-element 58673. https://html.spec.whatwg.org/#flow-content-2 58674. https://html.spec.whatwg.org/#phrasing-content-2 58675. https://html.spec.whatwg.org/#category-label 58676. https://html.spec.whatwg.org/#palpable-content-2 58677. https://html.spec.whatwg.org/#phrasing-content-2 58678. https://html.spec.whatwg.org/#phrasing-content-2 58679. https://html.spec.whatwg.org/#global-attributes 58680. https://html.spec.whatwg.org/#attr-progress-value 58681. https://html.spec.whatwg.org/#attr-progress-max 58682. https://html.spec.whatwg.org/#htmlprogresselement 58683. https://html.spec.whatwg.org/#the-q-element 58684. https://html.spec.whatwg.org/#flow-content-2 58685. https://html.spec.whatwg.org/#phrasing-content-2 58686. https://html.spec.whatwg.org/#palpable-content-2 58687. https://html.spec.whatwg.org/#phrasing-content-2 58688. https://html.spec.whatwg.org/#phrasing-content-2 58689. https://html.spec.whatwg.org/#global-attributes 58690. https://html.spec.whatwg.org/#attr-q-cite 58691. https://html.spec.whatwg.org/#htmlquoteelement 58692. https://html.spec.whatwg.org/#the-rp-element 58693. https://html.spec.whatwg.org/#the-ruby-element 58694. https://html.spec.whatwg.org/#text-content 58695. https://html.spec.whatwg.org/#global-attributes 58696. https://html.spec.whatwg.org/#htmlelement 58697. https://html.spec.whatwg.org/#the-rt-element 58698. https://html.spec.whatwg.org/#the-ruby-element 58699. https://html.spec.whatwg.org/#phrasing-content-2 58700. https://html.spec.whatwg.org/#global-attributes 58701. https://html.spec.whatwg.org/#htmlelement 58702. https://html.spec.whatwg.org/#the-ruby-element 58703. https://html.spec.whatwg.org/#flow-content-2 58704. https://html.spec.whatwg.org/#phrasing-content-2 58705. https://html.spec.whatwg.org/#palpable-content-2 58706. https://html.spec.whatwg.org/#phrasing-content-2 58707. https://html.spec.whatwg.org/#phrasing-content-2 58708. https://html.spec.whatwg.org/#the-rt-element 58709. https://html.spec.whatwg.org/#the-rp-element 58710. https://html.spec.whatwg.org/#global-attributes 58711. https://html.spec.whatwg.org/#htmlelement 58712. https://html.spec.whatwg.org/#the-s-element 58713. https://html.spec.whatwg.org/#flow-content-2 58714. https://html.spec.whatwg.org/#phrasing-content-2 58715. https://html.spec.whatwg.org/#palpable-content-2 58716. https://html.spec.whatwg.org/#phrasing-content-2 58717. https://html.spec.whatwg.org/#phrasing-content-2 58718. https://html.spec.whatwg.org/#global-attributes 58719. https://html.spec.whatwg.org/#htmlelement 58720. https://html.spec.whatwg.org/#the-samp-element 58721. https://html.spec.whatwg.org/#flow-content-2 58722. https://html.spec.whatwg.org/#phrasing-content-2 58723. https://html.spec.whatwg.org/#palpable-content-2 58724. https://html.spec.whatwg.org/#phrasing-content-2 58725. https://html.spec.whatwg.org/#phrasing-content-2 58726. https://html.spec.whatwg.org/#global-attributes 58727. https://html.spec.whatwg.org/#htmlelement 58728. https://html.spec.whatwg.org/#the-script-element 58729. https://html.spec.whatwg.org/#metadata-content-2 58730. https://html.spec.whatwg.org/#flow-content-2 58731. https://html.spec.whatwg.org/#phrasing-content-2 58732. https://html.spec.whatwg.org/#script-supporting-elements-2 58733. https://html.spec.whatwg.org/#the-head-element 58734. https://html.spec.whatwg.org/#phrasing-content-2 58735. https://html.spec.whatwg.org/#script-supporting-elements-2 58736. https://html.spec.whatwg.org/#global-attributes 58737. https://html.spec.whatwg.org/#attr-script-src 58738. https://html.spec.whatwg.org/#attr-script-type 58739. https://html.spec.whatwg.org/#attr-script-nomodule 58740. https://html.spec.whatwg.org/#attr-script-async 58741. https://html.spec.whatwg.org/#attr-script-defer 58742. https://html.spec.whatwg.org/#attr-script-crossorigin 58743. https://html.spec.whatwg.org/#attr-script-integrity 58744. https://html.spec.whatwg.org/#attr-script-referrerpolicy 58745. https://html.spec.whatwg.org/#attr-script-blocking 58746. https://html.spec.whatwg.org/#attr-script-fetchpriority 58747. https://html.spec.whatwg.org/#htmlscriptelement 58748. https://html.spec.whatwg.org/#the-search-element 58749. https://html.spec.whatwg.org/#flow-content-2 58750. https://html.spec.whatwg.org/#palpable-content-2 58751. https://html.spec.whatwg.org/#flow-content-2 58752. https://html.spec.whatwg.org/#flow-content-2 58753. https://html.spec.whatwg.org/#global-attributes 58754. https://html.spec.whatwg.org/#htmlelement 58755. https://html.spec.whatwg.org/#the-section-element 58756. https://html.spec.whatwg.org/#flow-content-2 58757. https://html.spec.whatwg.org/#sectioning-content-2 58758. https://html.spec.whatwg.org/#palpable-content-2 58759. https://html.spec.whatwg.org/#flow-content-2 58760. https://html.spec.whatwg.org/#flow-content-2 58761. https://html.spec.whatwg.org/#global-attributes 58762. https://html.spec.whatwg.org/#htmlelement 58763. https://html.spec.whatwg.org/#the-select-element 58764. https://html.spec.whatwg.org/#flow-content-2 58765. https://html.spec.whatwg.org/#phrasing-content-2 58766. https://html.spec.whatwg.org/#interactive-content-2 58767. https://html.spec.whatwg.org/#category-listed 58768. https://html.spec.whatwg.org/#category-label 58769. https://html.spec.whatwg.org/#category-submit 58770. https://html.spec.whatwg.org/#category-reset 58771. https://html.spec.whatwg.org/#form-associated-element 58772. https://html.spec.whatwg.org/#palpable-content-2 58773. https://html.spec.whatwg.org/#phrasing-content-2 58774. https://html.spec.whatwg.org/#the-option-element 58775. https://html.spec.whatwg.org/#the-optgroup-element 58776. https://html.spec.whatwg.org/#script-supporting-elements-2 58777. https://html.spec.whatwg.org/#global-attributes 58778. https://html.spec.whatwg.org/#attr-fe-autocomplete 58779. https://html.spec.whatwg.org/#attr-fe-disabled 58780. https://html.spec.whatwg.org/#attr-fae-form 58781. https://html.spec.whatwg.org/#attr-select-multiple 58782. https://html.spec.whatwg.org/#attr-fe-name 58783. https://html.spec.whatwg.org/#attr-select-required 58784. https://html.spec.whatwg.org/#attr-select-size 58785. https://html.spec.whatwg.org/#htmlselectelement 58786. https://html.spec.whatwg.org/#the-slot-element 58787. https://html.spec.whatwg.org/#flow-content-2 58788. https://html.spec.whatwg.org/#phrasing-content-2 58789. https://html.spec.whatwg.org/#phrasing-content-2 58790. https://html.spec.whatwg.org/#transparent 58791. https://html.spec.whatwg.org/#global-attributes 58792. https://html.spec.whatwg.org/#attr-slot-name 58793. https://html.spec.whatwg.org/#htmlslotelement 58794. https://html.spec.whatwg.org/#the-small-element 58795. https://html.spec.whatwg.org/#flow-content-2 58796. https://html.spec.whatwg.org/#phrasing-content-2 58797. https://html.spec.whatwg.org/#palpable-content-2 58798. https://html.spec.whatwg.org/#phrasing-content-2 58799. https://html.spec.whatwg.org/#phrasing-content-2 58800. https://html.spec.whatwg.org/#global-attributes 58801. https://html.spec.whatwg.org/#htmlelement 58802. https://html.spec.whatwg.org/#the-source-element 58803. https://html.spec.whatwg.org/#the-img-element 58804. https://html.spec.whatwg.org/#the-video-element 58805. https://html.spec.whatwg.org/#the-audio-element 58806. https://html.spec.whatwg.org/#the-picture-element 58807. https://html.spec.whatwg.org/#the-video-element 58808. https://html.spec.whatwg.org/#the-audio-element 58809. https://html.spec.whatwg.org/#global-attributes 58810. https://html.spec.whatwg.org/#attr-source-type 58811. https://html.spec.whatwg.org/#attr-source-media 58812. https://html.spec.whatwg.org/#attr-source-src 58813. https://html.spec.whatwg.org/#attr-source-srcset 58814. https://html.spec.whatwg.org/#attr-source-sizes 58815. https://html.spec.whatwg.org/#attr-dim-width 58816. https://html.spec.whatwg.org/#attr-dim-height 58817. https://html.spec.whatwg.org/#htmlsourceelement 58818. https://html.spec.whatwg.org/#the-span-element 58819. https://html.spec.whatwg.org/#flow-content-2 58820. https://html.spec.whatwg.org/#phrasing-content-2 58821. https://html.spec.whatwg.org/#palpable-content-2 58822. https://html.spec.whatwg.org/#phrasing-content-2 58823. https://html.spec.whatwg.org/#phrasing-content-2 58824. https://html.spec.whatwg.org/#global-attributes 58825. https://html.spec.whatwg.org/#htmlspanelement 58826. https://html.spec.whatwg.org/#the-strong-element 58827. https://html.spec.whatwg.org/#flow-content-2 58828. https://html.spec.whatwg.org/#phrasing-content-2 58829. https://html.spec.whatwg.org/#palpable-content-2 58830. https://html.spec.whatwg.org/#phrasing-content-2 58831. https://html.spec.whatwg.org/#phrasing-content-2 58832. https://html.spec.whatwg.org/#global-attributes 58833. https://html.spec.whatwg.org/#htmlelement 58834. https://html.spec.whatwg.org/#the-style-element 58835. https://html.spec.whatwg.org/#metadata-content-2 58836. https://html.spec.whatwg.org/#the-head-element 58837. https://html.spec.whatwg.org/#the-noscript-element 58838. https://html.spec.whatwg.org/#global-attributes 58839. https://html.spec.whatwg.org/#attr-style-media 58840. https://html.spec.whatwg.org/#attr-style-blocking 58841. https://html.spec.whatwg.org/#htmlstyleelement 58842. https://html.spec.whatwg.org/#the-sub-and-sup-elements 58843. https://html.spec.whatwg.org/#flow-content-2 58844. https://html.spec.whatwg.org/#phrasing-content-2 58845. https://html.spec.whatwg.org/#palpable-content-2 58846. https://html.spec.whatwg.org/#phrasing-content-2 58847. https://html.spec.whatwg.org/#phrasing-content-2 58848. https://html.spec.whatwg.org/#global-attributes 58849. https://html.spec.whatwg.org/#htmlelement 58850. https://html.spec.whatwg.org/#the-summary-element 58851. https://html.spec.whatwg.org/#the-details-element 58852. https://html.spec.whatwg.org/#the-details-element 58853. https://html.spec.whatwg.org/#phrasing-content-2 58854. https://html.spec.whatwg.org/#heading-content-2 58855. https://html.spec.whatwg.org/#global-attributes 58856. https://html.spec.whatwg.org/#htmlelement 58857. https://html.spec.whatwg.org/#the-sub-and-sup-elements 58858. https://html.spec.whatwg.org/#flow-content-2 58859. https://html.spec.whatwg.org/#phrasing-content-2 58860. https://html.spec.whatwg.org/#palpable-content-2 58861. https://html.spec.whatwg.org/#phrasing-content-2 58862. https://html.spec.whatwg.org/#phrasing-content-2 58863. https://html.spec.whatwg.org/#global-attributes 58864. https://html.spec.whatwg.org/#htmlelement 58865. https://svgwg.org/svg2-draft/struct.html#SVGElement 58866. https://html.spec.whatwg.org/#flow-content-2 58867. https://html.spec.whatwg.org/#phrasing-content-2 58868. https://html.spec.whatwg.org/#embedded-content-category 58869. https://html.spec.whatwg.org/#palpable-content-2 58870. https://html.spec.whatwg.org/#phrasing-content-2 58871. https://html.spec.whatwg.org/#refsSVG 58872. https://html.spec.whatwg.org/#refsSVG 58873. https://svgwg.org/svg2-draft/struct.html#InterfaceSVGSVGElement 58874. https://html.spec.whatwg.org/#the-table-element 58875. https://html.spec.whatwg.org/#flow-content-2 58876. https://html.spec.whatwg.org/#palpable-content-2 58877. https://html.spec.whatwg.org/#flow-content-2 58878. https://html.spec.whatwg.org/#the-caption-element 58879. https://html.spec.whatwg.org/#the-colgroup-element 58880. https://html.spec.whatwg.org/#the-thead-element 58881. https://html.spec.whatwg.org/#the-tbody-element 58882. https://html.spec.whatwg.org/#the-tfoot-element 58883. https://html.spec.whatwg.org/#the-tr-element 58884. https://html.spec.whatwg.org/#script-supporting-elements-2 58885. https://html.spec.whatwg.org/#global-attributes 58886. https://html.spec.whatwg.org/#htmltableelement 58887. https://html.spec.whatwg.org/#the-tbody-element 58888. https://html.spec.whatwg.org/#the-table-element 58889. https://html.spec.whatwg.org/#the-tr-element 58890. https://html.spec.whatwg.org/#script-supporting-elements-2 58891. https://html.spec.whatwg.org/#global-attributes 58892. https://html.spec.whatwg.org/#htmltablesectionelement 58893. https://html.spec.whatwg.org/#the-td-element 58894. https://html.spec.whatwg.org/#the-tr-element 58895. https://html.spec.whatwg.org/#flow-content-2 58896. https://html.spec.whatwg.org/#global-attributes 58897. https://html.spec.whatwg.org/#attr-tdth-colspan 58898. https://html.spec.whatwg.org/#attr-tdth-rowspan 58899. https://html.spec.whatwg.org/#attr-tdth-headers 58900. https://html.spec.whatwg.org/#htmltablecellelement 58901. https://html.spec.whatwg.org/#the-template-element 58902. https://html.spec.whatwg.org/#metadata-content-2 58903. https://html.spec.whatwg.org/#flow-content-2 58904. https://html.spec.whatwg.org/#phrasing-content-2 58905. https://html.spec.whatwg.org/#script-supporting-elements-2 58906. https://html.spec.whatwg.org/#metadata-content-2 58907. https://html.spec.whatwg.org/#phrasing-content-2 58908. https://html.spec.whatwg.org/#script-supporting-elements-2 58909. https://html.spec.whatwg.org/#the-colgroup-element 58910. https://html.spec.whatwg.org/#global-attributes 58911. https://html.spec.whatwg.org/#attr-template-shadowrootmode 58912. https://html.spec.whatwg.org/#attr-template-shadowrootdelegatesfocus 58913. https://html.spec.whatwg.org/#attr-template-shadowrootclonable 58914. https://html.spec.whatwg.org/#attr-template-shadowrootserializable 58915. https://html.spec.whatwg.org/#attr-template-shadowrootcustomelementregistry 58916. https://html.spec.whatwg.org/#htmltemplateelement 58917. https://html.spec.whatwg.org/#the-textarea-element 58918. https://html.spec.whatwg.org/#flow-content-2 58919. https://html.spec.whatwg.org/#phrasing-content-2 58920. https://html.spec.whatwg.org/#interactive-content-2 58921. https://html.spec.whatwg.org/#category-listed 58922. https://html.spec.whatwg.org/#category-label 58923. https://html.spec.whatwg.org/#category-submit 58924. https://html.spec.whatwg.org/#category-reset 58925. https://html.spec.whatwg.org/#form-associated-element 58926. https://html.spec.whatwg.org/#palpable-content-2 58927. https://html.spec.whatwg.org/#phrasing-content-2 58928. https://html.spec.whatwg.org/#text-content 58929. https://html.spec.whatwg.org/#global-attributes 58930. https://html.spec.whatwg.org/#attr-fe-autocomplete 58931. https://html.spec.whatwg.org/#attr-textarea-cols 58932. https://html.spec.whatwg.org/#attr-fe-dirname 58933. https://html.spec.whatwg.org/#attr-fe-disabled 58934. https://html.spec.whatwg.org/#attr-fae-form 58935. https://html.spec.whatwg.org/#attr-textarea-maxlength 58936. https://html.spec.whatwg.org/#attr-textarea-minlength 58937. https://html.spec.whatwg.org/#attr-fe-name 58938. https://html.spec.whatwg.org/#attr-textarea-placeholder 58939. https://html.spec.whatwg.org/#attr-textarea-readonly 58940. https://html.spec.whatwg.org/#attr-textarea-required 58941. https://html.spec.whatwg.org/#attr-textarea-rows 58942. https://html.spec.whatwg.org/#attr-textarea-wrap 58943. https://html.spec.whatwg.org/#htmltextareaelement 58944. https://html.spec.whatwg.org/#the-tfoot-element 58945. https://html.spec.whatwg.org/#the-table-element 58946. https://html.spec.whatwg.org/#the-tr-element 58947. https://html.spec.whatwg.org/#script-supporting-elements-2 58948. https://html.spec.whatwg.org/#global-attributes 58949. https://html.spec.whatwg.org/#htmltablesectionelement 58950. https://html.spec.whatwg.org/#the-th-element 58951. https://html.spec.whatwg.org/#interactive-content-2 58952. https://html.spec.whatwg.org/#the-tr-element 58953. https://html.spec.whatwg.org/#flow-content-2 58954. https://html.spec.whatwg.org/#global-attributes 58955. https://html.spec.whatwg.org/#attr-tdth-colspan 58956. https://html.spec.whatwg.org/#attr-tdth-rowspan 58957. https://html.spec.whatwg.org/#attr-tdth-headers 58958. https://html.spec.whatwg.org/#attr-th-scope 58959. https://html.spec.whatwg.org/#attr-th-abbr 58960. https://html.spec.whatwg.org/#htmltablecellelement 58961. https://html.spec.whatwg.org/#the-thead-element 58962. https://html.spec.whatwg.org/#the-table-element 58963. https://html.spec.whatwg.org/#the-tr-element 58964. https://html.spec.whatwg.org/#script-supporting-elements-2 58965. https://html.spec.whatwg.org/#global-attributes 58966. https://html.spec.whatwg.org/#htmltablesectionelement 58967. https://html.spec.whatwg.org/#the-time-element 58968. https://html.spec.whatwg.org/#flow-content-2 58969. https://html.spec.whatwg.org/#phrasing-content-2 58970. https://html.spec.whatwg.org/#palpable-content-2 58971. https://html.spec.whatwg.org/#phrasing-content-2 58972. https://html.spec.whatwg.org/#phrasing-content-2 58973. https://html.spec.whatwg.org/#global-attributes 58974. https://html.spec.whatwg.org/#attr-time-datetime 58975. https://html.spec.whatwg.org/#htmltimeelement 58976. https://html.spec.whatwg.org/#the-title-element 58977. https://html.spec.whatwg.org/#metadata-content-2 58978. https://html.spec.whatwg.org/#the-head-element 58979. https://html.spec.whatwg.org/#text-content 58980. https://html.spec.whatwg.org/#global-attributes 58981. https://html.spec.whatwg.org/#htmltitleelement 58982. https://html.spec.whatwg.org/#the-tr-element 58983. https://html.spec.whatwg.org/#the-table-element 58984. https://html.spec.whatwg.org/#the-thead-element 58985. https://html.spec.whatwg.org/#the-tbody-element 58986. https://html.spec.whatwg.org/#the-tfoot-element 58987. https://html.spec.whatwg.org/#the-th-element 58988. https://html.spec.whatwg.org/#the-td-element 58989. https://html.spec.whatwg.org/#script-supporting-elements-2 58990. https://html.spec.whatwg.org/#global-attributes 58991. https://html.spec.whatwg.org/#htmltablerowelement 58992. https://html.spec.whatwg.org/#the-track-element 58993. https://html.spec.whatwg.org/#the-audio-element 58994. https://html.spec.whatwg.org/#the-video-element 58995. https://html.spec.whatwg.org/#global-attributes 58996. https://html.spec.whatwg.org/#attr-track-default 58997. https://html.spec.whatwg.org/#attr-track-kind 58998. https://html.spec.whatwg.org/#attr-track-label 58999. https://html.spec.whatwg.org/#attr-track-src 59000. https://html.spec.whatwg.org/#attr-track-srclang 59001. https://html.spec.whatwg.org/#htmltrackelement 59002. https://html.spec.whatwg.org/#the-u-element 59003. https://html.spec.whatwg.org/#flow-content-2 59004. https://html.spec.whatwg.org/#phrasing-content-2 59005. https://html.spec.whatwg.org/#palpable-content-2 59006. https://html.spec.whatwg.org/#phrasing-content-2 59007. https://html.spec.whatwg.org/#phrasing-content-2 59008. https://html.spec.whatwg.org/#global-attributes 59009. https://html.spec.whatwg.org/#htmlelement 59010. https://html.spec.whatwg.org/#the-ul-element 59011. https://html.spec.whatwg.org/#flow-content-2 59012. https://html.spec.whatwg.org/#palpable-content-2 59013. https://html.spec.whatwg.org/#flow-content-2 59014. https://html.spec.whatwg.org/#the-li-element 59015. https://html.spec.whatwg.org/#script-supporting-elements-2 59016. https://html.spec.whatwg.org/#global-attributes 59017. https://html.spec.whatwg.org/#htmlulistelement 59018. https://html.spec.whatwg.org/#the-var-element 59019. https://html.spec.whatwg.org/#flow-content-2 59020. https://html.spec.whatwg.org/#phrasing-content-2 59021. https://html.spec.whatwg.org/#palpable-content-2 59022. https://html.spec.whatwg.org/#phrasing-content-2 59023. https://html.spec.whatwg.org/#phrasing-content-2 59024. https://html.spec.whatwg.org/#global-attributes 59025. https://html.spec.whatwg.org/#htmlelement 59026. https://html.spec.whatwg.org/#the-video-element 59027. https://html.spec.whatwg.org/#flow-content-2 59028. https://html.spec.whatwg.org/#phrasing-content-2 59029. https://html.spec.whatwg.org/#embedded-content-category 59030. https://html.spec.whatwg.org/#interactive-content-2 59031. https://html.spec.whatwg.org/#palpable-content-2 59032. https://html.spec.whatwg.org/#phrasing-content-2 59033. https://html.spec.whatwg.org/#the-source-element 59034. https://html.spec.whatwg.org/#the-track-element 59035. https://html.spec.whatwg.org/#transparent 59036. https://html.spec.whatwg.org/#global-attributes 59037. https://html.spec.whatwg.org/#attr-media-src 59038. https://html.spec.whatwg.org/#attr-media-crossorigin 59039. https://html.spec.whatwg.org/#attr-video-poster 59040. https://html.spec.whatwg.org/#attr-media-preload 59041. https://html.spec.whatwg.org/#attr-media-autoplay 59042. https://html.spec.whatwg.org/#attr-video-playsinline 59043. https://html.spec.whatwg.org/#attr-media-loop 59044. https://html.spec.whatwg.org/#attr-media-muted 59045. https://html.spec.whatwg.org/#attr-media-controls 59046. https://html.spec.whatwg.org/#attr-dim-width 59047. https://html.spec.whatwg.org/#attr-dim-height 59048. https://html.spec.whatwg.org/#htmlvideoelement 59049. https://html.spec.whatwg.org/#the-wbr-element 59050. https://html.spec.whatwg.org/#flow-content-2 59051. https://html.spec.whatwg.org/#phrasing-content-2 59052. https://html.spec.whatwg.org/#phrasing-content-2 59053. https://html.spec.whatwg.org/#global-attributes 59054. https://html.spec.whatwg.org/#htmlelement 59055. https://html.spec.whatwg.org/#autonomous-custom-element 59056. https://html.spec.whatwg.org/#flow-content-2 59057. https://html.spec.whatwg.org/#phrasing-content-2 59058. https://html.spec.whatwg.org/#palpable-content-2 59059. https://html.spec.whatwg.org/#flow-content-2 59060. https://html.spec.whatwg.org/#phrasing-content-2 59061. https://html.spec.whatwg.org/#transparent 59062. https://html.spec.whatwg.org/#global-attributes 59063. https://html.spec.whatwg.org/#htmlelement 59064. https://html.spec.whatwg.org/#the-a-element 59065. https://html.spec.whatwg.org/#the-a-element 59066. https://html.spec.whatwg.org/#the-th-element 59067. https://html.spec.whatwg.org/#the-a-element 59068. https://html.spec.whatwg.org/#metadata-content-2 59069. https://html.spec.whatwg.org/#the-base-element 59070. https://html.spec.whatwg.org/#the-link-element 59071. https://html.spec.whatwg.org/#the-meta-element 59072. https://html.spec.whatwg.org/#the-noscript-element 59073. https://html.spec.whatwg.org/#the-script-element 59074. https://html.spec.whatwg.org/#the-style-element 59075. https://html.spec.whatwg.org/#the-template-element 59076. https://html.spec.whatwg.org/#the-title-element 59077. https://html.spec.whatwg.org/#flow-content-2 59078. https://html.spec.whatwg.org/#the-a-element 59079. https://html.spec.whatwg.org/#the-abbr-element 59080. https://html.spec.whatwg.org/#the-address-element 59081. https://html.spec.whatwg.org/#the-article-element 59082. https://html.spec.whatwg.org/#the-aside-element 59083. https://html.spec.whatwg.org/#the-audio-element 59084. https://html.spec.whatwg.org/#the-b-element 59085. https://html.spec.whatwg.org/#the-bdi-element 59086. https://html.spec.whatwg.org/#the-bdo-element 59087. https://html.spec.whatwg.org/#the-blockquote-element 59088. https://html.spec.whatwg.org/#the-br-element 59089. https://html.spec.whatwg.org/#the-button-element 59090. https://html.spec.whatwg.org/#the-canvas-element 59091. https://html.spec.whatwg.org/#the-cite-element 59092. https://html.spec.whatwg.org/#the-code-element 59093. https://html.spec.whatwg.org/#the-data-element 59094. https://html.spec.whatwg.org/#the-datalist-element 59095. https://html.spec.whatwg.org/#the-del-element 59096. https://html.spec.whatwg.org/#the-details-element 59097. https://html.spec.whatwg.org/#the-dfn-element 59098. https://html.spec.whatwg.org/#the-dialog-element 59099. https://html.spec.whatwg.org/#the-div-element 59100. https://html.spec.whatwg.org/#the-dl-element 59101. https://html.spec.whatwg.org/#the-em-element 59102. https://html.spec.whatwg.org/#the-embed-element 59103. https://html.spec.whatwg.org/#the-fieldset-element 59104. https://html.spec.whatwg.org/#the-figure-element 59105. https://html.spec.whatwg.org/#the-footer-element 59106. https://html.spec.whatwg.org/#the-form-element 59107. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59108. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59109. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59110. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59111. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59112. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59113. https://html.spec.whatwg.org/#the-header-element 59114. https://html.spec.whatwg.org/#the-hgroup-element 59115. https://html.spec.whatwg.org/#the-hr-element 59116. https://html.spec.whatwg.org/#the-i-element 59117. https://html.spec.whatwg.org/#the-iframe-element 59118. https://html.spec.whatwg.org/#the-img-element 59119. https://html.spec.whatwg.org/#the-input-element 59120. https://html.spec.whatwg.org/#the-ins-element 59121. https://html.spec.whatwg.org/#the-kbd-element 59122. https://html.spec.whatwg.org/#the-label-element 59123. https://html.spec.whatwg.org/#the-map-element 59124. https://html.spec.whatwg.org/#the-mark-element 59125. https://w3c.github.io/mathml-core/#the-top-level-math-element 59126. https://html.spec.whatwg.org/#the-menu-element 59127. https://html.spec.whatwg.org/#the-meter-element 59128. https://html.spec.whatwg.org/#the-nav-element 59129. https://html.spec.whatwg.org/#the-noscript-element 59130. https://html.spec.whatwg.org/#the-object-element 59131. https://html.spec.whatwg.org/#the-ol-element 59132. https://html.spec.whatwg.org/#the-output-element 59133. https://html.spec.whatwg.org/#the-p-element 59134. https://html.spec.whatwg.org/#the-picture-element 59135. https://html.spec.whatwg.org/#the-pre-element 59136. https://html.spec.whatwg.org/#the-progress-element 59137. https://html.spec.whatwg.org/#the-q-element 59138. https://html.spec.whatwg.org/#the-ruby-element 59139. https://html.spec.whatwg.org/#the-s-element 59140. https://html.spec.whatwg.org/#the-samp-element 59141. https://html.spec.whatwg.org/#the-script-element 59142. https://html.spec.whatwg.org/#the-search-element 59143. https://html.spec.whatwg.org/#the-section-element 59144. https://html.spec.whatwg.org/#the-select-element 59145. https://html.spec.whatwg.org/#the-slot-element 59146. https://html.spec.whatwg.org/#the-small-element 59147. https://html.spec.whatwg.org/#the-span-element 59148. https://html.spec.whatwg.org/#the-strong-element 59149. https://html.spec.whatwg.org/#the-sub-and-sup-elements 59150. https://html.spec.whatwg.org/#the-sub-and-sup-elements 59151. https://svgwg.org/svg2-draft/struct.html#SVGElement 59152. https://html.spec.whatwg.org/#the-table-element 59153. https://html.spec.whatwg.org/#the-template-element 59154. https://html.spec.whatwg.org/#the-textarea-element 59155. https://html.spec.whatwg.org/#the-time-element 59156. https://html.spec.whatwg.org/#the-u-element 59157. https://html.spec.whatwg.org/#the-ul-element 59158. https://html.spec.whatwg.org/#the-var-element 59159. https://html.spec.whatwg.org/#the-video-element 59160. https://html.spec.whatwg.org/#the-wbr-element 59161. https://html.spec.whatwg.org/#autonomous-custom-element 59162. https://html.spec.whatwg.org/#text-content 59163. https://html.spec.whatwg.org/#the-area-element 59164. https://html.spec.whatwg.org/#the-map-element 59165. https://html.spec.whatwg.org/#the-link-element 59166. https://html.spec.whatwg.org/#allowed-in-the-body 59167. https://html.spec.whatwg.org/#the-main-element 59168. https://html.spec.whatwg.org/#hierarchically-correct-main-element 59169. https://html.spec.whatwg.org/#the-meta-element 59170. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 59171. https://html.spec.whatwg.org/#sectioning-content-2 59172. https://html.spec.whatwg.org/#the-article-element 59173. https://html.spec.whatwg.org/#the-aside-element 59174. https://html.spec.whatwg.org/#the-nav-element 59175. https://html.spec.whatwg.org/#the-section-element 59176. https://html.spec.whatwg.org/#heading-content-2 59177. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59178. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59179. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59180. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59181. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59182. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59183. https://html.spec.whatwg.org/#the-hgroup-element 59184. https://html.spec.whatwg.org/#phrasing-content-2 59185. https://html.spec.whatwg.org/#the-a-element 59186. https://html.spec.whatwg.org/#the-abbr-element 59187. https://html.spec.whatwg.org/#the-audio-element 59188. https://html.spec.whatwg.org/#the-b-element 59189. https://html.spec.whatwg.org/#the-bdi-element 59190. https://html.spec.whatwg.org/#the-bdo-element 59191. https://html.spec.whatwg.org/#the-br-element 59192. https://html.spec.whatwg.org/#the-button-element 59193. https://html.spec.whatwg.org/#the-canvas-element 59194. https://html.spec.whatwg.org/#the-cite-element 59195. https://html.spec.whatwg.org/#the-code-element 59196. https://html.spec.whatwg.org/#the-data-element 59197. https://html.spec.whatwg.org/#the-datalist-element 59198. https://html.spec.whatwg.org/#the-del-element 59199. https://html.spec.whatwg.org/#the-dfn-element 59200. https://html.spec.whatwg.org/#the-em-element 59201. https://html.spec.whatwg.org/#the-embed-element 59202. https://html.spec.whatwg.org/#the-i-element 59203. https://html.spec.whatwg.org/#the-iframe-element 59204. https://html.spec.whatwg.org/#the-img-element 59205. https://html.spec.whatwg.org/#the-input-element 59206. https://html.spec.whatwg.org/#the-ins-element 59207. https://html.spec.whatwg.org/#the-kbd-element 59208. https://html.spec.whatwg.org/#the-label-element 59209. https://html.spec.whatwg.org/#the-map-element 59210. https://html.spec.whatwg.org/#the-mark-element 59211. https://w3c.github.io/mathml-core/#the-top-level-math-element 59212. https://html.spec.whatwg.org/#the-meter-element 59213. https://html.spec.whatwg.org/#the-noscript-element 59214. https://html.spec.whatwg.org/#the-object-element 59215. https://html.spec.whatwg.org/#the-output-element 59216. https://html.spec.whatwg.org/#the-picture-element 59217. https://html.spec.whatwg.org/#the-progress-element 59218. https://html.spec.whatwg.org/#the-q-element 59219. https://html.spec.whatwg.org/#the-ruby-element 59220. https://html.spec.whatwg.org/#the-s-element 59221. https://html.spec.whatwg.org/#the-samp-element 59222. https://html.spec.whatwg.org/#the-script-element 59223. https://html.spec.whatwg.org/#the-select-element 59224. https://html.spec.whatwg.org/#the-slot-element 59225. https://html.spec.whatwg.org/#the-small-element 59226. https://html.spec.whatwg.org/#the-span-element 59227. https://html.spec.whatwg.org/#the-strong-element 59228. https://html.spec.whatwg.org/#the-sub-and-sup-elements 59229. https://html.spec.whatwg.org/#the-sub-and-sup-elements 59230. https://svgwg.org/svg2-draft/struct.html#SVGElement 59231. https://html.spec.whatwg.org/#the-template-element 59232. https://html.spec.whatwg.org/#the-textarea-element 59233. https://html.spec.whatwg.org/#the-time-element 59234. https://html.spec.whatwg.org/#the-u-element 59235. https://html.spec.whatwg.org/#the-var-element 59236. https://html.spec.whatwg.org/#the-video-element 59237. https://html.spec.whatwg.org/#the-wbr-element 59238. https://html.spec.whatwg.org/#autonomous-custom-element 59239. https://html.spec.whatwg.org/#text-content 59240. https://html.spec.whatwg.org/#the-area-element 59241. https://html.spec.whatwg.org/#the-map-element 59242. https://html.spec.whatwg.org/#the-link-element 59243. https://html.spec.whatwg.org/#allowed-in-the-body 59244. https://html.spec.whatwg.org/#the-meta-element 59245. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 59246. https://html.spec.whatwg.org/#embedded-content-category 59247. https://html.spec.whatwg.org/#the-audio-element 59248. https://html.spec.whatwg.org/#the-canvas-element 59249. https://html.spec.whatwg.org/#the-embed-element 59250. https://html.spec.whatwg.org/#the-iframe-element 59251. https://html.spec.whatwg.org/#the-img-element 59252. https://w3c.github.io/mathml-core/#the-top-level-math-element 59253. https://html.spec.whatwg.org/#the-object-element 59254. https://html.spec.whatwg.org/#the-picture-element 59255. https://svgwg.org/svg2-draft/struct.html#SVGElement 59256. https://html.spec.whatwg.org/#the-video-element 59257. https://html.spec.whatwg.org/#interactive-content-2 59258. https://html.spec.whatwg.org/#the-button-element 59259. https://html.spec.whatwg.org/#the-details-element 59260. https://html.spec.whatwg.org/#the-embed-element 59261. https://html.spec.whatwg.org/#the-iframe-element 59262. https://html.spec.whatwg.org/#the-label-element 59263. https://html.spec.whatwg.org/#the-select-element 59264. https://html.spec.whatwg.org/#the-textarea-element 59265. https://html.spec.whatwg.org/#the-a-element 59266. https://html.spec.whatwg.org/#attr-hyperlink-href 59267. https://html.spec.whatwg.org/#the-audio-element 59268. https://html.spec.whatwg.org/#attr-media-controls 59269. https://html.spec.whatwg.org/#the-img-element 59270. https://html.spec.whatwg.org/#attr-hyperlink-usemap 59271. https://html.spec.whatwg.org/#the-input-element 59272. https://html.spec.whatwg.org/#attr-input-type 59273. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 59274. https://html.spec.whatwg.org/#the-video-element 59275. https://html.spec.whatwg.org/#attr-media-controls 59276. https://html.spec.whatwg.org/#form-associated-element 59277. https://html.spec.whatwg.org/#the-button-element 59278. https://html.spec.whatwg.org/#the-fieldset-element 59279. https://html.spec.whatwg.org/#the-input-element 59280. https://html.spec.whatwg.org/#the-label-element 59281. https://html.spec.whatwg.org/#the-object-element 59282. https://html.spec.whatwg.org/#the-output-element 59283. https://html.spec.whatwg.org/#the-select-element 59284. https://html.spec.whatwg.org/#the-textarea-element 59285. https://html.spec.whatwg.org/#the-img-element 59286. https://html.spec.whatwg.org/#form-associated-custom-element 59287. https://html.spec.whatwg.org/#category-listed 59288. https://html.spec.whatwg.org/#the-button-element 59289. https://html.spec.whatwg.org/#the-fieldset-element 59290. https://html.spec.whatwg.org/#the-input-element 59291. https://html.spec.whatwg.org/#the-object-element 59292. https://html.spec.whatwg.org/#the-output-element 59293. https://html.spec.whatwg.org/#the-select-element 59294. https://html.spec.whatwg.org/#the-textarea-element 59295. https://html.spec.whatwg.org/#form-associated-custom-element 59296. https://html.spec.whatwg.org/#category-submit 59297. https://html.spec.whatwg.org/#the-button-element 59298. https://html.spec.whatwg.org/#the-input-element 59299. https://html.spec.whatwg.org/#the-select-element 59300. https://html.spec.whatwg.org/#the-textarea-element 59301. https://html.spec.whatwg.org/#form-associated-custom-element 59302. https://html.spec.whatwg.org/#category-reset 59303. https://html.spec.whatwg.org/#the-input-element 59304. https://html.spec.whatwg.org/#the-output-element 59305. https://html.spec.whatwg.org/#the-select-element 59306. https://html.spec.whatwg.org/#the-textarea-element 59307. https://html.spec.whatwg.org/#form-associated-custom-element 59308. https://html.spec.whatwg.org/#category-autocapitalize 59309. https://html.spec.whatwg.org/#the-button-element 59310. https://html.spec.whatwg.org/#the-fieldset-element 59311. https://html.spec.whatwg.org/#the-input-element 59312. https://html.spec.whatwg.org/#the-output-element 59313. https://html.spec.whatwg.org/#the-select-element 59314. https://html.spec.whatwg.org/#the-textarea-element 59315. https://html.spec.whatwg.org/#category-label 59316. https://html.spec.whatwg.org/#the-button-element 59317. https://html.spec.whatwg.org/#the-input-element 59318. https://html.spec.whatwg.org/#the-meter-element 59319. https://html.spec.whatwg.org/#the-output-element 59320. https://html.spec.whatwg.org/#the-progress-element 59321. https://html.spec.whatwg.org/#the-select-element 59322. https://html.spec.whatwg.org/#the-textarea-element 59323. https://html.spec.whatwg.org/#form-associated-custom-element 59324. https://html.spec.whatwg.org/#palpable-content-2 59325. https://html.spec.whatwg.org/#the-a-element 59326. https://html.spec.whatwg.org/#the-abbr-element 59327. https://html.spec.whatwg.org/#the-address-element 59328. https://html.spec.whatwg.org/#the-article-element 59329. https://html.spec.whatwg.org/#the-aside-element 59330. https://html.spec.whatwg.org/#the-b-element 59331. https://html.spec.whatwg.org/#the-bdi-element 59332. https://html.spec.whatwg.org/#the-bdo-element 59333. https://html.spec.whatwg.org/#the-blockquote-element 59334. https://html.spec.whatwg.org/#the-button-element 59335. https://html.spec.whatwg.org/#the-canvas-element 59336. https://html.spec.whatwg.org/#the-cite-element 59337. https://html.spec.whatwg.org/#the-code-element 59338. https://html.spec.whatwg.org/#the-data-element 59339. https://html.spec.whatwg.org/#the-del-element 59340. https://html.spec.whatwg.org/#the-details-element 59341. https://html.spec.whatwg.org/#the-dfn-element 59342. https://html.spec.whatwg.org/#the-div-element 59343. https://html.spec.whatwg.org/#the-em-element 59344. https://html.spec.whatwg.org/#the-embed-element 59345. https://html.spec.whatwg.org/#the-fieldset-element 59346. https://html.spec.whatwg.org/#the-figure-element 59347. https://html.spec.whatwg.org/#the-footer-element 59348. https://html.spec.whatwg.org/#the-form-element 59349. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59350. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59351. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59352. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59353. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59354. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 59355. https://html.spec.whatwg.org/#the-header-element 59356. https://html.spec.whatwg.org/#the-hgroup-element 59357. https://html.spec.whatwg.org/#the-i-element 59358. https://html.spec.whatwg.org/#the-iframe-element 59359. https://html.spec.whatwg.org/#the-img-element 59360. https://html.spec.whatwg.org/#the-ins-element 59361. https://html.spec.whatwg.org/#the-kbd-element 59362. https://html.spec.whatwg.org/#the-label-element 59363. https://html.spec.whatwg.org/#the-main-element 59364. https://html.spec.whatwg.org/#the-map-element 59365. https://html.spec.whatwg.org/#the-mark-element 59366. https://w3c.github.io/mathml-core/#the-top-level-math-element 59367. https://html.spec.whatwg.org/#the-meter-element 59368. https://html.spec.whatwg.org/#the-nav-element 59369. https://html.spec.whatwg.org/#the-object-element 59370. https://html.spec.whatwg.org/#the-output-element 59371. https://html.spec.whatwg.org/#the-p-element 59372. https://html.spec.whatwg.org/#the-picture-element 59373. https://html.spec.whatwg.org/#the-pre-element 59374. https://html.spec.whatwg.org/#the-progress-element 59375. https://html.spec.whatwg.org/#the-q-element 59376. https://html.spec.whatwg.org/#the-ruby-element 59377. https://html.spec.whatwg.org/#the-s-element 59378. https://html.spec.whatwg.org/#the-samp-element 59379. https://html.spec.whatwg.org/#the-search-element 59380. https://html.spec.whatwg.org/#the-section-element 59381. https://html.spec.whatwg.org/#the-select-element 59382. https://html.spec.whatwg.org/#the-small-element 59383. https://html.spec.whatwg.org/#the-span-element 59384. https://html.spec.whatwg.org/#the-strong-element 59385. https://html.spec.whatwg.org/#the-sub-and-sup-elements 59386. https://html.spec.whatwg.org/#the-sub-and-sup-elements 59387. https://svgwg.org/svg2-draft/struct.html#SVGElement 59388. https://html.spec.whatwg.org/#the-table-element 59389. https://html.spec.whatwg.org/#the-textarea-element 59390. https://html.spec.whatwg.org/#the-time-element 59391. https://html.spec.whatwg.org/#the-u-element 59392. https://html.spec.whatwg.org/#the-var-element 59393. https://html.spec.whatwg.org/#the-video-element 59394. https://html.spec.whatwg.org/#autonomous-custom-element 59395. https://html.spec.whatwg.org/#the-audio-element 59396. https://html.spec.whatwg.org/#attr-media-controls 59397. https://html.spec.whatwg.org/#the-dl-element 59398. https://html.spec.whatwg.org/#the-input-element 59399. https://html.spec.whatwg.org/#attr-input-type 59400. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 59401. https://html.spec.whatwg.org/#the-menu-element 59402. https://html.spec.whatwg.org/#the-li-element 59403. https://html.spec.whatwg.org/#the-ol-element 59404. https://html.spec.whatwg.org/#the-li-element 59405. https://html.spec.whatwg.org/#the-ul-element 59406. https://html.spec.whatwg.org/#the-li-element 59407. https://html.spec.whatwg.org/#text-content 59408. https://html.spec.whatwg.org/#inter-element-whitespace 59409. https://html.spec.whatwg.org/#script-supporting-elements-2 59410. https://html.spec.whatwg.org/#the-script-element 59411. https://html.spec.whatwg.org/#the-template-element 59412. https://html.spec.whatwg.org/#attr-th-abbr 59413. https://html.spec.whatwg.org/#attribute-text 59414. https://html.spec.whatwg.org/#attr-input-accept 59415. https://html.spec.whatwg.org/#file-upload-state-(type=file) 59416. https://html.spec.whatwg.org/#set-of-comma-separated-tokens 59417. https://mimesniff.spec.whatwg.org/#valid-mime-type-with-no-parameters 59418. https://html.spec.whatwg.org/#attr-form-accept-charset 59419. https://html.spec.whatwg.org/#form-submission-2 59420. https://infra.spec.whatwg.org/#ascii-case-insensitive 59421. https://html.spec.whatwg.org/#the-accesskey-attribute 59422. https://html.spec.whatwg.org/#ordered-set-of-unique-space-separated-tokens 59423. https://infra.spec.whatwg.org/#string-is 59424. https://html.spec.whatwg.org/#attr-fs-action 59425. https://url.spec.whatwg.org/#concept-url 59426. https://html.spec.whatwg.org/#form-submission-2 59427. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 59428. https://html.spec.whatwg.org/#attr-iframe-allow 59429. https://w3c.github.io/webappsec-feature-policy/#permissions-policy 59430. https://html.spec.whatwg.org/#the-iframe-element 59431. https://w3c.github.io/webappsec-feature-policy/#serialized-permissions-policy 59432. https://html.spec.whatwg.org/#attr-iframe-allowfullscreen 59433. https://html.spec.whatwg.org/#the-iframe-element 59434. https://fullscreen.spec.whatwg.org/#dom-element-requestfullscreen 59435. https://html.spec.whatwg.org/#boolean-attribute 59436. https://html.spec.whatwg.org/#attr-input-alpha 59437. https://html.spec.whatwg.org/#boolean-attribute 59438. https://html.spec.whatwg.org/#attr-area-alt 59439. https://html.spec.whatwg.org/#attr-img-alt 59440. https://html.spec.whatwg.org/#attr-input-alt 59441. https://html.spec.whatwg.org/#attribute-text 59442. https://html.spec.whatwg.org/#attr-link-as 59443. https://fetch.spec.whatwg.org/#concept-potential-destination 59444. https://html.spec.whatwg.org/#attr-link-rel 59445. https://html.spec.whatwg.org/#link-type-preload 59446. https://html.spec.whatwg.org/#attr-link-rel 59447. https://html.spec.whatwg.org/#link-type-modulepreload 59448. https://fetch.spec.whatwg.org/#concept-potential-destination 59449. https://html.spec.whatwg.org/#attr-link-rel 59450. https://html.spec.whatwg.org/#link-type-preload 59451. https://fetch.spec.whatwg.org/#request-destination-script-like 59452. https://html.spec.whatwg.org/#attr-link-rel 59453. https://html.spec.whatwg.org/#link-type-modulepreload 59454. https://html.spec.whatwg.org/#attr-script-async 59455. https://html.spec.whatwg.org/#boolean-attribute 59456. https://html.spec.whatwg.org/#attr-autocapitalize 59457. https://html.spec.whatwg.org/#attr-autocapitalize-on 59458. https://html.spec.whatwg.org/#attr-autocapitalize-off 59459. https://html.spec.whatwg.org/#attr-autocapitalize-none 59460. https://html.spec.whatwg.org/#attr-autocapitalize-sentences 59461. https://html.spec.whatwg.org/#attr-autocapitalize-words 59462. https://html.spec.whatwg.org/#attr-autocapitalize-characters 59463. https://html.spec.whatwg.org/#attr-form-autocomplete 59464. https://html.spec.whatwg.org/#attr-fe-autocomplete 59465. https://html.spec.whatwg.org/#attr-fe-autocomplete 59466. https://html.spec.whatwg.org/#attr-fe-autocomplete 59467. https://html.spec.whatwg.org/#autofill-field 59468. https://html.spec.whatwg.org/#attr-autocorrect 59469. https://html.spec.whatwg.org/#attr-autocorrect-on 59470. https://html.spec.whatwg.org/#attr-autocorrect-off 59471. https://html.spec.whatwg.org/#attr-fe-autofocus 59472. https://html.spec.whatwg.org/#boolean-attribute 59473. https://html.spec.whatwg.org/#attr-media-autoplay 59474. https://html.spec.whatwg.org/#attr-media-autoplay 59475. https://html.spec.whatwg.org/#media-resource 59476. https://html.spec.whatwg.org/#boolean-attribute 59477. https://html.spec.whatwg.org/#attr-link-blocking 59478. https://html.spec.whatwg.org/#attr-script-blocking 59479. https://html.spec.whatwg.org/#attr-style-blocking 59480. https://html.spec.whatwg.org/#potentially-render-blocking 59481. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 59482. https://html.spec.whatwg.org/#attr-meta-charset 59483. https://html.spec.whatwg.org/#character-encoding-declaration 59484. https://html.spec.whatwg.org/#attr-input-checked 59485. https://html.spec.whatwg.org/#boolean-attribute 59486. https://html.spec.whatwg.org/#attr-blockquote-cite 59487. https://html.spec.whatwg.org/#attr-mod-cite 59488. https://html.spec.whatwg.org/#attr-mod-cite 59489. https://html.spec.whatwg.org/#attr-q-cite 59490. https://html.spec.whatwg.org/#valid-url-potentially-surrounded-by-spaces 59491. https://html.spec.whatwg.org/#classes 59492. https://html.spec.whatwg.org/#set-of-space-separated-tokens 59493. https://html.spec.whatwg.org/#attr-dialog-closedby 59494. https://html.spec.whatwg.org/#attr-dialog-closedby-any 59495. https://html.spec.whatwg.org/#attr-dialog-closedby-closerequest 59496. https://html.spec.whatwg.org/#attr-dialog-closedby-none 59497. https://html.spec.whatwg.org/#attr-link-color 59498. https://html.spec.whatwg.org/#attr-link-rel 59499. https://drafts.csswg.org/css-color/#typedef-color 59500. https://html.spec.whatwg.org/#attr-input-colorspace 59501. https://html.spec.whatwg.org/#attr-input-colorspace-limited-srgb 59502. https://html.spec.whatwg.org/#attr-input-colorspace-display-p3 59503. https://html.spec.whatwg.org/#attr-textarea-cols 59504. https://html.spec.whatwg.org/#valid-non-negative-integer 59505. https://html.spec.whatwg.org/#attr-tdth-colspan 59506. https://html.spec.whatwg.org/#attr-tdth-colspan 59507. https://html.spec.whatwg.org/#valid-non-negative-integer 59508. https://html.spec.whatwg.org/#attr-button-command 59509. https://html.spec.whatwg.org/#attr-button-command-toggle-popover 59510. https://html.spec.whatwg.org/#attr-button-command-show-popover 59511. https://html.spec.whatwg.org/#attr-button-command-hide-popover 59512. https://html.spec.whatwg.org/#attr-button-command-close 59513. https://html.spec.whatwg.org/#attr-button-command-show-modal 59514. https://html.spec.whatwg.org/#attr-button-command-custom 59515. https://html.spec.whatwg.org/#attr-button-commandfor 59516. https://dom.spec.whatwg.org/#concept-id 59517. https://html.spec.whatwg.org/#attr-meta-content 59518. https://html.spec.whatwg.org/#attribute-text 59519. https://html.spec.whatwg.org/#attr-contenteditable 59520. https://html.spec.whatwg.org/#attr-media-controls 59521. https://html.spec.whatwg.org/#attr-media-controls 59522. https://html.spec.whatwg.org/#boolean-attribute 59523. https://html.spec.whatwg.org/#attr-area-coords 59524. https://html.spec.whatwg.org/#image-map 59525. https://html.spec.whatwg.org/#valid-list-of-floating-point-numbers 59526. https://html.spec.whatwg.org/#attr-media-crossorigin 59527. https://html.spec.whatwg.org/#attr-img-crossorigin 59528. https://html.spec.whatwg.org/#attr-link-crossorigin 59529. https://html.spec.whatwg.org/#attr-script-crossorigin 59530. https://html.spec.whatwg.org/#attr-media-crossorigin 59531. https://html.spec.whatwg.org/#attr-crossorigin-anonymous-keyword 59532. https://html.spec.whatwg.org/#attr-crossorigin-use-credentials-keyword 59533. https://html.spec.whatwg.org/#attr-object-data 59534. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 59535. https://html.spec.whatwg.org/#attr-mod-datetime 59536. https://html.spec.whatwg.org/#attr-mod-datetime 59537. https://html.spec.whatwg.org/#valid-date-string-with-optional-time 59538. https://html.spec.whatwg.org/#attr-time-datetime 59539. https://html.spec.whatwg.org/#valid-month-string 59540. https://html.spec.whatwg.org/#valid-date-string 59541. https://html.spec.whatwg.org/#valid-yearless-date-string 59542. https://html.spec.whatwg.org/#valid-time-string 59543. https://html.spec.whatwg.org/#valid-local-date-and-time-string 59544. https://html.spec.whatwg.org/#valid-time-zone-offset-string 59545. https://html.spec.whatwg.org/#valid-global-date-and-time-string 59546. https://html.spec.whatwg.org/#valid-week-string 59547. https://html.spec.whatwg.org/#valid-non-negative-integer 59548. https://html.spec.whatwg.org/#valid-duration-string 59549. https://html.spec.whatwg.org/#attr-img-decoding 59550. https://html.spec.whatwg.org/#attr-img-decoding-sync 59551. https://html.spec.whatwg.org/#attr-img-decoding-async 59552. https://html.spec.whatwg.org/#attr-img-decoding-auto 59553. https://html.spec.whatwg.org/#attr-track-default 59554. https://html.spec.whatwg.org/#text-track 59555. https://html.spec.whatwg.org/#boolean-attribute 59556. https://html.spec.whatwg.org/#attr-script-defer 59557. https://html.spec.whatwg.org/#boolean-attribute 59558. https://html.spec.whatwg.org/#attr-dir 59559. https://html.spec.whatwg.org/#the-directionality 59560. https://html.spec.whatwg.org/#attr-dir-ltr 59561. https://html.spec.whatwg.org/#attr-dir-rtl 59562. https://html.spec.whatwg.org/#attr-dir-auto 59563. https://html.spec.whatwg.org/#the-bdo-element 59564. https://html.spec.whatwg.org/#the-directionality 59565. https://html.spec.whatwg.org/#attr-dir-ltr 59566. https://html.spec.whatwg.org/#attr-dir-rtl 59567. https://html.spec.whatwg.org/#attr-fe-dirname 59568. https://html.spec.whatwg.org/#attr-fe-dirname 59569. https://html.spec.whatwg.org/#the-directionality 59570. https://html.spec.whatwg.org/#form-submission-2 59571. https://html.spec.whatwg.org/#attribute-text 59572. https://html.spec.whatwg.org/#attr-fe-disabled 59573. https://html.spec.whatwg.org/#attr-fe-disabled 59574. https://html.spec.whatwg.org/#attr-optgroup-disabled 59575. https://html.spec.whatwg.org/#attr-option-disabled 59576. https://html.spec.whatwg.org/#attr-fe-disabled 59577. https://html.spec.whatwg.org/#attr-fe-disabled 59578. https://html.spec.whatwg.org/#attr-fe-disabled 59579. https://html.spec.whatwg.org/#boolean-attribute 59580. https://html.spec.whatwg.org/#attr-fieldset-disabled 59581. https://html.spec.whatwg.org/#the-legend-element 59582. https://html.spec.whatwg.org/#boolean-attribute 59583. https://html.spec.whatwg.org/#attr-link-disabled 59584. https://html.spec.whatwg.org/#boolean-attribute 59585. https://html.spec.whatwg.org/#attr-hyperlink-download 59586. https://html.spec.whatwg.org/#attr-hyperlink-download 59587. https://html.spec.whatwg.org/#attr-draggable 59588. https://html.spec.whatwg.org/#attr-fs-enctype 59589. https://html.spec.whatwg.org/#entry-list 59590. https://html.spec.whatwg.org/#form-submission-2 59591. https://html.spec.whatwg.org/#attr-fs-enctype-urlencoded 59592. https://html.spec.whatwg.org/#attr-fs-enctype-formdata 59593. https://html.spec.whatwg.org/#attr-fs-enctype-text 59594. https://html.spec.whatwg.org/#attr-enterkeyhint 59595. https://html.spec.whatwg.org/#attr-enterkeyhint-keyword-enter 59596. https://html.spec.whatwg.org/#attr-enterkeyhint-keyword-done 59597. https://html.spec.whatwg.org/#attr-enterkeyhint-keyword-go 59598. https://html.spec.whatwg.org/#attr-enterkeyhint-keyword-next 59599. https://html.spec.whatwg.org/#attr-enterkeyhint-keyword-previous 59600. https://html.spec.whatwg.org/#attr-enterkeyhint-keyword-search 59601. https://html.spec.whatwg.org/#attr-enterkeyhint-keyword-send 59602. https://html.spec.whatwg.org/#attr-img-fetchpriority 59603. https://html.spec.whatwg.org/#attr-link-fetchpriority 59604. https://html.spec.whatwg.org/#attr-script-fetchpriority 59605. https://fetch.spec.whatwg.org/#request-priority 59606. https://fetch.spec.whatwg.org/#concept-fetch 59607. https://html.spec.whatwg.org/#attr-fetchpriority-auto 59608. https://html.spec.whatwg.org/#attr-fetchpriority-high 59609. https://html.spec.whatwg.org/#attr-fetchpriority-low 59610. https://html.spec.whatwg.org/#attr-label-for 59611. https://dom.spec.whatwg.org/#concept-id 59612. https://html.spec.whatwg.org/#attr-output-for 59613. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 59614. https://html.spec.whatwg.org/#attr-fae-form 59615. https://html.spec.whatwg.org/#attr-fae-form 59616. https://html.spec.whatwg.org/#attr-fae-form 59617. https://html.spec.whatwg.org/#attr-fae-form 59618. https://html.spec.whatwg.org/#attr-fae-form 59619. https://html.spec.whatwg.org/#attr-fae-form 59620. https://html.spec.whatwg.org/#attr-fae-form 59621. https://html.spec.whatwg.org/#attr-fae-form 59622. https://html.spec.whatwg.org/#the-form-element 59623. https://dom.spec.whatwg.org/#concept-id 59624. https://html.spec.whatwg.org/#attr-fs-formaction 59625. https://html.spec.whatwg.org/#attr-fs-formaction 59626. https://url.spec.whatwg.org/#concept-url 59627. https://html.spec.whatwg.org/#form-submission-2 59628. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 59629. https://html.spec.whatwg.org/#attr-fs-formenctype 59630. https://html.spec.whatwg.org/#attr-fs-formenctype 59631. https://html.spec.whatwg.org/#entry-list 59632. https://html.spec.whatwg.org/#form-submission-2 59633. https://html.spec.whatwg.org/#attr-fs-enctype-urlencoded 59634. https://html.spec.whatwg.org/#attr-fs-enctype-formdata 59635. https://html.spec.whatwg.org/#attr-fs-enctype-text 59636. https://html.spec.whatwg.org/#attr-fs-formmethod 59637. https://html.spec.whatwg.org/#attr-fs-formmethod 59638. https://html.spec.whatwg.org/#form-submission-2 59639. https://html.spec.whatwg.org/#attr-fs-formnovalidate 59640. https://html.spec.whatwg.org/#attr-fs-formnovalidate 59641. https://html.spec.whatwg.org/#form-submission-2 59642. https://html.spec.whatwg.org/#boolean-attribute 59643. https://html.spec.whatwg.org/#attr-fs-formtarget 59644. https://html.spec.whatwg.org/#attr-fs-formtarget 59645. https://html.spec.whatwg.org/#navigable 59646. https://html.spec.whatwg.org/#form-submission-2 59647. https://html.spec.whatwg.org/#valid-navigable-target-name-or-keyword 59648. https://html.spec.whatwg.org/#attr-tdth-headers 59649. https://html.spec.whatwg.org/#attr-tdth-headers 59650. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 59651. https://html.spec.whatwg.org/#attr-canvas-height 59652. https://html.spec.whatwg.org/#attr-dim-height 59653. https://html.spec.whatwg.org/#attr-dim-height 59654. https://html.spec.whatwg.org/#attr-dim-height 59655. https://html.spec.whatwg.org/#attr-dim-height 59656. https://html.spec.whatwg.org/#attr-dim-height 59657. https://html.spec.whatwg.org/#attr-dim-height 59658. https://html.spec.whatwg.org/#the-picture-element 59659. https://html.spec.whatwg.org/#attr-dim-height 59660. https://html.spec.whatwg.org/#valid-non-negative-integer 59661. https://html.spec.whatwg.org/#attr-hidden 59662. https://html.spec.whatwg.org/#attr-hidden-until-found 59663. https://html.spec.whatwg.org/#attr-hidden 59664. https://html.spec.whatwg.org/#attr-meter-high 59665. https://html.spec.whatwg.org/#valid-floating-point-number 59666. https://html.spec.whatwg.org/#attr-hyperlink-href 59667. https://html.spec.whatwg.org/#attr-hyperlink-href 59668. https://html.spec.whatwg.org/#hyperlink 59669. https://html.spec.whatwg.org/#valid-url-potentially-surrounded-by-spaces 59670. https://html.spec.whatwg.org/#attr-link-href 59671. https://html.spec.whatwg.org/#hyperlink 59672. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 59673. https://html.spec.whatwg.org/#attr-base-href 59674. https://html.spec.whatwg.org/#document-base-url 59675. https://html.spec.whatwg.org/#valid-url-potentially-surrounded-by-spaces 59676. https://html.spec.whatwg.org/#attr-hyperlink-hreflang 59677. https://html.spec.whatwg.org/#attr-link-hreflang 59678. https://html.spec.whatwg.org/#attr-meta-http-equiv 59679. https://html.spec.whatwg.org/#attr-meta-http-equiv-keyword-content-type 59680. https://html.spec.whatwg.org/#attr-meta-http-equiv-keyword-default-style 59681. https://html.spec.whatwg.org/#attr-meta-http-equiv-keyword-refresh 59682. https://html.spec.whatwg.org/#attr-meta-http-equiv-keyword-x-ua-compatible 59683. https://html.spec.whatwg.org/#attr-meta-http-equiv-keyword-content-security-policy 59684. https://html.spec.whatwg.org/#the-id-attribute 59685. https://dom.spec.whatwg.org/#concept-id 59686. https://html.spec.whatwg.org/#attribute-text 59687. https://html.spec.whatwg.org/#attr-link-imagesizes 59688. https://html.spec.whatwg.org/#attr-link-rel 59689. https://html.spec.whatwg.org/#link-type-preload 59690. https://html.spec.whatwg.org/#valid-source-size-list 59691. https://html.spec.whatwg.org/#attr-link-imagesrcset 59692. https://html.spec.whatwg.org/#attr-link-rel 59693. https://html.spec.whatwg.org/#link-type-preload 59694. https://html.spec.whatwg.org/#image-candidate-string 59695. https://html.spec.whatwg.org/#the-inert-attribute 59696. https://html.spec.whatwg.org/#inert 59697. https://html.spec.whatwg.org/#boolean-attribute 59698. https://html.spec.whatwg.org/#attr-inputmode 59699. https://html.spec.whatwg.org/#attr-inputmode-keyword-none 59700. https://html.spec.whatwg.org/#attr-inputmode-keyword-text 59701. https://html.spec.whatwg.org/#attr-inputmode-keyword-tel 59702. https://html.spec.whatwg.org/#attr-inputmode-keyword-email 59703. https://html.spec.whatwg.org/#attr-inputmode-keyword-url 59704. https://html.spec.whatwg.org/#attr-inputmode-keyword-numeric 59705. https://html.spec.whatwg.org/#attr-inputmode-keyword-decimal 59706. https://html.spec.whatwg.org/#attr-inputmode-keyword-search 59707. https://html.spec.whatwg.org/#attr-link-integrity 59708. https://html.spec.whatwg.org/#attr-script-integrity 59709. https://html.spec.whatwg.org/#refsSRI 59710. https://html.spec.whatwg.org/#attribute-text 59711. https://html.spec.whatwg.org/#attr-is 59712. https://html.spec.whatwg.org/#customized-built-in-element 59713. https://html.spec.whatwg.org/#valid-custom-element-name 59714. https://html.spec.whatwg.org/#customized-built-in-element 59715. https://html.spec.whatwg.org/#attr-img-ismap 59716. https://html.spec.whatwg.org/#boolean-attribute 59717. https://html.spec.whatwg.org/#attr-itemid 59718. https://html.spec.whatwg.org/#global-identifier 59719. https://html.spec.whatwg.org/#valid-url-potentially-surrounded-by-spaces 59720. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 59721. https://html.spec.whatwg.org/#property-names 59722. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 59723. https://url.spec.whatwg.org/#syntax-url-absolute 59724. https://html.spec.whatwg.org/#defined-property-name 59725. https://html.spec.whatwg.org/#attr-itemref 59726. https://html.spec.whatwg.org/#referenced 59727. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 59728. https://html.spec.whatwg.org/#attr-itemscope 59729. https://html.spec.whatwg.org/#boolean-attribute 59730. https://html.spec.whatwg.org/#attr-itemtype 59731. https://html.spec.whatwg.org/#item-types 59732. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 59733. https://url.spec.whatwg.org/#syntax-url-absolute 59734. https://html.spec.whatwg.org/#attr-track-kind 59735. https://html.spec.whatwg.org/#attr-track-kind-keyword-subtitles 59736. https://html.spec.whatwg.org/#attr-track-kind-keyword-captions 59737. https://html.spec.whatwg.org/#attr-track-kind-keyword-descriptions 59738. https://html.spec.whatwg.org/#attr-track-kind-keyword-chapters 59739. https://html.spec.whatwg.org/#attr-track-kind-keyword-metadata 59740. https://html.spec.whatwg.org/#attr-optgroup-label 59741. https://html.spec.whatwg.org/#attr-option-label 59742. https://html.spec.whatwg.org/#attr-track-label 59743. https://html.spec.whatwg.org/#attribute-text 59744. https://html.spec.whatwg.org/#attr-lang 59745. https://html.spec.whatwg.org/#language 59746. https://html.spec.whatwg.org/#attr-input-list 59747. https://dom.spec.whatwg.org/#concept-id 59748. https://html.spec.whatwg.org/#attr-iframe-loading 59749. https://html.spec.whatwg.org/#attr-img-loading 59750. https://html.spec.whatwg.org/#attr-loading-lazy 59751. https://html.spec.whatwg.org/#attr-loading-eager 59752. https://html.spec.whatwg.org/#attr-media-loop 59753. https://html.spec.whatwg.org/#attr-media-loop 59754. https://html.spec.whatwg.org/#media-resource 59755. https://html.spec.whatwg.org/#boolean-attribute 59756. https://html.spec.whatwg.org/#attr-meter-low 59757. https://html.spec.whatwg.org/#valid-floating-point-number 59758. https://html.spec.whatwg.org/#attr-input-max 59759. https://html.spec.whatwg.org/#attr-meter-max 59760. https://html.spec.whatwg.org/#attr-progress-max 59761. https://html.spec.whatwg.org/#valid-floating-point-number 59762. https://html.spec.whatwg.org/#attr-input-maxlength 59763. https://html.spec.whatwg.org/#attr-textarea-maxlength 59764. https://infra.spec.whatwg.org/#string-length 59765. https://html.spec.whatwg.org/#valid-non-negative-integer 59766. https://html.spec.whatwg.org/#attr-link-media 59767. https://html.spec.whatwg.org/#attr-meta-media 59768. https://html.spec.whatwg.org/#attr-source-media 59769. https://html.spec.whatwg.org/#attr-style-media 59770. https://html.spec.whatwg.org/#valid-media-query-list 59771. https://html.spec.whatwg.org/#attr-fs-method 59772. https://html.spec.whatwg.org/#form-submission-2 59773. https://html.spec.whatwg.org/#attr-fs-method-get-keyword 59774. https://html.spec.whatwg.org/#attr-fs-method-post-keyword 59775. https://html.spec.whatwg.org/#attr-fs-method-dialog-keyword 59776. https://html.spec.whatwg.org/#attr-input-min 59777. https://html.spec.whatwg.org/#attr-meter-min 59778. https://html.spec.whatwg.org/#valid-floating-point-number 59779. https://html.spec.whatwg.org/#attr-input-minlength 59780. https://html.spec.whatwg.org/#attr-textarea-minlength 59781. https://infra.spec.whatwg.org/#string-length 59782. https://html.spec.whatwg.org/#valid-non-negative-integer 59783. https://html.spec.whatwg.org/#attr-input-multiple 59784. https://html.spec.whatwg.org/#attr-select-multiple 59785. https://html.spec.whatwg.org/#boolean-attribute 59786. https://html.spec.whatwg.org/#attr-media-muted 59787. https://html.spec.whatwg.org/#attr-media-muted 59788. https://html.spec.whatwg.org/#media-resource 59789. https://html.spec.whatwg.org/#boolean-attribute 59790. https://html.spec.whatwg.org/#attr-fe-name 59791. https://html.spec.whatwg.org/#attr-fe-name 59792. https://html.spec.whatwg.org/#attr-fe-name 59793. https://html.spec.whatwg.org/#attr-fe-name 59794. https://html.spec.whatwg.org/#attr-fe-name 59795. https://html.spec.whatwg.org/#attr-fe-name 59796. https://html.spec.whatwg.org/#attr-fe-name 59797. https://html.spec.whatwg.org/#form-submission-2 59798. https://html.spec.whatwg.org/#dom-form-elements 59799. https://html.spec.whatwg.org/#attribute-text 59800. https://html.spec.whatwg.org/#attr-details-name 59801. https://html.spec.whatwg.org/#the-details-element 59802. https://html.spec.whatwg.org/#attribute-text 59803. https://html.spec.whatwg.org/#attr-form-name 59804. https://html.spec.whatwg.org/#dom-document-forms 59805. https://html.spec.whatwg.org/#attribute-text 59806. https://html.spec.whatwg.org/#attr-iframe-name 59807. https://html.spec.whatwg.org/#attr-object-name 59808. https://html.spec.whatwg.org/#content-navigable 59809. https://html.spec.whatwg.org/#valid-navigable-target-name-or-keyword 59810. https://html.spec.whatwg.org/#attr-map-name 59811. https://html.spec.whatwg.org/#image-map 59812. https://html.spec.whatwg.org/#referenced 59813. https://html.spec.whatwg.org/#attr-hyperlink-usemap 59814. https://html.spec.whatwg.org/#attribute-text 59815. https://html.spec.whatwg.org/#attr-meta-name 59816. https://html.spec.whatwg.org/#attribute-text 59817. https://html.spec.whatwg.org/#attr-slot-name 59818. https://html.spec.whatwg.org/#attribute-text 59819. https://html.spec.whatwg.org/#attr-script-nomodule 59820. https://html.spec.whatwg.org/#module-script 59821. https://html.spec.whatwg.org/#boolean-attribute 59822. https://html.spec.whatwg.org/#attr-nonce 59823. https://html.spec.whatwg.org/#refsCSP 59824. https://html.spec.whatwg.org/#attribute-text 59825. https://html.spec.whatwg.org/#attr-fs-novalidate 59826. https://html.spec.whatwg.org/#form-submission-2 59827. https://html.spec.whatwg.org/#boolean-attribute 59828. https://html.spec.whatwg.org/#attr-details-open 59829. https://html.spec.whatwg.org/#boolean-attribute 59830. https://html.spec.whatwg.org/#attr-dialog-open 59831. https://html.spec.whatwg.org/#boolean-attribute 59832. https://html.spec.whatwg.org/#attr-meter-optimum 59833. https://html.spec.whatwg.org/#valid-floating-point-number 59834. https://html.spec.whatwg.org/#attr-input-pattern 59835. https://tc39.es/ecma262/#prod-Pattern 59836. https://html.spec.whatwg.org/#ping 59837. https://html.spec.whatwg.org/#ping 59838. https://url.spec.whatwg.org/#concept-url 59839. https://html.spec.whatwg.org/#set-of-space-separated-tokens 59840. https://html.spec.whatwg.org/#valid-non-empty-url 59841. https://html.spec.whatwg.org/#attr-input-placeholder 59842. https://html.spec.whatwg.org/#attr-textarea-placeholder 59843. https://html.spec.whatwg.org/#attribute-text 59844. https://html.spec.whatwg.org/#attr-video-playsinline 59845. https://html.spec.whatwg.org/#boolean-attribute 59846. https://html.spec.whatwg.org/#attr-popover 59847. https://html.spec.whatwg.org/#attr-popover 59848. https://html.spec.whatwg.org/#attr-popover-auto 59849. https://html.spec.whatwg.org/#attr-popover-manual 59850. https://html.spec.whatwg.org/#attr-popovertarget 59851. https://html.spec.whatwg.org/#attr-popovertarget 59852. https://dom.spec.whatwg.org/#concept-id 59853. https://html.spec.whatwg.org/#attr-popovertargetaction 59854. https://html.spec.whatwg.org/#attr-popovertargetaction 59855. https://html.spec.whatwg.org/#attr-popovertargetaction-toggle 59856. https://html.spec.whatwg.org/#attr-popovertargetaction-show 59857. https://html.spec.whatwg.org/#attr-popovertargetaction-hide 59858. https://html.spec.whatwg.org/#attr-video-poster 59859. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 59860. https://html.spec.whatwg.org/#attr-media-preload 59861. https://html.spec.whatwg.org/#attr-media-preload 59862. https://html.spec.whatwg.org/#media-resource 59863. https://html.spec.whatwg.org/#attr-media-preload-none 59864. https://html.spec.whatwg.org/#attr-media-preload-metadata 59865. https://html.spec.whatwg.org/#attr-media-preload-auto 59866. https://html.spec.whatwg.org/#attr-input-readonly 59867. https://html.spec.whatwg.org/#attr-textarea-readonly 59868. https://html.spec.whatwg.org/#boolean-attribute 59869. https://html.spec.whatwg.org/#attr-face-readonly 59870. https://html.spec.whatwg.org/#dom-elementinternals-willvalidate 59871. https://html.spec.whatwg.org/#boolean-attribute 59872. https://html.spec.whatwg.org/#attr-hyperlink-referrerpolicy 59873. https://html.spec.whatwg.org/#attr-hyperlink-referrerpolicy 59874. https://html.spec.whatwg.org/#attr-iframe-referrerpolicy 59875. https://html.spec.whatwg.org/#attr-img-referrerpolicy 59876. https://html.spec.whatwg.org/#attr-link-referrerpolicy 59877. https://html.spec.whatwg.org/#attr-script-referrerpolicy 59878. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 59879. https://fetch.spec.whatwg.org/#concept-fetch 59880. https://w3c.github.io/webappsec-referrer-policy/#referrer-policy 59881. https://html.spec.whatwg.org/#attr-hyperlink-rel 59882. https://html.spec.whatwg.org/#attr-hyperlink-rel 59883. https://html.spec.whatwg.org/#hyperlink 59884. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 59885. https://html.spec.whatwg.org/#attr-link-rel 59886. https://html.spec.whatwg.org/#hyperlink 59887. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 59888. https://html.spec.whatwg.org/#attr-input-required 59889. https://html.spec.whatwg.org/#attr-select-required 59890. https://html.spec.whatwg.org/#attr-textarea-required 59891. https://html.spec.whatwg.org/#form-submission-2 59892. https://html.spec.whatwg.org/#boolean-attribute 59893. https://html.spec.whatwg.org/#attr-ol-reversed 59894. https://html.spec.whatwg.org/#boolean-attribute 59895. https://html.spec.whatwg.org/#attr-textarea-rows 59896. https://html.spec.whatwg.org/#valid-non-negative-integer 59897. https://html.spec.whatwg.org/#attr-tdth-rowspan 59898. https://html.spec.whatwg.org/#attr-tdth-rowspan 59899. https://html.spec.whatwg.org/#valid-non-negative-integer 59900. https://html.spec.whatwg.org/#attr-iframe-sandbox 59901. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 59902. https://infra.spec.whatwg.org/#ascii-case-insensitive 59903. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-downloads 59904. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-forms 59905. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-modals 59906. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-orientation-lock 59907. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-pointer-lock 59908. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-popups 59909. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-popups-to-escape-sandbox 59910. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-presentation 59911. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-same-origin 59912. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-scripts 59913. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation 59914. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation-by-user-activation 59915. https://html.spec.whatwg.org/#attr-iframe-sandbox-allow-top-navigation-to-custom-protocols 59916. https://html.spec.whatwg.org/#attr-th-scope 59917. https://html.spec.whatwg.org/#attr-th-scope-row 59918. https://html.spec.whatwg.org/#attr-th-scope-col 59919. https://html.spec.whatwg.org/#attr-th-scope-rowgroup 59920. https://html.spec.whatwg.org/#attr-th-scope-colgroup 59921. https://html.spec.whatwg.org/#attr-option-selected 59922. https://html.spec.whatwg.org/#boolean-attribute 59923. https://html.spec.whatwg.org/#attr-template-shadowrootclonable 59924. https://dom.spec.whatwg.org/#shadowroot-clonable 59925. https://html.spec.whatwg.org/#boolean-attribute 59926. https://html.spec.whatwg.org/#attr-template-shadowrootcustomelementregistry 59927. https://html.spec.whatwg.org/#boolean-attribute 59928. https://html.spec.whatwg.org/#attr-template-shadowrootdelegatesfocus 59929. https://dom.spec.whatwg.org/#shadowroot-delegates-focus 59930. https://html.spec.whatwg.org/#boolean-attribute 59931. https://html.spec.whatwg.org/#attr-template-shadowrootmode 59932. https://html.spec.whatwg.org/#attr-template-shadowrootserializable 59933. https://html.spec.whatwg.org/#serializable 59934. https://html.spec.whatwg.org/#boolean-attribute 59935. https://html.spec.whatwg.org/#attr-area-shape 59936. https://html.spec.whatwg.org/#image-map 59937. https://html.spec.whatwg.org/#attr-area-shape-keyword-circle 59938. https://html.spec.whatwg.org/#attr-area-shape-keyword-default 59939. https://html.spec.whatwg.org/#attr-area-shape-keyword-poly 59940. https://html.spec.whatwg.org/#attr-area-shape-keyword-rect 59941. https://html.spec.whatwg.org/#attr-input-size 59942. https://html.spec.whatwg.org/#attr-select-size 59943. https://html.spec.whatwg.org/#valid-non-negative-integer 59944. https://html.spec.whatwg.org/#attr-link-sizes 59945. https://html.spec.whatwg.org/#attr-link-rel 59946. https://html.spec.whatwg.org/#rel-icon 59947. https://html.spec.whatwg.org/#unordered-set-of-unique-space-separated-tokens 59948. https://infra.spec.whatwg.org/#ascii-case-insensitive 59949. https://html.spec.whatwg.org/#attr-img-sizes 59950. https://html.spec.whatwg.org/#attr-source-sizes 59951. https://html.spec.whatwg.org/#valid-source-size-list 59952. https://html.spec.whatwg.org/#the-id-attribute 59953. https://html.spec.whatwg.org/#attribute-text 59954. https://html.spec.whatwg.org/#attr-col-span 59955. https://html.spec.whatwg.org/#attr-colgroup-span 59956. https://html.spec.whatwg.org/#valid-non-negative-integer 59957. https://html.spec.whatwg.org/#attr-spellcheck 59958. https://html.spec.whatwg.org/#attr-spellcheck-true 59959. https://html.spec.whatwg.org/#attr-spellcheck-false 59960. https://html.spec.whatwg.org/#attr-media-src 59961. https://html.spec.whatwg.org/#attr-embed-src 59962. https://html.spec.whatwg.org/#attr-iframe-src 59963. https://html.spec.whatwg.org/#attr-img-src 59964. https://html.spec.whatwg.org/#attr-input-src 59965. https://html.spec.whatwg.org/#attr-script-src 59966. https://html.spec.whatwg.org/#attr-source-src 59967. https://html.spec.whatwg.org/#the-video-element 59968. https://html.spec.whatwg.org/#the-audio-element 59969. https://html.spec.whatwg.org/#attr-track-src 59970. https://html.spec.whatwg.org/#attr-media-src 59971. https://html.spec.whatwg.org/#valid-non-empty-url-potentially-surrounded-by-spaces 59972. https://html.spec.whatwg.org/#attr-iframe-srcdoc 59973. https://html.spec.whatwg.org/#the-iframe-element 59974. https://html.spec.whatwg.org/#an-iframe-srcdoc-document 59975. https://html.spec.whatwg.org/#attr-track-srclang 59976. https://html.spec.whatwg.org/#attr-img-srcset 59977. https://html.spec.whatwg.org/#attr-source-srcset 59978. https://html.spec.whatwg.org/#image-candidate-string 59979. https://html.spec.whatwg.org/#attr-ol-start 59980. https://html.spec.whatwg.org/#concept-ol-start 59981. https://html.spec.whatwg.org/#valid-integer 59982. https://html.spec.whatwg.org/#attr-input-step 59983. https://html.spec.whatwg.org/#valid-floating-point-number 59984. https://html.spec.whatwg.org/#attr-style 59985. https://html.spec.whatwg.org/#attr-tabindex 59986. https://html.spec.whatwg.org/#focusable 59987. https://html.spec.whatwg.org/#sequentially-focusable 59988. https://html.spec.whatwg.org/#sequential-focus-navigation 59989. https://html.spec.whatwg.org/#valid-integer 59990. https://html.spec.whatwg.org/#attr-hyperlink-target 59991. https://html.spec.whatwg.org/#attr-hyperlink-target 59992. https://html.spec.whatwg.org/#navigable 59993. https://html.spec.whatwg.org/#hyperlink 59994. https://html.spec.whatwg.org/#navigate 59995. https://html.spec.whatwg.org/#valid-navigable-target-name-or-keyword 59996. https://html.spec.whatwg.org/#attr-base-target 59997. https://html.spec.whatwg.org/#navigable 59998. https://html.spec.whatwg.org/#hyperlink 59999. https://html.spec.whatwg.org/#navigate 60000. https://html.spec.whatwg.org/#form-submission-2 60001. https://html.spec.whatwg.org/#valid-navigable-target-name-or-keyword 60002. https://html.spec.whatwg.org/#attr-fs-target 60003. https://html.spec.whatwg.org/#navigable 60004. https://html.spec.whatwg.org/#form-submission-2 60005. https://html.spec.whatwg.org/#valid-navigable-target-name-or-keyword 60006. https://html.spec.whatwg.org/#attr-title 60007. https://html.spec.whatwg.org/#attribute-text 60008. https://html.spec.whatwg.org/#attr-abbr-title 60009. https://html.spec.whatwg.org/#attr-dfn-title 60010. https://html.spec.whatwg.org/#attribute-text 60011. https://html.spec.whatwg.org/#attr-input-title 60012. https://html.spec.whatwg.org/#attr-input-pattern 60013. https://html.spec.whatwg.org/#attribute-text 60014. https://html.spec.whatwg.org/#attr-link-title 60015. https://html.spec.whatwg.org/#attribute-text 60016. https://html.spec.whatwg.org/#attr-link-title 60017. https://html.spec.whatwg.org/#attr-style-title 60018. https://drafts.csswg.org/cssom/#css-style-sheet-set-name 60019. https://html.spec.whatwg.org/#attribute-text 60020. https://html.spec.whatwg.org/#attr-translate 60021. https://html.spec.whatwg.org/#attr-hyperlink-type 60022. https://html.spec.whatwg.org/#attr-link-type 60023. https://mimesniff.spec.whatwg.org/#valid-mime-type 60024. https://html.spec.whatwg.org/#attr-button-type 60025. https://html.spec.whatwg.org/#attr-button-type-submit 60026. https://html.spec.whatwg.org/#attr-button-type-reset 60027. https://html.spec.whatwg.org/#attr-button-type-button 60028. https://html.spec.whatwg.org/#attr-embed-type 60029. https://html.spec.whatwg.org/#attr-object-type 60030. https://html.spec.whatwg.org/#attr-source-type 60031. https://mimesniff.spec.whatwg.org/#valid-mime-type 60032. https://html.spec.whatwg.org/#attr-input-type 60033. https://html.spec.whatwg.org/#attr-input-type 60034. https://html.spec.whatwg.org/#attr-ol-type 60035. https://html.spec.whatwg.org/#attr-ol-type-keyword-decimal 60036. https://html.spec.whatwg.org/#attr-ol-type-keyword-lower-alpha 60037. https://html.spec.whatwg.org/#attr-ol-type-keyword-upper-alpha 60038. https://html.spec.whatwg.org/#attr-ol-type-keyword-lower-roman 60039. https://html.spec.whatwg.org/#attr-ol-type-keyword-upper-roman 60040. https://html.spec.whatwg.org/#attr-script-type 60041. https://mimesniff.spec.whatwg.org/#valid-mime-type 60042. https://mimesniff.spec.whatwg.org/#javascript-mime-type-essence-match 60043. https://html.spec.whatwg.org/#attr-hyperlink-usemap 60044. https://html.spec.whatwg.org/#image-map 60045. https://html.spec.whatwg.org/#valid-hash-name-reference 60046. https://html.spec.whatwg.org/#attr-button-value 60047. https://html.spec.whatwg.org/#attr-option-value 60048. https://html.spec.whatwg.org/#form-submission-2 60049. https://html.spec.whatwg.org/#attribute-text 60050. https://html.spec.whatwg.org/#attr-data-value 60051. https://html.spec.whatwg.org/#attribute-text 60052. https://html.spec.whatwg.org/#attr-input-value 60053. https://html.spec.whatwg.org/#attr-li-value 60054. https://html.spec.whatwg.org/#ordinal-value 60055. https://html.spec.whatwg.org/#valid-integer 60056. https://html.spec.whatwg.org/#attr-meter-value 60057. https://html.spec.whatwg.org/#attr-progress-value 60058. https://html.spec.whatwg.org/#valid-floating-point-number 60059. https://html.spec.whatwg.org/#attr-canvas-width 60060. https://html.spec.whatwg.org/#attr-dim-width 60061. https://html.spec.whatwg.org/#attr-dim-width 60062. https://html.spec.whatwg.org/#attr-dim-width 60063. https://html.spec.whatwg.org/#attr-dim-width 60064. https://html.spec.whatwg.org/#attr-dim-width 60065. https://html.spec.whatwg.org/#attr-dim-width 60066. https://html.spec.whatwg.org/#the-picture-element 60067. https://html.spec.whatwg.org/#attr-dim-width 60068. https://html.spec.whatwg.org/#valid-non-negative-integer 60069. https://html.spec.whatwg.org/#attr-textarea-wrap 60070. https://html.spec.whatwg.org/#form-submission-2 60071. https://html.spec.whatwg.org/#attr-textarea-wrap-soft 60072. https://html.spec.whatwg.org/#attr-textarea-wrap-hard 60073. https://html.spec.whatwg.org/#attr-writingsuggestions 60074. https://html.spec.whatwg.org/#attr-writingsuggestions-true 60075. https://html.spec.whatwg.org/#attr-writingsuggestions-false 60076. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/drag_event 60077. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dragend_event 60078. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dragenter_event 60079. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dragleave_event 60080. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dragover_event 60081. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dragstart_event 60082. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/drop_event 60083. https://html.spec.whatwg.org/#handler-window-onafterprint 60084. https://html.spec.whatwg.org/#event-afterprint 60085. https://html.spec.whatwg.org/#window 60086. https://html.spec.whatwg.org/#event-handler-content-attributes 60087. https://html.spec.whatwg.org/#handler-onauxclick 60088. https://w3c.github.io/uievents/#event-type-auxclick 60089. https://html.spec.whatwg.org/#event-handler-content-attributes 60090. https://html.spec.whatwg.org/#handler-onbeforeinput 60091. https://w3c.github.io/uievents/#event-type-beforeinput 60092. https://html.spec.whatwg.org/#event-handler-content-attributes 60093. https://html.spec.whatwg.org/#handler-onbeforematch 60094. https://html.spec.whatwg.org/#event-beforematch 60095. https://html.spec.whatwg.org/#event-handler-content-attributes 60096. https://html.spec.whatwg.org/#handler-window-onbeforeprint 60097. https://html.spec.whatwg.org/#event-beforeprint 60098. https://html.spec.whatwg.org/#window 60099. https://html.spec.whatwg.org/#event-handler-content-attributes 60100. https://html.spec.whatwg.org/#handler-window-onbeforeunload 60101. https://html.spec.whatwg.org/#event-beforeunload 60102. https://html.spec.whatwg.org/#window 60103. https://html.spec.whatwg.org/#event-handler-content-attributes 60104. https://html.spec.whatwg.org/#handler-onbeforetoggle 60105. https://html.spec.whatwg.org/#event-beforetoggle 60106. https://html.spec.whatwg.org/#event-handler-content-attributes 60107. https://html.spec.whatwg.org/#handler-onblur 60108. https://html.spec.whatwg.org/#event-blur 60109. https://html.spec.whatwg.org/#event-handler-content-attributes 60110. https://html.spec.whatwg.org/#handler-oncancel 60111. https://html.spec.whatwg.org/#event-cancel 60112. https://html.spec.whatwg.org/#event-handler-content-attributes 60113. https://html.spec.whatwg.org/#handler-oncanplay 60114. https://html.spec.whatwg.org/#event-media-canplay 60115. https://html.spec.whatwg.org/#event-handler-content-attributes 60116. https://html.spec.whatwg.org/#handler-oncanplaythrough 60117. https://html.spec.whatwg.org/#event-media-canplaythrough 60118. https://html.spec.whatwg.org/#event-handler-content-attributes 60119. https://html.spec.whatwg.org/#handler-onchange 60120. https://html.spec.whatwg.org/#event-change 60121. https://html.spec.whatwg.org/#event-handler-content-attributes 60122. https://html.spec.whatwg.org/#handler-onclick 60123. https://w3c.github.io/uievents/#event-type-click 60124. https://html.spec.whatwg.org/#event-handler-content-attributes 60125. https://html.spec.whatwg.org/#handler-onclose 60126. https://html.spec.whatwg.org/#event-close 60127. https://html.spec.whatwg.org/#event-handler-content-attributes 60128. https://html.spec.whatwg.org/#handler-oncommand 60129. https://html.spec.whatwg.org/#event-command 60130. https://html.spec.whatwg.org/#event-handler-content-attributes 60131. https://html.spec.whatwg.org/#handler-oncontextlost 60132. https://html.spec.whatwg.org/#event-contextlost 60133. https://html.spec.whatwg.org/#event-handler-content-attributes 60134. https://html.spec.whatwg.org/#handler-oncontextmenu 60135. https://w3c.github.io/uievents/#event-type-contextmenu 60136. https://html.spec.whatwg.org/#event-handler-content-attributes 60137. https://html.spec.whatwg.org/#handler-oncontextrestored 60138. https://html.spec.whatwg.org/#event-contextrestored 60139. https://html.spec.whatwg.org/#event-handler-content-attributes 60140. https://html.spec.whatwg.org/#handler-oncopy 60141. https://w3c.github.io/clipboard-apis/#clipboard-event-copy 60142. https://html.spec.whatwg.org/#event-handler-content-attributes 60143. https://html.spec.whatwg.org/#handler-oncuechange 60144. https://html.spec.whatwg.org/#event-media-cuechange 60145. https://html.spec.whatwg.org/#event-handler-content-attributes 60146. https://html.spec.whatwg.org/#handler-oncut 60147. https://w3c.github.io/clipboard-apis/#clipboard-event-cut 60148. https://html.spec.whatwg.org/#event-handler-content-attributes 60149. https://html.spec.whatwg.org/#handler-ondblclick 60150. https://w3c.github.io/uievents/#event-type-dblclick 60151. https://html.spec.whatwg.org/#event-handler-content-attributes 60152. https://html.spec.whatwg.org/#handler-ondrag 60153. https://html.spec.whatwg.org/#event-dnd-drag 60154. https://html.spec.whatwg.org/#event-handler-content-attributes 60155. https://html.spec.whatwg.org/#handler-ondragend 60156. https://html.spec.whatwg.org/#event-dnd-dragend 60157. https://html.spec.whatwg.org/#event-handler-content-attributes 60158. https://html.spec.whatwg.org/#handler-ondragenter 60159. https://html.spec.whatwg.org/#event-dnd-dragenter 60160. https://html.spec.whatwg.org/#event-handler-content-attributes 60161. https://html.spec.whatwg.org/#handler-ondragleave 60162. https://html.spec.whatwg.org/#event-dnd-dragleave 60163. https://html.spec.whatwg.org/#event-handler-content-attributes 60164. https://html.spec.whatwg.org/#handler-ondragover 60165. https://html.spec.whatwg.org/#event-dnd-dragover 60166. https://html.spec.whatwg.org/#event-handler-content-attributes 60167. https://html.spec.whatwg.org/#handler-ondragstart 60168. https://html.spec.whatwg.org/#event-dnd-dragstart 60169. https://html.spec.whatwg.org/#event-handler-content-attributes 60170. https://html.spec.whatwg.org/#handler-ondrop 60171. https://html.spec.whatwg.org/#event-dnd-drop 60172. https://html.spec.whatwg.org/#event-handler-content-attributes 60173. https://html.spec.whatwg.org/#handler-ondurationchange 60174. https://html.spec.whatwg.org/#event-media-durationchange 60175. https://html.spec.whatwg.org/#event-handler-content-attributes 60176. https://html.spec.whatwg.org/#handler-onemptied 60177. https://html.spec.whatwg.org/#event-media-emptied 60178. https://html.spec.whatwg.org/#event-handler-content-attributes 60179. https://html.spec.whatwg.org/#handler-onended 60180. https://html.spec.whatwg.org/#event-media-ended 60181. https://html.spec.whatwg.org/#event-handler-content-attributes 60182. https://html.spec.whatwg.org/#handler-onerror 60183. https://html.spec.whatwg.org/#event-error 60184. https://html.spec.whatwg.org/#event-handler-content-attributes 60185. https://html.spec.whatwg.org/#handler-onfocus 60186. https://html.spec.whatwg.org/#event-focus 60187. https://html.spec.whatwg.org/#event-handler-content-attributes 60188. https://html.spec.whatwg.org/#handler-onformdata 60189. https://html.spec.whatwg.org/#event-formdata 60190. https://html.spec.whatwg.org/#event-handler-content-attributes 60191. https://html.spec.whatwg.org/#handler-window-onhashchange 60192. https://html.spec.whatwg.org/#event-hashchange 60193. https://html.spec.whatwg.org/#window 60194. https://html.spec.whatwg.org/#event-handler-content-attributes 60195. https://html.spec.whatwg.org/#handler-oninput 60196. https://w3c.github.io/uievents/#event-type-input 60197. https://html.spec.whatwg.org/#event-handler-content-attributes 60198. https://html.spec.whatwg.org/#handler-oninvalid 60199. https://html.spec.whatwg.org/#event-invalid 60200. https://html.spec.whatwg.org/#event-handler-content-attributes 60201. https://html.spec.whatwg.org/#handler-onkeydown 60202. https://w3c.github.io/uievents/#event-type-keydown 60203. https://html.spec.whatwg.org/#event-handler-content-attributes 60204. https://html.spec.whatwg.org/#handler-onkeypress 60205. https://w3c.github.io/uievents/#event-type-keypress 60206. https://html.spec.whatwg.org/#event-handler-content-attributes 60207. https://html.spec.whatwg.org/#handler-onkeyup 60208. https://w3c.github.io/uievents/#event-type-keyup 60209. https://html.spec.whatwg.org/#event-handler-content-attributes 60210. https://html.spec.whatwg.org/#handler-window-onlanguagechange 60211. https://html.spec.whatwg.org/#event-languagechange 60212. https://html.spec.whatwg.org/#window 60213. https://html.spec.whatwg.org/#event-handler-content-attributes 60214. https://html.spec.whatwg.org/#handler-onload 60215. https://html.spec.whatwg.org/#event-load 60216. https://html.spec.whatwg.org/#event-handler-content-attributes 60217. https://html.spec.whatwg.org/#handler-onloadeddata 60218. https://html.spec.whatwg.org/#event-media-loadeddata 60219. https://html.spec.whatwg.org/#event-handler-content-attributes 60220. https://html.spec.whatwg.org/#handler-onloadedmetadata 60221. https://html.spec.whatwg.org/#event-media-loadedmetadata 60222. https://html.spec.whatwg.org/#event-handler-content-attributes 60223. https://html.spec.whatwg.org/#handler-onloadstart 60224. https://html.spec.whatwg.org/#event-media-loadstart 60225. https://html.spec.whatwg.org/#event-handler-content-attributes 60226. https://html.spec.whatwg.org/#handler-window-onmessage 60227. https://html.spec.whatwg.org/#event-message 60228. https://html.spec.whatwg.org/#window 60229. https://html.spec.whatwg.org/#event-handler-content-attributes 60230. https://html.spec.whatwg.org/#handler-window-onmessageerror 60231. https://html.spec.whatwg.org/#event-messageerror 60232. https://html.spec.whatwg.org/#window 60233. https://html.spec.whatwg.org/#event-handler-content-attributes 60234. https://html.spec.whatwg.org/#handler-onmousedown 60235. https://w3c.github.io/uievents/#event-type-mousedown 60236. https://html.spec.whatwg.org/#event-handler-content-attributes 60237. https://html.spec.whatwg.org/#handler-onmouseenter 60238. https://w3c.github.io/uievents/#event-type-mouseenter 60239. https://html.spec.whatwg.org/#event-handler-content-attributes 60240. https://html.spec.whatwg.org/#handler-onmouseleave 60241. https://w3c.github.io/uievents/#event-type-mouseleave 60242. https://html.spec.whatwg.org/#event-handler-content-attributes 60243. https://html.spec.whatwg.org/#handler-onmousemove 60244. https://w3c.github.io/uievents/#event-type-mousemove 60245. https://html.spec.whatwg.org/#event-handler-content-attributes 60246. https://html.spec.whatwg.org/#handler-onmouseout 60247. https://w3c.github.io/uievents/#event-type-mouseout 60248. https://html.spec.whatwg.org/#event-handler-content-attributes 60249. https://html.spec.whatwg.org/#handler-onmouseover 60250. https://w3c.github.io/uievents/#event-type-mouseover 60251. https://html.spec.whatwg.org/#event-handler-content-attributes 60252. https://html.spec.whatwg.org/#handler-onmouseup 60253. https://w3c.github.io/uievents/#event-type-mouseup 60254. https://html.spec.whatwg.org/#event-handler-content-attributes 60255. https://html.spec.whatwg.org/#handler-window-onoffline 60256. https://html.spec.whatwg.org/#event-offline 60257. https://html.spec.whatwg.org/#window 60258. https://html.spec.whatwg.org/#event-handler-content-attributes 60259. https://html.spec.whatwg.org/#handler-window-ononline 60260. https://html.spec.whatwg.org/#event-online 60261. https://html.spec.whatwg.org/#window 60262. https://html.spec.whatwg.org/#event-handler-content-attributes 60263. https://html.spec.whatwg.org/#handler-window-onpagehide 60264. https://html.spec.whatwg.org/#event-pagehide 60265. https://html.spec.whatwg.org/#window 60266. https://html.spec.whatwg.org/#event-handler-content-attributes 60267. https://html.spec.whatwg.org/#handler-window-onpagereveal 60268. https://html.spec.whatwg.org/#event-pagereveal 60269. https://html.spec.whatwg.org/#window 60270. https://html.spec.whatwg.org/#event-handler-content-attributes 60271. https://html.spec.whatwg.org/#handler-window-onpageshow 60272. https://html.spec.whatwg.org/#event-pageshow 60273. https://html.spec.whatwg.org/#window 60274. https://html.spec.whatwg.org/#event-handler-content-attributes 60275. https://html.spec.whatwg.org/#handler-window-onpageswap 60276. https://html.spec.whatwg.org/#event-pageswap 60277. https://html.spec.whatwg.org/#window 60278. https://html.spec.whatwg.org/#event-handler-content-attributes 60279. https://html.spec.whatwg.org/#handler-onpaste 60280. https://w3c.github.io/clipboard-apis/#clipboard-event-paste 60281. https://html.spec.whatwg.org/#event-handler-content-attributes 60282. https://html.spec.whatwg.org/#handler-onpause 60283. https://html.spec.whatwg.org/#event-media-pause 60284. https://html.spec.whatwg.org/#event-handler-content-attributes 60285. https://html.spec.whatwg.org/#handler-onplay 60286. https://html.spec.whatwg.org/#event-media-play 60287. https://html.spec.whatwg.org/#event-handler-content-attributes 60288. https://html.spec.whatwg.org/#handler-onplaying 60289. https://html.spec.whatwg.org/#event-media-playing 60290. https://html.spec.whatwg.org/#event-handler-content-attributes 60291. https://html.spec.whatwg.org/#handler-window-onpopstate 60292. https://html.spec.whatwg.org/#event-popstate 60293. https://html.spec.whatwg.org/#window 60294. https://html.spec.whatwg.org/#event-handler-content-attributes 60295. https://html.spec.whatwg.org/#handler-onprogress 60296. https://html.spec.whatwg.org/#event-media-progress 60297. https://html.spec.whatwg.org/#event-handler-content-attributes 60298. https://html.spec.whatwg.org/#handler-onratechange 60299. https://html.spec.whatwg.org/#event-media-ratechange 60300. https://html.spec.whatwg.org/#event-handler-content-attributes 60301. https://html.spec.whatwg.org/#handler-onreset 60302. https://html.spec.whatwg.org/#event-reset 60303. https://html.spec.whatwg.org/#event-handler-content-attributes 60304. https://html.spec.whatwg.org/#handler-onresize 60305. https://drafts.csswg.org/cssom-view/#eventdef-window-resize 60306. https://html.spec.whatwg.org/#event-handler-content-attributes 60307. https://html.spec.whatwg.org/#handler-window-onrejectionhandled 60308. https://html.spec.whatwg.org/#event-rejectionhandled 60309. https://html.spec.whatwg.org/#window 60310. https://html.spec.whatwg.org/#event-handler-content-attributes 60311. https://html.spec.whatwg.org/#handler-onscroll 60312. https://drafts.csswg.org/cssom-view/#eventdef-document-scroll 60313. https://html.spec.whatwg.org/#event-handler-content-attributes 60314. https://html.spec.whatwg.org/#handler-onscrollend 60315. https://drafts.csswg.org/cssom-view/#eventdef-document-scrollend 60316. https://html.spec.whatwg.org/#event-handler-content-attributes 60317. https://html.spec.whatwg.org/#handler-onsecuritypolicyviolation 60318. https://w3c.github.io/webappsec-csp/#eventdef-globaleventhandlers-securitypolicyviolation 60319. https://html.spec.whatwg.org/#event-handler-content-attributes 60320. https://html.spec.whatwg.org/#handler-onseeked 60321. https://html.spec.whatwg.org/#event-media-seeked 60322. https://html.spec.whatwg.org/#event-handler-content-attributes 60323. https://html.spec.whatwg.org/#handler-onseeking 60324. https://html.spec.whatwg.org/#event-media-seeking 60325. https://html.spec.whatwg.org/#event-handler-content-attributes 60326. https://html.spec.whatwg.org/#handler-onselect 60327. https://html.spec.whatwg.org/#event-select 60328. https://html.spec.whatwg.org/#event-handler-content-attributes 60329. https://html.spec.whatwg.org/#handler-onslotchange 60330. https://dom.spec.whatwg.org/#eventdef-htmlslotelement-slotchange 60331. https://html.spec.whatwg.org/#event-handler-content-attributes 60332. https://html.spec.whatwg.org/#handler-onstalled 60333. https://html.spec.whatwg.org/#event-media-stalled 60334. https://html.spec.whatwg.org/#event-handler-content-attributes 60335. https://html.spec.whatwg.org/#handler-window-onstorage 60336. https://html.spec.whatwg.org/#event-storage 60337. https://html.spec.whatwg.org/#window 60338. https://html.spec.whatwg.org/#event-handler-content-attributes 60339. https://html.spec.whatwg.org/#handler-onsubmit 60340. https://html.spec.whatwg.org/#event-submit 60341. https://html.spec.whatwg.org/#event-handler-content-attributes 60342. https://html.spec.whatwg.org/#handler-onsuspend 60343. https://html.spec.whatwg.org/#event-media-suspend 60344. https://html.spec.whatwg.org/#event-handler-content-attributes 60345. https://html.spec.whatwg.org/#handler-ontimeupdate 60346. https://html.spec.whatwg.org/#event-media-timeupdate 60347. https://html.spec.whatwg.org/#event-handler-content-attributes 60348. https://html.spec.whatwg.org/#handler-ontoggle 60349. https://html.spec.whatwg.org/#event-toggle 60350. https://html.spec.whatwg.org/#event-handler-content-attributes 60351. https://html.spec.whatwg.org/#handler-window-onunhandledrejection 60352. https://html.spec.whatwg.org/#event-unhandledrejection 60353. https://html.spec.whatwg.org/#window 60354. https://html.spec.whatwg.org/#event-handler-content-attributes 60355. https://html.spec.whatwg.org/#handler-window-onunload 60356. https://html.spec.whatwg.org/#event-unload 60357. https://html.spec.whatwg.org/#window 60358. https://html.spec.whatwg.org/#event-handler-content-attributes 60359. https://html.spec.whatwg.org/#handler-onvolumechange 60360. https://html.spec.whatwg.org/#event-media-volumechange 60361. https://html.spec.whatwg.org/#event-handler-content-attributes 60362. https://html.spec.whatwg.org/#handler-onwaiting 60363. https://html.spec.whatwg.org/#event-media-waiting 60364. https://html.spec.whatwg.org/#event-handler-content-attributes 60365. https://html.spec.whatwg.org/#handler-onwheel 60366. https://w3c.github.io/uievents/#event-type-wheel 60367. https://html.spec.whatwg.org/#event-handler-content-attributes 60368. https://html.spec.whatwg.org/#the-a-element 60369. https://html.spec.whatwg.org/#htmlanchorelement 60370. https://html.spec.whatwg.org/#htmlelement 60371. https://html.spec.whatwg.org/#the-abbr-element 60372. https://html.spec.whatwg.org/#htmlelement 60373. https://html.spec.whatwg.org/#the-address-element 60374. https://html.spec.whatwg.org/#htmlelement 60375. https://html.spec.whatwg.org/#the-area-element 60376. https://html.spec.whatwg.org/#htmlareaelement 60377. https://html.spec.whatwg.org/#htmlelement 60378. https://html.spec.whatwg.org/#the-article-element 60379. https://html.spec.whatwg.org/#htmlelement 60380. https://html.spec.whatwg.org/#the-aside-element 60381. https://html.spec.whatwg.org/#htmlelement 60382. https://html.spec.whatwg.org/#the-audio-element 60383. https://html.spec.whatwg.org/#htmlaudioelement 60384. https://html.spec.whatwg.org/#htmlmediaelement 60385. https://html.spec.whatwg.org/#htmlelement 60386. https://html.spec.whatwg.org/#the-b-element 60387. https://html.spec.whatwg.org/#htmlelement 60388. https://html.spec.whatwg.org/#the-base-element 60389. https://html.spec.whatwg.org/#htmlbaseelement 60390. https://html.spec.whatwg.org/#htmlelement 60391. https://html.spec.whatwg.org/#the-bdi-element 60392. https://html.spec.whatwg.org/#htmlelement 60393. https://html.spec.whatwg.org/#the-bdo-element 60394. https://html.spec.whatwg.org/#htmlelement 60395. https://html.spec.whatwg.org/#the-blockquote-element 60396. https://html.spec.whatwg.org/#htmlquoteelement 60397. https://html.spec.whatwg.org/#htmlelement 60398. https://html.spec.whatwg.org/#the-body-element 60399. https://html.spec.whatwg.org/#htmlbodyelement 60400. https://html.spec.whatwg.org/#htmlelement 60401. https://html.spec.whatwg.org/#the-br-element 60402. https://html.spec.whatwg.org/#htmlbrelement 60403. https://html.spec.whatwg.org/#htmlelement 60404. https://html.spec.whatwg.org/#the-button-element 60405. https://html.spec.whatwg.org/#htmlbuttonelement 60406. https://html.spec.whatwg.org/#htmlelement 60407. https://html.spec.whatwg.org/#the-canvas-element 60408. https://html.spec.whatwg.org/#htmlcanvaselement 60409. https://html.spec.whatwg.org/#htmlelement 60410. https://html.spec.whatwg.org/#the-caption-element 60411. https://html.spec.whatwg.org/#htmltablecaptionelement 60412. https://html.spec.whatwg.org/#htmlelement 60413. https://html.spec.whatwg.org/#the-cite-element 60414. https://html.spec.whatwg.org/#htmlelement 60415. https://html.spec.whatwg.org/#the-code-element 60416. https://html.spec.whatwg.org/#htmlelement 60417. https://html.spec.whatwg.org/#the-col-element 60418. https://html.spec.whatwg.org/#htmltablecolelement 60419. https://html.spec.whatwg.org/#htmlelement 60420. https://html.spec.whatwg.org/#the-colgroup-element 60421. https://html.spec.whatwg.org/#htmltablecolelement 60422. https://html.spec.whatwg.org/#htmlelement 60423. https://html.spec.whatwg.org/#the-data-element 60424. https://html.spec.whatwg.org/#htmldataelement 60425. https://html.spec.whatwg.org/#htmlelement 60426. https://html.spec.whatwg.org/#the-datalist-element 60427. https://html.spec.whatwg.org/#htmldatalistelement 60428. https://html.spec.whatwg.org/#htmlelement 60429. https://html.spec.whatwg.org/#the-dd-element 60430. https://html.spec.whatwg.org/#htmlelement 60431. https://html.spec.whatwg.org/#the-del-element 60432. https://html.spec.whatwg.org/#htmlmodelement 60433. https://html.spec.whatwg.org/#htmlelement 60434. https://html.spec.whatwg.org/#the-details-element 60435. https://html.spec.whatwg.org/#htmldetailselement 60436. https://html.spec.whatwg.org/#htmlelement 60437. https://html.spec.whatwg.org/#the-dfn-element 60438. https://html.spec.whatwg.org/#htmlelement 60439. https://html.spec.whatwg.org/#the-dialog-element 60440. https://html.spec.whatwg.org/#htmldialogelement 60441. https://html.spec.whatwg.org/#htmlelement 60442. https://html.spec.whatwg.org/#the-div-element 60443. https://html.spec.whatwg.org/#htmldivelement 60444. https://html.spec.whatwg.org/#htmlelement 60445. https://html.spec.whatwg.org/#the-dl-element 60446. https://html.spec.whatwg.org/#htmldlistelement 60447. https://html.spec.whatwg.org/#htmlelement 60448. https://html.spec.whatwg.org/#the-dt-element 60449. https://html.spec.whatwg.org/#htmlelement 60450. https://html.spec.whatwg.org/#the-em-element 60451. https://html.spec.whatwg.org/#htmlelement 60452. https://html.spec.whatwg.org/#the-embed-element 60453. https://html.spec.whatwg.org/#htmlembedelement 60454. https://html.spec.whatwg.org/#htmlelement 60455. https://html.spec.whatwg.org/#the-fieldset-element 60456. https://html.spec.whatwg.org/#htmlfieldsetelement 60457. https://html.spec.whatwg.org/#htmlelement 60458. https://html.spec.whatwg.org/#the-figcaption-element 60459. https://html.spec.whatwg.org/#htmlelement 60460. https://html.spec.whatwg.org/#the-figure-element 60461. https://html.spec.whatwg.org/#htmlelement 60462. https://html.spec.whatwg.org/#the-footer-element 60463. https://html.spec.whatwg.org/#htmlelement 60464. https://html.spec.whatwg.org/#the-form-element 60465. https://html.spec.whatwg.org/#htmlformelement 60466. https://html.spec.whatwg.org/#htmlelement 60467. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 60468. https://html.spec.whatwg.org/#htmlheadingelement 60469. https://html.spec.whatwg.org/#htmlelement 60470. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 60471. https://html.spec.whatwg.org/#htmlheadingelement 60472. https://html.spec.whatwg.org/#htmlelement 60473. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 60474. https://html.spec.whatwg.org/#htmlheadingelement 60475. https://html.spec.whatwg.org/#htmlelement 60476. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 60477. https://html.spec.whatwg.org/#htmlheadingelement 60478. https://html.spec.whatwg.org/#htmlelement 60479. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 60480. https://html.spec.whatwg.org/#htmlheadingelement 60481. https://html.spec.whatwg.org/#htmlelement 60482. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 60483. https://html.spec.whatwg.org/#htmlheadingelement 60484. https://html.spec.whatwg.org/#htmlelement 60485. https://html.spec.whatwg.org/#the-head-element 60486. https://html.spec.whatwg.org/#htmlheadelement 60487. https://html.spec.whatwg.org/#htmlelement 60488. https://html.spec.whatwg.org/#the-header-element 60489. https://html.spec.whatwg.org/#htmlelement 60490. https://html.spec.whatwg.org/#the-hgroup-element 60491. https://html.spec.whatwg.org/#htmlelement 60492. https://html.spec.whatwg.org/#the-hr-element 60493. https://html.spec.whatwg.org/#htmlhrelement 60494. https://html.spec.whatwg.org/#htmlelement 60495. https://html.spec.whatwg.org/#the-html-element 60496. https://html.spec.whatwg.org/#htmlhtmlelement 60497. https://html.spec.whatwg.org/#htmlelement 60498. https://html.spec.whatwg.org/#the-i-element 60499. https://html.spec.whatwg.org/#htmlelement 60500. https://html.spec.whatwg.org/#the-iframe-element 60501. https://html.spec.whatwg.org/#htmliframeelement 60502. https://html.spec.whatwg.org/#htmlelement 60503. https://html.spec.whatwg.org/#the-img-element 60504. https://html.spec.whatwg.org/#htmlimageelement 60505. https://html.spec.whatwg.org/#htmlelement 60506. https://html.spec.whatwg.org/#the-input-element 60507. https://html.spec.whatwg.org/#htmlinputelement 60508. https://html.spec.whatwg.org/#htmlelement 60509. https://html.spec.whatwg.org/#the-ins-element 60510. https://html.spec.whatwg.org/#htmlmodelement 60511. https://html.spec.whatwg.org/#htmlelement 60512. https://html.spec.whatwg.org/#the-kbd-element 60513. https://html.spec.whatwg.org/#htmlelement 60514. https://html.spec.whatwg.org/#the-label-element 60515. https://html.spec.whatwg.org/#htmllabelelement 60516. https://html.spec.whatwg.org/#htmlelement 60517. https://html.spec.whatwg.org/#the-legend-element 60518. https://html.spec.whatwg.org/#htmllegendelement 60519. https://html.spec.whatwg.org/#htmlelement 60520. https://html.spec.whatwg.org/#the-li-element 60521. https://html.spec.whatwg.org/#htmllielement 60522. https://html.spec.whatwg.org/#htmlelement 60523. https://html.spec.whatwg.org/#the-link-element 60524. https://html.spec.whatwg.org/#htmllinkelement 60525. https://html.spec.whatwg.org/#htmlelement 60526. https://html.spec.whatwg.org/#the-main-element 60527. https://html.spec.whatwg.org/#htmlelement 60528. https://html.spec.whatwg.org/#the-map-element 60529. https://html.spec.whatwg.org/#htmlmapelement 60530. https://html.spec.whatwg.org/#htmlelement 60531. https://html.spec.whatwg.org/#the-mark-element 60532. https://html.spec.whatwg.org/#htmlelement 60533. https://html.spec.whatwg.org/#the-menu-element 60534. https://html.spec.whatwg.org/#htmlmenuelement 60535. https://html.spec.whatwg.org/#htmlelement 60536. https://html.spec.whatwg.org/#the-meta-element 60537. https://html.spec.whatwg.org/#htmlmetaelement 60538. https://html.spec.whatwg.org/#htmlelement 60539. https://html.spec.whatwg.org/#the-meter-element 60540. https://html.spec.whatwg.org/#htmlmeterelement 60541. https://html.spec.whatwg.org/#htmlelement 60542. https://html.spec.whatwg.org/#the-nav-element 60543. https://html.spec.whatwg.org/#htmlelement 60544. https://html.spec.whatwg.org/#the-noscript-element 60545. https://html.spec.whatwg.org/#htmlelement 60546. https://html.spec.whatwg.org/#the-object-element 60547. https://html.spec.whatwg.org/#htmlobjectelement 60548. https://html.spec.whatwg.org/#htmlelement 60549. https://html.spec.whatwg.org/#the-ol-element 60550. https://html.spec.whatwg.org/#htmlolistelement 60551. https://html.spec.whatwg.org/#htmlelement 60552. https://html.spec.whatwg.org/#the-optgroup-element 60553. https://html.spec.whatwg.org/#htmloptgroupelement 60554. https://html.spec.whatwg.org/#htmlelement 60555. https://html.spec.whatwg.org/#the-option-element 60556. https://html.spec.whatwg.org/#htmloptionelement 60557. https://html.spec.whatwg.org/#htmlelement 60558. https://html.spec.whatwg.org/#the-output-element 60559. https://html.spec.whatwg.org/#htmloutputelement 60560. https://html.spec.whatwg.org/#htmlelement 60561. https://html.spec.whatwg.org/#the-p-element 60562. https://html.spec.whatwg.org/#htmlparagraphelement 60563. https://html.spec.whatwg.org/#htmlelement 60564. https://html.spec.whatwg.org/#the-picture-element 60565. https://html.spec.whatwg.org/#htmlpictureelement 60566. https://html.spec.whatwg.org/#htmlelement 60567. https://html.spec.whatwg.org/#the-pre-element 60568. https://html.spec.whatwg.org/#htmlpreelement 60569. https://html.spec.whatwg.org/#htmlelement 60570. https://html.spec.whatwg.org/#the-progress-element 60571. https://html.spec.whatwg.org/#htmlprogresselement 60572. https://html.spec.whatwg.org/#htmlelement 60573. https://html.spec.whatwg.org/#the-q-element 60574. https://html.spec.whatwg.org/#htmlquoteelement 60575. https://html.spec.whatwg.org/#htmlelement 60576. https://html.spec.whatwg.org/#the-rp-element 60577. https://html.spec.whatwg.org/#htmlelement 60578. https://html.spec.whatwg.org/#the-rt-element 60579. https://html.spec.whatwg.org/#htmlelement 60580. https://html.spec.whatwg.org/#the-ruby-element 60581. https://html.spec.whatwg.org/#htmlelement 60582. https://html.spec.whatwg.org/#the-s-element 60583. https://html.spec.whatwg.org/#htmlelement 60584. https://html.spec.whatwg.org/#the-samp-element 60585. https://html.spec.whatwg.org/#htmlelement 60586. https://html.spec.whatwg.org/#the-search-element 60587. https://html.spec.whatwg.org/#htmlelement 60588. https://html.spec.whatwg.org/#the-script-element 60589. https://html.spec.whatwg.org/#htmlscriptelement 60590. https://html.spec.whatwg.org/#htmlelement 60591. https://html.spec.whatwg.org/#the-section-element 60592. https://html.spec.whatwg.org/#htmlelement 60593. https://html.spec.whatwg.org/#the-select-element 60594. https://html.spec.whatwg.org/#htmlselectelement 60595. https://html.spec.whatwg.org/#htmlelement 60596. https://html.spec.whatwg.org/#the-slot-element 60597. https://html.spec.whatwg.org/#htmlslotelement 60598. https://html.spec.whatwg.org/#htmlelement 60599. https://html.spec.whatwg.org/#the-small-element 60600. https://html.spec.whatwg.org/#htmlelement 60601. https://html.spec.whatwg.org/#the-source-element 60602. https://html.spec.whatwg.org/#htmlsourceelement 60603. https://html.spec.whatwg.org/#htmlelement 60604. https://html.spec.whatwg.org/#the-span-element 60605. https://html.spec.whatwg.org/#htmlspanelement 60606. https://html.spec.whatwg.org/#htmlelement 60607. https://html.spec.whatwg.org/#the-strong-element 60608. https://html.spec.whatwg.org/#htmlelement 60609. https://html.spec.whatwg.org/#the-style-element 60610. https://html.spec.whatwg.org/#htmlstyleelement 60611. https://html.spec.whatwg.org/#htmlelement 60612. https://html.spec.whatwg.org/#the-sub-and-sup-elements 60613. https://html.spec.whatwg.org/#htmlelement 60614. https://html.spec.whatwg.org/#the-summary-element 60615. https://html.spec.whatwg.org/#htmlelement 60616. https://html.spec.whatwg.org/#the-sub-and-sup-elements 60617. https://html.spec.whatwg.org/#htmlelement 60618. https://html.spec.whatwg.org/#the-table-element 60619. https://html.spec.whatwg.org/#htmltableelement 60620. https://html.spec.whatwg.org/#htmlelement 60621. https://html.spec.whatwg.org/#the-tbody-element 60622. https://html.spec.whatwg.org/#htmltablesectionelement 60623. https://html.spec.whatwg.org/#htmlelement 60624. https://html.spec.whatwg.org/#the-td-element 60625. https://html.spec.whatwg.org/#htmltablecellelement 60626. https://html.spec.whatwg.org/#htmlelement 60627. https://html.spec.whatwg.org/#the-template-element 60628. https://html.spec.whatwg.org/#htmltemplateelement 60629. https://html.spec.whatwg.org/#htmlelement 60630. https://html.spec.whatwg.org/#the-textarea-element 60631. https://html.spec.whatwg.org/#htmltextareaelement 60632. https://html.spec.whatwg.org/#htmlelement 60633. https://html.spec.whatwg.org/#the-tfoot-element 60634. https://html.spec.whatwg.org/#htmltablesectionelement 60635. https://html.spec.whatwg.org/#htmlelement 60636. https://html.spec.whatwg.org/#the-th-element 60637. https://html.spec.whatwg.org/#htmltablecellelement 60638. https://html.spec.whatwg.org/#htmlelement 60639. https://html.spec.whatwg.org/#the-thead-element 60640. https://html.spec.whatwg.org/#htmltablesectionelement 60641. https://html.spec.whatwg.org/#htmlelement 60642. https://html.spec.whatwg.org/#the-time-element 60643. https://html.spec.whatwg.org/#htmltimeelement 60644. https://html.spec.whatwg.org/#htmlelement 60645. https://html.spec.whatwg.org/#the-title-element 60646. https://html.spec.whatwg.org/#htmltitleelement 60647. https://html.spec.whatwg.org/#htmlelement 60648. https://html.spec.whatwg.org/#the-tr-element 60649. https://html.spec.whatwg.org/#htmltablerowelement 60650. https://html.spec.whatwg.org/#htmlelement 60651. https://html.spec.whatwg.org/#the-track-element 60652. https://html.spec.whatwg.org/#htmltrackelement 60653. https://html.spec.whatwg.org/#htmlelement 60654. https://html.spec.whatwg.org/#the-u-element 60655. https://html.spec.whatwg.org/#htmlelement 60656. https://html.spec.whatwg.org/#the-ul-element 60657. https://html.spec.whatwg.org/#htmlulistelement 60658. https://html.spec.whatwg.org/#htmlelement 60659. https://html.spec.whatwg.org/#the-var-element 60660. https://html.spec.whatwg.org/#htmlelement 60661. https://html.spec.whatwg.org/#the-video-element 60662. https://html.spec.whatwg.org/#htmlvideoelement 60663. https://html.spec.whatwg.org/#htmlmediaelement 60664. https://html.spec.whatwg.org/#htmlelement 60665. https://html.spec.whatwg.org/#the-wbr-element 60666. https://html.spec.whatwg.org/#htmlelement 60667. https://html.spec.whatwg.org/#custom-element 60668. https://html.spec.whatwg.org/#htmlelement 60669. https://html.spec.whatwg.org/#audiotrack 60670. https://html.spec.whatwg.org/#audiotracklist 60671. https://html.spec.whatwg.org/#barprop 60672. https://html.spec.whatwg.org/#beforeunloadevent 60673. https://html.spec.whatwg.org/#broadcastchannel 60674. https://html.spec.whatwg.org/#canvasgradient 60675. https://html.spec.whatwg.org/#canvaspattern 60676. https://html.spec.whatwg.org/#canvasrenderingcontext2d 60677. https://html.spec.whatwg.org/#closewatcher 60678. https://html.spec.whatwg.org/#commandevent 60679. https://html.spec.whatwg.org/#customelementregistry 60680. https://html.spec.whatwg.org/#customstateset 60681. https://html.spec.whatwg.org/#domparser 60682. https://html.spec.whatwg.org/#domstringlist 60683. https://html.spec.whatwg.org/#domstringmap 60684. https://html.spec.whatwg.org/#datatransfer 60685. https://html.spec.whatwg.org/#datatransferitem 60686. https://html.spec.whatwg.org/#datatransferitemlist 60687. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 60688. https://html.spec.whatwg.org/#document 60689. https://html.spec.whatwg.org/#document 60690. https://html.spec.whatwg.org/#Document-partial 60691. https://html.spec.whatwg.org/#dragevent 60692. https://dom.spec.whatwg.org/#interface-element 60693. https://html.spec.whatwg.org/#Element-partial 60694. https://html.spec.whatwg.org/#elementinternals 60695. https://html.spec.whatwg.org/#errorevent 60696. https://html.spec.whatwg.org/#eventsource 60697. https://html.spec.whatwg.org/#external 60698. https://html.spec.whatwg.org/#formdataevent 60699. https://html.spec.whatwg.org/#htmlallcollection 60700. https://html.spec.whatwg.org/#htmlanchorelement 60701. https://html.spec.whatwg.org/#HTMLAnchorElement-partial 60702. https://html.spec.whatwg.org/#htmlareaelement 60703. https://html.spec.whatwg.org/#HTMLAreaElement-partial 60704. https://html.spec.whatwg.org/#htmlaudioelement 60705. https://html.spec.whatwg.org/#htmlbrelement 60706. https://html.spec.whatwg.org/#HTMLBRElement-partial 60707. https://html.spec.whatwg.org/#htmlbaseelement 60708. https://html.spec.whatwg.org/#htmlbodyelement 60709. https://html.spec.whatwg.org/#HTMLBodyElement-partial 60710. https://html.spec.whatwg.org/#htmlbuttonelement 60711. https://html.spec.whatwg.org/#htmlcanvaselement 60712. https://html.spec.whatwg.org/#htmldlistelement 60713. https://html.spec.whatwg.org/#HTMLDListElement-partial 60714. https://html.spec.whatwg.org/#htmldataelement 60715. https://html.spec.whatwg.org/#htmldatalistelement 60716. https://html.spec.whatwg.org/#htmldetailselement 60717. https://html.spec.whatwg.org/#htmldialogelement 60718. https://html.spec.whatwg.org/#htmldirectoryelement 60719. https://html.spec.whatwg.org/#htmldivelement 60720. https://html.spec.whatwg.org/#HTMLDivElement-partial 60721. https://html.spec.whatwg.org/#htmlelement 60722. https://html.spec.whatwg.org/#htmlembedelement 60723. https://html.spec.whatwg.org/#HTMLEmbedElement-partial 60724. https://html.spec.whatwg.org/#htmlfieldsetelement 60725. https://html.spec.whatwg.org/#htmlfontelement 60726. https://html.spec.whatwg.org/#htmlformcontrolscollection 60727. https://html.spec.whatwg.org/#htmlformelement 60728. https://html.spec.whatwg.org/#htmlframeelement 60729. https://html.spec.whatwg.org/#htmlframesetelement 60730. https://html.spec.whatwg.org/#htmlhrelement 60731. https://html.spec.whatwg.org/#HTMLHRElement-partial 60732. https://html.spec.whatwg.org/#htmlheadelement 60733. https://html.spec.whatwg.org/#htmlheadingelement 60734. https://html.spec.whatwg.org/#HTMLHeadingElement-partial 60735. https://html.spec.whatwg.org/#htmlhtmlelement 60736. https://html.spec.whatwg.org/#HTMLHtmlElement-partial 60737. https://html.spec.whatwg.org/#htmliframeelement 60738. https://html.spec.whatwg.org/#HTMLIFrameElement-partial 60739. https://html.spec.whatwg.org/#htmlimageelement 60740. https://html.spec.whatwg.org/#HTMLImageElement-partial 60741. https://html.spec.whatwg.org/#htmlinputelement 60742. https://html.spec.whatwg.org/#HTMLInputElement-partial 60743. https://html.spec.whatwg.org/#htmllielement 60744. https://html.spec.whatwg.org/#HTMLLIElement-partial 60745. https://html.spec.whatwg.org/#htmllabelelement 60746. https://html.spec.whatwg.org/#htmllegendelement 60747. https://html.spec.whatwg.org/#HTMLLegendElement-partial 60748. https://html.spec.whatwg.org/#htmllinkelement 60749. https://html.spec.whatwg.org/#HTMLLinkElement-partial 60750. https://html.spec.whatwg.org/#htmlmapelement 60751. https://html.spec.whatwg.org/#htmlmarqueeelement 60752. https://html.spec.whatwg.org/#htmlmediaelement 60753. https://html.spec.whatwg.org/#htmlmenuelement 60754. https://html.spec.whatwg.org/#HTMLMenuElement-partial 60755. https://html.spec.whatwg.org/#htmlmetaelement 60756. https://html.spec.whatwg.org/#HTMLMetaElement-partial 60757. https://html.spec.whatwg.org/#htmlmeterelement 60758. https://html.spec.whatwg.org/#htmlmodelement 60759. https://html.spec.whatwg.org/#htmlolistelement 60760. https://html.spec.whatwg.org/#HTMLOListElement-partial 60761. https://html.spec.whatwg.org/#htmlobjectelement 60762. https://html.spec.whatwg.org/#HTMLObjectElement-partial 60763. https://html.spec.whatwg.org/#htmloptgroupelement 60764. https://html.spec.whatwg.org/#htmloptionelement 60765. https://html.spec.whatwg.org/#htmloptionscollection 60766. https://html.spec.whatwg.org/#htmloutputelement 60767. https://html.spec.whatwg.org/#htmlparagraphelement 60768. https://html.spec.whatwg.org/#HTMLParagraphElement-partial 60769. https://html.spec.whatwg.org/#htmlparamelement 60770. https://html.spec.whatwg.org/#htmlpictureelement 60771. https://html.spec.whatwg.org/#htmlpreelement 60772. https://html.spec.whatwg.org/#HTMLPreElement-partial 60773. https://html.spec.whatwg.org/#htmlprogresselement 60774. https://html.spec.whatwg.org/#htmlquoteelement 60775. https://html.spec.whatwg.org/#htmlscriptelement 60776. https://html.spec.whatwg.org/#HTMLScriptElement-partial 60777. https://html.spec.whatwg.org/#htmlselectelement 60778. https://html.spec.whatwg.org/#htmlslotelement 60779. https://html.spec.whatwg.org/#htmlsourceelement 60780. https://html.spec.whatwg.org/#htmlspanelement 60781. https://html.spec.whatwg.org/#htmlstyleelement 60782. https://html.spec.whatwg.org/#HTMLStyleElement-partial 60783. https://html.spec.whatwg.org/#htmltablecaptionelement 60784. https://html.spec.whatwg.org/#HTMLTableCaptionElement-partial 60785. https://html.spec.whatwg.org/#htmltablecellelement 60786. https://html.spec.whatwg.org/#HTMLTableCellElement-partial 60787. https://html.spec.whatwg.org/#htmltablecolelement 60788. https://html.spec.whatwg.org/#HTMLTableColElement-partial 60789. https://html.spec.whatwg.org/#htmltableelement 60790. https://html.spec.whatwg.org/#HTMLTableElement-partial 60791. https://html.spec.whatwg.org/#htmltablerowelement 60792. https://html.spec.whatwg.org/#HTMLTableRowElement-partial 60793. https://html.spec.whatwg.org/#htmltablesectionelement 60794. https://html.spec.whatwg.org/#HTMLTableSectionElement-partial 60795. https://html.spec.whatwg.org/#htmltemplateelement 60796. https://html.spec.whatwg.org/#htmltextareaelement 60797. https://html.spec.whatwg.org/#htmltimeelement 60798. https://html.spec.whatwg.org/#htmltitleelement 60799. https://html.spec.whatwg.org/#htmltrackelement 60800. https://html.spec.whatwg.org/#htmlulistelement 60801. https://html.spec.whatwg.org/#HTMLUListElement-partial 60802. https://html.spec.whatwg.org/#htmlunknownelement 60803. https://html.spec.whatwg.org/#htmlvideoelement 60804. https://html.spec.whatwg.org/#hashchangeevent 60805. https://html.spec.whatwg.org/#history-3 60806. https://html.spec.whatwg.org/#imagebitmap 60807. https://html.spec.whatwg.org/#imagebitmaprenderingcontext 60808. https://html.spec.whatwg.org/#imagedata 60809. https://html.spec.whatwg.org/#location 60810. https://html.spec.whatwg.org/#mediaerror 60811. https://html.spec.whatwg.org/#messagechannel 60812. https://html.spec.whatwg.org/#messageevent 60813. https://html.spec.whatwg.org/#messageport 60814. https://html.spec.whatwg.org/#mimetype 60815. https://html.spec.whatwg.org/#mimetypearray 60816. https://html.spec.whatwg.org/#navigateevent 60817. https://html.spec.whatwg.org/#navigation 60818. https://html.spec.whatwg.org/#navigationactivation 60819. https://html.spec.whatwg.org/#navigationcurrententrychangeevent 60820. https://html.spec.whatwg.org/#navigationdestination 60821. https://html.spec.whatwg.org/#navigationhistoryentry 60822. https://html.spec.whatwg.org/#navigationtransition 60823. https://html.spec.whatwg.org/#navigator 60824. https://html.spec.whatwg.org/#NavigatorUserActivation-partial 60825. https://html.spec.whatwg.org/#notrestoredreasondetails 60826. https://html.spec.whatwg.org/#notrestoredreasons 60827. https://html.spec.whatwg.org/#offscreencanvas 60828. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 60829. https://html.spec.whatwg.org/#pagerevealevent 60830. https://html.spec.whatwg.org/#pageswapevent 60831. https://html.spec.whatwg.org/#pagetransitionevent 60832. https://html.spec.whatwg.org/#path2d 60833. https://html.spec.whatwg.org/#plugin 60834. https://html.spec.whatwg.org/#pluginarray 60835. https://html.spec.whatwg.org/#popstateevent 60836. https://html.spec.whatwg.org/#promiserejectionevent 60837. https://html.spec.whatwg.org/#radionodelist 60838. https://dom.spec.whatwg.org/#interface-range 60839. https://html.spec.whatwg.org/#Range-partial 60840. https://dom.spec.whatwg.org/#interface-shadowroot 60841. https://html.spec.whatwg.org/#ShadowRoot-partial 60842. https://html.spec.whatwg.org/#sharedworker 60843. https://html.spec.whatwg.org/#sharedworkerglobalscope 60844. https://html.spec.whatwg.org/#storage-2 60845. https://html.spec.whatwg.org/#storageevent 60846. https://html.spec.whatwg.org/#submitevent 60847. https://html.spec.whatwg.org/#textmetrics 60848. https://html.spec.whatwg.org/#texttrack 60849. https://html.spec.whatwg.org/#texttrackcue 60850. https://html.spec.whatwg.org/#texttrackcuelist 60851. https://html.spec.whatwg.org/#texttracklist 60852. https://html.spec.whatwg.org/#timeranges 60853. https://html.spec.whatwg.org/#toggleevent 60854. https://html.spec.whatwg.org/#trackevent 60855. https://html.spec.whatwg.org/#useractivation 60856. https://html.spec.whatwg.org/#validitystate 60857. https://html.spec.whatwg.org/#videotrack 60858. https://html.spec.whatwg.org/#videotracklist 60859. https://html.spec.whatwg.org/#visibilitystateentry 60860. https://html.spec.whatwg.org/#window 60861. https://html.spec.whatwg.org/#Window-partial 60862. https://html.spec.whatwg.org/#worker 60863. https://html.spec.whatwg.org/#workerglobalscope 60864. https://html.spec.whatwg.org/#workerlocation 60865. https://html.spec.whatwg.org/#workernavigator 60866. https://html.spec.whatwg.org/#worklet 60867. https://html.spec.whatwg.org/#workletglobalscope 60868. https://html.spec.whatwg.org/#xmlserializer 60869. https://html.spec.whatwg.org/#mediaevents 60870. https://html.spec.whatwg.org/#dndevents 60871. https://developer.mozilla.org/en-US/docs/Web/API/Window/DOMContentLoaded_event 60872. https://dom.spec.whatwg.org/#interface-event 60873. https://html.spec.whatwg.org/#document 60874. https://html.spec.whatwg.org/#document 60875. https://developer.mozilla.org/en-US/docs/Web/API/Window/afterprint_event 60876. https://dom.spec.whatwg.org/#interface-event 60877. https://html.spec.whatwg.org/#window 60878. https://html.spec.whatwg.org/#window 60879. https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeprint_event 60880. https://dom.spec.whatwg.org/#interface-event 60881. https://html.spec.whatwg.org/#window 60882. https://html.spec.whatwg.org/#window 60883. https://developer.mozilla.org/en-US/docs/Web/API/Element/beforematch_event 60884. https://dom.spec.whatwg.org/#interface-event 60885. https://html.spec.whatwg.org/#attr-hidden-until-found-state 60886. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/beforetoggle_event 60887. https://html.spec.whatwg.org/#toggleevent 60888. https://html.spec.whatwg.org/#attr-popover 60889. https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event 60890. https://html.spec.whatwg.org/#beforeunloadevent 60891. https://html.spec.whatwg.org/#window 60892. https://html.spec.whatwg.org/#window 60893. https://dom.spec.whatwg.org/#interface-event 60894. https://html.spec.whatwg.org/#window 60895. https://html.spec.whatwg.org/#focused 60896. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/cancel_event 60897. https://dom.spec.whatwg.org/#interface-event 60898. https://html.spec.whatwg.org/#closewatcher 60899. https://html.spec.whatwg.org/#the-dialog-element 60900. https://html.spec.whatwg.org/#the-input-element 60901. https://html.spec.whatwg.org/#closewatcher 60902. https://html.spec.whatwg.org/#the-dialog-element 60903. https://html.spec.whatwg.org/#close-request 60904. https://html.spec.whatwg.org/#the-input-element 60905. https://html.spec.whatwg.org/#attr-input-type 60906. https://html.spec.whatwg.org/#file-upload-state-(type=file) 60907. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event 60908. https://dom.spec.whatwg.org/#interface-event 60909. https://w3c.github.io/uievents/#event-type-input 60910. https://w3c.github.io/uievents/#event-type-click 60911. https://w3c.github.io/pointerevents/#pointerevent-interface 60912. https://dom.spec.whatwg.org/#eventtarget-activation-behavior 60913. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/close_event 60914. https://dom.spec.whatwg.org/#interface-event 60915. https://html.spec.whatwg.org/#closewatcher 60916. https://html.spec.whatwg.org/#the-dialog-element 60917. https://html.spec.whatwg.org/#messageport 60918. https://html.spec.whatwg.org/#closewatcher 60919. https://html.spec.whatwg.org/#the-dialog-element 60920. https://html.spec.whatwg.org/#close-request 60921. https://html.spec.whatwg.org/#messageport 60922. https://html.spec.whatwg.org/#disentangle 60923. https://html.spec.whatwg.org/#commandevent 60924. https://html.spec.whatwg.org/#attr-button-commandfor 60925. https://developer.mozilla.org/en-US/docs/Web/API/SharedWorkerGlobalScope/connect_event 60926. https://html.spec.whatwg.org/#messageevent 60927. https://html.spec.whatwg.org/#sharedworkerglobalscope 60928. https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/webglcontextlost_event 60929. https://dom.spec.whatwg.org/#interface-event 60930. https://html.spec.whatwg.org/#the-canvas-element 60931. https://html.spec.whatwg.org/#offscreencanvas 60932. https://html.spec.whatwg.org/#canvasrenderingcontext2d 60933. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 60934. https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/contextrestored_event 60935. https://dom.spec.whatwg.org/#interface-event 60936. https://html.spec.whatwg.org/#the-canvas-element 60937. https://html.spec.whatwg.org/#offscreencanvas 60938. https://html.spec.whatwg.org/#canvasrenderingcontext2d 60939. https://html.spec.whatwg.org/#offscreencanvasrenderingcontext2d 60940. https://html.spec.whatwg.org/#navigationcurrententrychangeevent 60941. https://html.spec.whatwg.org/#navigation 60942. https://html.spec.whatwg.org/#dom-navigation-currententry 60943. https://dom.spec.whatwg.org/#interface-event 60944. https://html.spec.whatwg.org/#navigationhistoryentry 60945. https://html.spec.whatwg.org/#session-history-entry 60946. https://html.spec.whatwg.org/#navigationhistoryentry 60947. https://developer.mozilla.org/en-US/docs/Web/API/EventSource/error_event 60948. https://developer.mozilla.org/en-US/docs/Web/API/Window/error_event 60949. https://dom.spec.whatwg.org/#interface-event 60950. https://html.spec.whatwg.org/#errorevent 60951. https://html.spec.whatwg.org/#worker 60952. https://dom.spec.whatwg.org/#interface-event 60953. https://html.spec.whatwg.org/#window 60954. https://html.spec.whatwg.org/#gains-focus 60955. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/formdata_event 60956. https://html.spec.whatwg.org/#formdataevent 60957. https://html.spec.whatwg.org/#the-form-element 60958. https://html.spec.whatwg.org/#the-form-element 60959. https://html.spec.whatwg.org/#constructing-the-form-data-set 60960. https://developer.mozilla.org/en-US/docs/Web/API/Window/hashchange_event 60961. https://html.spec.whatwg.org/#hashchangeevent 60962. https://html.spec.whatwg.org/#window 60963. https://html.spec.whatwg.org/#window 60964. https://url.spec.whatwg.org/#concept-url-fragment 60965. https://dom.spec.whatwg.org/#concept-document-url 60966. https://w3c.github.io/uievents/#event-type-input 60967. https://dom.spec.whatwg.org/#interface-event 60968. https://html.spec.whatwg.org/#attr-contenteditable 60969. https://html.spec.whatwg.org/#event-change 60970. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/invalid_event 60971. https://dom.spec.whatwg.org/#interface-event 60972. https://developer.mozilla.org/en-US/docs/Web/API/Window/languagechange_event 60973. https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/languagechange_event 60974. https://dom.spec.whatwg.org/#interface-event 60975. https://dom.spec.whatwg.org/#interface-event 60976. https://html.spec.whatwg.org/#window 60977. https://html.spec.whatwg.org/#window 60978. https://html.spec.whatwg.org/#the-img-element 60979. https://html.spec.whatwg.org/#the-embed-element 60980. https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel/message_event 60981. https://developer.mozilla.org/en-US/docs/Web/API/DedicatedWorkerGlobalScope/message_event 60982. https://developer.mozilla.org/en-US/docs/Web/API/EventSource/message_event 60983. https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/message_event 60984. https://developer.mozilla.org/en-US/docs/Web/API/Window/message_event 60985. https://developer.mozilla.org/en-US/docs/Web/API/Worker/message_event 60986. https://html.spec.whatwg.org/#messageevent 60987. https://html.spec.whatwg.org/#window 60988. https://html.spec.whatwg.org/#eventsource 60989. https://html.spec.whatwg.org/#messageport 60990. https://html.spec.whatwg.org/#broadcastchannel 60991. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 60992. https://html.spec.whatwg.org/#worker 60993. https://w3c.github.io/ServiceWorker/#serviceworkercontainer 60994. https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel/messageerror_event 60995. https://developer.mozilla.org/en-US/docs/Web/API/DedicatedWorkerGlobalScope/messageerror_event 60996. https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/messageerror_event 60997. https://developer.mozilla.org/en-US/docs/Web/API/Window/messageerror_event 60998. https://developer.mozilla.org/en-US/docs/Web/API/Worker/messageerror_event 60999. https://html.spec.whatwg.org/#messageevent 61000. https://html.spec.whatwg.org/#window 61001. https://html.spec.whatwg.org/#messageport 61002. https://html.spec.whatwg.org/#broadcastchannel 61003. https://html.spec.whatwg.org/#dedicatedworkerglobalscope 61004. https://html.spec.whatwg.org/#worker 61005. https://w3c.github.io/ServiceWorker/#serviceworkercontainer 61006. https://html.spec.whatwg.org/#navigateevent 61007. https://html.spec.whatwg.org/#navigation 61008. https://html.spec.whatwg.org/#navigable 61009. https://html.spec.whatwg.org/#navigate 61010. https://html.spec.whatwg.org/#reload 61011. https://html.spec.whatwg.org/#traverse-the-history-by-a-delta 61012. https://html.spec.whatwg.org/#shared-history-push/replace-state-steps 61013. https://html.spec.whatwg.org/#errorevent 61014. https://html.spec.whatwg.org/#navigation 61015. https://dom.spec.whatwg.org/#interface-event 61016. https://html.spec.whatwg.org/#navigation 61017. https://developer.mozilla.org/en-US/docs/Web/API/Window/offline_event 61018. https://dom.spec.whatwg.org/#interface-event 61019. https://developer.mozilla.org/en-US/docs/Web/API/Window/online_event 61020. https://dom.spec.whatwg.org/#interface-event 61021. https://developer.mozilla.org/en-US/docs/Web/API/EventSource/open_event 61022. https://dom.spec.whatwg.org/#interface-event 61023. https://html.spec.whatwg.org/#eventsource 61024. https://html.spec.whatwg.org/#eventsource 61025. https://html.spec.whatwg.org/#pageswapevent 61026. https://html.spec.whatwg.org/#window 61027. https://html.spec.whatwg.org/#window 61028. https://html.spec.whatwg.org/#unload-a-document 61029. https://developer.mozilla.org/en-US/docs/Web/API/Window/pagehide_event 61030. https://html.spec.whatwg.org/#pagetransitionevent 61031. https://html.spec.whatwg.org/#window 61032. https://html.spec.whatwg.org/#window 61033. https://html.spec.whatwg.org/#session-history-entry 61034. https://html.spec.whatwg.org/#nav-active-history-entry 61035. https://html.spec.whatwg.org/#pagerevealevent 61036. https://html.spec.whatwg.org/#window 61037. https://html.spec.whatwg.org/#window 61038. https://html.spec.whatwg.org/#reactivate-a-document 61039. https://developer.mozilla.org/en-US/docs/Web/API/Window/pageshow_event 61040. https://html.spec.whatwg.org/#pagetransitionevent 61041. https://html.spec.whatwg.org/#window 61042. https://html.spec.whatwg.org/#window 61043. https://html.spec.whatwg.org/#session-history-entry 61044. https://html.spec.whatwg.org/#nav-active-history-entry 61045. https://w3c.github.io/pointerevents/#the-pointercancel-event 61046. https://w3c.github.io/pointerevents/#pointerevent-interface 61047. https://dom.spec.whatwg.org/#interface-text 61048. https://html.spec.whatwg.org/#source-node 61049. https://developer.mozilla.org/en-US/docs/Web/API/Window/popstate_event 61050. https://html.spec.whatwg.org/#popstateevent 61051. https://html.spec.whatwg.org/#window 61052. https://html.spec.whatwg.org/#window 61053. https://html.spec.whatwg.org/#traverse-the-history-by-a-delta 61054. https://developer.mozilla.org/en-US/docs/Web/API/Document/readystatechange_event 61055. https://dom.spec.whatwg.org/#interface-event 61056. https://html.spec.whatwg.org/#document 61057. https://html.spec.whatwg.org/#document 61058. https://html.spec.whatwg.org/#promiserejectionevent 61059. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/reset_event 61060. https://dom.spec.whatwg.org/#interface-event 61061. https://html.spec.whatwg.org/#the-form-element 61062. https://html.spec.whatwg.org/#the-form-element 61063. https://html.spec.whatwg.org/#concept-form-reset 61064. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/select_event 61065. https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement/select_event 61066. https://dom.spec.whatwg.org/#interface-event 61067. https://developer.mozilla.org/en-US/docs/Web/API/Window/storage_event 61068. https://html.spec.whatwg.org/#storageevent 61069. https://html.spec.whatwg.org/#window 61070. https://html.spec.whatwg.org/#window 61071. https://html.spec.whatwg.org/#dom-localstorage 61072. https://html.spec.whatwg.org/#dom-sessionstorage 61073. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/submit_event 61074. https://html.spec.whatwg.org/#submitevent 61075. https://html.spec.whatwg.org/#the-form-element 61076. https://html.spec.whatwg.org/#the-form-element 61077. https://html.spec.whatwg.org/#concept-form-submit 61078. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDetailsElement/toggle_event 61079. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event 61080. https://html.spec.whatwg.org/#toggleevent 61081. https://html.spec.whatwg.org/#the-details-element 61082. https://html.spec.whatwg.org/#attr-popover 61083. https://html.spec.whatwg.org/#the-details-element 61084. https://html.spec.whatwg.org/#attr-popover 61085. https://developer.mozilla.org/en-US/docs/Web/API/Window/unhandledrejection_event 61086. https://html.spec.whatwg.org/#promiserejectionevent 61087. https://developer.mozilla.org/en-US/docs/Web/API/Window/unload_event 61088. https://dom.spec.whatwg.org/#interface-event 61089. https://html.spec.whatwg.org/#window 61090. https://html.spec.whatwg.org/#window 61091. https://developer.mozilla.org/en-US/docs/Web/API/Document/visibilitychange_event 61092. https://dom.spec.whatwg.org/#interface-event 61093. https://html.spec.whatwg.org/#document 61094. https://html.spec.whatwg.org/#document 61095. https://html.spec.whatwg.org/#last-event-id 61096. https://html.spec.whatwg.org/#ping-from 61097. https://html.spec.whatwg.org/#ping-to 61098. https://html.spec.whatwg.org/#cross-origin-embedder-policy 61099. https://html.spec.whatwg.org/#cross-origin-embedder-policy-report-only 61100. https://html.spec.whatwg.org/#cross-origin-opener-policy-2 61101. https://html.spec.whatwg.org/#cross-origin-opener-policy-report-only 61102. https://html.spec.whatwg.org/#origin-agent-cluster 61103. https://html.spec.whatwg.org/#refresh 61104. https://html.spec.whatwg.org/#x-frame-options 61105. https://html.spec.whatwg.org/#refsATOM 61106. https://html.spec.whatwg.org/#refsJSON 61107. https://www.rfc-editor.org/rfc/rfc2046#section-4.5.1 61108. https://html.spec.whatwg.org/#refsRFC2046 61109. https://html.spec.whatwg.org/#application/microdata+json 61110. https://html.spec.whatwg.org/#refsWASM 61111. https://url.spec.whatwg.org/#concept-urlencoded 61112. https://html.spec.whatwg.org/#application/xhtml+xml 61113. https://html.spec.whatwg.org/#refsXML 61114. https://html.spec.whatwg.org/#refsRFC7303 61115. https://html.spec.whatwg.org/#refsGIF 61116. https://html.spec.whatwg.org/#refsJPEG 61117. https://html.spec.whatwg.org/#refsPNG 61118. https://html.spec.whatwg.org/#refsSVG 61119. https://html.spec.whatwg.org/#refsRFC7578 61120. https://html.spec.whatwg.org/#refsRFC2046 61121. https://html.spec.whatwg.org/#multipart/x-mixed-replace 61122. https://html.spec.whatwg.org/#refsCSS 61123. https://html.spec.whatwg.org/#text/event-stream 61124. https://html.spec.whatwg.org/#refsJAVASCRIPT 61125. https://html.spec.whatwg.org/#refsRFC9239 61126. https://www.rfc-editor.org/rfc/rfc2046#section-4.1.3 61127. https://html.spec.whatwg.org/#refsRFC2046 61128. https://html.spec.whatwg.org/#refsRFC3676 61129. https://html.spec.whatwg.org/#text/html 61130. https://html.spec.whatwg.org/#text/ping 61131. https://html.spec.whatwg.org/#refsRFC2483 61132. https://html.spec.whatwg.org/#refsRFC6350 61133. https://html.spec.whatwg.org/#refsWEBVTT 61134. https://html.spec.whatwg.org/#refsXML 61135. https://html.spec.whatwg.org/#refsRFC7303 61136. https://www.rfc-editor.org/rfc/rfc4337#section-3 61137. https://html.spec.whatwg.org/#refsRFC4337 61138. https://html.spec.whatwg.org/#refsRFC2046 61139. https://www.rfc-editor.org/rfc/rfc5234 61140. https://www.rfc-editor.org/rfc/rfc6694 61141. https://wiki.mozilla.org/APNG_Specification 61142. https://w3c.github.io/aria/ 61143. https://w3c.github.io/html-aria/ 61144. https://www.w3.org/TR/ATAG20/ 61145. https://www.rfc-editor.org/rfc/rfc4287 61146. https://w3c.github.io/battery/ 61147. https://www.rfc-editor.org/info/bcp47 61148. https://www.unicode.org/reports/tr9/ 61149. https://www.unicode.org/notes/tn6/ 61150. https://www.unicode.org/reports/tr26/ 61151. https://www.w3.org/TR/charmod/ 61152. https://w3c.github.io/charmod-norm/ 61153. https://w3c.github.io/clipboard-apis/ 61154. https://drafts.fxtf.org/compositing/ 61155. http://www.turingarchive.org/browse.php/B/12 61156. https://w3c.github.io/compute-pressure/ 61157. https://console.spec.whatwg.org/ 61158. https://httpwg.org/specs/rfc6265.html 61159. https://w3c.github.io/webappsec-credential-management/ 61160. https://w3c.github.io/webappsec-csp/ 61161. https://drafts.csswg.org/css2/ 61162. https://drafts.csswg.org/css-align/ 61163. https://drafts.csswg.org/css-anchor-position/ 61164. https://drafts.csswg.org/css-animations/ 61165. https://drafts.csswg.org/css-style-attr/ 61166. https://drafts.csswg.org/css-backgrounds/ 61167. https://drafts.csswg.org/css-box-3/ 61168. https://drafts.csswg.org/css-cascade/ 61169. https://drafts.csswg.org/css-contain/ 61170. https://drafts.csswg.org/css-color/ 61171. https://drafts.csswg.org/css-color-adjust/ 61172. https://drafts.csswg.org/css-device-adapt/ 61173. https://drafts.csswg.org/css-display/ 61174. https://drafts.csswg.org/css-font-loading/ 61175. https://drafts.csswg.org/css-fonts/ 61176. https://drafts.csswg.org/css-flexbox/ 61177. https://drafts.csswg.org/css-content/ 61178. https://drafts.csswg.org/css-grid/ 61179. https://drafts.csswg.org/css-images/ 61180. https://drafts.csswg.org/css-images-4/ 61181. https://drafts.csswg.org/css-inline/ 61182. https://drafts.csswg.org/css-lists/ 61183. https://drafts.csswg.org/css-logical/ 61184. https://drafts.csswg.org/css-multicol/ 61185. https://drafts.csswg.org/cssom/ 61186. https://drafts.csswg.org/cssom-view/ 61187. https://drafts.csswg.org/css-overflow-3/ 61188. https://drafts.css-houdini.org/css-paint-api/ 61189. https://drafts.csswg.org/css-position/ 61190. https://drafts.csswg.org/css-pseudo/ 61191. https://drafts.csswg.org/css-ruby/ 61192. https://drafts.csswg.org/css-scoping/ 61193. https://drafts.csswg.org/css-sizing/ 61194. https://drafts.csswg.org/css-scroll-anchoring/ 61195. https://drafts.csswg.org/css-syntax/ 61196. https://drafts.csswg.org/css-transitions/ 61197. https://drafts.csswg.org/css-tables/ 61198. https://drafts.csswg.org/css-text/ 61199. https://drafts.csswg.org/css-values/ 61200. https://drafts.csswg.org/css-view-transitions/ 61201. https://drafts.csswg.org/css-ui/ 61202. https://drafts.csswg.org/css-writing-modes/ 61203. https://www.iso.org/standard/65274.html 61204. https://w3c.github.io/device-posture/ 61205. https://dom.spec.whatwg.org/ 61206. https://w3c.github.io/DOM-Parsing/ 61207. https://graphviz.org/doc/info/lang.html 61208. https://encoding.spec.whatwg.org/ 61209. https://w3c.github.io/editing/docs/execCommand/ 61210. https://www.jeita.or.jp/cgi-bin/standard_e/list.cgi?cateid=1&subcateid=4 61211. https://fetch.spec.whatwg.org/ 61212. https://w3c.github.io/webappsec-fetch-metadata/ 61213. https://w3c.github.io/FileAPI/ 61214. https://drafts.fxtf.org/filter-effects/ 61215. https://fullscreen.spec.whatwg.org/ 61216. https://drafts.fxtf.org/geometry/ 61217. https://www.w3.org/Graphics/GIF/spec-gif89a.txt 61218. https://w3c.github.io/hr-time/ 61219. https://w3c.github.io/html-aam/ 61220. https://httpwg.org/specs/rfc7230.html 61221. https://httpwg.org/specs/rfc7231.html 61222. https://httpwg.org/specs/rfc7232.html 61223. https://httpwg.org/specs/rfc7233.html 61224. https://httpwg.org/specs/rfc7234.html 61225. https://httpwg.org/specs/rfc7235.html 61226. https://w3c.github.io/IndexedDB/ 61227. https://dev.w3.org/html5/html-sourcing-inband-tracks/ 61228. https://infra.spec.whatwg.org/ 61229. https://w3c.github.io/IntersectionObserver/ 61230. https://drafts.csswg.org/resize-observer-1/ 61231. https://www.iso.org/iso-3166-country-codes.html 61232. https://www.iso.org/iso-4217-currency-codes.html 61233. http://isotc.iso.org/livelink/livelink/4021199/ISO_8601_2004_E.zip?func=doc.Fetch&nodeid=4021199 61234. https://tc39.es/ecma262/ 61235. https://www.w3.org/TR/jlreq/ 61236. https://www.w3.org/Graphics/JPEG/jfif3.pdf 61237. https://tc39.es/proposal-error-stacks/ 61238. https://tc39.es/proposal-dynamic-code-brand-checks/ 61239. https://tc39.es/ecma402/ 61240. https://www.rfc-editor.org/rfc/rfc8259 61241. https://tc39.es/proposal-temporal/ 61242. https://w3c.github.io/longtasks/ 61243. https://w3c.github.io/long-animation-frames/ 61244. https://www.rfc-editor.org/rfc/rfc6068 61245. https://www.w3.org/TR/appmanifest/ 61246. https://w3c.github.io/mathml-core/ 61247. https://www.w3.org/TR/media-frags/ 61248. https://w3c.github.io/media-source/ 61249. https://w3c.github.io/mediacapture-main/getusermedia.html 61250. https://w3c.github.io/reporting/ 61251. https://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions 61252. https://mimesniff.spec.whatwg.org/ 61253. https://w3c.github.io/webappsec-mixed-content/ 61254. http://www.libpng.org/pub/mng/spec/ 61255. https://drafts.csswg.org/mediaqueries/ 61256. https://en.wikipedia.org/wiki/Multiple_buffering 61257. https://w3c.github.io/navigation-timing/ 61258. https://developer.mozilla.org/en-US/docs/Plugins/Guide 61259. https://wiki.xiph.org/SkeletonHeaders 61260. https://github.com/dewitt/opensearch/blob/master/opensearch-1-1-draft-6.md#autodiscovery-in-htmlxhtml 61261. https://www.rfc-editor.org/rfc/rfc6454 61262. https://w3c.github.io/paint-timing/ 61263. https://w3c.github.io/payment-request/ 61264. https://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf 61265. https://w3c.github.io/performance-timeline/ 61266. https://w3c.github.io/webappsec-feature-policy/ 61267. https://w3c.github.io/picture-in-picture/ 61268. https://www.hixie.ch/specs/pingback/pingback 61269. https://www.w3.org/TR/PNG/ 61270. https://w3c.github.io/pointerevents/ 61271. https://w3c.github.io/pointerlock/ 61272. https://www.sw.it.aoyama.ac.jp/2012/pub/IUC11-UTF-8.pdf 61273. https://w3c.github.io/presentation-api/ 61274. https://w3c.github.io/webappsec-referrer-policy/ 61275. https://w3c.github.io/requestidlecallback/ 61276. https://w3c.github.io/resource-timing/ 61277. https://www.rfc-editor.org/rfc/rfc1034 61278. https://www.rfc-editor.org/rfc/rfc1123 61279. https://www.rfc-editor.org/rfc/rfc2046 61280. https://www.rfc-editor.org/rfc/rfc2397 61281. https://www.rfc-editor.org/rfc/rfc5545 61282. https://www.rfc-editor.org/rfc/rfc2483 61283. https://www.rfc-editor.org/rfc/rfc3676 61284. https://www.rfc-editor.org/rfc/rfc9239 61285. https://www.rfc-editor.org/rfc/rfc4337 61286. https://www.rfc-editor.org/rfc/rfc7595 61287. https://www.rfc-editor.org/rfc/rfc5322 61288. https://www.rfc-editor.org/rfc/rfc6381 61289. https://httpwg.org/specs/rfc6266.html 61290. https://www.rfc-editor.org/rfc/rfc6350 61291. https://www.rfc-editor.org/rfc/rfc6596 61292. https://www.rfc-editor.org/rfc/rfc6903 61293. https://www.rfc-editor.org/rfc/rfc7034 61294. https://www.rfc-editor.org/rfc/rfc7303 61295. https://www.rfc-editor.org/rfc/rfc7578 61296. https://httpwg.org/specs/rfc8297.html 61297. https://w3c.github.io/screen-orientation/ 61298. https://www.unicode.org/reports/tr6/ 61299. https://w3c.github.io/webappsec-secure-contexts/ 61300. https://w3c.github.io/selection-api/ 61301. https://drafts.csswg.org/selectors/ 61302. https://www.rfc-editor.org/rfc/rfc5724 61303. https://httpwg.org/specs/rfc8941.html 61304. https://w3c.github.io/webappsec-subresource-integrity/ 61305. https://storage.spec.whatwg.org/ 61306. https://svgwg.org/svg2-draft/ 61307. https://w3c.github.io/ServiceWorker/ 61308. https://www.torproject.org/ 61309. https://w3c.github.io/touch-events/ 61310. https://w3c.github.io/trusted-types/dist/spec/ 61311. https://www.iana.org/time-zones 61312. https://www.w3.org/TR/UAAG20/ 61313. https://w3c.github.io/uievents/ 61314. https://www.unicode.org/versions/ 61315. https://www-archive.mozilla.org/projects/intl/UniversalCharsetDetection.html 61316. https://url.spec.whatwg.org/ 61317. https://www.rfc-editor.org/rfc/rfc2141 61318. https://www.rfc-editor.org/rfc/rfc2152 61319. https://www.w3.org/International/questions/qa-forms-utf-8 61320. https://www.unicode.org/reports/tr36/ 61321. https://webassembly.github.io/spec/core/bikeshed/index.html 61322. https://webassembly.github.io/esm-integration/js-api/index.html 61323. https://webassembly.github.io/spec/js-api/ 61324. https://w3c.github.io/wcag/guidelines/ 61325. https://drafts.csswg.org/web-animations-1/ 61326. https://webaudio.github.io/web-audio-api/ 61327. https://w3c.github.io/webauthn 61328. https://w3c.github.io/webcodecs/ 61329. https://w3c.github.io/webcrypto/Overview.html 61330. https://w3c.github.io/webdriver/ 61331. https://w3c.github.io/webdriver-bidi/ 61332. https://www.khronos.org/registry/webgl/specs/latest/ 61333. https://gpuweb.github.io/gpuweb/ 61334. https://webidl.spec.whatwg.org/ 61335. https://httpwg.org/specs/rfc8288.html 61336. https://w3c.github.io/web-locks/ 61337. https://www.webmproject.org/docs/container/ 61338. https://w3c.github.io/web-nfc/ 61339. https://w3c.github.io/webrtc-pc/ 61340. https://websockets.spec.whatwg.org/ 61341. https://w3c.github.io/webtransport/ 61342. https://w3c.github.io/webvtt/ 61343. https://wiki.whatwg.org/ 61344. https://gmpg.org/xfn/11 61345. https://xhr.spec.whatwg.org/ 61346. https://xkcd.com/1288/ 61347. https://www.w3.org/TR/xml/ 61348. https://www.w3.org/2003/entities/2007doc/ 61349. https://www.w3.org/TR/xml-names/ 61350. https://www.w3.org/TR/xml-stylesheet/ 61351. https://www.w3.org/TR/1999/REC-xpath-19991116/ 61352. https://www.w3.org/TR/1999/REC-xslt-19991116 61353. https://wiki.whatwg.org/wiki/DOM_XSLTProcessor 61354. https://www.w3.org/html/wg/lists/ 61355. https://whatwg.org/mailing-list 61356. https://html.spec.whatwg.org/#the-canvas-element 61357. https://html.spec.whatwg.org/#attr-contenteditable 61358. https://html.spec.whatwg.org/#adoptionAgency 61359. https://www.w3.org/community/respimg/ 61360. https://html.spec.whatwg.org/#the-picture-element 61361. https://www.w3.org/WebPlatform/WG/ 61362. https://html.spec.whatwg.org/#custom-elements 61363. https://www.w3.org/Style/CSS/members 61364. https://html.spec.whatwg.org/#worklets 61365. https://www.google.com/ 61366. mailto:ian@hixie.ch 61367. https://annevankesteren.nl/ 61368. https://www.apple.com/ 61369. mailto:annevk@annevk.nl 61370. https://domenic.me/ 61371. https://www.google.com/ 61372. mailto:d@domenic.me 61373. https://domfarolino.com/ 61374. https://www.google.com/ 61375. mailto:domfarolino@gmail.com 61376. https://foolip.org/ 61377. https://www.google.com/ 61378. mailto:philip@foolip.org 61379. https://www.mozilla.org/ 61380. mailto:zcorpan@gmail.com 61381. https://www.flickr.com/photos/wonderlane/2986252088/ 61382. https://www.flickr.com/photos/wonderlane/ 61383. https://creativecommons.org/licenses/by/2.0/ 61384. https://commons.wikimedia.org/wiki/File:WolfRunningInSnow.jpg 61385. https://commons.wikimedia.org/wiki/File:WolfRunningInSnow.jpg 61386. https://en.wikipedia.org/wiki/Public_domain 61387. https://pixabay.com/en/functional-mobility-articular-606568/ 61388. https://pixabay.com/en/users/506563-506563/ 61389. https://creativecommons.org/publicdomain/zero/1.0/ 61390. https://johncolburn.deviantart.com/art/Blue-Robot-Player-Sprite-323813997 61391. https://johncolburn.deviantart.com/ 61392. https://creativecommons.org/licenses/by-sa/3.0/ 61393. https://www.flickr.com/photos/lenore-m/8631391979/ 61394. https://www.flickr.com/photos/lenore-m/ 61395. https://creativecommons.org/licenses/by/2.0/ 61396. https://html.spec.whatwg.org/#attr-script-async 61397. https://html.spec.whatwg.org/#attr-script-defer 61398. https://html.spec.whatwg.org/#the-script-element 61399. https://peter.sh/experiments/asynchronous-and-deferred-javascript-execution-explained/ 61400. https://peter.sh/about/ 61401. https://creativecommons.org/publicdomain/zero/1.0/ 61402. https://www.html5rocks.com/en/tutorials/canvas/imagefilters/ 61403. https://www.fhtr.net/ 61404. https://creativecommons.org/licenses/by/3.0/ 61405. https://github.com/stevenrskelton/flag-icon 61406. http://stevenskelton.ca/ 61407. https://opensource.org/licenses/MIT 61408. https://html.spec.whatwg.org/#the-picture-element 61409. https://github.com/ResponsiveImagesCG/picture-element 61410. https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document 61411. https://html.spec.whatwg.org/#meta-theme-color 61412. https://github.com/whatwg/meta-theme-color 61413. https://creativecommons.org/publicdomain/zero/1.0/ 61414. https://html.spec.whatwg.org/#custom-elements 61415. https://github.com/w3c/webcomponents 61416. https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document 61417. https://html.spec.whatwg.org/#dom-innertext 61418. https://github.com/rocallahan/innerText-spec 61419. https://creativecommons.org/publicdomain/zero/1.0/ 61420. https://html.spec.whatwg.org/#worklets 61421. https://github.com/w3c/css-houdini-drafts 61422. https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document 61423. https://html.spec.whatwg.org/#import-maps 61424. https://github.com/WICG/import-maps 61425. https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document 61426. https://html.spec.whatwg.org/#navigation-api 61427. https://github.com/WICG/navigation-api 61428. https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document 61429. https://html.spec.whatwg.org/#close-requests-and-close-watchers 61430. https://github.com/WICG/close-watcher 61431. https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document 61432. https://creativecommons.org/licenses/by/4.0/ 61433. https://opensource.org/licenses/BSD-3-Clause 61434. https://html.spec.whatwg.org/review-drafts/2025-01/ </p> <p> Hidden links: 61436. https://html.spec.whatwg.org/#introduction 61437. https://html.spec.whatwg.org/#abstract 61438. https://html.spec.whatwg.org/#is-this-html5? 61439. https://html.spec.whatwg.org/#background 61440. https://html.spec.whatwg.org/#audience 61441. https://html.spec.whatwg.org/#scope 61442. https://html.spec.whatwg.org/#history-2 61443. https://html.spec.whatwg.org/#design-notes 61444. https://html.spec.whatwg.org/#serialisability-of-script-execution 61445. https://html.spec.whatwg.org/#extensibility 61446. https://html.spec.whatwg.org/#html-vs-xhtml 61447. https://html.spec.whatwg.org/#structure-of-this-specification 61448. https://html.spec.whatwg.org/#how-to-read-this-specification 61449. https://html.spec.whatwg.org/#typographic-conventions 61450. https://html.spec.whatwg.org/#a-quick-introduction-to-html 61451. https://html.spec.whatwg.org/#writing-secure-applications-with-html 61452. https://html.spec.whatwg.org/#common-pitfalls-to-avoid-when-using-the-scripting-apis 61453. https://html.spec.whatwg.org/#how-to-catch-mistakes-when-writing-html:-validators-and-conformance-checkers 61454. https://html.spec.whatwg.org/#conformance-requirements-for-authors 61455. https://html.spec.whatwg.org/#presentational-markup 61456. https://html.spec.whatwg.org/#syntax-errors 61457. https://html.spec.whatwg.org/#restrictions-on-content-models-and-on-attribute-values 61458. https://html.spec.whatwg.org/#suggested-reading 61459. https://html.spec.whatwg.org/#infrastructure 61460. https://html.spec.whatwg.org/#terminology 61461. https://html.spec.whatwg.org/#parallelism 61462. https://html.spec.whatwg.org/#resources 61463. https://html.spec.whatwg.org/#xml 61464. https://html.spec.whatwg.org/#dom-trees 61465. https://html.spec.whatwg.org/#scripting-2 61466. https://html.spec.whatwg.org/#plugins 61467. https://html.spec.whatwg.org/#encoding-terminology 61468. https://html.spec.whatwg.org/#conformance-classes 61469. https://html.spec.whatwg.org/#dependencies 61470. https://html.spec.whatwg.org/#extensibility-2 61471. https://html.spec.whatwg.org/#interactions-with-xpath-and-xslt 61472. https://html.spec.whatwg.org/#policy-controlled-features 61473. https://html.spec.whatwg.org/#common-microsyntaxes 61474. https://html.spec.whatwg.org/#common-parser-idioms 61475. https://html.spec.whatwg.org/#boolean-attributes 61476. https://html.spec.whatwg.org/#keywords-and-enumerated-attributes 61477. https://html.spec.whatwg.org/#numbers 61478. https://html.spec.whatwg.org/#signed-integers 61479. https://html.spec.whatwg.org/#non-negative-integers 61480. https://html.spec.whatwg.org/#floating-point-numbers 61481. https://html.spec.whatwg.org/#percentages-and-dimensions 61482. https://html.spec.whatwg.org/#nonzero-percentages-and-lengths 61483. https://html.spec.whatwg.org/#lists-of-floating-point-numbers 61484. https://html.spec.whatwg.org/#lists-of-dimensions 61485. https://html.spec.whatwg.org/#dates-and-times 61486. https://html.spec.whatwg.org/#months 61487. https://html.spec.whatwg.org/#dates 61488. https://html.spec.whatwg.org/#yearless-dates 61489. https://html.spec.whatwg.org/#times 61490. https://html.spec.whatwg.org/#local-dates-and-times 61491. https://html.spec.whatwg.org/#time-zones 61492. https://html.spec.whatwg.org/#global-dates-and-times 61493. https://html.spec.whatwg.org/#weeks 61494. https://html.spec.whatwg.org/#durations 61495. https://html.spec.whatwg.org/#vaguer-moments-in-time 61496. https://html.spec.whatwg.org/#colours 61497. https://html.spec.whatwg.org/#space-separated-tokens 61498. https://html.spec.whatwg.org/#comma-separated-tokens 61499. https://html.spec.whatwg.org/#syntax-references 61500. https://html.spec.whatwg.org/#mq 61501. https://html.spec.whatwg.org/#unique-values 61502. https://html.spec.whatwg.org/#urls 61503. https://html.spec.whatwg.org/#terminology-2 61504. https://html.spec.whatwg.org/#resolving-urls 61505. https://html.spec.whatwg.org/#dynamic-changes-to-base-urls 61506. https://html.spec.whatwg.org/#fetching-resources 61507. https://html.spec.whatwg.org/#terminology-3 61508. https://html.spec.whatwg.org/#content-type-sniffing 61509. https://html.spec.whatwg.org/#extracting-character-encodings-from-meta-elements 61510. https://html.spec.whatwg.org/#cors-settings-attributes 61511. https://html.spec.whatwg.org/#referrer-policy-attributes 61512. https://html.spec.whatwg.org/#nonce-attributes 61513. https://html.spec.whatwg.org/#lazy-loading-attributes 61514. https://html.spec.whatwg.org/#blocking-attributes 61515. https://html.spec.whatwg.org/#fetch-priority-attributes 61516. https://html.spec.whatwg.org/#common-dom-interfaces 61517. https://html.spec.whatwg.org/#reflecting-content-attributes-in-idl-attributes 61518. https://html.spec.whatwg.org/#using-reflect-in-specifications 61519. https://html.spec.whatwg.org/#collections 61520. https://html.spec.whatwg.org/#the-htmlallcollection-interface 61521. https://html.spec.whatwg.org/#HTMLAllCollection-call 61522. https://html.spec.whatwg.org/#the-htmlformcontrolscollection-interface 61523. https://html.spec.whatwg.org/#the-htmloptionscollection-interface 61524. https://html.spec.whatwg.org/#the-domstringlist-interface 61525. https://html.spec.whatwg.org/#safe-passing-of-structured-data 61526. https://html.spec.whatwg.org/#serializable-objects 61527. https://html.spec.whatwg.org/#transferable-objects 61528. https://html.spec.whatwg.org/#structuredserializeinternal 61529. https://html.spec.whatwg.org/#structuredserialize 61530. https://html.spec.whatwg.org/#structuredserializeforstorage 61531. https://html.spec.whatwg.org/#structureddeserialize 61532. https://html.spec.whatwg.org/#structuredserializewithtransfer 61533. https://html.spec.whatwg.org/#structureddeserializewithtransfer 61534. https://html.spec.whatwg.org/#performing-structured-clones-from-other-specifications 61535. https://html.spec.whatwg.org/#structured-cloning 61536. https://html.spec.whatwg.org/#dom 61537. https://html.spec.whatwg.org/#documents 61538. https://html.spec.whatwg.org/#the-document-object 61539. https://html.spec.whatwg.org/#the-documentorshadowroot-interface 61540. https://html.spec.whatwg.org/#resource-metadata-management 61541. https://html.spec.whatwg.org/#reporting-document-loading-status 61542. https://html.spec.whatwg.org/#render-blocking-mechanism 61543. https://html.spec.whatwg.org/#dom-tree-accessors 61544. https://html.spec.whatwg.org/#elements 61545. https://html.spec.whatwg.org/#semantics-2 61546. https://html.spec.whatwg.org/#elements-in-the-dom 61547. https://html.spec.whatwg.org/#html-element-constructors 61548. https://html.spec.whatwg.org/#element-definitions 61549. https://html.spec.whatwg.org/#attributes 61550. https://html.spec.whatwg.org/#content-models 61551. https://html.spec.whatwg.org/#the-nothing-content-model 61552. https://html.spec.whatwg.org/#kinds-of-content 61553. https://html.spec.whatwg.org/#metadata-content 61554. https://html.spec.whatwg.org/#flow-content 61555. https://html.spec.whatwg.org/#sectioning-content 61556. https://html.spec.whatwg.org/#heading-content 61557. https://html.spec.whatwg.org/#phrasing-content 61558. https://html.spec.whatwg.org/#embedded-content-2 61559. https://html.spec.whatwg.org/#interactive-content 61560. https://html.spec.whatwg.org/#palpable-content 61561. https://html.spec.whatwg.org/#script-supporting-elements 61562. https://html.spec.whatwg.org/#transparent-content-models 61563. https://html.spec.whatwg.org/#paragraphs 61564. https://html.spec.whatwg.org/#global-attributes 61565. https://html.spec.whatwg.org/#the-title-attribute 61566. https://html.spec.whatwg.org/#the-lang-and-xml:lang-attributes 61567. https://html.spec.whatwg.org/#the-translate-attribute 61568. https://html.spec.whatwg.org/#the-dir-attribute 61569. https://html.spec.whatwg.org/#the-style-attribute 61570. https://html.spec.whatwg.org/#embedding-custom-non-visible-data-with-the-data-*-attributes 61571. https://html.spec.whatwg.org/#the-innertext-idl-attribute 61572. https://html.spec.whatwg.org/#requirements-relating-to-the-bidirectional-algorithm 61573. https://html.spec.whatwg.org/#authoring-conformance-criteria-for-bidirectional-algorithm-formatting-characters 61574. https://html.spec.whatwg.org/#user-agent-conformance-criteria 61575. https://html.spec.whatwg.org/#wai-aria 61576. https://html.spec.whatwg.org/#semantics 61577. https://html.spec.whatwg.org/#the-root-element 61578. https://html.spec.whatwg.org/#the-html-element 61579. https://html.spec.whatwg.org/#document-metadata 61580. https://html.spec.whatwg.org/#the-head-element 61581. https://html.spec.whatwg.org/#the-title-element 61582. https://html.spec.whatwg.org/#the-base-element 61583. https://html.spec.whatwg.org/#the-link-element 61584. https://html.spec.whatwg.org/#processing-the-media-attribute 61585. https://html.spec.whatwg.org/#processing-the-type-attribute 61586. https://html.spec.whatwg.org/#fetching-and-processing-a-resource-from-a-link-element 61587. https://html.spec.whatwg.org/#processing-link-headers 61588. https://html.spec.whatwg.org/#early-hints 61589. https://html.spec.whatwg.org/#providing-users-with-a-means-to-follow-hyperlinks-created-using-the-link-element 61590. https://html.spec.whatwg.org/#the-meta-element 61591. https://html.spec.whatwg.org/#standard-metadata-names 61592. https://html.spec.whatwg.org/#other-metadata-names 61593. https://html.spec.whatwg.org/#pragma-directives 61594. https://html.spec.whatwg.org/#charset 61595. https://html.spec.whatwg.org/#the-style-element 61596. https://html.spec.whatwg.org/#interactions-of-styling-and-scripting 61597. https://html.spec.whatwg.org/#sections 61598. https://html.spec.whatwg.org/#the-body-element 61599. https://html.spec.whatwg.org/#the-article-element 61600. https://html.spec.whatwg.org/#the-section-element 61601. https://html.spec.whatwg.org/#the-nav-element 61602. https://html.spec.whatwg.org/#the-aside-element 61603. https://html.spec.whatwg.org/#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 61604. https://html.spec.whatwg.org/#the-hgroup-element 61605. https://html.spec.whatwg.org/#the-header-element 61606. https://html.spec.whatwg.org/#the-footer-element 61607. https://html.spec.whatwg.org/#the-address-element 61608. https://html.spec.whatwg.org/#headings-and-outlines-2 61609. https://html.spec.whatwg.org/#sample-outlines 61610. https://html.spec.whatwg.org/#exposing-outlines-to-users 61611. https://html.spec.whatwg.org/#usage-summary-2 61612. https://html.spec.whatwg.org/#article-or-section 61613. https://html.spec.whatwg.org/#grouping-content 61614. https://html.spec.whatwg.org/#the-p-element 61615. https://html.spec.whatwg.org/#the-hr-element 61616. https://html.spec.whatwg.org/#the-pre-element 61617. https://html.spec.whatwg.org/#the-blockquote-element 61618. https://html.spec.whatwg.org/#the-ol-element 61619. https://html.spec.whatwg.org/#the-ul-element 61620. https://html.spec.whatwg.org/#the-menu-element 61621. https://html.spec.whatwg.org/#the-li-element 61622. https://html.spec.whatwg.org/#the-dl-element 61623. https://html.spec.whatwg.org/#the-dt-element 61624. https://html.spec.whatwg.org/#the-dd-element 61625. https://html.spec.whatwg.org/#the-figure-element 61626. https://html.spec.whatwg.org/#the-figcaption-element 61627. https://html.spec.whatwg.org/#the-main-element 61628. https://html.spec.whatwg.org/#the-search-element 61629. https://html.spec.whatwg.org/#the-div-element 61630. https://html.spec.whatwg.org/#text-level-semantics 61631. https://html.spec.whatwg.org/#the-a-element 61632. https://html.spec.whatwg.org/#the-em-element 61633. https://html.spec.whatwg.org/#the-strong-element 61634. https://html.spec.whatwg.org/#the-small-element 61635. https://html.spec.whatwg.org/#the-s-element 61636. https://html.spec.whatwg.org/#the-cite-element 61637. https://html.spec.whatwg.org/#the-q-element 61638. https://html.spec.whatwg.org/#the-dfn-element 61639. https://html.spec.whatwg.org/#the-abbr-element 61640. https://html.spec.whatwg.org/#the-ruby-element 61641. https://html.spec.whatwg.org/#the-rt-element 61642. https://html.spec.whatwg.org/#the-rp-element 61643. https://html.spec.whatwg.org/#the-data-element 61644. https://html.spec.whatwg.org/#the-time-element 61645. https://html.spec.whatwg.org/#the-code-element 61646. https://html.spec.whatwg.org/#the-var-element 61647. https://html.spec.whatwg.org/#the-samp-element 61648. https://html.spec.whatwg.org/#the-kbd-element 61649. https://html.spec.whatwg.org/#the-sub-and-sup-elements 61650. https://html.spec.whatwg.org/#the-i-element 61651. https://html.spec.whatwg.org/#the-b-element 61652. https://html.spec.whatwg.org/#the-u-element 61653. https://html.spec.whatwg.org/#the-mark-element 61654. https://html.spec.whatwg.org/#the-bdi-element 61655. https://html.spec.whatwg.org/#the-bdo-element 61656. https://html.spec.whatwg.org/#the-span-element 61657. https://html.spec.whatwg.org/#the-br-element 61658. https://html.spec.whatwg.org/#the-wbr-element 61659. https://html.spec.whatwg.org/#usage-summary 61660. https://html.spec.whatwg.org/#links 61661. https://html.spec.whatwg.org/#introduction-2 61662. https://html.spec.whatwg.org/#links-created-by-a-and-area-elements 61663. https://html.spec.whatwg.org/#api-for-a-and-area-elements 61664. https://html.spec.whatwg.org/#following-hyperlinks 61665. https://html.spec.whatwg.org/#downloading-resources 61666. https://html.spec.whatwg.org/#hyperlink-auditing 61667. https://html.spec.whatwg.org/#the-ping-headers 61668. https://html.spec.whatwg.org/#linkTypes 61669. https://html.spec.whatwg.org/#rel-alternate 61670. https://html.spec.whatwg.org/#link-type-author 61671. https://html.spec.whatwg.org/#link-type-bookmark 61672. https://html.spec.whatwg.org/#link-type-canonical 61673. https://html.spec.whatwg.org/#link-type-dns-prefetch 61674. https://html.spec.whatwg.org/#link-type-expect 61675. https://html.spec.whatwg.org/#link-type-external 61676. https://html.spec.whatwg.org/#link-type-help 61677. https://html.spec.whatwg.org/#rel-icon 61678. https://html.spec.whatwg.org/#link-type-license 61679. https://html.spec.whatwg.org/#link-type-manifest 61680. https://html.spec.whatwg.org/#link-type-modulepreload 61681. https://html.spec.whatwg.org/#link-type-nofollow 61682. https://html.spec.whatwg.org/#link-type-noopener 61683. https://html.spec.whatwg.org/#link-type-noreferrer 61684. https://html.spec.whatwg.org/#link-type-opener 61685. https://html.spec.whatwg.org/#link-type-pingback 61686. https://html.spec.whatwg.org/#link-type-preconnect 61687. https://html.spec.whatwg.org/#link-type-prefetch 61688. https://html.spec.whatwg.org/#link-type-preload 61689. https://html.spec.whatwg.org/#link-type-privacy-policy 61690. https://html.spec.whatwg.org/#link-type-search 61691. https://html.spec.whatwg.org/#link-type-stylesheet 61692. https://html.spec.whatwg.org/#link-type-tag 61693. https://html.spec.whatwg.org/#link-type-terms-of-service 61694. https://html.spec.whatwg.org/#sequential-link-types 61695. https://html.spec.whatwg.org/#link-type-next 61696. https://html.spec.whatwg.org/#link-type-prev 61697. https://html.spec.whatwg.org/#other-link-types 61698. https://html.spec.whatwg.org/#edits 61699. https://html.spec.whatwg.org/#the-ins-element 61700. https://html.spec.whatwg.org/#the-del-element 61701. https://html.spec.whatwg.org/#attributes-common-to-ins-and-del-elements 61702. https://html.spec.whatwg.org/#edits-and-paragraphs 61703. https://html.spec.whatwg.org/#edits-and-lists 61704. https://html.spec.whatwg.org/#edits-and-tables 61705. https://html.spec.whatwg.org/#embedded-content 61706. https://html.spec.whatwg.org/#the-picture-element 61707. https://html.spec.whatwg.org/#the-source-element 61708. https://html.spec.whatwg.org/#the-img-element 61709. https://html.spec.whatwg.org/#images 61710. https://html.spec.whatwg.org/#introduction-3 61711. https://html.spec.whatwg.org/#adaptive-images 61712. https://html.spec.whatwg.org/#attributes-common-to-source-and-img-elements 61713. https://html.spec.whatwg.org/#srcset-attributes 61714. https://html.spec.whatwg.org/#sizes-attributes 61715. https://html.spec.whatwg.org/#images-processing-model 61716. https://html.spec.whatwg.org/#when-to-obtain-images 61717. https://html.spec.whatwg.org/#reacting-to-dom-mutations 61718. https://html.spec.whatwg.org/#the-list-of-available-images 61719. https://html.spec.whatwg.org/#decoding-images 61720. https://html.spec.whatwg.org/#updating-the-image-data 61721. https://html.spec.whatwg.org/#preparing-an-image-for-presentation 61722. https://html.spec.whatwg.org/#selecting-an-image-source 61723. https://html.spec.whatwg.org/#creating-a-source-set-from-attributes 61724. https://html.spec.whatwg.org/#updating-the-source-set 61725. https://html.spec.whatwg.org/#parsing-a-srcset-attribute 61726. https://html.spec.whatwg.org/#parsing-a-sizes-attribute 61727. https://html.spec.whatwg.org/#normalizing-the-source-densities 61728. https://html.spec.whatwg.org/#reacting-to-environment-changes 61729. https://html.spec.whatwg.org/#alt 61730. https://html.spec.whatwg.org/#general-guidelines 61731. https://html.spec.whatwg.org/#a-link-or-button-containing-nothing-but-the-image 61732. https://html.spec.whatwg.org/#a-phrase-or-paragraph-with-an-alternative-graphical-representation:-charts,-diagrams,-graphs,-maps,-illustrations 61733. https://html.spec.whatwg.org/#a-short-phrase-or-label-with-an-alternative-graphical-representation:-icons,-logos 61734. https://html.spec.whatwg.org/#text-that-has-been-rendered-to-a-graphic-for-typographical-effect 61735. https://html.spec.whatwg.org/#a-graphical-representation-of-some-of-the-surrounding-text 61736. https://html.spec.whatwg.org/#ancillary-images 61737. https://html.spec.whatwg.org/#a-purely-decorative-image-that-doesn't-add-any-information 61738. https://html.spec.whatwg.org/#a-group-of-images-that-form-a-single-larger-picture-with-no-links 61739. https://html.spec.whatwg.org/#a-group-of-images-that-form-a-single-larger-picture-with-links 61740. https://html.spec.whatwg.org/#a-key-part-of-the-content 61741. https://html.spec.whatwg.org/#an-image-not-intended-for-the-user 61742. https://html.spec.whatwg.org/#an-image-in-an-e-mail-or-private-document-intended-for-a-specific-person-who-is-known-to-be-able-to-view-images 61743. https://html.spec.whatwg.org/#guidance-for-markup-generators 61744. https://html.spec.whatwg.org/#guidance-for-conformance-checkers 61745. https://html.spec.whatwg.org/#the-iframe-element 61746. https://html.spec.whatwg.org/#the-embed-element 61747. https://html.spec.whatwg.org/#the-object-element 61748. https://html.spec.whatwg.org/#the-video-element 61749. https://html.spec.whatwg.org/#the-audio-element 61750. https://html.spec.whatwg.org/#the-track-element 61751. https://html.spec.whatwg.org/#media-elements 61752. https://html.spec.whatwg.org/#error-codes 61753. https://html.spec.whatwg.org/#location-of-the-media-resource 61754. https://html.spec.whatwg.org/#mime-types 61755. https://html.spec.whatwg.org/#network-states 61756. https://html.spec.whatwg.org/#loading-the-media-resource 61757. https://html.spec.whatwg.org/#offsets-into-the-media-resource 61758. https://html.spec.whatwg.org/#ready-states 61759. https://html.spec.whatwg.org/#playing-the-media-resource 61760. https://html.spec.whatwg.org/#seeking 61761. https://html.spec.whatwg.org/#media-resources-with-multiple-media-tracks 61762. https://html.spec.whatwg.org/#audiotracklist-and-videotracklist-objects 61763. https://html.spec.whatwg.org/#selecting-specific-audio-and-video-tracks-declaratively 61764. https://html.spec.whatwg.org/#timed-text-tracks 61765. https://html.spec.whatwg.org/#text-track-model 61766. https://html.spec.whatwg.org/#sourcing-in-band-text-tracks 61767. https://html.spec.whatwg.org/#sourcing-out-of-band-text-tracks 61768. https://html.spec.whatwg.org/#guidelines-for-exposing-cues-in-various-formats-as-text-track-cues 61769. https://html.spec.whatwg.org/#text-track-api 61770. https://html.spec.whatwg.org/#cue-events 61771. https://html.spec.whatwg.org/#best-practices-for-metadata-text-tracks 61772. https://html.spec.whatwg.org/#identifying-a-track-kind-through-a-url 61773. https://html.spec.whatwg.org/#user-interface 61774. https://html.spec.whatwg.org/#time-ranges 61775. https://html.spec.whatwg.org/#the-trackevent-interface 61776. https://html.spec.whatwg.org/#mediaevents 61777. https://html.spec.whatwg.org/#security-and-privacy-considerations 61778. https://html.spec.whatwg.org/#best-practices-for-authors-using-media-elements 61779. https://html.spec.whatwg.org/#best-practices-for-implementers-of-media-elements 61780. https://html.spec.whatwg.org/#the-map-element 61781. https://html.spec.whatwg.org/#the-area-element 61782. https://html.spec.whatwg.org/#image-maps 61783. https://html.spec.whatwg.org/#authoring 61784. https://html.spec.whatwg.org/#image-map-processing-model 61785. https://html.spec.whatwg.org/#mathml 61786. https://html.spec.whatwg.org/#svg-0 61787. https://html.spec.whatwg.org/#dimension-attributes 61788. https://html.spec.whatwg.org/#tables 61789. https://html.spec.whatwg.org/#the-table-element 61790. https://html.spec.whatwg.org/#table-descriptions-techniques 61791. https://html.spec.whatwg.org/#table-layout-techniques 61792. https://html.spec.whatwg.org/#the-caption-element 61793. https://html.spec.whatwg.org/#the-colgroup-element 61794. https://html.spec.whatwg.org/#the-col-element 61795. https://html.spec.whatwg.org/#the-tbody-element 61796. https://html.spec.whatwg.org/#the-thead-element 61797. https://html.spec.whatwg.org/#the-tfoot-element 61798. https://html.spec.whatwg.org/#the-tr-element 61799. https://html.spec.whatwg.org/#the-td-element 61800. https://html.spec.whatwg.org/#the-th-element 61801. https://html.spec.whatwg.org/#attributes-common-to-td-and-th-elements 61802. https://html.spec.whatwg.org/#table-processing-model 61803. https://html.spec.whatwg.org/#forming-a-table 61804. https://html.spec.whatwg.org/#header-and-data-cell-semantics 61805. https://html.spec.whatwg.org/#table-examples 61806. https://html.spec.whatwg.org/#forms 61807. https://html.spec.whatwg.org/#introduction-4 61808. https://html.spec.whatwg.org/#writing-a-form's-user-interface 61809. https://html.spec.whatwg.org/#implementing-the-server-side-processing-for-a-form 61810. https://html.spec.whatwg.org/#configuring-a-form-to-communicate-with-a-server 61811. https://html.spec.whatwg.org/#client-side-form-validation 61812. https://html.spec.whatwg.org/#enabling-client-side-automatic-filling-of-form-controls 61813. https://html.spec.whatwg.org/#improving-the-user-experience-on-mobile-devices 61814. https://html.spec.whatwg.org/#the-difference-between-the-field-type,-the-autofill-field-name,-and-the-input-modality 61815. https://html.spec.whatwg.org/#input-author-notes 61816. https://html.spec.whatwg.org/#categories 61817. https://html.spec.whatwg.org/#the-form-element 61818. https://html.spec.whatwg.org/#the-label-element 61819. https://html.spec.whatwg.org/#the-input-element 61820. https://html.spec.whatwg.org/#states-of-the-type-attribute 61821. https://html.spec.whatwg.org/#hidden-state-(type=hidden) 61822. https://html.spec.whatwg.org/#text-(type=text)-state-and-search-state-(type=search) 61823. https://html.spec.whatwg.org/#telephone-state-(type=tel) 61824. https://html.spec.whatwg.org/#url-state-(type=url) 61825. https://html.spec.whatwg.org/#email-state-(type=email) 61826. https://html.spec.whatwg.org/#password-state-(type=password) 61827. https://html.spec.whatwg.org/#date-state-(type=date) 61828. https://html.spec.whatwg.org/#month-state-(type=month) 61829. https://html.spec.whatwg.org/#week-state-(type=week) 61830. https://html.spec.whatwg.org/#time-state-(type=time) 61831. https://html.spec.whatwg.org/#local-date-and-time-state-(type=datetime-local) 61832. https://html.spec.whatwg.org/#number-state-(type=number) 61833. https://html.spec.whatwg.org/#range-state-(type=range) 61834. https://html.spec.whatwg.org/#color-state-(type=color) 61835. https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) 61836. https://html.spec.whatwg.org/#radio-button-state-(type=radio) 61837. https://html.spec.whatwg.org/#file-upload-state-(type=file) 61838. https://html.spec.whatwg.org/#submit-button-state-(type=submit) 61839. https://html.spec.whatwg.org/#image-button-state-(type=image) 61840. https://html.spec.whatwg.org/#reset-button-state-(type=reset) 61841. https://html.spec.whatwg.org/#button-state-(type=button) 61842. https://html.spec.whatwg.org/#input-impl-notes 61843. https://html.spec.whatwg.org/#common-input-element-attributes 61844. https://html.spec.whatwg.org/#the-maxlength-and-minlength-attributes 61845. https://html.spec.whatwg.org/#the-size-attribute 61846. https://html.spec.whatwg.org/#the-readonly-attribute 61847. https://html.spec.whatwg.org/#the-required-attribute 61848. https://html.spec.whatwg.org/#the-multiple-attribute 61849. https://html.spec.whatwg.org/#the-pattern-attribute 61850. https://html.spec.whatwg.org/#the-min-and-max-attributes 61851. https://html.spec.whatwg.org/#the-step-attribute 61852. https://html.spec.whatwg.org/#the-list-attribute 61853. https://html.spec.whatwg.org/#the-placeholder-attribute 61854. https://html.spec.whatwg.org/#common-input-element-apis 61855. https://html.spec.whatwg.org/#common-input-element-events 61856. https://html.spec.whatwg.org/#the-button-element 61857. https://html.spec.whatwg.org/#the-select-element 61858. https://html.spec.whatwg.org/#the-datalist-element 61859. https://html.spec.whatwg.org/#the-optgroup-element 61860. https://html.spec.whatwg.org/#the-option-element 61861. https://html.spec.whatwg.org/#the-textarea-element 61862. https://html.spec.whatwg.org/#the-output-element 61863. https://html.spec.whatwg.org/#the-progress-element 61864. https://html.spec.whatwg.org/#the-meter-element 61865. https://html.spec.whatwg.org/#the-fieldset-element 61866. https://html.spec.whatwg.org/#the-legend-element 61867. https://html.spec.whatwg.org/#form-control-infrastructure 61868. https://html.spec.whatwg.org/#a-form-control's-value 61869. https://html.spec.whatwg.org/#mutability 61870. https://html.spec.whatwg.org/#association-of-controls-and-forms 61871. https://html.spec.whatwg.org/#attributes-common-to-form-controls 61872. https://html.spec.whatwg.org/#naming-form-controls:-the-name-attribute 61873. https://html.spec.whatwg.org/#submitting-element-directionality:-the-dirname-attribute 61874. https://html.spec.whatwg.org/#limiting-user-input-length:-the-maxlength-attribute 61875. https://html.spec.whatwg.org/#setting-minimum-input-length-requirements:-the-minlength-attribute 61876. https://html.spec.whatwg.org/#enabling-and-disabling-form-controls:-the-disabled-attribute 61877. https://html.spec.whatwg.org/#form-submission-attributes 61878. https://html.spec.whatwg.org/#autofill 61879. https://html.spec.whatwg.org/#autofilling-form-controls:-the-autocomplete-attribute 61880. https://html.spec.whatwg.org/#autofill-processing-model 61881. https://html.spec.whatwg.org/#textFieldSelection 61882. https://html.spec.whatwg.org/#constraints 61883. https://html.spec.whatwg.org/#definitions 61884. https://html.spec.whatwg.org/#constraint-validation 61885. https://html.spec.whatwg.org/#the-constraint-validation-api 61886. https://html.spec.whatwg.org/#security-forms 61887. https://html.spec.whatwg.org/#form-submission-2 61888. https://html.spec.whatwg.org/#introduction-5 61889. https://html.spec.whatwg.org/#implicit-submission 61890. https://html.spec.whatwg.org/#form-submission-algorithm 61891. https://html.spec.whatwg.org/#constructing-form-data-set 61892. https://html.spec.whatwg.org/#selecting-a-form-submission-encoding 61893. https://html.spec.whatwg.org/#converting-an-entry-list-to-a-list-of-name-value-pairs 61894. https://html.spec.whatwg.org/#url-encoded-form-data 61895. https://html.spec.whatwg.org/#multipart-form-data 61896. https://html.spec.whatwg.org/#plain-text-form-data 61897. https://html.spec.whatwg.org/#the-submitevent-interface 61898. https://html.spec.whatwg.org/#the-formdataevent-interface 61899. https://html.spec.whatwg.org/#resetting-a-form 61900. https://html.spec.whatwg.org/#interactive-elements 61901. https://html.spec.whatwg.org/#the-details-element 61902. https://html.spec.whatwg.org/#the-summary-element 61903. https://html.spec.whatwg.org/#commands 61904. https://html.spec.whatwg.org/#facets-2 61905. https://html.spec.whatwg.org/#using-the-a-element-to-define-a-command 61906. https://html.spec.whatwg.org/#using-the-button-element-to-define-a-command 61907. https://html.spec.whatwg.org/#using-the-input-element-to-define-a-command 61908. https://html.spec.whatwg.org/#using-the-option-element-to-define-a-command 61909. https://html.spec.whatwg.org/#using-the-accesskey-attribute-on-a-legend-element-to-define-a-command 61910. https://html.spec.whatwg.org/#using-the-accesskey-attribute-to-define-a-command-on-other-elements 61911. https://html.spec.whatwg.org/#the-dialog-element 61912. https://html.spec.whatwg.org/#dialog-light-dismiss 61913. https://html.spec.whatwg.org/#scripting-3 61914. https://html.spec.whatwg.org/#the-script-element 61915. https://html.spec.whatwg.org/#script-processing-model 61916. https://html.spec.whatwg.org/#scriptingLanguages 61917. https://html.spec.whatwg.org/#restrictions-for-contents-of-script-elements 61918. https://html.spec.whatwg.org/#inline-documentation-for-external-scripts 61919. https://html.spec.whatwg.org/#scriptTagXSLT 61920. https://html.spec.whatwg.org/#the-noscript-element 61921. https://html.spec.whatwg.org/#the-template-element 61922. https://html.spec.whatwg.org/#template-XSLT-XPath 61923. https://html.spec.whatwg.org/#the-slot-element 61924. https://html.spec.whatwg.org/#the-canvas-element 61925. https://html.spec.whatwg.org/#2dcontext 61926. https://html.spec.whatwg.org/#implementation-notes 61927. https://html.spec.whatwg.org/#the-canvas-settings 61928. https://html.spec.whatwg.org/#the-canvas-state 61929. https://html.spec.whatwg.org/#line-styles 61930. https://html.spec.whatwg.org/#text-styles 61931. https://html.spec.whatwg.org/#building-paths 61932. https://html.spec.whatwg.org/#path2d-objects 61933. https://html.spec.whatwg.org/#transformations 61934. https://html.spec.whatwg.org/#image-sources-for-2d-rendering-contexts 61935. https://html.spec.whatwg.org/#fill-and-stroke-styles 61936. https://html.spec.whatwg.org/#drawing-rectangles-to-the-bitmap 61937. https://html.spec.whatwg.org/#drawing-text-to-the-bitmap 61938. https://html.spec.whatwg.org/#drawing-paths-to-the-canvas 61939. https://html.spec.whatwg.org/#drawing-focus-rings-and-scrolling-paths-into-view 61940. https://html.spec.whatwg.org/#drawing-images 61941. https://html.spec.whatwg.org/#pixel-manipulation 61942. https://html.spec.whatwg.org/#compositing 61943. https://html.spec.whatwg.org/#image-smoothing 61944. https://html.spec.whatwg.org/#shadows 61945. https://html.spec.whatwg.org/#filters 61946. https://html.spec.whatwg.org/#working-with-externally-defined-svg-filters 61947. https://html.spec.whatwg.org/#drawing-model 61948. https://html.spec.whatwg.org/#best-practices 61949. https://html.spec.whatwg.org/#examples 61950. https://html.spec.whatwg.org/#the-imagebitmap-rendering-context 61951. https://html.spec.whatwg.org/#introduction-6 61952. https://html.spec.whatwg.org/#the-imagebitmaprenderingcontext-interface 61953. https://html.spec.whatwg.org/#the-offscreencanvas-interface 61954. https://html.spec.whatwg.org/#the-offscreen-2d-rendering-context 61955. https://html.spec.whatwg.org/#colour-spaces-and-colour-correction 61956. https://html.spec.whatwg.org/#serialising-bitmaps-to-a-file 61957. https://html.spec.whatwg.org/#security-with-canvas-elements 61958. https://html.spec.whatwg.org/#premultiplied-alpha-and-the-2d-rendering-context 61959. https://html.spec.whatwg.org/#custom-elements 61960. https://html.spec.whatwg.org/#custom-elements-intro 61961. https://html.spec.whatwg.org/#custom-elements-autonomous-example 61962. https://html.spec.whatwg.org/#custom-elements-face-example 61963. https://html.spec.whatwg.org/#custom-elements-accessibility-example 61964. https://html.spec.whatwg.org/#custom-elements-customized-builtin-example 61965. https://html.spec.whatwg.org/#custom-elements-autonomous-drawbacks 61966. https://html.spec.whatwg.org/#custom-elements-upgrades-examples 61967. https://html.spec.whatwg.org/#exposing-custom-element-states 61968. https://html.spec.whatwg.org/#custom-element-conformance 61969. https://html.spec.whatwg.org/#preserving-custom-element-state-when-moved 61970. https://html.spec.whatwg.org/#custom-elements-core-concepts 61971. https://html.spec.whatwg.org/#custom-elements-api 61972. https://html.spec.whatwg.org/#upgrades 61973. https://html.spec.whatwg.org/#custom-element-reactions 61974. https://html.spec.whatwg.org/#element-internals 61975. https://html.spec.whatwg.org/#the-elementinternals-interface 61976. https://html.spec.whatwg.org/#shadow-root-access 61977. https://html.spec.whatwg.org/#form-associated-custom-elements 61978. https://html.spec.whatwg.org/#accessibility-semantics 61979. https://html.spec.whatwg.org/#custom-state-pseudo-class 61980. https://html.spec.whatwg.org/#common-idioms 61981. https://html.spec.whatwg.org/#rel-up 61982. https://html.spec.whatwg.org/#tag-clouds 61983. https://html.spec.whatwg.org/#conversations 61984. https://html.spec.whatwg.org/#footnotes 61985. https://html.spec.whatwg.org/#disabled-elements 61986. https://html.spec.whatwg.org/#selectors 61987. https://html.spec.whatwg.org/#case-sensitivity-of-the-css-'attr()'-function 61988. https://html.spec.whatwg.org/#case-sensitivity-of-selectors 61989. https://html.spec.whatwg.org/#pseudo-classes 61990. https://html.spec.whatwg.org/#microdata 61991. https://html.spec.whatwg.org/#introduction-7 61992. https://html.spec.whatwg.org/#overview 61993. https://html.spec.whatwg.org/#the-basic-syntax 61994. https://html.spec.whatwg.org/#typed-items 61995. https://html.spec.whatwg.org/#global-identifiers-for-items 61996. https://html.spec.whatwg.org/#selecting-names-when-defining-vocabularies 61997. https://html.spec.whatwg.org/#encoding-microdata 61998. https://html.spec.whatwg.org/#the-microdata-model 61999. https://html.spec.whatwg.org/#items 62000. https://html.spec.whatwg.org/#names:-the-itemprop-attribute 62001. https://html.spec.whatwg.org/#values 62002. https://html.spec.whatwg.org/#associating-names-with-items 62003. https://html.spec.whatwg.org/#microdata-and-other-namespaces 62004. https://html.spec.whatwg.org/#mdvocabs 62005. https://html.spec.whatwg.org/#vcard 62006. https://html.spec.whatwg.org/#conversion-to-vcard 62007. https://html.spec.whatwg.org/#examples-2 62008. https://html.spec.whatwg.org/#vevent 62009. https://html.spec.whatwg.org/#conversion-to-icalendar 62010. https://html.spec.whatwg.org/#examples-3 62011. https://html.spec.whatwg.org/#licensing-works 62012. https://html.spec.whatwg.org/#examples-4 62013. https://html.spec.whatwg.org/#converting-html-to-other-formats 62014. https://html.spec.whatwg.org/#json 62015. https://html.spec.whatwg.org/#editing 62016. https://html.spec.whatwg.org/#the-hidden-attribute 62017. https://html.spec.whatwg.org/#page-visibility 62018. https://html.spec.whatwg.org/#the-visibilitystateentry-interface 62019. https://html.spec.whatwg.org/#inert-subtrees 62020. https://html.spec.whatwg.org/#modal-dialogs-and-inert-subtrees 62021. https://html.spec.whatwg.org/#the-inert-attribute 62022. https://html.spec.whatwg.org/#tracking-user-activation 62023. https://html.spec.whatwg.org/#user-activation-data-model 62024. https://html.spec.whatwg.org/#user-activation-processing-model 62025. https://html.spec.whatwg.org/#user-activation-gated-apis 62026. https://html.spec.whatwg.org/#the-useractivation-interface 62027. https://html.spec.whatwg.org/#user-activation-user-agent-automation 62028. https://html.spec.whatwg.org/#activation 62029. https://html.spec.whatwg.org/#the-toggleevent-interface 62030. https://html.spec.whatwg.org/#the-commandevent-interface 62031. https://html.spec.whatwg.org/#focus 62032. https://html.spec.whatwg.org/#introduction-8 62033. https://html.spec.whatwg.org/#data-model 62034. https://html.spec.whatwg.org/#the-tabindex-attribute 62035. https://html.spec.whatwg.org/#focus-processing-model 62036. https://html.spec.whatwg.org/#sequential-focus-navigation 62037. https://html.spec.whatwg.org/#focus-management-apis 62038. https://html.spec.whatwg.org/#the-autofocus-attribute 62039. https://html.spec.whatwg.org/#assigning-keyboard-shortcuts 62040. https://html.spec.whatwg.org/#introduction-9 62041. https://html.spec.whatwg.org/#the-accesskey-attribute 62042. https://html.spec.whatwg.org/#keyboard-shortcuts-processing-model 62043. https://html.spec.whatwg.org/#editing-2 62044. https://html.spec.whatwg.org/#contenteditable 62045. https://html.spec.whatwg.org/#making-entire-documents-editable:-the-designmode-idl-attribute 62046. https://html.spec.whatwg.org/#best-practices-for-in-page-editors 62047. https://html.spec.whatwg.org/#editing-apis 62048. https://html.spec.whatwg.org/#spelling-and-grammar-checking 62049. https://html.spec.whatwg.org/#writing-suggestions 62050. https://html.spec.whatwg.org/#autocapitalization 62051. https://html.spec.whatwg.org/#autocorrection 62052. https://html.spec.whatwg.org/#input-modalities:-the-inputmode-attribute 62053. https://html.spec.whatwg.org/#input-modalities:-the-enterkeyhint-attribute 62054. https://html.spec.whatwg.org/#find-in-page 62055. https://html.spec.whatwg.org/#introduction-10 62056. https://html.spec.whatwg.org/#interaction-with-details-and-hidden=until-found 62057. https://html.spec.whatwg.org/#interaction-with-selection 62058. https://html.spec.whatwg.org/#close-requests-and-close-watchers 62059. https://html.spec.whatwg.org/#close-requests 62060. https://html.spec.whatwg.org/#close-watcher-infrastructure 62061. https://html.spec.whatwg.org/#the-closewatcher-interface 62062. https://html.spec.whatwg.org/#dnd 62063. https://html.spec.whatwg.org/#event-drag 62064. https://html.spec.whatwg.org/#the-drag-data-store 62065. https://html.spec.whatwg.org/#the-datatransfer-interface 62066. https://html.spec.whatwg.org/#the-datatransferitemlist-interface 62067. https://html.spec.whatwg.org/#the-datatransferitem-interface 62068. https://html.spec.whatwg.org/#the-dragevent-interface 62069. https://html.spec.whatwg.org/#drag-and-drop-processing-model 62070. https://html.spec.whatwg.org/#dndevents 62071. https://html.spec.whatwg.org/#the-draggable-attribute 62072. https://html.spec.whatwg.org/#security-risks-in-the-drag-and-drop-model 62073. https://html.spec.whatwg.org/#the-popover-attribute 62074. https://html.spec.whatwg.org/#the-popover-target-attributes 62075. https://html.spec.whatwg.org/#popover-light-dismiss 62076. https://html.spec.whatwg.org/#browsers 62077. https://html.spec.whatwg.org/#loading-web-pages-supporting-concepts 62078. https://html.spec.whatwg.org/#origin 62079. https://html.spec.whatwg.org/#sites 62080. https://html.spec.whatwg.org/#relaxing-the-same-origin-restriction 62081. https://html.spec.whatwg.org/#origin-keyed-agent-clusters 62082. https://html.spec.whatwg.org/#cross-origin-opener-policies 62083. https://html.spec.whatwg.org/#the-coop-headers 62084. https://html.spec.whatwg.org/#browsing-context-group-switches-due-to-cross-origin-opener-policy 62085. https://html.spec.whatwg.org/#coop-reporting 62086. https://html.spec.whatwg.org/#coep 62087. https://html.spec.whatwg.org/#the-coep-headers 62088. https://html.spec.whatwg.org/#embedder-policy-checks 62089. https://html.spec.whatwg.org/#sandboxing 62090. https://html.spec.whatwg.org/#policy-containers 62091. https://html.spec.whatwg.org/#nav-traversal-apis 62092. https://html.spec.whatwg.org/#cross-origin-objects 62093. https://html.spec.whatwg.org/#integration-with-idl 62094. https://html.spec.whatwg.org/#shared-internal-slot:-crossoriginpropertydescriptormap 62095. https://html.spec.whatwg.org/#shared-abstract-operations 62096. https://html.spec.whatwg.org/#crossoriginproperties-(-o-) 62097. https://html.spec.whatwg.org/#crossoriginpropertyfallback-(-p-) 62098. https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) 62099. https://html.spec.whatwg.org/#crossorigingetownpropertyhelper-(-o,-p-) 62100. https://html.spec.whatwg.org/#crossoriginget-(-o,-p,-receiver-) 62101. https://html.spec.whatwg.org/#crossoriginset-(-o,-p,-v,-receiver-) 62102. https://html.spec.whatwg.org/#crossoriginownpropertykeys-(-o-) 62103. https://html.spec.whatwg.org/#the-window-object 62104. https://html.spec.whatwg.org/#apis-for-creating-and-navigating-browsing-contexts-by-name 62105. https://html.spec.whatwg.org/#accessing-other-browsing-contexts 62106. https://html.spec.whatwg.org/#named-access-on-the-window-object 62107. https://html.spec.whatwg.org/#navigating-nested-browsing-contexts-in-the-dom 62108. https://html.spec.whatwg.org/#browser-interface-elements 62109. https://html.spec.whatwg.org/#script-settings-for-window-objects 62110. https://html.spec.whatwg.org/#the-windowproxy-exotic-object 62111. https://html.spec.whatwg.org/#windowproxy-getprototypeof 62112. https://html.spec.whatwg.org/#windowproxy-setprototypeof 62113. https://html.spec.whatwg.org/#windowproxy-isextensible 62114. https://html.spec.whatwg.org/#windowproxy-preventextensions 62115. https://html.spec.whatwg.org/#windowproxy-getownproperty 62116. https://html.spec.whatwg.org/#windowproxy-defineownproperty 62117. https://html.spec.whatwg.org/#windowproxy-get 62118. https://html.spec.whatwg.org/#windowproxy-set 62119. https://html.spec.whatwg.org/#windowproxy-delete 62120. https://html.spec.whatwg.org/#windowproxy-ownpropertykeys 62121. https://html.spec.whatwg.org/#the-location-interface 62122. https://html.spec.whatwg.org/#location-getprototypeof 62123. https://html.spec.whatwg.org/#location-setprototypeof 62124. https://html.spec.whatwg.org/#location-isextensible 62125. https://html.spec.whatwg.org/#location-preventextensions 62126. https://html.spec.whatwg.org/#location-getownproperty 62127. https://html.spec.whatwg.org/#location-defineownproperty 62128. https://html.spec.whatwg.org/#location-get 62129. https://html.spec.whatwg.org/#location-set 62130. https://html.spec.whatwg.org/#location-delete 62131. https://html.spec.whatwg.org/#location-ownpropertykeys 62132. https://html.spec.whatwg.org/#the-history-interface 62133. https://html.spec.whatwg.org/#navigation-api 62134. https://html.spec.whatwg.org/#navigation-api-intro 62135. https://html.spec.whatwg.org/#navigation-interface 62136. https://html.spec.whatwg.org/#navigation-api-core 62137. https://html.spec.whatwg.org/#navigation-api-entry-updates 62138. https://html.spec.whatwg.org/#the-navigationhistoryentry-interface 62139. https://html.spec.whatwg.org/#the-history-entry-list 62140. https://html.spec.whatwg.org/#navigation-api-initiating-navigations 62141. https://html.spec.whatwg.org/#ongoing-navigation-tracking 62142. https://html.spec.whatwg.org/#navigation-activation-interface 62143. https://html.spec.whatwg.org/#the-navigate-event 62144. https://html.spec.whatwg.org/#the-navigateevent-interface 62145. https://html.spec.whatwg.org/#the-navigationdestination-interface 62146. https://html.spec.whatwg.org/#navigate-event-firing 62147. https://html.spec.whatwg.org/#navigate-event-scroll-focus 62148. https://html.spec.whatwg.org/#nav-traversal-event-interfaces 62149. https://html.spec.whatwg.org/#the-navigationcurrententrychangeevent-interface 62150. https://html.spec.whatwg.org/#the-popstateevent-interface 62151. https://html.spec.whatwg.org/#the-hashchangeevent-interface 62152. https://html.spec.whatwg.org/#the-pageswapevent-interface 62153. https://html.spec.whatwg.org/#the-pagerevealevent-interface 62154. https://html.spec.whatwg.org/#the-pagetransitionevent-interface 62155. https://html.spec.whatwg.org/#the-beforeunloadevent-interface 62156. https://html.spec.whatwg.org/#the-notrestoredreasons-interface 62157. https://html.spec.whatwg.org/#infrastructure-for-sequences-of-documents 62158. https://html.spec.whatwg.org/#navigables 62159. https://html.spec.whatwg.org/#traversable-navigables 62160. https://html.spec.whatwg.org/#top-level-traversables 62161. https://html.spec.whatwg.org/#child-navigables 62162. https://html.spec.whatwg.org/#jake-diagrams 62163. https://html.spec.whatwg.org/#related-navigable-collections 62164. https://html.spec.whatwg.org/#garbage-collection-and-browsing-contexts 62165. https://html.spec.whatwg.org/#navigable-target-names 62166. https://html.spec.whatwg.org/#windows 62167. https://html.spec.whatwg.org/#creating-browsing-contexts 62168. https://html.spec.whatwg.org/#nested-browsing-contexts 62169. https://html.spec.whatwg.org/#groupings-of-browsing-contexts 62170. https://html.spec.whatwg.org/#fully-active-documents 62171. https://html.spec.whatwg.org/#navigation-and-session-history 62172. https://html.spec.whatwg.org/#session-history-infrastructure 62173. https://html.spec.whatwg.org/#session-history-entries 62174. https://html.spec.whatwg.org/#document-state 62175. https://html.spec.whatwg.org/#centralized-modifications-of-session-history 62176. https://html.spec.whatwg.org/#low-level-operations-on-session-history 62177. https://html.spec.whatwg.org/#navigating-across-documents 62178. https://html.spec.whatwg.org/#navigation-supporting-concepts 62179. https://html.spec.whatwg.org/#beginning-navigation 62180. https://html.spec.whatwg.org/#ending-navigation 62181. https://html.spec.whatwg.org/#the-usual-cross-document-navigation-case 62182. https://html.spec.whatwg.org/#the-javascript:-url-special-case 62183. https://html.spec.whatwg.org/#scroll-to-fragid 62184. https://html.spec.whatwg.org/#non-fetch-schemes-and-external-software 62185. https://html.spec.whatwg.org/#preventing-navigation 62186. https://html.spec.whatwg.org/#aborting-navigation 62187. https://html.spec.whatwg.org/#reloading-and-traversing 62188. https://html.spec.whatwg.org/#navigate-non-frag-sync 62189. https://html.spec.whatwg.org/#populating-a-session-history-entry 62190. https://html.spec.whatwg.org/#applying-the-history-step 62191. https://html.spec.whatwg.org/#updating-the-traversable 62192. https://html.spec.whatwg.org/#updating-the-document 62193. https://html.spec.whatwg.org/#revealing-the-document 62194. https://html.spec.whatwg.org/#scrolling-to-a-fragment 62195. https://html.spec.whatwg.org/#persisted-user-state-restoration 62196. https://html.spec.whatwg.org/#document-lifecycle 62197. https://html.spec.whatwg.org/#shared-document-creation-infrastructure 62198. https://html.spec.whatwg.org/#read-html 62199. https://html.spec.whatwg.org/#read-xml 62200. https://html.spec.whatwg.org/#read-text 62201. https://html.spec.whatwg.org/#read-multipart-x-mixed-replace 62202. https://html.spec.whatwg.org/#read-media 62203. https://html.spec.whatwg.org/#read-ua-inline 62204. https://html.spec.whatwg.org/#loading-documents 62205. https://html.spec.whatwg.org/#unloading-documents 62206. https://html.spec.whatwg.org/#destroying-documents 62207. https://html.spec.whatwg.org/#aborting-a-document-load 62208. https://html.spec.whatwg.org/#the-x-frame-options-header 62209. https://html.spec.whatwg.org/#the-refresh-header 62210. https://html.spec.whatwg.org/#nav-traversal-ui 62211. https://html.spec.whatwg.org/#webappapis 62212. https://html.spec.whatwg.org/#scripting 62213. https://html.spec.whatwg.org/#introduction-11 62214. https://html.spec.whatwg.org/#agents-and-agent-clusters 62215. https://html.spec.whatwg.org/#integration-with-the-javascript-agent-formalism 62216. https://html.spec.whatwg.org/#integration-with-the-javascript-agent-cluster-formalism 62217. https://html.spec.whatwg.org/#realms-and-their-counterparts 62218. https://html.spec.whatwg.org/#environments 62219. https://html.spec.whatwg.org/#environment-settings-objects 62220. https://html.spec.whatwg.org/#realms-settings-objects-global-objects 62221. https://html.spec.whatwg.org/#entry 62222. https://html.spec.whatwg.org/#incumbent 62223. https://html.spec.whatwg.org/#current 62224. https://html.spec.whatwg.org/#relevant 62225. https://html.spec.whatwg.org/#enabling-and-disabling-scripting 62226. https://html.spec.whatwg.org/#secure-contexts 62227. https://html.spec.whatwg.org/#scripting-processing-model 62228. https://html.spec.whatwg.org/#script-structs 62229. https://html.spec.whatwg.org/#fetching-scripts 62230. https://html.spec.whatwg.org/#creating-scripts 62231. https://html.spec.whatwg.org/#calling-scripts 62232. https://html.spec.whatwg.org/#killing-scripts 62233. https://html.spec.whatwg.org/#runtime-script-errors 62234. https://html.spec.whatwg.org/#unhandled-promise-rejections 62235. https://html.spec.whatwg.org/#import-map-parse-results 62236. https://html.spec.whatwg.org/#module-specifier-resolution 62237. https://html.spec.whatwg.org/#the-resolution-algorithm 62238. https://html.spec.whatwg.org/#import-maps 62239. https://html.spec.whatwg.org/#import-map-processing-model 62240. https://html.spec.whatwg.org/#javascript-specification-host-hooks 62241. https://html.spec.whatwg.org/#the-hostensurecanaddprivateelement-implementation 62242. https://html.spec.whatwg.org/#hostensurecancompilestrings(realm,-parameterstrings,-bodystring,-codestring,-compilationtype,-parameterargs,-bodyarg) 62243. https://html.spec.whatwg.org/#hostgetcodeforeval(argument) 62244. https://html.spec.whatwg.org/#the-hostpromiserejectiontracker-implementation 62245. https://html.spec.whatwg.org/#hostsystemutcepochnanoseconds 62246. https://html.spec.whatwg.org/#integration-with-javascript-jobs 62247. https://html.spec.whatwg.org/#hostcalljobcallback 62248. https://html.spec.whatwg.org/#hostenqueuefinalizationregistrycleanupjob 62249. https://html.spec.whatwg.org/#hostenqueuegenericjob 62250. https://html.spec.whatwg.org/#hostenqueuepromisejob 62251. https://html.spec.whatwg.org/#hostenqueuetimeoutjob 62252. https://html.spec.whatwg.org/#hostmakejobcallback 62253. https://html.spec.whatwg.org/#integration-with-the-javascript-module-system 62254. https://html.spec.whatwg.org/#hostgetimportmetaproperties 62255. https://html.spec.whatwg.org/#hostgetsupportedimportattributes 62256. https://html.spec.whatwg.org/#hostloadimportedmodule 62257. https://html.spec.whatwg.org/#event-loops 62258. https://html.spec.whatwg.org/#definitions-3 62259. https://html.spec.whatwg.org/#queuing-tasks 62260. https://html.spec.whatwg.org/#event-loop-processing-model 62261. https://html.spec.whatwg.org/#generic-task-sources 62262. https://html.spec.whatwg.org/#event-loop-for-spec-authors 62263. https://html.spec.whatwg.org/#events 62264. https://html.spec.whatwg.org/#event-handler-attributes 62265. https://html.spec.whatwg.org/#event-handlers-on-elements,-document-objects,-and-window-objects 62266. https://html.spec.whatwg.org/#idl-definitions 62267. https://html.spec.whatwg.org/#event-firing 62268. https://html.spec.whatwg.org/#windoworworkerglobalscope-mixin 62269. https://html.spec.whatwg.org/#atob 62270. https://html.spec.whatwg.org/#dynamic-markup-insertion 62271. https://html.spec.whatwg.org/#opening-the-input-stream 62272. https://html.spec.whatwg.org/#closing-the-input-stream 62273. https://html.spec.whatwg.org/#document.write() 62274. https://html.spec.whatwg.org/#document.writeln() 62275. https://html.spec.whatwg.org/#dom-parsing-and-serialization 62276. https://html.spec.whatwg.org/#the-domparser-interface 62277. https://html.spec.whatwg.org/#unsafe-html-parsing-methods 62278. https://html.spec.whatwg.org/#html-serialization-methods 62279. https://html.spec.whatwg.org/#the-innerhtml-property 62280. https://html.spec.whatwg.org/#the-outerhtml-property 62281. https://html.spec.whatwg.org/#the-insertadjacenthtml()-method 62282. https://html.spec.whatwg.org/#the-createcontextualfragment()-method 62283. https://html.spec.whatwg.org/#the-xmlserializer-interface 62284. https://html.spec.whatwg.org/#timers 62285. https://html.spec.whatwg.org/#microtask-queuing 62286. https://html.spec.whatwg.org/#user-prompts 62287. https://html.spec.whatwg.org/#simple-dialogs 62288. https://html.spec.whatwg.org/#printing 62289. https://html.spec.whatwg.org/#system-state-and-capabilities 62290. https://html.spec.whatwg.org/#the-navigator-object 62291. https://html.spec.whatwg.org/#client-identification 62292. https://html.spec.whatwg.org/#language-preferences 62293. https://html.spec.whatwg.org/#navigator.online 62294. https://html.spec.whatwg.org/#custom-handlers 62295. https://html.spec.whatwg.org/#security-and-privacy 62296. https://html.spec.whatwg.org/#user-agent-automation 62297. https://html.spec.whatwg.org/#cookies 62298. https://html.spec.whatwg.org/#pdf-viewing-support 62299. https://html.spec.whatwg.org/#images-2 62300. https://html.spec.whatwg.org/#animation-frames 62301. https://html.spec.whatwg.org/#comms 62302. https://html.spec.whatwg.org/#the-messageevent-interface 62303. https://html.spec.whatwg.org/#server-sent-events 62304. https://html.spec.whatwg.org/#server-sent-events-intro 62305. https://html.spec.whatwg.org/#the-eventsource-interface 62306. https://html.spec.whatwg.org/#sse-processing-model 62307. https://html.spec.whatwg.org/#the-last-event-id-header 62308. https://html.spec.whatwg.org/#parsing-an-event-stream 62309. https://html.spec.whatwg.org/#event-stream-interpretation 62310. https://html.spec.whatwg.org/#authoring-notes 62311. https://html.spec.whatwg.org/#eventsource-push 62312. https://html.spec.whatwg.org/#garbage-collection 62313. https://html.spec.whatwg.org/#implementation-advice 62314. https://html.spec.whatwg.org/#web-messaging 62315. https://html.spec.whatwg.org/#introduction-12 62316. https://html.spec.whatwg.org/#security-postmsg 62317. https://html.spec.whatwg.org/#authors 62318. https://html.spec.whatwg.org/#user-agents 62319. https://html.spec.whatwg.org/#posting-messages 62320. https://html.spec.whatwg.org/#channel-messaging 62321. https://html.spec.whatwg.org/#introduction-13 62322. https://html.spec.whatwg.org/#examples-5 62323. https://html.spec.whatwg.org/#ports-as-the-basis-of-an-object-capability-model-on-the-web 62324. https://html.spec.whatwg.org/#ports-as-the-basis-of-abstracting-out-service-implementations 62325. https://html.spec.whatwg.org/#message-channels 62326. https://html.spec.whatwg.org/#the-messageeventtarget-mixin 62327. https://html.spec.whatwg.org/#message-ports 62328. https://html.spec.whatwg.org/#ports-and-garbage-collection 62329. https://html.spec.whatwg.org/#broadcasting-to-other-browsing-contexts 62330. https://html.spec.whatwg.org/#workers 62331. https://html.spec.whatwg.org/#introduction-14 62332. https://html.spec.whatwg.org/#scope-2 62333. https://html.spec.whatwg.org/#examples-6 62334. https://html.spec.whatwg.org/#a-background-number-crunching-worker 62335. https://html.spec.whatwg.org/#module-worker-example 62336. https://html.spec.whatwg.org/#shared-workers-introduction 62337. https://html.spec.whatwg.org/#shared-state-using-a-shared-worker 62338. https://html.spec.whatwg.org/#delegation 62339. https://html.spec.whatwg.org/#providing-libraries 62340. https://html.spec.whatwg.org/#tutorials 62341. https://html.spec.whatwg.org/#creating-a-dedicated-worker 62342. https://html.spec.whatwg.org/#communicating-with-a-dedicated-worker 62343. https://html.spec.whatwg.org/#shared-workers 62344. https://html.spec.whatwg.org/#infrastructure-2 62345. https://html.spec.whatwg.org/#the-global-scope 62346. https://html.spec.whatwg.org/#the-workerglobalscope-common-interface 62347. https://html.spec.whatwg.org/#dedicated-workers-and-the-dedicatedworkerglobalscope-interface 62348. https://html.spec.whatwg.org/#shared-workers-and-the-sharedworkerglobalscope-interface 62349. https://html.spec.whatwg.org/#worker-event-loop 62350. https://html.spec.whatwg.org/#the-worker's-lifetime 62351. https://html.spec.whatwg.org/#worker-processing-model 62352. https://html.spec.whatwg.org/#runtime-script-errors-2 62353. https://html.spec.whatwg.org/#creating-workers 62354. https://html.spec.whatwg.org/#the-abstractworker-mixin 62355. https://html.spec.whatwg.org/#script-settings-for-workers 62356. https://html.spec.whatwg.org/#dedicated-workers-and-the-worker-interface 62357. https://html.spec.whatwg.org/#shared-workers-and-the-sharedworker-interface 62358. https://html.spec.whatwg.org/#navigator.hardwareconcurrency 62359. https://html.spec.whatwg.org/#apis-available-to-workers 62360. https://html.spec.whatwg.org/#importing-scripts-and-libraries 62361. https://html.spec.whatwg.org/#the-workernavigator-object 62362. https://html.spec.whatwg.org/#worker-locations 62363. https://html.spec.whatwg.org/#worklets 62364. https://html.spec.whatwg.org/#worklets-intro 62365. https://html.spec.whatwg.org/#worklets-motivations 62366. https://html.spec.whatwg.org/#worklets-idempotent 62367. https://html.spec.whatwg.org/#worklets-speculative 62368. https://html.spec.whatwg.org/#worklets-examples 62369. https://html.spec.whatwg.org/#worklets-examples-loading 62370. https://html.spec.whatwg.org/#worklets-example-registering 62371. https://html.spec.whatwg.org/#worklets-infrastructure 62372. https://html.spec.whatwg.org/#worklets-global 62373. https://html.spec.whatwg.org/#worklet-agents-and-event-loops 62374. https://html.spec.whatwg.org/#worklets-creation-termination 62375. https://html.spec.whatwg.org/#script-settings-for-worklets 62376. https://html.spec.whatwg.org/#worklets-worklet 62377. https://html.spec.whatwg.org/#worklets-lifetime 62378. https://html.spec.whatwg.org/#webstorage 62379. https://html.spec.whatwg.org/#introduction-15 62380. https://html.spec.whatwg.org/#storage 62381. https://html.spec.whatwg.org/#the-storage-interface 62382. https://html.spec.whatwg.org/#the-sessionstorage-attribute 62383. https://html.spec.whatwg.org/#the-localstorage-attribute 62384. https://html.spec.whatwg.org/#the-storageevent-interface 62385. https://html.spec.whatwg.org/#privacy 62386. https://html.spec.whatwg.org/#user-tracking 62387. https://html.spec.whatwg.org/#sensitivity-of-data 62388. https://html.spec.whatwg.org/#security-storage 62389. https://html.spec.whatwg.org/#dns-spoofing-attacks 62390. https://html.spec.whatwg.org/#cross-directory-attacks 62391. https://html.spec.whatwg.org/#implementation-risks 62392. https://html.spec.whatwg.org/#syntax 62393. https://html.spec.whatwg.org/#writing 62394. https://html.spec.whatwg.org/#the-doctype 62395. https://html.spec.whatwg.org/#elements-2 62396. https://html.spec.whatwg.org/#start-tags 62397. https://html.spec.whatwg.org/#end-tags 62398. https://html.spec.whatwg.org/#attributes-2 62399. https://html.spec.whatwg.org/#optional-tags 62400. https://html.spec.whatwg.org/#element-restrictions 62401. https://html.spec.whatwg.org/#cdata-rcdata-restrictions 62402. https://html.spec.whatwg.org/#text-2 62403. https://html.spec.whatwg.org/#newlines 62404. https://html.spec.whatwg.org/#character-references 62405. https://html.spec.whatwg.org/#cdata-sections 62406. https://html.spec.whatwg.org/#comments 62407. https://html.spec.whatwg.org/#parsing 62408. https://html.spec.whatwg.org/#overview-of-the-parsing-model 62409. https://html.spec.whatwg.org/#parse-errors 62410. https://html.spec.whatwg.org/#the-input-byte-stream 62411. https://html.spec.whatwg.org/#parsing-with-a-known-character-encoding 62412. https://html.spec.whatwg.org/#determining-the-character-encoding 62413. https://html.spec.whatwg.org/#character-encodings 62414. https://html.spec.whatwg.org/#changing-the-encoding-while-parsing 62415. https://html.spec.whatwg.org/#preprocessing-the-input-stream 62416. https://html.spec.whatwg.org/#parse-state 62417. https://html.spec.whatwg.org/#the-insertion-mode 62418. https://html.spec.whatwg.org/#the-stack-of-open-elements 62419. https://html.spec.whatwg.org/#the-list-of-active-formatting-elements 62420. https://html.spec.whatwg.org/#the-element-pointers 62421. https://html.spec.whatwg.org/#other-parsing-state-flags 62422. https://html.spec.whatwg.org/#tokenization 62423. https://html.spec.whatwg.org/#data-state 62424. https://html.spec.whatwg.org/#rcdata-state 62425. https://html.spec.whatwg.org/#rawtext-state 62426. https://html.spec.whatwg.org/#script-data-state 62427. https://html.spec.whatwg.org/#plaintext-state 62428. https://html.spec.whatwg.org/#tag-open-state 62429. https://html.spec.whatwg.org/#end-tag-open-state 62430. https://html.spec.whatwg.org/#tag-name-state 62431. https://html.spec.whatwg.org/#rcdata-less-than-sign-state 62432. https://html.spec.whatwg.org/#rcdata-end-tag-open-state 62433. https://html.spec.whatwg.org/#rcdata-end-tag-name-state 62434. https://html.spec.whatwg.org/#rawtext-less-than-sign-state 62435. https://html.spec.whatwg.org/#rawtext-end-tag-open-state 62436. https://html.spec.whatwg.org/#rawtext-end-tag-name-state 62437. https://html.spec.whatwg.org/#script-data-less-than-sign-state 62438. https://html.spec.whatwg.org/#script-data-end-tag-open-state 62439. https://html.spec.whatwg.org/#script-data-end-tag-name-state 62440. https://html.spec.whatwg.org/#script-data-escape-start-state 62441. https://html.spec.whatwg.org/#script-data-escape-start-dash-state 62442. https://html.spec.whatwg.org/#script-data-escaped-state 62443. https://html.spec.whatwg.org/#script-data-escaped-dash-state 62444. https://html.spec.whatwg.org/#script-data-escaped-dash-dash-state 62445. https://html.spec.whatwg.org/#script-data-escaped-less-than-sign-state 62446. https://html.spec.whatwg.org/#script-data-escaped-end-tag-open-state 62447. https://html.spec.whatwg.org/#script-data-escaped-end-tag-name-state 62448. https://html.spec.whatwg.org/#script-data-double-escape-start-state 62449. https://html.spec.whatwg.org/#script-data-double-escaped-state 62450. https://html.spec.whatwg.org/#script-data-double-escaped-dash-state 62451. https://html.spec.whatwg.org/#script-data-double-escaped-dash-dash-state 62452. https://html.spec.whatwg.org/#script-data-double-escaped-less-than-sign-state 62453. https://html.spec.whatwg.org/#script-data-double-escape-end-state 62454. https://html.spec.whatwg.org/#before-attribute-name-state 62455. https://html.spec.whatwg.org/#attribute-name-state 62456. https://html.spec.whatwg.org/#after-attribute-name-state 62457. https://html.spec.whatwg.org/#before-attribute-value-state 62458. https://html.spec.whatwg.org/#attribute-value-(double-quoted)-state 62459. https://html.spec.whatwg.org/#attribute-value-(single-quoted)-state 62460. https://html.spec.whatwg.org/#attribute-value-(unquoted)-state 62461. https://html.spec.whatwg.org/#after-attribute-value-(quoted)-state 62462. https://html.spec.whatwg.org/#self-closing-start-tag-state 62463. https://html.spec.whatwg.org/#bogus-comment-state 62464. https://html.spec.whatwg.org/#markup-declaration-open-state 62465. https://html.spec.whatwg.org/#comment-start-state 62466. https://html.spec.whatwg.org/#comment-start-dash-state 62467. https://html.spec.whatwg.org/#comment-state 62468. https://html.spec.whatwg.org/#comment-less-than-sign-state 62469. https://html.spec.whatwg.org/#comment-less-than-sign-bang-state 62470. https://html.spec.whatwg.org/#comment-less-than-sign-bang-dash-state 62471. https://html.spec.whatwg.org/#comment-less-than-sign-bang-dash-dash-state 62472. https://html.spec.whatwg.org/#comment-end-dash-state 62473. https://html.spec.whatwg.org/#comment-end-state 62474. https://html.spec.whatwg.org/#comment-end-bang-state 62475. https://html.spec.whatwg.org/#doctype-state 62476. https://html.spec.whatwg.org/#before-doctype-name-state 62477. https://html.spec.whatwg.org/#doctype-name-state 62478. https://html.spec.whatwg.org/#after-doctype-name-state 62479. https://html.spec.whatwg.org/#after-doctype-public-keyword-state 62480. https://html.spec.whatwg.org/#before-doctype-public-identifier-state 62481. https://html.spec.whatwg.org/#doctype-public-identifier-(double-quoted)-state 62482. https://html.spec.whatwg.org/#doctype-public-identifier-(single-quoted)-state 62483. https://html.spec.whatwg.org/#after-doctype-public-identifier-state 62484. https://html.spec.whatwg.org/#between-doctype-public-and-system-identifiers-state 62485. https://html.spec.whatwg.org/#after-doctype-system-keyword-state 62486. https://html.spec.whatwg.org/#before-doctype-system-identifier-state 62487. https://html.spec.whatwg.org/#doctype-system-identifier-(double-quoted)-state 62488. https://html.spec.whatwg.org/#doctype-system-identifier-(single-quoted)-state 62489. https://html.spec.whatwg.org/#after-doctype-system-identifier-state 62490. https://html.spec.whatwg.org/#bogus-doctype-state 62491. https://html.spec.whatwg.org/#cdata-section-state 62492. https://html.spec.whatwg.org/#cdata-section-bracket-state 62493. https://html.spec.whatwg.org/#cdata-section-end-state 62494. https://html.spec.whatwg.org/#character-reference-state 62495. https://html.spec.whatwg.org/#named-character-reference-state 62496. https://html.spec.whatwg.org/#ambiguous-ampersand-state 62497. https://html.spec.whatwg.org/#numeric-character-reference-state 62498. https://html.spec.whatwg.org/#hexadecimal-character-reference-start-state 62499. https://html.spec.whatwg.org/#decimal-character-reference-start-state 62500. https://html.spec.whatwg.org/#hexadecimal-character-reference-state 62501. https://html.spec.whatwg.org/#decimal-character-reference-state 62502. https://html.spec.whatwg.org/#numeric-character-reference-end-state 62503. https://html.spec.whatwg.org/#tree-construction 62504. https://html.spec.whatwg.org/#creating-and-inserting-nodes 62505. https://html.spec.whatwg.org/#parsing-elements-that-contain-only-text 62506. https://html.spec.whatwg.org/#closing-elements-that-have-implied-end-tags 62507. https://html.spec.whatwg.org/#parsing-main-inhtml 62508. https://html.spec.whatwg.org/#the-initial-insertion-mode 62509. https://html.spec.whatwg.org/#the-before-html-insertion-mode 62510. https://html.spec.whatwg.org/#the-before-head-insertion-mode 62511. https://html.spec.whatwg.org/#parsing-main-inhead 62512. https://html.spec.whatwg.org/#parsing-main-inheadnoscript 62513. https://html.spec.whatwg.org/#the-after-head-insertion-mode 62514. https://html.spec.whatwg.org/#parsing-main-inbody 62515. https://html.spec.whatwg.org/#parsing-main-incdata 62516. https://html.spec.whatwg.org/#parsing-main-intable 62517. https://html.spec.whatwg.org/#parsing-main-intabletext 62518. https://html.spec.whatwg.org/#parsing-main-incaption 62519. https://html.spec.whatwg.org/#parsing-main-incolgroup 62520. https://html.spec.whatwg.org/#parsing-main-intbody 62521. https://html.spec.whatwg.org/#parsing-main-intr 62522. https://html.spec.whatwg.org/#parsing-main-intd 62523. https://html.spec.whatwg.org/#parsing-main-inselect 62524. https://html.spec.whatwg.org/#parsing-main-inselectintable 62525. https://html.spec.whatwg.org/#parsing-main-intemplate 62526. https://html.spec.whatwg.org/#parsing-main-afterbody 62527. https://html.spec.whatwg.org/#parsing-main-inframeset 62528. https://html.spec.whatwg.org/#parsing-main-afterframeset 62529. https://html.spec.whatwg.org/#the-after-after-body-insertion-mode 62530. https://html.spec.whatwg.org/#the-after-after-frameset-insertion-mode 62531. https://html.spec.whatwg.org/#parsing-main-inforeign 62532. https://html.spec.whatwg.org/#the-end 62533. https://html.spec.whatwg.org/#speculative-html-parsing 62534. https://html.spec.whatwg.org/#coercing-an-html-dom-into-an-infoset 62535. https://html.spec.whatwg.org/#an-introduction-to-error-handling-and-strange-cases-in-the-parser 62536. https://html.spec.whatwg.org/#misnested-tags:-b-i-/b-/i 62537. https://html.spec.whatwg.org/#misnested-tags:-b-p-/b-/p 62538. https://html.spec.whatwg.org/#unexpected-markup-in-tables 62539. https://html.spec.whatwg.org/#scripts-that-modify-the-page-as-it-is-being-parsed 62540. https://html.spec.whatwg.org/#the-execution-of-scripts-that-are-moving-across-multiple-documents 62541. https://html.spec.whatwg.org/#unclosed-formatting-elements 62542. https://html.spec.whatwg.org/#serialising-html-fragments 62543. https://html.spec.whatwg.org/#parsing-html-fragments 62544. https://html.spec.whatwg.org/#named-character-references 62545. https://html.spec.whatwg.org/#the-xhtml-syntax 62546. https://html.spec.whatwg.org/#writing-xhtml-documents 62547. https://html.spec.whatwg.org/#parsing-xhtml-documents 62548. https://html.spec.whatwg.org/#serialising-xhtml-fragments 62549. https://html.spec.whatwg.org/#parsing-xhtml-fragments 62550. https://html.spec.whatwg.org/#rendering 62551. https://html.spec.whatwg.org/#introduction-16 62552. https://html.spec.whatwg.org/#the-css-user-agent-style-sheet-and-presentational-hints 62553. https://html.spec.whatwg.org/#non-replaced-elements 62554. https://html.spec.whatwg.org/#hidden-elements 62555. https://html.spec.whatwg.org/#the-page 62556. https://html.spec.whatwg.org/#flow-content-3 62557. https://html.spec.whatwg.org/#phrasing-content-3 62558. https://html.spec.whatwg.org/#bidi-rendering 62559. https://html.spec.whatwg.org/#sections-and-headings 62560. https://html.spec.whatwg.org/#lists 62561. https://html.spec.whatwg.org/#tables-2 62562. https://html.spec.whatwg.org/#margin-collapsing-quirks 62563. https://html.spec.whatwg.org/#form-controls 62564. https://html.spec.whatwg.org/#the-hr-element-2 62565. https://html.spec.whatwg.org/#the-fieldset-and-legend-elements 62566. https://html.spec.whatwg.org/#replaced-elements 62567. https://html.spec.whatwg.org/#embedded-content-rendering-rules 62568. https://html.spec.whatwg.org/#images-3 62569. https://html.spec.whatwg.org/#attributes-for-embedded-content-and-images 62570. https://html.spec.whatwg.org/#image-maps-2 62571. https://html.spec.whatwg.org/#widgets 62572. https://html.spec.whatwg.org/#native-appearance-2 62573. https://html.spec.whatwg.org/#writing-mode 62574. https://html.spec.whatwg.org/#button-layout 62575. https://html.spec.whatwg.org/#the-button-element-2 62576. https://html.spec.whatwg.org/#the-details-and-summary-elements 62577. https://html.spec.whatwg.org/#the-input-element-as-a-text-entry-widget 62578. https://html.spec.whatwg.org/#the-input-element-as-domain-specific-widgets 62579. https://html.spec.whatwg.org/#the-input-element-as-a-range-control 62580. https://html.spec.whatwg.org/#the-input-element-as-a-colour-well 62581. https://html.spec.whatwg.org/#the-input-element-as-a-checkbox-and-radio-button-widgets 62582. https://html.spec.whatwg.org/#the-input-element-as-a-file-upload-control 62583. https://html.spec.whatwg.org/#the-input-element-as-a-button 62584. https://html.spec.whatwg.org/#the-marquee-element-2 62585. https://html.spec.whatwg.org/#the-meter-element-2 62586. https://html.spec.whatwg.org/#the-progress-element-2 62587. https://html.spec.whatwg.org/#the-select-element-2 62588. https://html.spec.whatwg.org/#the-textarea-element-2 62589. https://html.spec.whatwg.org/#frames-and-framesets 62590. https://html.spec.whatwg.org/#interactive-media 62591. https://html.spec.whatwg.org/#links,-forms,-and-navigation 62592. https://html.spec.whatwg.org/#the-title-attribute-2 62593. https://html.spec.whatwg.org/#editing-hosts 62594. https://html.spec.whatwg.org/#text-rendered-in-native-user-interfaces 62595. https://html.spec.whatwg.org/#print-media 62596. https://html.spec.whatwg.org/#unstyled-xml-documents 62597. https://html.spec.whatwg.org/#obsolete 62598. https://html.spec.whatwg.org/#obsolete-but-conforming-features 62599. https://html.spec.whatwg.org/#warnings-for-obsolete-but-conforming-features 62600. https://html.spec.whatwg.org/#non-conforming-features 62601. https://html.spec.whatwg.org/#requirements-for-implementations 62602. https://html.spec.whatwg.org/#the-marquee-element 62603. https://html.spec.whatwg.org/#frames 62604. https://html.spec.whatwg.org/#other-elements,-attributes-and-apis 62605. https://html.spec.whatwg.org/#iana 62606. https://html.spec.whatwg.org/#text/html 62607. https://html.spec.whatwg.org/#multipart/x-mixed-replace 62608. https://html.spec.whatwg.org/#application/xhtml+xml 62609. https://html.spec.whatwg.org/#text/ping 62610. https://html.spec.whatwg.org/#application/microdata+json 62611. https://html.spec.whatwg.org/#text/event-stream 62612. https://html.spec.whatwg.org/#web+-scheme-prefix 62613. https://html.spec.whatwg.org/#index 62614. https://html.spec.whatwg.org/#elements-3 62615. https://html.spec.whatwg.org/#element-content-categories 62616. https://html.spec.whatwg.org/#attributes-3 62617. https://html.spec.whatwg.org/#element-interfaces 62618. https://html.spec.whatwg.org/#all-interfaces 62619. https://html.spec.whatwg.org/#events-2 62620. https://html.spec.whatwg.org/#http-headers 62621. https://html.spec.whatwg.org/#mime-types-2 62622. https://html.spec.whatwg.org/#references 62623. https://html.spec.whatwg.org/#acknowledgments 62624. https://html.spec.whatwg.org/#ipr </p></html>;