diff --git a/packages/cli/docs/raw/uf-inc-budget.json b/packages/cli/docs/raw/uf-inc-budget.json index c9ac7688c..2072c0af6 100644 --- a/packages/cli/docs/raw/uf-inc-budget.json +++ b/packages/cli/docs/raw/uf-inc-budget.json @@ -15,7 +15,9 @@ "networkUserAgent": "", "hostUserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/100.0.4889.0 Safari/537.36", "benchmarkIndex": 1600, - "credits": { "axe-core": "4.3.5" } + "credits": { + "axe-core": "4.3.5" + } }, "audits": { "is-on-https": { @@ -24,7 +26,11 @@ "description": "All sites should be protected with HTTPS, even ones that don't handle sensitive data. This includes avoiding [mixed content](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content), where some resources are loaded over HTTP despite the initial request being served over HTTPS. HTTPS prevents intruders from tampering with or passively listening in on the communications between your app and your users, and is a prerequisite for HTTP/2 and many new web platform APIs. [Learn more](https://web.dev/is-on-https/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "service-worker": { "id": "service-worker", @@ -202,7 +208,11 @@ "description": "Errors logged to the console indicate unresolved problems. They can come from network request failures and other browser concerns. [Learn more](https://web.dev/errors-in-console/)", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "server-response-time": { "id": "server-response-time", @@ -216,7 +226,11 @@ "details": { "type": "opportunity", "headings": [ - { "key": "url", "valueType": "url", "label": "URL" }, + { + "key": "url", + "valueType": "url", + "label": "URL" + }, { "key": "responseTime", "valueType": "timespanMs", @@ -224,7 +238,10 @@ } ], "items": [ - { "url": "https://www.google.com/", "responseTime": 153.964 } + { + "url": "https://www.google.com/", + "responseTime": 153.964 + } ], "overallSavingsMs": 53.964 } @@ -245,7 +262,11 @@ "description": "Consider instrumenting your app with the User Timing API to measure your app's real-world performance during key user experiences. [Learn more](https://web.dev/user-timings/).", "score": null, "scoreDisplayMode": "notApplicable", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "critical-request-chains": { "id": "critical-request-chains", @@ -326,7 +347,11 @@ "details": { "type": "opportunity", "headings": [ - { "key": "url", "valueType": "url", "label": "URL" }, + { + "key": "url", + "valueType": "url", + "label": "URL" + }, { "key": "wastedMs", "valueType": "timespanMs", @@ -334,8 +359,14 @@ } ], "items": [ - { "url": "https://google.com/", "wastedMs": 850.2330000000001 }, - { "url": "https://www.google.com/", "wastedMs": 0 } + { + "url": "https://google.com/", + "wastedMs": 850.2330000000001 + }, + { + "url": "https://www.google.com/", + "wastedMs": 0 + } ], "overallSavingsMs": 850.2330000000001 } @@ -449,7 +480,11 @@ "description": "Image display dimensions should match natural aspect ratio. [Learn more](https://web.dev/image-aspect-ratio/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "image-size-responsive": { "id": "image-size-responsive", @@ -457,7 +492,11 @@ "description": "Image natural dimensions should be proportional to the display size and the pixel ratio to maximize image clarity. [Learn more](https://web.dev/serve-responsive-images/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "preload-fonts": { "id": "preload-fonts", @@ -472,7 +511,11 @@ "description": "Deprecated APIs will eventually be removed from the browser. [Learn more](https://web.dev/deprecations/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "mainthread-work-breakdown": { "id": "mainthread-work-breakdown", @@ -486,7 +529,11 @@ "details": { "type": "table", "headings": [ - { "key": "groupLabel", "itemType": "text", "text": "Category" }, + { + "key": "groupLabel", + "itemType": "text", + "text": "Category" + }, { "key": "duration", "itemType": "ms", @@ -540,7 +587,11 @@ "details": { "type": "table", "headings": [ - { "key": "url", "itemType": "url", "text": "URL" }, + { + "key": "url", + "itemType": "url", + "text": "URL" + }, { "key": "total", "granularity": 1, @@ -586,7 +637,9 @@ "scriptParseCompile": 11.936 } ], - "summary": { "wastedMs": 485.0000000000005 } + "summary": { + "wastedMs": 485.0000000000005 + } } }, "uses-rel-preload": { @@ -626,7 +679,11 @@ "score": 1, "scoreDisplayMode": "binary", "warnings": [], - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "diagnostics": { "id": "diagnostics", @@ -668,8 +725,16 @@ "details": { "type": "table", "headings": [ - { "key": "url", "itemType": "url", "text": "URL" }, - { "key": "protocol", "itemType": "text", "text": "Protocol" }, + { + "key": "url", + "itemType": "url", + "text": "URL" + }, + { + "key": "protocol", + "itemType": "text", + "text": "Protocol" + }, { "key": "startTime", "itemType": "ms", @@ -701,7 +766,11 @@ "itemType": "text", "text": "Status Code" }, - { "key": "mimeType", "itemType": "text", "text": "MIME Type" }, + { + "key": "mimeType", + "itemType": "text", + "text": "MIME Type" + }, { "key": "resourceType", "itemType": "text", @@ -987,7 +1056,11 @@ "details": { "type": "table", "headings": [ - { "key": "origin", "itemType": "text", "text": "URL" }, + { + "key": "origin", + "itemType": "text", + "text": "URL" + }, { "key": "rtt", "itemType": "ms", @@ -1000,10 +1073,22 @@ "origin": "https://www.gstatic.com", "rtt": 49.644000000000005 }, - { "origin": "https://google.com", "rtt": 25.22 }, - { "origin": "https://apis.google.com", "rtt": 22.029 }, - { "origin": "https://fonts.gstatic.com", "rtt": 21.679 }, - { "origin": "https://www.google.com", "rtt": 0 } + { + "origin": "https://google.com", + "rtt": 25.22 + }, + { + "origin": "https://apis.google.com", + "rtt": 22.029 + }, + { + "origin": "https://fonts.gstatic.com", + "rtt": 21.679 + }, + { + "origin": "https://www.google.com", + "rtt": 0 + } ] } }, @@ -1019,7 +1104,11 @@ "details": { "type": "table", "headings": [ - { "key": "origin", "itemType": "text", "text": "URL" }, + { + "key": "origin", + "itemType": "text", + "text": "URL" + }, { "key": "serverResponseTime", "itemType": "ms", @@ -1044,7 +1133,10 @@ "origin": "https://fonts.gstatic.com", "serverResponseTime": 8.631999999999994 }, - { "origin": "https://www.gstatic.com", "serverResponseTime": 0 } + { + "origin": "https://www.gstatic.com", + "serverResponseTime": 0 + } ] } }, @@ -1071,12 +1163,30 @@ } ], "items": [ - { "duration": 25.99, "startTime": 508.244 }, - { "duration": 22.268, "startTime": 536.878 }, - { "duration": 47.695, "startTime": 595.707 }, - { "duration": 40.865, "startTime": 656.752 }, - { "duration": 29.511, "startTime": 893.81 }, - { "duration": 32.37, "startTime": 1100.741 } + { + "duration": 25.99, + "startTime": 508.244 + }, + { + "duration": 22.268, + "startTime": 536.878 + }, + { + "duration": 47.695, + "startTime": 595.707 + }, + { + "duration": 40.865, + "startTime": 656.752 + }, + { + "duration": 29.511, + "startTime": 893.81 + }, + { + "duration": 32.37, + "startTime": 1100.741 + } ] } }, @@ -1134,7 +1244,9 @@ "observedSpeedIndex": 691, "observedSpeedIndexTs": 330357525837 }, - { "lcpInvalidated": false } + { + "lcpInvalidated": false + } ] } }, @@ -1147,7 +1259,11 @@ "details": { "type": "table", "headings": [ - { "key": "label", "itemType": "text", "text": "Resource Type" }, + { + "key": "label", + "itemType": "text", + "text": "Resource Type" + }, { "key": "requestCount", "itemType": "numeric", @@ -1158,7 +1274,11 @@ "itemType": "bytes", "text": "Transfer Size" }, - { "key": "countOverBudget", "itemType": "text", "text": "" }, + { + "key": "countOverBudget", + "itemType": "text", + "text": "" + }, { "key": "sizeOverBudget", "itemType": "bytes", @@ -1197,13 +1317,21 @@ "details": { "type": "table", "headings": [ - { "key": "label", "itemType": "text", "text": "Metric" }, + { + "key": "label", + "itemType": "text", + "text": "Metric" + }, { "key": "measurement", "itemType": "ms", "text": "Measurement" }, - { "key": "overBudget", "itemType": "ms", "text": "Over Budget" } + { + "key": "overBudget", + "itemType": "ms", + "text": "Over Budget" + } ], "items": [ { @@ -1230,7 +1358,11 @@ "details": { "type": "table", "headings": [ - { "key": "label", "itemType": "text", "text": "Resource Type" }, + { + "key": "label", + "itemType": "text", + "text": "Resource Type" + }, { "key": "requestCount", "itemType": "numeric", @@ -1314,21 +1446,28 @@ "key": "entity", "itemType": "link", "text": "Third-Party", - "subItemsHeading": { "key": "url", "itemType": "url" } + "subItemsHeading": { + "key": "url", + "itemType": "url" + } }, { "key": "transferSize", "granularity": 1, "itemType": "bytes", "text": "Transfer Size", - "subItemsHeading": { "key": "transferSize" } + "subItemsHeading": { + "key": "transferSize" + } }, { "key": "blockingTime", "granularity": 1, "itemType": "ms", "text": "Main-Thread Blocking Time", - "subItemsHeading": { "key": "blockingTime" } + "subItemsHeading": { + "key": "blockingTime" + } } ], "items": [ @@ -1381,7 +1520,10 @@ } } ], - "summary": { "wastedBytes": 97308, "wastedMs": 46.324 } + "summary": { + "wastedBytes": 97308, + "wastedMs": 46.324 + } } }, "third-party-facades": { @@ -1401,7 +1543,11 @@ "details": { "type": "table", "headings": [ - { "key": "node", "itemType": "node", "text": "Element" } + { + "key": "node", + "itemType": "node", + "text": "Element" + } ], "items": [ { @@ -1434,7 +1580,11 @@ "details": { "type": "table", "headings": [ - { "key": "node", "itemType": "node", "text": "Element" } + { + "key": "node", + "itemType": "node", + "text": "Element" + } ], "items": [ { @@ -1464,7 +1614,11 @@ "description": "These DOM elements contribute most to the CLS of the page.", "score": null, "scoreDisplayMode": "notApplicable", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "long-tasks": { "id": "long-tasks", @@ -1476,7 +1630,11 @@ "details": { "type": "table", "headings": [ - { "key": "url", "itemType": "url", "text": "URL" }, + { + "key": "url", + "itemType": "url", + "text": "URL" + }, { "key": "startTime", "itemType": "ms", @@ -1532,7 +1690,11 @@ "description": "Animations which are not composited can be janky and increase CLS. [Learn more](https://web.dev/non-composited-animations)", "score": null, "scoreDisplayMode": "notApplicable", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "unsized-images": { "id": "unsized-images", @@ -1543,8 +1705,16 @@ "details": { "type": "table", "headings": [ - { "key": "node", "itemType": "node", "text": "" }, - { "key": "url", "itemType": "url", "text": "URL" } + { + "key": "node", + "itemType": "node", + "text": "" + }, + { + "key": "url", + "itemType": "url", + "text": "URL" + } ], "items": [ { @@ -1575,7 +1745,11 @@ "description": "Source maps translate minified code to the original source code. This helps developers debug in production. In addition, Lighthouse is able to provide further insights. Consider deploying source maps to take advantage of these benefits. [Learn more](https://developers.google.com/web/tools/chrome-devtools/javascript/source-maps).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "preload-lcp-image": { "id": "preload-lcp-image", @@ -1605,19 +1779,25 @@ { "key": "description", "itemType": "text", - "subItemsHeading": { "key": "description" }, + "subItemsHeading": { + "key": "description" + }, "text": "Description" }, { "key": "directive", "itemType": "code", - "subItemsHeading": { "key": "directive" }, + "subItemsHeading": { + "key": "directive" + }, "text": "Directive" }, { "key": "severity", "itemType": "text", - "subItemsHeading": { "key": "severity" }, + "subItemsHeading": { + "key": "severity" + }, "text": "Severity" } ], @@ -2143,7 +2323,10 @@ "details": { "type": "treemap-data", "nodes": [ - { "name": "https://www.google.com/", "resourceBytes": 104671 }, + { + "name": "https://www.google.com/", + "resourceBytes": 104671 + }, { "name": "https://apis.google.com/_/scs/abc-static/_/js/k=gapi.gapi.en.Yozr9QYVVr4.O/m=gapi_iframes,googleapis_client/rt=j/sv=1/d=1/ed=1/rs=AHpOoo8ePFN_mLj5L9BxNRnarRImlQEt0w/cb=gapi.loaded_0", "resourceBytes": 110677, @@ -2191,7 +2374,11 @@ "description": "Each ARIA `role` supports a specific subset of `aria-*` attributes. Mismatching these invalidates the `aria-*` attributes. [Learn more](https://web.dev/aria-allowed-attr/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "aria-command-name": { "id": "aria-command-name", @@ -2206,7 +2393,11 @@ "description": "Assistive technologies, like screen readers, work inconsistently when `aria-hidden=\"true\"` is set on the document ``. [Learn more](https://web.dev/aria-hidden-body/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "aria-hidden-focus": { "id": "aria-hidden-focus", @@ -2214,7 +2405,11 @@ "description": "Focusable descendents within an `[aria-hidden=\"true\"]` element prevent those interactive elements from being available to users of assistive technologies like screen readers. [Learn more](https://web.dev/aria-hidden-focus/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "aria-input-field-name": { "id": "aria-input-field-name", @@ -2243,7 +2438,18 @@ "description": "Some ARIA roles have required attributes that describe the state of the element to screen readers. [Learn more](https://web.dev/aria-required-attr/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } + }, + "aria-required-children": { + "id": "aria-required-children", + "title": "Elements with an ARIA `[role]` that require children to contain a specific `[role]` have all required children.", + "description": "Some ARIA parent roles must contain specific child roles to perform their intended accessibility functions. [Learn more](https://web.dev/aria-required-children/).", + "score": null, + "scoreDisplayMode": "notApplicable" }, "aria-required-children": { "id": "aria-required-children", @@ -2265,7 +2471,11 @@ "description": "ARIA roles must have valid values in order to perform their intended accessibility functions. [Learn more](https://web.dev/aria-roles/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "aria-toggle-field-name": { "id": "aria-toggle-field-name", @@ -2294,7 +2504,11 @@ "description": "Assistive technologies, like screen readers, can't interpret ARIA attributes with invalid values. [Learn more](https://web.dev/aria-valid-attr-value/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "aria-valid-attr": { "id": "aria-valid-attr", @@ -2302,7 +2516,11 @@ "description": "Assistive technologies, like screen readers, can't interpret ARIA attributes with invalid names. [Learn more](https://web.dev/aria-valid-attr/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "button-name": { "id": "button-name", @@ -2310,7 +2528,11 @@ "description": "When a button doesn't have an accessible name, screen readers announce it as \"button\", making it unusable for users who rely on screen readers. [Learn more](https://web.dev/button-name/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "bypass": { "id": "bypass", @@ -2318,7 +2540,11 @@ "description": "Adding ways to bypass repetitive content lets keyboard users navigate the page more efficiently. [Learn more](https://web.dev/bypass/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "color-contrast": { "id": "color-contrast", @@ -2699,7 +2925,11 @@ "debugData": { "type": "debugdata", "impact": "serious", - "tags": ["cat.color", "wcag2aa", "wcag143"] + "tags": [ + "cat.color", + "wcag2aa", + "wcag143" + ] } } }, @@ -2723,7 +2953,11 @@ "description": "The title gives screen reader users an overview of the page, and search engine users rely on it heavily to determine if a page is relevant to their search. [Learn more](https://web.dev/document-title/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "duplicate-id-active": { "id": "duplicate-id-active", @@ -2731,7 +2965,11 @@ "description": "All focusable elements must have a unique `id` to ensure that they're visible to assistive technologies. [Learn more](https://web.dev/duplicate-id-active/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "duplicate-id-aria": { "id": "duplicate-id-aria", @@ -2739,7 +2977,11 @@ "description": "The value of an ARIA ID must be unique to prevent other instances from being overlooked by assistive technologies. [Learn more](https://web.dev/duplicate-id-aria/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "form-field-multiple-labels": { "id": "form-field-multiple-labels", @@ -2761,7 +3003,11 @@ "description": "Properly ordered headings that do not skip levels convey the semantic structure of the page, making it easier to navigate and understand when using assistive technologies. [Learn more](https://web.dev/heading-order/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "html-has-lang": { "id": "html-has-lang", @@ -2769,7 +3015,11 @@ "description": "If a page doesn't specify a lang attribute, a screen reader assumes that the page is in the default language that the user chose when setting up the screen reader. If the page isn't actually in the default language, then the screen reader might not announce the page's text correctly. [Learn more](https://web.dev/html-has-lang/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "html-lang-valid": { "id": "html-lang-valid", @@ -2777,7 +3027,11 @@ "description": "Specifying a valid [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) helps screen readers announce text properly. [Learn more](https://web.dev/html-lang-valid/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "image-alt": { "id": "image-alt", @@ -2785,7 +3039,11 @@ "description": "Informative elements should aim for short, descriptive alternate text. Decorative elements can be ignored with an empty alt attribute. [Learn more](https://web.dev/image-alt/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "input-image-alt": { "id": "input-image-alt", @@ -2807,7 +3065,11 @@ "description": "Link text (and alternate text for images, when used as links) that is discernible, unique, and focusable improves the navigation experience for screen reader users. [Learn more](https://web.dev/link-name/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "list": { "id": "list", @@ -2815,7 +3077,11 @@ "description": "Screen readers have a specific way of announcing lists. Ensuring proper list structure aids screen reader output. [Learn more](https://web.dev/list/).", "score": 1, "scoreDisplayMode": "binary", - "details": { "type": "table", "headings": [], "items": [] } + "details": { + "type": "table", + "headings": [], + "items": [] + } }, "listitem": { "id": "listitem", @@ -2823,7 +3089,11 @@ "description": "Screen readers require list items (`
  • `) to be contained within a parent `