Skip to content

Instantly share code, notes, and snippets.

@juanbzpy
Last active July 6, 2017 06:00
Show Gist options
  • Save juanbzpy/f8722c6fba97e97d67e84cb32c22cb5f to your computer and use it in GitHub Desktop.
Save juanbzpy/f8722c6fba97e97d67e84cb32c22cb5f to your computer and use it in GitHub Desktop.
WHATWG Search index in Python
[{"text": "Introduction", "section": "1", "uri": "introduction.html#introduction"}, {"text": "Is this HTML5?", "section": "1.1 - Introduction", "uri": "introduction.html#is-this-html5?"}, {"text": "Background", "section": "1.2 - Introduction", "uri": "introduction.html#background"}, {"text": "Audience", "section": "1.3 - Introduction", "uri": "introduction.html#audience"}, {"text": "Scope", "section": "1.4 - Introduction", "uri": "introduction.html#scope"}, {"text": "History", "section": "1.5 - Introduction", "uri": "introduction.html#history-2"}, {"text": "Design notes", "section": "1.6 - Introduction", "uri": "introduction.html#design-notes"}, {"text": "Compliance with other specifications", "section": "1.6.1 - Design notes", "uri": "introduction.html#compliance-with-other-specifications"}, {"text": "Extensibility", "section": "1.6.2 - Design notes", "uri": "introduction.html#extensibility"}, {"text": "HTML vs XML syntax", "section": "1.7 - Introduction", "uri": "introduction.html#html-vs-xhtml"}, {"text": "Structure of this specification", "section": "1.8 - Introduction", "uri": "introduction.html#structure-of-this-specification"}, {"text": "Typographic conventions", "section": "1.8.1 - Structure of this specification", "uri": "introduction.html#typographic-conventions"}, {"text": "Privacy concerns", "section": "1.9 - Introduction", "uri": "introduction.html#fingerprint"}, {"text": "Cross-site communication", "section": "1.9.1 - Privacy concerns", "uri": "introduction.html#fingerprint-postMessage"}, {"text": "A quick introduction to HTML", "section": "1.10 - Introduction", "uri": "introduction.html#a-quick-introduction-to-html"}, {"text": "Writing secure applications with HTML", "section": "1.10.1 - A quick introduction to HTML", "uri": "introduction.html#writing-secure-applications-with-html"}, {"text": "Common pitfalls to avoid when using the scripting APIs", "section": "1.10.2 - A quick introduction to HTML", "uri": "introduction.html#common-pitfalls-to-avoid-when-using-the-scripting-apis"}, {"text": "How to catch mistakes when writing HTML: validators and conformance checkers", "section": "1.10.3 - A quick introduction to HTML", "uri": "introduction.html#how-to-catch-mistakes-when-writing-html:-validators-and-conformance-checkers"}, {"text": "Conformance requirements for authors", "section": "1.11 - Introduction", "uri": "introduction.html#conformance-requirements-for-authors"}, {"text": "Presentational markup", "section": "1.11.1 - Conformance requirements for authors", "uri": "introduction.html#presentational-markup"}, {"text": "Syntax errors", "section": "1.11.2 - Conformance requirements for authors", "uri": "introduction.html#syntax-errors"}, {"text": "Restrictions on content models and on attribute values", "section": "1.11.3 - Conformance requirements for authors", "uri": "introduction.html#restrictions-on-content-models-and-on-attribute-values"}, {"text": "Suggested reading", "section": "1.12 - Introduction", "uri": "introduction.html#suggested-reading"}, {"text": "Common infrastructure", "section": "2", "uri": "infrastructure.html#infrastructure"}, {"text": "Terminology", "section": "2.1 - Common infrastructure", "uri": "infrastructure.html#terminology"}, {"text": "Resources", "section": "2.1.1 - Terminology", "uri": "infrastructure.html#resources"}, {"text": "XML compatibility", "section": "2.1.2 - Terminology", "uri": "infrastructure.html#xml"}, {"text": "DOM trees", "section": "2.1.3 - Terminology", "uri": "infrastructure.html#dom-trees"}, {"text": "Scripting", "section": "2.1.4 - Terminology", "uri": "infrastructure.html#scripting-2"}, {"text": "Plugins", "section": "2.1.5 - Terminology", "uri": "infrastructure.html#plugins"}, {"text": "Character encodings", "section": "2.1.6 - Terminology", "uri": "infrastructure.html#encoding-terminology"}, {"text": "Dependencies", "section": "2.1.7 - Terminology", "uri": "infrastructure.html#dependencies"}, {"text": "Extensibility", "section": "2.1.8 - Terminology", "uri": "infrastructure.html#extensibility-2"}, {"text": "Case-sensitivity and string comparison", "section": "2.2 - Common infrastructure", "uri": "infrastructure.html#case-sensitivity-and-string-comparison"}, {"text": "Common microsyntaxes", "section": "2.3 - Common infrastructure", "uri": "common-microsyntaxes.html#common-microsyntaxes"}, {"text": "Boolean attributes", "section": "2.3.1 - Common microsyntaxes", "uri": "common-microsyntaxes.html#boolean-attributes"}, {"text": "Keywords and enumerated attributes", "section": "2.3.2 - Common microsyntaxes", "uri": "common-microsyntaxes.html#keywords-and-enumerated-attributes"}, {"text": "Numbers", "section": "2.3.3 - Common microsyntaxes", "uri": "common-microsyntaxes.html#numbers"}, {"text": "Signed integers", "section": "2.3.3.1 - Numbers", "uri": "common-microsyntaxes.html#signed-integers"}, {"text": "Non-negative integers", "section": "2.3.3.2 - Numbers", "uri": "common-microsyntaxes.html#non-negative-integers"}, {"text": "Floating-point numbers", "section": "2.3.3.3 - Numbers", "uri": "common-microsyntaxes.html#floating-point-numbers"}, {"text": "Lists of floating-point numbers", "section": "2.3.3.4 - Numbers", "uri": "common-microsyntaxes.html#lists-of-floating-point-numbers"}, {"text": "Dates and times", "section": "2.3.4 - Common microsyntaxes", "uri": "common-microsyntaxes.html#dates-and-times"}, {"text": "Months", "section": "2.3.4.1 - Dates and times", "uri": "common-microsyntaxes.html#months"}, {"text": "Dates", "section": "2.3.4.2 - Dates and times", "uri": "common-microsyntaxes.html#dates"}, {"text": "Yearless dates", "section": "2.3.4.3 - Dates and times", "uri": "common-microsyntaxes.html#yearless-dates"}, {"text": "Times", "section": "2.3.4.4 - Dates and times", "uri": "common-microsyntaxes.html#times"}, {"text": "Local dates and times", "section": "2.3.4.5 - Dates and times", "uri": "common-microsyntaxes.html#local-dates-and-times"}, {"text": "Time zones", "section": "2.3.4.6 - Dates and times", "uri": "common-microsyntaxes.html#time-zones"}, {"text": "Global dates and times", "section": "2.3.4.7 - Dates and times", "uri": "common-microsyntaxes.html#global-dates-and-times"}, {"text": "Weeks", "section": "2.3.4.8 - Dates and times", "uri": "common-microsyntaxes.html#weeks"}, {"text": "Durations", "section": "2.3.4.9 - Dates and times", "uri": "common-microsyntaxes.html#durations"}, {"text": "Vaguer moments in time", "section": "2.3.4.10 - Dates and times", "uri": "common-microsyntaxes.html#vaguer-moments-in-time"}, {"text": "Colors", "section": "2.3.5 - Common microsyntaxes", "uri": "common-microsyntaxes.html#colours"}, {"text": "Space-separated tokens", "section": "2.3.6 - Common microsyntaxes", "uri": "common-microsyntaxes.html#space-separated-tokens"}, {"text": "Comma-separated tokens", "section": "2.3.7 - Common microsyntaxes", "uri": "common-microsyntaxes.html#comma-separated-tokens"}, {"text": "References", "section": "2.3.8 - Common microsyntaxes", "uri": "common-microsyntaxes.html#syntax-references"}, {"text": "Media queries", "section": "2.3.9 - Common microsyntaxes", "uri": "common-microsyntaxes.html#mq"}, {"text": "URLs", "section": "2.4 - Common infrastructure", "uri": "urls-and-fetching.html#urls"}, {"text": "Terminology", "section": "2.4.1 - URLs", "uri": "urls-and-fetching.html#terminology-2"}, {"text": "CORS settings attributes", "section": "2.4.2 - URLs", "uri": "urls-and-fetching.html#cors-settings-attributes"}, {"text": "Referrer policy attributes", "section": "2.4.3 - URLs", "uri": "urls-and-fetching.html#referrer-policy-attributes"}, {"text": "Common DOM interfaces", "section": "2.5 - Common infrastructure", "uri": "common-dom-interfaces.html#common-dom-interfaces"}, {"text": "Reflecting content attributes in IDL attributes", "section": "2.5.1 - Common DOM interfaces", "uri": "common-dom-interfaces.html#reflecting-content-attributes-in-idl-attributes"}, {"text": "Collections", "section": "2.5.2 - Common DOM interfaces", "uri": "common-dom-interfaces.html#collections"}, {"text": "The HTMLAllCollection interface", "section": "2.5.2.1 - Collections", "uri": "common-dom-interfaces.html#the-htmlallcollection-interface"}, {"text": "The HTMLFormControlsCollection interface", "section": "2.5.2.2 - Collections", "uri": "common-dom-interfaces.html#the-htmlformcontrolscollection-interface"}, {"text": "The HTMLOptionsCollection interface", "section": "2.5.2.3 - Collections", "uri": "common-dom-interfaces.html#the-htmloptionscollection-interface"}, {"text": "The DOMStringList interface", "section": "2.5.3 - Common DOM interfaces", "uri": "common-dom-interfaces.html#the-domstringlist-interface"}, {"text": "Semantics, structure, and APIs of HTML documents", "section": "3", "uri": "dom.html#dom"}, {"text": "Documents", "section": "3.1 - Semantics, structure, and APIs of HTML documents", "uri": "dom.html#documents"}, {"text": "The Document object", "section": "3.1.1 - Documents", "uri": "dom.html#the-document-object"}, {"text": "Resource metadata management", "section": "3.1.2 - Documents", "uri": "dom.html#resource-metadata-management"}, {"text": "DOM tree accessors", "section": "3.1.3 - Documents", "uri": "dom.html#dom-tree-accessors"}, {"text": "Elements", "section": "3.2 - Semantics, structure, and APIs of HTML documents", "uri": "dom.html#elements"}, {"text": "Semantics", "section": "3.2.1 - Elements", "uri": "dom.html#semantics-2"}, {"text": "Elements in the DOM", "section": "3.2.2 - Elements", "uri": "dom.html#elements-in-the-dom"}, {"text": "Element definitions", "section": "3.2.3 - Elements", "uri": "dom.html#element-definitions"}, {"text": "Attributes", "section": "3.2.3.1 - Element definitions", "uri": "dom.html#attributes"}, {"text": "Content models", "section": "3.2.4 - Elements", "uri": "dom.html#content-models"}, {"text": "The \"nothing\" content model", "section": "3.2.4.1 - Content models", "uri": "dom.html#the-nothing-content-model"}, {"text": "Kinds of content", "section": "3.2.4.2 - Content models", "uri": "dom.html#kinds-of-content"}, {"text": "Metadata content", "section": "3.2.4.2.1 - Kinds of content", "uri": "dom.html#metadata-content"}, {"text": "Flow content", "section": "3.2.4.2.2 - Kinds of content", "uri": "dom.html#flow-content"}, {"text": "Sectioning content", "section": "3.2.4.2.3 - Kinds of content", "uri": "dom.html#sectioning-content"}, {"text": "Heading content", "section": "3.2.4.2.4 - Kinds of content", "uri": "dom.html#heading-content"}, {"text": "Phrasing content", "section": "3.2.4.2.5 - Kinds of content", "uri": "dom.html#phrasing-content"}, {"text": "Embedded content", "section": "3.2.4.2.6 - Kinds of content", "uri": "dom.html#embedded-content-2"}, {"text": "Interactive content", "section": "3.2.4.2.7 - Kinds of content", "uri": "dom.html#interactive-content"}, {"text": "Palpable content", "section": "3.2.4.2.8 - Kinds of content", "uri": "dom.html#palpable-content"}, {"text": "Script-supporting elements", "section": "3.2.4.2.9 - Kinds of content", "uri": "dom.html#script-supporting-elements"}, {"text": "Transparent content models", "section": "3.2.4.3 - Content models", "uri": "dom.html#transparent-content-models"}, {"text": "Paragraphs", "section": "3.2.4.4 - Content models", "uri": "dom.html#paragraphs"}, {"text": "Global attributes", "section": "3.2.5 - Elements", "uri": "dom.html#global-attributes"}, {"text": "The title attribute", "section": "3.2.5.1 - Global attributes", "uri": "dom.html#the-title-attribute"}, {"text": "The lang and xml:lang attributes", "section": "3.2.5.2 - Global attributes", "uri": "dom.html#the-lang-and-xml:lang-attributes"}, {"text": "The translate attribute", "section": "3.2.5.3 - Global attributes", "uri": "dom.html#the-translate-attribute"}, {"text": "The dir attribute", "section": "3.2.5.4 - Global attributes", "uri": "dom.html#the-dir-attribute"}, {"text": "The style attribute", "section": "3.2.5.5 - Global attributes", "uri": "dom.html#the-style-attribute"}, {"text": "Embedding custom non-visible data with the data-* attributes", "section": "3.2.5.6 - Global attributes", "uri": "dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes"}, {"text": "The innerText IDL attribute", "section": "3.2.6 - Elements", "uri": "dom.html#the-innertext-idl-attribute"}, {"text": "Requirements relating to the bidirectional algorithm", "section": "3.2.7 - Elements", "uri": "dom.html#requirements-relating-to-the-bidirectional-algorithm"}, {"text": "The elements of HTML", "section": "4", "uri": "semantics.html#semantics"}, {"text": "The document element", "section": "4.1 - The elements of HTML", "uri": "semantics.html#the-root-element"}, {"text": "The html element", "section": "4.1.1 - The document element", "uri": "semantics.html#the-html-element"}, {"text": "Document metadata", "section": "4.2 - The elements of HTML", "uri": "semantics.html#document-metadata"}, {"text": "The head element", "section": "4.2.1 - Document metadata", "uri": "semantics.html#the-head-element"}, {"text": "The title element", "section": "4.2.2 - Document metadata", "uri": "semantics.html#the-title-element"}, {"text": "The base element", "section": "4.2.3 - Document metadata", "uri": "semantics.html#the-base-element"}, {"text": "The link element", "section": "4.2.4 - Document metadata", "uri": "semantics.html#the-link-element"}, {"text": "Providing users with a means to follow hyperlinks created using the link element", "section": "4.2.4.1 - The link element", "uri": "semantics.html#providing-users-with-a-means-to-follow-hyperlinks-created-using-the-link-element"}, {"text": "The meta element", "section": "4.2.5 - Document metadata", "uri": "semantics.html#the-meta-element"}, {"text": "Standard metadata names", "section": "4.2.5.1 - The meta element", "uri": "semantics.html#standard-metadata-names"}, {"text": "Other metadata names", "section": "4.2.5.2 - The meta element", "uri": "semantics.html#other-metadata-names"}, {"text": "Pragma directives", "section": "4.2.5.3 - The meta element", "uri": "semantics.html#pragma-directives"}, {"text": "Other pragma directives", "section": "4.2.5.4 - The meta element", "uri": "semantics.html#other-pragma-directives"}, {"text": "Specifying the document's character encoding", "section": "4.2.5.5 - The meta element", "uri": "semantics.html#charset"}, {"text": "The style element", "section": "4.2.6 - Document metadata", "uri": "semantics.html#the-style-element"}, {"text": "Sections", "section": "4.3 - The elements of HTML", "uri": "sections.html#sections"}, {"text": "The body element", "section": "4.3.1 - Sections", "uri": "sections.html#the-body-element"}, {"text": "The article element", "section": "4.3.2 - Sections", "uri": "sections.html#the-article-element"}, {"text": "The section element", "section": "4.3.3 - Sections", "uri": "sections.html#the-section-element"}, {"text": "The nav element", "section": "4.3.4 - Sections", "uri": "sections.html#the-nav-element"}, {"text": "The aside element", "section": "4.3.5 - Sections", "uri": "sections.html#the-aside-element"}, {"text": "The h1, h2, h3, h4, h5, and h6 elements", "section": "4.3.6 - Sections", "uri": "sections.html#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements"}, {"text": "The hgroup element", "section": "4.3.7 - Sections", "uri": "sections.html#the-hgroup-element"}, {"text": "The header element", "section": "4.3.8 - Sections", "uri": "sections.html#the-header-element"}, {"text": "The footer element", "section": "4.3.9 - Sections", "uri": "sections.html#the-footer-element"}, {"text": "The address element", "section": "4.3.10 - Sections", "uri": "sections.html#the-address-element"}, {"text": "Headings and sections", "section": "4.3.11 - Sections", "uri": "sections.html#headings-and-sections"}, {"text": "Creating an outline", "section": "4.3.11.1 - Headings and sections", "uri": "sections.html#outlines"}, {"text": "Sample outlines", "section": "4.3.11.2 - Headings and sections", "uri": "sections.html#sample-outlines"}, {"text": "Exposing outlines to users", "section": "4.3.11.3 - Headings and sections", "uri": "sections.html#exposing-outlines-to-users"}, {"text": "Usage summary", "section": "4.3.12 - Sections", "uri": "sections.html#usage-summary-2"}, {"text": "Article or section?", "section": "4.3.12.1 - Usage summary", "uri": "sections.html#article-or-section"}, {"text": "Grouping content", "section": "4.4 - The elements of HTML", "uri": "grouping-content.html#grouping-content"}, {"text": "The p element", "section": "4.4.1 - Grouping content", "uri": "grouping-content.html#the-p-element"}, {"text": "The hr element", "section": "4.4.2 - Grouping content", "uri": "grouping-content.html#the-hr-element"}, {"text": "The pre element", "section": "4.4.3 - Grouping content", "uri": "grouping-content.html#the-pre-element"}, {"text": "The blockquote element", "section": "4.4.4 - Grouping content", "uri": "grouping-content.html#the-blockquote-element"}, {"text": "The ol element", "section": "4.4.5 - Grouping content", "uri": "grouping-content.html#the-ol-element"}, {"text": "The ul element", "section": "4.4.6 - Grouping content", "uri": "grouping-content.html#the-ul-element"}, {"text": "The menu element", "section": "4.4.7 - Grouping content", "uri": "grouping-content.html#the-menu-element"}, {"text": "The li element", "section": "4.4.8 - Grouping content", "uri": "grouping-content.html#the-li-element"}, {"text": "The dl element", "section": "4.4.9 - Grouping content", "uri": "grouping-content.html#the-dl-element"}, {"text": "The dt element", "section": "4.4.10 - Grouping content", "uri": "grouping-content.html#the-dt-element"}, {"text": "The dd element", "section": "4.4.11 - Grouping content", "uri": "grouping-content.html#the-dd-element"}, {"text": "The figure element", "section": "4.4.12 - Grouping content", "uri": "grouping-content.html#the-figure-element"}, {"text": "The figcaption element", "section": "4.4.13 - Grouping content", "uri": "grouping-content.html#the-figcaption-element"}, {"text": "The main element", "section": "4.4.14 - Grouping content", "uri": "grouping-content.html#the-main-element"}, {"text": "The div element", "section": "4.4.15 - Grouping content", "uri": "grouping-content.html#the-div-element"}, {"text": "Text-level semantics", "section": "4.5 - The elements of HTML", "uri": "text-level-semantics.html#text-level-semantics"}, {"text": "The a element", "section": "4.5.1 - Text-level semantics", "uri": "text-level-semantics.html#the-a-element"}, {"text": "The em element", "section": "4.5.2 - Text-level semantics", "uri": "text-level-semantics.html#the-em-element"}, {"text": "The strong element", "section": "4.5.3 - Text-level semantics", "uri": "text-level-semantics.html#the-strong-element"}, {"text": "The small element", "section": "4.5.4 - Text-level semantics", "uri": "text-level-semantics.html#the-small-element"}, {"text": "The s element", "section": "4.5.5 - Text-level semantics", "uri": "text-level-semantics.html#the-s-element"}, {"text": "The cite element", "section": "4.5.6 - Text-level semantics", "uri": "text-level-semantics.html#the-cite-element"}, {"text": "The q element", "section": "4.5.7 - Text-level semantics", "uri": "text-level-semantics.html#the-q-element"}, {"text": "The dfn element", "section": "4.5.8 - Text-level semantics", "uri": "text-level-semantics.html#the-dfn-element"}, {"text": "The abbr element", "section": "4.5.9 - Text-level semantics", "uri": "text-level-semantics.html#the-abbr-element"}, {"text": "The ruby element", "section": "4.5.10 - Text-level semantics", "uri": "text-level-semantics.html#the-ruby-element"}, {"text": "The rt element", "section": "4.5.11 - Text-level semantics", "uri": "text-level-semantics.html#the-rt-element"}, {"text": "The rp element", "section": "4.5.12 - Text-level semantics", "uri": "text-level-semantics.html#the-rp-element"}, {"text": "The data element", "section": "4.5.13 - Text-level semantics", "uri": "text-level-semantics.html#the-data-element"}, {"text": "The time element", "section": "4.5.14 - Text-level semantics", "uri": "text-level-semantics.html#the-time-element"}, {"text": "The code element", "section": "4.5.15 - Text-level semantics", "uri": "text-level-semantics.html#the-code-element"}, {"text": "The var element", "section": "4.5.16 - Text-level semantics", "uri": "text-level-semantics.html#the-var-element"}, {"text": "The samp element", "section": "4.5.17 - Text-level semantics", "uri": "text-level-semantics.html#the-samp-element"}, {"text": "The kbd element", "section": "4.5.18 - Text-level semantics", "uri": "text-level-semantics.html#the-kbd-element"}, {"text": "The sub and sup elements", "section": "4.5.19 - Text-level semantics", "uri": "text-level-semantics.html#the-sub-and-sup-elements"}, {"text": "The i element", "section": "4.5.20 - Text-level semantics", "uri": "text-level-semantics.html#the-i-element"}, {"text": "The b element", "section": "4.5.21 - Text-level semantics", "uri": "text-level-semantics.html#the-b-element"}, {"text": "The u element", "section": "4.5.22 - Text-level semantics", "uri": "text-level-semantics.html#the-u-element"}, {"text": "The mark element", "section": "4.5.23 - Text-level semantics", "uri": "text-level-semantics.html#the-mark-element"}, {"text": "The bdi element", "section": "4.5.24 - Text-level semantics", "uri": "text-level-semantics.html#the-bdi-element"}, {"text": "The bdo element", "section": "4.5.25 - Text-level semantics", "uri": "text-level-semantics.html#the-bdo-element"}, {"text": "The span element", "section": "4.5.26 - Text-level semantics", "uri": "text-level-semantics.html#the-span-element"}, {"text": "The br element", "section": "4.5.27 - Text-level semantics", "uri": "text-level-semantics.html#the-br-element"}, {"text": "The wbr element", "section": "4.5.28 - Text-level semantics", "uri": "text-level-semantics.html#the-wbr-element"}, {"text": "Usage summary", "section": "4.5.29 - Text-level semantics", "uri": "text-level-semantics.html#usage-summary"}, {"text": "Links", "section": "4.6 - The elements of HTML", "uri": "links.html#links"}, {"text": "Introduction", "section": "4.6.1 - Links", "uri": "links.html#introduction-2"}, {"text": "Links created by a and area elements", "section": "4.6.2 - Links", "uri": "links.html#links-created-by-a-and-area-elements"}, {"text": "API for a and area elements", "section": "4.6.3 - Links", "uri": "links.html#api-for-a-and-area-elements"}, {"text": "Downloading resources", "section": "4.6.4 - Links", "uri": "links.html#downloading-resources"}, {"text": "Link types", "section": "4.6.5 - Links", "uri": "links.html#linkTypes"}, {"text": "Link type \"alternate\"", "section": "4.6.5.1 - Link types", "uri": "links.html#rel-alternate"}, {"text": "Link type \"author\"", "section": "4.6.5.2 - Link types", "uri": "links.html#link-type-author"}, {"text": "Link type \"bookmark\"", "section": "4.6.5.3 - Link types", "uri": "links.html#link-type-bookmark"}, {"text": "Link type \"canonical\"", "section": "4.6.5.4 - Link types", "uri": "links.html#link-type-canonical"}, {"text": "Link type \"dns-prefetch\"", "section": "4.6.5.5 - Link types", "uri": "links.html#link-type-dns-prefetch"}, {"text": "Link type \"external\"", "section": "4.6.5.6 - Link types", "uri": "links.html#link-type-external"}, {"text": "Link type \"help\"", "section": "4.6.5.7 - Link types", "uri": "links.html#link-type-help"}, {"text": "Link type \"icon\"", "section": "4.6.5.8 - Link types", "uri": "links.html#rel-icon"}, {"text": "Link type \"license\"", "section": "4.6.5.9 - Link types", "uri": "links.html#link-type-license"}, {"text": "Link type \"nofollow\"", "section": "4.6.5.10 - Link types", "uri": "links.html#link-type-nofollow"}, {"text": "Link type \"noopener\"", "section": "4.6.5.11 - Link types", "uri": "links.html#link-type-noopener"}, {"text": "Link type \"noreferrer\"", "section": "4.6.5.12 - Link types", "uri": "links.html#link-type-noreferrer"}, {"text": "Link type \"pingback\"", "section": "4.6.5.13 - Link types", "uri": "links.html#link-type-pingback"}, {"text": "Link type \"preconnect\"", "section": "4.6.5.14 - Link types", "uri": "links.html#link-type-preconnect"}, {"text": "Link type \"prefetch\"", "section": "4.6.5.15 - Link types", "uri": "links.html#link-type-prefetch"}, {"text": "Link type \"preload\"", "section": "4.6.5.16 - Link types", "uri": "links.html#link-type-preload"}, {"text": "Link type \"prerender\"", "section": "4.6.5.17 - Link types", "uri": "links.html#link-type-prerender"}, {"text": "Link type \"search\"", "section": "4.6.5.18 - Link types", "uri": "links.html#link-type-search"}, {"text": "Link type \"serviceworker\"", "section": "4.6.5.19 - Link types", "uri": "links.html#link-type-serviceworker"}, {"text": "Link type \"stylesheet\"", "section": "4.6.5.20 - Link types", "uri": "links.html#link-type-stylesheet"}, {"text": "Link type \"tag\"", "section": "4.6.5.21 - Link types", "uri": "links.html#link-type-tag"}, {"text": "Sequential link types", "section": "4.6.5.22 - Link types", "uri": "links.html#sequential-link-types"}, {"text": "Link type \"next\"", "section": "4.6.5.22.1 - Sequential link types", "uri": "links.html#link-type-next"}, {"text": "Link type \"prev\"", "section": "4.6.5.22.2 - Sequential link types", "uri": "links.html#link-type-prev"}, {"text": "Other link types", "section": "4.6.5.23 - Link types", "uri": "links.html#other-link-types"}, {"text": "Edits", "section": "4.7 - The elements of HTML", "uri": "edits.html#edits"}, {"text": "The ins element", "section": "4.7.1 - Edits", "uri": "edits.html#the-ins-element"}, {"text": "The del element", "section": "4.7.2 - Edits", "uri": "edits.html#the-del-element"}, {"text": "Attributes common to ins and del elements", "section": "4.7.3 - Edits", "uri": "edits.html#attributes-common-to-ins-and-del-elements"}, {"text": "Edits and paragraphs", "section": "4.7.4 - Edits", "uri": "edits.html#edits-and-paragraphs"}, {"text": "Edits and lists", "section": "4.7.5 - Edits", "uri": "edits.html#edits-and-lists"}, {"text": "Edits and tables", "section": "4.7.6 - Edits", "uri": "edits.html#edits-and-tables"}, {"text": "Embedded content", "section": "4.8 - The elements of HTML", "uri": "embedded-content.html#embedded-content"}, {"text": "The picture element", "section": "4.8.1 - Embedded content", "uri": "embedded-content.html#the-picture-element"}, {"text": "The source element", "section": "4.8.2 - Embedded content", "uri": "embedded-content.html#the-source-element"}, {"text": "The img element", "section": "4.8.3 - Embedded content", "uri": "embedded-content.html#the-img-element"}, {"text": "Images", "section": "4.8.4 - Embedded content", "uri": "images.html#images"}, {"text": "Introduction", "section": "4.8.4.1 - Images", "uri": "images.html#introduction-3"}, {"text": "Adaptive images", "section": "4.8.4.1.1 - Introduction", "uri": "images.html#adaptive-images"}, {"text": "Attributes common to source and img elements", "section": "4.8.4.2 - Images", "uri": "images.html#attributes-common-to-source-and-img-elements"}, {"text": "Srcset attributes", "section": "4.8.4.2.1 - Attributes common to source and img elements", "uri": "images.html#srcset-attributes"}, {"text": "Sizes attributes", "section": "4.8.4.2.2 - Attributes common to source and img elements", "uri": "images.html#sizes-attributes"}, {"text": "Requirements for providing text to act as an alternative for images", "section": "4.8.4.3 - Images", "uri": "images.html#alt"}, {"text": "General guidelines", "section": "4.8.4.3.1 - Requirements for providing text to act as an alternative for images", "uri": "images.html#general-guidelines"}, {"text": "A link or button containing nothing but the image", "section": "4.8.4.3.2 - Requirements for providing text to act as an alternative for images", "uri": "images.html#a-link-or-button-containing-nothing-but-the-image"}, {"text": "A phrase or paragraph with an alternative graphical representation: charts, diagrams, graphs, maps, illustrations", "section": "4.8.4.3.3 - Requirements for providing text to act as an alternative for images", "uri": "images.html#a-phrase-or-paragraph-with-an-alternative-graphical-representation:-charts,-diagrams,-graphs,-maps,-illustrations"}, {"text": "A short phrase or label with an alternative graphical representation: icons, logos", "section": "4.8.4.3.4 - Requirements for providing text to act as an alternative for images", "uri": "images.html#a-short-phrase-or-label-with-an-alternative-graphical-representation:-icons,-logos"}, {"text": "Text that has been rendered to a graphic for typographical effect", "section": "4.8.4.3.5 - Requirements for providing text to act as an alternative for images", "uri": "images.html#text-that-has-been-rendered-to-a-graphic-for-typographical-effect"}, {"text": "A graphical representation of some of the surrounding text", "section": "4.8.4.3.6 - Requirements for providing text to act as an alternative for images", "uri": "images.html#a-graphical-representation-of-some-of-the-surrounding-text"}, {"text": "Ancillary images", "section": "4.8.4.3.7 - Requirements for providing text to act as an alternative for images", "uri": "images.html#ancillary-images"}, {"text": "A purely decorative image that doesn't add any information", "section": "4.8.4.3.8 - Requirements for providing text to act as an alternative for images", "uri": "images.html#a-purely-decorative-image-that-doesn't-add-any-information"}, {"text": "A group of images that form a single larger picture with no links", "section": "4.8.4.3.9 - Requirements for providing text to act as an alternative for images", "uri": "images.html#a-group-of-images-that-form-a-single-larger-picture-with-no-links"}, {"text": "A group of images that form a single larger picture with links", "section": "4.8.4.3.10 - Requirements for providing text to act as an alternative for images", "uri": "images.html#a-group-of-images-that-form-a-single-larger-picture-with-links"}, {"text": "A key part of the content", "section": "4.8.4.3.11 - Requirements for providing text to act as an alternative for images", "uri": "images.html#a-key-part-of-the-content"}, {"text": "An image not intended for the user", "section": "4.8.4.3.12 - Requirements for providing text to act as an alternative for images", "uri": "images.html#an-image-not-intended-for-the-user"}, {"text": "An image in an e-mail or private document intended for a specific person who is known to be able to view images", "section": "4.8.4.3.13 - Requirements for providing text to act as an alternative for images", "uri": "images.html#an-image-in-an-e-mail-or-private-document-intended-for-a-specific-person-who-is-known-to-be-able-to-view-images"}, {"text": "The iframe element", "section": "4.8.5 - Embedded content", "uri": "iframe-embed-object.html#the-iframe-element"}, {"text": "The embed element", "section": "4.8.6 - Embedded content", "uri": "iframe-embed-object.html#the-embed-element"}, {"text": "The object element", "section": "4.8.7 - Embedded content", "uri": "iframe-embed-object.html#the-object-element"}, {"text": "The param element", "section": "4.8.8 - Embedded content", "uri": "iframe-embed-object.html#the-param-element"}, {"text": "The video element", "section": "4.8.9 - Embedded content", "uri": "media.html#the-video-element"}, {"text": "The audio element", "section": "4.8.10 - Embedded content", "uri": "media.html#the-audio-element"}, {"text": "The track element", "section": "4.8.11 - Embedded content", "uri": "media.html#the-track-element"}, {"text": "Media elements", "section": "4.8.12 - Embedded content", "uri": "media.html#media-elements"}, {"text": "Error codes", "section": "4.8.12.1 - Media elements", "uri": "media.html#error-codes"}, {"text": "Location of the media resource", "section": "4.8.12.2 - Media elements", "uri": "media.html#location-of-the-media-resource"}, {"text": "MIME types", "section": "4.8.12.3 - Media elements", "uri": "media.html#mime-types"}, {"text": "Network states", "section": "4.8.12.4 - Media elements", "uri": "media.html#network-states"}, {"text": "Loading the media resource", "section": "4.8.12.5 - Media elements", "uri": "media.html#loading-the-media-resource"}, {"text": "Offsets into the media resource", "section": "4.8.12.6 - Media elements", "uri": "media.html#offsets-into-the-media-resource"}, {"text": "Ready states", "section": "4.8.12.7 - Media elements", "uri": "media.html#ready-states"}, {"text": "Playing the media resource", "section": "4.8.12.8 - Media elements", "uri": "media.html#playing-the-media-resource"}, {"text": "Seeking", "section": "4.8.12.9 - Media elements", "uri": "media.html#seeking"}, {"text": "Media resources with multiple media tracks", "section": "4.8.12.10 - Media elements", "uri": "media.html#media-resources-with-multiple-media-tracks"}, {"text": "AudioTrackList and VideoTrackList objects", "section": "4.8.12.10.1 - Media resources with multiple media tracks", "uri": "media.html#audiotracklist-and-videotracklist-objects"}, {"text": "Selecting specific audio and video tracks declaratively", "section": "4.8.12.10.2 - Media resources with multiple media tracks", "uri": "media.html#selecting-specific-audio-and-video-tracks-declaratively"}, {"text": "Timed text tracks", "section": "4.8.12.11 - Media elements", "uri": "media.html#timed-text-tracks"}, {"text": "Text track model", "section": "4.8.12.11.1 - Timed text tracks", "uri": "media.html#text-track-model"}, {"text": "Sourcing in-band text tracks", "section": "4.8.12.11.2 - Timed text tracks", "uri": "media.html#sourcing-in-band-text-tracks"}, {"text": "Text track API", "section": "4.8.12.11.3 - Timed text tracks", "uri": "media.html#text-track-api"}, {"text": "Text tracks describing chapters", "section": "4.8.12.11.4 - Timed text tracks", "uri": "media.html#text-tracks-describing-chapters"}, {"text": "Best practices for metadata text tracks", "section": "4.8.12.11.5 - Timed text tracks", "uri": "media.html#best-practices-for-metadata-text-tracks"}, {"text": "Identifying a track kind through a URL", "section": "4.8.12.12 - Media elements", "uri": "media.html#identifying-a-track-kind-through-a-url"}, {"text": "User interface", "section": "4.8.12.13 - Media elements", "uri": "media.html#user-interface"}, {"text": "Time ranges", "section": "4.8.12.14 - Media elements", "uri": "media.html#time-ranges"}, {"text": "The TrackEvent interface", "section": "4.8.12.15 - Media elements", "uri": "media.html#the-trackevent-interface"}, {"text": "Event summary", "section": "4.8.12.16 - Media elements", "uri": "media.html#mediaevents"}, {"text": "Best practices for authors using media elements", "section": "4.8.12.17 - Media elements", "uri": "media.html#best-practices-for-authors-using-media-elements"}, {"text": "The map element", "section": "4.8.13 - Embedded content", "uri": "image-maps.html#the-map-element"}, {"text": "The area element", "section": "4.8.14 - Embedded content", "uri": "image-maps.html#the-area-element"}, {"text": "Image maps", "section": "4.8.15 - Embedded content", "uri": "image-maps.html#image-maps"}, {"text": "MathML", "section": "4.8.16 - Embedded content", "uri": "embedded-content-other.html#mathml"}, {"text": "SVG", "section": "4.8.17 - Embedded content", "uri": "embedded-content-other.html#svg-0"}, {"text": "Dimension attributes", "section": "4.8.18 - Embedded content", "uri": "embedded-content-other.html#dimension-attributes"}, {"text": "Tabular data", "section": "4.9 - The elements of HTML", "uri": "tables.html#tables"}, {"text": "The table element", "section": "4.9.1 - Tabular data", "uri": "tables.html#the-table-element"}, {"text": "Techniques for describing tables", "section": "4.9.1.1 - The table element", "uri": "tables.html#table-descriptions-techniques"}, {"text": "Techniques for table design", "section": "4.9.1.2 - The table element", "uri": "tables.html#table-layout-techniques"}, {"text": "The caption element", "section": "4.9.2 - Tabular data", "uri": "tables.html#the-caption-element"}, {"text": "The colgroup element", "section": "4.9.3 - Tabular data", "uri": "tables.html#the-colgroup-element"}, {"text": "The col element", "section": "4.9.4 - Tabular data", "uri": "tables.html#the-col-element"}, {"text": "The tbody element", "section": "4.9.5 - Tabular data", "uri": "tables.html#the-tbody-element"}, {"text": "The thead element", "section": "4.9.6 - Tabular data", "uri": "tables.html#the-thead-element"}, {"text": "The tfoot element", "section": "4.9.7 - Tabular data", "uri": "tables.html#the-tfoot-element"}, {"text": "The tr element", "section": "4.9.8 - Tabular data", "uri": "tables.html#the-tr-element"}, {"text": "The td element", "section": "4.9.9 - Tabular data", "uri": "tables.html#the-td-element"}, {"text": "The th element", "section": "4.9.10 - Tabular data", "uri": "tables.html#the-th-element"}, {"text": "Attributes common to td and th elements", "section": "4.9.11 - Tabular data", "uri": "tables.html#attributes-common-to-td-and-th-elements"}, {"text": "Examples", "section": "4.9.12 - Tabular data", "uri": "tables.html#table-examples"}, {"text": "Forms", "section": "4.10 - The elements of HTML", "uri": "forms.html#forms"}, {"text": "Introduction", "section": "4.10.1 - Forms", "uri": "forms.html#introduction-4"}, {"text": "Writing a form's user interface", "section": "4.10.1.1 - Introduction", "uri": "forms.html#writing-a-form's-user-interface"}, {"text": "Implementing the server-side processing for a form", "section": "4.10.1.2 - Introduction", "uri": "forms.html#implementing-the-server-side-processing-for-a-form"}, {"text": "Configuring a form to communicate with a server", "section": "4.10.1.3 - Introduction", "uri": "forms.html#configuring-a-form-to-communicate-with-a-server"}, {"text": "Client-side form validation", "section": "4.10.1.4 - Introduction", "uri": "forms.html#client-side-form-validation"}, {"text": "Enabling client-side automatic filling of form controls", "section": "4.10.1.5 - Introduction", "uri": "forms.html#enabling-client-side-automatic-filling-of-form-controls"}, {"text": "Improving the user experience on mobile devices", "section": "4.10.1.6 - Introduction", "uri": "forms.html#improving-the-user-experience-on-mobile-devices"}, {"text": "The difference between the field type, the autofill field name, and the input modality", "section": "4.10.1.7 - Introduction", "uri": "forms.html#the-difference-between-the-field-type,-the-autofill-field-name,-and-the-input-modality"}, {"text": "Date, time, and number formats", "section": "4.10.1.8 - Introduction", "uri": "forms.html#input-author-notes"}, {"text": "Categories", "section": "4.10.2 - Forms", "uri": "forms.html#categories"}, {"text": "The form element", "section": "4.10.3 - Forms", "uri": "forms.html#the-form-element"}, {"text": "The label element", "section": "4.10.4 - Forms", "uri": "forms.html#the-label-element"}, {"text": "The input element", "section": "4.10.5 - Forms", "uri": "input.html#the-input-element"}, {"text": "States of the type attribute", "section": "4.10.5.1 - The input element", "uri": "input.html#states-of-the-type-attribute"}, {"text": "Hidden state (type=hidden)", "section": "4.10.5.1.1 - States of the type attribute", "uri": "input.html#hidden-state-(type=hidden)"}, {"text": "Text (type=text) state and Search state (type=search)", "section": "4.10.5.1.2 - States of the type attribute", "uri": "input.html#text-(type=text)-state-and-search-state-(type=search)"}, {"text": "Telephone state (type=tel)", "section": "4.10.5.1.3 - States of the type attribute", "uri": "input.html#telephone-state-(type=tel)"}, {"text": "URL state (type=url)", "section": "4.10.5.1.4 - States of the type attribute", "uri": "input.html#url-state-(type=url)"}, {"text": "E-mail state (type=email)", "section": "4.10.5.1.5 - States of the type attribute", "uri": "input.html#e-mail-state-(type=email)"}, {"text": "Password state (type=password)", "section": "4.10.5.1.6 - States of the type attribute", "uri": "input.html#password-state-(type=password)"}, {"text": "Date state (type=date)", "section": "4.10.5.1.7 - States of the type attribute", "uri": "input.html#date-state-(type=date)"}, {"text": "Month state (type=month)", "section": "4.10.5.1.8 - States of the type attribute", "uri": "input.html#month-state-(type=month)"}, {"text": "Week state (type=week)", "section": "4.10.5.1.9 - States of the type attribute", "uri": "input.html#week-state-(type=week)"}, {"text": "Time state (type=time)", "section": "4.10.5.1.10 - States of the type attribute", "uri": "input.html#time-state-(type=time)"}, {"text": "Local Date and Time state (type=datetime-local)", "section": "4.10.5.1.11 - States of the type attribute", "uri": "input.html#local-date-and-time-state-(type=datetime-local)"}, {"text": "Number state (type=number)", "section": "4.10.5.1.12 - States of the type attribute", "uri": "input.html#number-state-(type=number)"}, {"text": "Range state (type=range)", "section": "4.10.5.1.13 - States of the type attribute", "uri": "input.html#range-state-(type=range)"}, {"text": "Color state (type=color)", "section": "4.10.5.1.14 - States of the type attribute", "uri": "input.html#color-state-(type=color)"}, {"text": "Checkbox state (type=checkbox)", "section": "4.10.5.1.15 - States of the type attribute", "uri": "input.html#checkbox-state-(type=checkbox)"}, {"text": "Radio Button state (type=radio)", "section": "4.10.5.1.16 - States of the type attribute", "uri": "input.html#radio-button-state-(type=radio)"}, {"text": "File Upload state (type=file)", "section": "4.10.5.1.17 - States of the type attribute", "uri": "input.html#file-upload-state-(type=file)"}, {"text": "Submit Button state (type=submit)", "section": "4.10.5.1.18 - States of the type attribute", "uri": "input.html#submit-button-state-(type=submit)"}, {"text": "Image Button state (type=image)", "section": "4.10.5.1.19 - States of the type attribute", "uri": "input.html#image-button-state-(type=image)"}, {"text": "Reset Button state (type=reset)", "section": "4.10.5.1.20 - States of the type attribute", "uri": "input.html#reset-button-state-(type=reset)"}, {"text": "Button state (type=button)", "section": "4.10.5.1.21 - States of the type attribute", "uri": "input.html#button-state-(type=button)"}, {"text": "Common input element attributes", "section": "4.10.5.2 - The input element", "uri": "input.html#common-input-element-attributes"}, {"text": "The maxlength and minlength attributes", "section": "4.10.5.2.1 - Common input element attributes", "uri": "input.html#the-maxlength-and-minlength-attributes"}, {"text": "The size attribute", "section": "4.10.5.2.2 - Common input element attributes", "uri": "input.html#the-size-attribute"}, {"text": "The readonly attribute", "section": "4.10.5.2.3 - Common input element attributes", "uri": "input.html#the-readonly-attribute"}, {"text": "The required attribute", "section": "4.10.5.2.4 - Common input element attributes", "uri": "input.html#the-required-attribute"}, {"text": "The multiple attribute", "section": "4.10.5.2.5 - Common input element attributes", "uri": "input.html#the-multiple-attribute"}, {"text": "The pattern attribute", "section": "4.10.5.2.6 - Common input element attributes", "uri": "input.html#the-pattern-attribute"}, {"text": "The min and max attributes", "section": "4.10.5.2.7 - Common input element attributes", "uri": "input.html#the-min-and-max-attributes"}, {"text": "The step attribute", "section": "4.10.5.2.8 - Common input element attributes", "uri": "input.html#the-step-attribute"}, {"text": "The list attribute", "section": "4.10.5.2.9 - Common input element attributes", "uri": "input.html#the-list-attribute"}, {"text": "The placeholder attribute", "section": "4.10.5.2.10 - Common input element attributes", "uri": "input.html#the-placeholder-attribute"}, {"text": "Common input element APIs", "section": "4.10.5.3 - The input element", "uri": "input.html#common-input-element-apis"}, {"text": "The button element", "section": "4.10.6 - Forms", "uri": "form-elements.html#the-button-element"}, {"text": "The select element", "section": "4.10.7 - Forms", "uri": "form-elements.html#the-select-element"}, {"text": "The datalist element", "section": "4.10.8 - Forms", "uri": "form-elements.html#the-datalist-element"}, {"text": "The optgroup element", "section": "4.10.9 - Forms", "uri": "form-elements.html#the-optgroup-element"}, {"text": "The option element", "section": "4.10.10 - Forms", "uri": "form-elements.html#the-option-element"}, {"text": "The textarea element", "section": "4.10.11 - Forms", "uri": "form-elements.html#the-textarea-element"}, {"text": "The output element", "section": "4.10.12 - Forms", "uri": "form-elements.html#the-output-element"}, {"text": "The progress element", "section": "4.10.13 - Forms", "uri": "form-elements.html#the-progress-element"}, {"text": "The meter element", "section": "4.10.14 - Forms", "uri": "form-elements.html#the-meter-element"}, {"text": "The fieldset element", "section": "4.10.15 - Forms", "uri": "form-elements.html#the-fieldset-element"}, {"text": "The legend element", "section": "4.10.16 - Forms", "uri": "form-elements.html#the-legend-element"}, {"text": "Form control infrastructure", "section": "4.10.17 - Forms", "uri": "form-control-infrastructure.html#form-control-infrastructure"}, {"text": "A form control's value", "section": "4.10.17.1 - Form control infrastructure", "uri": "form-control-infrastructure.html#a-form-control's-value"}, {"text": "Mutability", "section": "4.10.17.2 - Form control infrastructure", "uri": "form-control-infrastructure.html#mutability"}, {"text": "Association of controls and forms", "section": "4.10.17.3 - Form control infrastructure", "uri": "form-control-infrastructure.html#association-of-controls-and-forms"}, {"text": "Attributes common to form controls", "section": "4.10.18 - Forms", "uri": "form-control-infrastructure.html#attributes-common-to-form-controls"}, {"text": "Naming form controls: the name attribute", "section": "4.10.18.1 - Attributes common to form controls", "uri": "form-control-infrastructure.html#naming-form-controls:-the-name-attribute"}, {"text": "Submitting element directionality: the dirname attribute", "section": "4.10.18.2 - Attributes common to form controls", "uri": "form-control-infrastructure.html#submitting-element-directionality:-the-dirname-attribute"}, {"text": "Limiting user input length: the maxlength attribute", "section": "4.10.18.3 - Attributes common to form controls", "uri": "form-control-infrastructure.html#limiting-user-input-length:-the-maxlength-attribute"}, {"text": "Setting minimum input length requirements: the minlength attribute", "section": "4.10.18.4 - Attributes common to form controls", "uri": "form-control-infrastructure.html#setting-minimum-input-length-requirements:-the-minlength-attribute"}, {"text": "Enabling and disabling form controls: the disabled attribute", "section": "4.10.18.5 - Attributes common to form controls", "uri": "form-control-infrastructure.html#enabling-and-disabling-form-controls:-the-disabled-attribute"}, {"text": "Form submission", "section": "4.10.18.6 - Attributes common to form controls", "uri": "form-control-infrastructure.html#form-submission"}, {"text": "Autofocusing a form control: the autofocus attribute", "section": "4.10.18.6.1 - Form submission", "uri": "form-control-infrastructure.html#autofocusing-a-form-control:-the-autofocus-attribute"}, {"text": "Input modalities: the inputmode attribute", "section": "4.10.18.7 - Attributes common to form controls", "uri": "form-control-infrastructure.html#input-modalities:-the-inputmode-attribute"}, {"text": "Autofill", "section": "4.10.18.8 - Attributes common to form controls", "uri": "form-control-infrastructure.html#autofill"}, {"text": "Autofilling form controls: the autocomplete attribute", "section": "4.10.18.8.1 - Autofill", "uri": "form-control-infrastructure.html#autofilling-form-controls:-the-autocomplete-attribute"}, {"text": "APIs for the text control selections", "section": "4.10.19 - Forms", "uri": "form-control-infrastructure.html#textFieldSelection"}, {"text": "Constraints", "section": "4.10.20 - Forms", "uri": "form-control-infrastructure.html#constraints"}, {"text": "Definitions", "section": "4.10.20.1 - Constraints", "uri": "form-control-infrastructure.html#definitions"}, {"text": "The constraint validation API", "section": "4.10.20.2 - Constraints", "uri": "form-control-infrastructure.html#the-constraint-validation-api"}, {"text": "Security", "section": "4.10.20.3 - Constraints", "uri": "form-control-infrastructure.html#security-forms"}, {"text": "Form submission", "section": "4.10.21 - Forms", "uri": "form-control-infrastructure.html#form-submission-2"}, {"text": "URL-encoded form data", "section": "4.10.21.1 - Form submission", "uri": "form-control-infrastructure.html#url-encoded-form-data"}, {"text": "Multipart form data", "section": "4.10.21.2 - Form submission", "uri": "form-control-infrastructure.html#multipart-form-data"}, {"text": "Plain text form data", "section": "4.10.21.3 - Form submission", "uri": "form-control-infrastructure.html#plain-text-form-data"}, {"text": "Interactive elements", "section": "4.11 - The elements of HTML", "uri": "interactive-elements.html#interactive-elements"}, {"text": "The details element", "section": "4.11.1 - Interactive elements", "uri": "interactive-elements.html#the-details-element"}, {"text": "The summary element", "section": "4.11.2 - Interactive elements", "uri": "interactive-elements.html#the-summary-element"}, {"text": "Commands", "section": "4.11.3 - Interactive elements", "uri": "interactive-elements.html#commands"}, {"text": "Facets", "section": "4.11.3.1 - Commands", "uri": "interactive-elements.html#facets-2"}, {"text": "The dialog element", "section": "4.11.4 - Interactive elements", "uri": "interactive-elements.html#the-dialog-element"}, {"text": "Scripting", "section": "4.12 - The elements of HTML", "uri": "scripting.html#scripting-3"}, {"text": "The script element", "section": "4.12.1 - Scripting", "uri": "scripting.html#the-script-element"}, {"text": "Scripting languages", "section": "4.12.1.1 - The script element", "uri": "scripting.html#scriptingLanguages"}, {"text": "Restrictions for contents of script elements", "section": "4.12.1.2 - The script element", "uri": "scripting.html#restrictions-for-contents-of-script-elements"}, {"text": "Inline documentation for external scripts", "section": "4.12.1.3 - The script element", "uri": "scripting.html#inline-documentation-for-external-scripts"}, {"text": "The noscript element", "section": "4.12.2 - Scripting", "uri": "scripting.html#the-noscript-element"}, {"text": "The template element", "section": "4.12.3 - Scripting", "uri": "scripting.html#the-template-element"}, {"text": "The slot element", "section": "4.12.4 - Scripting", "uri": "scripting.html#the-slot-element"}, {"text": "The canvas element", "section": "4.12.5 - Scripting", "uri": "canvas.html#the-canvas-element"}, {"text": "The 2D rendering context", "section": "4.12.5.1 - The canvas element", "uri": "canvas.html#2dcontext"}, {"text": "Implementation notes", "section": "4.12.5.1.1 - The 2D rendering context", "uri": "canvas.html#implementation-notes"}, {"text": "The canvas state", "section": "4.12.5.1.2 - The 2D rendering context", "uri": "canvas.html#the-canvas-state"}, {"text": "Line styles", "section": "4.12.5.1.3 - The 2D rendering context", "uri": "canvas.html#line-styles"}, {"text": "Text styles", "section": "4.12.5.1.4 - The 2D rendering context", "uri": "canvas.html#text-styles"}, {"text": "Building paths", "section": "4.12.5.1.5 - The 2D rendering context", "uri": "canvas.html#building-paths"}, {"text": "Path2D objects", "section": "4.12.5.1.6 - The 2D rendering context", "uri": "canvas.html#path2d-objects"}, {"text": "Transformations", "section": "4.12.5.1.7 - The 2D rendering context", "uri": "canvas.html#transformations"}, {"text": "Image sources for 2D rendering contexts", "section": "4.12.5.1.8 - The 2D rendering context", "uri": "canvas.html#image-sources-for-2d-rendering-contexts"}, {"text": "Fill and stroke styles", "section": "4.12.5.1.9 - The 2D rendering context", "uri": "canvas.html#fill-and-stroke-styles"}, {"text": "Drawing rectangles to the bitmap", "section": "4.12.5.1.10 - The 2D rendering context", "uri": "canvas.html#drawing-rectangles-to-the-bitmap"}, {"text": "Drawing text to the bitmap", "section": "4.12.5.1.11 - The 2D rendering context", "uri": "canvas.html#drawing-text-to-the-bitmap"}, {"text": "Drawing paths to the canvas", "section": "4.12.5.1.12 - The 2D rendering context", "uri": "canvas.html#drawing-paths-to-the-canvas"}, {"text": "Drawing focus rings and scrolling paths into view", "section": "4.12.5.1.13 - The 2D rendering context", "uri": "canvas.html#drawing-focus-rings-and-scrolling-paths-into-view"}, {"text": "Drawing images", "section": "4.12.5.1.14 - The 2D rendering context", "uri": "canvas.html#drawing-images"}, {"text": "Pixel manipulation", "section": "4.12.5.1.15 - The 2D rendering context", "uri": "canvas.html#pixel-manipulation"}, {"text": "Compositing", "section": "4.12.5.1.16 - The 2D rendering context", "uri": "canvas.html#compositing"}, {"text": "Image smoothing", "section": "4.12.5.1.17 - The 2D rendering context", "uri": "canvas.html#image-smoothing"}, {"text": "Shadows", "section": "4.12.5.1.18 - The 2D rendering context", "uri": "canvas.html#shadows"}, {"text": "Filters", "section": "4.12.5.1.19 - The 2D rendering context", "uri": "canvas.html#filters"}, {"text": "Working with externally-defined SVG filters", "section": "4.12.5.1.20 - The 2D rendering context", "uri": "canvas.html#working-with-externally-defined-svg-filters"}, {"text": "Best practices", "section": "4.12.5.1.21 - The 2D rendering context", "uri": "canvas.html#best-practices"}, {"text": "Examples", "section": "4.12.5.1.22 - The 2D rendering context", "uri": "canvas.html#examples"}, {"text": "The ImageBitmap rendering context", "section": "4.12.5.2 - The canvas element", "uri": "canvas.html#the-imagebitmap-rendering-context"}, {"text": "Introduction", "section": "4.12.5.2.1 - The ImageBitmap rendering context", "uri": "canvas.html#introduction-5"}, {"text": "The ImageBitmapRenderingContext interface", "section": "4.12.5.2.2 - The ImageBitmap rendering context", "uri": "canvas.html#the-imagebitmaprenderingcontext-interface"}, {"text": "The OffscreenCanvas interface", "section": "4.12.5.3 - The canvas element", "uri": "canvas.html#the-offscreencanvas-interface"}, {"text": "The offscreen 2D rendering context", "section": "4.12.5.3.1 - The OffscreenCanvas interface", "uri": "canvas.html#the-offscreen-2d-rendering-context"}, {"text": "Serializing bitmaps to a file", "section": "4.12.5.4 - The canvas element", "uri": "canvas.html#serialising-bitmaps-to-a-file"}, {"text": "Custom elements", "section": "4.13 - The elements of HTML", "uri": "custom-elements.html#custom-elements"}, {"text": "Introduction", "section": "4.13.1 - Custom elements", "uri": "custom-elements.html#custom-elements-intro"}, {"text": "Creating an autonomous custom element", "section": "4.13.1.1 - Introduction", "uri": "custom-elements.html#custom-elements-autonomous-example"}, {"text": "Creating a customized built-in element", "section": "4.13.1.2 - Introduction", "uri": "custom-elements.html#custom-elements-customized-builtin-example"}, {"text": "Drawbacks of autonomous custom elements", "section": "4.13.1.3 - Introduction", "uri": "custom-elements.html#custom-elements-autonomous-drawbacks"}, {"text": "Upgrading elements after their creation", "section": "4.13.1.4 - Introduction", "uri": "custom-elements.html#custom-elements-upgrades-examples"}, {"text": "Requirements for custom element constructors", "section": "4.13.2 - Custom elements", "uri": "custom-elements.html#custom-element-conformance"}, {"text": "Core concepts", "section": "4.13.3 - Custom elements", "uri": "custom-elements.html#custom-elements-core-concepts"}, {"text": "The CustomElementRegistry interface", "section": "4.13.4 - Custom elements", "uri": "custom-elements.html#custom-elements-api"}, {"text": "Upgrades", "section": "4.13.5 - Custom elements", "uri": "custom-elements.html#upgrades"}, {"text": "Custom element reactions", "section": "4.13.6 - Custom elements", "uri": "custom-elements.html#custom-element-reactions"}, {"text": "Common idioms without dedicated elements", "section": "4.14 - The elements of HTML", "uri": "semantics-other.html#common-idioms"}, {"text": "The main part of the content", "section": "4.14.1 - Common idioms without dedicated elements", "uri": "semantics-other.html#the-main-part-of-the-content"}, {"text": "Bread crumb navigation", "section": "4.14.2 - Common idioms without dedicated elements", "uri": "semantics-other.html#rel-up"}, {"text": "Tag clouds", "section": "4.14.3 - Common idioms without dedicated elements", "uri": "semantics-other.html#tag-clouds"}, {"text": "Conversations", "section": "4.14.4 - Common idioms without dedicated elements", "uri": "semantics-other.html#conversations"}, {"text": "Footnotes", "section": "4.14.5 - Common idioms without dedicated elements", "uri": "semantics-other.html#footnotes"}, {"text": "Disabled elements", "section": "4.15 - The elements of HTML", "uri": "semantics-other.html#disabled-elements"}, {"text": "Microdata", "section": "5", "uri": "microdata.html#microdata"}, {"text": "Introduction", "section": "5.1 - Microdata", "uri": "microdata.html#introduction-6"}, {"text": "Overview", "section": "5.1.1 - Introduction", "uri": "microdata.html#overview"}, {"text": "The basic syntax", "section": "5.1.2 - Introduction", "uri": "microdata.html#the-basic-syntax"}, {"text": "Typed items", "section": "5.1.3 - Introduction", "uri": "microdata.html#typed-items"}, {"text": "Global identifiers for items", "section": "5.1.4 - Introduction", "uri": "microdata.html#global-identifiers-for-items"}, {"text": "Selecting names when defining vocabularies", "section": "5.1.5 - Introduction", "uri": "microdata.html#selecting-names-when-defining-vocabularies"}, {"text": "Encoding microdata", "section": "5.2 - Microdata", "uri": "microdata.html#encoding-microdata"}, {"text": "The microdata model", "section": "5.2.1 - Encoding microdata", "uri": "microdata.html#the-microdata-model"}, {"text": "Items", "section": "5.2.2 - Encoding microdata", "uri": "microdata.html#items"}, {"text": "Names: the itemprop attribute", "section": "5.2.3 - Encoding microdata", "uri": "microdata.html#names:-the-itemprop-attribute"}, {"text": "Values", "section": "5.2.4 - Encoding microdata", "uri": "microdata.html#values"}, {"text": "Microdata and other namespaces", "section": "5.2.5 - Encoding microdata", "uri": "microdata.html#microdata-and-other-namespaces"}, {"text": "Sample microdata vocabularies", "section": "5.3 - Microdata", "uri": "microdata.html#mdvocabs"}, {"text": "vCard", "section": "5.3.1 - Sample microdata vocabularies", "uri": "microdata.html#vcard"}, {"text": "Conversion to vCard", "section": "5.3.1.1 - vCard", "uri": "microdata.html#conversion-to-vcard"}, {"text": "Examples", "section": "5.3.1.2 - vCard", "uri": "microdata.html#examples-2"}, {"text": "vEvent", "section": "5.3.2 - Sample microdata vocabularies", "uri": "microdata.html#vevent"}, {"text": "Conversion to iCalendar", "section": "5.3.2.1 - vEvent", "uri": "microdata.html#conversion-to-icalendar"}, {"text": "Examples", "section": "5.3.2.2 - vEvent", "uri": "microdata.html#examples-3"}, {"text": "Licensing works", "section": "5.3.3 - Sample microdata vocabularies", "uri": "microdata.html#licensing-works"}, {"text": "Examples", "section": "5.3.3.1 - Licensing works", "uri": "microdata.html#examples-4"}, {"text": "User interaction", "section": "6", "uri": "interaction.html#editing"}, {"text": "The hidden attribute", "section": "6.1 - User interaction", "uri": "interaction.html#the-hidden-attribute"}, {"text": "Inert subtrees", "section": "6.2 - User interaction", "uri": "interaction.html#inert-subtrees"}, {"text": "Activation", "section": "6.3 - User interaction", "uri": "interaction.html#activation"}, {"text": "Focus", "section": "6.4 - User interaction", "uri": "interaction.html#focus"}, {"text": "Introduction", "section": "6.4.1 - Focus", "uri": "interaction.html#introduction-7"}, {"text": "Data model", "section": "6.4.2 - Focus", "uri": "interaction.html#data-model"}, {"text": "The tabindex attribute", "section": "6.4.3 - Focus", "uri": "interaction.html#the-tabindex-attribute"}, {"text": "Focus management APIs", "section": "6.4.4 - Focus", "uri": "interaction.html#focus-management-apis"}, {"text": "Assigning keyboard shortcuts", "section": "6.5 - User interaction", "uri": "interaction.html#assigning-keyboard-shortcuts"}, {"text": "Introduction", "section": "6.5.1 - Assigning keyboard shortcuts", "uri": "interaction.html#introduction-8"}, {"text": "The accesskey attribute", "section": "6.5.2 - Assigning keyboard shortcuts", "uri": "interaction.html#the-accesskey-attribute"}, {"text": "Editing", "section": "6.6 - User interaction", "uri": "interaction.html#editing-2"}, {"text": "Making document regions editable: The contenteditable content attribute", "section": "6.6.1 - Editing", "uri": "interaction.html#contenteditable"}, {"text": "Making entire documents editable: the designMode IDL attribute", "section": "6.6.2 - Editing", "uri": "interaction.html#making-entire-documents-editable:-the-designmode-idl-attribute"}, {"text": "Best practices for in-page editors", "section": "6.6.3 - Editing", "uri": "interaction.html#best-practices-for-in-page-editors"}, {"text": "Spelling and grammar checking", "section": "6.6.4 - Editing", "uri": "interaction.html#spelling-and-grammar-checking"}, {"text": "Drag and drop", "section": "6.7 - User interaction", "uri": "dnd.html#dnd"}, {"text": "Introduction", "section": "6.7.1 - Drag and drop", "uri": "dnd.html#event-drag"}, {"text": "The drag data store", "section": "6.7.2 - Drag and drop", "uri": "dnd.html#the-drag-data-store"}, {"text": "The DataTransfer interface", "section": "6.7.3 - Drag and drop", "uri": "dnd.html#the-datatransfer-interface"}, {"text": "The DataTransferItemList interface", "section": "6.7.3.1 - The DataTransfer interface", "uri": "dnd.html#the-datatransferitemlist-interface"}, {"text": "The DataTransferItem interface", "section": "6.7.3.2 - The DataTransfer interface", "uri": "dnd.html#the-datatransferitem-interface"}, {"text": "The DragEvent interface", "section": "6.7.4 - Drag and drop", "uri": "dnd.html#the-dragevent-interface"}, {"text": "Events summary", "section": "6.7.5 - Drag and drop", "uri": "dnd.html#dndevents"}, {"text": "The draggable attribute", "section": "6.7.6 - Drag and drop", "uri": "dnd.html#the-draggable-attribute"}, {"text": "Loading Web pages", "section": "7", "uri": "browsers.html#browsers"}, {"text": "Browsing contexts", "section": "7.1 - Loading Web pages", "uri": "browsers.html#windows"}, {"text": "Nested browsing contexts", "section": "7.1.1 - Browsing contexts", "uri": "browsers.html#nested-browsing-contexts"}, {"text": "Navigating nested browsing contexts in the DOM", "section": "7.1.1.1 - Nested browsing contexts", "uri": "browsers.html#navigating-nested-browsing-contexts-in-the-dom"}, {"text": "Auxiliary browsing contexts", "section": "7.1.2 - Browsing contexts", "uri": "browsers.html#auxiliary-browsing-contexts"}, {"text": "Navigating auxiliary browsing contexts in the DOM", "section": "7.1.2.1 - Auxiliary browsing contexts", "uri": "browsers.html#navigating-auxiliary-browsing-contexts-in-the-dom"}, {"text": "Browsing context names", "section": "7.1.3 - Browsing contexts", "uri": "browsers.html#browsing-context-names"}, {"text": "The Window object", "section": "7.2 - Loading Web pages", "uri": "window-object.html#the-window-object"}, {"text": "APIs for creating and navigating browsing contexts by name", "section": "7.2.1 - The Window object", "uri": "window-object.html#apis-for-creating-and-navigating-browsing-contexts-by-name"}, {"text": "Accessing other browsing contexts", "section": "7.2.2 - The Window object", "uri": "window-object.html#accessing-other-browsing-contexts"}, {"text": "Named access on the Window object", "section": "7.2.3 - The Window object", "uri": "window-object.html#named-access-on-the-window-object"}, {"text": "Closing browsing contexts", "section": "7.2.4 - The Window object", "uri": "window-object.html#closing-browsing-contexts"}, {"text": "Browser interface elements", "section": "7.2.5 - The Window object", "uri": "window-object.html#browser-interface-elements"}, {"text": "Origin", "section": "7.3 - Loading Web pages", "uri": "origin.html#origin"}, {"text": "Relaxing the same-origin restriction", "section": "7.3.1 - Origin", "uri": "origin.html#relaxing-the-same-origin-restriction"}, {"text": "Sandboxing", "section": "7.4 - Loading Web pages", "uri": "origin.html#sandboxing"}, {"text": "Session history and navigation", "section": "7.5 - Loading Web pages", "uri": "history.html#history"}, {"text": "The session history of browsing contexts", "section": "7.5.1 - Session history and navigation", "uri": "history.html#the-session-history-of-browsing-contexts"}, {"text": "The History interface", "section": "7.5.2 - Session history and navigation", "uri": "history.html#the-history-interface"}, {"text": "The Location interface", "section": "7.5.3 - Session history and navigation", "uri": "history.html#the-location-interface"}, {"text": "Browsing the Web", "section": "7.6 - Loading Web pages", "uri": "browsing-the-web.html#browsing-the-web"}, {"text": "History traversal", "section": "7.6.1 - Browsing the Web", "uri": "browsing-the-web.html#history-traversal"}, {"text": "Persisted user state restoration", "section": "7.6.1.1 - History traversal", "uri": "browsing-the-web.html#persisted-user-state-restoration"}, {"text": "The PopStateEvent interface", "section": "7.6.1.2 - History traversal", "uri": "browsing-the-web.html#the-popstateevent-interface"}, {"text": "The HashChangeEvent interface", "section": "7.6.1.3 - History traversal", "uri": "browsing-the-web.html#the-hashchangeevent-interface"}, {"text": "The PageTransitionEvent interface", "section": "7.6.1.4 - History traversal", "uri": "browsing-the-web.html#the-pagetransitionevent-interface"}, {"text": "Unloading documents", "section": "7.6.2 - Browsing the Web", "uri": "browsing-the-web.html#unloading-documents"}, {"text": "The BeforeUnloadEvent interface", "section": "7.6.2.1 - Unloading documents", "uri": "browsing-the-web.html#the-beforeunloadevent-interface"}, {"text": "Offline Web applications", "section": "7.7 - Loading Web pages", "uri": "offline.html#offline"}, {"text": "Introduction", "section": "7.7.1 - Offline Web applications", "uri": "offline.html#introduction-9"}, {"text": "Supporting offline caching for legacy applications", "section": "7.7.1.1 - Introduction", "uri": "offline.html#supporting-offline-caching-for-legacy-applications"}, {"text": "Event summary", "section": "7.7.1.2 - Introduction", "uri": "offline.html#appcacheevents"}, {"text": "The cache manifest syntax", "section": "7.7.2 - Offline Web applications", "uri": "offline.html#manifests"}, {"text": "Some sample manifests", "section": "7.7.2.1 - The cache manifest syntax", "uri": "offline.html#some-sample-manifests"}, {"text": "Writing cache manifests", "section": "7.7.2.2 - The cache manifest syntax", "uri": "offline.html#writing-cache-manifests"}, {"text": "Security concerns with offline applications caches", "section": "7.7.3 - Offline Web applications", "uri": "offline.html#security-concerns-with-offline-applications-caches"}, {"text": "Application cache API", "section": "7.7.4 - Offline Web applications", "uri": "offline.html#application-cache-api"}, {"text": "Browser state", "section": "7.7.5 - Offline Web applications", "uri": "offline.html#navigator.online"}, {"text": "Web application APIs", "section": "8", "uri": "webappapis.html#webappapis"}, {"text": "Scripting", "section": "8.1 - Web application APIs", "uri": "webappapis.html#scripting"}, {"text": "Introduction", "section": "8.1.1 - Scripting", "uri": "webappapis.html#introduction-10"}, {"text": "Runtime script errors", "section": "8.1.1.1 - Introduction", "uri": "webappapis.html#runtime-script-errors"}, {"text": "Unhandled promise rejections", "section": "8.1.1.2 - Introduction", "uri": "webappapis.html#unhandled-promise-rejections"}, {"text": "HostPromiseRejectionTracker(promise, operation)", "section": "8.1.1.2.1 - Unhandled promise rejections", "uri": "webappapis.html#the-hostpromiserejectiontracker-implementation"}, {"text": "The PromiseRejectionEvent interface", "section": "8.1.1.2.2 - Unhandled promise rejections", "uri": "webappapis.html#the-promiserejectionevent-interface"}, {"text": "HostEnsureCanCompileStrings(callerRealm, calleeRealm)", "section": "8.1.1.3 - Introduction", "uri": "webappapis.html#hostensurecancompilestrings(callerrealm,-calleerealm)"}, {"text": "Events", "section": "8.1.2 - Scripting", "uri": "webappapis.html#events"}, {"text": "Event handlers", "section": "8.1.2.1 - Events", "uri": "webappapis.html#event-handler-attributes"}, {"text": "Event handlers on elements, Document objects, and Window objects", "section": "8.1.2.2 - Events", "uri": "webappapis.html#event-handlers-on-elements,-document-objects,-and-window-objects"}, {"text": "IDL definitions", "section": "8.1.2.2.1 - Event handlers on elements, Document objects, and Window objects", "uri": "webappapis.html#idl-definitions"}, {"text": "The WindowOrWorkerGlobalScope mixin", "section": "8.2 - Web application APIs", "uri": "webappapis.html#windoworworkerglobalscope-mixin"}, {"text": "Base64 utility methods", "section": "8.3 - Web application APIs", "uri": "webappapis.html#atob"}, {"text": "Dynamic markup insertion", "section": "8.4 - Web application APIs", "uri": "dynamic-markup-insertion.html#dynamic-markup-insertion"}, {"text": "Opening the input stream", "section": "8.4.1 - Dynamic markup insertion", "uri": "dynamic-markup-insertion.html#opening-the-input-stream"}, {"text": "Closing the input stream", "section": "8.4.2 - Dynamic markup insertion", "uri": "dynamic-markup-insertion.html#closing-the-input-stream"}, {"text": "document.write()", "section": "8.4.3 - Dynamic markup insertion", "uri": "dynamic-markup-insertion.html#document.write()"}, {"text": "document.writeln()", "section": "8.4.4 - Dynamic markup insertion", "uri": "dynamic-markup-insertion.html#document.writeln()"}, {"text": "Timers", "section": "8.5 - Web application APIs", "uri": "timers-and-user-prompts.html#timers"}, {"text": "User prompts", "section": "8.6 - Web application APIs", "uri": "timers-and-user-prompts.html#user-prompts"}, {"text": "Simple dialogs", "section": "8.6.1 - User prompts", "uri": "timers-and-user-prompts.html#simple-dialogs"}, {"text": "Printing", "section": "8.6.2 - User prompts", "uri": "timers-and-user-prompts.html#printing"}, {"text": "System state and capabilities", "section": "8.7 - Web application APIs", "uri": "system-state.html#system-state-and-capabilities"}, {"text": "The Navigator object", "section": "8.7.1 - System state and capabilities", "uri": "system-state.html#the-navigator-object"}, {"text": "Client identification", "section": "8.7.1.1 - The Navigator object", "uri": "system-state.html#client-identification"}, {"text": "Language preferences", "section": "8.7.1.2 - The Navigator object", "uri": "system-state.html#language-preferences"}, {"text": "Custom scheme and content handlers: the registerProtocolHandler() and registerContentHandler() methods", "section": "8.7.1.3 - The Navigator object", "uri": "system-state.html#custom-handlers"}, {"text": "Cookies", "section": "8.7.1.4 - The Navigator object", "uri": "system-state.html#cookies"}, {"text": "Plugins", "section": "8.7.1.5 - The Navigator object", "uri": "system-state.html#plugins-2"}, {"text": "Images", "section": "8.8 - Web application APIs", "uri": "imagebitmap-and-animations.html#images-2"}, {"text": "Animation Frames", "section": "8.9 - Web application APIs", "uri": "imagebitmap-and-animations.html#animation-frames"}, {"text": "Communication", "section": "9", "uri": "comms.html#comms"}, {"text": "The MessageEvent interfaces", "section": "9.1 - Communication", "uri": "comms.html#the-messageevent-interfaces"}, {"text": "Server-sent events", "section": "9.2 - Communication", "uri": "server-sent-events.html#server-sent-events"}, {"text": "Introduction", "section": "9.2.1 - Server-sent events", "uri": "server-sent-events.html#server-sent-events-intro"}, {"text": "The EventSource interface", "section": "9.2.2 - Server-sent events", "uri": "server-sent-events.html#the-eventsource-interface"}, {"text": "Processing model", "section": "9.2.3 - Server-sent events", "uri": "server-sent-events.html#sse-processing-model"}, {"text": "Parsing an event stream", "section": "9.2.4 - Server-sent events", "uri": "server-sent-events.html#parsing-an-event-stream"}, {"text": "Interpreting an event stream", "section": "9.2.5 - Server-sent events", "uri": "server-sent-events.html#event-stream-interpretation"}, {"text": "Authoring notes", "section": "9.2.6 - Server-sent events", "uri": "server-sent-events.html#authoring-notes"}, {"text": "Connectionless push and other features", "section": "9.2.7 - Server-sent events", "uri": "server-sent-events.html#eventsource-push"}, {"text": "Garbage collection", "section": "9.2.8 - Server-sent events", "uri": "server-sent-events.html#garbage-collection"}, {"text": "Implementation advice", "section": "9.2.9 - Server-sent events", "uri": "server-sent-events.html#implementation-advice"}, {"text": "Web sockets", "section": "9.3 - Communication", "uri": "web-sockets.html#network"}, {"text": "Introduction", "section": "9.3.1 - Web sockets", "uri": "web-sockets.html#network-intro"}, {"text": "The WebSocket interface", "section": "9.3.2 - Web sockets", "uri": "web-sockets.html#the-websocket-interface"}, {"text": "Feedback from the protocol", "section": "9.3.3 - Web sockets", "uri": "web-sockets.html#feedback-from-the-protocol"}, {"text": "Ping and Pong frames", "section": "9.3.4 - Web sockets", "uri": "web-sockets.html#ping-and-pong-frames"}, {"text": "The CloseEvent interfaces", "section": "9.3.5 - Web sockets", "uri": "web-sockets.html#the-closeevent-interfaces"}, {"text": "Garbage collection", "section": "9.3.6 - Web sockets", "uri": "web-sockets.html#garbage-collection-2"}, {"text": "Cross-document messaging", "section": "9.4 - Communication", "uri": "web-messaging.html#web-messaging"}, {"text": "Introduction", "section": "9.4.1 - Cross-document messaging", "uri": "web-messaging.html#introduction-11"}, {"text": "Security", "section": "9.4.2 - Cross-document messaging", "uri": "web-messaging.html#security-postmsg"}, {"text": "Posting messages", "section": "9.4.3 - Cross-document messaging", "uri": "web-messaging.html#posting-messages"}, {"text": "Channel messaging", "section": "9.5 - Communication", "uri": "web-messaging.html#channel-messaging"}, {"text": "Introduction", "section": "9.5.1 - Channel messaging", "uri": "web-messaging.html#introduction-12"}, {"text": "Examples", "section": "9.5.1.1 - Introduction", "uri": "web-messaging.html#examples-5"}, {"text": "Ports as the basis of an object-capability model on the Web", "section": "9.5.1.2 - Introduction", "uri": "web-messaging.html#ports-as-the-basis-of-an-object-capability-model-on-the-web"}, {"text": "Ports as the basis of abstracting out service implementations", "section": "9.5.1.3 - Introduction", "uri": "web-messaging.html#ports-as-the-basis-of-abstracting-out-service-implementations"}, {"text": "Message channels", "section": "9.5.2 - Channel messaging", "uri": "web-messaging.html#message-channels"}, {"text": "Message ports", "section": "9.5.3 - Channel messaging", "uri": "web-messaging.html#message-ports"}, {"text": "Broadcasting to many ports", "section": "9.5.4 - Channel messaging", "uri": "web-messaging.html#broadcasting-to-many-ports"}, {"text": "Ports and garbage collection", "section": "9.5.5 - Channel messaging", "uri": "web-messaging.html#ports-and-garbage-collection"}, {"text": "Broadcasting to other browsing contexts", "section": "9.6 - Communication", "uri": "web-messaging.html#broadcasting-to-other-browsing-contexts"}, {"text": "Web workers", "section": "10", "uri": "workers.html#workers"}, {"text": "Introduction", "section": "10.1 - Web workers", "uri": "workers.html#introduction-13"}, {"text": "Scope", "section": "10.1.1 - Introduction", "uri": "workers.html#scope-2"}, {"text": "Examples", "section": "10.1.2 - Introduction", "uri": "workers.html#examples-6"}, {"text": "A background number-crunching worker", "section": "10.1.2.1 - Examples", "uri": "workers.html#a-background-number-crunching-worker"}, {"text": "Worker used for background I/O", "section": "10.1.2.2 - Examples", "uri": "workers.html#worker-used-for-background-i/o"}, {"text": "Using a JavaScript module as a worker", "section": "10.1.2.3 - Examples", "uri": "workers.html#module-worker-example"}, {"text": "Shared workers introduction", "section": "10.1.2.4 - Examples", "uri": "workers.html#shared-workers-introduction"}, {"text": "Shared state using a shared worker", "section": "10.1.2.5 - Examples", "uri": "workers.html#shared-state-using-a-shared-worker"}, {"text": "Delegation", "section": "10.1.2.6 - Examples", "uri": "workers.html#delegation"}, {"text": "Providing libraries", "section": "10.1.2.7 - Examples", "uri": "workers.html#providing-libraries"}, {"text": "Tutorials", "section": "10.1.3 - Introduction", "uri": "workers.html#tutorials"}, {"text": "Creating a dedicated worker", "section": "10.1.3.1 - Tutorials", "uri": "workers.html#creating-a-dedicated-worker"}, {"text": "Communicating with a dedicated worker", "section": "10.1.3.2 - Tutorials", "uri": "workers.html#communicating-with-a-dedicated-worker"}, {"text": "Shared workers", "section": "10.1.3.3 - Tutorials", "uri": "workers.html#shared-workers"}, {"text": "Infrastructure", "section": "10.2 - Web workers", "uri": "workers.html#infrastructure-2"}, {"text": "The global scope", "section": "10.2.1 - Infrastructure", "uri": "workers.html#the-global-scope"}, {"text": "The WorkerGlobalScope common interface", "section": "10.2.1.1 - The global scope", "uri": "workers.html#the-workerglobalscope-common-interface"}, {"text": "Dedicated workers and the DedicatedWorkerGlobalScope interface", "section": "10.2.1.2 - The global scope", "uri": "workers.html#dedicated-workers-and-the-dedicatedworkerglobalscope-interface"}, {"text": "Shared workers and the SharedWorkerGlobalScope interface", "section": "10.2.1.3 - The global scope", "uri": "workers.html#shared-workers-and-the-sharedworkerglobalscope-interface"}, {"text": "The event loop", "section": "10.2.2 - Infrastructure", "uri": "workers.html#worker-event-loop"}, {"text": "Runtime script errors", "section": "10.2.3 - Infrastructure", "uri": "workers.html#runtime-script-errors-2"}, {"text": "Creating workers", "section": "10.2.4 - Infrastructure", "uri": "workers.html#creating-workers"}, {"text": "Properties present on both Worker and SharedWorker", "section": "10.2.4.1 - Creating workers", "uri": "workers.html#properties-present-on-both-worker-and-sharedworker"}, {"text": "Dedicated workers and the Worker interface", "section": "10.2.4.2 - Creating workers", "uri": "workers.html#dedicated-workers-and-the-worker-interface"}, {"text": "Shared workers and the SharedWorker interface", "section": "10.2.4.3 - Creating workers", "uri": "workers.html#shared-workers-and-the-sharedworker-interface"}, {"text": "Concurrent hardware capabilities", "section": "10.2.5 - Infrastructure", "uri": "workers.html#navigator.hardwareconcurrency"}, {"text": "APIs available to workers", "section": "10.3 - Web workers", "uri": "workers.html#apis-available-to-workers"}, {"text": "The WorkerNavigator interface", "section": "10.3.1 - APIs available to workers", "uri": "workers.html#the-workernavigator-object"}, {"text": "The WorkerLocation interface", "section": "10.3.2 - APIs available to workers", "uri": "workers.html#worker-locations"}, {"text": "Web storage", "section": "11", "uri": "webstorage.html#webstorage"}, {"text": "Introduction", "section": "11.1 - Web storage", "uri": "webstorage.html#introduction-14"}, {"text": "The API", "section": "11.2 - Web storage", "uri": "webstorage.html#storage"}, {"text": "The Storage interface", "section": "11.2.1 - The API", "uri": "webstorage.html#the-storage-interface"}, {"text": "The sessionStorage attribute", "section": "11.2.2 - The API", "uri": "webstorage.html#the-sessionstorage-attribute"}, {"text": "The localStorage attribute", "section": "11.2.3 - The API", "uri": "webstorage.html#the-localstorage-attribute"}, {"text": "The storage event", "section": "11.2.4 - The API", "uri": "webstorage.html#the-storage-event"}, {"text": "The StorageEvent interface", "section": "11.2.4.1 - The storage event", "uri": "webstorage.html#the-storageevent-interface"}, {"text": "Disk space", "section": "11.3 - Web storage", "uri": "webstorage.html#disk-space"}, {"text": "Privacy", "section": "11.4 - Web storage", "uri": "webstorage.html#privacy"}, {"text": "User tracking", "section": "11.4.1 - Privacy", "uri": "webstorage.html#user-tracking"}, {"text": "Sensitivity of data", "section": "11.4.2 - Privacy", "uri": "webstorage.html#sensitivity-of-data"}, {"text": "Security", "section": "11.5 - Web storage", "uri": "webstorage.html#security-storage"}, {"text": "DNS spoofing attacks", "section": "11.5.1 - Security", "uri": "webstorage.html#dns-spoofing-attacks"}, {"text": "Cross-directory attacks", "section": "11.5.2 - Security", "uri": "webstorage.html#cross-directory-attacks"}, {"text": "Implementation risks", "section": "11.5.3 - Security", "uri": "webstorage.html#implementation-risks"}, {"text": "The HTML syntax", "section": "12", "uri": "syntax.html#syntax"}, {"text": "Writing HTML documents", "section": "12.1 - The HTML syntax", "uri": "syntax.html#writing"}, {"text": "The DOCTYPE", "section": "12.1.1 - Writing HTML documents", "uri": "syntax.html#the-doctype"}, {"text": "Elements", "section": "12.1.2 - Writing HTML documents", "uri": "syntax.html#elements-2"}, {"text": "Start tags", "section": "12.1.2.1 - Elements", "uri": "syntax.html#start-tags"}, {"text": "End tags", "section": "12.1.2.2 - Elements", "uri": "syntax.html#end-tags"}, {"text": "Attributes", "section": "12.1.2.3 - Elements", "uri": "syntax.html#attributes-2"}, {"text": "Optional tags", "section": "12.1.2.4 - Elements", "uri": "syntax.html#optional-tags"}, {"text": "Restrictions on content models", "section": "12.1.2.5 - Elements", "uri": "syntax.html#element-restrictions"}, {"text": "Restrictions on the contents of raw text and escapable raw text elements", "section": "12.1.2.6 - Elements", "uri": "syntax.html#cdata-rcdata-restrictions"}, {"text": "Text", "section": "12.1.3 - Writing HTML documents", "uri": "syntax.html#text-2"}, {"text": "Newlines", "section": "12.1.3.1 - Text", "uri": "syntax.html#newlines"}, {"text": "Character references", "section": "12.1.4 - Writing HTML documents", "uri": "syntax.html#character-references"}, {"text": "CDATA sections", "section": "12.1.5 - Writing HTML documents", "uri": "syntax.html#cdata-sections"}, {"text": "Comments", "section": "12.1.6 - Writing HTML documents", "uri": "syntax.html#comments"}, {"text": "Named character references", "section": "12.2 - The HTML syntax", "uri": "named-characters.html#named-character-references"}, {"text": "The XML syntax", "section": "13", "uri": "xhtml.html#the-xhtml-syntax"}, {"text": "Obsolete features", "section": "14", "uri": "obsolete.html#obsolete"}, {"text": "Obsolete but conforming features", "section": "14.1 - Obsolete features", "uri": "obsolete.html#obsolete-but-conforming-features"}, {"text": "Non-conforming features", "section": "14.2 - Obsolete features", "uri": "obsolete.html#non-conforming-features"}, {"text": "IANA considerations", "section": "15", "uri": "iana.html#iana"}, {"text": "text/html", "section": "15.1 - IANA considerations", "uri": "iana.html#text/html"}, {"text": "multipart/x-mixed-replace", "section": "15.2 - IANA considerations", "uri": "iana.html#multipart/x-mixed-replace"}, {"text": "application/xhtml+xml", "section": "15.3 - IANA considerations", "uri": "iana.html#application/xhtml+xml"}, {"text": "text/cache-manifest", "section": "15.4 - IANA considerations", "uri": "iana.html#text/cache-manifest"}, {"text": "text/ping", "section": "15.5 - IANA considerations", "uri": "iana.html#text/ping"}, {"text": "application/microdata+json", "section": "15.6 - IANA considerations", "uri": "iana.html#application/microdata+json"}, {"text": "text/event-stream", "section": "15.7 - IANA considerations", "uri": "iana.html#text/event-stream"}, {"text": "`Ping-From`", "section": "15.8 - IANA considerations", "uri": "iana.html#ping-from"}, {"text": "`Ping-To`", "section": "15.9 - IANA considerations", "uri": "iana.html#ping-to"}, {"text": "`Last-Event-ID`", "section": "15.10 - IANA considerations", "uri": "iana.html#last-event-id"}, {"text": "web+ scheme prefix", "section": "15.11 - IANA considerations", "uri": "iana.html#web+-scheme-prefix"}, {"text": "Index", "section": "", "uri": "indices.html#index"}, {"text": "Elements", "section": " - Index", "uri": "indices.html#elements-3"}, {"text": "Element content categories", "section": " - Index", "uri": "indices.html#element-content-categories"}, {"text": "Attributes", "section": " - Index", "uri": "indices.html#attributes-3"}, {"text": "Element Interfaces", "section": " - Index", "uri": "indices.html#element-interfaces"}, {"text": "All Interfaces", "section": " - Index", "uri": "indices.html#all-interfaces"}, {"text": "Events", "section": " - Index", "uri": "indices.html#events-2"}, {"text": "MIME Types", "section": " - Index", "uri": "indices.html#mime-types-2"}, {"text": "References", "section": "", "uri": "references.html#references"}, {"text": "Acknowledgments", "section": "", "uri": "acknowledgements.html#acknowledgments"}]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from lxml import html
import json
def strip_span(element):
"""
Strips the span tag from any element.
I've tried to use `strip_elements` from the lxml API but for some reason it strips everything
inside the parent, including the text. That's why this function exists.
"""
li = element.text_content().split()
return (' ').join(li[1:]) if len(li) > 1 else (' ').join(li)
def form_dict(link):
"""
Returns a dictionary created with scrapped data from a section link.
"""
section = link.cssselect('span')
section_text = section[0].text if section else ''
text = strip_span(link) if section else link.text_content()
parent_section = link.getparent().getparent().getparent()
parent_section_title = strip_span(parent_section.cssselect('a')[0])
if parent_section.tag == 'li':
section_text = '{0} - {1}'.format(section_text, parent_section_title)
return dict(
uri=link.get('href'),
text=text,
section=section_text,
)
def write_json(filename, data):
"""Writes the JSON file."""
with open(filename, "w") as json_file:
json_file.write(json.dumps(data))
def main():
with open('./output/dev/index.html', 'r') as file:
page_html = html.fromstring(file.read())
index = page_html.cssselect('ol.toc li a')
write_json(
'./search_index.json',
[form_dict(link) for link in index]
)
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment