User Experience Performance Single Region Diagnostic Results

Webpage: http://www.shipco.com

Device: Desktop Computer

Region: Ireland (Dublin)

Single Region Score

31
Poor Page Performance
A total of 36 improvements can achieve a better score
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].

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].

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]

Reduce the impact of third-party code

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].

Issues were logged in the `Issues` panel in Chrome Devtools

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.

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.

List items (`<li>`) are not contained within `<ul>`, `<ol>` or `<menu>` parent elements.

Screen readers require list items (`

  • `) to be contained within a parent `
  • Uses third-party cookies

    Chrome is moving towards a new experience that allows users to choose to browse without third-party cookies. [Learn more about third-party cookies].

    Layout shift culprits

    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.

    Largest Contentful Paint element

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

    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]

    Avoid large layout shifts

    These are the largest layout shifts observed on the page. Each table item represents a single layout shift, and shows the element that shifted the most. Below each item are possible root causes that led to the layout shift. Some of these layout shifts may not be included in the CLS metric value due to [windowing]. [Learn how to improve CLS]

    Elements with an ARIA `[role]` that require children to contain a specific `[role]` are missing some or all of those required children.

    Some ARIA parent roles must contain specific child roles to perform their intended accessibility functions. [Learn more about roles and required children elements].

    Select elements do not have associated label elements.

    Form elements without effective labels can create frustrating experiences for screen reader users. [Learn more about the `select` element].

    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].

    Missing source maps for large first-party JavaScript

    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].

    `[role]`s are not contained by their required parent element

    Some ARIA child roles must be contained by specific parent roles to properly perform their intended accessibility functions. [Learn more about ARIA roles and required parent element].

    Heading elements are not in a sequentially-descending order

    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 about heading order].

    LCP request discovery

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

    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 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].

    Efficiently encode images

    Optimized images load faster and consume less cellular data. [Learn how to efficiently encode images].

    Links are not crawlable

    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]

    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].

    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].

    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].

    Displays images with incorrect aspect ratio

    Image display dimensions should match natural aspect ratio. [Learn more about image aspect ratio].

    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.

    Lists do not contain only `<li>` elements and script supporting elements (`<script>` and `<template>`).

    Screen readers have a specific way of announcing lists. Ensuring proper list structure aids screen reader output. [Learn more about proper list structure].

    Avoid multiple page redirects

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

    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].

    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].

    Enable text compression

    Text-based resources should be served with compression (gzip, deflate or brotli) to minimize total network bytes. [Learn more about text compression].

    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]

    Avoid an excessive DOM size

    A large DOM will increase memory usage, cause longer [style calculations], and produce costly [layout reflows]. [Learn how to avoid an excessive DOM size].

    Show All