@svelte-vitals/core 0.45.0 → 0.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-BCJZO532.js → chunk-M7RA6QQW.js} +849 -105
- package/dist/{index-DbUx4tlY.d.ts → index-Cx3Mi_d4.d.ts} +466 -365
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/internal.d.ts +73 -6
- package/dist/internal.js +70 -1
- package/package.json +4 -2
|
@@ -34,21 +34,21 @@ function isPenalized(detection, treatDynamicAs) {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
// src/summary.ts
|
|
37
|
-
function classify(
|
|
38
|
-
if (isPenalized(
|
|
39
|
-
if (
|
|
37
|
+
function classify(result4, config) {
|
|
38
|
+
if (isPenalized(result4.detection, config.treatDynamicAs)) return "fail";
|
|
39
|
+
if (result4.detection.value === "dynamic") return "dynamic";
|
|
40
40
|
return "pass";
|
|
41
41
|
}
|
|
42
|
-
function effectiveSeverity(
|
|
43
|
-
if (
|
|
44
|
-
return
|
|
42
|
+
function effectiveSeverity(result4, config) {
|
|
43
|
+
if (result4.detection.value === "dynamic" && config.treatDynamicAs === "warn") return "warning";
|
|
44
|
+
return result4.severity;
|
|
45
45
|
}
|
|
46
46
|
function summarize(results, config) {
|
|
47
47
|
const summary = { critical: 0, warning: 0, info: 0, passed: 0, dynamic: 0 };
|
|
48
|
-
for (const
|
|
49
|
-
const cls = classify(
|
|
48
|
+
for (const result4 of results) {
|
|
49
|
+
const cls = classify(result4, config);
|
|
50
50
|
if (cls === "fail") {
|
|
51
|
-
summary[effectiveSeverity(
|
|
51
|
+
summary[effectiveSeverity(result4, config)] += 1;
|
|
52
52
|
} else {
|
|
53
53
|
summary.passed += 1;
|
|
54
54
|
if (cls === "dynamic") summary.dynamic += 1;
|
|
@@ -637,9 +637,9 @@ function formatFailedRuleWarning(f) {
|
|
|
637
637
|
return `rule ${f.id} failed and was skipped: ${f.message.split("\n")[0]}`;
|
|
638
638
|
}
|
|
639
639
|
function applyRuleSeverities(results, config) {
|
|
640
|
-
return results.map((
|
|
641
|
-
const severity = settingSeverity(config.rules[
|
|
642
|
-
return severity !== void 0 && severity !== "off" ? { ...
|
|
640
|
+
return results.map((result4) => {
|
|
641
|
+
const severity = settingSeverity(config.rules[result4.id]);
|
|
642
|
+
return severity !== void 0 && severity !== "off" ? { ...result4, severity } : result4;
|
|
643
643
|
});
|
|
644
644
|
}
|
|
645
645
|
function routeGlobToRegExp(pattern) {
|
|
@@ -666,15 +666,15 @@ function applyOverrides(results, config) {
|
|
|
666
666
|
const compiled = compileOverrides(config);
|
|
667
667
|
if (compiled.length === 0) return results;
|
|
668
668
|
const out = [];
|
|
669
|
-
for (const
|
|
669
|
+
for (const result4 of results) {
|
|
670
670
|
let severity;
|
|
671
671
|
for (const o of compiled) {
|
|
672
|
-
if (!overrideMatches(o, { route:
|
|
673
|
-
const sev = settingSeverity(o.rules[
|
|
672
|
+
if (!overrideMatches(o, { route: result4.route, file: result4.location })) continue;
|
|
673
|
+
const sev = settingSeverity(o.rules[result4.id]) ?? settingSeverity(o.rules[result4.category ?? "seo"]);
|
|
674
674
|
if (sev !== void 0) severity = sev;
|
|
675
675
|
}
|
|
676
|
-
if (severity === void 0) out.push(
|
|
677
|
-
else if (severity !== "off") out.push({ ...
|
|
676
|
+
if (severity === void 0) out.push(result4);
|
|
677
|
+
else if (severity !== "off") out.push({ ...result4, severity });
|
|
678
678
|
}
|
|
679
679
|
return out;
|
|
680
680
|
}
|
|
@@ -750,6 +750,10 @@ function validateRuleOptions(ruleId, spec, options, baseline, skipRangeCheck) {
|
|
|
750
750
|
} else if (s.kind === "string-list") {
|
|
751
751
|
if (!Array.isArray(value) || !value.every(isNonEmptyString)) {
|
|
752
752
|
errors.push(`${ruleId}.${key} must be an array of non-empty strings.`);
|
|
753
|
+
} else if (s.pattern) {
|
|
754
|
+
for (const v of value) {
|
|
755
|
+
if (!s.pattern.regex.test(v)) errors.push(`${ruleId}.${key}: '${v}' is not ${s.pattern.describe}.`);
|
|
756
|
+
}
|
|
753
757
|
}
|
|
754
758
|
} else if (typeof value !== "object" || value === null || Array.isArray(value) || !Object.values(value).every(isNonEmptyString)) {
|
|
755
759
|
errors.push(`${ruleId}.${key} must be an object of string \u2192 non-empty string.`);
|
|
@@ -1512,7 +1516,7 @@ function lengthRule(opts) {
|
|
|
1512
1516
|
const o = resolveRuleOptions(opts.id, spec, ctx.config, { route: head.route, file: location }, compiled);
|
|
1513
1517
|
const min = intOption(o, "min", opts.min);
|
|
1514
1518
|
const max = intOption(o, "max", opts.max);
|
|
1515
|
-
const
|
|
1519
|
+
const recommendation13 = typeof opts.recommendation === "function" ? opts.recommendation(o) : opts.recommendation;
|
|
1516
1520
|
const len = visibleLength(tag.text);
|
|
1517
1521
|
let problem;
|
|
1518
1522
|
if (len < min) problem = `${opts.noun} is too short (${len} chars; aim for ${min}\u2013${max})`;
|
|
@@ -1526,7 +1530,7 @@ function lengthRule(opts) {
|
|
|
1526
1530
|
route: head.route,
|
|
1527
1531
|
location,
|
|
1528
1532
|
message: problem,
|
|
1529
|
-
recommendation:
|
|
1533
|
+
recommendation: recommendation13,
|
|
1530
1534
|
docsUrl: docsUrl12
|
|
1531
1535
|
} : {
|
|
1532
1536
|
id: opts.id,
|
|
@@ -1540,7 +1544,7 @@ function lengthRule(opts) {
|
|
|
1540
1544
|
// it to also apply `severity: 'off'`.
|
|
1541
1545
|
location,
|
|
1542
1546
|
message: opts.label,
|
|
1543
|
-
recommendation:
|
|
1547
|
+
recommendation: recommendation13,
|
|
1544
1548
|
docsUrl: docsUrl12
|
|
1545
1549
|
}
|
|
1546
1550
|
);
|
|
@@ -1752,6 +1756,7 @@ function uniquenessRule(opts) {
|
|
|
1752
1756
|
category: "seo",
|
|
1753
1757
|
severity: "warning",
|
|
1754
1758
|
scope: "route",
|
|
1759
|
+
crossRoute: true,
|
|
1755
1760
|
rationale: opts.rationale,
|
|
1756
1761
|
async check(ctx) {
|
|
1757
1762
|
const entries = [];
|
|
@@ -1884,6 +1889,7 @@ function fileRule(spec) {
|
|
|
1884
1889
|
title: spec.title,
|
|
1885
1890
|
category: spec.category,
|
|
1886
1891
|
severity: spec.severity,
|
|
1892
|
+
passLabel: spec.label,
|
|
1887
1893
|
scope: "component",
|
|
1888
1894
|
rationale: spec.rationale,
|
|
1889
1895
|
...spec.fix ? { fix: spec.fix } : {},
|
|
@@ -1894,7 +1900,7 @@ function fileRule(spec) {
|
|
|
1894
1900
|
for (const f of spec.facts(ctx) ?? []) {
|
|
1895
1901
|
const o = resolveRuleOptions(spec.id, spec.options, ctx.config, { route: f.file, file: f.file }, compiled);
|
|
1896
1902
|
if (!spec.applies(f, o, ctx)) continue;
|
|
1897
|
-
const
|
|
1903
|
+
const recommendation13 = typeof spec.recommendation === "function" ? spec.recommendation(o) : spec.recommendation;
|
|
1898
1904
|
const bad = spec.bad(f, o, ctx).filter((b) => !(b.line > 0 && isSuppressed(f.suppressions, spec.id, b.line)));
|
|
1899
1905
|
if (bad.length === 0) {
|
|
1900
1906
|
out.push({
|
|
@@ -1905,7 +1911,7 @@ function fileRule(spec) {
|
|
|
1905
1911
|
route: f.file,
|
|
1906
1912
|
location: f.file,
|
|
1907
1913
|
message: spec.label,
|
|
1908
|
-
recommendation:
|
|
1914
|
+
recommendation: recommendation13,
|
|
1909
1915
|
docsUrl: docsUrl12
|
|
1910
1916
|
});
|
|
1911
1917
|
continue;
|
|
@@ -1914,13 +1920,13 @@ function fileRule(spec) {
|
|
|
1914
1920
|
out.push({
|
|
1915
1921
|
id: spec.id,
|
|
1916
1922
|
category: spec.category,
|
|
1917
|
-
severity: spec.severity,
|
|
1923
|
+
severity: b.severity ?? spec.severity,
|
|
1918
1924
|
detection: PENALIZED,
|
|
1919
1925
|
route: f.file,
|
|
1920
1926
|
location: f.file,
|
|
1921
1927
|
...b.line > 0 ? { line: b.line } : {},
|
|
1922
1928
|
message: b.message,
|
|
1923
|
-
recommendation:
|
|
1929
|
+
recommendation: recommendation13,
|
|
1924
1930
|
docsUrl: docsUrl12,
|
|
1925
1931
|
...spec.fix ? { fix: { ...spec.fix } } : {}
|
|
1926
1932
|
});
|
|
@@ -2638,10 +2644,19 @@ function splitTokens(value) {
|
|
|
2638
2644
|
var LANDMARK_ROLES = /* @__PURE__ */ new Set(["main", "banner", "contentinfo", "complementary"]);
|
|
2639
2645
|
var IDREF_ATTRS = [
|
|
2640
2646
|
"for",
|
|
2647
|
+
"list",
|
|
2648
|
+
"headers",
|
|
2649
|
+
"form",
|
|
2650
|
+
"popovertarget",
|
|
2651
|
+
"commandfor",
|
|
2641
2652
|
"aria-labelledby",
|
|
2642
2653
|
"aria-describedby",
|
|
2643
2654
|
"aria-controls",
|
|
2644
|
-
"aria-activedescendant"
|
|
2655
|
+
"aria-activedescendant",
|
|
2656
|
+
"aria-owns",
|
|
2657
|
+
"aria-details",
|
|
2658
|
+
"aria-errormessage",
|
|
2659
|
+
"aria-flowto"
|
|
2645
2660
|
];
|
|
2646
2661
|
function isTopFragment(id) {
|
|
2647
2662
|
return id.toLowerCase() === "top";
|
|
@@ -2659,6 +2674,9 @@ function isRootRelativePath(value) {
|
|
|
2659
2674
|
return value.startsWith("/") && !value.startsWith("//");
|
|
2660
2675
|
}
|
|
2661
2676
|
|
|
2677
|
+
// src/html-spec/generated.ts
|
|
2678
|
+
var HTML_SPEC = JSON.parse(`{"elements":{"a":{"categories":["#flow","#phrasing","#interactive","#palpable"],"contentModel":{"contents":[{"transparent":":not(:model(interactive), a, [tabindex], :has(:model(interactive), a, [tabindex]))"}]},"aria":{"implicitRole":"link","permittedRoles":["button","checkbox","menuitem","menuitemcheckbox","menuitemradio","option","radio","switch","tab","treeitem"],"conditions":{":not([href])":{"implicitRole":"generic","namingProhibited":true}}},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#HTMLLinkAndFetchingAttrs"],"attributes":{"attributionsrc":{"deprecated":true},"charset":{"deprecated":true},"coords":{"deprecated":true},"download":{},"href":{},"hreflang":{},"interestfor":{"type":"DOMID","nonStandard":true,"experimental":true},"name":{"deprecated":true},"ping":{},"referrerpolicy":{},"rel":{},"rev":{"deprecated":true},"shape":{"deprecated":true},"target":{},"type":{}}},"abbr":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"acronym":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"address":{"categories":["#flow","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(flow):not(address, :model(heading), :model(sectioning), header, foooter, :has(address, :model(heading), :model(sectioning), header, foooter))"}]},"aria":{"implicitRole":"group","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"applet":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"area":{"categories":["#flow","#phrasing"],"contentModel":{"contents":false,"descendantOf":"map"},"aria":{"implicitRole":"link","permittedRoles":[],"conditions":{":not([href])":{"implicitRole":"generic","namingProhibited":true}}},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#HTMLLinkAndFetchingAttrs"],"attributes":{"alt":{"type":"Any","required":true,"condition":"[href]"},"coords":{"type":{"token":"Number","disallowToSurroundBySpaces":true,"separator":"comma"}},"download":{},"href":{},"interestfor":{"type":"DOMID","nonStandard":true,"experimental":true},"ping":{},"referrerpolicy":{},"rel":{},"shape":{"type":{"enum":["rect","circle","poly","default"],"missingValueDefault":"rect","invalidValueDefault":"rect"}},"target":{}}},"article":{"categories":["#flow","#sectioning","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(flow)"}]},"aria":{"implicitRole":"article","permittedRoles":["application","document","feed","main","none","presentation","region"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"aside":{"categories":["#flow","#sectioning","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(flow)"}]},"aria":{"implicitRole":"complementary","permittedRoles":["feed","none","note","presentation","region","search"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"audio":{"categories":["#flow","#phrasing","#embedded","#interactive","#palpable"],"contentModel":{"contents":[{"zeroOrMore":"source"},{"zeroOrMore":"track"},{"transparent":":not(audio, video, :has(audio, video))"}],"conditional":[{"condition":"[src]","contents":[{"zeroOrMore":"track"},{"transparent":":not(audio, video, :has(audio, video))"}]}]},"aria":{"permittedRoles":["application"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLEmbededAndMediaContentAttrs","#HTMLGlobalAttrs","#HTMLLinkAndFetchingAttrs"],"attributes":{"autoplay":{},"controls":{},"controlslist":{},"crossorigin":{},"disableremoteplayback":{},"loop":{},"muted":{},"preload":{},"src":{}}},"b":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"generic","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"base":{"categories":["#metadata"],"contentModel":{"contents":false},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#HTMLLinkAndFetchingAttrs"],"attributes":{"href":{"type":"BaseURL"},"target":{}}},"basefont":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"bdi":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"generic","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"bdo":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"generic","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"dir":{}}},"bgsound":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"big":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"blink":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"blockquote":{"categories":["#flow","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(flow)"}]},"aria":{"implicitRole":"blockquote","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"cite":{"type":"URL"}}},"body":{"categories":[],"contentModel":{"contents":[{"oneOrMore":":model(flow)"}]},"aria":{"implicitRole":"generic","permittedRoles":[],"namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"alink":{"deprecated":true},"background":{"deprecated":true},"bgcolor":{"deprecated":true},"bottommargin":{"deprecated":true},"leftmargin":{"deprecated":true},"link":{"deprecated":true},"onafterprint":{"type":"FunctionBody"},"onbeforeprint":{"type":"FunctionBody"},"onbeforeunload":{"type":"FunctionBody"},"onhashchange":{"type":"FunctionBody"},"onlanguagechange":{"type":"FunctionBody"},"onmessage":{"type":"FunctionBody"},"onmessageerror":{"type":"FunctionBody"},"onoffline":{"type":"FunctionBody"},"ononline":{"type":"FunctionBody"},"onpagehide":{"type":"FunctionBody"},"onpagereveal":{"type":"FunctionBody"},"onpageshow":{"type":"FunctionBody"},"onpageswap":{"type":"FunctionBody"},"onpopstate":{"type":"FunctionBody"},"onrejectionhandled":{"type":"FunctionBody"},"onstorage":{"type":"FunctionBody"},"onunhandledrejection":{"type":"FunctionBody"},"onunload":{"type":"FunctionBody"},"rightmargin":{"deprecated":true},"text":{"deprecated":true},"topmargin":{"deprecated":true},"vlink":{"deprecated":true}}},"br":{"categories":["#flow","#phrasing"],"contentModel":{"contents":false},"aria":{"permittedRoles":["none","presentation"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"clear":{"deprecated":true}}},"button":{"categories":["#flow","#phrasing","#interactive","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing):not(:model(interactive), :has(:model(interactive)))"}]},"aria":{"implicitRole":"button","permittedRoles":["checkbox","combobox","gridcell","link","menuitem","menuitemcheckbox","menuitemradio","option","radio","separator","slider","switch","tab","treeitem"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLFormControlElementAttrs","#HTMLGlobalAttrs"],"attributes":{"autofocus":{},"command":{"type":[{"enum":["toggle-popover","show-popover","hide-popover","close","request-close","show-modal"],"invalidValueDefault":"unknown","missingValueDefault":"unknown"},"ValidCustomCommand"]},"commandfor":{"type":"DOMID"},"disabled":{},"form":{},"formaction":{},"formenctype":{},"formmethod":{},"formnovalidate":{},"formtarget":{},"interestfor":{"type":"DOMID","nonStandard":true,"experimental":true},"name":{},"popovertarget":{"type":"DOMID"},"popovertargetaction":{"type":{"enum":["toggle","show","hide"],"disallowToSurroundBySpaces":true,"invalidValueDefault":"toggle","missingValueDefault":"toggle"}},"type":{"type":{"enum":["submit","reset","button"],"invalidValueDefault":"submit","missingValueDefault":"submit"}},"value":{"type":"Any"}}},"canvas":{"categories":["#flow","#phrasing","#embedded","#palpable"],"contentModel":{"contents":[{"transparent":":not(:model(interactive), :has(:model(interactive)))"}]},"aria":{"permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLEmbededAndMediaContentAttrs","#HTMLGlobalAttrs"],"attributes":{"height":{},"moz-opaque":{"deprecated":true,"nonStandard":true},"width":{}}},"caption":{"categories":[],"contentModel":{"contents":[{"oneOrMore":":model(flow)"}]},"aria":{"implicitRole":"caption","permittedRoles":[],"namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"align":{"deprecated":true}}},"center":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"cite":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"code":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"code","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"col":{"categories":[],"contentModel":{"contents":false},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"align":{"deprecated":true},"bgcolor":{"deprecated":true},"char":{"deprecated":true},"charoff":{"deprecated":true},"span":{"type":{"type":"integer","gt":0,"lte":1000,"clampable":true}},"valign":{"deprecated":true},"width":{"deprecated":true}}},"colgroup":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":"col"}],"conditional":[{"condition":"[span]","contents":false}]},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"align":{"deprecated":true},"bgcolor":{"deprecated":true},"char":{"deprecated":true},"charoff":{"deprecated":true},"span":{"type":{"type":"integer","gt":0,"lte":1000,"clampable":true}},"valign":{"deprecated":true},"width":{"deprecated":true}}},"data":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"generic","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"value":{"type":"Any","required":true}}},"datalist":{"categories":["#flow","#phrasing"],"contentModel":{"contents":[{"choice":[[{"oneOrMore":":model(phrasing)"}],[{"zeroOrMore":["option",":model(script-supporting)"]}]]}]},"aria":{"implicitRole":"listbox","permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"dd":{"categories":[],"contentModel":{"contents":[{"oneOrMore":":model(flow)"}]},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"del":{"categories":["#flow","#phrasing"],"contentModel":{"contents":[{"transparent":"*"}]},"aria":{"implicitRole":"deletion","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"cite":{"type":"URL"},"datetime":{"type":"DateTime"}}},"details":{"categories":["#flow","#interactive","#palpable"],"contentModel":{"contents":[{"require":"summary"},{"oneOrMore":":model(flow)"}]},"aria":{"implicitRole":"group","permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"name":{"type":"NoEmptyAny"},"open":{"type":"Boolean"}}},"dfn":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing):not(dfn, :has(dfn))"}]},"aria":{"implicitRole":"term","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"dialog":{"categories":["#flow"],"contentModel":{"contents":[{"oneOrMore":":model(flow)"}]},"aria":{"implicitRole":"dialog","permittedRoles":["alertdialog"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"closedby":{"type":{"enum":["any","closerequest","none"],"invalidValueDefault":"auto","missingValueDefault":"auto"}},"open":{"type":"Boolean"},"tabindex":{"noUse":true}}},"dir":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{"compact":{"deprecated":true}}},"div":{"categories":["#flow","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(flow)"}],"conditional":[{"condition":"dl > div","contents":[{"oneOrMore":[{"zeroOrMore":":model(script-supporting)"},{"oneOrMore":"dt"},{"zeroOrMore":":model(script-supporting)"},{"oneOrMore":"dd"},{"zeroOrMore":":model(script-supporting)"}]}]}]},"aria":{"implicitRole":"generic","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"dl":{"categories":["#flow","#palpable"],"contentModel":{"contents":[{"choice":[[{"oneOrMore":[{"zeroOrMore":":model(script-supporting)"},{"oneOrMore":"dt"},{"zeroOrMore":":model(script-supporting)"},{"oneOrMore":"dd"},{"zeroOrMore":":model(script-supporting)"}]}],[{"zeroOrMore":":model(script-supporting)"},{"oneOrMore":"div"},{"zeroOrMore":":model(script-supporting)"}]]}]},"aria":{"permittedRoles":["group","list","none","presentation"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"compact":{"deprecated":true}}},"dt":{"categories":[],"contentModel":{"contents":[{"oneOrMore":":model(flow):not(header, footer, :model(sectioning), :model(heading), :has(header, footer, :model(sectioning), :model(heading)))"}]},"aria":{"permittedRoles":["listitem"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"em":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"emphasis","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"embed":{"categories":["#flow","#phrasing","#embedded","#interactive","#palpable"],"contentModel":{"contents":false},"aria":{"permittedRoles":["application","document","img","none","presentation"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLEmbededAndMediaContentAttrs","#HTMLGlobalAttrs"],"attributes":{"height":{},"src":{"type":"URL","required":"[itemprop]"},"type":{"type":"MIMEType"},"width":{}}},"fieldset":{"categories":["#flow","#palpable"],"contentModel":{"contents":[{"optional":"legend"},{"oneOrMore":":model(flow)"}]},"aria":{"implicitRole":"group","permittedRoles":["radiogroup","presentation","none"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLFormControlElementAttrs","#HTMLGlobalAttrs"],"attributes":{"disabled":{},"form":{},"name":{}}},"figcaption":{"categories":[],"contentModel":{"contents":[{"oneOrMore":":model(flow)"}]},"aria":{"permittedRoles":["group","none","presentation"],"namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"figure":{"categories":["#flow","#palpable"],"contentModel":{"contents":[{"choice":[[{"require":"figcaption"},{"oneOrMore":":model(flow)"}],[{"oneOrMore":":model(flow)"},{"require":"figcaption"}],[{"oneOrMore":":model(flow)"}]]}]},"aria":{"implicitRole":"figure","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"font":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{"color":{"deprecated":true},"face":{"deprecated":true},"size":{"deprecated":true}}},"footer":{"categories":["#flow","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(flow):not(header, footer, :has(header, footer))"}]},"aria":{"implicitRole":"contentinfo","permittedRoles":["group","presentation","none"],"conditions":{":has(article, aside, main, nav, section, [role=article], [role=complementary], [role=main], [role=navigation], [role=region])":{"implicitRole":"generic","namingProhibited":true}}},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"form":{"categories":["#flow","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(flow):not(form, :has(form))"}]},"aria":{"permittedRoles":["search","none","presentation"],"conditions":{":aria(has name)":{"implicitRole":"form"}}},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"accept":{"deprecated":true},"accept-charset":{"type":{"enum":["utf-8"],"caseInsensitive":true}},"action":{"type":"URL"},"autocapitalize":{},"autocomplete":{"type":{"enum":["on","off"],"invalidValueDefault":"on","missingValueDefault":"on"}},"enctype":{"type":{"enum":["application/x-www-form-urlencoded","multipart/form-data","text/plain"],"invalidValueDefault":"application/x-www-form-urlencoded","missingValueDefault":"application/x-www-form-urlencoded"}},"method":{"type":{"enum":["post","get","dialog"],"invalidValueDefault":"get","missingValueDefault":"get"}},"name":{"type":"NoEmptyAny"},"novalidate":{"type":"Boolean"},"rel":{"type":"LinkTypeForFormElement"},"target":{"type":"NavigableTargetNameOrKeyword"}}},"frame":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{"frameborder":{"deprecated":true},"marginheight":{"deprecated":true},"marginwidth":{"deprecated":true},"name":{"deprecated":true},"noresize":{"deprecated":true},"scrolling":{"deprecated":true},"src":{"deprecated":true}}},"frameset":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{"cols":{"deprecated":true},"rows":{"deprecated":true}}},"h1":{"categories":["#flow","#heading","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"heading","permittedRoles":["tab","presentation","none"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"h2":{"categories":["#flow","#heading","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"heading","permittedRoles":["tab","presentation","none"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"h3":{"categories":["#flow","#heading","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"heading","permittedRoles":["tab","presentation","none"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"h4":{"categories":["#flow","#heading","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"heading","permittedRoles":["tab","presentation","none"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"h5":{"categories":["#flow","#heading","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"heading","permittedRoles":["tab","presentation","none"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"h6":{"categories":["#flow","#heading","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"heading","permittedRoles":["tab","presentation","none"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"head":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":":model(metadata):not(title)"},{"require":"title"},{"zeroOrMore":":model(metadata):not(title)"}]},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"profile":{"deprecated":true}}},"header":{"categories":["#flow","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(flow):not(header, footer, :has(header, footer))"}]},"aria":{"implicitRole":"banner","permittedRoles":["group","presentation","none"],"conditions":{":has(article, aside, main, nav, section, [role=article], [role=complementary], [role=main], [role=navigation], [role=region])":{"implicitRole":"generic","namingProhibited":true}}},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"hgroup":{"categories":["#flow","#heading","#palpable"],"contentModel":{"contents":[{"zeroOrMore":":model(script-supporting)"},{"zeroOrMore":"p"},{"zeroOrMore":":model(script-supporting)"},{"require":["h1","h2","h3","h4","h5","h6"]},{"zeroOrMore":":model(script-supporting)"},{"zeroOrMore":"p"},{"zeroOrMore":":model(script-supporting)"}]},"aria":{"implicitRole":"generic","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"hr":{"categories":["#flow"],"contentModel":{"contents":false},"aria":{"implicitRole":"separator","permittedRoles":["presentation","none"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"align":{"deprecated":true,"nonStandard":true},"color":{"deprecated":true,"nonStandard":true},"noshade":{"deprecated":true,"nonStandard":true},"size":{"deprecated":true,"nonStandard":true},"width":{"deprecated":true,"nonStandard":true}}},"html":{"categories":[],"contentModel":{"contents":[{"require":"head"},{"require":"body"}]},"aria":{"implicitRole":"generic","permittedRoles":["document","generic"],"namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"version":{"deprecated":true},"xmlns":{}}},"i":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"generic","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"iframe":{"categories":["#flow","#phrasing","#embedded","#interactive","#palpable"],"contentModel":{"contents":false},"aria":{"permittedRoles":["application","document","img","none","presentation"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLEmbededAndMediaContentAttrs","#HTMLGlobalAttrs","#HTMLLinkAndFetchingAttrs"],"attributes":{"align":{"deprecated":true},"allow":{"type":"SerializedPermissionsPolicy"},"allowfullscreen":{"type":"Boolean"},"allowpaymentrequest":{"deprecated":true,"nonStandard":true},"browsingtopics":{"deprecated":true,"nonStandard":true},"credentialless":{"experimental":true},"csp":{"experimental":true},"frameborder":{"deprecated":true},"height":{},"loading":{},"longdesc":{"deprecated":true},"marginheight":{"deprecated":true},"marginwidth":{"deprecated":true},"name":{"type":"NavigableTargetName"},"privateToken":{"type":"Any","experimental":true},"referrerpolicy":{},"sandbox":{"type":{"token":{"enum":["allow-forms","allow-modals","allow-orientation-lock","allow-pointer-lock","allow-popups","allow-popups-to-escape-sandbox","allow-presentation","allow-same-origin","allow-scripts","allow-top-navigation","allow-top-navigation-by-user-activation","allow-downloads","allow-custom-protocols-navigation"]},"caseInsensitive":true,"ordered":true,"unique":true,"separator":"space"}},"scrolling":{"deprecated":true},"src":{"required":"[itemprop]","ineffective":"[srcdoc]"},"srcdoc":{"type":"Any"},"width":{}}},"img":{"categories":["#flow","#phrasing","#embedded","#interactive","#palpable"],"contentModel":{"contents":false},"aria":{"implicitRole":"img","permittedRoles":["button","checkbox","link","math","menuitem","menuitemcheckbox","menuitemradio","meter","option","progressbar","radio","scrollbar","separator","slider","switch","tab","treeitem"],"conditions":{"[alt=\\"\\"]":{"implicitRole":"presentation"},":not([alt]):aria(has no name)":{"implicitRole":"img"}}},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLEmbededAndMediaContentAttrs","#HTMLGlobalAttrs","#HTMLLinkAndFetchingAttrs"],"attributes":{"align":{"deprecated":true},"alt":{"type":"Any"},"attributionsrc":{"deprecated":true},"border":{"deprecated":true},"crossorigin":{},"decoding":{"type":{"enum":["sync","async","auto"],"invalidValueDefault":"auto","missingValueDefault":"auto"}},"elementtiming":{},"fetchpriority":{},"height":{},"hspace":{"deprecated":true},"ismap":{"type":"Boolean","condition":"a[href] img"},"loading":{},"longdesc":{"deprecated":true},"name":{"deprecated":true},"referrerpolicy":{},"sizes":{},"src":{"type":"URL","requiredEither":["srcset"]},"srcset":{"type":"Srcset","requiredEither":["src"]},"usemap":{"type":"HashName","condition":":is(:not(a):not(button)) img"},"vspace":{"deprecated":true},"width":{}}},"input":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":false},"aria":{"implicitRole":"textbox","permittedRoles":["combobox","searchbox","spinbutton"],"conditions":{"[type='button' i]":{"implicitRole":"button"},"[type='checkbox' i]":{"implicitRole":"checkbox"},"[type='checkbox' i][aria-pressed]":{"implicitRole":"checkbox"},"[type='color' i]":{"implicitRole":false},"[type='date' i]":{"implicitRole":false},"[type='email' i]:not([list])":{"implicitRole":"textbox"},"[type='file' i]":{"implicitRole":false},"[type='hidden' i]":{"implicitRole":false},"[type='image' i]":{"implicitRole":"button"},"[type='month' i]":{"implicitRole":false},"[type='number' i]":{"implicitRole":"spinbutton"},"[type='password' i]":{"implicitRole":false},"[type='radio' i]":{"implicitRole":"radio"},"[type='range' i]":{"implicitRole":"slider"},"[type='reset' i]":{"implicitRole":"button"},"[type='search' i]:not([list])":{"implicitRole":"searchbox"},"[type='submit' i]":{"implicitRole":"button"},"[type='tel' i]:not([list])":{"implicitRole":"textbox"},":is(:not([type]), [type='text' i], [type='search' i], [type='tel' i], [type='url' i], [type='email' i])[list]":{"implicitRole":"combobox"},"[type='time' i]":{"implicitRole":false},"[type='url' i]:not([list])":{"implicitRole":"textbox"},"[type='week' i]":{"implicitRole":false}}},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLEmbededAndMediaContentAttrs","#HTMLFormControlElementAttrs","#HTMLGlobalAttrs"],"attributes":{"accept":{"type":{"token":"Accept","caseInsensitive":true,"unique":true,"separator":"comma"},"condition":"[type='file' i]"},"alpha":{"type":"Boolean","experimental":true,"condition":"[type='color' i]"},"alt":{"type":"Any","condition":"[type='image' i]"},"autocapitalize":{},"autocomplete":{"condition":[":not([type])","[type='hidden' i]","[type='text' i]","[type='search' i]","[type='url' i]","[type='tel' i]","[type='email' i]","[type='password' i]","[type='date' i]","[type='month' i]","[type='week' i]","[type='time' i]","[type='datetime-local' i]","[type='number' i]","[type='range' i]","[type='color' i]"]},"autofocus":{},"capture":{},"checked":{"type":"Boolean","condition":["[type='checkbox' i]","[type='radio' i]"]},"colorspace":{"type":{"enum":["limited-srgb","display-p3"],"invalidValueDefault":"limited-srgb","missingValueDefault":"limited-srgb"},"experimental":true,"condition":"[type='color' i]"},"dirname":{"condition":[":not([type])","[type='hidden' i]","[type='text' i]","[type='search' i]","[type='tel' i]","[type='url' i]","[type='email' i]","[type='password' i]","[type='submit' i]"]},"disabled":{},"form":{},"formaction":{},"formenctype":{},"formmethod":{},"formnovalidate":{},"formtarget":{},"height":{"condition":"[type='image' i]"},"id":{},"incremental":{"nonStandard":true},"inputmode":{},"list":{"type":"DOMID","condition":[":not([type])","[type='text' i]","[type='search' i]","[type='url' i]","[type='tel' i]","[type='email' i]","[type='date' i]","[type='month' i]","[type='week' i]","[type='time' i]","[type='datetime-local' i]","[type='number' i]","[type='range' i]","[type='color' i]"]},"max":{"type":["DateTime","Number"],"condition":["[type='date' i]","[type='month' i]","[type='week' i]","[type='time' i]","[type='datetime-local' i]","[type='number' i]","[type='range' i]"]},"maxlength":{"condition":[":not([type])","[type='text' i]","[type='search' i]","[type='url' i]","[type='tel' i]","[type='email' i]","[type='password' i]"]},"min":{"type":["DateTime","Number"],"condition":["[type='date' i]","[type='month' i]","[type='week' i]","[type='time' i]","[type='datetime-local' i]","[type='number' i]","[type='range' i]"]},"minlength":{"condition":[":not([type])","[type='text' i]","[type='search' i]","[type='url' i]","[type='tel' i]","[type='email' i]","[type='password' i]"]},"multiple":{"type":"Boolean","condition":["[type='email' i]","[type='file' i]"]},"name":{},"orient":{"nonStandard":true},"pattern":{"type":"Pattern","condition":[":not([type])","[type='text' i]","[type='search' i]","[type='url' i]","[type='tel' i]","[type='email' i]","[type='password' i]"]},"placeholder":{"type":"OneLineAny","condition":[":not([type])","[type='text' i]","[type='search' i]","[type='url' i]","[type='tel' i]","[type='email' i]","[type='password' i]","[type='number' i]"]},"popovertarget":{"type":"DOMID","condition":["[type='button' i]","[type='image' i]","[type='reset' i]","[type='submit' i]"]},"popovertargetaction":{"type":{"enum":["toggle","show","hide"],"disallowToSurroundBySpaces":true,"invalidValueDefault":"toggle","missingValueDefault":"toggle"},"condition":["[type='button' i]","[type='image' i]","[type='reset' i]","[type='submit' i]"]},"readonly":{"condition":[":not([type])","[type='text' i]","[type='search' i]","[type='url' i]","[type='tel' i]","[type='email' i]","[type='password' i]","[type='date' i]","[type='month' i]","[type='week' i]","[type='time' i]","[type='datetime-local' i]","[type='number' i]"]},"required":{"condition":[":not([type])","[type='text' i]","[type='search' i]","[type='url' i]","[type='tel' i]","[type='email' i]","[type='password' i]","[type='date' i]","[type='month' i]","[type='week' i]","[type='time' i]","[type='datetime-local' i]","[type='number' i]","[type='checkbox' i]","[type='radio' i]","[type='file' i]"]},"results":{"nonStandard":true},"size":{"type":{"type":"integer","gt":0},"condition":[":not([type])","[type='text' i]","[type='search' i]","[type='url' i]","[type='tel' i]","[type='email' i]","[type='password' i]"]},"src":{"condition":"[type='image' i]"},"step":{"type":["Number",{"enum":["any"],"caseInsensitive":true}],"condition":["[type='date' i]","[type='month' i]","[type='week' i]","[type='time' i]","[type='datetime-local' i]","[type='number' i]","[type='range' i]"]},"switch":{"type":"Boolean","experimental":true,"condition":["[type='checkbox' i]"]},"tabindex":{},"title":{},"type":{"type":{"enum":["hidden","text","search","tel","url","email","password","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"],"invalidValueDefault":"text","missingValueDefault":"text"}},"value":{"type":"Any"},"webkitdirectory":{"nonStandard":true},"width":{"condition":"[type='image' i]"}}},"ins":{"categories":["#flow","#phrasing"],"contentModel":{"contents":[{"transparent":"*"}]},"aria":{"implicitRole":"insertion","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"cite":{"type":"URL"},"datetime":{"type":"DateTime"}}},"isindex":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"kbd":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"keygen":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"label":{"categories":["#flow","#phrasing","#interactive","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing):not(label, :has(label))"}]},"aria":{"permittedRoles":[],"namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"for":{"type":"DOMID"}}},"legend":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(phrasing)",":model(heading)"]}]},"aria":{"permittedRoles":[],"namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"li":{"categories":[],"contentModel":{"contents":[{"oneOrMore":":model(flow)"}]},"aria":{"implicitRole":"listitem","permittedRoles":["menuitem","menuitemcheckbox","menuitemradio","option","none","presentation","radio","separator","tab","treeitem"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"type":{"deprecated":true},"value":{"type":"Int","condition":"ol > li"}}},"link":{"categories":["#metadata","#flow","#phrasing"],"contentModel":{"contents":false},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#HTMLLinkAndFetchingAttrs"],"attributes":{"as":{"type":{"enum":["fetch","audio","audioworklet","document","embed","font","frame","iframe","image","manifest","object","paintworklet","report","script","serviceworker","sharedworker","style","track","video","worker","xslt"]},"condition":["[rel='preload' i]","[rel='modulepreload' i]"]},"blocking":{"type":{"token":{"enum":["render"]},"separator":"space","unique":true},"condition":"[rel~='stylesheet' i]"},"charset":{"deprecated":true,"obsolete":true},"color":{"type":"<color>","condition":"[rel~='mask-icon' i]"},"crossorigin":{},"disabled":{"type":"Boolean"},"fetchpriority":{},"href":{},"hreflang":{},"imagesizes":{"type":"SourceSizeList","required":"[imagesrcset]","condition":"[imagesrcset][rel~='preload' i][as='image' i]"},"imagesrcset":{"type":"Srcset","required":"[imagesizes]","condition":"[imagesizes][rel~='preload' i][as='image' i]"},"integrity":{"condition":["[rel~='stylesheet' i]","[rel~='preload' i]","[rel~='modulepreload' i]"]},"itemprop":{"requiredEither":["rel"]},"media":{},"referrerpolicy":{},"rel":{"type":"LinkTypeForLinkElement","requiredEither":["itemprop"]},"rev":{"deprecated":true,"obsolete":true},"sizes":{"type":{"token":"IconSize","caseInsensitive":true,"ordered":false,"unique":true,"separator":"space"},"condition":["[rel~='icon' i]","[rel~='apple-touch-icon' i]"]},"target":{"deprecated":true},"title":{},"type":{}}},"listing":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"main":{"categories":["#flow","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(flow)"}]},"aria":{"implicitRole":"main","permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"map":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"transparent":"*"}]},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"name":{"type":"NoEmptyAny"}}},"mark":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"marquee":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{"behavior":{"deprecated":true},"bgcolor":{"deprecated":true},"direction":{"deprecated":true},"height":{"deprecated":true},"hspace":{"deprecated":true},"loop":{"deprecated":true},"scrollamount":{"deprecated":true},"scrolldelay":{"deprecated":true},"truespeed":{"deprecated":true},"vspace":{"deprecated":true},"width":{"deprecated":true}}},"math":{"categories":[],"contentModel":{"contents":true},"aria":{"implicitRole":"math","permittedRoles":[]},"globalAttrs":["#ARIAAttrs"],"attributes":{}},"menu":{"categories":["#flow","#palpable"],"contentModel":{"contents":[{"zeroOrMore":["li",":model(script-supporting)"]}]},"aria":{"implicitRole":"list","permittedRoles":["group","listbox","menu","menubar","none","presentation","radiogroup","tablist","toolbar","tree","directory"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"compact":{"deprecated":true}}},"menuitem":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"meta":{"categories":["#metadata","#flow","#phrasing"],"contentModel":{"contents":false},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#HTMLLinkAndFetchingAttrs"],"attributes":{"charset":{"type":{"enum":["utf-8"],"caseInsensitive":true},"condition":[":not([itemprop])",":not([name])",":not([http-equiv])"]},"content":{"type":"Any","required":["[name]","[http-equiv]","[itemprop]"],"condition":["[name]","[http-equiv]","[itemprop]"]},"http-equiv":{"type":{"enum":["content-type","default-style","refresh","x-ua-compatible","content-security-policy"]},"requiredEither":["itemprop","name","charset"],"condition":[":not([itemprop])",":not([name])",":not([charset])"]},"itemprop":{"requiredEither":["name","http-equiv","charset"],"condition":[":not([name])",":not([http-equiv])",":not([charset])"]},"media":{"condition":"[name='theme-color']"},"name":{"type":"Any","requiredEither":["itemprop","http-equiv","charset"],"condition":[":not([itemprop])",":not([http-equiv])",":not([charset])"]}}},"meter":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing):not(meter, :has(meter))"}]},"aria":{"implicitRole":"meter","permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"high":{"type":"Number"},"low":{"type":"Number"},"max":{"type":"Number"},"min":{"type":"Number"},"optimum":{"type":"Number"},"value":{"type":"Number"}}},"multicol":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"nav":{"categories":["#flow","#sectioning","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(flow)"}]},"aria":{"implicitRole":"navigation","permittedRoles":["menu","menubar","none","presentation","tablist"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"nextid":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"nobr":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"noembed":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"noframes":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"noscript":{"categories":["#metadata","#flow","#phrasing"],"contentModel":{"contents":[{"transparent":":not(noscript)"}]},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"object":{"categories":["#flow","#phrasing","#embedded","#interactive","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(flow)"}]},"aria":{"permittedRoles":["application","document","img"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLEmbededAndMediaContentAttrs","#HTMLFormControlElementAttrs","#HTMLGlobalAttrs"],"attributes":{"archive":{"deprecated":true},"border":{"deprecated":true},"classid":{"deprecated":true},"codebase":{"deprecated":true},"codetype":{"deprecated":true},"data":{"type":"URL","requiredEither":["type"]},"declare":{"deprecated":true},"form":{},"height":{},"name":{"type":"NavigableTargetName"},"standby":{"deprecated":true},"type":{"type":"MIMEType","requiredEither":["data"]},"usemap":{"deprecated":true},"width":{}}},"ol":{"categories":["#flow","#palpable"],"contentModel":{"contents":[{"zeroOrMore":["li",":model(script-supporting)"]}]},"aria":{"implicitRole":"list","permittedRoles":["group","listbox","menu","menubar","none","presentation","radiogroup","tablist","toolbar","tree","directory"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"compact":{"deprecated":true,"nonStandard":true},"reversed":{"type":"Boolean"},"start":{"type":"Int"},"type":{"type":{"enum":["1","a","A","i","I"],"caseInsensitive":false,"invalidValueDefault":"decimal","missingValueDefault":"decimal"}}}},"optgroup":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":"option"}]},"aria":{"implicitRole":"group","permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLFormControlElementAttrs","#HTMLGlobalAttrs"],"attributes":{"disabled":{},"label":{"type":"Any","required":true}}},"option":{"categories":[],"contentModel":{"contents":[{"optional":"#text"}],"conditional":[{"condition":"[label][value]","contents":false},{"condition":"label","contents":[{"optional":"#text"}]},{"condition":"datalist > [label]","contents":[{"optional":"#text"}]}]},"aria":{"permittedRoles":[],"conditions":{":is(select, select > option, datalist) > option":{"implicitRole":"option"}}},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLFormControlElementAttrs","#HTMLGlobalAttrs"],"attributes":{"disabled":{},"label":{"type":"Any"},"selected":{"type":"Boolean"},"value":{"type":"Any"}}},"output":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"status","permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLFormControlElementAttrs","#HTMLGlobalAttrs"],"attributes":{"for":{"type":{"token":"DOMID","separator":"space","unique":true,"caseInsensitive":true}},"form":{},"name":{}}},"p":{"categories":["#flow","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"paragraph","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"param":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{"name":{"deprecated":true},"type":{"deprecated":true},"value":{"deprecated":true},"valuetype":{"deprecated":true}}},"picture":{"categories":["#flow","#phrasing","#embedded"],"contentModel":{"contents":[{"zeroOrMore":":model(script-supporting)"},{"zeroOrMore":"source"},{"zeroOrMore":":model(script-supporting)"},{"require":"img"},{"zeroOrMore":":model(script-supporting)"}]},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"plaintext":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"pre":{"categories":["#flow","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"generic","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"width":{"deprecated":true,"nonStandard":true},"wrap":{"deprecated":true,"nonStandard":true}}},"progress":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing):not(progress, :has(progress))"}]},"aria":{"implicitRole":"progressbar","permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"max":{"type":"Number"},"value":{"type":"Number"}}},"q":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"generic","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"cite":{"type":"URL"}}},"rb":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"rp":{"categories":[],"contentModel":{"contents":[{"oneOrMore":"#text"}]},"aria":{"permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"rt":{"categories":[],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"rtc":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"ruby":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":[{"oneOrMore":[":model(phrasing):not(ruby, :has(ruby))","ruby:not(:has(ruby))"]},{"choice":[[{"oneOrMore":"rt"}],[{"require":"rp"},{"oneOrMore":[{"require":"rt"},{"require":"rp"}]}]]}]}]},"aria":{"permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"s":{"categories":["#flow","#phrasing"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"deletion","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"samp":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"generic","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"script":{"categories":["#metadata","#flow","#phrasing"],"contentModel":{"contents":[{"zeroOrMore":"#text"}]},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#HTMLLinkAndFetchingAttrs"],"attributes":{"async":{"type":"Boolean","ineffective":":not([src]):not([type='module' i])","condition":["[src]","[type='module' i]"]},"attributionsrc":{"deprecated":true},"blocking":{"type":{"token":{"enum":["render"]},"separator":"space","unique":true}},"charset":{"deprecated":true},"crossorigin":{},"defer":{"type":"Boolean","ineffective":["[type='module' i]",":not([src])","[async]"],"condition":"[src]"},"fetchpriority":{},"integrity":{"condition":"[src]"},"language":{"deprecated":true,"nonStandard":true},"nomodule":{"type":"Boolean","condition":":not([type='module' i])"},"nonce":{},"referrerpolicy":{},"src":{"type":"URL"},"type":{"type":["MIMEType",{"enum":["module","importmap"],"caseInsensitive":true}]}}},"search":{"categories":["#flow","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(flow)"}]},"aria":{"implicitRole":"search","permittedRoles":["form","group","none","presentation","region"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"section":{"categories":["#flow","#sectioning","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(flow)"}]},"aria":{"permittedRoles":["alert","alertdialog","application","banner","complementary","contentinfo","dialog","document","feed","group","log","main","marquee","navigation","none","note","presentation","search","status","tabpanel"],"conditions":{":aria(has name)":{"implicitRole":"region"}}},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"select":{"categories":["#flow","#phrasing","#interactive"],"contentModel":{"contents":[{"zeroOrMore":["option","optgroup","hr","#script-supporting"]}]},"aria":{"implicitRole":"combobox","permittedRoles":["menu"],"conditions":{"[multiple], [size]:not([size=1])":{"implicitRole":"listbox"}}},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLFormControlElementAttrs","#HTMLGlobalAttrs"],"attributes":{"autocomplete":{},"autofocus":{},"disabled":{},"form":{},"multiple":{"type":"Boolean"},"name":{},"required":{},"size":{"type":{"type":"integer","gt":0}}}},"slot":{"categories":["#flow","#phrasing"],"contentModel":{"contents":[{"transparent":"*"}]},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"name":{"type":"NoEmptyAny"}}},"small":{"categories":["#flow","#phrasing"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"generic","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"source":{"categories":[],"contentModel":{"contents":false},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLEmbededAndMediaContentAttrs","#HTMLGlobalAttrs"],"attributes":{"height":{"condition":"picture > source"},"media":{"type":"<media-query-list>"},"sizes":{"condition":"picture > source"},"src":{"type":"URL","required":":is(video, audio) > source","condition":":is(video, audio) > source"},"srcset":{"required":"picture > source","condition":"picture > source"},"type":{"type":"MIMEType"},"width":{"condition":"picture > source"}}},"spacer":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"span":{"categories":["#flow","#phrasing"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"generic","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"strike":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"strong":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"strong","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"style":{"categories":["#metadata"],"contentModel":{"contents":[{"zeroOrMore":"#text"}]},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"blocking":{"type":{"token":{"enum":["render"]},"separator":"space","unique":true}},"media":{"type":"<media-query-list>"},"nonce":{},"title":{},"type":{"deprecated":true}}},"sub":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"subscript","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"summary":{"categories":[],"contentModel":{"contents":[{"choice":[[{"oneOrMore":":model(phrasing)"}],[{"require":":model(heading)"}]]}]},"aria":{"implicitRole":"button","permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"sup":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"superscript","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"table":{"categories":["#flow"],"contentModel":{"contents":[{"zeroOrMore":":model(script-supporting)"},{"optional":"caption"},{"zeroOrMore":":model(script-supporting)"},{"zeroOrMore":"colgroup"},{"zeroOrMore":":model(script-supporting)"},{"optional":"thead"},{"zeroOrMore":":model(script-supporting)"},{"choice":[[{"zeroOrMore":"tbody"}],[{"oneOrMore":"tr"}]]},{"zeroOrMore":":model(script-supporting)"},{"optional":"tfoot"},{"zeroOrMore":":model(script-supporting)"}]},"aria":{"implicitRole":"table","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"align":{"deprecated":true},"bgcolor":{"deprecated":true},"border":{"deprecated":true},"cellpadding":{"deprecated":true},"cellspacing":{"deprecated":true},"frame":{"deprecated":true},"rules":{"deprecated":true},"summary":{"deprecated":true},"width":{"deprecated":true}}},"tbody":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":"tr"}]},"aria":{"implicitRole":"rowgroup","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"align":{"deprecated":true},"bgcolor":{"deprecated":true},"char":{"deprecated":true},"charoff":{"deprecated":true},"valign":{"deprecated":true}}},"td":{"categories":[],"contentModel":{"contents":[{"oneOrMore":":model(flow)"}]},"aria":{"permittedRoles":"any","conditions":{"table:is(:not([role]), [role=table]) > :is(thead, tfoot, tbody) > tr > td, table:is(:not([role]), [role=table]) > tr > td":{"implicitRole":"cell"},"table:is([role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > td, table:is([role=grid], [role=treegrid]) > tr > td":{"implicitRole":"gridcell"}}},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#HTMLTableCellElementAttrs"],"attributes":{"abbr":{"deprecated":true},"align":{"deprecated":true},"axis":{"deprecated":true},"bgcolor":{"deprecated":true},"char":{"deprecated":true},"charoff":{"deprecated":true},"colspan":{},"headers":{},"height":{"deprecated":true},"rowspan":{},"scope":{"deprecated":true},"valign":{"deprecated":true},"width":{"deprecated":true}}},"template":{"categories":["#metadata","#flow","#phrasing","#script-supporting"],"contentModel":{"contents":true},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"shadowrootclonable":{"type":"Boolean"},"shadowrootdelegatesfocus":{"type":"Boolean"},"shadowrootmode":{"type":{"enum":["open","closed"],"missingValueDefault":"none","invalidValueDefault":"none"}},"shadowrootreferencetarget":{"type":"DOMID","nonStandard":true,"experimental":true},"shadowrootserializable":{"type":"Boolean"}}},"textarea":{"categories":["#flow","#phrasing","#interactive"],"contentModel":{"contents":[{"optional":"#text"}]},"aria":{"implicitRole":"textbox","permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLFormControlElementAttrs","#HTMLGlobalAttrs"],"attributes":{"autocapitalize":{},"autocomplete":{},"autocorrect":{},"autofocus":{},"cols":{"type":{"type":"integer","gt":0}},"dirname":{},"disabled":{},"form":{},"maxlength":{},"minlength":{},"name":{},"placeholder":{"type":"Any"},"readonly":{},"required":{},"rows":{"type":{"type":"integer","gt":0}},"spellcheck":{},"wrap":{"type":{"enum":["soft","hard"],"missingValueDefault":"soft","invalidValueDefault":"soft"}}}},"tfoot":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":"tr"}]},"aria":{"implicitRole":"rowgroup","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"align":{"deprecated":true},"bgcolor":{"deprecated":true},"char":{"deprecated":true},"charoff":{"deprecated":true},"valign":{"deprecated":true}}},"th":{"categories":[],"contentModel":{"contents":[{"oneOrMore":":model(flow):not(header, footer, :model(sectioning), :model(heading), :has(header, footer, :model(sectioning), :model(heading)))"}]},"aria":{"permittedRoles":"any","conditions":{"table:is(:not([role]), [role=table]) > :is(thead, tfoot, tbody) > tr > th, table:is(:not([role]), [role=table]) > tr > th":{"implicitRole":"cell"},"table:is([role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th, table:is([role=grid], [role=treegrid]) > tr > th":{"implicitRole":"gridcell"},"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > thead > tr > th:not([scope])":{"implicitRole":"columnheader"},"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(tfoot, tbody) > tr > th:not([scope]), table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > th:not([scope])":{"implicitRole":"rowheader"},"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th[scope=col], table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > th[scope=col]":{"implicitRole":"columnheader"},"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th[scope=row], table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > th[scope=row]":{"implicitRole":"rowheader"}}},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#HTMLTableCellElementAttrs"],"attributes":{"abbr":{"type":"Any"},"align":{"deprecated":true},"axis":{"deprecated":true},"bgcolor":{"deprecated":true},"char":{"deprecated":true},"charoff":{"deprecated":true},"colspan":{},"headers":{},"height":{"deprecated":true},"rowspan":{},"scope":{"type":{"enum":["row","col","rowgroup","colgroup"],"missingValueDefault":"auto","invalidValueDefault":"auto"}},"valign":{"deprecated":true},"width":{"deprecated":true}}},"thead":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":"tr"}]},"aria":{"implicitRole":"rowgroup","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"align":{"deprecated":true},"bgcolor":{"deprecated":true},"char":{"deprecated":true},"charoff":{"deprecated":true},"valign":{"deprecated":true}}},"time":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"time","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"datetime":{"type":"DateTime"}}},"title":{"categories":["#metadata"],"contentModel":{"contents":[{"require":"#text"}]},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"tr":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":["th","td",":model(script-supporting)"]}]},"aria":{"implicitRole":"row","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"align":{"deprecated":true},"bgcolor":{"deprecated":true},"char":{"deprecated":true},"charoff":{"deprecated":true},"valign":{"deprecated":true}}},"track":{"categories":[],"contentModel":{"contents":false},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"default":{"type":"Boolean"},"kind":{"type":{"enum":["subtitles","captions","descriptions","chapters","metadata"],"missingValueDefault":"metadata","invalidValueDefault":"metadata"}},"label":{"type":"NoEmptyAny"},"src":{"type":"URL","required":true},"srclang":{"type":"BCP47"}}},"tt":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"u":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"implicitRole":"generic","permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"ul":{"categories":["#flow","#palpable"],"contentModel":{"contents":[{"zeroOrMore":["li",":model(script-supporting)"]}]},"aria":{"implicitRole":"list","permittedRoles":["group","listbox","menu","menubar","none","presentation","radiogroup","tablist","toolbar","tree","directory"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{"compact":{"deprecated":true},"type":{"deprecated":true}}},"var":{"categories":["#flow","#phrasing","#palpable"],"contentModel":{"contents":[{"oneOrMore":":model(phrasing)"}]},"aria":{"permittedRoles":"any","namingProhibited":true},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"video":{"categories":["#flow","#phrasing","#embedded","#interactive","#palpable"],"contentModel":{"contents":[{"zeroOrMore":"source"},{"zeroOrMore":"track"},{"transparent":":not(audio, video, :has(audio, video))"}],"conditional":[{"condition":"[src]","contents":[{"zeroOrMore":"track"},{"transparent":":not(audio, video, :has(audio, video))"}]}]},"aria":{"permittedRoles":["application"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLEmbededAndMediaContentAttrs","#HTMLGlobalAttrs","#HTMLLinkAndFetchingAttrs"],"attributes":{"autoplay":{},"controls":{},"controlslist":{"type":{"token":{"enum":["nodownload","nofullscreen","noremoteplayback"]},"ordered":false,"caseInsensitive":true,"unique":true,"separator":"space"}},"crossorigin":{},"disablepictureinpicture":{},"disableremoteplayback":{},"height":{},"loop":{},"muted":{},"playsinline":{"type":"Boolean"},"poster":{"type":"URL"},"preload":{},"src":{},"width":{}}},"wbr":{"categories":["#flow","#phrasing"],"contentModel":{"contents":false},"aria":{"permittedRoles":["none","presentation"]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs"],"attributes":{}},"xmp":{"categories":[],"obsolete":true,"contentModel":{"contents":true},"aria":{"permittedRoles":"any"},"globalAttrs":[],"attributes":{}},"svg:a":{"categories":[],"contentModel":{"conditional":[{"condition":"svg|switch > svg|a","contents":[{"transparent":"*"}]}],"contents":[{"transparent":"*, :model(SVGDescriptive):not(svg|a, :has(svg|a))"}]},"aria":{"implicitRole":"group","permittedRoles":"any","conditions":{"[href], [xlink|href]":{"implicitRole":"link"}}},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#HTMLLinkAndFetchingAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs","#XLinkAttrs"],"attributes":{"download":{},"href":{},"hreflang":{},"interestfor":{"type":"DOMID","nonStandard":true,"experimental":true},"ping":{"experimental":true},"referrerpolicy":{},"rel":{},"target":{},"type":{},"xlink:href":{"deprecated":true}}},"svg:animate":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|script"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#GlobalEventAttrs","#SVGAnimationAdditionAttrs","#SVGAnimationAttributeTargetAttrs","#SVGAnimationEventAttrs","#SVGAnimationTargetElementAttrs","#SVGAnimationTimingAttrs","#SVGAnimationValueAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{}},"svg:animateMotion":{"categories":[],"contentModel":{"contents":[{"choice":[[{"oneOrMore":[":model(SVGDescriptive)","svg|script"]},{"optional":"svg|mpath"}],[{"optional":"svg|mpath"},{"oneOrMore":[":model(SVGDescriptive)","svg|script"]}]]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#GlobalEventAttrs","#SVGAnimationAdditionAttrs","#SVGAnimationEventAttrs","#SVGAnimationTargetElementAttrs","#SVGAnimationTimingAttrs","#SVGAnimationValueAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs"],"attributes":{"keyPoints":{"type":"<key-points>"},"origin":{"type":"<origin>"},"path":{"type":"<svg-path>"},"rotate":{"type":"<rotate>"}}},"svg:animateTransform":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|script"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#GlobalEventAttrs","#SVGAnimationAdditionAttrs","#SVGAnimationAttributeTargetAttrs","#SVGAnimationEventAttrs","#SVGAnimationTargetElementAttrs","#SVGAnimationTimingAttrs","#SVGAnimationValueAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs"],"attributes":{"type":{"type":{"enum":["translate","scale","rotate","skewX","skewY"]}}}},"svg:circle":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)",":model(SVGPaintServer)","svg|clipPath","svg|marker","svg|mask","svg|script","svg|style"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{"cx":{},"cy":{},"pathLength":{"type":"<number>"},"r":{}}},"svg:clipPath":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)",":model(SVGShape)","svg|text","svg|use","svg|script"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{"clipPathUnits":{"type":{"enum":["userSpaceOnUse","objectBoundingBox"],"disallowToSurroundBySpaces":false}},"externalResourcesRequired":{"type":{"enum":["true","false"]}}}},"svg:defs":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)",":model(SVGPaintServer)",":model(SVGShape)",":model(SVGStructural)","svg|a","svg|clipPath","svg|filter","svg|foreignObject","svg|image","svg|marker","svg|mask","svg|script","svg|style","svg|switch","svg|text","svg|view"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#GlobalEventAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{}},"svg:desc":{"categories":[],"contentModel":{"contents":[{"require":[":model(SVGDescriptive)",":model(SVGNeverRendered)","#text"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#GlobalEventAttrs","#SVGCoreAttrs"],"attributes":{}},"svg:discard":{"categories":[],"contentModel":{"contents":[{"require":[":model(SVGDescriptive)","svg|script"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs"],"attributes":{"begin":{"type":"<begin-value-list>"},"href":{"type":"URL"}}},"svg:ellipse":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)",":model(SVGPaintServer)","svg|clipPath","svg|marker","svg|mask","svg|script","svg|style"]}]},"aria":{"implicitRole":"graphics-symbol","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{"cx":{},"cy":{},"pathLength":{"type":"<number>"},"rx":{},"ry":{}}},"svg:feBlend":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{"in2":{"type":[{"enum":["SourceGraphic","SourceAlpha","BackgroundImage","BackgroundAlpha","FillPaint","StrokePaint"],"disallowToSurroundBySpaces":false},"<custom-ident>"]},"mode":{"type":"<blend-mode>"}}},"svg:feColorMatrix":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{"type":{"type":{"enum":["matrix","saturate","hueRotate","luminanceToAlpha"],"disallowToSurroundBySpaces":false}},"values":{"type":"<color-matrix>"}}},"svg:feComponentTransfer":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|feFuncA","svg|feFuncR","svg|feFuncB","svg|feFuncG","svg|script"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{}},"svg:feComposite":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{"in2":{"type":[{"enum":["SourceGraphic","SourceAlpha","BackgroundImage","BackgroundAlpha","FillPaint","StrokePaint"],"disallowToSurroundBySpaces":false},"<custom-ident>"]},"k1":{"type":"<number>","ineffective":":not([operator='arithmetic' i])"},"k2":{"type":"<number>","ineffective":":not([operator='arithmetic' i])"},"k3":{"type":"<number>","ineffective":":not([operator='arithmetic' i])"},"k4":{"type":"<number>","ineffective":":not([operator='arithmetic' i])"},"operator":{"type":{"enum":["over","in","out","atop","xor","lighter","arithmetic"],"disallowToSurroundBySpaces":false}}}},"svg:feConvolveMatrix":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{"bias":{"type":"<number>"},"divisor":{"type":"<number>"},"edgeMode":{"type":{"enum":["duplicate","wrap","none"],"disallowToSurroundBySpaces":false}},"kernelMatrix":{"type":"<list-of-numbers>"},"kernelUnitLength":{"type":"<number-optional-number>","deprecated":true},"order":{"type":"<number-optional-number>"},"preserveAlpha":{"type":{"enum":["true","false"],"disallowToSurroundBySpaces":false}},"targetX":{"type":"<integer>"},"targetY":{"type":"<integer>"}}},"svg:feDiffuseLighting":{"categories":[],"contentModel":{"contents":[{"choice":[[{"zeroOrMore":[":model(SVGDescriptive)","svg|script"]},{"require":":model(SVGLightSource)"}],[{"require":":model(SVGLightSource)"},{"zeroOrMore":[":model(SVGDescriptive)","svg|script"]}]]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{"diffuseConstant":{"type":"<number>"},"kernelUnitLength":{"type":"<number-optional-number>","deprecated":true},"surfaceScale":{"type":"<number>"}}},"svg:feDisplacementMap":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{"in2":{"type":[{"enum":["SourceGraphic","SourceAlpha","BackgroundImage","BackgroundAlpha","FillPaint","StrokePaint"],"disallowToSurroundBySpaces":false},"<custom-ident>"]},"scale":{"type":"<number>"},"xChannelSelector":{"type":{"enum":["R","G","B","A"],"disallowToSurroundBySpaces":false}},"yChannelSelector":{"type":{"enum":["R","G","B","A"],"disallowToSurroundBySpaces":false}}}},"svg:feDistantLight":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs"],"attributes":{"azimuth":{"type":"<number>"},"elevation":{"type":"<number>"}}},"svg:feDropShadow":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{"dx":{"type":"<number>"},"dy":{"type":"<number>"},"stdDeviation":{"type":"<number-optional-number>"}}},"svg:feFlood":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{"flood-color":{"type":"<color>"},"flood-opacity":{"type":"<alpha-value>"}}},"svg:feFuncA":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGTransferFunctionAttrs"],"attributes":{}},"svg:feFuncB":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGTransferFunctionAttrs"],"attributes":{}},"svg:feFuncG":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGTransferFunctionAttrs"],"attributes":{}},"svg:feFuncR":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGTransferFunctionAttrs"],"attributes":{}},"svg:feGaussianBlur":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{"edgeMode":{"type":{"enum":["duplicate","wrap","none"],"disallowToSurroundBySpaces":false}},"stdDeviation":{"type":"<number-optional-number>"}}},"svg:feImage":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|animateTransform","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{"crossorigin":{"type":{"enum":["anonymous","use-credentials"],"disallowToSurroundBySpaces":false}},"externalResourcesRequired":{"type":{"enum":["true","false"],"disallowToSurroundBySpaces":false}},"href":{"type":"URL"},"preserveAspectRatio":{"type":"<preserve-aspect-ratio>"},"xlink:href":{"type":"URL","deprecated":true}}},"svg:feMerge":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|feMergeNode","svg|script"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{}},"svg:feMergeNode":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs"],"attributes":{}},"svg:feMorphology":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{"operator":{"type":{"enum":["erode","dilate"],"disallowToSurroundBySpaces":false}},"radius":{"type":"<number-optional-number>"}}},"svg:feOffset":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{"dx":{"type":"<number>"},"dy":{"type":"<number>"}}},"svg:fePointLight":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs"],"attributes":{"x":{"type":"<number>"},"y":{"type":"<number>"},"z":{"type":"<number>"}}},"svg:feSpecularLighting":{"categories":[],"contentModel":{"contents":[{"choice":[[{"zeroOrMore":[":model(SVGDescriptive)","svg|script"]},{"require":":model(SVGLightSource)"}],[{"require":":model(SVGLightSource)"},{"zeroOrMore":[":model(SVGDescriptive)","svg|script"]}]]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{"kernelUnitLength":{"type":"<number-optional-number>"},"specularConstant":{"type":"<number>"},"specularExponent":{"type":"<number>"},"surfaceScale":{"type":"<number>"}}},"svg:feSpotLight":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs"],"attributes":{"limitingConeAngle":{"type":"<number>"},"pointsAtX":{"type":"<number>"},"pointsAtY":{"type":"<number>"},"pointsAtZ":{"type":"<number>"},"specularExponent":{"type":"<number>"},"x":{"type":"<number>"},"y":{"type":"<number>"},"z":{"type":"<number>"}}},"svg:feTile":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{}},"svg:feTurbulence":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{"baseFrequency":{"type":"<number-optional-number>"},"numOctaves":{"type":"<integer>"},"seed":{"type":"<number>"},"stitchTiles":{"type":{"enum":["noStitch","stitch"]}},"type":{"type":{"enum":["fractalNoise","turbulence"]}}}},"svg:filter":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)",":model(SVGFilterPrimitive)","svg|animate","svg|script","svg|set"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{"externalResourcesRequired":{"type":{"enum":["true","false"],"disallowToSurroundBySpaces":false}},"filterRes":{"type":"<number-optional-number>","deprecated":true},"filterUnits":{"type":{"enum":["userSpaceOnUse","objectBoundingBox"],"disallowToSurroundBySpaces":false}},"height":{},"primitiveUnits":{"type":{"enum":["userSpaceOnUse","objectBoundingBox"]}},"width":{},"x":{},"y":{}}},"svg:foreignObject":{"categories":[],"contentModel":{"contents":true},"aria":{"implicitRole":"group","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{"height":{},"width":{},"x":{},"y":{}}},"svg:g":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)",":model(SVGPaintServer)",":model(SVGShape)",":model(SVGStructural)","svg|a","svg|clipPath","svg|filter","svg|foreignObject","svg|image","svg|marker","svg|mask","svg|script","svg|style","svg|switch","svg|text","svg|view"]}]},"aria":{"implicitRole":"group","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{}},"svg:image":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)","svg|clipPath","svg|mask","svg|script","svg|style"]}]},"aria":{"implicitRole":"img","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs","#XLinkAttrs"],"attributes":{"crossorigin":{"type":{"enum":["","anonymous","use-credentials"],"sameStates":{"anonymous":[""]}}},"decoding":{},"fetchpriority":{"nonStandard":true,"experimental":true},"height":{},"href":{"type":"URL"},"preserveAspectRatio":{"type":"<preserve-aspect-ratio>"},"width":{},"x":{},"xlink:href":{"deprecated":true},"y":{}}},"svg:line":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)",":model(SVGPaintServer)","svg|clipPath","svg|marker","svg|mask","svg|script","svg|style"]}]},"aria":{"implicitRole":"graphics-symbol","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{"pathLength":{"type":"<number>"},"x1":{"type":["<svg-length>","<percentage>","<number>"]},"x2":{"type":["<svg-length>","<percentage>","<number>"]},"y1":{"type":["<svg-length>","<percentage>","<number>"]},"y2":{"type":["<svg-length>","<percentage>","<number>"]}}},"svg:linearGradient":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|animateTransform","svg|script","svg|set","svg|stop","svg|style"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#GlobalEventAttrs","#SVGCoreAttrs","#SVGPresentationAttrs","#XLinkAttrs"],"attributes":{"gradientTransform":{"type":"<transform-list>"},"gradientUnits":{"type":{"enum":["userSpaceOnUse","objectBoundingBox"],"disallowToSurroundBySpaces":false}},"href":{"type":"URL"},"spreadMethod":{"type":{"enum":["pad","reflect","repeat"],"disallowToSurroundBySpaces":false}},"x1":{"type":["<svg-length>","<percentage>"]},"x2":{"type":["<svg-length>","<percentage>"]},"xlink:href":{"deprecated":true},"y1":{"type":["<svg-length>","<percentage>"]},"y2":{"type":["<svg-length>","<percentage>"]}}},"svg:marker":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)",":model(SVGPaintServer)",":model(SVGShape)",":model(SVGStructural)","svg|a","svg|clipPath","svg|filter","svg|foreignObject","svg|image","svg|marker","svg|mask","svg|script","svg|style","svg|switch","svg|text","svg|view"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#GlobalEventAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{"markerHeight":{"type":["<svg-length>","<percentage>","<number>"]},"markerUnits":{"type":{"enum":["userSpaceOnUse","strokeWidth"],"disallowToSurroundBySpaces":false}},"markerWidth":{"type":["<svg-length>","<percentage>","<number>"]},"orient":{"type":[{"enum":["auto","auto-start-reverse"],"disallowToSurroundBySpaces":false},"<angle>","<number>"]},"preserveAspectRatio":{"type":"<preserve-aspect-ratio>"},"refX":{"type":["<percentage>","<number>",{"enum":["left","center","right"],"disallowToSurroundBySpaces":false}]},"refY":{"type":["<percentage>","<number>",{"enum":["left","center","right"],"disallowToSurroundBySpaces":false}]},"viewBox":{"type":"<view-box>"}}},"svg:mask":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)",":model(SVGShape)",":model(SVGStructural)",":model(SVGGradient)","svg|a","svg|altGlyphDef","svg|clipPath","svg|color-profile","svg|cursor","svg|filter","svg|font","svg|font-face","svg|foreignObject","svg|image","svg|marker","svg|mask","svg|pattern","svg|script","svg|style","svg|switch","svg|text","svg|view"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGFilterPrimitiveAttrs","#SVGPresentationAttrs"],"attributes":{"height":{},"mask-type":{},"maskContentUnits":{"type":{"enum":["userSpaceOnUse","objectBoundingBox"]}},"maskUnits":{"type":{"enum":["userSpaceOnUse","objectBoundingBox"],"disallowToSurroundBySpaces":false}},"width":{},"x":{},"y":{}}},"svg:metadata":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)",":model(SVGNeverRendered)","#text"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#GlobalEventAttrs","#SVGCoreAttrs"],"attributes":{}},"svg:mpath":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|script"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#GlobalEventAttrs","#SVGCoreAttrs"],"attributes":{"href":{"type":"URL"}}},"svg:path":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)",":model(SVGPaintServer)","svg|clipPath","svg|marker","svg|mask","svg|script","svg|style"]}]},"aria":{"implicitRole":"graphics-symbol","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs","#XLinkAttrs"],"attributes":{"d":{},"pathLength":{"type":"<number>"}}},"svg:pattern":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)",":model(SVGPaintServer)",":model(SVGShape)",":model(SVGStructural)","svg|a","svg|clipPath","svg|filter","svg|foreignObject","svg|image","svg|marker","svg|mask","svg|script","svg|style","svg|switch","svg|text","svg|view"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#GlobalEventAttrs","#SVGCoreAttrs","#SVGPresentationAttrs","#XLinkAttrs"],"attributes":{"height":{},"href":{"type":"URL"},"patternContentUnits":{"type":{"enum":["userSpaceOnUse","objectBoundingBox"],"disallowToSurroundBySpaces":false}},"patternTransform":{"type":"<transform-list>"},"patternUnits":{"type":{"enum":["userSpaceOnUse","objectBoundingBox"],"disallowToSurroundBySpaces":false}},"preserveAspectRatio":{"type":"<preserve-aspect-ratio>"},"viewBox":{"type":"<view-box>"},"width":{},"x":{},"xlink:href":{"deprecated":true},"y":{}}},"svg:polygon":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)",":model(SVGPaintServer)","svg|clipPath","svg|marker","svg|mask","svg|script","svg|style"]}]},"aria":{"implicitRole":"graphics-symbol","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{"pathLength":{"type":"<number>"},"points":{"type":"<points>"}}},"svg:polyline":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)",":model(SVGPaintServer)","svg|clipPath","svg|marker","svg|mask","svg|script","svg|style"]}]},"aria":{"implicitRole":"graphics-symbol","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{"pathLength":{"type":"<number>"},"points":{"type":"<points>"}}},"svg:radialGradient":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|animate","svg|animateTransform","svg|script","svg|set","svg|stop","svg|style"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#GlobalEventAttrs","#SVGCoreAttrs","#SVGPresentationAttrs","#XLinkAttrs"],"attributes":{"cx":{"type":["<svg-length>","<percentage>"]},"cy":{"type":["<svg-length>","<percentage>"]},"fr":{"type":["<svg-length>","<percentage>"]},"fx":{"type":["<svg-length>","<percentage>"]},"fy":{"type":["<svg-length>","<percentage>"]},"gradientTransform":{"type":"<transform-list>"},"gradientUnits":{"type":{"enum":["userSpaceOnUse","objectBoundingBox"],"disallowToSurroundBySpaces":false}},"href":{"type":"URL"},"r":{"type":["<svg-length>","<percentage>"]},"spreadMethod":{"type":{"enum":["pad","reflect","repeat"],"disallowToSurroundBySpaces":false}},"xlink:href":{"deprecated":true}}},"svg:rect":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)",":model(SVGPaintServer)","svg|clipPath","svg|marker","svg|mask","svg|script","svg|style"]}]},"aria":{"implicitRole":"graphics-symbol","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{"height":{},"pathLength":{"type":"<number>"},"rx":{},"ry":{},"width":{},"x":{},"y":{}}},"svg:script":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGNeverRendered)",":model(SVGStructurallyExternal)","#text"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#GlobalEventAttrs","#SVGCoreAttrs","#XLinkAttrs"],"attributes":{"crossorigin":{"type":{"enum":["anonymous","use-credentials",""],"disallowToSurroundBySpaces":false}},"fetchpriority":{"nonStandard":true,"experimental":true},"href":{"type":"URL"},"type":{"type":"MIMEType"},"xlink:href":{"deprecated":true}}},"svg:set":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)","svg|script"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#GlobalEventAttrs","#SVGAnimationAttributeTargetAttrs","#SVGAnimationEventAttrs","#SVGAnimationTargetElementAttrs","#SVGAnimationTimingAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs"],"attributes":{"to":{"type":"NoEmptyAny"}}},"svg:stop":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":["svg:animate","svg|animateColor","svg|script","svg|set","svg|style"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#GlobalEventAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{"offset":{"type":["<number>","<percentage>"]},"stop-color":{"type":"<color>"},"stop-opacity":{"type":"<'opacity'>"}}},"svg:style":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":"#text"}]},"aria":{"permittedRoles":[]},"globalAttrs":["#GlobalEventAttrs","#SVGCoreAttrs"],"attributes":{"media":{"type":"<media-query-list>"},"title":{"type":"Any"},"type":{"type":"MIMEType"}}},"svg:svg":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)",":model(SVGPaintServer)",":model(SVGShape)",":model(SVGStructural)","svg|a","svg|clipPath","svg|filter","svg|foreignObject","svg|image","svg|marker","svg|mask","svg|script","svg|style","svg|switch","svg|text","svg|view"]}]},"aria":{"implicitRole":"graphics-document","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{"baseProfile":{"type":"Any","deprecated":true},"contentScriptType":{"type":"Any","deprecated":true},"contentStyleType":{"type":"Any","deprecated":true},"height":{},"onunload":{"type":"FunctionBody"},"preserveAspectRatio":{"type":"<preserve-aspect-ratio>"},"version":{"type":"Any","deprecated":true},"viewBox":{"type":"<view-box>"},"width":{},"x":{},"y":{}}},"svg:switch":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGShape)","svg|a","svg|foreignObject","svg|g","svg|image","svg|svg","svg|switch","svg|text","svg|use"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{"requiredExtensions":{},"systemLanguage":{}}},"svg:symbol":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)",":model(SVGPaintServer)",":model(SVGShape)",":model(SVGStructural)","svg|a","svg|clipPath","svg|filter","svg|foreignObject","svg|image","svg|marker","svg|mask","svg|script","svg|style","svg|switch","svg|text","svg|view"]}]},"aria":{"implicitRole":"graphics-object","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{"height":{},"preserveAspectRatio":{"type":"<preserve-aspect-ratio>"},"refX":{"type":["<svg-length>","<percentage>","<number>",{"enum":["left","center","right"]}]},"refY":{"type":["<svg-length>","<percentage>","<number>",{"enum":["top","center","bottom"]}]},"viewBox":{"type":"<view-box>"},"width":{},"x":{},"y":{}}},"svg:text":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":["#text",":model(SVGAnimation)",":model(SVGDescriptive)",":model(SVGPaintServer)",":model(SVGTextContentChild)","svg|a","svg|clipPath","svg|marker","svg|mask","svg|script","svg|style"]}]},"aria":{"implicitRole":"group","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{"dx":{"type":"<text-coordinate>"},"dy":{"type":"<text-coordinate>"},"lengthAdjust":{"type":{"enum":["spacing","spacingAndGlyphs"],"disallowToSurroundBySpaces":false}},"rotate":{"type":"<list-of-numbers>"},"textLength":{"type":["<svg-length>","<percentage>"]},"x":{"type":"<text-coordinate>"},"y":{"type":"<text-coordinate>"}}},"svg:textPath":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":["#text",":model(SVGDescriptive)",":model(SVGPaintServer)","svg|a","svg|animate","svg|clipPath","svg|marker","svg|mask","svg|script","svg|set","svg|style","svg|tspan"]}]},"aria":{"implicitRole":"group","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs","#XLinkAttrs"],"attributes":{"href":{"type":"URL"},"lengthAdjust":{"type":{"enum":["spacing","spacingAndGlyphs"],"disallowToSurroundBySpaces":false}},"method":{"type":{"enum":["align","stretch"],"disallowToSurroundBySpaces":false}},"path":{"type":"<svg-path>","experimental":true},"side":{"type":{"enum":["left","right"],"disallowToSurroundBySpaces":false},"experimental":true},"spacing":{"type":{"enum":["auto","exact"],"disallowToSurroundBySpaces":false}},"startOffset":{"type":["<svg-length>","<percentage>"]},"textLength":{"type":["<svg-length>","<percentage>"]}}},"svg:title":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGDescriptive)",":model(SVGNeverRendered)","#text"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#GlobalEventAttrs","#SVGCoreAttrs"],"attributes":{}},"svg:tspan":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":["#text",":model(SVGDescriptive)",":model(SVGPaintServer)","svg|a","svg|animate","svg|script","svg|set","svg|style","svg|tspan"]}]},"aria":{"implicitRole":"group","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs"],"attributes":{"dx":{"type":"<text-coordinate>"},"dy":{"type":"<text-coordinate>"},"lengthAdjust":{"type":{"enum":["spacing","spacingAndGlyphs"],"disallowToSurroundBySpaces":false}},"rotate":{"type":"<list-of-numbers>"},"textLength":{"type":["<svg-length>","<percentage>"]},"x":{"type":"<text-coordinate>"},"y":{"type":"<text-coordinate>"}}},"svg:use":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)","svg|clipPath","svg|mask","svg|script","svg|style"]}]},"aria":{"implicitRole":"graphics-object","permittedRoles":"any"},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGConditionalProcessingAttrs","#SVGCoreAttrs","#SVGPresentationAttrs","#XLinkAttrs"],"attributes":{"height":{},"href":{"type":"URL"},"width":{},"x":{},"xlink:href":{"deprecated":true},"y":{}}},"svg:view":{"categories":[],"contentModel":{"contents":[{"zeroOrMore":[":model(SVGAnimation)",":model(SVGDescriptive)","svg|script","svg|style"]}]},"aria":{"permittedRoles":[]},"globalAttrs":["#ARIAAttrs","#GlobalEventAttrs","#HTMLGlobalAttrs","#SVGCoreAttrs"],"attributes":{"preserveAspectRatio":{"type":"<preserve-aspect-ratio>"},"viewBox":{"type":"<view-box>"},"viewTarget":{"type":"Any","deprecated":true},"zoomAndPan":{"type":{"enum":["disable","magnify"]},"deprecated":true}}}},"contentModels":{"#metadata":["base","link","meta","noscript","script","style","template","title"],"#flow":["a","abbr","address","area","article","aside","audio","b","bdi","bdo","blockquote","br","button","canvas","cite","code","data","datalist","del","details","dfn","dialog","div","dl","em","embed","fieldset","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","i","iframe","img","input","ins","kbd","label","link[itemprop]","link[rel=dns-prefetch]","link[rel=modulepreload]","link[rel=pingback]","link[rel=preconnect]","link[rel=prefetch]","link[rel=preload]","link[rel=prerender]","link[rel=stylesheet]","main","map","mark","math","menu","meta[itemprop]","meter","nav","noscript","object","ol","output","p","picture","pre","progress","q","ruby","s","samp","script","search","section","select","slot","small","span","strong","sub","sup","svg|svg","table","template","textarea","time","u","ul","var","video","wbr","#custom","#text"],"#sectioning":["article","aside","nav","section"],"#heading":["h1","h2","h3","h4","h5","h6","hgroup:has(h1,h2,h3,h4,h5,h6)"],"#phrasing":["a","abbr","area","audio","b","bdi","bdo","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","label","link[itemprop]","link[rel=dns-prefetch]","link[rel=modulepreload]","link[rel=pingback]","link[rel=preconnect]","link[rel=prefetch]","link[rel=preload]","link[rel=prerender]","link[rel=stylesheet]","map","mark","math","meta[itemprop]","meter","noscript","object","output","picture","progress","q","ruby","s","samp","script","select","slot","small","span","strong","sub","sup","svg|svg","template","textarea","time","u","var","video","wbr","#custom","#text"],"#embedded":["audio","canvas","embed","iframe","img","math","object","picture","svg|svg","video"],"#interactive":["a[href]","audio[controls]","button","details","embed","iframe","img[usemap]","input:not([type='hidden' i])","label","select","textarea","video[controls]"],"#palpable":["a","abbr","address","article","aside","audio[controls]","b","bdi","bdo","blockquote","button","canvas","cite","code","data","del","details","dfn","div","dl:has(>:is(dt+dd))","em","embed","fieldset","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","i","iframe","img","input:not([type='hidden' i])","ins","kbd","label","main","map","mark","math","menu:has(>li)","meter","nav","object","ol:has(>li)","output","p","picture","pre","progress","q","ruby","s","samp","search","section","select","small","span","strong","sub","sup ","svg","table","textarea","time","u","ul:has(>li)","var","video","#custom","#text"],"#script-supporting":["script","template"],"#SVGAnimation":["svg|animate","svg|animateColor","svg|animateMotion","svg|animateTransform","svg|discard","svg|mpath","svg|set"],"#SVGBasicShapes":["svg|circle","svg|ellipse","svg|line","svg|polygon","svg|polyline","svg|rect"],"#SVGContainer":["svg|a","svg|defs","svg|g","svg|marker","svg|mask","svg|missing-glyph","svg|pattern","svg|svg","svg|switch","svg|symbol"],"#SVGDescriptive":["svg|desc","svg|metadata","svg|title"],"#SVGFilterPrimitive":["svg|feBlend","svg|feColorMatrix","svg|feComponentTransfer","svg|feComposite","svg|feConvolveMatrix","svg|feDiffuseLighting","svg|feDisplacementMap","svg|feDropShadow","svg|feFlood","svg|feFuncA","svg|feFuncB","svg|feFuncG","svg|feFuncR","svg|feGaussianBlur","svg|feImage","svg|feMerge","svg|feMergeNode","svg|feMorphology","svg|feOffset","svg|feSpecularLighting","svg|feTile","svg|feTurbulence"],"#SVGFont":["svg|font","svg|font-face","svg|font-face-format","svg|font-face-name","svg|font-face-src","svg|font-face-uri","svg|hkern","svg|vkern"],"#SVGGradient":["svg|linearGradient","svg|radialGradient","svg|stop"],"#SVGGraphics":["svg|circle","svg|ellipse","svg|image","svg|line","svg|path","svg|polygon","svg|polyline","svg|rect","svg|text","svg|use"],"#SVGGraphicsReferencing":["svg|use"],"#SVGLightSource":["svg|feDistantLight","svg|fePointLight","svg|feSpotLight"],"#SVGNeverRendered":["svg|clipPath","svg|defs","svg|linearGradient","svg|marker","svg|mask","svg|metadata","svg|pattern","svg|radialGradient","svg|script","svg|style","svg|symbol","svg|title"],"#SVGPaintServer":["svg|linearGradient","svg|pattern","svg|radialGradient","svg|solidcolor"],"#SVGRenderable":["svg|a","svg|circle","svg|ellipse","svg|foreignObject","svg|g","svg|image","svg|line","svg|path","svg|polygon","svg|polyline","svg|rect","svg|svg","svg|switch","svg|symbol","svg|text","svg|textPath","svg|tspan","svg|unknown","svg|use"],"#SVGShape":["svg|circle","svg|ellipse","svg|line","svg|path","svg|polygon","svg|polyline","svg|rect"],"#SVGStructural":["svg|defs","svg|g","svg|svg","svg|symbol","svg|use"],"#SVGStructurallyExternal":[],"#SVGTextContent":["svg|altGlyph","svg|altGlyphDef","svg|altGlyphItem","svg|glyph","svg|glyphRef","svg|textPath","svg|text","svg|tref","svg|tspan"],"#SVGTextContentChild":["svg|altGlyph","svg|textPath","svg|tref","svg|tspan"]},"globalAttrs":{"#HTMLGlobalAttrs":{"accesskey":{"type":{"token":"OneCodePointChar","ordered":true,"unique":true,"number":"zeroOrMore","separator":"space"}},"autocapitalize":{"type":{"enum":["off","on","none","sentences","words","characters"],"disallowToSurroundBySpaces":true,"invalidValueDefault":"sentences","missingValueDefault":"default","sameStates":{"none":["off"],"sentences":["on"]}}},"autocorrect":{"type":{"enum":["","on","off"],"disallowToSurroundBySpaces":true,"invalidValueDefault":"on","missingValueDefault":"on","sameStates":{"on":[""]}}},"autofocus":{"type":"Boolean"},"contenteditable":{"type":{"enum":["","true","false","plaintext-only"],"disallowToSurroundBySpaces":true,"invalidValueDefault":"inherit","missingValueDefault":"inherit","sameStates":{"true":[""]}}},"dir":{"type":{"enum":["ltr","rtl","auto"]}},"draggable":{"type":{"enum":["true","false"],"invalidValueDefault":"auto","missingValueDefault":"auto"}},"enterkeyhint":{"type":{"enum":["enter","done","go","next","previous","search","send"]}},"headingoffset":{"type":{"type":"integer","gte":0,"lte":8}},"headingreset":{"type":"Boolean"},"hidden":{"type":{"enum":["","hidden","until-found"]}},"inert":{"type":"Boolean"},"inputmode":{"type":{"enum":["none","text","tel","url","email","numeric","decimal","search"]}},"is":{"type":"CustomElementName"},"itemid":{"type":"URL"},"itemprop":{"type":{"token":"ItemProp","ordered":false,"unique":true,"separator":"space"}},"itemref":{"type":{"token":"DOMID","separator":"space"},"condition":"[itemscope]"},"itemscope":{"type":"Boolean"},"itemtype":{"type":{"token":"AbsoluteURL","ordered":false,"unique":true,"separator":"space"}},"lang":{"type":"BCP47"},"nonce":{"type":"Any"},"popover":{"type":{"enum":["","auto","manual","hint"],"disallowToSurroundBySpaces":true,"invalidValueDefault":"manual","missingValueDefault":"no popover","sameStates":{"auto":[""]}}},"spellcheck":{"type":{"enum":["","true","false"],"disallowToSurroundBySpaces":true,"invalidValueDefault":"default","missingValueDefault":"default","sameStates":{"true":[""]}}},"style":{"type":"<css-declaration-list>"},"tabindex":{"type":"TabIndex"},"title":{"type":"Any"},"translate":{"type":{"enum":["","yes","no"],"disallowToSurroundBySpaces":true,"invalidValueDefault":"inherit","missingValueDefault":"inherit","sameStates":{"yes":[""]}}},"writingsuggestions":{"type":{"enum":["","true","false"],"disallowToSurroundBySpaces":true,"invalidValueDefault":"default","missingValueDefault":"default","sameStates":{"true":[""]}}},"class":{"type":"Any"},"id":{"type":"DOMID"},"slot":{"type":"NoEmptyAny"},"xmlns":{"type":"URL","ineffective":"*"},"xml:lang":{"type":"BCP47","deprecated":true},"xml:space":{"type":{"enum":["default","preserve"]},"deprecated":true},"elementtiming":{"type":"NoEmptyAny","experimental":true}},"#GlobalEventAttrs":{"onabort":{"type":"FunctionBody"},"onauxclick":{"type":"FunctionBody"},"onbeforeinput":{"type":"FunctionBody"},"onbeforematch":{"type":"FunctionBody"},"onbeforetoggle":{"type":"FunctionBody"},"onblur":{"type":"FunctionBody"},"oncancel":{"type":"FunctionBody"},"oncanplay":{"type":"FunctionBody"},"oncanplaythrough":{"type":"FunctionBody"},"onchange":{"type":"FunctionBody"},"onclick":{"type":"FunctionBody"},"onclose":{"type":"FunctionBody"},"oncommand":{"type":"FunctionBody"},"oncontextlost":{"type":"FunctionBody"},"oncompositionstart":{"type":"FunctionBody"},"oncompositionupdate":{"type":"FunctionBody"},"oncompositionend":{"type":"FunctionBody"},"oncontextmenu":{"type":"FunctionBody"},"oncontextrestored":{"type":"FunctionBody"},"oncopy":{"type":"FunctionBody"},"oncuechange":{"type":"FunctionBody"},"oncut":{"type":"FunctionBody"},"ondblclick":{"type":"FunctionBody"},"ondrag":{"type":"FunctionBody"},"ondragend":{"type":"FunctionBody"},"ondragenter":{"type":"FunctionBody"},"ondragleave":{"type":"FunctionBody"},"ondragover":{"type":"FunctionBody"},"ondragstart":{"type":"FunctionBody"},"ondrop":{"type":"FunctionBody"},"ondurationchange":{"type":"FunctionBody"},"onemptied":{"type":"FunctionBody"},"onended":{"type":"FunctionBody"},"onerror":{"type":"FunctionBody"},"onfocus":{"type":"FunctionBody"},"onformdata":{"type":"FunctionBody"},"onfocusin":{"type":"FunctionBody"},"onfocusout":{"type":"FunctionBody"},"oninput":{"type":"FunctionBody"},"oninvalid":{"type":"FunctionBody"},"onkeydown":{"type":"FunctionBody"},"onkeypress":{"type":"FunctionBody"},"onkeyup":{"type":"FunctionBody"},"onload":{"type":"FunctionBody"},"onloadeddata":{"type":"FunctionBody"},"onloadedmetadata":{"type":"FunctionBody"},"onloadstart":{"type":"FunctionBody"},"onmousedown":{"type":"FunctionBody"},"onmouseenter":{"type":"FunctionBody"},"onmouseleave":{"type":"FunctionBody"},"onmousemove":{"type":"FunctionBody"},"onmouseout":{"type":"FunctionBody"},"onmouseover":{"type":"FunctionBody"},"onmouseup":{"type":"FunctionBody"},"onpaste":{"type":"FunctionBody"},"onpause":{"type":"FunctionBody"},"onplay":{"type":"FunctionBody"},"onplaying":{"type":"FunctionBody"},"onprogress":{"type":"FunctionBody"},"onratechange":{"type":"FunctionBody"},"onreset":{"type":"FunctionBody"},"onresize":{"type":"FunctionBody"},"onscroll":{"type":"FunctionBody"},"onscrollend":{"type":"FunctionBody"},"onsecuritypolicyviolation":{"type":"FunctionBody"},"onseeked":{"type":"FunctionBody"},"onseeking":{"type":"FunctionBody"},"onselect":{"type":"FunctionBody"},"onslotchange":{"type":"FunctionBody"},"onstalled":{"type":"FunctionBody"},"onsubmit":{"type":"FunctionBody"},"onsuspend":{"type":"FunctionBody"},"ontimeupdate":{"type":"FunctionBody"},"ontoggle":{"type":"FunctionBody"},"onvolumechange":{"type":"FunctionBody"},"onwaiting":{"type":"FunctionBody"},"onunload":{"type":"FunctionBody"},"onwheel":{"type":"FunctionBody"},"onanimationstart":{"type":"FunctionBody"},"onanimationiteration":{"type":"FunctionBody"},"onanimationend":{"type":"FunctionBody"},"onanimationcancel":{"type":"FunctionBody"},"ontransitionrun":{"type":"FunctionBody"},"ontransitionstart":{"type":"FunctionBody"},"ontransitionend":{"type":"FunctionBody"},"ontransitioncancel":{"type":"FunctionBody"},"onwebkitanimationend":{"type":"FunctionBody","deprecated":true},"onwebkitanimationiteration":{"type":"FunctionBody","deprecated":true},"onwebkitanimationstart":{"type":"FunctionBody","deprecated":true},"onwebkittransitionend":{"type":"FunctionBody","deprecated":true}},"#HTMLLinkAndFetchingAttrs":{"href":{"type":"URL"},"target":{"type":"NavigableTargetNameOrKeyword","condition":"[href]"},"download":{"type":"Any","condition":"[href]"},"ping":{"type":{"token":"HTTPSchemaURL","separator":"space"},"condition":"[href]"},"rel":{"type":"LinkTypeForAnchorAndAreaElement","condition":"[href]"},"hreflang":{"type":"BCP47","condition":"[href]"},"type":{"type":"MIMEType","condition":"[href]"},"referrerpolicy":{"type":{"enum":["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]},"condition":"[href], [src]"},"loading":{"type":{"enum":["lazy","eager"],"invalidValueDefault":"eager","missingValueDefault":"eager"}},"integrity":{"type":"Any"},"media":{"type":"<media-query-list>"},"crossorigin":{"type":{"enum":["","anonymous","use-credentials"],"invalidValueDefault":"anonymous","missingValueDefault":"No CORS","sameStates":{"anonymous":[""]}}},"fetchpriority":{"type":{"enum":["high","low","auto"],"invalidValueDefault":"auto","missingValueDefault":"auto"}}},"#HTMLEmbededAndMediaContentAttrs":{"src":{"type":"URL"},"preload":{"type":{"enum":["none","metadata","auto"],"invalidValueDefault":"implementation-defined","missingValueDefault":"implementation-defined"}},"autoplay":{"type":"Boolean"},"loop":{"type":"Boolean"},"muted":{"type":"Boolean"},"controls":{"type":"Boolean"},"height":{"type":"Uint"},"srcset":{"type":"Srcset"},"sizes":{"type":"SourceSizeList"},"width":{"type":"Uint"}},"#HTMLFormControlElementAttrs":{"autocomplete":{"type":"AutoComplete"},"dirname":{"type":"NoEmptyAny"},"disabled":{"type":"Boolean"},"form":{"type":"DOMID"},"formaction":{"type":"URL"},"formenctype":{"type":{"enum":["application/x-www-form-urlencoded","multipart/form-data","text/plain"],"invalidValueDefault":"application/x-www-form-urlencoded"}},"formmethod":{"type":{"enum":["post","get","dialog"],"invalidValueDefault":"get"}},"formnovalidate":{"type":"Boolean"},"formtarget":{"type":"NavigableTargetNameOrKeyword"},"name":{"type":"NoEmptyAny"},"maxlength":{"type":"Uint"},"minlength":{"type":"Uint"},"readonly":{"type":"Boolean"},"required":{"type":"Boolean"}},"#HTMLTableCellElementAttrs":{"colspan":{"type":{"type":"integer","gt":0,"lte":1000}},"rowspan":{"type":{"type":"integer","gt":0,"lte":65534}},"headers":{"type":{"token":"DOMID","ordered":false,"unique":true,"separator":"space"}}},"#ARIAAttrs":{"role":{"type":{"token":"NoEmptyAny","separator":"space"}}},"#SVGAnimationAdditionAttrs":{"additive":{"type":{"enum":["replace","sum"]}},"accumulate":{"type":{"enum":["none","sum"]}}},"#SVGAnimationAttributeTargetAttrs":{"attributeName":{"type":"XMLName"},"attributeType":{"type":{"enum":["CSS","XML","auto"]},"noUse":true}},"#SVGAnimationEventAttrs":{"onbegin":{"type":"FunctionBody"},"onend":{"type":"FunctionBody"},"onrepeat":{"type":"FunctionBody"}},"#SVGAnimationTargetElementAttrs":{"href":{"type":"URL"},"xlink:href":{"type":"URL","deprecated":true}},"#SVGAnimationTimingAttrs":{"begin":{"type":"<begin-value-list>"},"dur":{"type":["<clock-value>",{"enum":["media","indefinite"]}]},"end":{"type":"<end-value-list>"},"min":{"type":"<clock-value>"},"max":{"type":"<clock-value>"},"restart":{"type":{"enum":["always","whenNotActive","never"]}},"repeatCount":{"type":["<number>",{"enum":["indefinite"]}]},"repeatDur":{"type":["<clock-value>",{"enum":["indefinite"]}]},"fill":{"type":{"enum":["freeze","remove"]}}},"#SVGAnimationValueAttrs":{"calcMode":{"type":{"enum":["discrete","linear","paced","spline"]}},"values":{"type":"<list-of-value>"},"keyTimes":{"type":"<key-times>"},"keySplines":{"type":"<key-splines>"},"from":{"type":"<animatable-value>"},"to":{"type":"<animatable-value>"},"by":{"type":"<animatable-value>"},"accelerate":{"type":"<number-zero-one>"},"decelerate":{"type":"<number-zero-one>"},"autoReverse":{"type":{"enum":["true","false"]}},"speed":{"type":"<number>"}},"#SVGConditionalProcessingAttrs":{"requiredExtensions":{"type":{"token":"URL","unique":true,"separator":"space"}},"systemLanguage":{"type":{"token":"BCP47","unique":true,"separator":"comma"}},"requiredFeatures":{"type":"<list-of-svg-feature-string>","deprecated":true}},"#SVGCoreAttrs":{"id":{"type":"DOMID"},"tabindex":{"type":"TabIndex"},"autofocus":{"type":"Boolean"},"lang":{"type":"BCP47"},"class":{"type":"Any"},"style":{"type":"<css-declaration-list>"},"xmlns":{"type":"URL","ineffective":":not(:root)"},"xml:space":{"type":{"enum":["default","preserve"]},"deprecated":true},"xml:lang":{"type":"BCP47","deprecated":true},"xml:base":{"type":"URL","deprecated":true}},"#SVGFilterPrimitiveAttrs":{"x":{"type":["<svg-length>","<percentage>"]},"y":{"type":["<svg-length>","<percentage>"]},"width":{"type":["<svg-length>","<percentage>"]},"height":{"type":["<svg-length>","<percentage>"]},"result":{"type":"<custom-ident>"},"in":{"type":[{"enum":["SourceGraphic","SourceAlpha","BackgroundImage","BackgroundAlpha","FillPaint","StrokePaint"],"disallowToSurroundBySpaces":false},"<custom-ident>"]}},"#SVGPresentationAttrs":{"cx":{"type":["<svg-length>","<percentage>"]},"cy":{"type":["<svg-length>","<percentage>"]},"height":{"type":["<svg-length>","<'height'>"]},"width":{"type":["<svg-length>","<'width'>"]},"x":{"type":["<svg-length>","<percentage>"]},"y":{"type":["<svg-length>","<percentage>"]},"r":{"type":["<svg-length>","<percentage>"]},"rx":{"type":["<svg-length>","<percentage>",{"enum":["auto"]}]},"ry":{"type":["<svg-length>","<percentage>",{"enum":["auto"]}]},"d":{"type":"<svg-path>"},"transform":{"type":"<'transform'>"},"transform-origin":{"type":"<'transform-origin'>"},"patternTransform":{"type":"<transform-list>"},"gradientTransform":{"type":"<transform-list>"},"alignment-baseline":{"type":"<'alignment-baseline'>"},"baseline-shift":{"type":"<'baseline-shift'>"},"clip-path":{"type":"<'clip-path'>"},"clip-rule":{"type":"<'clip-rule'>"},"color":{"type":"<color>"},"color-interpolation":{"type":{"enum":["auto","sRGB","linearRGB"],"disallowToSurroundBySpaces":false}},"color-interpolation-filters":{"type":{"enum":["auto","sRGB","linearRGB"],"disallowToSurroundBySpaces":false}},"cursor":{"type":"<'cursor'>"},"direction":{"type":"<'direction'>"},"display":{"type":"<'display'>"},"dominant-baseline":{"type":"<'dominant-baseline'>"},"fill":{"type":"<'fill'>"},"fill-opacity":{"type":"<'fill-opacity'>"},"fill-rule":{"type":"<'fill-rule'>"},"filter":{"type":"<'filter'>"},"flood-color":{"type":"<color>"},"flood-opacity":{"type":"<alpha-value>"},"font":{"type":"<'font'>"},"font-family":{"type":"<'font-family'>"},"font-size":{"type":"<svg-font-size>"},"font-size-adjust":{"type":"<svg-font-size-adjust>"},"font-stretch":{"type":"<'font-stretch'>"},"font-style":{"type":"<'font-style'>"},"font-variant":{"type":"<'font-variant'>"},"font-weight":{"type":"<'font-weight'>"},"glyph-orientation-horizontal":{"type":"<'glyph-orientation-horizontal'>","deprecated":true},"glyph-orientation-vertical":{"type":"<'glyph-orientation-vertical'>","deprecated":true},"image-rendering":{"type":"<'image-rendering'>"},"isolation":{"type":"<'isolation'>"},"letter-spacing":{"type":"<'letter-spacing'>"},"lighting-color":{"type":"<color>"},"marker":{"type":"<'marker'>"},"marker-end":{"type":"<'marker-end'>"},"marker-mid":{"type":"<'marker-mid'>"},"marker-start":{"type":"<'marker-start'>"},"mask":{"type":"<'mask'>"},"mask-type":{"type":"<'mask-type'>"},"opacity":{"type":"<alpha-value>"},"overflow":{"type":"<'overflow'>"},"paint-order":{"type":"<'paint-order'>"},"pointer-events":{"type":"<'pointer-events'>"},"shape-rendering":{"type":"<'shape-rendering'>"},"stop-color":{"type":"<'color'>"},"stop-opacity":{"type":"<'opacity'>"},"stroke":{"type":"<'stroke'>"},"stroke-dasharray":{"type":"<'stroke-dasharray'>"},"stroke-dashoffset":{"type":"<'stroke-dashoffset'>"},"stroke-linecap":{"type":"<'stroke-linecap'>"},"stroke-linejoin":{"type":"<'stroke-linejoin'>"},"stroke-miterlimit":{"type":"<'stroke-miterlimit'>"},"stroke-opacity":{"type":"<'stroke-opacity'>"},"stroke-width":{"type":"<'stroke-width'>"},"text-anchor":{"type":"<'text-anchor'>"},"text-decoration":{"type":"<'text-decoration'>"},"text-overflow":{"type":"<'text-overflow'>"},"text-rendering":{"type":"<'text-rendering'>"},"unicode-bidi":{"type":"<'unicode-bidi'>"},"vector-effect":{"type":{"enum":["none","non-scaling-stroke","non-scaling-size","non-rotation","fixed-position"]}},"visibility":{"type":"<'visibility'>"},"white-space":{"type":"<'white-space'>"},"word-spacing":{"type":"<'word-spacing'>"},"writing-mode":{"type":"<'writing-mode'>"},"clip":{"type":"<'clip'>","deprecated":true},"color-profile":{"type":"<'color-profile'>","deprecated":true},"color-rendering":{"type":"<'color-rendering'>","deprecated":true},"enable-background":{"type":"<'enable-background'>","deprecated":true},"kerning":{"type":"<'kerning'>","deprecated":true}},"#SVGTransferFunctionAttrs":{"type":{"type":{"enum":["identity","table","discrete","linear","gamma"]}},"tableValues":{"type":"<list-of-numbers>"},"slope":{"type":"<number>"},"intercept":{"type":"<number>"},"amplitude":{"type":"<number>"},"exponent":{"type":"<number>"},"offset":{"type":"<number>"}},"#XLinkAttrs":{"xlink:href":{"type":"URL","deprecated":true},"xlink:title":{"type":"Any","deprecated":true},"xlink:type":{"type":{"enum":["simple"]},"deprecated":true},"xlink:role":{"type":"Any","deprecated":true},"xlink:arcrole":{"type":"URL","deprecated":true},"xlink:show":{"type":{"enum":["new","replace","embed","other","none"]},"deprecated":true},"xlink:actuate":{"type":"Any","deprecated":true}}},"aria":{"roles":{"alert":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"alertdialog":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-modal"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"application":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage"},{"name":"aria-expanded"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup"},{"name":"aria-hidden"},{"name":"aria-invalid"},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"article":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-posinset"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-setsize"}],"prohibitedProperties":[]},"banner":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"blockquote":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"button":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-expanded"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup"},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-pressed"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"caption":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":["aria-braillelabel","aria-label","aria-labelledby"]},"cell":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-colindex"},{"name":"aria-colindextext"},{"name":"aria-colspan"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-rowindex"},{"name":"aria-rowindextext"},{"name":"aria-rowspan"}],"prohibitedProperties":[]},"checkbox":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-checked"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage"},{"name":"aria-expanded"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid"},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-readonly"},{"name":"aria-relevant"},{"name":"aria-required"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"code":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":["aria-braillelabel","aria-label","aria-labelledby"]},"columnheader":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-colindex"},{"name":"aria-colindextext"},{"name":"aria-colspan"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage"},{"name":"aria-expanded"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup"},{"name":"aria-hidden"},{"name":"aria-invalid"},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-readonly"},{"name":"aria-relevant"},{"name":"aria-required"},{"name":"aria-roledescription"},{"name":"aria-rowindex"},{"name":"aria-rowindextext"},{"name":"aria-rowspan"},{"name":"aria-selected"},{"name":"aria-sort"}],"prohibitedProperties":[]},"combobox":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-autocomplete"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage"},{"name":"aria-expanded"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup"},{"name":"aria-hidden"},{"name":"aria-invalid"},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-readonly"},{"name":"aria-relevant"},{"name":"aria-required"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"command":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"comment":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-level"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-posinset"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-setsize"}],"prohibitedProperties":[]},"complementary":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"composite":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"contentinfo":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"definition":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":["aria-braillelabel","aria-label","aria-labelledby"]},"deletion":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":["aria-braillelabel","aria-label","aria-labelledby"]},"dialog":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-modal"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"directory":{"deprecated":true,"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"document":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"emphasis":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":["aria-braillelabel","aria-label","aria-labelledby"]},"feed":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"figure":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"form":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"generic":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"}],"prohibitedProperties":["aria-braillelabel","aria-brailleroledescription","aria-label","aria-labelledby","aria-roledescription"]},"grid":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-colcount"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-multiselectable"},{"name":"aria-owns"},{"name":"aria-readonly"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-rowcount"}],"prohibitedProperties":[]},"gridcell":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-colindex"},{"name":"aria-colindextext"},{"name":"aria-colspan"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage"},{"name":"aria-expanded"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup"},{"name":"aria-hidden"},{"name":"aria-invalid"},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-readonly"},{"name":"aria-relevant"},{"name":"aria-required"},{"name":"aria-roledescription"},{"name":"aria-rowindex"},{"name":"aria-rowindextext"},{"name":"aria-rowspan"},{"name":"aria-selected"}],"prohibitedProperties":[]},"group":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"heading":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-level"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"image":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"img":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"input":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"insertion":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":["aria-braillelabel","aria-label","aria-labelledby"]},"landmark":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"link":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-expanded"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup"},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"list":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"listbox":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid"},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-multiselectable"},{"name":"aria-orientation"},{"name":"aria-owns"},{"name":"aria-readonly"},{"name":"aria-relevant"},{"name":"aria-required"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"listitem":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-posinset"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-setsize"}],"prohibitedProperties":[]},"log":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"main":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"mark":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":["aria-braillelabel","aria-label","aria-labelledby"]},"marquee":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"math":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"menu":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-orientation"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"menubar":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-orientation"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"menuitem":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-expanded"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup"},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-posinset"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-setsize"}],"prohibitedProperties":[]},"menuitemcheckbox":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-checked"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-expanded"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup"},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-posinset"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-setsize"}],"prohibitedProperties":[]},"menuitemradio":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-checked"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-expanded"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup"},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-posinset"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-setsize"}],"prohibitedProperties":[]},"meter":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-valuemax"},{"name":"aria-valuemin"},{"name":"aria-valuenow"},{"name":"aria-valuetext"}],"prohibitedProperties":[]},"navigation":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"none":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":["aria-braillelabel","aria-label","aria-labelledby"]},"note":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"option":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-checked"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-posinset"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-selected"},{"name":"aria-setsize"}],"prohibitedProperties":[]},"paragraph":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":["aria-braillelabel","aria-label","aria-labelledby"]},"presentation":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":["aria-braillelabel","aria-label","aria-labelledby"]},"progressbar":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-valuemax"},{"name":"aria-valuemin"},{"name":"aria-valuenow"},{"name":"aria-valuetext"}],"prohibitedProperties":[]},"radio":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-checked"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-posinset"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-setsize"}],"prohibitedProperties":[]},"radiogroup":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid"},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-orientation"},{"name":"aria-owns"},{"name":"aria-readonly"},{"name":"aria-relevant"},{"name":"aria-required"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"range":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-valuemax"},{"name":"aria-valuemin"},{"name":"aria-valuenow"},{"name":"aria-valuetext"}],"prohibitedProperties":[]},"region":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"roletype":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"row":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-colindex"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-expanded"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-level"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-posinset"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-rowindex"},{"name":"aria-rowindextext"},{"name":"aria-selected"},{"name":"aria-setsize"}],"prohibitedProperties":[]},"rowgroup":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"rowheader":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-colindex"},{"name":"aria-colindextext"},{"name":"aria-colspan"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage"},{"name":"aria-expanded"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup"},{"name":"aria-hidden"},{"name":"aria-invalid"},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-readonly"},{"name":"aria-relevant"},{"name":"aria-required"},{"name":"aria-roledescription"},{"name":"aria-rowindex"},{"name":"aria-rowindextext"},{"name":"aria-rowspan"},{"name":"aria-selected"},{"name":"aria-sort"}],"prohibitedProperties":[]},"scrollbar":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-orientation"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-valuemax"},{"name":"aria-valuemin"},{"name":"aria-valuenow"},{"name":"aria-valuetext"}],"prohibitedProperties":[]},"search":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"searchbox":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-autocomplete"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup"},{"name":"aria-hidden"},{"name":"aria-invalid"},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-multiline"},{"name":"aria-owns"},{"name":"aria-placeholder"},{"name":"aria-readonly"},{"name":"aria-relevant"},{"name":"aria-required"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"section":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"sectionfooter":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"sectionhead":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"sectionheader":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"select":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-orientation"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"separator":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-orientation"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-valuemax"},{"name":"aria-valuemin"},{"name":"aria-valuenow"},{"name":"aria-valuetext"}],"prohibitedProperties":[]},"slider":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup"},{"name":"aria-hidden"},{"name":"aria-invalid"},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-orientation"},{"name":"aria-owns"},{"name":"aria-readonly"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-valuemax"},{"name":"aria-valuemin"},{"name":"aria-valuenow"},{"name":"aria-valuetext"}],"prohibitedProperties":[]},"spinbutton":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid"},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-readonly"},{"name":"aria-relevant"},{"name":"aria-required"},{"name":"aria-roledescription"},{"name":"aria-valuemax"},{"name":"aria-valuemin"},{"name":"aria-valuenow"},{"name":"aria-valuetext"}],"prohibitedProperties":[]},"status":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"strong":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":["aria-braillelabel","aria-label","aria-labelledby"]},"structure":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"subscript":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":["aria-braillelabel","aria-label","aria-labelledby"]},"suggestion":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":["aria-braillelabel","aria-label","aria-labelledby"]},"superscript":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":["aria-braillelabel","aria-label","aria-labelledby"]},"switch":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-checked"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage"},{"name":"aria-expanded"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid"},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-readonly"},{"name":"aria-relevant"},{"name":"aria-required"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"tab":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-expanded"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup"},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-posinset"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-selected"},{"name":"aria-setsize"}],"prohibitedProperties":[]},"table":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-colcount"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-rowcount"}],"prohibitedProperties":[]},"tablist":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-multiselectable"},{"name":"aria-orientation"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"tabpanel":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"term":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":["aria-braillelabel","aria-label","aria-labelledby"]},"textbox":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-autocomplete"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup"},{"name":"aria-hidden"},{"name":"aria-invalid"},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-multiline"},{"name":"aria-owns"},{"name":"aria-placeholder"},{"name":"aria-readonly"},{"name":"aria-relevant"},{"name":"aria-required"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"time":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":["aria-braillelabel","aria-label","aria-labelledby"]},"timer":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"toolbar":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-orientation"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"tooltip":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"tree":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid"},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-multiselectable"},{"name":"aria-orientation"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-required"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"treegrid":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-colcount"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid"},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-multiselectable"},{"name":"aria-orientation"},{"name":"aria-owns"},{"name":"aria-readonly"},{"name":"aria-relevant"},{"name":"aria-required"},{"name":"aria-roledescription"},{"name":"aria-rowcount"}],"prohibitedProperties":[]},"treeitem":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-checked"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-expanded"},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup"},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-level"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-posinset"},{"name":"aria-relevant"},{"name":"aria-roledescription"},{"name":"aria-selected"},{"name":"aria-setsize"}],"prohibitedProperties":[]},"widget":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"window":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-modal"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"graphics-document":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"graphics-object":{"ownedProperties":[{"name":"aria-activedescendant"},{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled"},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]},"graphics-symbol":{"ownedProperties":[{"name":"aria-atomic"},{"name":"aria-braillelabel"},{"name":"aria-brailleroledescription"},{"name":"aria-busy"},{"name":"aria-controls"},{"name":"aria-current"},{"name":"aria-describedby"},{"name":"aria-description"},{"name":"aria-details"},{"name":"aria-disabled","deprecated":true},{"name":"aria-dropeffect"},{"name":"aria-errormessage","deprecated":true},{"name":"aria-flowto"},{"name":"aria-grabbed"},{"name":"aria-haspopup","deprecated":true},{"name":"aria-hidden"},{"name":"aria-invalid","deprecated":true},{"name":"aria-keyshortcuts"},{"name":"aria-label"},{"name":"aria-labelledby"},{"name":"aria-live"},{"name":"aria-owns"},{"name":"aria-relevant"},{"name":"aria-roledescription"}],"prohibitedProperties":[]}},"deprecatedProps":["aria-dropeffect","aria-grabbed"]}}`);
|
|
2679
|
+
|
|
2662
2680
|
// src/rules/a11y/aria-data.ts
|
|
2663
2681
|
import { roles, aria } from "aria-query";
|
|
2664
2682
|
var ARIA_1_3_ROLES = /* @__PURE__ */ new Set(["comment", "image", "sectionheader", "sectionfooter", "suggestion"]);
|
|
@@ -2755,6 +2773,7 @@ function isInteractiveContainer(tag, attrs) {
|
|
|
2755
2773
|
}
|
|
2756
2774
|
|
|
2757
2775
|
// src/component-parse.ts
|
|
2776
|
+
var KNOWN_TAGS = new Set(Object.keys(HTML_SPEC.elements).map((k) => k.replace(/^svg:/, "").toLowerCase()));
|
|
2758
2777
|
function unwrapTs(expr) {
|
|
2759
2778
|
let cur = expr;
|
|
2760
2779
|
while (cur !== void 0 && (cur.type === "TSSatisfiesExpression" || cur.type === "TSAsExpression" || cur.type === "TSNonNullExpression"))
|
|
@@ -3394,6 +3413,67 @@ function classifyAttrValue(value) {
|
|
|
3394
3413
|
}
|
|
3395
3414
|
return { expression: true };
|
|
3396
3415
|
}
|
|
3416
|
+
var CHAIN_BREAKS = /* @__PURE__ */ new Set([
|
|
3417
|
+
"Component",
|
|
3418
|
+
"SvelteComponent",
|
|
3419
|
+
"SvelteSelf",
|
|
3420
|
+
"SvelteElement",
|
|
3421
|
+
"SlotElement",
|
|
3422
|
+
"RenderTag",
|
|
3423
|
+
"HtmlTag",
|
|
3424
|
+
"SnippetBlock",
|
|
3425
|
+
"SvelteHead"
|
|
3426
|
+
]);
|
|
3427
|
+
var SILENT_BREAKS = /* @__PURE__ */ new Set(["SnippetBlock", "SvelteHead"]);
|
|
3428
|
+
function collectElements(node, source, acc, inSvg, parent) {
|
|
3429
|
+
if (Array.isArray(node)) {
|
|
3430
|
+
for (const child of node) collectElements(child, source, acc, inSvg, parent);
|
|
3431
|
+
return;
|
|
3432
|
+
}
|
|
3433
|
+
if (!node || typeof node !== "object") return;
|
|
3434
|
+
let next = inSvg;
|
|
3435
|
+
let nextParent = parent;
|
|
3436
|
+
if (typeof node.type === "string" && CHAIN_BREAKS.has(node.type)) {
|
|
3437
|
+
if (parent !== void 0 && !SILENT_BREAKS.has(node.type)) acc[parent].unknownContent = true;
|
|
3438
|
+
nextParent = void 0;
|
|
3439
|
+
} else if (node.type === "RegularElement" && typeof node.name === "string" && Array.isArray(node.attributes)) {
|
|
3440
|
+
const tag = node.name.toLowerCase();
|
|
3441
|
+
const self = inSvg || tag === "svg";
|
|
3442
|
+
const hasSpread = node.attributes.some((a) => a?.type === "SpreadAttribute");
|
|
3443
|
+
acc.push({
|
|
3444
|
+
tag,
|
|
3445
|
+
line: lineOf(source, node.start),
|
|
3446
|
+
attrs: node.attributes.filter((a) => a?.type === "Attribute" && typeof a.name === "string").map((a) => {
|
|
3447
|
+
const value = a.value === true ? "" : attrValueOf(a) === "static" ? attrTextOf(a) ?? void 0 : void 0;
|
|
3448
|
+
return {
|
|
3449
|
+
name: String(a.name).toLowerCase(),
|
|
3450
|
+
line: lineOf(source, a.start ?? node.start),
|
|
3451
|
+
...value !== void 0 ? { value } : {}
|
|
3452
|
+
};
|
|
3453
|
+
}),
|
|
3454
|
+
...self ? { inSvg: true } : {},
|
|
3455
|
+
...parent !== void 0 ? { parent } : {},
|
|
3456
|
+
...hasSpread ? { hasSpread: true } : {}
|
|
3457
|
+
});
|
|
3458
|
+
if (tag.includes("-") || !KNOWN_TAGS.has(tag)) {
|
|
3459
|
+
if (parent !== void 0) acc[parent].unknownContent = true;
|
|
3460
|
+
nextParent = void 0;
|
|
3461
|
+
} else nextParent = acc.length - 1;
|
|
3462
|
+
if (tag === "svg") next = true;
|
|
3463
|
+
else if (tag === "foreignobject") next = false;
|
|
3464
|
+
}
|
|
3465
|
+
for (const key of CHILD_NODE_KEYS) {
|
|
3466
|
+
if (key in node) collectElements(node[key], source, acc, next, nextParent);
|
|
3467
|
+
}
|
|
3468
|
+
}
|
|
3469
|
+
function selectNativeRole(attributes) {
|
|
3470
|
+
if (findAttr(attributes, "multiple") !== void 0) return "listbox";
|
|
3471
|
+
const size = findAttr(attributes, "size");
|
|
3472
|
+
if (size === void 0) return "combobox";
|
|
3473
|
+
const v = attrValueOf(size);
|
|
3474
|
+
if (v !== "static") return void 0;
|
|
3475
|
+
return Number(attrTextOf(size)) > 1 ? "listbox" : "combobox";
|
|
3476
|
+
}
|
|
3397
3477
|
function collectAriaElements(node, source, acc) {
|
|
3398
3478
|
if (Array.isArray(node)) {
|
|
3399
3479
|
for (const child of node) collectAriaElements(child, source, acc);
|
|
@@ -3407,12 +3487,16 @@ function collectAriaElements(node, source, acc) {
|
|
|
3407
3487
|
);
|
|
3408
3488
|
if (roleAttr || ariaAttrs.length > 0) {
|
|
3409
3489
|
const inputType = node.name === "input" ? attrText(node.attributes, "type") : void 0;
|
|
3490
|
+
const hasList = node.name === "input" && findAttr(node.attributes, "list") !== void 0;
|
|
3491
|
+
const selectKind = node.name === "select" ? selectNativeRole(node.attributes) : void 0;
|
|
3410
3492
|
const hasSpread = node.attributes.some((a) => a?.type === "SpreadAttribute");
|
|
3411
3493
|
acc.push({
|
|
3412
3494
|
tag: node.name,
|
|
3413
3495
|
line: lineOf(source, node.start),
|
|
3414
3496
|
...roleAttr ? { role: classifyAttrValue(roleAttr.value) } : {},
|
|
3415
3497
|
...inputType !== void 0 ? { inputType: inputType.toLowerCase() } : {},
|
|
3498
|
+
...hasList ? { hasList: true } : {},
|
|
3499
|
+
...selectKind ? { selectKind } : {},
|
|
3416
3500
|
...hasSpread ? { hasSpread: true } : {},
|
|
3417
3501
|
aria: ariaAttrs.map((a) => ({
|
|
3418
3502
|
name: String(a.name).toLowerCase(),
|
|
@@ -3639,29 +3723,55 @@ function collectUnassociatedLabels(node, source, acc) {
|
|
|
3639
3723
|
}
|
|
3640
3724
|
var BULLET_TEXT_RE = /^[•・·\-*]\s/;
|
|
3641
3725
|
var VERBATIM_TEXT_TAGS = /* @__PURE__ */ new Set(["pre", "code", "kbd", "samp", "textarea"]);
|
|
3642
|
-
function collectBulletTexts(node, source, acc, inert, afterExpression = false) {
|
|
3726
|
+
function collectBulletTexts(node, source, acc, inert, afterExpression = false, reported = /* @__PURE__ */ new WeakSet()) {
|
|
3643
3727
|
if (Array.isArray(node)) {
|
|
3644
3728
|
let prevWasExpression = afterExpression;
|
|
3729
|
+
let group = [];
|
|
3730
|
+
const flush = () => {
|
|
3731
|
+
if (group.length >= 2) {
|
|
3732
|
+
for (const b of group) {
|
|
3733
|
+
if (reported.has(b.text)) continue;
|
|
3734
|
+
reported.add(b.text);
|
|
3735
|
+
acc.push({ line: b.line, char: b.char });
|
|
3736
|
+
}
|
|
3737
|
+
}
|
|
3738
|
+
group = [];
|
|
3739
|
+
};
|
|
3740
|
+
const bulletOf = (text, after) => {
|
|
3741
|
+
if (!text || typeof text !== "object" || text.type !== "Text" || after) return void 0;
|
|
3742
|
+
const trimmed = String(text.data ?? "").trim();
|
|
3743
|
+
return BULLET_TEXT_RE.test(trimmed) ? { line: lineOf(source, text.start), char: trimmed[0], text } : void 0;
|
|
3744
|
+
};
|
|
3645
3745
|
for (const child of node) {
|
|
3646
|
-
|
|
3647
|
-
if (child
|
|
3648
|
-
|
|
3746
|
+
if (!child || typeof child !== "object") continue;
|
|
3747
|
+
if (child.type === "Text") {
|
|
3748
|
+
const b = inert ? void 0 : bulletOf(child, prevWasExpression);
|
|
3749
|
+
if (b) group.push(b);
|
|
3750
|
+
else if (String(child.data ?? "").trim()) flush();
|
|
3751
|
+
} else if (child.type === "Comment" || child.type === "RegularElement" && child.name === "br") {
|
|
3752
|
+
} else {
|
|
3753
|
+
let item;
|
|
3754
|
+
if (!inert && child.type === "RegularElement" && child.name !== "li" && !VERBATIM_TEXT_TAGS.has(child.name)) {
|
|
3755
|
+
const first = (child.fragment?.nodes ?? []).find(
|
|
3756
|
+
(n) => !(n?.type === "Text" && !String(n.data ?? "").trim()) && n?.type !== "Comment"
|
|
3757
|
+
);
|
|
3758
|
+
item = bulletOf(first, prevWasExpression);
|
|
3759
|
+
}
|
|
3760
|
+
if (item) group.push(item);
|
|
3761
|
+
else flush();
|
|
3762
|
+
collectBulletTexts(child, source, acc, inert, prevWasExpression, reported);
|
|
3649
3763
|
}
|
|
3764
|
+
if (child.type !== "Comment") prevWasExpression = child.type === "ExpressionTag";
|
|
3650
3765
|
}
|
|
3766
|
+
flush();
|
|
3651
3767
|
return;
|
|
3652
3768
|
}
|
|
3653
3769
|
if (!node || typeof node !== "object") return;
|
|
3654
|
-
if (node.type === "Text")
|
|
3655
|
-
const trimmed = String(node.data ?? "").trim();
|
|
3656
|
-
if (!inert && !afterExpression && BULLET_TEXT_RE.test(trimmed)) {
|
|
3657
|
-
acc.push({ line: lineOf(source, node.start), char: trimmed[0] });
|
|
3658
|
-
}
|
|
3659
|
-
return;
|
|
3660
|
-
}
|
|
3770
|
+
if (node.type === "Text") return;
|
|
3661
3771
|
if (node.type === "SnippetBlock") return;
|
|
3662
3772
|
const nowInert = inert || node.type === "RegularElement" && (node.name === "li" || VERBATIM_TEXT_TAGS.has(node.name));
|
|
3663
3773
|
for (const key of CHILD_NODE_KEYS) {
|
|
3664
|
-
if (key in node) collectBulletTexts(node[key], source, acc, nowInert);
|
|
3774
|
+
if (key in node) collectBulletTexts(node[key], source, acc, nowInert, false, reported);
|
|
3665
3775
|
}
|
|
3666
3776
|
}
|
|
3667
3777
|
function selectNeedsPlaceholder(attributes) {
|
|
@@ -4378,6 +4488,8 @@ function parseComponentFacts(source, filename) {
|
|
|
4378
4488
|
collectCheckableBindValues(ast.fragment ?? ast, source, checkableBindValues);
|
|
4379
4489
|
const ariaElements = [];
|
|
4380
4490
|
collectAriaElements(ast.fragment ?? ast, source, ariaElements);
|
|
4491
|
+
const elements = [];
|
|
4492
|
+
collectElements(ast.fragment ?? ast, source, elements, ast.options?.namespace === "svg");
|
|
4381
4493
|
const interactiveNestings = [];
|
|
4382
4494
|
collectInteractiveNestings(ast.fragment ?? ast, source, interactiveNestings, []);
|
|
4383
4495
|
const unnamedInteractive = [];
|
|
@@ -4596,6 +4708,7 @@ function parseComponentFacts(source, filename) {
|
|
|
4596
4708
|
suppressions,
|
|
4597
4709
|
commentLinks: collectCommentLinks(source),
|
|
4598
4710
|
ariaElements,
|
|
4711
|
+
elements,
|
|
4599
4712
|
interactiveNestings,
|
|
4600
4713
|
unnamedInteractive,
|
|
4601
4714
|
unassociatedLabels,
|
|
@@ -5564,21 +5677,21 @@ var architectureDirectoryNaming = {
|
|
|
5564
5677
|
const excludedDirs = [];
|
|
5565
5678
|
for (const dir of [...dirs].sort()) {
|
|
5566
5679
|
const o = resolveRuleOptions(ID5, OPTIONS4, ctx.config, { route: dir, file: dir }, compiledOverrides);
|
|
5567
|
-
const
|
|
5568
|
-
if (Object.keys(
|
|
5680
|
+
const declared2 = mapOption(o, "directories");
|
|
5681
|
+
if (Object.keys(declared2).length === 0) continue;
|
|
5569
5682
|
const excluded = compile(listOption(o, "exclude"));
|
|
5570
5683
|
if (isExcluded(dir, ancestorDirs2(dir), excluded)) {
|
|
5571
5684
|
excludedDirs.push(dir);
|
|
5572
5685
|
continue;
|
|
5573
5686
|
}
|
|
5574
|
-
const live = Object.keys(
|
|
5687
|
+
const live = Object.keys(declared2).filter((k) => casingsOf(declared2[k]).known.length > 0);
|
|
5575
5688
|
const m = matchKeys(dir, compile(live, true));
|
|
5576
5689
|
for (const k of m.matched) if (globalKeys.has(k)) usedKeys.add(k);
|
|
5577
5690
|
if (m.best === void 0) continue;
|
|
5578
5691
|
const decoded = decodeSegment(baseName(dir));
|
|
5579
5692
|
if (decoded === void 0) continue;
|
|
5580
5693
|
if (globalKeys.has(m.best)) examinedCounts[m.best] = (examinedCounts[m.best] ?? 0) + 1;
|
|
5581
|
-
const allowed = casingsOf(
|
|
5694
|
+
const allowed = casingsOf(declared2[m.best]).known;
|
|
5582
5695
|
if (satisfiesCasing(decoded, allowed)) continue;
|
|
5583
5696
|
const at = reportAt(dir, files);
|
|
5584
5697
|
if (at === void 0) continue;
|
|
@@ -6042,9 +6155,9 @@ var routeEntryImportsCache = /* @__PURE__ */ new WeakMap();
|
|
|
6042
6155
|
function cachedRouteEntryImports(c, ctx) {
|
|
6043
6156
|
const cached = routeEntryImportsCache.get(c);
|
|
6044
6157
|
if (cached !== void 0 && cached.aliases === ctx.project.kitAliases) return cached.result;
|
|
6045
|
-
const
|
|
6046
|
-
routeEntryImportsCache.set(c, { aliases: ctx.project.kitAliases, result:
|
|
6047
|
-
return
|
|
6158
|
+
const result4 = routeEntryImports(c, ctx);
|
|
6159
|
+
routeEntryImportsCache.set(c, { aliases: ctx.project.kitAliases, result: result4 });
|
|
6160
|
+
return result4;
|
|
6048
6161
|
}
|
|
6049
6162
|
var architectureRouteComponentImport = componentRule({
|
|
6050
6163
|
id: ID8,
|
|
@@ -6301,8 +6414,11 @@ var a11yUnknownAriaAttribute = componentRule({
|
|
|
6301
6414
|
rationale: "An `aria-*` name that does not exist in WAI-ARIA is not recognized by assistive technology, so the attribute is silently ignored instead of doing what the author intended.",
|
|
6302
6415
|
recommendation: "Use a spec-defined `aria-*` attribute; unknown names are ignored by assistive technology.",
|
|
6303
6416
|
applies: (c) => (c.ariaElements ?? []).some((e) => e.aria.length > 0),
|
|
6417
|
+
// Anchored at the element's start tag, not the attribute's line: a `disable-next-line` directive
|
|
6418
|
+
// can only sit above the tag, so an attribute-line anchor on a multi-line element would leave the
|
|
6419
|
+
// documented lever with no position that works.
|
|
6304
6420
|
bad: (c) => (c.ariaElements ?? []).flatMap(
|
|
6305
|
-
(e) => e.aria.filter((a) => !isKnownAriaAttribute(a.name)).map((a) => ({ line:
|
|
6421
|
+
(e) => e.aria.filter((a) => !isKnownAriaAttribute(a.name)).map((a) => ({ line: e.line, message: `\`${a.name}\` is not a WAI-ARIA attribute` }))
|
|
6306
6422
|
)
|
|
6307
6423
|
});
|
|
6308
6424
|
|
|
@@ -6311,8 +6427,20 @@ var HOST_SUPPLIED = {
|
|
|
6311
6427
|
"aria-checked": (e) => e.tag === "input" && (e.inputType === "checkbox" || e.inputType === "radio"),
|
|
6312
6428
|
"aria-selected": (e) => e.tag === "option",
|
|
6313
6429
|
"aria-level": (e) => /^h[1-6]$/.test(e.tag),
|
|
6314
|
-
"aria-valuenow": (e) => e.tag === "input" && e.inputType === "range" || e.tag === "progress" || e.tag === "meter"
|
|
6430
|
+
"aria-valuenow": (e) => e.tag === "input" && e.inputType === "range" || e.tag === "progress" || e.tag === "meter",
|
|
6431
|
+
// HTML-AAM: a `<select>` without `multiple`/`size > 1`, and a text-like `<input list>`, are native
|
|
6432
|
+
// comboboxes whose open/closed state and popup relationship the user agent exposes itself, so an
|
|
6433
|
+
// explicit `role="combobox"` on them owes neither `aria-expanded` nor `aria-controls`. (The
|
|
6434
|
+
// compiler warns on `<input list>` here; staying silent is not the opposite verdict, and HTML-AAM
|
|
6435
|
+
// is the source for the host's own semantics.)
|
|
6436
|
+
"aria-expanded": isNativeCombobox,
|
|
6437
|
+
"aria-controls": isNativeCombobox
|
|
6315
6438
|
};
|
|
6439
|
+
var LIST_INPUT_TYPES = /* @__PURE__ */ new Set([void 0, "text", "search", "tel", "url", "email"]);
|
|
6440
|
+
function isNativeCombobox(e) {
|
|
6441
|
+
if (e.tag === "select") return e.selectKind === "combobox";
|
|
6442
|
+
return e.tag === "input" && e.hasList === true && LIST_INPUT_TYPES.has(e.inputType);
|
|
6443
|
+
}
|
|
6316
6444
|
var a11yRequiredAriaProps = componentRule({
|
|
6317
6445
|
id: "a11y/required-aria-props",
|
|
6318
6446
|
title: "Missing required ARIA props",
|
|
@@ -6348,8 +6476,10 @@ function isValid(type, values, literal) {
|
|
|
6348
6476
|
return literal === "true" || literal === "false" || literal === "mixed";
|
|
6349
6477
|
case "token":
|
|
6350
6478
|
return (values ?? []).includes(literal);
|
|
6351
|
-
case "tokenlist":
|
|
6352
|
-
|
|
6479
|
+
case "tokenlist": {
|
|
6480
|
+
const tokens = splitTokens(literal);
|
|
6481
|
+
return tokens.length > 0 && tokens.every((t) => (values ?? []).includes(t));
|
|
6482
|
+
}
|
|
6353
6483
|
case "integer":
|
|
6354
6484
|
return /^-?\d+$/.test(literal);
|
|
6355
6485
|
case "number":
|
|
@@ -6372,7 +6502,7 @@ var a11yInvalidAriaValue = componentRule({
|
|
|
6372
6502
|
const kind = ariaValueKind(a.name);
|
|
6373
6503
|
if (kind === void 0) return [];
|
|
6374
6504
|
if (isValid(kind.type, kind.values, a.literal)) return [];
|
|
6375
|
-
return [{ line:
|
|
6505
|
+
return [{ line: e.line, message: `\`${a.name}="${a.literal}"\` is not a valid ${kind.type} value` }];
|
|
6376
6506
|
})
|
|
6377
6507
|
)
|
|
6378
6508
|
});
|
|
@@ -6466,46 +6596,534 @@ var a11yRequireDatetime = componentRule({
|
|
|
6466
6596
|
}))
|
|
6467
6597
|
});
|
|
6468
6598
|
|
|
6469
|
-
// src/
|
|
6470
|
-
|
|
6471
|
-
|
|
6472
|
-
|
|
6473
|
-
|
|
6474
|
-
|
|
6475
|
-
|
|
6476
|
-
|
|
6477
|
-
|
|
6478
|
-
|
|
6479
|
-
|
|
6599
|
+
// src/html-spec/index.ts
|
|
6600
|
+
function htmlElement(tag) {
|
|
6601
|
+
return HTML_SPEC.elements[tag.toLowerCase()];
|
|
6602
|
+
}
|
|
6603
|
+
function isObsoleteElement(tag) {
|
|
6604
|
+
return htmlElement(tag)?.obsolete === true;
|
|
6605
|
+
}
|
|
6606
|
+
function elementAttr(tag, name) {
|
|
6607
|
+
return htmlElement(tag)?.attributes[name.toLowerCase()];
|
|
6608
|
+
}
|
|
6609
|
+
function isDeprecatedAttr(tag, name) {
|
|
6610
|
+
const a = elementAttr(tag, name);
|
|
6611
|
+
return a?.deprecated === true || a?.obsolete === true;
|
|
6612
|
+
}
|
|
6613
|
+
|
|
6614
|
+
// src/rules/a11y/deprecated-element.ts
|
|
6615
|
+
var a11yDeprecatedElement = componentRule({
|
|
6616
|
+
id: "a11y/deprecated-element",
|
|
6617
|
+
title: "Obsolete HTML element",
|
|
6480
6618
|
category: "a11y",
|
|
6481
|
-
// `info
|
|
6482
|
-
//
|
|
6483
|
-
// claim stands, so the rule stays; its weight follows the evidence that remains.
|
|
6619
|
+
// `info`: the element still renders and browsers keep it working; the cost is that assistive
|
|
6620
|
+
// technology and future browsers get no guarantee of its semantics. Severity tracks the evidence.
|
|
6484
6621
|
severity: "info",
|
|
6485
|
-
|
|
6486
|
-
rationale: "
|
|
6487
|
-
|
|
6488
|
-
|
|
6489
|
-
|
|
6490
|
-
|
|
6622
|
+
label: "Obsolete elements",
|
|
6623
|
+
rationale: "Elements in the HTML standard's obsolete-features list (`<center>`, `<font>`, `<strike>`, \u2026) are non-conforming: browsers keep rendering them for legacy pages, but their semantics are unspecified for assistive technology and each has a conforming replacement.",
|
|
6624
|
+
recommendation: "Replace the element with its conforming equivalent \u2014 `<s>` for `<strike>`, `<span>` plus CSS for `<font>`/`<center>`/`<big>` \u2014 and move presentation to CSS.",
|
|
6625
|
+
// Every HTML element is judged, so a component with none obsolete passes rather than going unrecorded.
|
|
6626
|
+
applies: (c) => (c.elements ?? []).some((e) => !e.inSvg),
|
|
6627
|
+
bad: (c) => (c.elements ?? []).filter((e) => !e.inSvg && isObsoleteElement(e.tag)).map((e) => ({ line: e.line, message: `<${e.tag}> is an obsolete element` }))
|
|
6628
|
+
});
|
|
6629
|
+
|
|
6630
|
+
// src/rules/a11y/deprecated-attr.ts
|
|
6631
|
+
var a11yDeprecatedAttr = componentRule({
|
|
6632
|
+
id: "a11y/deprecated-attr",
|
|
6633
|
+
title: "Deprecated HTML attribute",
|
|
6634
|
+
category: "a11y",
|
|
6635
|
+
// `info`, as for deprecated-element: the attribute may still work today; the finding is that the
|
|
6636
|
+
// spec no longer defines what it means, and a CSS or modern-attribute replacement exists.
|
|
6637
|
+
severity: "info",
|
|
6638
|
+
label: "Deprecated attributes",
|
|
6639
|
+
rationale: "An attribute the HTML spec data marks deprecated (`iframe[frameborder]`, `td[width]`, `body[bgcolor]`, \u2026) has its behavior defined by legacy browser compatibility rather than by the standard, and each has a CSS or modern-attribute replacement. Coverage is what the dataset marks deprecated or obsolete on that element, and its `deprecated` flag tracks MDN's status; attributes the dataset does not list at all \u2014 WHATWG-obsolete ones MDN never documented, like `p[align]` \u2014 are not reported.",
|
|
6640
|
+
recommendation: "Move the presentation to CSS, or use the modern attribute the deprecated one was superseded by.",
|
|
6641
|
+
// Every attributed HTML element is judged, so a clean component passes rather than going unrecorded.
|
|
6642
|
+
applies: (c) => (c.elements ?? []).some((e) => !e.inSvg && e.attrs.length > 0),
|
|
6643
|
+
bad: (c) => (c.elements ?? []).filter((e) => !e.inSvg && !htmlElement(e.tag)?.obsolete).flatMap((e) => {
|
|
6644
|
+
const names = e.attrs.filter((a) => isDeprecatedAttr(e.tag, a.name)).map((a) => a.name);
|
|
6645
|
+
if (names.length === 0) return [];
|
|
6646
|
+
const list = names.map((n) => `\`${n}\``).join(", ");
|
|
6491
6647
|
return [
|
|
6492
6648
|
{
|
|
6493
|
-
|
|
6494
|
-
|
|
6495
|
-
severity: "info",
|
|
6496
|
-
detection: appHtmlDoctype ? present3 : absent3,
|
|
6497
|
-
location: "src/app.html",
|
|
6498
|
-
message: appHtmlDoctype ? "<!doctype html>" : "src/app.html is missing <!doctype html>",
|
|
6499
|
-
recommendation: "Add <!doctype html> as the first line of src/app.html.",
|
|
6500
|
-
docsUrl: docsUrlFor("a11y/doctype"),
|
|
6501
|
-
fix: { ...FIX8 }
|
|
6649
|
+
line: e.line,
|
|
6650
|
+
message: `${list} on <${e.tag}> ${names.length === 1 ? "is a deprecated attribute" : "are deprecated attributes"}`
|
|
6502
6651
|
}
|
|
6503
6652
|
];
|
|
6653
|
+
})
|
|
6654
|
+
});
|
|
6655
|
+
|
|
6656
|
+
// src/rules/a11y/role-candidates.ts
|
|
6657
|
+
var ELEMENT_FACT_OVERRIDES = {
|
|
6658
|
+
hgroup: { implicitRole: "group" },
|
|
6659
|
+
address: { implicitRole: "group" }
|
|
6660
|
+
};
|
|
6661
|
+
function roleCandidates(e) {
|
|
6662
|
+
if (e.role?.expression) return void 0;
|
|
6663
|
+
if (e.role?.literal !== void 0) {
|
|
6664
|
+
const role = resolveRole(e.role.literal.trim().split(/\s+/));
|
|
6665
|
+
return role ? { explicit: true, roles: [role], namingProhibited: false } : void 0;
|
|
6666
|
+
}
|
|
6667
|
+
if (e.hasSpread) return void 0;
|
|
6668
|
+
const el = HTML_SPEC.elements[e.tag];
|
|
6669
|
+
if (!el) return void 0;
|
|
6670
|
+
const aria2 = ELEMENT_FACT_OVERRIDES[e.tag] ?? el.aria;
|
|
6671
|
+
const roles2 = [aria2.implicitRole ?? false];
|
|
6672
|
+
for (const c of Object.values(aria2.conditions ?? {})) {
|
|
6673
|
+
if ("implicitRole" in c) roles2.push(c.implicitRole ?? false);
|
|
6674
|
+
}
|
|
6675
|
+
return { explicit: false, roles: [...new Set(roles2)], namingProhibited: aria2.namingProhibited === true };
|
|
6676
|
+
}
|
|
6677
|
+
function roleRow(role) {
|
|
6678
|
+
return role === false ? void 0 : HTML_SPEC.aria.roles[role];
|
|
6679
|
+
}
|
|
6680
|
+
|
|
6681
|
+
// src/rules/a11y/disallowed-aria-props.ts
|
|
6682
|
+
var NAMING = /* @__PURE__ */ new Set(["aria-label", "aria-labelledby", "aria-braillelabel"]);
|
|
6683
|
+
var COMPILER_ACCEPTS = /* @__PURE__ */ new Set([
|
|
6684
|
+
"listitem aria-level",
|
|
6685
|
+
"tablist aria-level",
|
|
6686
|
+
"listbox aria-expanded",
|
|
6687
|
+
"menuitemcheckbox aria-readonly",
|
|
6688
|
+
"menuitemcheckbox aria-required",
|
|
6689
|
+
"menuitemradio aria-readonly",
|
|
6690
|
+
"menuitemradio aria-required",
|
|
6691
|
+
"graphics-document aria-expanded",
|
|
6692
|
+
"graphics-object aria-expanded",
|
|
6693
|
+
"graphics-symbol aria-expanded"
|
|
6694
|
+
]);
|
|
6695
|
+
var a11yDisallowedAriaProps = componentRule({
|
|
6696
|
+
id: "a11y/disallowed-aria-props",
|
|
6697
|
+
title: "ARIA attribute not allowed on this role",
|
|
6698
|
+
category: "a11y",
|
|
6699
|
+
severity: "warning",
|
|
6700
|
+
label: "ARIA attributes match their role",
|
|
6701
|
+
rationale: "An `aria-*` attribute the element's role does not support is ignored by assistive technology, and one the role prohibits \u2014 a name on a `generic` `<div>` or `<span>`, on a `<p>`, on `<label>` \u2014 is worse than ignored: it is a name the author believes is exposed and is not. Judged against the ARIA 1.3 role tables, on the explicit role when there is one and otherwise on every implicit role the element can have.",
|
|
6702
|
+
recommendation: 'Give the element a role that supports the attribute (`role="group"`, `role="region"`, `role="img"`), move the attribute to the element that owns the semantics, or drop it.',
|
|
6703
|
+
applies: (c) => (c.ariaElements ?? []).some((e) => e.aria.length > 0),
|
|
6704
|
+
bad: (c) => (c.ariaElements ?? []).flatMap((e) => {
|
|
6705
|
+
const cand = roleCandidates(e);
|
|
6706
|
+
if (!cand) return [];
|
|
6707
|
+
const rows = cand.roles.map(roleRow);
|
|
6708
|
+
const ownershipKnown = rows.every((r) => r !== void 0);
|
|
6709
|
+
return e.aria.flatMap((a) => {
|
|
6710
|
+
if (!isKnownAriaAttribute(a.name)) return [];
|
|
6711
|
+
if (NAMING.has(a.name) && cand.namingProhibited) {
|
|
6712
|
+
return [
|
|
6713
|
+
{ line: e.line, message: `\`${a.name}\` is prohibited on <${e.tag}> \u2014 its role does not take a name` }
|
|
6714
|
+
];
|
|
6715
|
+
}
|
|
6716
|
+
if (!ownershipKnown) return [];
|
|
6717
|
+
if (rows.every((r) => r.prohibitedProperties.includes(a.name))) {
|
|
6718
|
+
const role = cand.roles.join("/");
|
|
6719
|
+
return [{ line: e.line, message: `\`${a.name}\` is prohibited on role \`${role}\`` }];
|
|
6720
|
+
}
|
|
6721
|
+
if (rows.every((r) => !r.ownedProperties.some((p) => p.name === a.name))) {
|
|
6722
|
+
if (cand.roles.some((r) => COMPILER_ACCEPTS.has(`${r} ${a.name}`))) return [];
|
|
6723
|
+
const role = cand.roles.join("/");
|
|
6724
|
+
return [{ line: e.line, message: `\`${a.name}\` is not supported by role \`${role}\`` }];
|
|
6725
|
+
}
|
|
6726
|
+
return [];
|
|
6727
|
+
});
|
|
6728
|
+
})
|
|
6729
|
+
});
|
|
6730
|
+
|
|
6731
|
+
// src/rules/a11y/deprecated-aria.ts
|
|
6732
|
+
var a11yDeprecatedAria = componentRule({
|
|
6733
|
+
id: "a11y/deprecated-aria",
|
|
6734
|
+
title: "Deprecated ARIA role or attribute",
|
|
6735
|
+
category: "a11y",
|
|
6736
|
+
// `info`: the role or attribute still works in current assistive technology; the finding is that
|
|
6737
|
+
// ARIA 1.3 no longer defines it here, so it may stop meaning anything.
|
|
6738
|
+
severity: "info",
|
|
6739
|
+
label: "ARIA roles and attributes are current",
|
|
6740
|
+
rationale: "ARIA 1.3 deprecates one role (`directory`), two global attributes (`aria-dropeffect`, `aria-grabbed`), and a number of attributes on particular roles \u2014 `aria-haspopup` on `checkbox`, `aria-disabled` on `generic`, and so on. Each still works today and each has been removed from the role's definition, so its meaning there is no longer guaranteed. The Svelte compiler reports the per-role cases on explicit roles as unsupported, since its ARIA data dropped them rather than flagging them; on a bare `<div>`/`<span>` it says nothing.",
|
|
6741
|
+
recommendation: 'Replace `role="directory"` with `role="list"`; drop `aria-dropeffect`/`aria-grabbed`; and move a role-deprecated attribute to an element whose role still defines it, or drop it.',
|
|
6742
|
+
applies: (c) => (c.ariaElements ?? []).some((e) => e.role?.literal !== void 0 || e.aria.length > 0),
|
|
6743
|
+
bad: (c) => (c.ariaElements ?? []).flatMap((e) => {
|
|
6744
|
+
const out = [];
|
|
6745
|
+
const cand = roleCandidates(e);
|
|
6746
|
+
if (cand?.explicit) {
|
|
6747
|
+
const role = cand.roles[0];
|
|
6748
|
+
if (roleRow(role)?.deprecated) out.push({ line: e.line, message: `role="${role}" is deprecated` });
|
|
6749
|
+
}
|
|
6750
|
+
for (const a of e.aria) {
|
|
6751
|
+
if (!isKnownAriaAttribute(a.name)) continue;
|
|
6752
|
+
if (HTML_SPEC.aria.deprecatedProps.includes(a.name)) {
|
|
6753
|
+
out.push({ line: e.line, message: `\`${a.name}\` is deprecated` });
|
|
6754
|
+
continue;
|
|
6755
|
+
}
|
|
6756
|
+
if (!cand) continue;
|
|
6757
|
+
const rows = cand.roles.map(roleRow);
|
|
6758
|
+
if (!rows.every((r) => r !== void 0)) continue;
|
|
6759
|
+
if (rows.every((r) => r.ownedProperties.some((p) => p.name === a.name && p.deprecated))) {
|
|
6760
|
+
out.push({ line: e.line, message: `\`${a.name}\` is deprecated on role \`${cand.roles.join("/")}\`` });
|
|
6761
|
+
}
|
|
6762
|
+
}
|
|
6763
|
+
return out;
|
|
6764
|
+
})
|
|
6765
|
+
});
|
|
6766
|
+
|
|
6767
|
+
// src/rules/a11y/element-declarations.ts
|
|
6768
|
+
var ELEMENTS_OPTION = {
|
|
6769
|
+
kind: "string-list",
|
|
6770
|
+
default: [],
|
|
6771
|
+
pattern: {
|
|
6772
|
+
regex: /^[a-z][a-z0-9-]*$/i,
|
|
6773
|
+
describe: "a bare tag name (letters, digits and hyphens; no selector syntax)"
|
|
6774
|
+
}
|
|
6775
|
+
};
|
|
6776
|
+
|
|
6777
|
+
// src/rules/a11y/disallowed-element.ts
|
|
6778
|
+
var declared = (o) => new Set(listOption(o, "elements").map((t) => t.toLowerCase()));
|
|
6779
|
+
var a11yDisallowedElement = componentRule({
|
|
6780
|
+
id: "a11y/disallowed-element",
|
|
6781
|
+
title: "Disallowed element",
|
|
6782
|
+
category: "a11y",
|
|
6783
|
+
severity: "warning",
|
|
6784
|
+
label: "No disallowed elements",
|
|
6785
|
+
rationale: "A project can decide that some elements have no place in its markup \u2014 `<iframe>` in content pages, `<font>` anywhere, a legacy custom element mid-migration \u2014 and this rule reports every occurrence of the tags it declares. It has no opinion of its own: with nothing declared it does nothing.",
|
|
6786
|
+
recommendation: "Replace the element with the one the project prefers, or narrow the declaration with an `overrides` entry for the files where it is allowed.",
|
|
6787
|
+
options: { elements: ELEMENTS_OPTION },
|
|
6788
|
+
// Every element is judged once something is declared, so a clean component passes; nothing
|
|
6789
|
+
// declared means nothing is judged, and the file emits no result at all.
|
|
6790
|
+
applies: (c, o) => declared(o).size > 0 && (c.elements ?? []).length > 0,
|
|
6791
|
+
bad: (c, o) => {
|
|
6792
|
+
const set = declared(o);
|
|
6793
|
+
return (c.elements ?? []).filter((e) => set.has(e.tag)).map((e) => ({ line: e.line, message: `<${e.tag}> is disallowed by this project's configuration` }));
|
|
6794
|
+
}
|
|
6795
|
+
});
|
|
6796
|
+
|
|
6797
|
+
// src/html-spec/content-model.ts
|
|
6798
|
+
function splitTop(s) {
|
|
6799
|
+
const out = [];
|
|
6800
|
+
let depth = 0;
|
|
6801
|
+
let cur = "";
|
|
6802
|
+
for (const ch of s) {
|
|
6803
|
+
if (ch === "(" || ch === "[") depth++;
|
|
6804
|
+
else if (ch === ")" || ch === "]") depth--;
|
|
6805
|
+
if (ch === "," && depth === 0) {
|
|
6806
|
+
out.push(cur);
|
|
6807
|
+
cur = "";
|
|
6808
|
+
} else cur += ch;
|
|
6809
|
+
}
|
|
6810
|
+
if (cur.trim()) out.push(cur);
|
|
6811
|
+
return out.map((x) => x.trim()).filter(Boolean);
|
|
6812
|
+
}
|
|
6813
|
+
var INTERACTIVE_ARM_TOKENS = /* @__PURE__ */ new Set([":model(interactive)", "a", "[tabindex]"]);
|
|
6814
|
+
function stripInteractiveArms(parts) {
|
|
6815
|
+
return parts.filter((p) => {
|
|
6816
|
+
if (INTERACTIVE_ARM_TOKENS.has(p)) return false;
|
|
6817
|
+
const has = /^:has\((.*)\)$/.exec(p);
|
|
6818
|
+
if (has) return stripInteractiveArms(splitTop(has[1])).length > 0;
|
|
6819
|
+
return true;
|
|
6820
|
+
});
|
|
6821
|
+
}
|
|
6822
|
+
var Evaluator = class {
|
|
6823
|
+
constructor(els, children) {
|
|
6824
|
+
this.els = els;
|
|
6825
|
+
this.children = children;
|
|
6826
|
+
}
|
|
6827
|
+
els;
|
|
6828
|
+
children;
|
|
6829
|
+
attr(idx, name) {
|
|
6830
|
+
const el = this.els[idx];
|
|
6831
|
+
if (el.hasSpread) return "unknown";
|
|
6832
|
+
const a = el.attrs.find((x) => x.name === name);
|
|
6833
|
+
if (!a) return { present: false };
|
|
6834
|
+
return { present: true, ...a.value !== void 0 ? { value: a.value } : {} };
|
|
6835
|
+
}
|
|
6836
|
+
matchAttr(inner, idx) {
|
|
6837
|
+
const m = /^([a-zA-Z-]+)(?:\s*=\s*'?([^'\s]*)'?(?:\s+i)?)?$/.exec(inner.trim());
|
|
6838
|
+
if (!m) return "unknown";
|
|
6839
|
+
const got = this.attr(idx, m[1].toLowerCase());
|
|
6840
|
+
if (got === "unknown") return "unknown";
|
|
6841
|
+
if (!got.present) return false;
|
|
6842
|
+
if (m[2] === void 0) return true;
|
|
6843
|
+
if (got.value === void 0) return "unknown";
|
|
6844
|
+
return got.value.toLowerCase() === m[2].toLowerCase();
|
|
6845
|
+
}
|
|
6846
|
+
matchCategory(cat, idx) {
|
|
6847
|
+
if (cat === "#custom") return false;
|
|
6848
|
+
const list = HTML_SPEC.contentModels[cat];
|
|
6849
|
+
if (!list) return "unknown";
|
|
6850
|
+
let unknown = false;
|
|
6851
|
+
for (const sel of list) {
|
|
6852
|
+
if (sel === "#text") continue;
|
|
6853
|
+
const r = this.matchSelector(sel, idx);
|
|
6854
|
+
if (r === true) return true;
|
|
6855
|
+
if (r === "unknown") unknown = true;
|
|
6856
|
+
}
|
|
6857
|
+
return unknown ? "unknown" : false;
|
|
6858
|
+
}
|
|
6859
|
+
/** Does the element's subtree contain a match for any of `sels`? Chain breaks bound the subtree. */
|
|
6860
|
+
matchHas(sels, idx) {
|
|
6861
|
+
let unknown = this.els[idx].unknownContent ? "unknown" : false;
|
|
6862
|
+
const stack = [...this.children.get(idx) ?? []];
|
|
6863
|
+
while (stack.length > 0) {
|
|
6864
|
+
const c = stack.pop();
|
|
6865
|
+
for (const sel of sels) {
|
|
6866
|
+
const r = this.matchSelector(sel, c);
|
|
6867
|
+
if (r === true) return true;
|
|
6868
|
+
if (r === "unknown") unknown = "unknown";
|
|
6869
|
+
}
|
|
6870
|
+
if (this.els[c].unknownContent) unknown = "unknown";
|
|
6871
|
+
stack.push(...this.children.get(c) ?? []);
|
|
6872
|
+
}
|
|
6873
|
+
return unknown;
|
|
6874
|
+
}
|
|
6875
|
+
matchSelector(sel, idx) {
|
|
6876
|
+
sel = sel.trim();
|
|
6877
|
+
const el = this.els[idx];
|
|
6878
|
+
if (sel === "*") return true;
|
|
6879
|
+
if (sel === "#text") return false;
|
|
6880
|
+
if (sel.startsWith("#")) return this.matchCategory(sel, idx);
|
|
6881
|
+
const tm = /^[a-zA-Z][a-zA-Z0-9|-]*/.exec(sel);
|
|
6882
|
+
const tag = tm?.[0];
|
|
6883
|
+
if (tag !== void 0) {
|
|
6884
|
+
if (tag.includes("|")) {
|
|
6885
|
+
if (tag !== "svg|svg" || el.tag !== "svg") return false;
|
|
6886
|
+
} else if (tag !== el.tag) return false;
|
|
6887
|
+
}
|
|
6888
|
+
let rest = sel.slice(tag?.length ?? 0);
|
|
6889
|
+
if (tag === void 0 && rest === "") return "unknown";
|
|
6890
|
+
let unknown = false;
|
|
6891
|
+
while (rest !== "") {
|
|
6892
|
+
if (rest.startsWith("[")) {
|
|
6893
|
+
const end = rest.indexOf("]");
|
|
6894
|
+
if (end === -1) return "unknown";
|
|
6895
|
+
const r = this.matchAttr(rest.slice(1, end), idx);
|
|
6896
|
+
rest = rest.slice(end + 1);
|
|
6897
|
+
if (r === false) return false;
|
|
6898
|
+
if (r === "unknown") unknown = true;
|
|
6899
|
+
} else if (rest.startsWith(":")) {
|
|
6900
|
+
const open = rest.indexOf("(");
|
|
6901
|
+
if (open === -1) return "unknown";
|
|
6902
|
+
const fn = rest.slice(1, open);
|
|
6903
|
+
let depth = 1;
|
|
6904
|
+
let i = open + 1;
|
|
6905
|
+
for (; i < rest.length && depth > 0; i++) {
|
|
6906
|
+
if (rest[i] === "(") depth++;
|
|
6907
|
+
else if (rest[i] === ")") depth--;
|
|
6908
|
+
}
|
|
6909
|
+
const arg = rest.slice(open + 1, i - 1);
|
|
6910
|
+
rest = rest.slice(i);
|
|
6911
|
+
if (fn === "model") {
|
|
6912
|
+
const r = this.matchCategory("#" + arg, idx);
|
|
6913
|
+
if (r === false) return false;
|
|
6914
|
+
if (r === "unknown") unknown = true;
|
|
6915
|
+
} else if (fn === "not") {
|
|
6916
|
+
let any = false;
|
|
6917
|
+
let unk = false;
|
|
6918
|
+
for (const part of stripInteractiveArms(splitTop(arg))) {
|
|
6919
|
+
const r = this.matchSelector(part, idx);
|
|
6920
|
+
if (r === true) {
|
|
6921
|
+
any = true;
|
|
6922
|
+
break;
|
|
6923
|
+
}
|
|
6924
|
+
if (r === "unknown") unk = true;
|
|
6925
|
+
}
|
|
6926
|
+
if (any) return false;
|
|
6927
|
+
if (unk) unknown = true;
|
|
6928
|
+
} else if (fn === "has") {
|
|
6929
|
+
const parts = stripInteractiveArms(splitTop(arg));
|
|
6930
|
+
if (parts.length > 0) {
|
|
6931
|
+
const r = this.matchHas(parts, idx);
|
|
6932
|
+
if (r === false) return false;
|
|
6933
|
+
if (r === "unknown") unknown = true;
|
|
6934
|
+
}
|
|
6935
|
+
} else return "unknown";
|
|
6936
|
+
} else return "unknown";
|
|
6937
|
+
}
|
|
6938
|
+
return unknown ? "unknown" : true;
|
|
6504
6939
|
}
|
|
6505
6940
|
};
|
|
6941
|
+
function flatten(contents, acc, filters) {
|
|
6942
|
+
if (Array.isArray(contents)) {
|
|
6943
|
+
for (const c of contents) flatten(c, acc, filters);
|
|
6944
|
+
return;
|
|
6945
|
+
}
|
|
6946
|
+
if (typeof contents === "string") {
|
|
6947
|
+
acc.push(contents);
|
|
6948
|
+
return;
|
|
6949
|
+
}
|
|
6950
|
+
if (contents !== null && typeof contents === "object") {
|
|
6951
|
+
const o = contents;
|
|
6952
|
+
if (typeof o["transparent"] === "string") filters.push(o["transparent"]);
|
|
6953
|
+
for (const k of ["require", "optional", "oneOrMore", "zeroOrMore", "choice"]) {
|
|
6954
|
+
if (k in o) flatten(o[k], acc, filters);
|
|
6955
|
+
}
|
|
6956
|
+
}
|
|
6957
|
+
}
|
|
6958
|
+
function isClosedEntrySet(entries) {
|
|
6959
|
+
return entries.every(
|
|
6960
|
+
(e) => !e.startsWith("#") && !e.includes(":model(") || /^(?:#|:model\()script-supporting\)?$/.test(e)
|
|
6961
|
+
);
|
|
6962
|
+
}
|
|
6963
|
+
function describeEntries(entries, modelTag) {
|
|
6964
|
+
const tags = [
|
|
6965
|
+
...new Set(entries.filter((e) => /^[a-zA-Z]/.test(e) && !e.includes("|")).map((e) => /^[a-zA-Z0-9-]+/.exec(e)[0]))
|
|
6966
|
+
];
|
|
6967
|
+
if (isClosedEntrySet(entries)) {
|
|
6968
|
+
const hasScript = entries.some((e) => e.includes("script-supporting"));
|
|
6969
|
+
if (tags.length === 0) return `\`<${modelTag}>\` admits no element children`;
|
|
6970
|
+
const list = tags.map((t) => `\`<${t}>\``).join(", ");
|
|
6971
|
+
return `\`<${modelTag}>\` admits only ${list}${hasScript ? " and script-supporting elements" : ""}`;
|
|
6972
|
+
}
|
|
6973
|
+
const cat = entries.map((e) => /(?:^#|:model\()([a-zA-Z-]+)/.exec(e)?.[1]).find((c) => c !== void 0 && c !== "script-supporting");
|
|
6974
|
+
return cat !== void 0 ? `\`<${modelTag}>\`'s content model is ${cat} content` : `it is outside \`<${modelTag}>\`'s content model`;
|
|
6975
|
+
}
|
|
6976
|
+
var HEADINGS = /* @__PURE__ */ new Set(["h1", "h2", "h3", "h4", "h5", "h6"]);
|
|
6977
|
+
var STRUCTURE_BOUND = /* @__PURE__ */ new Set([
|
|
6978
|
+
"li",
|
|
6979
|
+
"dt",
|
|
6980
|
+
"dd",
|
|
6981
|
+
"tr",
|
|
6982
|
+
"td",
|
|
6983
|
+
"th",
|
|
6984
|
+
"thead",
|
|
6985
|
+
"tbody",
|
|
6986
|
+
"tfoot",
|
|
6987
|
+
"caption",
|
|
6988
|
+
"col",
|
|
6989
|
+
"colgroup",
|
|
6990
|
+
"optgroup",
|
|
6991
|
+
"figcaption",
|
|
6992
|
+
"legend",
|
|
6993
|
+
"summary",
|
|
6994
|
+
"source",
|
|
6995
|
+
"track"
|
|
6996
|
+
]);
|
|
6997
|
+
function judgeContent(els, children, ancestors, childIdx) {
|
|
6998
|
+
const ev = new Evaluator(els, children);
|
|
6999
|
+
const child = els[childIdx];
|
|
7000
|
+
for (let i = ancestors.length - 1; i >= 0; i--) {
|
|
7001
|
+
const holder = els[ancestors[i]];
|
|
7002
|
+
const spec = HTML_SPEC.elements[holder.tag];
|
|
7003
|
+
if (!spec?.contentModel) return void 0;
|
|
7004
|
+
const cm = spec.contentModel;
|
|
7005
|
+
if (cm.contents === true) return void 0;
|
|
7006
|
+
const violation = (entries2) => ({
|
|
7007
|
+
verdict: "violation",
|
|
7008
|
+
closedModel: isClosedEntrySet(entries2) || HEADINGS.has(child.tag) || HEADINGS.has(holder.tag) || STRUCTURE_BOUND.has(child.tag),
|
|
7009
|
+
admits: describeEntries(entries2, holder.tag),
|
|
7010
|
+
modelTag: holder.tag
|
|
7011
|
+
});
|
|
7012
|
+
if (cm.contents === false) return violation([]);
|
|
7013
|
+
let entries = [];
|
|
7014
|
+
const filters = [];
|
|
7015
|
+
flatten(cm.contents, entries, filters);
|
|
7016
|
+
for (const f of filters) {
|
|
7017
|
+
const r = ev.matchSelector(f, childIdx);
|
|
7018
|
+
if (r === false) return violation(entries);
|
|
7019
|
+
if (r === "unknown") return void 0;
|
|
7020
|
+
}
|
|
7021
|
+
if (cm.conditional) {
|
|
7022
|
+
const grandparent = i >= 1 ? els[ancestors[i - 1]] : void 0;
|
|
7023
|
+
for (const cond of cm.conditional) {
|
|
7024
|
+
const applies = conditionApplies(ev, cond.condition, ancestors[i], holder, grandparent?.tag);
|
|
7025
|
+
if (applies === true) {
|
|
7026
|
+
if (cond.contents === true) return void 0;
|
|
7027
|
+
const repl = [];
|
|
7028
|
+
const rf = [];
|
|
7029
|
+
flatten(cond.contents === false ? [] : cond.contents, repl, rf);
|
|
7030
|
+
for (const f of rf) {
|
|
7031
|
+
const r = ev.matchSelector(f, childIdx);
|
|
7032
|
+
if (r === false) return violation(repl);
|
|
7033
|
+
if (r === "unknown") return void 0;
|
|
7034
|
+
}
|
|
7035
|
+
entries = repl;
|
|
7036
|
+
break;
|
|
7037
|
+
}
|
|
7038
|
+
if (applies === "unknown") {
|
|
7039
|
+
if (cond.contents === true) return void 0;
|
|
7040
|
+
if (cond.contents !== false) flatten(cond.contents, entries, filters);
|
|
7041
|
+
}
|
|
7042
|
+
}
|
|
7043
|
+
}
|
|
7044
|
+
let unknown = false;
|
|
7045
|
+
for (const e of entries) {
|
|
7046
|
+
if (e === "#text") continue;
|
|
7047
|
+
const r = ev.matchSelector(e, childIdx);
|
|
7048
|
+
if (r === true) return void 0;
|
|
7049
|
+
if (r === "unknown") unknown = true;
|
|
7050
|
+
}
|
|
7051
|
+
if (unknown) return void 0;
|
|
7052
|
+
if (filters.length > 0) {
|
|
7053
|
+
if (i > 0) continue;
|
|
7054
|
+
return void 0;
|
|
7055
|
+
}
|
|
7056
|
+
return violation(entries);
|
|
7057
|
+
}
|
|
7058
|
+
return void 0;
|
|
7059
|
+
}
|
|
7060
|
+
function conditionApplies(ev, condition, holderIdx, holder, grandparentTag) {
|
|
7061
|
+
const ancestorForm = /^([a-z]+) > (\[.*\]|[a-z]*(?:\[.*\])?)$/.exec(condition);
|
|
7062
|
+
if (ancestorForm) {
|
|
7063
|
+
const [, anc, selfSel] = ancestorForm;
|
|
7064
|
+
const self = selfSel === "" || selfSel === holder.tag ? true : ev.matchSelector(selfSel.startsWith("[") ? holder.tag + selfSel : selfSel, holderIdx);
|
|
7065
|
+
if (self === false) return false;
|
|
7066
|
+
if (grandparentTag === void 0) return "unknown";
|
|
7067
|
+
if (grandparentTag !== anc) return false;
|
|
7068
|
+
return self;
|
|
7069
|
+
}
|
|
7070
|
+
if (condition.startsWith("[")) return ev.matchSelector(holder.tag + condition, holderIdx);
|
|
7071
|
+
if (/^[a-z-]+$/.test(condition)) return ev.matchSelector(`${holder.tag}[${condition}]`, holderIdx);
|
|
7072
|
+
if (/^[a-z]+\[/.test(condition)) return ev.matchSelector(condition, holderIdx);
|
|
7073
|
+
return "unknown";
|
|
7074
|
+
}
|
|
7075
|
+
|
|
7076
|
+
// src/rules/a11y/permitted-contents.ts
|
|
7077
|
+
var KNOWN_TAGS2 = new Set(Object.keys(HTML_SPEC.elements).map((k) => k.replace(/^svg:/, "").toLowerCase()));
|
|
7078
|
+
var FIX8 = {
|
|
7079
|
+
description: "Move the child to an element its parent permits (e.g. wrap list content in <li>), or change the container to one that admits it (a <div> instead of a misused <ul>, a <span> instead of a block child inside a <button>)."
|
|
7080
|
+
};
|
|
7081
|
+
var COMPILER_CARVEOUT = /* @__PURE__ */ new Set(["option", "optgroup"]);
|
|
7082
|
+
function judgeable(el) {
|
|
7083
|
+
return !el.inSvg && !el.tag.includes("-") && KNOWN_TAGS2.has(el.tag);
|
|
7084
|
+
}
|
|
7085
|
+
var a11yPermittedContents = componentRule({
|
|
7086
|
+
id: "a11y/permitted-contents",
|
|
7087
|
+
title: "Permitted contents",
|
|
7088
|
+
category: "a11y",
|
|
7089
|
+
severity: "warning",
|
|
7090
|
+
label: "Element nesting follows the HTML content models",
|
|
7091
|
+
recommendation: "Restructure the markup so each element sits inside a parent whose content model permits it.",
|
|
7092
|
+
rationale: "An element outside its parent's permitted content \u2014 a `<div>` directly inside `<ul>`, a heading inside a `<button>` \u2014 is markup assistive technology mis-announces: list semantics break, headings lose or pollute their outline role. Judged per child against the HTML content models, membership only.",
|
|
7093
|
+
fix: FIX8,
|
|
7094
|
+
applies: (c) => (c.elements ?? []).length > 0,
|
|
7095
|
+
bad: (c) => {
|
|
7096
|
+
const els = c.elements ?? [];
|
|
7097
|
+
const children = /* @__PURE__ */ new Map();
|
|
7098
|
+
for (let i = 0; i < els.length; i++) {
|
|
7099
|
+
const p = els[i].parent;
|
|
7100
|
+
if (p === void 0) continue;
|
|
7101
|
+
const list = children.get(p);
|
|
7102
|
+
if (list) list.push(i);
|
|
7103
|
+
else children.set(p, [i]);
|
|
7104
|
+
}
|
|
7105
|
+
const out = [];
|
|
7106
|
+
for (let i = 0; i < els.length; i++) {
|
|
7107
|
+
const child = els[i];
|
|
7108
|
+
if (child.parent === void 0 || !judgeable(child)) continue;
|
|
7109
|
+
const ancestors = [];
|
|
7110
|
+
for (let a = child.parent; a !== void 0; a = els[a].parent) ancestors.unshift(a);
|
|
7111
|
+
const parent = els[child.parent];
|
|
7112
|
+
if (!judgeable(parent) || COMPILER_CARVEOUT.has(parent.tag)) continue;
|
|
7113
|
+
const judgment = judgeContent(els, children, ancestors, i);
|
|
7114
|
+
if (!judgment) continue;
|
|
7115
|
+
out.push({
|
|
7116
|
+
line: child.line,
|
|
7117
|
+
message: `\`<${child.tag}>\` is not permitted content here \u2014 ${judgment.admits}`,
|
|
7118
|
+
severity: judgment.closedModel ? "warning" : "info"
|
|
7119
|
+
});
|
|
7120
|
+
}
|
|
7121
|
+
return out;
|
|
7122
|
+
}
|
|
7123
|
+
});
|
|
6506
7124
|
|
|
6507
7125
|
// src/rules/a11y/route-rule.ts
|
|
6508
|
-
function resultFactory(id,
|
|
7126
|
+
function resultFactory(id, recommendation13) {
|
|
6509
7127
|
const docsUrl12 = docsUrlFor(id);
|
|
6510
7128
|
return (route, detection, occ, message) => ({
|
|
6511
7129
|
id,
|
|
@@ -6516,15 +7134,16 @@ function resultFactory(id, recommendation12) {
|
|
|
6516
7134
|
location: occ.file,
|
|
6517
7135
|
...occ.line > 0 ? { line: occ.line } : {},
|
|
6518
7136
|
message,
|
|
6519
|
-
recommendation:
|
|
7137
|
+
recommendation: recommendation13,
|
|
6520
7138
|
docsUrl: docsUrl12
|
|
6521
7139
|
});
|
|
6522
7140
|
}
|
|
6523
7141
|
function surplusRule(spec) {
|
|
6524
|
-
const
|
|
7142
|
+
const result4 = resultFactory(spec.id, spec.recommendation);
|
|
6525
7143
|
return {
|
|
6526
7144
|
id: spec.id,
|
|
6527
7145
|
title: spec.title,
|
|
7146
|
+
passLabel: spec.passMessage,
|
|
6528
7147
|
category: "a11y",
|
|
6529
7148
|
severity: "warning",
|
|
6530
7149
|
scope: "route",
|
|
@@ -6538,16 +7157,100 @@ function surplusRule(spec) {
|
|
|
6538
7157
|
first ??= reps[0];
|
|
6539
7158
|
for (let i = 1; i < reps.length; i++) {
|
|
6540
7159
|
surplus = true;
|
|
6541
|
-
out.push(
|
|
7160
|
+
out.push(result4(route.route, PENALIZED, reps[i], spec.message(key, i, reps.length)));
|
|
6542
7161
|
}
|
|
6543
7162
|
}
|
|
6544
|
-
if (first && !surplus) out.push(
|
|
7163
|
+
if (first && !surplus) out.push(result4(route.route, PASS, { file: first.file, line: 0 }, spec.passMessage));
|
|
6545
7164
|
}
|
|
6546
7165
|
return out;
|
|
6547
7166
|
}
|
|
6548
7167
|
};
|
|
6549
7168
|
}
|
|
6550
7169
|
|
|
7170
|
+
// src/rules/a11y/required-element.ts
|
|
7171
|
+
var ID10 = "a11y/required-element";
|
|
7172
|
+
var OPTIONS7 = { elements: ELEMENTS_OPTION };
|
|
7173
|
+
var recommendation10 = "Add the element to the route \u2014 usually in the layout the route composes \u2014 or narrow the declaration with an `overrides` entry for the routes it does not apply to.";
|
|
7174
|
+
var result = resultFactory(ID10, recommendation10);
|
|
7175
|
+
var a11yRequiredElement = {
|
|
7176
|
+
id: ID10,
|
|
7177
|
+
title: "Required element",
|
|
7178
|
+
category: "a11y",
|
|
7179
|
+
severity: "warning",
|
|
7180
|
+
scope: "route",
|
|
7181
|
+
passLabel: "Required elements present",
|
|
7182
|
+
rationale: "A project can decide that every page must carry certain elements \u2014 a `<main>` landmark, an `<h1>`, a `<nav>` \u2014 and this rule reports a route that composes without one. It has no opinion of its own: with nothing declared it does nothing. Presence is judged across the whole composed route, so an element supplied by a layout, a resolved component or `app.html` counts.",
|
|
7183
|
+
options: OPTIONS7,
|
|
7184
|
+
async check(ctx) {
|
|
7185
|
+
if (!isMentionedAnywhere(ctx.config, ID10)) return [];
|
|
7186
|
+
const compiled = compileOverrides(ctx.config);
|
|
7187
|
+
const out = [];
|
|
7188
|
+
for (const route of ctx.a11y ?? []) {
|
|
7189
|
+
if (route.elementTags === void 0 || route.file === void 0) continue;
|
|
7190
|
+
const o = resolveRuleOptions(ID10, OPTIONS7, ctx.config, { route: route.route, file: route.file }, compiled);
|
|
7191
|
+
const declared2 = [...new Set(listOption(o, "elements").map((t) => t.toLowerCase()))];
|
|
7192
|
+
if (declared2.length === 0) continue;
|
|
7193
|
+
const present4 = new Set(route.elementTags);
|
|
7194
|
+
const missing = declared2.filter((t) => !present4.has(t));
|
|
7195
|
+
const occ = { file: route.file, line: 0 };
|
|
7196
|
+
if (missing.length === 0) {
|
|
7197
|
+
out.push(result(route.route, PASS, occ, "Required elements present"));
|
|
7198
|
+
continue;
|
|
7199
|
+
}
|
|
7200
|
+
if (route.elementsClosed !== true) continue;
|
|
7201
|
+
for (const tag of missing) {
|
|
7202
|
+
out.push(
|
|
7203
|
+
result(
|
|
7204
|
+
route.route,
|
|
7205
|
+
PENALIZED,
|
|
7206
|
+
occ,
|
|
7207
|
+
`<${tag}> is required on every route by this project's configuration and this route has none`
|
|
7208
|
+
)
|
|
7209
|
+
);
|
|
7210
|
+
}
|
|
7211
|
+
}
|
|
7212
|
+
return out;
|
|
7213
|
+
}
|
|
7214
|
+
};
|
|
7215
|
+
|
|
7216
|
+
// src/rules/a11y/doctype.ts
|
|
7217
|
+
var present3 = { presence: "own", value: "static" };
|
|
7218
|
+
var absent3 = { presence: "none", value: "absent" };
|
|
7219
|
+
var FIX9 = {
|
|
7220
|
+
description: "Add <!doctype html> as the first line of src/app.html.",
|
|
7221
|
+
snippet: "<!doctype html>",
|
|
7222
|
+
lang: "html"
|
|
7223
|
+
};
|
|
7224
|
+
var a11yDoctype = {
|
|
7225
|
+
id: "a11y/doctype",
|
|
7226
|
+
title: "Doctype",
|
|
7227
|
+
category: "a11y",
|
|
7228
|
+
// `info`, not `warning`: the accessibility half of this rule's premise has no source — MDN's
|
|
7229
|
+
// quirks-mode guide is about layout, and WCAG 4.1.1 Parsing is obsolete and removed. The layout
|
|
7230
|
+
// claim stands, so the rule stays; its weight follows the evidence that remains.
|
|
7231
|
+
severity: "info",
|
|
7232
|
+
scope: "project",
|
|
7233
|
+
rationale: "Without a doctype browsers render in quirks mode, which applies different layout and box-model rules than the standards mode a page is otherwise laid out under.",
|
|
7234
|
+
fix: FIX9,
|
|
7235
|
+
async check(ctx) {
|
|
7236
|
+
const { appHtmlDoctype } = ctx.project;
|
|
7237
|
+
if (appHtmlDoctype === void 0) return [];
|
|
7238
|
+
return [
|
|
7239
|
+
{
|
|
7240
|
+
id: "a11y/doctype",
|
|
7241
|
+
category: "a11y",
|
|
7242
|
+
severity: "info",
|
|
7243
|
+
detection: appHtmlDoctype ? present3 : absent3,
|
|
7244
|
+
location: "src/app.html",
|
|
7245
|
+
message: appHtmlDoctype ? "<!doctype html>" : "src/app.html is missing <!doctype html>",
|
|
7246
|
+
recommendation: "Add <!doctype html> as the first line of src/app.html.",
|
|
7247
|
+
docsUrl: docsUrlFor("a11y/doctype"),
|
|
7248
|
+
fix: { ...FIX9 }
|
|
7249
|
+
}
|
|
7250
|
+
];
|
|
7251
|
+
}
|
|
7252
|
+
};
|
|
7253
|
+
|
|
6551
7254
|
// src/rules/a11y/duplicate-landmark.ts
|
|
6552
7255
|
var KINDS = ["main", "banner", "contentinfo"];
|
|
6553
7256
|
var a11yDuplicateLandmark = surplusRule({
|
|
@@ -6564,8 +7267,8 @@ var a11yDuplicateLandmark = surplusRule({
|
|
|
6564
7267
|
});
|
|
6565
7268
|
|
|
6566
7269
|
// src/rules/a11y/top-level-landmark.ts
|
|
6567
|
-
var
|
|
6568
|
-
var
|
|
7270
|
+
var recommendation11 = "A banner, main, complementary, or contentinfo landmark should not be nested inside another landmark.";
|
|
7271
|
+
var result2 = resultFactory("a11y/top-level-landmark", recommendation11);
|
|
6569
7272
|
var KINDS2 = ["main", "banner", "complementary", "contentinfo"];
|
|
6570
7273
|
var a11yTopLevelLandmark = {
|
|
6571
7274
|
id: "a11y/top-level-landmark",
|
|
@@ -6578,11 +7281,11 @@ var a11yTopLevelLandmark = {
|
|
|
6578
7281
|
const out = [];
|
|
6579
7282
|
for (const route of ctx.a11y ?? []) {
|
|
6580
7283
|
for (const nested of route.nestedLandmarks) {
|
|
6581
|
-
out.push(
|
|
7284
|
+
out.push(result2(route.route, PENALIZED, nested, `${nested.kind} landmark is nested inside ${nested.within}`));
|
|
6582
7285
|
}
|
|
6583
7286
|
if (route.nestedLandmarks.length === 0) {
|
|
6584
7287
|
const first = KINDS2.map((kind) => route.landmarks[kind]?.[0]).find((rep) => rep !== void 0);
|
|
6585
|
-
if (first) out.push(
|
|
7288
|
+
if (first) out.push(result2(route.route, PASS, { file: first.file, line: 0 }, "No nested landmarks"));
|
|
6586
7289
|
}
|
|
6587
7290
|
}
|
|
6588
7291
|
return out;
|
|
@@ -6603,15 +7306,15 @@ var a11yIdDuplication = surplusRule({
|
|
|
6603
7306
|
});
|
|
6604
7307
|
|
|
6605
7308
|
// src/rules/a11y/no-missing-id-ref.ts
|
|
6606
|
-
var
|
|
6607
|
-
var
|
|
7309
|
+
var recommendation12 = "An id reference should point to an id that exists somewhere in the composed route.";
|
|
7310
|
+
var result3 = resultFactory("a11y/no-missing-id-ref", recommendation12);
|
|
6608
7311
|
var a11yNoMissingIdRef = {
|
|
6609
7312
|
id: "a11y/no-missing-id-ref",
|
|
6610
7313
|
title: "No missing id ref",
|
|
6611
7314
|
category: "a11y",
|
|
6612
7315
|
severity: "warning",
|
|
6613
7316
|
scope: "route",
|
|
6614
|
-
rationale: '
|
|
7317
|
+
rationale: 'An id reference \u2014 `for`, `list`, `headers`, `form`, `popovertarget`, `commandfor`, the ARIA id-reference properties (`aria-labelledby`, `aria-describedby`, `aria-controls`, `aria-owns`, \u2026), or a same-page `href="#\u2026"` \u2014 pointing at an id that does not exist leaves assistive tech with a broken association or the browser with a dead in-page link.',
|
|
6615
7318
|
async check(ctx) {
|
|
6616
7319
|
const out = [];
|
|
6617
7320
|
for (const route of ctx.a11y ?? []) {
|
|
@@ -6622,7 +7325,7 @@ var a11yNoMissingIdRef = {
|
|
|
6622
7325
|
if (candidates.has(ref.id)) continue;
|
|
6623
7326
|
hasMissing = true;
|
|
6624
7327
|
out.push(
|
|
6625
|
-
|
|
7328
|
+
result3(
|
|
6626
7329
|
route.route,
|
|
6627
7330
|
PENALIZED,
|
|
6628
7331
|
ref,
|
|
@@ -6632,7 +7335,7 @@ var a11yNoMissingIdRef = {
|
|
|
6632
7335
|
}
|
|
6633
7336
|
if (!hasMissing) {
|
|
6634
7337
|
const first = route.idRefs[0];
|
|
6635
|
-
out.push(
|
|
7338
|
+
out.push(result3(route.route, PASS, { file: first.file, line: 0 }, "No missing id references"));
|
|
6636
7339
|
}
|
|
6637
7340
|
}
|
|
6638
7341
|
return out;
|
|
@@ -6724,6 +7427,13 @@ var allRules = [
|
|
|
6724
7427
|
a11yUseList,
|
|
6725
7428
|
a11yPlaceholderLabelOption,
|
|
6726
7429
|
a11yRequireDatetime,
|
|
7430
|
+
a11yDeprecatedElement,
|
|
7431
|
+
a11yDeprecatedAttr,
|
|
7432
|
+
a11yDisallowedAriaProps,
|
|
7433
|
+
a11yDeprecatedAria,
|
|
7434
|
+
a11yDisallowedElement,
|
|
7435
|
+
a11yPermittedContents,
|
|
7436
|
+
a11yRequiredElement,
|
|
6727
7437
|
a11yDoctype,
|
|
6728
7438
|
a11yDuplicateLandmark,
|
|
6729
7439
|
a11yTopLevelLandmark,
|
|
@@ -6736,7 +7446,8 @@ function optionInfos(spec) {
|
|
|
6736
7446
|
kind: s.kind,
|
|
6737
7447
|
default: s.default,
|
|
6738
7448
|
...s.kind === "integer" && s.min !== void 0 ? { min: s.min } : {},
|
|
6739
|
-
...s.kind === "integer" && s.max !== void 0 ? { max: s.max } : {}
|
|
7449
|
+
...s.kind === "integer" && s.max !== void 0 ? { max: s.max } : {},
|
|
7450
|
+
...s.kind === "string-list" && s.pattern ? { pattern: s.pattern.describe } : {}
|
|
6740
7451
|
}));
|
|
6741
7452
|
}
|
|
6742
7453
|
function explainRule(id) {
|
|
@@ -6762,8 +7473,8 @@ function severityToSarifLevel(sev) {
|
|
|
6762
7473
|
function severityToGithubLevel(sev) {
|
|
6763
7474
|
return sev === "critical" ? "error" : sev === "warning" ? "warning" : "notice";
|
|
6764
7475
|
}
|
|
6765
|
-
function messageText(
|
|
6766
|
-
return
|
|
7476
|
+
function messageText(result4) {
|
|
7477
|
+
return result4.recommendation ? `${result4.message} ${result4.recommendation}` : result4.message;
|
|
6767
7478
|
}
|
|
6768
7479
|
var RULE_META = new Map(
|
|
6769
7480
|
allRules.map((r) => [r.id, { title: r.title, severity: r.severity, docsUrl: docsUrlFor(r.id) }])
|
|
@@ -6921,17 +7632,17 @@ function computeHealth(results, config) {
|
|
|
6921
7632
|
}
|
|
6922
7633
|
|
|
6923
7634
|
// src/reporter/json.ts
|
|
6924
|
-
function issueOf(
|
|
7635
|
+
function issueOf(result4) {
|
|
6925
7636
|
return {
|
|
6926
|
-
id:
|
|
6927
|
-
category:
|
|
6928
|
-
title:
|
|
6929
|
-
detection:
|
|
6930
|
-
location:
|
|
6931
|
-
...
|
|
6932
|
-
recommendation:
|
|
6933
|
-
...
|
|
6934
|
-
...
|
|
7637
|
+
id: result4.id,
|
|
7638
|
+
category: result4.category ?? "seo",
|
|
7639
|
+
title: result4.message,
|
|
7640
|
+
detection: result4.detection,
|
|
7641
|
+
location: result4.location,
|
|
7642
|
+
...result4.line !== void 0 ? { line: result4.line } : {},
|
|
7643
|
+
recommendation: result4.recommendation,
|
|
7644
|
+
...result4.docsUrl ? { docsUrl: result4.docsUrl } : {},
|
|
7645
|
+
...result4.fix ? { fix: result4.fix } : {}
|
|
6935
7646
|
};
|
|
6936
7647
|
}
|
|
6937
7648
|
function ruleEvidence(results, config, ruleIds) {
|
|
@@ -7196,6 +7907,7 @@ export {
|
|
|
7196
7907
|
isTopFragment,
|
|
7197
7908
|
stripTextDirective,
|
|
7198
7909
|
unwrapTs,
|
|
7910
|
+
collectSuppressions,
|
|
7199
7911
|
collectNamedImportAliases,
|
|
7200
7912
|
parseModuleProgram,
|
|
7201
7913
|
parseComponentFacts,
|
|
@@ -7227,6 +7939,13 @@ export {
|
|
|
7227
7939
|
a11yUseList,
|
|
7228
7940
|
a11yPlaceholderLabelOption,
|
|
7229
7941
|
a11yRequireDatetime,
|
|
7942
|
+
a11yDeprecatedElement,
|
|
7943
|
+
a11yDeprecatedAttr,
|
|
7944
|
+
a11yDisallowedAriaProps,
|
|
7945
|
+
a11yDeprecatedAria,
|
|
7946
|
+
a11yDisallowedElement,
|
|
7947
|
+
a11yPermittedContents,
|
|
7948
|
+
a11yRequiredElement,
|
|
7230
7949
|
a11yDoctype,
|
|
7231
7950
|
a11yDuplicateLandmark,
|
|
7232
7951
|
a11yTopLevelLandmark,
|
|
@@ -7248,3 +7967,28 @@ export {
|
|
|
7248
7967
|
terminalSafe,
|
|
7249
7968
|
formatMarkdownReport
|
|
7250
7969
|
};
|
|
7970
|
+
/*!
|
|
7971
|
+
* HTML spec data projected from @markuplint/html-spec@4.18.0 — https://github.com/markuplint/markuplint
|
|
7972
|
+
*
|
|
7973
|
+
* MIT License
|
|
7974
|
+
*
|
|
7975
|
+
* Copyright (c) 2017-2024 Yusuke Hirao
|
|
7976
|
+
*
|
|
7977
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7978
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
7979
|
+
* in the Software without restriction, including without limitation the rights
|
|
7980
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7981
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
7982
|
+
* furnished to do so, subject to the following conditions:
|
|
7983
|
+
*
|
|
7984
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
7985
|
+
* copies or substantial portions of the Software.
|
|
7986
|
+
*
|
|
7987
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
7988
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
7989
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
7990
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
7991
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
7992
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
7993
|
+
* SOFTWARE.
|
|
7994
|
+
*/
|