amphtml-validator-rules
Version:
Get all the rules that the `amphtml-validator` uses.
2,764 lines (2,762 loc) • 331 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var attrLists = [
{
name: "common-link-attrs",
attrs: [
{
name: "charset",
valueCasei: [
"utf-8"
]
},
{
name: "color"
},
{
name: "crossorigin"
},
{
name: "hreflang"
},
{
name: "media"
},
{
name: "sizes"
},
{
name: "target"
},
{
name: "type"
}
]
},
{
name: "cite-attr",
attrs: [
{
blacklistedValueRegex: "__amp_source_origin",
name: "cite",
valueUrl: {
allowEmpty: true,
protocol: [
"http",
"https"
]
}
}
]
},
{
name: "track-attrs-no-subtitles",
attrs: [
{
name: "default",
value: [
""
]
},
{
name: "kind",
value: [
"captions",
"chapters",
"descriptions",
"metadata"
]
},
{
name: "label"
},
{
blacklistedValueRegex: "__amp_source_origin",
mandatory: true,
name: "src",
valueUrl: {
protocol: [
"https"
],
allowRelative: false
}
},
{
name: "srclang"
}
]
},
{
name: "track-attrs-subtitles",
attrs: [
{
name: "default",
value: [
""
]
},
{
mandatory: true,
name: "kind",
valueCasei: [
"subtitles"
]
},
{
name: "label"
},
{
blacklistedValueRegex: "__amp_source_origin",
mandatory: true,
name: "src",
valueUrl: {
protocol: [
"https"
],
allowRelative: false
}
},
{
mandatory: true,
name: "srclang"
}
]
},
{
name: "svg-conditional-processing-attributes",
attrs: [
{
name: "requiredextensions"
},
{
name: "requiredfeatures"
},
{
name: "systemlanguage"
}
]
},
{
name: "svg-core-attributes",
attrs: [
{
name: "xml:lang"
},
{
name: "xml:space"
},
{
name: "xmlns"
},
{
name: "xmlns:xlink"
}
]
},
{
name: "svg-filter-primitive-attributes",
attrs: [
{
name: "height"
},
{
name: "result"
},
{
name: "width"
},
{
name: "x"
},
{
name: "y"
}
]
},
{
name: "svg-presentation-attributes",
attrs: [
{
name: "alignment-baseline"
},
{
name: "baseline-shift"
},
{
name: "clip"
},
{
name: "clip-path"
},
{
name: "clip-rule"
},
{
name: "color"
},
{
name: "color-interpolation"
},
{
name: "color-interpolation-filters"
},
{
name: "color-profile"
},
{
name: "color-rendering"
},
{
name: "cursor"
},
{
name: "direction"
},
{
name: "display"
},
{
name: "dominant-baseline"
},
{
name: "enable-background"
},
{
name: "fill"
},
{
name: "fill-opacity"
},
{
name: "fill-rule"
},
{
name: "filter"
},
{
name: "flood-color"
},
{
name: "flood-opacity"
},
{
name: "focusable"
},
{
name: "font-family"
},
{
name: "font-size"
},
{
name: "font-size-adjust"
},
{
name: "font-stretch"
},
{
name: "font-style"
},
{
name: "font-variant"
},
{
name: "font-weight"
},
{
name: "glyph-orientation-horizontal"
},
{
name: "glyph-orientation-vertical"
},
{
name: "image-rendering"
},
{
name: "kerning"
},
{
name: "letter-spacing"
},
{
name: "lighting-color"
},
{
name: "marker-end"
},
{
name: "marker-mid"
},
{
name: "marker-start"
},
{
name: "mask"
},
{
name: "opacity"
},
{
name: "overflow"
},
{
name: "pointer-events"
},
{
name: "shape-rendering"
},
{
name: "stop-color"
},
{
name: "stop-opacity"
},
{
name: "stroke"
},
{
name: "stroke-dasharray"
},
{
name: "stroke-dashoffset"
},
{
name: "stroke-linecap"
},
{
name: "stroke-linejoin"
},
{
name: "stroke-miterlimit"
},
{
name: "stroke-opacity"
},
{
name: "stroke-width"
},
{
name: "text-anchor"
},
{
name: "text-decoration"
},
{
name: "text-rendering"
},
{
name: "unicode-bidi"
},
{
name: "vector-effect"
},
{
name: "visibility"
},
{
name: "word-spacing"
},
{
name: "writing-mode"
}
]
},
{
name: "svg-transfer-function-attributes",
attrs: [
{
name: "amplitude"
},
{
name: "exponent"
},
{
name: "intercept"
},
{
name: "offset"
},
{
name: "slope"
},
{
name: "table"
},
{
name: "tablevalues"
}
]
},
{
name: "svg-xlink-attributes",
attrs: [
{
name: "xlink:actuate"
},
{
name: "xlink:arcrole"
},
{
alternativeNames: [
"href"
],
name: "xlink:href",
valueUrl: {
allowEmpty: false,
protocol: [
"http",
"https"
]
}
},
{
name: "xlink:role"
},
{
name: "xlink:show"
},
{
name: "xlink:title"
},
{
name: "xlink:type"
}
]
},
{
name: "svg-style-attr",
attrs: [
{
blacklistedValueRegex: "!\\s*important",
name: "style",
cssDeclaration: [
{
name: "align-content"
},
{
name: "align-items"
},
{
name: "align-self"
},
{
name: "alignment-baseline"
},
{
name: "all"
},
{
name: "animation"
},
{
name: "animation-delay"
},
{
name: "animation-direction"
},
{
name: "animation-duration"
},
{
name: "animation-fill-mode"
},
{
name: "animation-iteration-count"
},
{
name: "animation-name"
},
{
name: "animation-play-state"
},
{
name: "animation-timing-function"
},
{
name: "backface-visibility"
},
{
name: "background"
},
{
name: "background-attachment"
},
{
name: "background-blend-mode"
},
{
name: "background-clip"
},
{
name: "background-color"
},
{
name: "background-image"
},
{
name: "background-origin"
},
{
name: "background-position"
},
{
name: "background-repeat"
},
{
name: "background-size"
},
{
name: "baseline-shift"
},
{
name: "border"
},
{
name: "border-bottom"
},
{
name: "border-bottom-color"
},
{
name: "border-bottom-left-radius"
},
{
name: "border-bottom-right-radius"
},
{
name: "border-bottom-style"
},
{
name: "border-bottom-width"
},
{
name: "border-collapse"
},
{
name: "border-color"
},
{
name: "border-image"
},
{
name: "border-image-outset"
},
{
name: "border-image-repeat"
},
{
name: "border-image-slice"
},
{
name: "border-image-source"
},
{
name: "border-image-width"
},
{
name: "border-left"
},
{
name: "border-left-color"
},
{
name: "border-left-style"
},
{
name: "border-left-width"
},
{
name: "border-radius"
},
{
name: "border-right"
},
{
name: "border-right-color"
},
{
name: "border-right-style"
},
{
name: "border-right-width"
},
{
name: "border-spacing"
},
{
name: "border-style"
},
{
name: "border-top"
},
{
name: "border-top-color"
},
{
name: "border-top-left-radius"
},
{
name: "border-top-right-radius"
},
{
name: "border-top-style"
},
{
name: "border-top-width"
},
{
name: "border-width"
},
{
name: "bottom"
},
{
name: "box-decoration-break"
},
{
name: "box-shadow"
},
{
name: "box-sizing"
},
{
name: "break-after"
},
{
name: "break-before"
},
{
name: "break-inside"
},
{
name: "caption-side"
},
{
name: "caret-color"
},
{
name: "clear"
},
{
name: "clip"
},
{
name: "clip-path"
},
{
name: "clip-rule"
},
{
name: "color"
},
{
name: "color-interpolation"
},
{
name: "color-interpolation-filters"
},
{
name: "color-profile"
},
{
name: "color-rendering"
},
{
name: "column-count"
},
{
name: "column-fill"
},
{
name: "column-gap"
},
{
name: "column-rule"
},
{
name: "column-rule-color"
},
{
name: "column-rule-style"
},
{
name: "column-rule-width"
},
{
name: "column-span"
},
{
name: "column-width"
},
{
name: "columns"
},
{
name: "content"
},
{
name: "counter-increment"
},
{
name: "counter-reset"
},
{
name: "cursor"
},
{
name: "direction"
},
{
name: "display"
},
{
name: "dominant-baseline"
},
{
name: "empty-cells"
},
{
name: "enable-background"
},
{
name: "fill"
},
{
name: "fill-opacity"
},
{
name: "fill-rule"
},
{
name: "filter"
},
{
name: "flex"
},
{
name: "flex-basis"
},
{
name: "flex-direction"
},
{
name: "flex-flow"
},
{
name: "flex-grow"
},
{
name: "flex-shrink"
},
{
name: "flex-wrap"
},
{
name: "float"
},
{
name: "flood-color"
},
{
name: "flood-opacity"
},
{
name: "font"
},
{
name: "font-family"
},
{
name: "font-feature-settings"
},
{
name: "font-kerning"
},
{
name: "font-language-override"
},
{
name: "font-size"
},
{
name: "font-size-adjust"
},
{
name: "font-stretch"
},
{
name: "font-style"
},
{
name: "font-synthesis"
},
{
name: "font-variant"
},
{
name: "font-variant-alternates"
},
{
name: "font-variant-caps"
},
{
name: "font-variant-east-asian"
},
{
name: "font-variant-ligatures"
},
{
name: "font-variant-numeric"
},
{
name: "font-variant-position"
},
{
name: "font-weight"
},
{
name: "glyph-orientation-horizontal"
},
{
name: "glyph-orientation-vertical"
},
{
name: "grid"
},
{
name: "grid-area"
},
{
name: "grid-auto-columns"
},
{
name: "grid-auto-flow"
},
{
name: "grid-auto-rows"
},
{
name: "grid-column"
},
{
name: "grid-column-end"
},
{
name: "grid-column-gap"
},
{
name: "grid-column-start"
},
{
name: "grid-gap"
},
{
name: "grid-row"
},
{
name: "grid-row-end"
},
{
name: "grid-row-gap"
},
{
name: "grid-row-start"
},
{
name: "grid-template"
},
{
name: "grid-template-areas"
},
{
name: "grid-template-columns"
},
{
name: "grid-template-rows"
},
{
name: "hanging-punctuation"
},
{
name: "height"
},
{
name: "hyphens"
},
{
name: "image-rendering"
},
{
name: "isolation"
},
{
name: "justify-content"
},
{
name: "kerning"
},
{
name: "left"
},
{
name: "letter-spacing"
},
{
name: "lighting-color"
},
{
name: "line-break"
},
{
name: "line-height"
},
{
name: "list-style"
},
{
name: "list-style-image"
},
{
name: "list-style-position"
},
{
name: "list-style-type"
},
{
name: "margin"
},
{
name: "margin-bottom"
},
{
name: "margin-left"
},
{
name: "margin-right"
},
{
name: "margin-top"
},
{
name: "marker"
},
{
name: "marker-end"
},
{
name: "marker-mid"
},
{
name: "marker-start"
},
{
name: "mask"
},
{
name: "max-height"
},
{
name: "max-width"
},
{
name: "min-height"
},
{
name: "min-width"
},
{
name: "mix-blend-mode"
},
{
name: "object-fit"
},
{
name: "object-position"
},
{
name: "opacity"
},
{
name: "order"
},
{
name: "orphans"
},
{
name: "outline"
},
{
name: "outline-color"
},
{
name: "outline-offset"
},
{
name: "outline-style"
},
{
name: "outline-width"
},
{
name: "overflow"
},
{
name: "overflow-wrap"
},
{
name: "overflow-x"
},
{
name: "overflow-y"
},
{
name: "padding"
},
{
name: "padding-bottom"
},
{
name: "padding-left"
},
{
name: "padding-right"
},
{
name: "padding-top"
},
{
name: "page-break-after"
},
{
name: "page-break-before"
},
{
name: "page-break-inside"
},
{
name: "perspective"
},
{
name: "perspective-origin"
},
{
name: "pointer-events"
},
{
name: "position",
valueCasei: [
"absolute",
"inherit",
"initial",
"relative",
"static"
]
},
{
name: "quotes"
},
{
name: "resize"
},
{
name: "right"
},
{
name: "shape-rendering"
},
{
name: "stop-color"
},
{
name: "stop-opacity"
},
{
name: "stroke"
},
{
name: "stroke-dasharray"
},
{
name: "stroke-dashoffset"
},
{
name: "stroke-linecap"
},
{
name: "stroke-linejoin"
},
{
name: "stroke-miterlimit"
},
{
name: "stroke-opacity"
},
{
name: "stroke-width"
},
{
name: "tab-size"
},
{
name: "table-layout"
},
{
name: "text-align"
},
{
name: "text-align-last"
},
{
name: "text-anchor"
},
{
name: "text-combine-upright"
},
{
name: "text-decoration"
},
{
name: "text-decoration-color"
},
{
name: "text-decoration-line"
},
{
name: "text-decoration-style"
},
{
name: "text-indent"
},
{
name: "text-justify"
},
{
name: "text-orientation"
},
{
name: "text-overflow"
},
{
name: "text-rendering"
},
{
name: "text-shadow"
},
{
name: "text-transform"
},
{
name: "text-underline-position"
},
{
name: "top"
},
{
name: "transform"
},
{
name: "transform-origin"
},
{
name: "transform-style"
},
{
name: "transition"
},
{
name: "transition-delay"
},
{
name: "transition-duration"
},
{
name: "transition-property"
},
{
name: "transition-timing-function"
},
{
name: "unicode-bidi"
},
{
name: "user-select"
},
{
name: "vertical-align"
},
{
name: "visibility"
},
{
name: "white-space"
},
{
name: "widows"
},
{
name: "width"
},
{
name: "word-break"
},
{
name: "word-spacing"
},
{
name: "word-wrap"
},
{
name: "writing-mode"
},
{
name: "z-index"
}
]
}
]
},
{
name: "input-common-attr",
attrs: [
{
name: "accept"
},
{
name: "accesskey"
},
{
name: "autocomplete"
},
{
name: "autofocus"
},
{
name: "checked"
},
{
name: "disabled"
},
{
name: "height"
},
{
name: "inputmode"
},
{
name: "list"
},
{
name: "max"
},
{
name: "maxlength"
},
{
name: "min"
},
{
name: "minlength"
},
{
name: "multiple"
},
{
name: "pattern"
},
{
name: "placeholder"
},
{
name: "readonly"
},
{
name: "required"
},
{
name: "selectiondirection"
},
{
name: "size"
},
{
name: "spellcheck"
},
{
name: "step"
},
{
name: "tabindex"
},
{
name: "value"
},
{
name: "width"
},
{
name: "[accept]"
},
{
name: "[accesskey]"
},
{
name: "[autocomplete]"
},
{
name: "[checked]"
},
{
name: "[disabled]"
},
{
name: "[height]"
},
{
name: "[inputmode]"
},
{
name: "[max]"
},
{
name: "[maxlength]"
},
{
name: "[min]"
},
{
name: "[minlength]"
},
{
name: "[multiple]"
},
{
name: "[pattern]"
},
{
name: "[placeholder]"
},
{
name: "[readonly]"
},
{
name: "[required]"
},
{
name: "[selectiondirection]"
},
{
name: "[size]"
},
{
name: "[spellcheck]"
},
{
name: "[step]"
},
{
name: "[value]"
},
{
name: "[width]"
}
]
},
{
name: "mandatory-src-or-srcset",
attrs: [
{
alternativeNames: [
"srcset"
],
mandatory: true,
name: "src",
blacklistedValueRegex: "__amp_source_origin",
valueUrl: {
protocol: [
"data",
"http",
"https"
]
}
}
]
},
{
name: "mandatory-src-amp4email",
attrs: [
{
blacklistedValueRegex: "__amp_source_origin|(.|\\s){{|}}(.|\\s)|^{{.*[^}][^}]$|^[^{][^{].*}}$|^}}|{{$|{{#|{{/|{{\\^",
mandatory: true,
name: "src",
valueUrl: {
protocol: [
"https"
],
allowRelative: false
}
}
]
},
{
name: "optional-src-amp4email",
attrs: [
{
blacklistedValueRegex: "__amp_source_origin|(.|\\s){{|}}(.|\\s)|^{{.*[^}][^}]$|^[^{][^{].*}}$|^}}|{{$|{{#|{{/|{{\\^",
name: "src",
valueUrl: {
protocol: [
"https"
],
allowRelative: false
}
}
]
},
{
name: "extended-amp-global",
attrs: [
{
enabledBy: [
"transformed"
],
name: "i-amphtml-layout",
valueCasei: [
"container",
"fill",
"fixed",
"fixed-height",
"flex-item",
"fluid",
"intrinsic",
"nodisplay",
"responsive"
]
},
{
name: "media"
},
{
name: "noloading",
value: [
""
]
}
]
},
{
name: "$AMP_LAYOUT_ATTRS",
attrs: [
{
name: "height"
},
{
name: "heights"
},
{
name: "layout"
},
{
name: "sizes"
},
{
name: "width"
},
{
name: "[height]"
},
{
name: "[width]"
}
]
},
{
name: "common-extension-attrs",
attrs: [
{
mandatory: true,
name: "async",
value: [
""
]
},
{
name: "nonce",
disabledBy: [
"transformed"
]
},
{
name: "type",
valueCasei: [
"text/javascript"
]
}
]
},
{
name: "mandatory-id-attr",
attrs: [
{
blacklistedValueRegex: "(^|\\s)(__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|\\$p|\\$proxy|acceptCharset|addEventListener|appendChild|assignedSlot|attachShadow|AMP|baseURI|checkValidity|childElementCount|childNodes|classList|className|clientHeight|clientLeft|clientTop|clientWidth|compareDocumentPosition|computedName|computedRole|contentEditable|createShadowRoot|enqueAction|firstChild|firstElementChild|getAnimations|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getBoundingClientRect|getClientRects|getDestinationInsertionPoints|getElementsByClassName|getElementsByTagName|getElementsByTagNameNS|getRootNode|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasPointerCapture|i-amphtml-\\S*|innerHTML|innerText|inputMode|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|isContentEditable|isDefaultNamespace|isEqualNode|isSameNode|lastChild|lastElementChild|lookupNamespaceURI|namespaceURI|nextElementSibling|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|outerHTML|outerText|ownerDocument|parentElement|parentNode|previousElementSibling|previousSibling|querySelector|querySelectorAll|releasePointerCapture|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|reportValidity|requestPointerLock|scrollHeight|scrollIntoView|scrollIntoViewIfNeeded|scrollLeft|scrollWidth|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|setPointerCapture|shadowRoot|styleMap|tabIndex|tagName|textContent|toString|valueOf|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)MatchesSelector|(webkit|moz|ms|o)RequestFullScreen|(webkit|moz|ms|o)RequestFullscreen)(\\s|$)",
mandatory: true,
name: "id"
}
]
},
{
name: "form-name-attr",
attrs: [
{
blacklistedValueRegex: "(^|\\s)(ATTRIBUTE_NODE|CDATA_SECTION_NODE|COMMENT_NODE|DOCUMENT_FRAGMENT_NODE|DOCUMENT_NODE|DOCUMENT_POSITION_CONTAINED_BY|DOCUMENT_POSITION_CONTAINS|DOCUMENT_POSITION_DISCONNECTED|DOCUMENT_POSITION_FOLLOWING|DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|DOCUMENT_POSITION_PRECEDING|DOCUMENT_TYPE_NODE|ELEMENT_NODE|ENTITY_NODE|ENTITY_REFERENCE_NODE|NOTATION_NODE|PROCESSING_INSTRUCTION_NODE|TEXT_NODE|URL|URLUnencoded|__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|activeElement|addEventListener|adoptNode|alinkColor|all|anchors|append|appendChild|applets|baseURI|bgColor|body|captureEvents|caretPositionFromPoint|caretRangeFromPoint|characterSet|charset|childElementCount|childNodes|children|clear|cloneNode|close|compareDocumentPosition|compatMode|constructor|contains|contentType|cookie|createAttribute|createAttributeNS|createCDATASection|createComment|createDocumentFragment|createElement|createElementNS|createEvent|createExpression|createNSResolver|createNodeIterator|createProcessingInstruction|createRange|createTextNode|createTreeWalker|currentScript|defaultView|designMode|dir|dispatchEvent|doctype|documentElement|documentURI|domain|elementFromPoint|elementsFromPoint|embeds|enableStyleSheetsForSet|evaluate|execCommand|execCommandShowHelp|exitFullscreen|exitPictureInPicture|exitPointerLock|fgColor|firstChild|firstElementChild|focus|fonts|forms|fullscreen|fullscreenElement|fullscreenEnabled|getCSSCanvasContext|getElementById|getElementsByClassName|getElementsByName|getElementsByTagName|getElementsByTagNameNS|getOverrideStyle|getRootNode|getSelection|hasChildNodes|hasFocus|hasOwnProperty|hasStorageAccess|head|hidden|images|implementation|importNode|inputEncoding|insertBefore|isConnected|isDefaultNamespace|isEqualNode|isPrototypeOf|isSameNode|l10n|lastChild|lastElementChild|lastModified|lastStyleSheetSet|linkColor|links|location|lookupNamespaceURI|lookupPrefix|mozCancelFullScreen|mozFullScreen|mozFullScreenElement|mozFullScreenEnabled|mozSetImageElement|msCSSOMElementFloatMetrics|msCapsLockWarningOff|msElementsFromPoint|msElementsFromRect|nextSibling|nodeName|nodeType|nodeValue|normalize|onabort|onactivate|onafterscriptexecute|onanimationcancel|onanimationend|onanimationiteration|onanimationstart|onauxclick|onbeforeactivate|onbeforecopy|onbeforecut|onbeforedeactivate|onbeforeinput|onbeforepaste|onbeforescriptexecute|onblur|oncancel|oncanplay|oncanplaythrough|onchange|onclick|onclose|oncontextmenu|oncopy|oncuechange|oncut|ondblclick|ondeactivate|ondrag|ondragend|ondragenter|ondragexit|ondragleave|ondragover|ondragstart|ondrop|ondurationchange|onemptied|onended|onerror|onfocus|onfreeze|onfullscreenchange|onfullscreenerror|ongotpointercapture|oninput|oninvalid|onkeydown|onkeypress|onkeyup|onload|onloadeddata|onloadedmetadata|onloadend|onloadstart|onlostpointercapture|onmousedown|onmouseenter|onmouseleave|onmousemove|onmouseout|onmouseover|onmouseup|onmousewheel|onmozfullscreenchange|onmozfullscreenerror|onmscontentzoom|onmsgesturechange|onmsgesturedoubletap|onmsgestureend|onmsgesturehold|onmsgesturestart|onmsgesturetap|onmsinertiastart|onmsmanipulationstatechanged|onmssitemodejumplistitemremoved|onmsthumbnailclick|onpaste|onpause|onplay|onplaying|onpointercancel|onpointerdown|onpointerenter|onpointerleave|onpointerlockchange|onpointerlockerror|onpointermove|onpointerout|onpointerover|onpointerup|onprogress|onratechange|onreadystatechange|onrejectionhandled|onreset|onresize|onresume|onscroll|onsearch|onseeked|onseeking|onselect|onselectionchange|onselectstart|onshow|onstalled|onstop|onsubmit|onsuspend|ontimeupdate|ontoggle|ontransitioncancel|ontransitionend|ontransitionrun|ontransitionstart|onunhandledrejection|onvisibilitychange|onvolumechange|onwaiting|onwebkitanimationend|onwebkitanimationiteration|onwebkitanimationstart|onwebkitfullscreenchange|onwebkitfullscreenerror|onwebkitmouseforcechanged|onwebkitmouseforcedown|onwebkitmouseforceup|onwebkitmouseforcewillbegin|onwebkittransitionend|onwheel|open|origin|ownerDocument|parentElement|parentNode|pictureInPictureElement|pictureInPictureEnabled|plugins|pointerLockElement|preferredStyleSheetSet|prepend|previousSibling|propertyIsEnumerable|queryCommandEnabled|queryCommandIndeterm|queryCommandState|queryCommandSupported|queryCommandText|queryCommandValue|querySelector|querySelectorAll|readyState|referrer|registerElement|releaseCapture|releaseEvents|removeChild|removeEventListener|replaceChild|requestStorageAccess|rootElement|scripts|scrollingElement|selectedStyleSheetSet|styleSheetSets|styleSheets|textContent|title|toLocaleString|toSource|toString|updateSettings|valueOf|visibilityState|vlinkColor|wasDiscarded|webkitCancelFullScreen|webkitCurrentFullScreenElement|webkitExitFullscreen|webkitFullScreenKeyboardInputAllowed|webkitFullscreenElement|webkitFullscreenEnabled|webkitHidden|webkitIsFullScreen|webkitVisibilityState|write|writeln|xmlEncoding|xmlStandalone|xmlVersion)(\\s|$)",
name: "name"
}
]
},
{
name: "name-attr",
attrs: [
{
blacklistedValueRegex: "(^|\\s)(__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|\\$p|\\$proxy|acceptCharset|addEventListener|appendChild|assignedSlot|attachShadow|baseURI|checkValidity|childElementCount|childNodes|classList|className|clientHeight|clientLeft|clientTop|clientWidth|compareDocumentPosition|computedName|computedRole|contentEditable|createShadowRoot|enqueAction|firstChild|firstElementChild|getAnimations|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getBoundingClientRect|getClientRects|getDestinationInsertionPoints|getElementsByClassName|getElementsByTagName|getElementsByTagNameNS|getRootNode|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasPointerCapture|innerHTML|innerText|inputMode|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|isContentEditable|isDefaultNamespace|isEqualNode|isSameNode|lastChild|lastElementChild|lookupNamespaceURI|namespaceURI|nextElementSibling|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|outerHTML|outerText|ownerDocument|parentElement|parentNode|previousElementSibling|previousSibling|querySelector|querySelectorAll|releasePointerCapture|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|reportValidity|requestPointerLock|scrollHeight|scrollIntoView|scrollIntoViewIfNeeded|scrollLeft|scrollWidth|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|setPointerCapture|shadowRoot|styleMap|tabIndex|tagName|textContent|toString|valueOf|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)MatchesSelector|(webkit|moz|ms|o)RequestFullScreen|(webkit|moz|ms|o)RequestFullscreen)(\\s|$)",
name: "name"
}
]
},
{
name: "mandatory-name-attr",
attrs: [
{
blacklistedValueRegex: "(^|\\s)(__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|\\$p|\\$proxy|acceptCharset|addEventListener|appendChild|assignedSlot|attachShadow|baseURI|checkValidity|childElementCount|childNodes|classList|className|clientHeight|clientLeft|clientTop|clientWidth|compareDocumentPosition|computedName|computedRole|contentEditable|createShadowRoot|enqueAction|firstChild|firstElementChild|getAnimations|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getBoundingClientRect|getClientRects|getDestinationInsertionPoints|getElementsByClassName|getElementsByTagName|getElementsByTagNameNS|getRootNode|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasPointerCapture|innerHTML|innerText|inputMode|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|isContentEditable|isDefaultNamespace|isEqualNode|isSameNode|lastChild|lastElementChild|lookupNamespaceURI|namespaceURI|nextElementSibling|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|outerHTML|outerText|ownerDocument|parentElement|parentNode|previousElementSibling|previousSibling|querySelector|querySelectorAll|releasePointerCapture|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|reportValidity|requestPointerLock|scrollHeight|scrollIntoView|scrollIntoViewIfNeeded|scrollLeft|scrollWidth|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|setPointerCapture|shadowRoot|styleMap|tabIndex|tagName|textContent|toString|valueOf|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)MatchesSelector|(webkit|moz|ms|o)RequestFullScreen|(webkit|moz|ms|o)RequestFullscreen)(\\s|$)",
mandatory: true,
name: "name"
}
]
},
{
name: "$GLOBAL_ATTRS",
attrs: [
{
name: "itemid"
},
{
name: "itemprop"
},
{
name: "itemref"
},
{
name: "itemscope"
},
{
name: "itemtype"
},
{
name: "about"
},
{
name: "content"
},
{
name: "datatype"
},
{
name: "inlist"
},
{
name: "prefix"
},
{
name: "property"
},
{
blacklistedValueRegex: "(^|\\s)(canonical|components|dns-prefetch|import|manifest|preconnect|preload|prerender|serviceworker|stylesheet|subresource)(\\s|$)",
name: "rel"
},
{
name: "resource"
},
{
name: "rev"
},
{
blacklistedValueRegex: "(!\\s*important|<!--)",
name: "style",
cssDeclaration: [
{
name: "align-content"
},
{
name: "align-items"
},
{
name: "align-self"
},
{
name: "all"
},
{
name: "animation"
},
{
name: "animation-delay"
},
{
name: "animation-direction"
},
{
name: "animation-duration"
},
{
name: "animation-fill-mode"
},
{
name: "animation-iteration-count"
},
{
name: "animation-name"
},
{
name: "animation-play-state"
},
{
name: "animation-timing-function"
},
{
name: "backface-visibility"
},
{
name: "background"
},
{
name: "background-attachment"
},
{
name: "background-blend-mode"
},
{
name: "background-clip"
},
{
name: "background-color"
},
{
name: "background-image"
},
{
name: "background-origin"
},
{
name: "background-position"
},
{
name: "background-repeat"
},
{
name: "background-size"
},
{
name: "border"
},
{
name: "border-bottom"
},
{
name: "border-bottom-color"
},
{
name: "border-bottom-left-radius"
},
{
name: "border-bottom-right-radius"
},
{
name: "border-bottom-style"
},
{
name: "border-bottom-width"
},
{
name: "border-collapse"
},
{
name: "border-color"
},
{
name: "border-image"
},
{
name: "border-image-outset"
},
{
name: "border-image-repeat"
},
{
name: "border-image-slice"
},
{
name: "border-image-source"
},
{
name: "border-image-width"
},
{
name: "border-left"
},
{
name: "border-left-color"
},
{
name: "border-left-style"
},
{
name: "border-left-width"
},
{
name: "border-radius"
},
{
name: "border-right"
},
{
name: "border-right-color"
},
{
name: "border-right-style"
},
{
name: "border-right-width"
},
{
name: "border-spacing"
},
{
name: "border-style"
},
{
name: "border-top"
},
{
name: "border-top-color"
},
{
name: "border-top-left-radius"
},
{
name: "border-top-right-radius"
},
{
name: "border-top-style"
},
{
name: "border-top-width"
},
{
name: "border-width"
},
{
name: "bottom"
},
{
name: "box-decoration-break"
},
{
name: "box-shadow"
},
{
name: "box-sizing"
},
{
name: "break-after"
},
{
name: "break-before"
},
{
name: "break-inside"
},
{
name: "caption-side"
},
{
name: "caret-color"
},
{
name: "clear"
},
{
name: "clip"
},
{
name: "color"
},
{
name: "column-count"
},
{
name: "column-fill"
},
{
name: "column-gap"
},
{
name: "column-rule"
},
{
name: "column-rule-color"
},
{
name: "column-rule-style"
},
{
name: "column-rule-width"
},
{
name: "column-span"
},
{
name: "column-width"
},
{
name: "columns"
},
{
name: "content"
},
{
name: "counter-increment"
},
{
name: "counter-reset"
},
{
name: "cursor"
},
{
name: "direction"
},
{
name: "display"
},
{
name: "empty-cells"
},
{
name: "filter"
},
{
name: "flex"
},
{
name: "flex-basis"
},
{
name: "flex-direction"
},
{
name: "flex-flow"
},
{
name: "flex-grow"
},
{
name: "flex-shrink"
},
{
name: "flex-wrap"
},
{
name: "float"
},
{
name: "font"
},
{
name: "font-family"
},
{
name: "font-feature-settings"
},
{
name: "font-kerning"
},
{
name: "font-language-override"
},
{
name: "font-size"
},
{
name: "font-size-adjust"
},
{
name: "font-stretch"
},
{
name: "font-style"
},
{
name: "font-synthesis"
},
{
name: "font-variant"
},
{
name: "font-variant-alternates"
},
{
name: "font-variant-caps"
},
{
name: "font-variant-east-asian"
},
{
name: "font-variant-ligatures"
},
{
name: "font-variant-numeric"
},
{
name: "font-variant-position"
},
{
name: "font-weight"
},
{
name: "grid"
},
{
name: "grid-area"
},
{
name: "grid-auto-columns"
},
{
name: "grid-auto-flow"
},
{
name: "grid-auto-rows"
},
{
name: "grid-column"
},
{
name: "grid-column-end"
},
{
name: "grid-column-gap"
},
{
name: "grid-column-start"
},
{
name: "grid-gap"
},
{
name: "grid-row"
},
{
name: "grid-row-end"
},
{
name: "grid-row-gap"
},
{
name: "grid-row-start"
},
{
name: "grid-template"
},
{
name: "grid-template-areas"
},
{
name: "grid-template-columns"
},
{
name: "grid-template-rows"
},
{
name: "hanging-punctuation"
},
{
name: "height"
},
{
name: "hyphens"
},
{
name: "image-rendering"
},
{
name: "isolation"
},
{
name: "justify-content"
},
{
name: "left"
},
{
name: "letter-spacing"
},
{
name: "line-break"
},
{
name: "line-height"
},
{
name: "list-style"
},
{
name: "list-style-image"
},
{
name: "list-style-position"
},
{
name: "list-style-type"
},
{
name: "margin"
},
{
name: "margin-bottom"
},
{
name: "margin-left"
},
{
name: "margin-right"
},
{
name: "margin-top"
},
{
name: "max-height"
},
{
name: "max-width"
},
{
name: "min-height"
},
{
name: "min-width"
},
{
name: "mix-blend-mode"
},
{
name: "object-fit"
},
{
name: "object-position"
},
{
name: "opacity"
},
{
name: "order"
},
{
name: "orphans"
},
{
name: "outline"
},
{
name: "outline-color"
},
{
name: "outline-offset"
},
{
name: "outline-style"
},
{
name: "outline-width"
},
{
name: "overflow"
},
{
name: "overflow-wrap"
},
{
name: "overflow-x"
},
{
name: "overflow-y"
},
{
name: "padding"
},
{
name: "padding-bottom"
},
{
name: "padding-left"
},
{
name: "padding-right"
},
{
name: "padding-top"
},
{
name: "page-break-after"
},
{
name: "page-break-before"
},
{
name: "page-break-inside"
},
{
name: "perspective"
},
{
name: "perspective-origin"
},
{
name: "pointer-events"
},
{
name: "position",
valueCasei: [
"absolute",
"inherit",
"initial",
"relative",
"static"
]
},
{
name: "quotes"
},
{
name: "resize"
},
{
name: "right"
},
{
name: "tab-size"
},
{
name: "table-layout"
},
{
name: "text-align"
},
{
name: "text-align-last"
},
{
name: "text-combine-upright"
},
{
name: "text-decoration"
},
{
name: "text-decoration-color"
},
{
name: "text-decoration-line"
},
{
name: "text-decoration-style"
},
{
name: "text-indent"
},
{
name: "text-justify"
},
{
name: "text-orientation"
},
{
name: "text-overflow"
},
{
name: "text-shadow"
},
{
name: "text-transform"
},
{
name: "text-underline-position"
},
{
name: "top"
},
{
name: "transform"
},
{
name: "transform-origin"
},
{
name: "transform-style"
},
{
name: "transition"
},
{
name: "transition-delay"
},
{
name: "transition-duration"
},
{
name: "transition-property"
},
{
name: "transition-timing-function"
},
{
name: "unicode-bidi"
},
{
name: "user-select"
},
{
name: "vertical-align"
},
{
name: "visibility"
},
{
name: "white-space"
},
{
name: "widows"
},
{
name: "width"
},
{
name: "word-break"
},
{
name: "word-spacing"
},
{
name: "word-wrap"
},
{
name: "writing-mode"
},
{
name: "z-index"
}
]
},
{
name: "typeof"
},
{
name: "vocab"
},
{
name: "accesskey"
},
{
blacklistedValueRegex: "(^|\\W)i-amphtml-",
name: "class",
disabledBy: [
"transformed"
]
},
{
name: "dir"
},
{
name: "draggable"
},
{
name: "hidden",
value: [
""
]
},
{
blacklistedValueRegex: "(^|\\s)(__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|\\$p|\\$proxy|acceptCharset|addEventListener|appendChild|assignedSlot|attachShadow|AMP|baseURI|checkValidity|childElementCount|childNodes|classList|className|clientHeight|clientLeft|clientTop|clientWidth|compareDocumentPosition|computedName|computedRole|contentEditable|createShadowRoot|enqueAction|firstChild|firstElementChild|getAnimations|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getBoundingClientRect|getClientRects|getDestinationInsertionPoints|getElementsByClassName|getElementsByTagName|getElementsByTagNameNS|getRootNode|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasPointerCapture|i-amphtml-\\S*|innerHTML|innerText|inputMode|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|isContentEditable|isDefaultNamespace|isEqualNode|isSameNode|lastChild|lastElementChild|lookupNamespaceURI|namespaceURI|nextElementSibling|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|outerHTML|outerText|ownerDocument|parentElement|parentNode|previousElementSibling|previousSibling|querySelector|querySelectorAll|releasePointerCapture|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|reportValidity|requestPointerLock|scrollHeight|scrollIntoView|scrollIntoViewIfNeeded|scrollLeft|scrollWidth|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|setPointerCapture|shadowRoot|styleMap|tabIndex|tagName|textContent|toString|valueOf|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)MatchesSelector|(webkit|moz|ms|o)RequestFullScreen|(webkit|moz|ms|o)RequestFullscreen)(\\s|$)",
name: "id"
},
{
name: "lang"
},
{
name: "slot"
},
{
name: "tabindex"
},
{
name: "title"
},
{
name: "translate"
},
{
name: "aria-activedescendant"
},
{
name: "aria-atomic"
},
{
name: "aria-autocomplete"
},
{
name: "aria-busy"
},
{
name: "aria-checked"
},
{
name: "aria-controls"
},
{
name: "aria-current"
},
{
name: "aria-describedby"
},
{
name: "aria-disabled"
},
{
name: "aria-dropeffect"
},
{
name: "aria-expanded"
},
{
name: "aria-flowto"
},
{
name: "aria-grabbed"
},
{
name: "aria-haspopup"
},
{
name: "aria-hidden"
},
{
name: "aria-invalid"
},
{
name: "aria-label"
},
{
name: "aria-labelledby"
},
{
name: "aria-level"
},
{
name: "aria-live"
},
{
name: "aria-multiline"
},
{
name: "aria-multiselectable"
},
{
name: "aria-orientation"
},
{
name: "aria-owns"
},
{
name: "aria-posinset"
},
{
name: "aria-pressed"
},
{
name: "aria-readonly"
},
{
name: "aria-relevant"
},
{
name: "aria-required"
},
{
name: "aria-selected"
},
{
name: "aria-setsize"
},
{
name: "aria-sort"
},
{
name: "aria-valuemax"
},
{
name: "aria-valuemin"
},
{
name: "aria-valuenow"
},
{
name: "aria-valuetext"
},
{
trigger: {
alsoRequiresAttr: [
"role",
"tabindex"
],
ifValueRegex: "tap:.*"
},
name: "on"
},
{
name: "role"
},
{
name: "placeholder",
value: [
""
]
},
{
name: "fallback",
value: [
""
]
},
{
name: "overflow"
},
{
name: "amp-access"
},
{
name: "amp-access-behavior"
},
{
name: "amp-access-hide"
},
{
name: "amp-access-id"
},
{
name: "amp-access-loader"
},
{
name: "amp-access-loading"
},
{
name: "amp-access-off"
},
{
name: "amp-access-on"
},
{
name: "amp-access-show"
},
{
name: "amp-access-style"
},
{
name: "amp-access-template"
},
{
name: "i-amp-access-id"
},
{
trigger: {
alsoRequiresAttr: [
"visible-when-invalid"
]
},
name: "validation-for"
},
{
trigger: {
alsoRequiresAttr: [
"validation-for"
]
},
name: "visible-when-invalid",
value: [
"badInput",
"customError",
"patternMismatch",
"rangeOverflow",
"rangeUnderflow",
"stepMismatch",
"tooLong",
"typeMismatch",
"valueMissing"
]
},
{
requiresExtension: [
"amp-fx-collection"
],
name: "amp-fx",
valueRegexCasei: "(fade-in|fade-in-scroll|float-in-bottom|float-in-top|fly-in-bottom|fly-in-left|fly-in-right|fly-in-top|parallax)(\\s|fade-in|fade-in-scroll|float-in-bottom|float-in-top|fly-in-bottom|fly-in-left|fly-in-right|fly-in-top|parallax)*"
},
{
requiresExtension: [
"amp-subscriptions"
],
name: "subscriptions-action"
},
{
requiresExtension: [
"amp-subscriptions"
],
name: "subscriptions-actions",
value: [
""
]
},
{
requiresExtension: [
"amp-subscriptions"
],
name: "subscriptions-decorate"
},
{
requiresExtension: [
"amp-subscriptions"
],
name: "subscriptions-dialog",
value: [
""
]
},
{
requiresExtension: [
"amp-subscriptions"
],
name: "subscriptions-display"
},
{
requiresExtension: [
"amp-subscriptions"
],
name: "subscriptions-section",
valueCasei: [
"actions",
"content",
"content-not-granted",
"loading"
]
},
{
requiresExtension: [
"amp-subscriptions"
],
name: "subscriptions-service"
},
{
name: "[aria-activedescendant]"
},
{
name: "[aria-atomic]"
},
{
name: "[aria-autocomplete]"
},
{
name: "[aria-busy]"
},
{
name: "[aria-checked]"
},
{
name: "[aria-controls]"
},
{
name: "[aria-describedby]"
},
{
name: "[aria-disabled]"
},
{
name: "[aria-dropeffect]"
},
{
name: "[aria-expanded]"
},
{
name: "[aria-flowto]"
},
{
name: "[aria-grabbed]"
},
{
name: "[aria-haspopup]"
},
{
name: "[aria-hidden]"
},
{
name: "[aria-invalid]"
},
{
name: "[aria-label]"
},
{
name: "[aria-labelledby]"
},
{
name: "[aria-level]"
},
{
name: "[aria-live]"
},
{
name: "[aria-multiline]"
},
{
name: "[aria-multiselectable]"
},
{
name: "[aria-orientation]"
},
{
name: "[aria-owns]"
},
{
name: "[aria-posinset]"
},
{
name: "[aria-pressed]"
},
{
name: "[aria-readonly]"
},
{
name: "[aria-relevant]"
},
{
name: "[aria-required]"
},
{
name: "[aria-selected]"
},
{
name: "[aria-setsize]"
},
{
name: "[aria-sort]"
},
{
name: "[aria-valuemax]"
},
{
name: "[aria-valuemin]"
},
{
name: "[aria-valuenow]"
},
{
name: "[aria-valuetext]"
},
{
name: "[class]"
},
{
name: "[hidden]"
},
{
name: "[text]"
},
{
name: "autoscroll",
requiresAncestor: {
marker: [
"AUTOSCROLL"
]
}
}
]
},
{
name: "amp-audio-common",
attrs: [
{
name: "album"
},
{
name: "artist"
},
{
name: "artwork"
},
{
name: "controls"
},
{
name: "controlslist"
},
{
name: "loop",
value: [
""
]
},
{
name: "muted",
value: [
""
]
},
{
blacklistedValueRegex: "__amp_source_origin",
name: "src",
valueUrl: {
protocol: [
"https"
],
allowRelative: true
}
}
]
},
{
name: "amp-base-carousel-common",
attrs: [
{
name: "advance-count",
valueRegex: "([^,]+\\s+(-?\\d+),\\s*)*(-?\\d+)"
},
{
name: "auto-advance",
valueRegex: "([^,]+\\s+(true|false),\\s*)*(true|false)"
},
{
name: "auto-advance-count",
valueRegex: "([^,]+\\s+(-?\\d+),\\s*)*(-?\\d+)"
},
{
name: "auto-advance-interval",
valueRegex: "([^,]+\\s+(\\d+),\\s*)*(\\d+)"
},
{
name: "auto-advance-loops",
valueRegex: "([^,]+\\s+(\\d+),\\s*)*(\\d+)"
},
{
name: "horizontal",
valueRegex: "([^,]+\\s+(true|false),\\s*)*(true|false)"
},
{
name: "loop",
valueRegex: "([^,]+\\s+(true|false),\\s*)*(true|false)"
},
{
name: "mixed-length",
valueRegex: "