https://kartelimde.com Website Teknik Analiz Raporu

Analiz Edilen Site: https://kartelimde.com
Genel Skor: 96 — Mükemmel seviyede

Bu sayfa, https://kartelimde.com için Google PageSpeed / Lighthouse verileri kullanılarak oluşturulmuş bir website teknik analiz raporudur. Performans, SEO, erişilebilirlik ve en iyi uygulamalar gibi başlıklarda sitenin mevcut durumu ve iyileştirme alanları özetlenmiştir.

Performance
100
SEO
91
Accessibility
94
Best Practices
100
PWA
N/A

AI Destekli Teknik Rapor

# Web Performans Analiz Raporu

## 1. Genel Değerlendirme

Web sitenizin Google PageSpeed Insights test sonuçları oldukça başarılı! **96/100** genel puan alarak, performans açısından üst seviyede bir kullanıcı deneyimi sunduğunuzu gösteriyor. Özellikle performans (100) ve en iyi uygulamalar (100) alanlarında mükemmel sonuçlar elde etmişsiniz. Bu, sitenizin hızlı yüklendiği ve modern web standartlarına uygun şekilde geliştirildiği anlamına geliyor.

## 2. Güçlü Yönler

- **Mükemmel Performans (100/100):** Siteniz kullanıcılar için son derece hızlı yükleniyor. Bu, ziyaretçilerinizin sabırsızlanmadan içeriğinize ulaşabilmesi demek.
- **SEO Dostu Yapı (91/100):** Arama motorları için optimize edilmiş bir yapıya sahipsiniz, bu da organik trafik potansiyelinizi artırıyor.
- **Erişilebilirlik (94/100):** Engelli kullanıcılar da dahil olmak üzere geniş bir kitleye hitap edebilen bir site yapısı oluşturmuşsunuz.
- **En İyi Uygulamalar (100/100):** Web standartlarına tam uyum sağlayarak güvenli ve sorunsuz bir deneyim sunuyorsunuz.

## 3. İyileştirme Önerileri

### Performans Optimizasyonu:
- **Kullanılmayan CSS ve JavaScript'i Azaltın:** Kullanılmayan stil ve script dosyalarını temizleyerek sayfa boyutunu küçültebilirsiniz.
- **CSS ve JavaScript Minifikasyonu:** Dosyalarınızı sıkıştırarak (minify) daha hızlı yüklenmesini sağlayabilirsiniz.
- **Render Engelleme Kaynakları:** `autoindex.css`, `tablesort.js` ve `tablesort.number.js` dosyaları sayfa yüklenmesini geciktiriyor. Bu dosyaları async/defer özellikleriyle yükleyebilir veya kritik CSS tekniği kullanabilirsiniz.

### Erişilebilirlik Geliştirmeleri:
- **Ana İçerik İşaretlemesi:** `<main>` landmark etiketi ekleyerek ekran okuyucu kullanıcılarının ana içeriğe kolayca atlamasını sağlayın.
- **Dil Etiketi:** `<html>` elementine `lang` özelliği ekleyerek sayfanın dilini belirtin.
- **Atlama Bağlantıları (Skip Links):** Klavye kullanıcılarının tekrarlayan menüleri atlayabilmesi için skip link ekleyin.
- **Alternatif Metinler:** Görsel input butonlarına ve ARIA elementlerine açıklayıcı metinler ekleyin.

### SEO İyileştirmeleri:
- **Meta Açıklama:** Arama sonuçlarında daha iyi görünmek için benzersiz bir meta description ekleyin.
- **Canonical URL:** Çift içerik sorunlarını önlemek için geçerli bir canonical link belirtin.

## 4. Teknik Detaylar

- **Sunucu Yanıt Süresi:** Sunucunuz hızlı yanıt veriyor (375ms), bu iyi bir değer.
- **Ağ Bağımlılık Ağacı:** En uzun zincir 671ms ile CSS dosyası yüklenmesinde oluşuyor.
- **Render Engelleme:** 3 kaynak (CSS ve 2 JS dosyası) toplamda 1.05s render engelleme yaratıyor.
- **Eksik HTML Özellikleri:** `lang` ve `xml:lang` özellikleri eksik.

## 5. Sonuç ve Öneriler

Web siteniz genel olarak çok iyi durumda, ancak küçük iyileştirmelerle mükemmele ulaşabilirsiniz. Öncelikli olarak:

1. **Render engelleyici kaynakları optimize edin** - CSS ve JS dosyalarınızı kritik kaynakları inline hale getirerek veya async/defer kullanarak iyileştirin.
2. **Erişilebilirlik işaretlemelerini tamamlayın** - Özellikle `lang` özelliği ve skip link gibi temel erişilebilirlik öğelerini ekleyin.
3. **SEO meta verilerini güçlendirin** - Meta description ve canonical URL ekleyerek arama motoru görünürlüğünüzü artırın.

