UNPKG

amphtml-validator-rules

Version:
2,764 lines (2,762 loc) 331 kB
'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: "