Webpage: https://www.tennantco.com
Device: Desktop Computer
Region: United States East (Virginia)
Single Region Score
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].
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].
Informative elements should aim for short, descriptive alternate text. Decorative elements can be ignored with an empty alt attribute. [Learn more about the `alt` attribute].
Minifying JavaScript files can reduce payload sizes and script parse time. [Learn how to minify JavaScript].
Deprecated APIs will eventually be removed from the browser. [Learn more about deprecated APIs].
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript].
Low-contrast text is difficult or impossible for many users to read. [Learn how to provide sufficient color contrast].
If your robots.txt file is malformed, crawlers may not be able to understand how you want your website to be crawled or indexed. [Learn more about robots.txt].
Redirects introduce additional delays before the page can be loaded. [Learn how to avoid page redirects].
Descriptive link text helps search engines understand your content. [Learn how to make links more accessible].
This is the largest contentful element painted within the viewport. [Learn more about the Largest Contentful Paint element]
Including a skip link can help users skip to the main content to save time. [Learn more about skip links].
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].
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]
Sum of all time periods between FCP and Time to Interactive, when task length exceeded 50ms, expressed in milliseconds. [Learn more about the Total Blocking Time metric].
Your first network request is the most important. Reduce its latency by avoiding redirects, ensuring a fast server response, and enabling text compression.
Users are mistrustful of or confused by sites that request their location without context. Consider tying the request to a user action instead. [Learn more about the geolocation permission].
Third-party code can significantly impact load performance. Limit the number of redundant third-party providers and try to load third-party code after your page has primarily finished loading. [Learn how to minimize third-party impact].
Third party code can significantly impact load performance. [Reduce and defer loading of third party code] to prioritize your page's content.
Search engines may use `href` attributes on links to crawl websites. Ensure that the `href` attribute of anchor elements links to an appropriate destination, so more pages of the site can be discovered. [Learn how to make links crawlable]
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].
Reducing the download time of images can improve the perceived load time of the page and LCP. [Learn more about optimizing image size]
Text-based resources should be served with compression (gzip, deflate or brotli) to minimize total network bytes. [Learn more about text compression].
Screen reader users rely on frame titles to describe the contents of frames. [Learn more about frame titles].
Layout shifts occur when elements move absent any user interaction. [Investigate the causes of layout shifts], such as elements being added, removed, or their fonts changing as the page loads.
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].
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]
Labels ensure that form controls are announced properly by assistive technologies, like screen readers. [Learn more about form element labels].
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.
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]
Issues logged to the `Issues` panel in Chrome Devtools indicate unresolved problems. They can come from network request failures, insufficient security controls, and other browser concerns. Open up the Issues panel in Chrome DevTools for more details on each issue.
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 about source maps].