Bu iyileştirmeleri yaparak hem kullanıcı deneyimini hem de arama motoru sıralamanızı daha da güçlendirebilirsiniz. Profesyonel destek için [Inbox Ajans](https://inboxajans.com) ekibiyle iletişime geçebilirsiniz.

Unutmayın, küçük optimizasyonlar bile uzun vadede büyük farklar yaratabilir!

Detaylı e-posta raporu ister misiniz?

Inbox AI Engine, https://kartelimde.com için kapsamlı teknik değerlendirmeyi PDF formatında hazırlayıp 24 saat içinde e-posta adresinize iletebilir.

Performans, SEO ve kullanıcı deneyimi tarafında kalıcı iyileştirmeler için Inbox Ajans ekibiyle birlikte çalışabilirsiniz.

Yeni Website Analizi Başlat Uzmanla Görüş

Developer Mode

Lighthouse tarafından üretilen teknik hata ve önerilerin özetlenmiş listesi. Bu bölüm daha çok geliştiriciler ve teknik ekipler için hazırlanmıştır.

🚀 Opportunities (Performans İyileştirme)

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](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).

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](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

Initial server response time was short

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](https://developer.chrome.com/docs/lighthouse/performance/time-to-first-byte/).

Minify CSS

Minifying CSS files can reduce network payload sizes. [Learn how to minify CSS](https://developer.chrome.com/docs/lighthouse/performance/unminified-css/).

Avoid multiple page redirects

Redirects introduce additional delays before the page can be loaded. [Learn how to avoid page redirects](https://developer.chrome.com/docs/lighthouse/performance/redirects/).

Minify JavaScript

Minifying JavaScript files can reduce payload sizes and script parse time. [Learn how to minify JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript/).

❌ Failed Audits

Skip links are focusable.

Including a skip link can help users skip to the main content to save time. [Learn more about skip links](https://dequeuniversity.com/rules/axe/4.11/skip-link).

Visual order on the page follows DOM order

DOM order matches the visual order, improving navigation for assistive technology. [Learn more about DOM and visual ordering](https://developer.chrome.com/docs/lighthouse/accessibility/visual-order-follows-dom/).

`<input type="image">` elements have `[alt]` text

When an image is being used as an `<input>` button, providing alternative text can help screen reader users understand the purpose of the button. [Learn about input image alt text](https://dequeuniversity.com/rules/axe/4.11/input-image-alt).

User focus is not accidentally trapped in a region

A user can tab into and out of any control or region without accidentally trapping their focus. [Learn how to avoid focus traps](https://developer.chrome.com/docs/lighthouse/accessibility/focus-traps/).

Elements with the `role=text` attribute do not have focusable descendents.

Adding `role=text` around a text node split by markup enables VoiceOver to treat it as one phrase, but the element's focusable descendents will not be announced. [Learn more about the `role=text` attribute](https://dequeuniversity.com/rules/axe/4.11/aria-text).

`button`, `link`, and `menuitem` elements have accessible names

When an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to make command elements more accessible](https://dequeuniversity.com/rules/axe/4.11/aria-command-name).

Input buttons have discernible text.

Adding discernable and accessible text to input buttons may help screen reader users understand the purpose of the input button. [Learn more about input buttons](https://dequeuniversity.com/rules/axe/4.11/input-button-name).

No element has a `[tabindex]` value greater than 0

A value greater than 0 implies an explicit navigation ordering. Although technically valid, this often creates frustrating experiences for users who rely on assistive technologies. [Learn more about the `tabindex` attribute](https://dequeuniversity.com/rules/axe/4.11/tabindex).

Interactive controls are keyboard focusable

Custom interactive controls are keyboard focusable and display a focus indicator. [Learn how to make custom controls focusable](https://developer.chrome.com/docs/lighthouse/accessibility/focusable-controls/).

LCP request discovery

[Optimize LCP](https://developer.chrome.com/docs/performance/insights/lcp-discovery) by making the LCP image discoverable from the HTML immediately, and avoiding lazy-loading

ARIA toggle fields have accessible names

When a toggle field doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more about toggle fields](https://dequeuniversity.com/rules/axe/4.11/aria-toggle-field-name).

Document does not have a main landmark.

One main landmark helps screen reader users navigate a web page. [Learn more about landmarks](https://dequeuniversity.com/rules/axe/4.11/landmark-one-main).

Detaylar
{
    "headings": [
        {
            "valueType": "node",
            "subItemsHeading": {
                "valueType": "node",
                "key": "relatedNode"
            },
            "key": "node",
            "label": "Failing Elements"
        }
    ],
    "debugData": {
        "tags": [
            "cat.semantics",
            "best-practice"
        ],
        "impact": "moderate",
        "type": "debugdata"
    },
    "items": [
        {
            "node": {
                "lhId": "1-0-HTML",
                "path": "1,HTML",
                "explanation": "Fix all of the following:\n  Document does not have a main landmark",
                "selector": "html",
                "snippet": "<html>",
                "type": "node",
                "nodeLabel": "html",
                "boundingRect": {
                    "left": 0,
                    "top": 0,
                    "right": 412,
                    "bottom": 561,
                    "height": 561,
                    "width": 412
                }
            }
        }
    ],
    "type": "table"
}
Avoid non-composited animations

Animations which are not composited can be janky and increase CLS. [Learn how to avoid non-composited animations](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)

Detaylar
{
    "items": [],
    "type": "table",
    "headings": [
        {
            "key": "node",
            "valueType": "node",
            "label": "Element",
            "subItemsHeading": {
                "valueType": "text",
                "key": "failureReason"
            }
        }
    ]
}
`[lang]` attributes have a valid value

Specifying a valid [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) on elements helps ensure that text is pronounced correctly by a screen reader. [Learn how to use the `lang` attribute](https://dequeuniversity.com/rules/axe/4.11/valid-lang).

No form fields have multiple labels

Form fields with multiple labels can be confusingly announced by assistive technologies like screen readers which use either the first, the last, or all of the labels. [Learn how to use form labels](https://dequeuniversity.com/rules/axe/4.11/form-field-multiple-labels).

INP breakdown

Start investigating [how to improve INP](https://developer.chrome.com/docs/performance/insights/inp-breakdown) by looking at the longest subpart.

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

Screen readers require list items (`<li>`) to be contained within a parent `<ul>`, `<ol>` or `<menu>` to be announced properly. [Learn more about proper list structure](https://dequeuniversity.com/rules/axe/4.11/listitem).

Select elements have associated label elements.

Form elements without effective labels can create frustrating experiences for screen reader users. [Learn more about the `select` element](https://dequeuniversity.com/rules/axe/4.11/select-name).

Custom controls have ARIA roles

Custom interactive controls have appropriate ARIA roles. [Learn how to add roles to custom controls](https://developer.chrome.com/docs/lighthouse/accessibility/custom-control-roles/).

`<html>` element has a valid value for its `[lang]` attribute

Specifying a valid [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) helps screen readers announce text properly. [Learn how to use the `lang` attribute](https://dequeuniversity.com/rules/axe/4.11/html-lang-valid).

Network dependency tree

[Avoid chaining critical requests](https://developer.chrome.com/docs/performance/insights/network-dependency-tree) by reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load.

Detaylar
{
    "type": "list",
    "items": [
        {
            "value": {
                "chains": {
                    "B8C3569FEE338B689875C15602A7B0BE": {
                        "children": {
                            "52.4": {
                                "navStartToEndTime": 512,
                                "transferSize": 643,
                                "url": "https:\/\/kartelimde.com\/_autoindex\/assets\/js\/tablesort.number.js",
                                "children": []
                            },
                            "52.3": {
                                "children": [],
                                "navStartToEndTime": 499,
                                "transferSize": 2459,
                                "url": "https:\/\/kartelimde.com\/_autoindex\/assets\/js\/tablesort.js"
                            },
                            "52.2": {
                                "navStartToEndTime": 671,
                                "url": "https:\/\/kartelimde.com\/_autoindex\/assets\/css\/autoindex.css",
                                "children": [],
                                "isLongest": true,
                                "transferSize": 1656
                            }
                        },
                        "url": "https:\/\/kartelimde.com\/",
                        "navStartToEndTime": 375,
                        "transferSize": 1446,
                        "isLongest": true
                    }
                },
                "longestChain": {
                    "duration": 671
                },
                "type": "network-tree"
            },
            "type": "list-section"
        },
        {
            "value": {
                "value": "no origins were preconnected",
                "type": "text"
            },
            "title": "Preconnected origins",
            "description": "[preconnect](https:\/\/developer.chrome.com\/docs\/lighthouse\/performance\/uses-rel-preconnect\/) hints help the browser establish a connection earlier in the page load, saving time when the first request for that origin is made. The following are the origins that the page preconnected to.",
            "type": "list-section"
        },
        {
            "title": "Preconnect candidates",
            "description": "Add [preconnect](https:\/\/developer.chrome.com\/docs\/lighthouse\/performance\/uses-rel-preconnect\/) hints to your most important origins, but try to use no more than 4.",
            "value": {
                "value": "No additional origins are good candidates for preconnecting",
                "type": "text"
            },
            "type": "list-section"
        }
    ]
}
Tables have different content in the summary attribute and `<caption>`.

The summary attribute should describe the table structure, while `<caption>` should have the onscreen title. Accurate table mark-up helps users of screen readers. [Learn more about summary and caption](https://dequeuniversity.com/rules/axe/4.11/table-duplicate-name).

Offscreen content is hidden from assistive technology

Offscreen content is hidden with display: none or aria-hidden=true. [Learn how to properly hide offscreen content](https://developer.chrome.com/docs/lighthouse/accessibility/offscreen-content-hidden/).

All heading elements contain content.

A heading with no content or inaccessible text prevent screen reader users from accessing information on the page's structure. [Learn more about headings](https://dequeuniversity.com/rules/axe/4.11/empty-heading).

`<th>` elements and elements with `[role="columnheader"/"rowheader"]` have data cells they describe.

Screen readers have features to make navigating tables easier. Ensuring table headers always refer to some set of cells may improve the experience for screen reader users. [Learn more about table headers](https://dequeuniversity.com/rules/axe/4.11/th-has-data-cells).

HTML5 landmark elements are used to improve navigation

Landmark elements (`<main>`, `<nav>`, etc.) are used to improve the keyboard navigation of the page for assistive technology. [Learn more about landmark elements](https://developer.chrome.com/docs/lighthouse/accessibility/use-landmarks/).

Uses ARIA roles only on compatible 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](https://dequeuniversity.com/rules/axe/4.11/aria-allowed-role).

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](https://web.dev/articles/cls#what_is_cls). [Learn how to improve CLS](https://web.dev/articles/optimize-cls)

Detaylar
{
    "items": [],
    "type": "table",
    "headings": [
        {
            "key": "node",
            "subItemsHeading": {
                "key": "extra"
            },
            "label": "Element",
            "valueType": "node"
        },
        {
            "key": "score",
            "label": "Layout shift score",
            "granularity": 0.001,
            "valueType": "numeric",
            "subItemsHeading": {
                "valueType": "text",
                "key": "cause"
            }
        }
    ]
}
ARIA `meter` elements have accessible names

When a meter element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to name `meter` elements](https://dequeuniversity.com/rules/axe/4.11/aria-meter-name).

Elements with an ARIA `[role]` that require children to contain a specific `[role]` have all 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](https://dequeuniversity.com/rules/axe/4.11/aria-required-children).

Avoid long main-thread tasks

Lists the longest tasks on the main thread, useful for identifying worst contributors to input delay. [Learn how to avoid long main-thread tasks](https://web.dev/articles/optimize-long-tasks)

Detaylar
{
    "type": "table",
    "headings": [
        {
            "label": "URL",
            "key": "url",
            "valueType": "url"
        },
        {
            "valueType": "ms",
            "label": "Start Time",
            "granularity": 1,
            "key": "startTime"
        },
        {
            "label": "Duration",
            "granularity": 1,
            "valueType": "ms",
            "key": "duration"
        }
    ],
    "items": [],
    "debugData": {
        "type": "debugdata",
        "tasks": [],
        "urls": []
    }
}
Buttons 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](https://dequeuniversity.com/rules/axe/4.11/button-name).

User Timing marks and measures

Consider instrumenting your app with the User Timing API to measure your app's real-world performance during key user experiences. [Learn more about User Timing marks](https://developer.chrome.com/docs/lighthouse/performance/user-timings/).

Detaylar
{
    "headings": [
        {
            "valueType": "text",
            "label": "Name",
            "key": "name"
        },
        {
            "key": "timingType",
            "valueType": "text",
            "label": "Type"
        },
        {
            "granularity": 0.01,
            "label": "Start Time",
            "key": "startTime",
            "valueType": "ms"
        },
        {
            "valueType": "ms",
            "granularity": 0.01,
            "key": "duration",
            "label": "Duration"
        }
    ],
    "type": "table",
    "items": []
}
Redirects HTTP traffic to HTTPS

Make sure that you redirect all HTTP traffic to HTTPS in order to enable secure web features for all your users. [Learn more](https://developer.chrome.com/docs/lighthouse/pwa/redirects-http/).

The user's focus is directed to new content added to the page

If new content, such as a dialog, is added to the page, the user's focus is directed to it. [Learn how to direct focus to new content](https://developer.chrome.com/docs/lighthouse/accessibility/managed-focus/).

ARIA input fields have accessible names

When an input field doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more about input field labels](https://dequeuniversity.com/rules/axe/4.11/aria-input-field-name).

Image elements do not 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](https://dequeuniversity.com/rules/axe/4.11/image-redundant-alt).

ARIA `tooltip` elements have accessible names

When a tooltip element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to name `tooltip` elements](https://dequeuniversity.com/rules/axe/4.11/aria-tooltip-name).

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](https://developer.chrome.com/docs/lighthouse/seo/meta-description/).

Elements with `role="dialog"` or `role="alertdialog"` have accessible names.

ARIA dialog elements without accessible names may prevent screen readers users from discerning the purpose of these elements. [Learn how to make ARIA dialog elements more accessible](https://dequeuniversity.com/rules/axe/4.11/aria-dialog-name).

`[accesskey]` values are unique

Access keys let users quickly focus a part of the page. For proper navigation, each access key must be unique. [Learn more about access keys](https://dequeuniversity.com/rules/axe/4.11/accesskeys).

Elements with visible text labels have matching accessible names.

Visible text labels that do not match the accessible name can result in a confusing experience for screen reader users. [Learn more about accessible names](https://dequeuniversity.com/rules/axe/4.11/label-content-name-mismatch).

ARIA IDs are unique

The value of an ARIA ID must be unique to prevent other instances from being overlooked by assistive technologies. [Learn how to fix duplicate ARIA IDs](https://dequeuniversity.com/rules/axe/4.11/duplicate-id-aria).

Document has a valid `rel=canonical`

Canonical links suggest which URL to show in search results. [Learn more about canonical links](https://developer.chrome.com/docs/lighthouse/seo/canonical/).

robots.txt is 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](https://developer.chrome.com/docs/lighthouse/seo/invalid-robots-txt/).

The page contains a heading, skip link, or landmark region

Adding ways to bypass repetitive content lets keyboard users navigate the page more efficiently. [Learn more about bypass blocks](https://dequeuniversity.com/rules/axe/4.11/bypass).

The page has a logical tab order

Tabbing through the page follows the visual layout. Users cannot focus elements that are offscreen. [Learn more about logical tab ordering](https://developer.chrome.com/docs/lighthouse/accessibility/logical-tab-order/).

Definition list items are wrapped in `<dl>` elements

Definition list items (`<dt>` and `<dd>`) must be wrapped in a parent `<dl>` element to ensure that screen readers can properly announce them. [Learn how to structure definition lists correctly](https://dequeuniversity.com/rules/axe/4.11/dlitem).

Render blocking requests

Requests are blocking the page's initial render, which may delay LCP. [Deferring or inlining](https://developer.chrome.com/docs/performance/insights/render-blocking) can move these network requests out of the critical path.

Detaylar
{
    "items": [
        {
            "url": "https:\/\/kartelimde.com\/_autoindex\/assets\/css\/autoindex.css",
            "wastedMs": 151,
            "totalBytes": 1656
        },
        {
            "totalBytes": 643,
            "wastedMs": 451,
            "url": "https:\/\/kartelimde.com\/_autoindex\/assets\/js\/tablesort.number.js"
        },
        {
            "wastedMs": 451,
            "totalBytes": 2459,
            "url": "https:\/\/kartelimde.com\/_autoindex\/assets\/js\/tablesort.js"
        }
    ],
    "type": "table",
    "headings": [
        {
            "valueType": "url",
            "label": "URL",
            "key": "url"
        },
        {
            "key": "totalBytes",
            "label": "Transfer Size",
            "valueType": "bytes"
        },
        {
            "valueType": "timespanMs",
            "key": "wastedMs",
            "label": "Duration"
        }
    ]
}
`<frame>` or `<iframe>` elements have a title

Screen reader users rely on frame titles to describe the contents of frames. [Learn more about frame titles](https://dequeuniversity.com/rules/axe/4.11/frame-title).

Structured data is valid

Run the [Structured Data Testing Tool](https://developers.google.com/search/docs/appearance/structured-data/) to validate structured data. [Learn more about Structured Data](https://developer.chrome.com/docs/lighthouse/seo/structured-data/).

`<dl>`'s 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](https://dequeuniversity.com/rules/axe/4.11/definition-list).

`<video>` elements contain a `<track>` element with `[kind="captions"]`

When a video provides a caption it is easier for deaf and hearing impaired users to access its information. [Learn more about video captions](https://dequeuniversity.com/rules/axe/4.11/video-caption).

Links are distinguishable without relying on color.

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](https://dequeuniversity.com/rules/axe/4.11/link-in-text-block).

Identical links have the same purpose.

Links with the same destination should have the same description, to help users understand the link's purpose and decide whether to follow it. [Learn more about identical links](https://dequeuniversity.com/rules/axe/4.11/identical-links-same-purpose).

Interactive elements indicate their purpose and state

Interactive elements, such as links and buttons, should indicate their state and be distinguishable from non-interactive elements. [Learn how to decorate interactive elements with affordance hints](https://developer.chrome.com/docs/lighthouse/accessibility/interactive-element-affordance/).

The document does not use `<meta http-equiv="refresh">`

Users do not expect a page to refresh automatically, and doing so will move focus back to the top of the page. This may create a frustrating or confusing experience. [Learn more about the refresh meta tag](https://dequeuniversity.com/rules/axe/4.11/meta-refresh).

`<object>` elements have alternate text

Screen readers cannot translate non-text content. Adding alternate text to `<object>` elements helps screen readers convey meaning to users. [Learn more about alt text for `object` elements](https://dequeuniversity.com/rules/axe/4.11/object-alt).

`<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](https://dequeuniversity.com/rules/axe/4.11/html-has-lang).

Detaylar
{
    "debugData": {
        "impact": "serious",
        "tags": [
            "cat.language",
            "wcag2a",
            "wcag311",
            "TTv5",
            "TT11.a",
            "EN-301-549",
            "EN-9.3.1.1",
            "ACT",
            "RGAAv4",
            "RGAA-8.3.1"
        ],
        "type": "debugdata"
    },
    "headings": [
        {
            "key": "node",
            "subItemsHeading": {
                "valueType": "node",
                "key": "relatedNode"
            },
            "valueType": "node",
            "label": "Failing Elements"
        }
    ],
    "type": "table",
    "items": [
        {
            "node": {
                "path": "1,HTML",
                "lhId": "1-0-HTML",
                "nodeLabel": "html",
                "snippet": "<html>",
                "type": "node",
                "selector": "html",
                "boundingRect": {
                    "bottom": 561,
                    "right": 412,
                    "left": 0,
                    "width": 412,
                    "top": 0,
                    "height": 561
                },
                "explanation": "Fix any of the following:\n  The <html> element does not have a lang attribute"
            }
        }
    ]
}
ARIA `progressbar` elements have accessible names

When a `progressbar` element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to label `progressbar` elements](https://dequeuniversity.com/rules/axe/4.11/aria-progressbar-name).

ARIA `treeitem` elements have accessible names

When a `treeitem` element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more about labeling `treeitem` elements](https://dequeuniversity.com/rules/axe/4.11/aria-treeitem-name).

Lists 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](https://dequeuniversity.com/rules/axe/4.11/list).

Custom controls have associated labels

Custom interactive controls have associated labels, provided by aria-label or aria-labelledby. [Learn more about custom controls and labels](https://developer.chrome.com/docs/lighthouse/accessibility/custom-controls-labels/).

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](https://developer.chrome.com/docs/lighthouse/performance/bootup-time/).

Detaylar
{
    "headings": [
        {
            "key": "url",
            "label": "URL",
            "valueType": "url"
        },
        {
            "key": "total",
            "label": "Total CPU Time",
            "granularity": 1,
            "valueType": "ms"
        },
        {
            "valueType": "ms",
            "granularity": 1,
            "label": "Script Evaluation",
            "key": "scripting"
        },
        {
            "key": "scriptParseCompile",
            "valueType": "ms",
            "label": "Script Parse",
            "granularity": 1
        }
    ],
    "items": [],
    "type": "table"
}
`<html>` element has an `[xml:lang]` attribute with the same base language as the `[lang]` attribute.

If the webpage does not specify a consistent language, then the screen reader might not announce the page's text correctly. [Learn more about the `lang` attribute](https://dequeuniversity.com/rules/axe/4.11/html-xml-lang-mismatch).

`[aria-hidden="true"]` elements do not contain focusable descendents

Focusable descendents within an `[aria-hidden="true"]` element prevent those interactive elements from being available to users of assistive technologies like screen readers. [Learn how `aria-hidden` affects focusable elements](https://dequeuniversity.com/rules/axe/4.11/aria-hidden-focus).

Detected JavaScript libraries

All front-end JavaScript libraries detected on the page. [Learn more about this JavaScript library detection diagnostic audit](https://developer.chrome.com/docs/lighthouse/best-practices/js-libraries/).

📂 Kategori Bazlı Hatalar

OPPORTUNITIES

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](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).

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](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

Initial server response time was short

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](https://developer.chrome.com/docs/lighthouse/performance/time-to-first-byte/).

Minify CSS

Minifying CSS files can reduce network payload sizes. [Learn how to minify CSS](https://developer.chrome.com/docs/lighthouse/performance/unminified-css/).

Avoid multiple page redirects

Redirects introduce additional delays before the page can be loaded. [Learn how to avoid page redirects](https://developer.chrome.com/docs/lighthouse/performance/redirects/).

Minify JavaScript

Minifying JavaScript files can reduce payload sizes and script parse time. [Learn how to minify JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript/).

FAILED AUDITS

Skip links are focusable.

Including a skip link can help users skip to the main content to save time. [Learn more about skip links](https://dequeuniversity.com/rules/axe/4.11/skip-link).

Visual order on the page follows DOM order

DOM order matches the visual order, improving navigation for assistive technology. [Learn more about DOM and visual ordering](https://developer.chrome.com/docs/lighthouse/accessibility/visual-order-follows-dom/).

`<input type="image">` elements have `[alt]` text

When an image is being used as an `<input>` button, providing alternative text can help screen reader users understand the purpose of the button. [Learn about input image alt text](https://dequeuniversity.com/rules/axe/4.11/input-image-alt).

User focus is not accidentally trapped in a region

A user can tab into and out of any control or region without accidentally trapping their focus. [Learn how to avoid focus traps](https://developer.chrome.com/docs/lighthouse/accessibility/focus-traps/).

Elements with the `role=text` attribute do not have focusable descendents.

Adding `role=text` around a text node split by markup enables VoiceOver to treat it as one phrase, but the element's focusable descendents will not be announced. [Learn more about the `role=text` attribute](https://dequeuniversity.com/rules/axe/4.11/aria-text).

`button`, `link`, and `menuitem` elements have accessible names

When an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to make command elements more accessible](https://dequeuniversity.com/rules/axe/4.11/aria-command-name).

Input buttons have discernible text.

Adding discernable and accessible text to input buttons may help screen reader users understand the purpose of the input button. [Learn more about input buttons](https://dequeuniversity.com/rules/axe/4.11/input-button-name).

No element has a `[tabindex]` value greater than 0

A value greater than 0 implies an explicit navigation ordering. Although technically valid, this often creates frustrating experiences for users who rely on assistive technologies. [Learn more about the `tabindex` attribute](https://dequeuniversity.com/rules/axe/4.11/tabindex).

Interactive controls are keyboard focusable

Custom interactive controls are keyboard focusable and display a focus indicator. [Learn how to make custom controls focusable](https://developer.chrome.com/docs/lighthouse/accessibility/focusable-controls/).

LCP request discovery

[Optimize LCP](https://developer.chrome.com/docs/performance/insights/lcp-discovery) by making the LCP image discoverable from the HTML immediately, and avoiding lazy-loading

ARIA toggle fields have accessible names

When a toggle field doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more about toggle fields](https://dequeuniversity.com/rules/axe/4.11/aria-toggle-field-name).

Document does not have a main landmark.

One main landmark helps screen reader users navigate a web page. [Learn more about landmarks](https://dequeuniversity.com/rules/axe/4.11/landmark-one-main).

Avoid non-composited animations

Animations which are not composited can be janky and increase CLS. [Learn how to avoid non-composited animations](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)

`[lang]` attributes have a valid value

Specifying a valid [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) on elements helps ensure that text is pronounced correctly by a screen reader. [Learn how to use the `lang` attribute](https://dequeuniversity.com/rules/axe/4.11/valid-lang).

No form fields have multiple labels

Form fields with multiple labels can be confusingly announced by assistive technologies like screen readers which use either the first, the last, or all of the labels. [Learn how to use form labels](https://dequeuniversity.com/rules/axe/4.11/form-field-multiple-labels).

INP breakdown

Start investigating [how to improve INP](https://developer.chrome.com/docs/performance/insights/inp-breakdown) by looking at the longest subpart.

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

Screen readers require list items (`<li>`) to be contained within a parent `<ul>`, `<ol>` or `<menu>` to be announced properly. [Learn more about proper list structure](https://dequeuniversity.com/rules/axe/4.11/listitem).

Select elements have associated label elements.

Form elements without effective labels can create frustrating experiences for screen reader users. [Learn more about the `select` element](https://dequeuniversity.com/rules/axe/4.11/select-name).

Custom controls have ARIA roles

Custom interactive controls have appropriate ARIA roles. [Learn how to add roles to custom controls](https://developer.chrome.com/docs/lighthouse/accessibility/custom-control-roles/).

`<html>` element has a valid value for its `[lang]` attribute

Specifying a valid [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) helps screen readers announce text properly. [Learn how to use the `lang` attribute](https://dequeuniversity.com/rules/axe/4.11/html-lang-valid).

Network dependency tree

[Avoid chaining critical requests](https://developer.chrome.com/docs/performance/insights/network-dependency-tree) by reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load.

Tables have different content in the summary attribute and `<caption>`.

The summary attribute should describe the table structure, while `<caption>` should have the onscreen title. Accurate table mark-up helps users of screen readers. [Learn more about summary and caption](https://dequeuniversity.com/rules/axe/4.11/table-duplicate-name).

Offscreen content is hidden from assistive technology

Offscreen content is hidden with display: none or aria-hidden=true. [Learn how to properly hide offscreen content](https://developer.chrome.com/docs/lighthouse/accessibility/offscreen-content-hidden/).

All heading elements contain content.

A heading with no content or inaccessible text prevent screen reader users from accessing information on the page's structure. [Learn more about headings](https://dequeuniversity.com/rules/axe/4.11/empty-heading).

`<th>` elements and elements with `[role="columnheader"/"rowheader"]` have data cells they describe.

Screen readers have features to make navigating tables easier. Ensuring table headers always refer to some set of cells may improve the experience for screen reader users. [Learn more about table headers](https://dequeuniversity.com/rules/axe/4.11/th-has-data-cells).

HTML5 landmark elements are used to improve navigation

Landmark elements (`<main>`, `<nav>`, etc.) are used to improve the keyboard navigation of the page for assistive technology. [Learn more about landmark elements](https://developer.chrome.com/docs/lighthouse/accessibility/use-landmarks/).

Uses ARIA roles only on compatible 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](https://dequeuniversity.com/rules/axe/4.11/aria-allowed-role).

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](https://web.dev/articles/cls#what_is_cls). [Learn how to improve CLS](https://web.dev/articles/optimize-cls)

ARIA `meter` elements have accessible names

When a meter element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to name `meter` elements](https://dequeuniversity.com/rules/axe/4.11/aria-meter-name).

Elements with an ARIA `[role]` that require children to contain a specific `[role]` have all 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](https://dequeuniversity.com/rules/axe/4.11/aria-required-children).

Avoid long main-thread tasks

Lists the longest tasks on the main thread, useful for identifying worst contributors to input delay. [Learn how to avoid long main-thread tasks](https://web.dev/articles/optimize-long-tasks)

Buttons 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](https://dequeuniversity.com/rules/axe/4.11/button-name).

User Timing marks and measures

Consider instrumenting your app with the User Timing API to measure your app's real-world performance during key user experiences. [Learn more about User Timing marks](https://developer.chrome.com/docs/lighthouse/performance/user-timings/).

Redirects HTTP traffic to HTTPS

Make sure that you redirect all HTTP traffic to HTTPS in order to enable secure web features for all your users. [Learn more](https://developer.chrome.com/docs/lighthouse/pwa/redirects-http/).

The user's focus is directed to new content added to the page

If new content, such as a dialog, is added to the page, the user's focus is directed to it. [Learn how to direct focus to new content](https://developer.chrome.com/docs/lighthouse/accessibility/managed-focus/).

ARIA input fields have accessible names

When an input field doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more about input field labels](https://dequeuniversity.com/rules/axe/4.11/aria-input-field-name).

Image elements do not 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](https://dequeuniversity.com/rules/axe/4.11/image-redundant-alt).

ARIA `tooltip` elements have accessible names

When a tooltip element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to name `tooltip` elements](https://dequeuniversity.com/rules/axe/4.11/aria-tooltip-name).

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](https://developer.chrome.com/docs/lighthouse/seo/meta-description/).

Elements with `role="dialog"` or `role="alertdialog"` have accessible names.

ARIA dialog elements without accessible names may prevent screen readers users from discerning the purpose of these elements. [Learn how to make ARIA dialog elements more accessible](https://dequeuniversity.com/rules/axe/4.11/aria-dialog-name).

`[accesskey]` values are unique

Access keys let users quickly focus a part of the page. For proper navigation, each access key must be unique. [Learn more about access keys](https://dequeuniversity.com/rules/axe/4.11/accesskeys).

Elements with visible text labels have matching accessible names.

Visible text labels that do not match the accessible name can result in a confusing experience for screen reader users. [Learn more about accessible names](https://dequeuniversity.com/rules/axe/4.11/label-content-name-mismatch).

ARIA IDs are unique

The value of an ARIA ID must be unique to prevent other instances from being overlooked by assistive technologies. [Learn how to fix duplicate ARIA IDs](https://dequeuniversity.com/rules/axe/4.11/duplicate-id-aria).

Document has a valid `rel=canonical`

Canonical links suggest which URL to show in search results. [Learn more about canonical links](https://developer.chrome.com/docs/lighthouse/seo/canonical/).

robots.txt is 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](https://developer.chrome.com/docs/lighthouse/seo/invalid-robots-txt/).

The page contains a heading, skip link, or landmark region

Adding ways to bypass repetitive content lets keyboard users navigate the page more efficiently. [Learn more about bypass blocks](https://dequeuniversity.com/rules/axe/4.11/bypass).

The page has a logical tab order

Tabbing through the page follows the visual layout. Users cannot focus elements that are offscreen. [Learn more about logical tab ordering](https://developer.chrome.com/docs/lighthouse/accessibility/logical-tab-order/).

Definition list items are wrapped in `<dl>` elements

Definition list items (`<dt>` and `<dd>`) must be wrapped in a parent `<dl>` element to ensure that screen readers can properly announce them. [Learn how to structure definition lists correctly](https://dequeuniversity.com/rules/axe/4.11/dlitem).

Render blocking requests

Requests are blocking the page's initial render, which may delay LCP. [Deferring or inlining](https://developer.chrome.com/docs/performance/insights/render-blocking) can move these network requests out of the critical path.

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

Screen reader users rely on frame titles to describe the contents of frames. [Learn more about frame titles](https://dequeuniversity.com/rules/axe/4.11/frame-title).

Structured data is valid

Run the [Structured Data Testing Tool](https://developers.google.com/search/docs/appearance/structured-data/) to validate structured data. [Learn more about Structured Data](https://developer.chrome.com/docs/lighthouse/seo/structured-data/).

`<dl>`'s 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](https://dequeuniversity.com/rules/axe/4.11/definition-list).

`<video>` elements contain a `<track>` element with `[kind="captions"]`

When a video provides a caption it is easier for deaf and hearing impaired users to access its information. [Learn more about video captions](https://dequeuniversity.com/rules/axe/4.11/video-caption).

Links are distinguishable without relying on color.

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](https://dequeuniversity.com/rules/axe/4.11/link-in-text-block).

Identical links have the same purpose.

Links with the same destination should have the same description, to help users understand the link's purpose and decide whether to follow it. [Learn more about identical links](https://dequeuniversity.com/rules/axe/4.11/identical-links-same-purpose).

Interactive elements indicate their purpose and state

Interactive elements, such as links and buttons, should indicate their state and be distinguishable from non-interactive elements. [Learn how to decorate interactive elements with affordance hints](https://developer.chrome.com/docs/lighthouse/accessibility/interactive-element-affordance/).

The document does not use `<meta http-equiv="refresh">`

Users do not expect a page to refresh automatically, and doing so will move focus back to the top of the page. This may create a frustrating or confusing experience. [Learn more about the refresh meta tag](https://dequeuniversity.com/rules/axe/4.11/meta-refresh).

`<object>` elements have alternate text

Screen readers cannot translate non-text content. Adding alternate text to `<object>` elements helps screen readers convey meaning to users. [Learn more about alt text for `object` elements](https://dequeuniversity.com/rules/axe/4.11/object-alt).

`<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](https://dequeuniversity.com/rules/axe/4.11/html-has-lang).

ARIA `progressbar` elements have accessible names

When a `progressbar` element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to label `progressbar` elements](https://dequeuniversity.com/rules/axe/4.11/aria-progressbar-name).

ARIA `treeitem` elements have accessible names

When a `treeitem` element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more about labeling `treeitem` elements](https://dequeuniversity.com/rules/axe/4.11/aria-treeitem-name).

Lists 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](https://dequeuniversity.com/rules/axe/4.11/list).

Custom controls have associated labels

Custom interactive controls have associated labels, provided by aria-label or aria-labelledby. [Learn more about custom controls and labels](https://developer.chrome.com/docs/lighthouse/accessibility/custom-controls-labels/).

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](https://developer.chrome.com/docs/lighthouse/performance/bootup-time/).

`<html>` element has an `[xml:lang]` attribute with the same base language as the `[lang]` attribute.

If the webpage does not specify a consistent language, then the screen reader might not announce the page's text correctly. [Learn more about the `lang` attribute](https://dequeuniversity.com/rules/axe/4.11/html-xml-lang-mismatch).

`[aria-hidden="true"]` elements do not contain focusable descendents

Focusable descendents within an `[aria-hidden="true"]` element prevent those interactive elements from being available to users of assistive technologies like screen readers. [Learn how `aria-hidden` affects focusable elements](https://dequeuniversity.com/rules/axe/4.11/aria-hidden-focus).

Detected JavaScript libraries

All front-end JavaScript libraries detected on the page. [Learn more about this JavaScript library detection diagnostic audit](https://developer.chrome.com/docs/lighthouse/best-practices/js-libraries/).