User Experience Performance Single Region Diagnostic Results

Webpage: https://www.garuda-indonesia.com

Device: Desktop Computer

Region: Japan (Tokyo)

Single Region Score

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

robots.txt is not valid

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

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

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

Form elements do not have associated labels

Labels ensure that form controls are announced properly by assistive technologies, like screen readers. [Learn more about form element labels].

Avoid multiple page redirects

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

Links do not have descriptive text

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

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]

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

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

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]

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

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

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

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

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

Screen readers require list items (`

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

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

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

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

    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.

    Total Blocking Time

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

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

    Third parties

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

    Largest Contentful Paint element

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

    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.

    Document does not have a meta description

    Meta descriptions may be included in search results to concisely summarize page content. [Learn more about the meta description].

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

    Show All