User Experience Performance Single Region Diagnostic Results

Webpage: http://www.shawcontract.com

Device: Desktop Computer

Region: United States West (Oregon)

Single Region Score

55
Page Performance Needs Improvement
A total of 28 improvements can achieve a higher score
Minimize main-thread work

Consider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this. [Learn how to minimize main-thread work]

Background and foreground colors do not have a sufficient contrast ratio.

Low-contrast text is difficult or impossible for many users to read. [Learn how to provide sufficient color contrast].

Elements with visible text labels do not have matching accessible names.

Visible text labels that do not match the accessible name can result in a confusing experience for screen reader users. [Learn more about accessible names].

Avoid serving legacy JavaScript to modern browsers

Polyfills and transforms enable legacy browsers to use new JavaScript features. However, many aren't necessary for modern browsers. For your bundled JavaScript, adopt a modern script deployment strategy using [module/nomodule feature detection] to reduce the amount of code shipped to modern browsers, while retaining support for legacy browsers. [Learn how to serve modern JavaScript]

Third parties

Third party code can significantly impact load performance. [Reduce and defer loading of third party code] to prioritize your page's content.

Reduce JavaScript execution time

Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. [Learn how to reduce Javascript execution time].

Links do not have descriptive text

Descriptive link text helps search engines understand your content. [Learn how to make links more accessible].

Touch targets do not have sufficient size or spacing.

Touch targets with sufficient size and spacing help users who may have difficulty targeting small controls to activate the targets. [Learn more about touch targets].

LCP request discovery

Optimize LCP by making the LCP image [discoverable] from the HTML immediately, and [avoiding lazy-loading]

Eliminate render-blocking resources

Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources].

Serve images in next-gen formats

Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats].

Document request latency

Your first network request is the most important. Reduce its latency by avoiding redirects, ensuring a fast server response, and enabling text compression.

Reduce unused JavaScript

Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript].

Does not use HTTPS

All sites should be protected with HTTPS, even ones that don't handle sensitive data. This includes avoiding [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 about HTTPS].

`[aria-*]` attributes do not match their roles

Each ARIA `role` supports a specific subset of `aria-*` attributes. Mismatching these invalidates the `aria-*` attributes. [Learn how to match ARIA attributes to their roles].

Uses deprecated APIs

Deprecated APIs will eventually be removed from the browser. [Learn more about deprecated APIs].

Browser errors were logged to the console

Errors logged to the console indicate unresolved problems. They can come from network request failures and other browser concerns. [Learn more about this errors in console diagnostic audit]

Largest Contentful Paint element

This is the largest contentful element painted within the viewport. [Learn more about the Largest Contentful Paint element]

Reduce unused CSS

Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS].

Some third-party resources can be lazy loaded with a facade

Some third-party embeds can be lazy loaded. Consider replacing them with a facade until they are required. [Learn how to defer third-parties with a facade].

Reduce initial server response time

Keep the server response time for the main document short because all other requests depend on it. [Learn more about the Time to First Byte metric].

Properly size images

Serve images that are appropriately-sized to save cellular data and improve load time. [Learn how to size images].

Buttons do not have an accessible name

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 how to make buttons more accessible].

Links do not have a discernible name

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 how to make links accessible].

Use video formats for animated content

Large GIFs are inefficient for delivering animated content. Consider using MPEG4/WebM videos for animations and PNG/WebP for static images instead of GIF to save network bytes. [Learn more about efficient video formats]

Render blocking requests

Requests are blocking the page's initial render, which may delay LCP. [Deferring or inlining] can move these network requests out of the critical path.

Avoid multiple page redirects

Redirects introduce additional delays before the page can be loaded. [Learn how to avoid page redirects].

Improve image delivery

Reducing the download time of images can improve the perceived load time of the page and LCP. [Learn more about optimizing image size]

Show All