Accessibility
· 13 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.DLandmark StructureActionNo landmarksFIX
No landmarks detected
Screen reader users have no way to navigate by region.
Screen reader users cannot quickly navigate to the primary content. Wrap your main content in <main>.
Without a <main> landmark, screen-reader users can't skip past the navigation to the page content — every page starts with re-reading the menu.
Learn more ▾ ▴
The <main> element marks the page's primary content area. Assistive tech offers a 'jump to main' shortcut — but only if <main> exists. Without it, every page navigation forces re-reading the header. Wrap your primary content in a single <main>.
Source: WAI-ARIA / WCAG 2.4.1
Add a skip link as the first focusable element so keyboard users can bypass repeated navigation.
Without a skip-nav link, keyboard users tab through every nav item before reaching content — every page, every visit.
Learn more ▾ ▴
WCAG 2.4.1 (Bypass Blocks) requires a mechanism to skip past repeated content. The standard implementation is a 'Skip to main content' link that's the first focusable element, visually hidden until focused. Three lines of HTML + four of CSS.
Source: WCAG 2.1 SC 2.4.1
FLink & Button QualityAction157 issue(s) across 1147 links and 103 buttonsFIX
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| https://tap.kompas.com/kartini-masa-kini… | (empty) | empty | Add link text or aria-label |
| javascript:void(0) | (empty) | empty | Add link text or aria-label |
| https://plus.kompas.com/group/kompas-one… | Langganan Kompas One | new tab | Add '(opens in new tab)' to text |
| # | (empty) | empty | Add link text or aria-label |
| https://www.kompas.com/harga-emas?source… | Harga Emas by BSI Gold … | img no alt | Add alt attribute to the image |
| javascript:void(0); | Peristiwa di Jakarta … | img no alt | Add alt attribute to the image |
| javascript:void(0) | Jadwal Sholat Jakarta … | img no alt | Add alt attribute to the image |
| https://www.kgnow.com/channel/kompascom | Simak berita terpopuler di KGN… | new tab | Add '(opens in new tab)' to text |
| https://account.kompas.com/login/a29tcGF… | Atur pilihan kontenmu | img no alt | Add alt attribute to the image |
| https://event.kompas.com/langkahemasbsi/… | Pesan Tiket Sekarang | new tab | Add '(opens in new tab)' to text |
| https://event.kompas.com/langkahemasbsi/… | Daftar Sekarang | new tab | Add '(opens in new tab)' to text |
| https://event.kompas.com/langkahemasbsi/… | Info Lebih Lanjut | new tab | Add '(opens in new tab)' to text |
| https://event.kompas.com/langkahemasbsi/… | Info Lebih Lanjut | new tab | Add '(opens in new tab)' to text |
| https://event.kompas.com/langkahemasbsi/… | Info Lebih Lanjut | new tab | Add '(opens in new tab)' to text |
| https://video.kompas.com/watch/1925238/h… | Hadapi Cuaca Ekstrem, Ini 7 Al… | new tab | Add '(opens in new tab)' to text |
| # | (empty) | empty | Add link text or aria-label |
| https://video.kompas.com/watch/1925237/h… | 03:20 … | new tab | Add '(opens in new tab)' to text |
| https://video.kompas.com/watch/1925236/r… | 02:17 … | new tab | Add '(opens in new tab)' to text |
| https://video.kompas.com/watch/1925235/h… | 04:32 … | new tab | Add '(opens in new tab)' to text |
| https://video.kompas.com/watch/1925225/t… | 02:48 … | new tab | Add '(opens in new tab)' to text |
| https://video.kompas.com/watch/1925223/r… | 04:30 … | new tab | Add '(opens in new tab)' to text |
| https://video.kompas.com/watch/1925220/s… | 04:00 … | new tab | Add '(opens in new tab)' to text |
| https://video.kompas.com/watch/1925215/h… | 00:56 … | new tab | Add '(opens in new tab)' to text |
| # | (empty) | empty | Add link text or aria-label |
| https://apps.apple.com/app/apple-store/i… | apple store | new tab | Add '(opens in new tab)' to text |
| https://play.google.com/store/apps/detai… | google store | new tab | Add '(opens in new tab)' to text |
| http://www.facebook.com/kompascom | new tab | Add '(opens in new tab)' to text | |
| http://www.twitter.com/kompascom | X | new tab | Add '(opens in new tab)' to text |
| https://t.me/kompascomupdate | Telegram | new tab | Add '(opens in new tab)' to text |
| http://instagram.com/kompascom | new tab | Add '(opens in new tab)' to text | |
| https://www.youtube.com/c/mykompascom | Youtube | new tab | Add '(opens in new tab)' to text |
| https://kmp.im/AGFeTy | new tab | Add '(opens in new tab)' to text | |
| https://www.tiktok.com/@kompascom?lang=e… | Tiktok | new tab | Add '(opens in new tab)' to text |
| https://www.kompas.id/artikel/saham-komo… | Prospek: Saham Komoditas dan B… | new tab | Add '(opens in new tab)' to text |
| https://www.kompas.id/artikel/saham-komo… | Prospek: Saham Komoditas dan B… | new tab | Add '(opens in new tab)' to text |
| https://vik.kompas.com/ | vik | new tab | Add '(opens in new tab)' to text |
| https://vik.kompas.com/indonesia-bebas-k… | Indonesia Bebas Kemiskinan Eks… | new tab | Add '(opens in new tab)' to text |
| https://vik.kompas.com/indonesia-bebas-k… | Indonesia Bebas Kemiskinan Eks… | new tab | Add '(opens in new tab)' to text |
| https://vip.kompas.com/M4CR | Mangrove | new tab | Add '(opens in new tab)' to text |
| https://vip.kompas.com/M4CR | Mangrove | new tab | Add '(opens in new tab)' to text |
| https://vik.kompas.com/membangun-tata-ke… | TIRTA DAN EMILIANA | new tab | Add '(opens in new tab)' to text |
| https://vik.kompas.com/membangun-tata-ke… | TIRTA DAN EMILIANA | new tab | Add '(opens in new tab)' to text |
| https://vip.kompas.com/jaga-ekonomi-teta… | Jaga Ekonomi Tetap Tangguh | new tab | Add '(opens in new tab)' to text |
| https://vip.kompas.com/jaga-ekonomi-teta… | Jaga Ekonomi Tetap Tangguh | new tab | Add '(opens in new tab)' to text |
| https://www.kompasiana.com/ | kompasiana | new tab | Add '(opens in new tab)' to text |
| https://www.kompasiana.com/yycorjesu/69e… | (empty) | empty | Add link text or aria-label |
| https://ohayojepang.kompas.com | ohayo | new tab | Add '(opens in new tab)' to text |
| https://ohayojepang.kompas.com/read/5858… | (empty) | empty | Add link text or aria-label |
| https://ohayojepang.kompas.com/read/5858… | 6 Orang Terluka Usai Gempa M 7… | new tab | Add '(opens in new tab)' to text |
| https://jagatliterasi.kompas.com/ | jagat literasi | new tab | Add '(opens in new tab)' to text |
| https://surabaya.kompas.com/read/2026/01… | (empty) | empty | Add link text or aria-label |
| https://jeo.kompas.com/ | jeo | new tab | Add '(opens in new tab)' to text |
| https://jeo.kompas.com/meraba-masa-depan… | (empty) | empty | Add link text or aria-label |
| # | (empty) | empty | Add link text or aria-label |
| # | (empty) | empty | Add link text or aria-label |
| http://www.facebook.com/kompascom | new tab | Add '(opens in new tab)' to text | |
| http://www.twitter.com/kompascom | X | new tab | Add '(opens in new tab)' to text |
| https://t.me/kompascomupdate | Telegram | new tab | Add '(opens in new tab)' to text |
| http://instagram.com/kompascom | new tab | Add '(opens in new tab)' to text | |
| https://www.youtube.com/c/mykompascom | Youtube | new tab | Add '(opens in new tab)' to text |
| https://kmp.im/AGFeTy | new tab | Add '(opens in new tab)' to text | |
| https://www.tiktok.com/@kompascom?lang=e… | Tiktok | new tab | Add '(opens in new tab)' to text |
| https://apps.apple.com/id/app/kompas-com… | apple store | new tab | Add '(opens in new tab)' to text |
| https://play.google.com/store/apps/detai… | google store | new tab | Add '(opens in new tab)' to text |
| https://ifcncodeofprinciples.poynter.org… | International Fact-Checking Ne… | new tab | Add '(opens in new tab)' to text |
| https://kompas.com?source=kompascom&medi… | Kompas.com | new tab | Add '(opens in new tab)' to text |
| https://kompas.id?source=kompascom&mediu… | Harian KOMPAS | new tab | Add '(opens in new tab)' to text |
| https://www.kompas.tv?source=kompascom&m… | KompasTV | new tab | Add '(opens in new tab)' to text |
| https://www.kompasiana.com?source=kompas… | Kompasiana | new tab | Add '(opens in new tab)' to text |
| https://www.kgmedia.id?source=kompascom&… | KG Media | new tab | Add '(opens in new tab)' to text |
| https://www.kgnow.com?source=kompascom&m… | KGNow! | new tab | Add '(opens in new tab)' to text |
| https://pasangiklan.com?source=kompascom… | Pasangiklan.com | new tab | Add '(opens in new tab)' to text |
| https://www.kontan.co.id?source=kompasco… | Kontan | new tab | Add '(opens in new tab)' to text |
| https://www.sonora.id?source=kompascom&m… | Sonora | new tab | Add '(opens in new tab)' to text |
| https://www.grid.id?source=kompascom&med… | Grid.ID | new tab | Add '(opens in new tab)' to text |
| https://www.gridoto.com?source=kompascom… | GridOto.com | new tab | Add '(opens in new tab)' to text |
| https://www.bolasport.com?source=kompasc… | BolaSport.com | new tab | Add '(opens in new tab)' to text |
| https://parapuan.co/?source=kompascom&me… | Parapuan | new tab | Add '(opens in new tab)' to text |
| https://www.tribunnews.com?source=kompas… | Tribunnews | new tab | Add '(opens in new tab)' to text |
| https://www.gramedia.com?source=kompasco… | Gramedia.com | new tab | Add '(opens in new tab)' to text |
| https://ebooks.gramedia.com?source=kompa… | Gramedia Digital | new tab | Add '(opens in new tab)' to text |
| https://traid.jixie.io/sync/ck?desturl=h… | (empty) | empty | Add link text or aria-label |
| javascript:void(0); | Share to Line | new tab | Add '(opens in new tab)' to text |
| https://inside.kompas.com/term-of-use | Pelajari lebih lanjut. | new tab | Add '(opens in new tab)' to text |
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| <input> | (empty) | empty | Add button text or aria-label |
| <button> | (empty) | empty | Add button text or aria-label |
Links without text are announced as raw URLs by screen readers.
https://tap.kompas.com/kartini-masa-kini-bebas-memilih-atau-sekadar-lari-di-t…; javascript:void(0); #; #; #; https://www.kompasiana.com/yycorjesu/69e6f527ed64155d00601202/setahun-tanpa-p…; https://ohayojepang.kompas.com/read/5858/6-orang-terluka-usai-gempa-m-7-7-gun…; https://surabaya.kompas.com/read/2026/01/13/183644778/damai-studio-oase-liter…; https://jeo.kompas.com/meraba-masa-depan-dengan-ai-sebagai-copilot; # (+2 more)
Links with no accessible text (empty <a></a>, image-only no alt, icon-only no aria-label) are unidentifiable to screen readers.
Source: WCAG 2.1 SC 2.4.4
Generic link text like 'click here' doesn't describe the destination.
# ("more"); # ("more"); # ("more"); # ("more"); # ("more"); # ("more"); # ("more"); # ("more"); # ("more"); # ("more") (+133 more)
Generic anchor text ('click here', 'read more', 'learn more') tells screen readers and search engines nothing about the destination.
Learn more ▾ ▴
Out-of-context lists of links read by AT (one navigation pattern) become useless when every link says 'click here'. Use the destination's title or topic as anchor text. Doubles as SEO win — Google passes anchor-text relevance to the destination.
Source: WCAG 2.4.4 / Google Search Central
Image-only links need alt text on the image (or aria-label on the link) so screen readers can announce them.
a[href="https://www.kompas.com/harga-emas?source=living_assistance"]; a[href="javascript:void(0);"]; a[href="javascript:void(0)"]; a[href="https://account.kompas.com/login/a29tcGFz/aHR0cHM6Ly9hY3Rpdml0eS5rb21wYXMuY29…"]
Image-only links with no alt are unidentifiable to screen-reader users — link's destination is invisible.
Source: WCAG 2.1 SC 2.4.4
Add '(opens in new tab)' to link text or aria-label.
https://plus.kompas.com/group/kompas-one?source=top_navbar; https://www.kgnow.com/channel/kompascom; https://event.kompas.com/langkahemasbsi/run-for-humanity-bandung; https://event.kompas.com/langkahemasbsi/menata-hati-cirebon; https://event.kompas.com/langkahemasbsi/menata-hati-semarang; https://event.kompas.com/langkahemasbsi/posko-mudik-lebaran; https://event.kompas.com/langkahemasbsi/bsi-fest-ramadan; https://video.kompas.com/watch/1925238/hadapi-cuaca-ekstrem-ini-7-alat-pelind…; https://video.kompas.com/watch/1925237/hari-ini-berakhir-bagaimana-nasib-genc…; https://video.kompas.com/watch/1925236/respons-china-soal-berakhirnya-gencata… (+58 more)
Links with target="_blank" without rel="noopener" leak the originating page's window context — security and UX issue.
Learn more ▾ ▴
Without rel="noopener", the new tab can navigate the original tab via window.opener (tab-nabbing attack). Modern browsers default to noopener for target=_blank but only since recent versions. Always set rel="noopener noreferrer" explicitly.
Source: MDN target / OWASP
Icon-only buttons need an aria-label so screen readers can announce them.
input[type="submit"].header-search-button (#177 on page); button.popup-close (#2327 on page)
Buttons with no accessible text (icon-only, no aria-label) can't be activated by voice control or understood by screen readers.
Source: WCAG 2.1 SC 4.1.2
FFavicon & BrandingAction2 icon(s) detectedFIX
DWeb ManifestActionNot foundFIX
No web manifest found.
DDark Mode SupportActionNo dark mode signalsFIX
Detection limited to meta tags and inline styles.
DPrint StylesheetActionNo print stylesFIX
DLighthouse Accessibility AuditsActionScore 69/100 — 9 failing, 20 passedFIX
Accessibility
These checks highlight opportunities to improve the accessibility of your web app. Automatic detection can only detect a subset of issues and does not guarantee the accessibility of your web app, so manual testing is also encouraged.
Names and labels
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.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
div#modalsSearch > div.modalsSearch-inner > div.searchBox-inner > button.searchBox-close div#modalsSearch > div.modalsSearch-inner > div.searchBox-inner > button.searchBox-close |
Screen reader users rely on frame titles to describe the contents of frames. Learn more about frame titles.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
Aplikasi Kompas.com div.ol_big > div.ol_big_inner > div.ol_promo > iframe |
div.content_article > div.row > div.text-center > iframe div.content_article > div.row > div.text-center > iframe |
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.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
body.revamp1 > div#smartbanner > div.bapps__wrap > a.bapps__link body.revamp1 > div#smartbanner > div.bapps__wrap > a.bapps__link |
div.root > header.header-block > div.header-logo > a.header-logo-campaign div.root > header.header-block > div.header-logo > a.header-logo-campaign |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.highlight__stories__post > ul.highlight__stories__ul > li > a div.highlight__stories__post > ul.highlight__stories__ul > li > a |
div.content_article > div.footer > div.logo__kcm > a div.content_article > div.footer > div.logo__kcm > a |
WOW Brand Indonesia 2019 div.footer > div.logo__achieve > div.logo__achieve__item > a.logo__achieve__link |
Superbrand Indonesia 2019 - Trusted Online News div.footer > div.logo__achieve > div.logo__achieve__item > a.logo__achieve__link |
International Fact-Checking Network div.footer > div.logo__achieve > div.logo__achieve__item > a.logo__achieve__link |
apple store div.content_article > div.footer > div.footer-download > a |
google store div.content_article > div.footer > div.footer-download > a |
These are opportunities to improve the semantics of the controls in your application. This may enhance the experience for users of assistive technology, like a screen reader.
Contrast
Low-contrast text is difficult or impossible for many users to read. Learn how to provide sufficient color contrast.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
TRENDING: div.row > div.layoutWrap > div.trendWrap > div.trendName |
Headline div.hlScroll > div.slideshow > a > div.hlSubtitle |
Gabung Kompas.com+ div.layoutWrap > div.gate-kgplus > span > a |
Gabung Kompas.com+ div.layoutWrap > div.gate-kgplus > span > a |
Gabung Kompas.com+ div.layoutWrap > div.gate-kgplus > span > a |
Andang Subaharianto div.opinionItem > div.opinionItem-content > a.opinionItem-author > div.opinionItem-name |
Dosen div.opinionItem > div.opinionItem-content > a.opinionItem-author > div.opinionItem-namesub |
Mohammad Aliman Shahmi div.opinionItem > div.opinionItem-content > a.opinionItem-author > div.opinionItem-name |
Dosen div.opinionItem > div.opinionItem-content > a.opinionItem-author > div.opinionItem-namesub |
Udin Suchaini div.opinionItem > div.opinionItem-content > a.opinionItem-author > div.opinionItem-name |
ASN di Badan Pusat Statistik div.opinionItem > div.opinionItem-content > a.opinionItem-author > div.opinionItem-namesub |
Emerson Yuntho div.opinionItem > div.opinionItem-content > a.opinionItem-author > div.opinionItem-name |
Wakil Direktur Visi Integritas, Advokat div.opinionItem > div.opinionItem-content > a.opinionItem-author > div.opinionItem-namesub |
WT. Daniealdi div.opinionItem > div.opinionItem-content > a.opinionItem-author > div.opinionItem-name |
Dosen UNIKOM Bandung div.opinionItem > div.opinionItem-content > a.opinionItem-author > div.opinionItem-namesub |
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.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
Gabung Kompas.com+ div.layoutWrap > div.gate-kgplus > span > a |
Gabung Kompas.com+ div.layoutWrap > div.gate-kgplus > span > a |
Gabung Kompas.com+ div.layoutWrap > div.gate-kgplus > span > a |
These are opportunities to improve the legibility of your content.
Navigation
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.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
Song Min Ho WINNER Terancam 1,5 Tahun Penjara, Akui Pelanggaran Wajib Militer a > div.wSpec-wrap > div.wSpec-box > h4.wSpec-title |
These are opportunities to improve keyboard navigation in your application.
Internationalization and localization
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.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
html html |
These are opportunities to improve the interpretation of your content by users in different locales.
Best practices
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.
Informational: a Permissions-Policy directive showing feature -> allowed origins.
Source: MDN Permissions-Policy
| Failing Elements |
|---|
head > meta head > meta |
One main landmark helps screen reader users navigate a web page. Learn more about landmarks.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
html html |
These items highlight common accessibility best practices.
BHeading Hierarchy336 headings, 1 skip(s)REVIEW
- H1 Dedi Mulyadi Tinjau Siswa Purwakarta yang Olok Guru, Kini Bersih-bersih, Juni ke Barak Militer
- H1 Iran Tegaskan Tetap Siaga dan Siap Serang Balik Usai Trump Perpanjang Gencatan Senjata duplicate H1
- H1 Skandal Prostitusi Guncang Serie A, Bintang Inter dan Milan Diduga Terseret duplicate H1
- H1 BERITA FOTO: Demo Ricuh di Kaltim, Tuntutan Peserta Aksi Tak Digubris duplicate H1
- H1 Dari Khoirudin ke Suhud, Kenapa PKS Ganti Pucuk Pimpinan DPRD DKI? duplicate H1
- H1 Trump Perpanjang Gencatan Senjata Tanpa Batas Waktu, Ada Apa di Baliknya? duplicate H1
- H1 Detik-detik Pergerakan Tanah di Babakan Madang, Warga: Ada Suara "Krek Krek" Sebelum Rumah Terbelah duplicate H1
- H2 Simak berita terpopuler di KGNow, tonton untuk tahu update terbaru!
- H2 Kata-kata Cesc Fabregas Usai Como 1907 Gagal ke Final Coppa Italia 2025-2026
- H2 Trump Sepihak Perpanjang Gencatan Senjata, Iran Skeptis dan Sebut Taktik “Beli Waktu”
- H2 Trump Tiba-tiba Umumkan Gencatan Senjata AS-Iran Diperpanjang
- H2 Cicil Rumah Rp 840 Juta Tanpa AJB, Warga Tangsel Kaget Uangnya Dianggap Biaya Sewa
- H2 Pesan Jokowi ke Mayor Windra Sanur Usai 8 Tahun Jadi "Perisai Hidup"
- H2 Planetarium Gelar Piknik Malam Gratis Besok untuk Lihat Bulan dan Jupiter, Ini Cara Ikutnya
- H2 Seputar Manajer Kopdes Merah Putih: Punya 10 Tugas, Gaji Masih Dikaji
- H2 Pesan Jokowi ke Mayor Windra Sanur Usai 8 Tahun Jadi "Perisai Hidup"
- H2 Simulasi Mini Bikin Indonesia Makin Matang Tatap Piala Thomas-Uber
- H2 Kenaikan Harga BBM Non-Subsidi Tidak Memerlukan Penjelasan Politik
- H2 Lihat semua
- H4 Jangan Salah, Besaran Dana Darurat yang Harus Dimiliki Jomblo, Sandwich Generation, dan Berkeluarga Berbeda skipped
- H4 Update Kasus Bocah NS di Sukabumi, Ayah Jadi Tersangka, Laporkan Balik Mantan Istri
- H4 Trump Umumkan Perpanjang Gencatan Senjata, Apa yang Akan Terjadi Setelahnya?
- H4 Song Min Ho WINNER Terancam 1,5 Tahun Penjara, Akui Pelanggaran Wajib Militer
- H4 Kisah Hilman Ramadhon, Anak Punk yang Kini Raup Omzet Puluhan Juta dari Jual Sayur di Solo
- H3 Hadapi Cuaca Ekstrem, Ini 7 Alat Pelindung Diri Wajib Bagi Jemaah Haji
- H4 Era Baru Pekerja Rumah Tangga Setelah UU PPRT Disahkan
- H4 Potensi Zakat Banyuwangi Capai Rp 120 Miliar, Baznas Dorong Pelaporan Terintegrasi
- H4 Beli Mobil Bensin di China Bisa Antre Pelat Nomor 10 Tahun
- H4 Stasiun Plabuan dan Comal Dibuka Lagi, Mobilitas Warga Pantura Makin Mudah
- H4 Tiap Jam Satu Ibu Meninggal karena Komplikasi Kehamilan dan Melahirkan
- H4 Prospek: Saham Komoditas dan Berkapitalisasi Besar Jadi Penopang Pasar Modal pada Triwulan II-2026
- H4 Indonesia Perkuat Daya Saing dan Ketahanan Ekonomi lewat Aksesi OECD
- H4 BPJPH Terima Hibah Lahan Pemprov Jateng untuk Pembangunan Gedung UPT Layanan Jaminan Produk Halal
- H4 Pemkab Cilacap dan Polresta Teken MoU Perkuat Perlindungan Perempuan dan Anak
- H4 Indonesia Bebas Kemiskinan Ekstrem
- H4 Mangrove
- H4 TIRTA DAN EMILIANA
- H4 Jaga Ekonomi Tetap Tangguh
- H4 Nana Konfrontasi Pelaku Perampokan di Sidang, Ungkap Detik-detik Mencekam
- H4 Daftar Jalur Minyak Paling Vital di Dunia, Nomor 1 Bukan Selat Hormuz
- H4 Iran Tegaskan Tetap Siaga dan Siap Serang Balik Usai Trump Perpanjang Gencatan Senjata
- H4 BERITA FOTO: Demo Ricuh di Kaltim, Tuntutan Peserta Aksi Tak Digubris
- H4 Satpam Kemenkum Jatim Curi Barang Kantor, TV 70 Inci Dijual Rp 200.000
- H3 Pasukan AS Sergap Kapal Terkait Iran di Dekat Indonesia
- H4 Inter Milan ke Final Coppa Italia, Chivu Bisa seperti Mourinho
- H4 Bangganya Mirwan Suwarso Meski Como 1907 Gagal ke Final Coppa Italia
- H4 Kejagung Dukung Pemanggilan 2 Jaksa oleh KPK dalam Kasus Suap Bupati Rejang Lebong
- H4 Duduk Perkara Polisi Cegat Mobil di Daan Mogot, Mengapa Tak Jadi Digeledah?
- H4 7 Fakta Demo Kaltim 21 April: DPRD Setuju Hak Angket, Gubernur Bungkam
- H4 Setahun Tanpa Paus Fransiskus, antara Kenangan dan Tanggung Jawab Moral
- H4 6 Orang Terluka Usai Gempa M 7,7 Guncang Jepang, Peringatan Megaquake Dikeluarkan
- H4 Damai Studio, Oase Literasi di Surabaya, Lahir dari Ketidaksengajaan
- H4 Meraba Masa Depan dengan AI sebagai Copilot
- H4 Mobil Listrik Kena Pajak, Berapa Biaya Tahunan yang Harus Dibayar?
- H4 7 Barang di Rumah yang Sebaiknya Tak Kamu Donasikan ke Lembaga Amal
- H4 MSCI Tunda Rebalancing Saham RI, Sinyal Pasar Modal Belum Kuat?
- H4 Audi Marissa Ungkap Alasan Terima Peran Istri Diselingkuhi di Istri Paruh Waktu
- H4 JK Angkat Bicara soal Ceramahnya yang Viral di Medsos...
- H4 Resep Telur Lipat ala Australia, Teksturnya Creamy dan Tidak Kering
- H4 Dari Khoirudin ke Suhud, Kenapa PKS Ganti Pucuk Pimpinan DPRD DKI?
- H4 Khofifah Lepas 376 CJH Kloter Pertama Embarkasi Surabaya ke Tanah Suci, Tak Ada Open Seat
- H4 Sepeda Motor Kompresi Tinggi Pakai Pertalite, Apa Dampaknya?
- H4 Tak Percaya Trump, Iran Anggap Perpanjangan Gencatan Senjata Taktik Serangan Mendadak
- H4 BERITA FOTO: Ikuti Google Maps Niat Hindari Macet ke Tol Purwomartani, Pemudik Malah Masuk Jalan Persawahan
- H4 BERITA FOTO: Puing-puing Helikopter PK-CFX di Sekadau, Mesin Akhirnya Dievakuasi
- H4 BERITA FOTO: Penampakan Langka Bumi dan Bulan yang Dipotret Kru Artemis II NASA
- H4 BERITA FOTO: Intip Bioskop Alfamart Pertama di Gading Serpong
- H4 Berita Foto: Dampak Gempa M 7,6 Bitung–Manado, Korban Tewas Ditemukan di Reruntuhan
- H4 BERITA FOTO: Ikuti Google Maps Niat Hindari Macet ke Tol Purwomartani, Pemudik Malah Masuk Jalan Persawahan
- H4 BERITA FOTO: Puing-puing Helikopter PK-CFX di Sekadau, Mesin Akhirnya Dievakuasi
- H4 Planetarium Gelar Piknik Malam Gratis Besok untuk Lihat Bulan dan Jupiter, Ini Cara Ikutnya
- H4 Trump Perpanjang Gencatan Senjata Tanpa Batas Waktu, Ada Apa di Baliknya?
- H4 Jalur Sepeda Manggarai Tertutup Sampah, Pesepeda: Hak Kami Dirampas
- H4 Pemerintah Adakan Pelatihan Inklusi bagi Guru, Cek Cara Daftarnya
- H4 Dedi Mulyadi Tinjau Siswa Purwakarta yang Olok Guru, Kini Bersih-bersih, Juni ke Barak Militer
- H3 Sherly Tjoanda dan Veronica Tan Kampanyekan Kebun Pangan Perempuan di Sulsel
- H4 Toyota Siapkan Investasi Rp 20 Triliun hingga 2029 di Indonesia
- H4 Hadapi Cuaca Ekstrem, Ini 7 Alat Pelindung Diri Wajib Bagi Jemaah Haji
- H4 Ratusan Warga Blora Diduga Jadi Korban Penipuan Snapboost: Sudah Deposit Uang, Tak Bisa Ditarik
- H4 Kylie Jenner Digugat Mantan ART, Dituduh Lakukan Diskriminasi dan Lingkungan Kerja Toksik
- H4 Harga BBM Nonsubsidi dan LPG 12 Kg Naik, Masih Mungkin Berlanjut?
- H2 Produk Rekomendasi
- H1 This site asks for consent to use your data duplicate H1
- H1 Manage your data duplicate H1
- H2 Store and/or access information on a device
- H2 Use limited data to select advertising
- H2 Create profiles for personalised advertising
- H2 Use profiles to select personalised advertising
- H2 Create profiles to personalise content
- H2 Use profiles to select personalised content
- H2 Measure advertising performance
- H2 Measure content performance
- H2 Understand audiences through statistics or combinations of data from different sources
- H2 Develop and improve services
- H2 Use limited data to select content
- H2 Ensure security, prevent and detect fraud, and fix errors
- H2 Deliver and present advertising and content
- H2 Save and communicate privacy choices
- H2 Match and combine data from other data sources
- H2 Link different devices
- H2 Identify devices based on information transmitted automatically
- H2 Use precise geolocation data
- H2 Store and/or access information on a device
- H2 Create profiles for personalised advertising
- H2 Use profiles to select personalised advertising
- H2 Measure advertising performance
- H2 Measure content performance
- H2 Understand audiences through statistics or combinations of data from different sources
- H2 Develop and improve services
- H2 Storage, duration, and usage details
- H1 Confirm our vendors duplicate H1
- H2 Exponential Interactive, Inc d/b/a VDX.tv
- H2 Roq.ad GmbH
- H2 Index Exchange Inc.
- H2 Quantcast
- H2 BeeswaxIO Corporation
- H2 Sovrn, Inc.
- H2 Adkernel LLC
- H2 Adikteev
- H2 RTB House S.A.
- H2 The UK Trade Desk Ltd
- H2 Nexxen Inc.
- H2 Epsilon
- H2 Yahoo EMEA Limited
- H2 ADventori SAS
- H2 Triple Lift, Inc.
- H2 Xandr, Inc.
- H2 NEORY GmbH
- H2 Nexxen Group LLC
- H2 NEURAL.ONE
- H2 ADITION (Virtual Minds GmbH)
- H2 Active Agent (Virtual Minds GmbH)
- H2 Taboola Europe Limited
- H2 Equativ
- H2 Adform A/S
- H2 Magnite, Inc.
- H2 RATEGAIN ADARA INC
- H2 Sift Media, Inc
- H2 Rakuten Marketing LLC
- H2 Lumen Research Limited
- H2 LifeStreet Corporation
- H2 OpenX
- H2 Yieldlab (Virtual Minds GmbH)
- H2 Nano Interactive Group Ltd.
- H2 Simplifi Holdings LLC
- H2 PubMatic, Inc
- H2 Comscore B.V.
- H2 Flashtalking
- H2 Sharethrough, Inc
- H2 PulsePoint, Inc.
- H2 Smaato, Inc.
- H2 Semasio GmbH
- H2 Crimtan Holdings Limited
- H2 Genius Sports UK Limited
- H2 Criteo SA
- H2 SCOPE3 SAS
- H2 Blis Global Limited
- H2 Epsilon (Lotame)
- H2 LiveRamp
- H2 WPP Media
- H2 Sonobi, Inc
- H2 LoopMe Limited
- H2 Dynata LLC
- H2 Ask Locala
- H2 Azira
- H2 DoubleVerify Inc.
- H2 BIDSWITCH GmbH
- H2 IPONWEB GmbH
- H2 NextRoll, Inc.
- H2 Teads France SAS
- H2 Ströer SSP GmbH (SSP)
- H2 OS Data Solutions GmbH
- H2 Permodo GmbH
- H2 Platform161 B.V.
- H2 Media.net Advertising FZ-LLC
- H2 Basis Global Technologies, Inc.
- H2 SMADEX, S.L.U.
- H2 Bombora Inc.
- H2 EASYmedia GmbH
- H2 Yieldmo, Inc.
- H2 Remerge GmbH
- H2 advanced store GmbH
- H2 Magnite CTV, Inc.
- H2 Delta Projects AB
- H2 usemax advertisement (Emego GmbH)
- H2 emetriq GmbH
- H2 Publicis Media GmbH
- H2 M.D. Primis Technologies Ltd.
- H2 OneTag Limited
- H2 Cloud Technologies S.A.
- H2 Smartology Limited
- H2 Improve Digital
- H2 DT Exchange (Digital Turbine (IL) Ltd.)
- H2 Adobe Advertising Cloud
- H2 Bannerflow AB
- H2 TabMo SAS
- H2 Integral Ad Science (incorporating ADmantX)
- H2 Wizaly
- H2 Weborama
- H2 Jivox Corporation
- H2 Sojern, Inc.
- H2 Vistar Media EMEA BV
- H2 On Device Research Limited
- H2 Rockabox Media Ltd
- H2 Mobfox US LLC
- H2 Exactag GmbH
- H2 Celtra Inc.
- H2 Gemius SA
- H2 InMobi Pte Ltd
- H2 The Kantar Group Limited
- H2 MGID Inc.
- H2 Nielsen Media Research Ltd.
- H2 Solocal SA
- H2 Pixalate, Inc.
- H2 Numberly
- H2 AudienceProject A/S
- H2 Demandbase, Inc.
- H2 Effiliation / Effinity
- H2 Arrivalist Co.
- H2 Seenthis AB
- H2 Commanders Act
- H2 travel audience GmbH
- H2 HUMAN
- H2 Streamwise srl
- H2 Innovid LLC
- H2 Papirfly AS
- H2 Magnite, Inc. (Carbon AI Limited)
- H2 Verve Group Europe GmbH
- H2 Otto GmbH & Co. KGaA
- H2 Adobe Audience Manager, Adobe Experience Platform
- H2 Localsensor B.V.
- H2 Online Solution
- H2 Relay42 Netherlands B.V.
- H2 GP One GmbH
- H2 Liftoff Monetize and Vungle Exchange
- H2 The MediaGrid Inc.
- H2 Reppublika Research and Analytics Austria GmbH
- H2 Cint AB
- H2 Google Advertising Products
- H2 GfK GmbH
- H2 RevJet
- H2 Protected Media LTD
- H2 Clinch Labs LTD
- H2 Hearts and Science München GmbH
- H2 Amazon Ads
- H2 Moloco, Inc.
- H2 Nielsen International SA
- H2 Adtriba GmbH
- H2 Ensighten
- H2 Mintegral International Limited
- H2 Toluna Netherlands B.V. KvK
- H2 TikTok Ad Network
- H2 Hurra Communications GmbH
- H2 Accenture Song Brand Germany GmbH
- H2 Akamai
- H2 Meta
- H2 Aunica
- H2 Booking.com
- H2 C3 Metrics
- H2 IBM
- H2 Roku Advertising Services
- H2 eBay
- H2 Evidon
- H2 Adacado
- H2 intelliAd
- H2 Dstillery
- H2 MediaMath
- H2 Sizmek
- H2 ZMS
- H2 PlatformOne
- H2 Resonate
- H2 Equativ
- H2 Tradedoubler AB
- H2 TrustArc
- H2 TruEffect
- H2 Travel Data Collective
- H2 advolution.control
- H2 MainADV
- H2 AdMaxim
- H2 Batch Media
- H2 Vodafone GmbH
- H2 Magnite
- H2 Neustar
- H2 Scenestealer
- H2 Netquest
- H2 Mail.ru
- H2 Manage.com
- H2 Cloudflare
- H2 Salesforce DMP
- H2 Netflix
- H2 ebuilders
- H2 AppLovin Corp.
- H2 Cadent
- H2 Fractional Media
- H2 Rackspace
- H2 MSI-ACI
- H2 Admetrics
- H2 Chocolate Platform
- H2 Navegg
- H2 Admedo
- H2 Kochava
- H2 LeadBolt
- H2 Mobitrans
- H2 ADEX
- H2 Impact
- H2 Spotad
- H2 Aarki
- H2 F@N communications
- H2 SFR
- H2 Cablato
- H2 Waystack
- H2 Vpon
- H2 TreSensa
- H2 Tapjoy
- H2 gskinner
- H2 CUBED
- H2 Optomaton
- H2 fluct
- H2 Zucks
- H2 Dentsu Aegis Network
- H2 Digiseg
- H2 AdFalcon
- H2 Haensel AMS
- H2 BDSK Handels GmbH & Co. KG
- H2 Objective Partners
- H2 Supership
- H2 Marketing Science Consulting Group, Inc.
- H2 DENTSU
- H2 Kobler
- H2 Widespace
- H2 Vimeo
- H2 Oracle Data Cloud
- H2 ironSource Mobile
- H2 Chartboost
- H2 Unity Ads
- H1 (empty)
A page should have only one H1. Multiple H1s dilute the document outline.
Multiple H1s blur the page's primary topic — screen-reader users and Google both prefer one H1.
Learn more ▾ ▴
HTML5's outline algorithm technically allows multiple H1s within sectioning content, but no browser implements it. In practice: one H1 per page. Use H2-H6 for subsections.
Source: WCAG 2.4.6 / Google Search Central
Skipping heading levels breaks the document outline. Screen readers may interpret missing levels as structural errors.
Skipping heading levels breaks the document outline — screen-reader users lose track of section nesting.
Learn more ▾ ▴
Screen reader users navigate by jumping between headings (H1 → H2 → H3). Skipping (H1 → H3) breaks the sense of hierarchy. Use sequential levels even if you don't like the default styling — restyle with CSS instead. WCAG 1.3.1 (Info and Relationships) treats this as an A failure.
Source: WCAG 2.1 SC 1.3.1 / W3C WAI
Empty headings appear in the document outline but provide no information.
Empty <hN> tags break the document outline — screen-reader users navigating by heading hit dead silence.
Source: WCAG 2.4.6
CAlt Text QualityAction13 of 156 images have issuesREVIEW
| Issue | Count |
|---|---|
| missing | 13 image(s) |
| too long | 1 image(s) |
Images without alt text are invisible to screen readers.
Each image without alt text is a WCAG 1.1.1 failure — invisible to screen-reader users, lost from Google Image Search.
Learn more ▾ ▴
WCAG 2.1 Level A requires text alternatives for non-decorative images. Empty alt='' is fine for decorative; meaningful images need descriptive text. Common fixes: CMS audit + bulk add, build-time linter (alt-text-required ESLint rule), CI gate on Lighthouse a11y score.
Source: WCAG 2.1 SC 1.1.1 / WebAIM Million Report
CForm AccessibilityAction3 of 315 controls have issuesREVIEW
| Control | Type | Label | Method |
|---|---|---|---|
| #customAmount | text | Nominal * | for/id |
| price | radio | none | |
| price | radio | none | |
| price | radio | none | |
| price | radio | none | |
| price | radio | none | |
| price | radio | none | |
| payment_type | radio | none | |
| payment_type | radio | none | |
| payment_type | radio | none | |
| payment_type | radio | none | |
| payment_type | radio | none | |
| payment_type | radio | none | |
| #phone | number | Nomor telepon yang terkoneksi OVO * | for/id |
| #message | textarea | Pesan apresiasi | for/id |
| hide_name | checkbox | none | |
| input | checkbox | Consent (128 vendors) | none |
| input | checkbox | Consent (75 vendors) | none |
| #fc-preference-slider-purpose-2 | checkbox | Legitimate interest (37 vendors) | none |
| input | checkbox | Consent (105 vendors) | none |
| input | checkbox | Consent (104 vendors) | none |
| input | checkbox | Consent (32 vendors) | none |
| input | checkbox | Consent (29 vendors) | none |
| input | checkbox | Consent (82 vendors) | none |
| #fc-preference-slider-purpose-7 | checkbox | Legitimate interest (50 vendors) | none |
| input | checkbox | Consent (38 vendors) | none |
| #fc-preference-slider-purpose-8 | checkbox | Legitimate interest (14 vendors) | none |
| input | checkbox | Consent (63 vendors) | none |
| #fc-preference-slider-purpose-9 | checkbox | Legitimate interest (28 vendors) | none |
| input | checkbox | Consent (75 vendors) | none |
| #fc-preference-slider-purpose-10 | checkbox | Legitimate interest (39 vendors) | none |
| input | checkbox | Consent (15 vendors) | none |
| #fc-preference-slider-purpose-11 | checkbox | Legitimate interest (4 vendors) | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-publisher-purpose-10 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-11 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-14 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-15 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-21 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-23 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-28 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-32 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-36 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-42 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-50 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-52 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-60 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-67 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-69 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-76 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-85 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-93 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-98 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-104 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-124 | checkbox | Legitimate interest | none |
| #fc-preference-slider-gvl-vendor-126 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-132 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-136 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-137 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-142 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-156 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-163 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-173 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-192 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-195 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-202 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-209 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-228 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-246 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-253 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-264 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-278 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-284 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-294 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-308 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-394 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-431 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-452 | checkbox | Legitimate interest | none |
| #fc-preference-slider-gvl-vendor-466 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-493 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-559 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-657 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-667 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-755 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-762 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-767 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-807 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-812 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-853 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-867 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-986 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #cSearch | text | (Cari tokoh, topik atau peristiwa) | placeholder only |
| input | submit | (none) | none |
| #copyLinkUrl | text | (none) | none |
Form controls need a <label>, aria-label, or aria-labelledby for screen readers.
<input type="submit">; <textarea type="text" id="copyLinkUrl">
Form controls without labels — assistive tech announces 'edit text' with no context; users can't complete forms.
Source: WCAG 2.1 SC 3.3.2
Placeholder text disappears on focus and is not a reliable label.
<input type="text" name="q" id="cSearch">
Placeholder-only labels disappear when the user starts typing — they must remember what the field was for.
Learn more ▾ ▴
Placeholders are NOT labels. They vanish on input, fail color contrast checks (most are gray), and don't satisfy WCAG SC 3.3.2. Always use a real <label> alongside (or aria-labelledby).
Source: WCAG 2.1 SC 3.3.2 / Nielsen Norman
B404 Error PageHTTP 404, custom pageREVIEW
CColor Contrast (Screenshot)Action20 text elements analyzed, 20 fail WCAG AAREVIEW
Analyzes text contrast against the actual rendered page, including background images, gradients, and overlays that CSS-based tools cannot detect.
Show all checked elements (20)
| Element | Ratio | Required | FG | BG | Result |
|---|---|---|---|---|---|
| h1 Dedi Mulyadi Tinjau … | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h1 Iran Tegaskan Tetap … | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h1 Skandal Prostitusi G… | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h1 BERITA FOTO: Demo Ri… | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h1 Dari Khoirudin ke Su… | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h1 Trump Perpanjang Gen… | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h1 Detik-detik Pergerak… | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h1 This site asks for c… | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h1 Manage your data | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h1 Confirm our vendors | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h2 Simak berita terpopu… | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h2 Kata-kata Cesc Fabre… | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h2 Trump Sepihak Perpan… | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h2 Trump Tiba-tiba Umum… | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h2 Cicil Rumah Rp 840 J… | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h2 Pesan Jokowi ke Mayo… | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h2 Planetarium Gelar Pi… | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h2 Seputar Manajer Kopd… | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h2 Pesan Jokowi ke Mayo… | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
| h2 Simulasi Mini Bikin … | 2.95:1 | 3.0:1 | #000000 | #585858 | Fail |
Methodology: The top 20 text elements by font size were checked. Background color was sampled from the desktop screenshot using a 5-point pattern. WCAG 2.1 AA requires 4.5:1 for normal text and 3:1 for large text.