User Experience Performance Single Region Diagnostic Results

Webpage: http://www.mpi.co.th

Device: Desktop Computer

Region: United States West (Oregon)

Single Region Score

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

Links rely on color to be distinguishable.

Low-contrast text is difficult or impossible for many users to read. Link text that is discernible improves the experience for users with low vision. [Learn how to make links distinguishable].

LCP request discovery

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

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

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.

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]

Image elements have `[alt]` attributes that are redundant text.

Informative elements should aim for short, descriptive alternative text. Alternative text that is exactly the same as the text adjacent to the link or image is potentially confusing for screen reader users, because the text will be read twice. [Learn more about the `alt` attribute].

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

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

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

Screen readers require list items (`

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

    Minify JavaScript

    Minifying JavaScript files can reduce payload sizes and script parse time. [Learn how to minify JavaScript].

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

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

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

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

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

    Third parties

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

    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.

    Uses ARIA roles on incompatible elements

    Many HTML elements can only be assigned certain ARIA roles. Using ARIA roles where they are not allowed can interfere with the accessibility of the web page. [Learn more about ARIA roles].

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

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

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

    Speed Index

    Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric].

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

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

    Serves images with low resolution

    Image natural dimensions should be proportional to the display size and the pixel ratio to maximize image clarity. [Learn how to provide responsive images].

    Displays images with incorrect aspect ratio

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

    Links do not have descriptive text

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

    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]

    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]

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

    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