User Experience Performance Single Region Diagnostic Results

Webpage: https://www.cammsys.net

Device: Desktop Computer

Region: United States West (Oregon)

Single Region Score

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

`[user-scalable="no"]` is used in the `<meta name="viewport">` element or the `[maximum-scale]` attribute is less than 5.

Disabling zooming is problematic for users with low vision who rely on screen magnification to properly see the contents of a web page. [Learn more about the viewport meta tag].

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]

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.

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

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

`<dl>`'s do not contain only properly-ordered `<dt>` and `<dd>` groups, `<script>`, `<template>` or `<div>` elements.

When definition lists are not properly marked up, screen readers may produce confusing or inaccurate output. [Learn how to structure definition lists correctly].

LCP request discovery

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

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

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

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

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

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

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

Screen readers require list items (`

  • `) to be contained within a parent `
  • 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.

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

    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.

    `<html>` element does not have a `[lang]` attribute

    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 about the `lang` attribute].

    `<frame>` or `<iframe>` elements do not have a title

    Screen reader users rely on frame titles to describe the contents of frames. [Learn more about frame titles].

    Defer offscreen images

    Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images].

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

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

    Largest Contentful Paint element

    This is the largest contentful element painted within the viewport. [Learn more about the Largest Contentful Paint 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].

    Efficiently encode images

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

    Image elements do not have `[alt]` attributes

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

    Third parties

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

    Show All