Webpage: http://www.gcurtain.com
Device: Desktop Computer
Region: Germany (Frankfurt)
Single Region Score
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric].
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].
Screen reader users rely on frame titles to describe the contents of frames. [Learn more about frame titles].
This is the largest contentful element painted within the viewport. [Learn more about the Largest Contentful Paint element]
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]
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].
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.
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 that are appropriately-sized to save cellular data and improve load time. [Learn how to size images].
Reducing the download time of images can improve the perceived load time of the page and LCP. [Learn more about optimizing image size]
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]
Screen readers require list items (`
Third party code can significantly impact load performance. [Reduce and defer loading of third party code] to prioritize your page's content.
A large DOM will increase memory usage, cause longer [style calculations], and produce costly [layout reflows]. [Learn how to avoid an excessive DOM size].
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].
Screen readers have a specific way of announcing lists. Ensuring proper list structure aids screen reader output. [Learn more about proper list structure].
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].
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.
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].
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].
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].
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].
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]
Chrome is moving towards a new experience that allows users to choose to browse without third-party cookies. [Learn more about third-party cookies].
Redirects introduce additional delays before the page can be loaded. [Learn how to avoid page redirects].
Keep the server response time for the main document short because all other requests depend on it. [Learn more about the Time to First Byte metric].
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.
Low-contrast text is difficult or impossible for many users to read. [Learn how to provide sufficient color contrast].
Some ARIA parent roles must contain specific child roles to perform their intended accessibility functions. [Learn more about roles and required children elements].
Assistive technologies, like screen readers, can't interpret ARIA attributes with invalid values. [Learn more about valid values for ARIA attributes].
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].
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].
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].
Your first network request is the most important. Reduce its latency by avoiding redirects, ensuring a fast server response, and enabling text compression.
Optimize LCP by making the LCP image [discoverable] from the HTML immediately, and [avoiding lazy-loading]
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].
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].
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript].